Tag Archive | "Here’s"

Can’t Tell if Your Social Media Campaign is Really Working? Here’s What You Need to Know

The number of companies integrating social media into their marketing campaigns has been growing steadily over the past decade. Some businesses even rely solely on platforms like Facebook, Instagram, and Twitter to promote their goods and services. However, measuring the impact these campaigns have on their business remains a challenge.

A 2015 CMO survey underlined this difficulty, with only 15 percent of participating marketers being able to quantitatively measure the effectiveness of their social media marketing plans. Meanwhile, a recent MDG Advertising infographic shows that not much has changed with regards to measuring the effectivity of social media marketing and its impact on a company’s ROI.

According to the accompanying MDG report, only 20 percent of companies said they were able to determine the success of their social media campaigns while 44 percent could not determine social media’s impact on their business. This problem also affects marketing agencies, with 28 percent facing challenges in measuring the effectivity of social media. However, 55 percent of said agencies claim they could somewhat determine the ROI generated by social media while a mere 17 percent could accurately measure it.

[Graphic via mdgadvertising.com]

Challenges of Measuring Social Media Campaigns

Because social media is a relatively new (and constantly evolving) marketing channel, measuring its true impact of ROI remains a conundrum for many businesses. What’s more, a lot of companies remain unsure of social media’s place in the big picture.

There are other reasons why measuring social media impact remains complicated.

  • Businesses Have Different KPIs: Brands have their own goals, values, and propositions and the Key Performance Indicators (KPI) they want to measure depend on these. However, KPIs can change depending on the direction the company wants to take. This makes it hard to set specific metrics and data points.
  • Data is Limited: Each social media platform has its own set of analytics. Some tools engage followers while others show demographic information. It would also require companies to do a lot of mining just to put everything together.
  • Qualitative Results are Hard to See: It’s easy to see quantitative results such as the numbers of comments, likes, and shares. But the more important question is the kind of action consumers are actually taking — the qualitative results. For instance, are they buying products or just sharing content?
  • Business Impact is Hard to Determine: ROIs are about returns and investments. Even if companies are able to tie their social media campaigns to their KPIs and business goals, most remain confused as to what it means for their bottom line. Companies would have to consider the number of people working on social media accounts and their salaries, social media software, and advertising costs and compare them against KPIs.

Best Ways to Check Effectiveness of Social Media Drive

Despite the ambiguity, social media does have a positive influence on a company’s sales and revenue. The question now is how to measure and quantify this impact. Knowing the following metrics of your campaigns can help you measure their effectiveness:

  • Click-Through Rate: While click-throughs are a key metric, companies should do more than just track clicks. They should also focus on metrics geared towards specifically designed landing pages and content. Companies should also look at click-throughs in relation to bounce rates. High bounce rates imply that the site’s content is not delivering on the call-to-action or headline’s promise.
  • Conversions: Whether it’s a sign-up, filling out a form, or an online sale, companies should have a goal when it comes to conversions, especially when creating paid ads. This is significant as it provides direct ROI numbers. Conversions are also relatively easy to track. Some companies utilize lead generation forms while others opt for pixel codes.
  • Engagement: This metric is more than just the volume of likes a page or post has since it doesn’t give a clear indication of commitment. A meaningful engagement that results in brand awareness, product interest or sales are the best testaments to the impact of social media activity. Companies should put real effort into having a dialogue with their audience and influencers.
  • Traffic: Identifying the actual value of traffic is about checking the share of driven traffic and the actions generated by click-throughs. Tools like Google Analytics makes tracking the impact of social media on site traffic simpler. Companies should look more closely at how much of the site traffic was driven by social media since this will provide you with concrete numbers that you can work with.

Remember, you can’t market what you can’t measure (at least not effectively). So, before you run a social media campaign, be sure to set up adequate analytic tools that measure the data that correlates with the outcome you desire. For many businesses, picking the right tools and correctly assessing the data they collect comes with a learning curve. However, once you get past that hurdle, you can use the data to grow your business by leaps and bounds.

[Featured image via Pixabay]

The post Can't Tell if Your Social Media Campaign is Really Working? Here's What You Need to Know appeared first on WebProNews.


WebProNews

Posted in IM NewsComments Off

Want to Speak at MozCon 2018? Here’s Your Chance – Pitch to Be a Community Speaker!

Posted by Danielle_Launders

MozCon 2018 is nearing and it’s almost time to brush off that microphone. If speaking at MozCon is your dream, then we have the opportunity of a lifetime for you! Pitch us your topic and you may be selected to join us as one of our six community speakers.

What is a community speaker, you ask? MozCon sessions are by invite only, meaning we reach out to select speakers for the majority of our talks. But every year we reserve six 15-minute community speaking slots, where we invite anyone in the SEO community to pitch to present at MozCon. These sessions are both an attendee favorite and a fabulous opportunity to break into the speaking circuit.

Katie Cunningham, one of last year’s community speakers, on stage at MozCon 2017

Interested in pitching your own idea? Read on for everything you need to know:

The details

  • Fill out the community speaker submission form
  • Only one submission per person — make sure to choose the one you’re most passionate about!
  • Pitches must be related to online marketing and for a topic that can be covered in 15 minutes
  • Submissions close on Sunday, April 22nd at 5pm PDT
  • All decisions are final
  • All speakers must adhere to the MozCon Code of Conduct
  • You’ll be required to present in Seattle at MozCon

Ready to pitch your idea?

If you submit a pitch, you’ll hear back from us regardless of your acceptance status.

What you’ll get as a community speaker:

  • 15 minutes on the MozCon stage for a keynote-style presentation, followed by 5 minutes of Q&A
  • A free ticket to MozCon (we can issue a refund or transfer if you have already purchased yours)
  • Four nights of lodging covered by Moz at our partner hotel
  • Reimbursement for your travel — up to $ 500 for domestic and $ 750 for international travel
  • An additional free MozCon ticket for you to give away, plus a code for $ 300 off of one ticket
  • An invitation for you and your significant other to join us for the pre-event speakers dinner

The selection process:

We have an internal committee of Mozzers that review every pitch. In the first phase we review only the topics to ensure that they’re a good fit for our audience. After this first phase, we look at the entirety of the pitch to help us get a comprehensive idea of what to expect from your talk on the MozCon stage.

Want some advice for perfecting your pitch?

  • Keep your pitch focused to online marketing. The more actionable the pitch, the better.
  • Be detailed! We want to know the actual tactics our audience will be learning about. Remember, we receive a ton of pitches, so the more you can explain, the better!
  • Review the topics already being presented — we’re looking for something new to add to the stage.
  • Keep the pitch to under 1200 characters. We’re strict with the word limits — even the best pitches will be disqualified if they don’t abide by the rules.
  • No pitches will be evaluated in advance, so please don’t ask :)
  • Using social media to lobby your pitch won’t help. Instead, put your time and energy into the actual pitch itself!
  • Linking to a previous example of a slide deck or presentation isn’t required, but it does help the committee a ton.

You’ve got this!

This could be you.

If your pitch is selected, the MozCon team will help you along the way. Whether this is your first time on stage or your twentieth, we want this to be your best talk to date. We’re here to answer questions that may come up and to work with you to deliver something you’re truly proud of. Here are just a handful of ways that we’re here to help:

  • Topic refinement
  • Helping with your session title and description
  • Reviewing any session outlines and drafts
  • Providing plenty of tips around best practices — specifically with the MozCon stage in mind
  • Comprehensive show guide
  • Being available to listen to you practice your talk
  • Reviewing your final deck
  • A full stage tour on Sunday to meet our A/V crew, see your presentation on the big screens, and get a feel for the show
  • An amazing 15-person A/V team

Make your pitch to speak at MozCon!

We can’t wait to see what y’all come up with. Best of luck!

Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!


Moz Blog

Posted in IM NewsComments Off

So You Want to Build a Chat Bot – Here’s How (Complete with Code!)

Posted by R0bin_L0rd

You’re busy and (depending on effective keyword targeting) you’ve come here looking for something to shave months off the process of learning to produce your own chat bot. If you’re convinced you need this and just want the how-to, skip to “What my bot does.” If you want the background on why you should be building for platforms like Google Home, Alexa, and Facebook Messenger, read on.

Why should I read this?

Do you remember when it wasn’t necessary to have a website? When most boards would scoff at the value of running a Facebook page? Now Gartner is telling us that customers will manage 85% of their relationship with brands without interacting with a human by 2020 and publications like Forbes are saying that chat bots are the cause.

The situation now is the same as every time a new platform develops: if you don’t have something your customers can access, you’re giving that medium to your competition. At the moment, an automated presence on Google Home or Slack may not be central to your strategy, but those who claim ground now could dominate it in the future.

The problem is time. Sure, it’d be ideal to be everywhere all the time, to have your brand active on every platform. But it would also be ideal to catch at least four hours sleep a night or stop covering our keyboards with three-day-old chili con carne as we eat a hasty lunch in between building two of the Next Big Things. This is where you’re fortunate in two ways;

  1. When we develop chat applications, we don’t have to worry about things like a beautiful user interface because it’s all speech or text. That’s not to say you don’t need to worry about user experience, as there are rules (and an art) to designing a good conversational back-and-forth. Amazon is actually offering some hefty prizes for outstanding examples.
  2. I’ve spent the last six months working through the steps from complete ignorance to creating a distributable chat bot and I’m giving you all my workings. In this post I break down each of the levels of complexity, from no-code back-and-forth to managing user credentials and sessions the stretch over days or months. I’m also including full code that you can adapt and pull apart as needed. I’ve commented each portion of the code explaining what it does and linking to resources where necessary.

I’ve written more about the value of Interactive Personal Assistants on the Distilled blog, so this post won’t spend any longer focusing on why you should develop chat bots. Instead, I’ll share everything I’ve learned.

What my built-from-scratch bot does

Ever since I started investigating chat bots, I was particularly interested in finding out the answer to one question: What does it take for someone with little-to-no programming experience to create one of these chat applications from scratch? Fortunately, I have direct access to someone with little-to-no experience (before February, I had no idea what Python was). And so I set about designing my own bot with the following hard conditions:


  1. It had to have some kind of real-world application. It didn’t have to be critical to a business, but it did have to bear basic user needs in mind.
  2. It had to be easily distributable across the immediate intended users, and to have reasonable scope to distribute further (modifications at most, rather than a complete rewrite).
  3. It had to be flexible enough that you, the reader, can take some free code and make your own chat bot.
  4. It had to be possible to adapt the skeleton of the process for much more complex business cases.
  5. It had to be free to run, but could have the option of paying to scale up or make life easier.
  6. It had to send messages confirming when important steps had been completed.

The resulting program is “Vietnambot,” a program that communicates with Slack, the API.AI linguistic processing platform, and Google Sheets, using real-time and asynchronous processing and its own database for storing user credentials.

If that meant nothing to you, don’t worry — I’ll define those things in a bit, and the code I’m providing is obsessively commented with explanation. The thing to remember is it does all of this to write down food orders for our favorite Vietnamese restaurant in a shared Google Sheet, probably saving tens of seconds of Distilled company time every year.

It’s deliberately mundane, but it’s designed to be a template for far more complex interactions. The idea is that whether you want to write a no-code-needed back-and-forth just through API.AI; a simple Python program that receives information, does a thing, and sends a response; or something that breaks out of the limitations of linguistic processing platforms to perform complex interactions in user sessions that can last days, this post should give you some of the puzzle pieces and point you to others.

What is API.AI and what’s it used for?

API.AI is a linguistic processing interface. It can receive text, or speech converted to text, and perform much of the comprehension for you. You can see my Distilled post for more details, but essentially, it takes the phrase “My name is Robin and I want noodles today” and splits it up into components like:

  • Intent: food_request
  • Action: process_food
  • Name: Robin
  • Food: noodles
  • Time: today

This setup means you have some hope of responding to the hundreds of thousands of ways your users could find to say the same thing. It’s your choice whether API.AI receives a message and responds to the user right away, or whether it receives a message from a user, categorizes it and sends it to your application, then waits for your application to respond before sending your application’s response back to the user who made the original request. In its simplest form, the platform has a bunch of one-click integrations and requires absolutely no code.

I’ve listed the possible levels of complexity below, but it’s worth bearing some hard limitations in mind which apply to most of these services. They cannot remember anything outside of a user session, which will automatically end after about 30 minutes, they have to do everything through what are called POST and GET requests (something you can ignore unless you’re using code), and if you do choose to have it ask your application for information before it responds to the user, you have to do everything and respond within five seconds.

What are the other things?

Slack: A text-based messaging platform designed for work (or for distracting people from work).

Google Sheets: We all know this, but just in case, it’s Excel online.

Asynchronous processing: Most of the time, one program can do one thing at a time. Even if it asks another program to do something, it normally just stops and waits for the response. Asynchronous processing is how we ask a question and continue without waiting for the answer, possibly retrieving that answer at a later time.

Database: Again, it’s likely you know this, but if not: it’s Excel that our code will use (different from the Google Sheet).

Heroku: A platform for running code online. (Important to note: I don’t work for Heroku and haven’t been paid by them. I couldn’t say that it’s the best platform, but it can be free and, as of now, it’s the one I’m most familiar with).

How easy is it?

This graph isn’t terribly scientific and it’s from the perspective of someone who’s learning much of this for the first time, so here’s an approximate breakdown:

Label

Functionality

Time it took me

1

You set up the conversation purely through API.AI or similar, no external code needed. For instance, answering set questions about contact details or opening times

Half an hour to distributable prototype

2

A program that receives information from API.AI and uses that information to update the correct cells in a Google Sheet (but can’t remember user names and can’t use the slower Google Sheets integrations)

A few weeks to distributable prototype

3

A program that remembers user names once they’ve been set and writes them to Google Sheets. Is limited to five seconds processing time by API.AI, so can’t use the slower Google Sheets integrations and may not work reliably when the app has to boot up from sleep because that takes a few seconds of your allocation*

A few weeks on top of the last prototype

4

A program that remembers user details and manages the connection between API.AI and our chosen platform (in this case, Slack) so it can break out of the five-second processing window.

A few weeks more on top of the last prototype (not including the time needed to rewrite existing structures to work with this)

*On the Heroku free plan, when your app hasn’t been used for 30 minutes it goes to sleep. This means that the first time it’s activated it takes a little while to start your process, which can be a problem if you have a short window in which to act. You could get around this by (mis)using a free “uptime monitoring service” which sends a request every so often to keep your app awake. If you choose this method, in order to avoid using all of the Heroku free hours allocation by the end of the month, you’ll need to register your card (no charge, it just gets you extra hours) and only run this application on the account. Alternatively, there are any number of companies happy to take your money to keep your app alive.

For the rest of this post, I’m going to break down each of those key steps and either give an overview of how you could achieve it, or point you in the direction of where you can find that. The code I’m giving you is Python, but as long as you can receive and respond to GET and POST requests, you can do it in pretty much whatever format you wish.


1. Design your conversation

Conversational flow is an art form in itself. Jonathan Seal, strategy director at Mando and member of British Interactive Media Association’s AI thinktank, has given some great talks on the topic. Paul Pangaro has also spoken about conversation as more than interface in multiple mediums.

Your first step is to create a flow chart of the conversation. Write out your ideal conversation, then write out the most likely ways a person might go off track and how you’d deal with them. Then go online, find existing chat bots and do everything you can to break them. Write out the most difficult, obtuse, and nonsensical responses you can. Interact with them like you’re six glasses of wine in and trying to order a lemon engraving kit, interact with them as though you’ve found charges on your card for a lemon engraver you definitely didn’t buy and you are livid, interact with them like you’re a bored teenager. At every point, write down what you tried to do to break them and what the response was, then apply that to your flow. Then get someone else to try to break your flow. Give them no information whatsoever apart from the responses you’ve written down (not even what the bot is designed for), refuse to answer any input you don’t have written down, and see how it goes. David Low, principal evangelist for Amazon Alexa, often describes the value of printing out a script and testing the back-and-forth for a conversation. As well as helping to avoid gaps, it’ll also show you where you’re dumping a huge amount of information on the user.

While “best practices” are still developing for chat bots, a common theme is that it’s not a good idea to pretend your bot is a person. Be upfront that it’s a bot — users will find out anyway. Likewise, it’s incredibly frustrating to open a chat and have no idea what to say. On text platforms, start with a welcome message making it clear you’re a bot and giving examples of things you can do. On platforms like Google Home and Amazon Alexa users will expect a program, but the “things I can do” bit is still important enough that your bot won’t be approved without this opening phase.

I’ve included a sample conversational flow for Vietnambot at the end of this post as one way to approach it, although if you have ideas for alternative conversational structures I’d be interested in reading them in the comments.

A final piece of advice on conversations: The trick here is to find organic ways of controlling the possible inputs and preparing for unexpected inputs. That being said, the Alexa evangelist team provide an example of terrible user experience in which a bank’s app said: “If you want to continue, say nine.” Quite often questions, rather than instructions, are the key.

2. Create a conversation in API.AI

API.AI has quite a lot of documentation explaining how to create programs here, so I won’t go over individual steps.

Key things to understand:

You create agents; each is basically a different program. Agents recognize intents, which are simply ways of triggering a specific response. If someone says the right things at the right time, they meet criteria you have set, fall into an intent, and get a pre-set response.

The right things to say are included in the “User says” section (screenshot below). You set either exact phrases or lists of options as the necessary input. For instance, a user could write “Of course, I’m [any name]” or “Of course, I’m [any temperature].” You could set up one intent for name-is which matches “Of course, I’m [given-name]” and another intent for temperature which matches “Of course, I’m [temperature],” and depending on whether your user writes a name or temperature in that final block you could activate either the “name-is” or “temperature-is” intent.

The “right time” is defined by contexts. Contexts help define whether an intent will be activated, but are also created by certain intents. I’ve included a screenshot below of an example interaction. In this example, the user says that they would like to go to on holiday. This activates a holiday intent and sets the holiday context you can see in input contexts below. After that, our service will have automatically responded with the question “where would you like to go?” When our user says “The” and then any location, it activates our holiday location intent because it matches both the context, and what the user says. If, on the other hand, the user had initially said “I want to go to the theater,” that might have activated the theater intent which would set a theater context — so when we ask “what area of theaters are you interested in?” and the user says “The [location]” or even just “[location],” we will take them down a completely different path of suggesting theaters rather than hotels in Rome.

The way you can create conversations without ever using external code is by using these contexts. A user might say “What times are you open?”; you could set an open-time-inquiry context. In your response, you could give the times and ask if they want the phone number to contact you. You would then make a yes/no intent which matches the context you have set, so if your user says “Yes” you respond with the number. This could be set up within an hour but gets exponentially more complex when you need to respond to specific parts of the message. For instance, if you have different shop locations and want to give the right phone number without having to write out every possible location they could say in API.AI, you’ll need to integrate with external code (see section three).

Now, there will be times when your users don’t say what you’re expecting. Excluding contexts, there are three very important ways to deal with that:

  1. Almost like keyword research — plan out as many possible variations of saying the same thing as possible, and put them all into the intent
  2. Test, test, test, test, test, test, test, test, test, test, test, test, test, test, test (when launched, every chat bot will have problems. Keep testing, keep updating, keep improving.)
  3. Fallback contexts

Fallback contexts don’t have a user says section, but can be boxed in by contexts. They match anything that has the right context but doesn’t match any of your user says. It could be tempting to use fallback intents as a catch-all. Reasoning along the lines of “This is the only thing they’ll say, so we’ll just treat it the same” is understandable, but it opens up a massive hole in the process. Fallback intents are designed to be a conversational safety net. They operate exactly the same as in a normal conversation. If a person asked what you want in your tea and you responded “I don’t want tea” and that person made a cup of tea, wrote the words “I don’t want tea” on a piece of paper, and put it in, that is not a person you’d want to interact with again. If we are using fallback intents to do anything, we need to preface it with a check. If we had to resort to it in the example above, saying “I think you asked me to add I don’t want tea to your tea. Is that right?” is clunky and robotic, but it’s a big step forward, and you can travel the rest of the way by perfecting other parts of your conversation.

3. Integrating with external code

I used Heroku to build my app . Using this excellent weather webhook example you can actually deploy a bot to Heroku within minutes. I found this example particularly useful as something I could pick apart to make my own call and response program. The weather webhook takes the information and calls a yahoo app, but ignoring that specific functionality you essentially need the following if you’re working in Python:

#start
    req = request.get_json
    print("Request:")
    print(json.dumps(req, indent=4))
#process to do your thing and decide what response should be

    res = processRequest(req)
# Response we should receive from processRequest (you’ll need to write some code called processRequest and make it return the below, the weather webhook example above is a good one).
{
        "speech": “speech we want to send back”,
        "displayText": “display text we want to send back, usually matches speech”,
        "source": "your app name"
    }

# Making our response readable by API.AI and sending it back to the servic

 response = make_response(res)
    response.headers['Content-Type'] = 'application/json'
    return response
# End

As long as you can receive and respond to requests like that (or in the equivalent for languages other than Python), your app and API.AI should both understand each other perfectly — what you do in the interim to change the world or make your response is entirely up to you. The main code I have included is a little different from this because it’s also designed to be the step in-between Slack and API.AI. However, I have heavily commented sections like like process_food and the database interaction processes, with both explanation and reading sources. Those comments should help you make it your own. If you want to repurpose my program to work within that five-second window, I would forget about the file called app.py and aim to copy whole processes from tasks.py, paste them into a program based on the weatherhook example above, and go from there.

Initially I’d recommend trying GSpread to make some changes to a test spreadsheet. That way you’ll get visible feedback on how well your application is running (you’ll need to go through the authorization steps as they are explained here).

4. Using a database

Databases are pretty easy to set up in Heroku. I chose the Postgres add-on (you just need to authenticate your account with a card; it won’t charge you anything and then you just click to install). In the import section of my code I’ve included links to useful resources which helped me figure out how to get the database up and running — for example, this blog post.

I used the Python library Psycopg2 to interact with the database. To steal some examples of using it in code, have a look at the section entitled “synchronous functions” in either the app.py or tasks.py files. Open_db_connection and close_db_connection do exactly what they say on the tin (open and close the connection with the database). You tell check_database to check a specific column for a specific user and it gives you the value, while update_columns adds a value to specified columns for a certain user record. Where things haven’t worked straightaway, I’ve included links to the pages where I found my solution. One thing to bear in mind is that I’ve used a way of including columns as a variable, which Psycopg2 recommends quite strongly against. I’ve gotten away with it so far because I’m always writing out the specific column names elsewhere — I’m just using that method as a short cut.

5. Processing outside of API.AI’s five-second window

It needs to be said that this step complicates things by no small amount. It also makes it harder to integrate with different applications. Rather than flicking a switch to roll out through API.AI, you have to write the code that interprets authentication and user-specific messages for each platform you’re integrating with. What’s more, spoken-only platforms like Google Home and Amazon Alexa don’t allow for this kind of circumvention of the rules — you have to sit within that 5–8 second window, so this method removes those options. The only reasons you should need to take the integration away from API.AI are:

  • You want to use it to work with a platform that it doesn’t have an integration with. It currently has 14 integrations including Facebook Messenger, Twitter, Slack, and Google Home. It also allows exporting your conversations in an Amazon Alexa-understandable format (Amazon has their own similar interface and a bunch of instructions on how to build a skill — here is an example.
  • You are processing masses of information. I’m talking really large amounts. Some flight comparison sites have had problems fitting within the timeout limit of these platforms, but if you aren’t trying to process every detail for every flight for the next 12 months and it’s taking more than five seconds, it’s probably going to be easier to make your code more efficient than work outside the window. Even if you are, those same flight comparison sites solved the problem by creating a process that regularly checks their full data set and creates a smaller pool of information that’s more quickly accessible.
  • You need to send multiple follow-up messages to your user. When using the API.AI integration it’s pretty much call-and-response; you don’t always get access to things like authorization tokens, which are what some messaging platforms require before you can automatically send messages to one of their users.
  • You’re working with another program that can be quite slow, or there are technical limitations to your setup. This one applies to Vietnambot, I used the GSpread library in my application, which is fantastic but can be slow to pull out bigger chunks of data. What’s more, Heroku can take a little while to start up if you’re not paying.

I could have paid or cut out some of the functionality to avoid needing to manage this part of the process, but that would have failed to meet number 4 in our original conditions: It had to be possible to adapt the skeleton of the process for much more complex business cases. If you decide you’d rather use my program within that five-second window, skip back to section 2 of this post. Otherwise, keep reading.

When we break out of the five-second API.AI window, we have to do a couple of things. First thing is to flip the process on its head.

What we were doing before:

User sends message -> API.AI -> our process -> API.AI -> user

What we need to do now:

User sends message -> our process -> API.AI -> our process -> user

Instead of API.AI waiting while we do our processing, we do some processing, wait for API.AI to categorize the message from us, do a bit more processing, then message the user.

The way this applies to Vietnambot is:

  1. User says “I want [food]”
  2. Slack sends a message to my app on Heroku
  3. My app sends a “swift and confident” 200 response to Slack to prevent it from resending the message. To send the response, my process has to shut down, so before it does that, it activates a secondary process using “tasks.”
  4. The secondary process takes the query text and sends it to API.AI, then gets back the response.
  5. The secondary process checks our database for a user name. If we don’t have one saved, it sends another request to API.AI, putting it in the “we don’t have a name” context, and sends a message to our user asking for their name. That way, when our user responds with their name, API.AI is already primed to interpret it correctly because we’ve set the right context (see section 1 of this post). API.AI tells us that the latest message is a user name and we save it. When we have both the user name and food (whether we’ve just got it from the database or just saved it to the database), Vietnambot adds the order to our sheet, calculates whether we’ve reached the order minimum for that day, and sends a final success message.

6. Integrating with Slack

This won’t be the same as integrating with other messaging services, but it could give some insight into what might be required elsewhere. Slack has two authorization processes; we’ll call one “challenge” and the other “authentication.”

Slack includes instructions for an app lifecycle here, but API.AI actually has excellent instructions for how to set up your app; as a first step, create a simple back-and-forth conversation in API.AI (not your full product), go to integrations, switch on Slack, and run through the steps to set it up. Once that is up and working, you’ll need to change the OAuth URL and the Events URL to be the URL for your app.

Thanks to github user karishay, my app code includes a process for responding to the challenge process (which will tell Slack you’re set up to receive events) and for running through the authentication process, using our established database to save important user tokens. There’s also the option to save them to a Google Sheet if you haven’t got the database established yet. However, be wary of this as anything other than a first step — user tokens give an app a lot of power and have to be guarded carefully.

7. Asynchronous processing

We are running our app using Flask, which is basically a whole bunch of code we can call upon to deal with things like receiving requests for information over the internet. In order to create a secondary worker process I’ve used Redis and Celery. Redis is our “message broker”; it makes makes a list of everything we want our secondary process to do. Celery runs through that list and makes our worker process do those tasks in sequence. Redis is a note left on the fridge telling you to do your washing and take out the bins, while Celery is the housemate that bangs on your bedroom door, note in hand, and makes you do each thing. I’m sure our worker process doesn’t like Celery very much, but it’s really useful for us.

You can find instructions for adding Redis to your app in Heroku here and you can find advice on setting up Celery in Heroku here. Miguel Grinberg’s Using Celery with Flask blog post is also an excellent resource, but using the exact setup he gives results in a clash with our database, so it’s easier to stick with the Heroku version.

Up until this point, we’ve been calling functions in our main app — anything of the form function_name(argument_1, argument_2, argument_3). Now, by putting “tasks.” in front of our function, we’re saying “don’t do this now — hand it to the secondary process.” That’s because we’ve done a few things:

  • We’ve created tasks.py which is the secondary process. Basically it’s just one big, long function that our main code tells to run.
  • In tasks.py we’ve included Celery in our imports and set our app as celery.Celery(), meaning that when we use “app” later we’re essentially saying “this is part of our Celery jobs list” or rather “tasks.py will only do anything when its flatmate Celery comes banging on the door”
  • For every time our main process asks for an asynchronous function by writing tasks.any_function_name(), we have created that function in our secondary program just as we would if it were in the same file. However in our secondary program we’ve prefaced with “@app.task”, another way of saying “Do wash_the_dishes when Celery comes banging the door yelling wash_the_dishes(dishes, water, heat, resentment)”.
  • In our “procfile” (included as a file in my code) we have listed our worker process as –app=tasks.app

All this adds up to the following process:

  1. Main program runs until it hits an asynchronous function
  2. Main program fires off a message to Redis which has a list of work to be done. The main process doesn’t wait, it just runs through everything after it and in our case even shuts down
  3. The Celery part of our worker program goes to Redis and checks for the latest update, it checks what function has been called (because our worker functions are named the same as when our main process called them), it gives our worker all the information to start doing that thing and tells it to get going
  4. Our worker process starts the action it has been told to do, then shuts down.

As with the other topics mentioned here, I’ve included all of this in the code I’ve supplied, along with many of the sources used to gather the information — so feel free to use the processes I have. Also feel free to improve on them; as I said, the value of this investigation was that I am not a coder. Any suggestions for tweaks or improvements to the code are very much welcome.


Conclusion

As I mentioned in the introduction to this post, there’s huge opportunity for individuals and organizations to gain ground by creating conversational interactions for the general public. For the vast majority of cases you could be up and running in a few hours to a few days, depending on how complex you want your interactions to be and how comfortable you are with coding languages. There are some stumbling blocks out there, but hopefully this post and my obsessively annotated code can act as templates and signposts to help get you on your way.

Grab my code at GitHub


Bonus #1: The conversational flow for my chat bot

This is by no means necessarily the best or only way to approach this interaction. This is designed to be as streamlined an interaction as possible, but we’re also working within the restrictions of the platform and the time investment necessary to produce this. Common wisdom is to create the flow of your conversation and then keep testing to perfect, so consider this example layout a step in that process. I’d also recommend putting one of these flow charts together before starting — otherwise you could find yourself having to redo a bunch of work to accommodate a better back-and-forth.

Bonus #2: General things I learned putting this together

As I mentioned above, this has been a project of going from complete ignorance of coding to slightly less ignorance. I am not a professional coder, but I found the following things I picked up to be hugely useful while I was starting out.

  1. Comment everything. You’ll probably see my code is bordering on excessive commenting (anything after a # is a comment). While normally I’m sure someone wouldn’t want to include a bunch of Stack Overflow links in their code, I found notes about what things portions of code were trying to do, and where I got the reasoning from, hugely helpful as I tried to wrap my head around it all.
  2. Print everything. In Python, everything within “print()” will be printed out in the app logs (see the commands tip for reading them in Heroku). While printing each action can mean you fill up a logging window terribly quickly (I started using the Heroku add-on LogDNA towards the end and it’s a huge step up in terms of ease of reading and length of history), often the times my app was falling over was because one specific function wasn’t getting what it needed, or because of another stupid typo. Having a semi-constant stream of actions and outputs logged meant I could find the fault much more quickly. My next step would probably be to introduce a way of easily switching on and off the less necessary print functions.
  3. The following commands: Heroku’s how-to documentation for creating an app and adding code is pretty great, but I found myself using these all the time so thought I’d share (all of the below are written in the command line; type cmd in on Windows or by running Terminal on a Mac):
    1. CD “””[file location]””” - select the file your code is in
    2. “git init” – create a git file to add to
    3. “git add .” – add all of the code in your file into the file that git will put online
    4. “git commit -m “[description of what you’re doing]” “ - save the data in your git file
    5. “heroku git:remote -a [the name of your app]” – select your app as where to put the code
    6. “git push heroku master” - send your code to the app you selected
    7. “heroku ps” – find out whether your app is running or crashed
    8. “heroku logs” – apologize to your other half for going totally unresponsive for the last ten minutes and start the process of working through your printouts to see what has gone wrong
  4. POST requests will always wait for a response. Seems really basic — initially I thought that by just sending a POST request and not telling my application to wait for a response I’d be able to basically hot-potato work around and not worry about having to finish what I was doing. That’s not how it works in general, and it’s more of a symbol of my naivete in programming than anything else.
  5. If something is really difficult, it’s very likely you’re doing it wrong.
    While I made sure to do pretty much all of the actual work myself (to
    avoid simply farming it out to the very talented individuals at
    Distilled), I was lucky enough to get some really valuable advice. The
    piece of advice above was from Dominic Woodman, and I should have
    listened to it more. The times when I made least progress were when I
    was trying to use things the way they shouldn’t be used. Even when I
    broke through those walls, I later found that someone didn’t want me to
    use it that way because it would completely fail at a later point.
    Tactical retreat
    is an option. (At this point, I should mention he wasn’t
    the only one to give invaluable advice; Austin, Tom, and Duncan of the
    Distilled R&D team were a huge help.)

Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!


Moz Blog

Posted in IM NewsComments Off

Apple Unveils iPhone X, Here’s What it Can Do

On Tuesday, Apple hosted its first-ever event at the new Steve Jobs Theater at Apple Park campus in Cupertino, California. The company unveiled several new products at the event which included 4K Apple TV and the Apple Watch Series 3 which comes with a cellular connection. Of course, the highlight of the evening was the announcement of Apple’s new line of smartphones—the iPhone 8, 8 Plus, and the tenth-anniversary phone aptly named the iPhone X (pronounced iPhone Ten).

The first iPhone launched on June 9th, 2007, with spectacular success. Ten years later, Apple is set to make waves yet again with the iPhone X.  Packed with innovative new features, the flagship model phone will be a must-have for Apple enthusiasts and a new cash cow for the company.

Face ID

Previous speculations were indeed correct. With iPhone X, Apple decided to ditch Touch ID as the phone primary security feature. Instead, the new phone now sports an all-new Face ID system touted to be even more secure than the Touch ID it replaces.

So just how secure is iPhone X’s Face ID? The Touch ID fingerprint sensor comes with a one in 50,000 chance of a person other than you being able to unlock the device. With the new Face ID, however, the odds are now one in a million.

In fact, Apple is convinced that the new Face ID is so secure that it can be used to authorize purchases on Apple Pay. Since it uses a 3D sensing technology, the system cannot be fooled by a mere 2D photo of your face. In addition, the technology is advanced enough to recognize your unique facial features even if you’re wearing eyeglasses and a hat.

Ultra Sharp Edge To Edge Screen

The new iPhone X also comes with a vastly improved display resolution. It has a high resolution, 2436×1125 5.8 inch OLED display dubbed by Apple as a super retina display. To boot, the screen has over two million pixels, offering the sharpest display ever on an iPhone model.

What is even more exciting is the bezel-less display, allowing for a wider screen without any added bulkiness to the device. However, this also means that there is no longer a home button. To wake the phone, you’ll simply need to tap the screen.

New Cameras

The new iPhone X is also equipped with new cameras. The front camera is a 7 MP TrueDepth camera that Apple specifically developed not only for taking great selfies but also for use as the sensor of the new Face ID technology, Macworld reported.

At the back of the phone is a dual-lens 12MP camera complete with a wide angle lens to capture scenery and a telephoto lens if you need to zoom in on your subject. The new phone is said to be capable of producing the highest quality video on any available smartphone with improvements to its stabilization technology (new gyroscopes and accelerometers) resulting in less shaky outputs. You can now capture 4K videos at 60 fps or opt for a slo-mo 240 fps at 1080p.

Animoji Feature

If you’re the type of person who loves emojis, then it’s hard to ignore iPhone X’s  cool new “Animoji” feature. The phone allows you to make brief clips of your face and turn them into instant emojis. With the Facial recognition capability of the phone, it can help make an emoji that best represents the facial expression you are making at the moment.

Wireless Charging

Apple has finally embraced wireless charging technology for its latest products. The iPhone X, along with the iPhone 8 and 8 Plus, will be charged wirelessly using the Qi standard. Apple is tweaking the technology a bit and plans to later launch AirPower, an accessory that allows you to simultaneously charge three devices.

Retail Price

There are two variants to the iPhone X. The 64GB phone is priced at $ 999 while the 256GB variant sells for $ 1,149. A11 Bionic chip powers the iPhone X with its 6-core CPU design said to be the most powerful for a smartphone. Coupled with the three-core GPU designed by Apple, the phone is powerful enough for machine learning and 3D games.

Unfortunately, fans will have to wait a bit before they could get their hands on Apples tenth anniversary phone. The iPhone X released date is slated for November 3, 2017. However, Apple is accepting pre-orders starting October 27.

In the meantime, you might want to check out on the two other new phones unveiled by Apple. iPhone 8 has a 4.7-inch Retina display while the bigger iPhone 8 Plus has a 5.5-inch display. Both devices are available on September 22 but you can preorder as early as September 15.

[Featured Image by Apple/Youtube]

 

The post Apple Unveils iPhone X, Here’s What it Can Do appeared first on WebProNews.


WebProNews

Posted in IM NewsComments Off

Does Influencer Marketing Really Work? Here’s What You Should Know

Companies have to fight tooth and nail to get their message across these days. And while content marketing still has its place, influencer marketing is the new trend, particularly with the ubiquitousness of social media.

The site Relevance likened influencer marketing to “celebrity endorsement advertising,” when Nicole Kidman could plug Chanel #5 or Leonardo di Caprio could extol the virtues of just about any product in commercials and magazines. Influencer marketing is basically the same thing, except that these days, you use “influencers” and social media.

How Does Influencer Marketing Work?

Influencer marketing basically boils down to three things – get in touch with someone with influence, like a popular blogger, get that person to promote your company in some form, and boost your exposure on social media.

Let’s say there’s a lifestyle maven named Party Pat with about 5,000 people following her on her blog and Instagram. You were able to convince Pat to help promote your online bookstore among her followers. She first blogs about her favorite books and mentions your store as her go-to place for ordering books. She later tweets or posts a photo of the latest book that she acquired and mentions how she easily ordered it from your shop and that it arrived in just one day. Her casual mentioning of your store and her experience could prompt her followers to check out your site as well.

Related image

The example might sound simple but it’s actually not. It entails a lot of hard work and preparation. First, you have to find an influencer who’s a good fit for your brand, whether they’re bloggers, YouTubers, writers with regular contributions to popular online sites, or industry experts. Next, you have to reach out and build a rapport with said influencer. Some do this by following the influencer and interacting with him or her while others do it the relatively old-fashioned way and send an email.

If the influencer does respond, you still have to find a way to convince them to promote you. Maybe you can send a sample product or offer to be a guest blogger. Offer compensation is possible but could also be tricky. You have to convince and prove to the influencer that it’s good for them to help you out. This means that if you’re going to guest post, your content should be impeccable. If you’re going to send a sample product, it should be high quality.

3 Tips for Using Influencers

If you are convinced that influencer marketing will help you and your brand, consider the following tips:

  1. Know that the relationship between the brand, the influencer, and the audience must be real.

Image result for real relationship with brandInfluencers have a strong following on social media because they capture their audience’s interest; they have established a relationship with them. Maybe they’re the same age as their audience, have the same interests, or have undergone the same life experiences. This strong relationship with their followers means influencers will only work with a company or brand that they and their audience believe in. For example, an influencer known for her quirky and affordable style of clothes won’t suddenly start campaigning for a high-end shoe brand.

  1. Be ready to play long-term.

Don’t go into influencer marketing thinking that one sponsored post will shore up your business. While a one-time mention by a mega-influencer can make a big difference, it’s a rare, and very expensive, situation. Most of the time, influencer marketing should be looked at as a long-term approach, as you have to slowly build trust among the influencer’s followers.  Followers might have to see his favorite influencer trying or mentioning your product several times before they become curious enough to explore and give your brand a try.

  1. Give creative control over to the influencer.

You might have complete control over your marketing strategy when it comes to traditional advertising, but influencer marketing is far from conventional. The goal is for your brand to have a quality engagement with the influencer’s audience. To achieve that, you have to relinquish creative control to the influencer, as they know their audience. They understand the best way to introduce your brand and make their followers receptive to it.

Does Influencer Marketing Work?

Image result for online influencer effectiveness

There’s some controversy on whether or not influencer marketing really works. Data from a 2016 marketing survey has shown that 94% of those who used this marketing strategy believed it works. However, what the ROI is of influencer marketing is still something of a challenge this year. But there’s no question that this strategy has wide reach, especially with Facebook and Instagram being key platforms for influencer marketing.

Influencer marketing might not be for every company, but there’s no doubting its influence on today’s social media savvy consumers.  

[Image via Pixabay]

The post Does Influencer Marketing Really Work? Here’s What You Should Know appeared first on WebProNews.


WebProNews

Posted in IM NewsComments Off

Here’s Your Syllabus: Everything a Marketer Needs for Day 1 of an MBA

Posted by willcritchlow

A few years ago, I wrote a
post on my personal blog about MBA courses. I have a great deal of respect for the top-flight MBA courses based, in part, on how difficult I found the business-school courses I took during my graduate degree. I’m well aware of the stereotypes prevalent in the startup and online worlds, but I believe there is a lot of benefit to marketers having a strong understanding of how businesses function.

Recently, I’ve been thinking about how to build this into our training and development at Distilled; I think that our consultative approach needs this kind of awareness even more than most.

This post is designed to give you the building blocks needed to grow your capabilities in this area. Think of it as a cross between a recommended reading list and a home study guide.

Personal development: a personal responsibility

I’ve
written before about the difference between learning and training, and how I believe that individuals should take a high degree of ownership over their own development. In an area like this, where it’s unlikely to be a core functional responsibility, it’s even more likely that you will need to dedicate your own time and effort to building your capabilities.

Start with financial basics

I may well be biased by my own experiences, but I believe that, by starting with the financial fundamentals, you gain a deeper understanding of everything that comes afterwards. My own financial education started before high school:

  • My dad used to give me simple arithmetic tasks based around the financials of his own business before I was old enough to be allowed to answer the phone (when my voice broke!)
  • At college, I took some informal entrepreneurial courses as well as elected to study a few hardcore mathematical finance subjects during grad school
  • After college, I worked as a “consultant” (really, a developer) for a financial software company and got my first real introduction to P&Ls, general ledgers, balance sheets, and so forth
  • Before starting Distilled, I worked as a management consultant and learnt to build financial models and business cases (though the most memorable lesson of this era is that big businesses just have more zeros in the model – at a certain point it doesn’t matter whether you’re working with $ , $ k, $ m or $ b)

So, where should you start your financial education?

I’d begin by learning
how to read a balance sheet (which will quickly lead you to a load of ratios) and how to read a P&L (profit and loss statement). From there, you can get to cash flow.

In order to take this all in, you will need to set aside some time to work through a few examples and to dig into the definitions, acronyms, and concepts you haven’t heard before. These are not the kinds of post you can simply skim.

This may also be a good time to revisit some basics:

While working through all of this, you should be aiming to:

  • Become comfortable with the language and terminology
  • Understand the connections between cash, profit and assets
  • Begin seeing the sensitivities in how timing, margins, and business models impact outcomes

Since all of this is pretty dry, be sure to add in some human interest by reading about business models in ‘the wild’ and applying your new-found knowledge to some real-world examples. Amazon is a great place to start because of its
unusual focus on free cash flow over profit (for longer reads, I also recommend Bezos’ shareholders letters and The Everything Store).

Management: structures and methodologies

When you’re trying to get things done, it pays to understand the context of the people you’re seeking to influence. Whether you’re an external consultant or embedded in the organisation, the people you’re dealing with will have their own priorities, incentives, and worldview.

Above all, you need to get close to people in order to understand what truly makes them tick.

You can spend a lot of time digging into dry tomes on organisational design if you wish, but I’ve learned a lot of things from reading business biographies in order to understand the thinking of senior management at big business. Here are some of my favourites:

  • I already mentioned The Everything Store about Amazon in general and Jeff Bezos in particular
  • In the Plex (relevant to our interests: about Google) has all kinds of interesting anecdotes and management challenges
  • I am a massive fan of The Hard Thing About Hard Things by Ben Horowitz that documents a lot of the interpersonal and management challenges he has seen and faced over the years
  • I was recommended The Five Dysfunctions of a Team by a client-turned-friend who has led large engineering teams – its language of “conflict and commit” quickly became part of my personal thinking
  • In a variety of ways, I’ve learned interesting things even from books that I found difficult to read or where I felt as if I wouldn’t like to work for the individuals (including Winning by Jack Welch, Steve Jobs by Walter Isaacson, Who Says Elephants Can’t Dance by Lou Gerstner, and the epic Warren Buffett biography, The Snowball by Alice Schroeder)
BenHorowitz081513_076BSheehan_crop.jpg

Ben Horowitz
Image source: developers.blog.box.com/

6629275_c179a0dc20_z.jpg

Jeff Bezos
Image source: James Duncan Davidson, Flickr

The way I work is to highlight sections of a book as I read it (the Kindle is a godsend for this) and then, if I found it interesting enough, to write up a brief book report for my team. This should be somewhere between enough information to persuade them it would be an interesting read and enough to impart its key lessons.

See my write-up of “Only the Paranoid Survive”.

Strategy: the interesting parts

For me, all of this forms the basics of what you need to think about the interesting parts. I’m fully aware (and glad!) that some people become specialists in the details above and enjoy working in them. For me, they serve as tools to understand and to communicate about the way that companies and markets function.

I find that the most interesting learning has elements of storytelling, timeliness, and humanity. During my university studies, I was most excited when I got to hear about theorems developed in the last few years. In corporate strategy terms, it’s important to know your history, but it’s also exciting to realise that we can read the history that’s happening all around us right now.

In rough chronological order, here is some reading material I’ve found interesting recently:

  • Only the Paranoid Survive is the story of how Andy Grove chose to lead Intel through the almost complete disappearance of its multi-billion dollar core business in just a few short years. See my notes
  • The Innovator’s Dilemma by Clayton Christensen – I’ve written about this before here on Moz and over on our own site
  • In writing about The Innovator’s Dilemma, I’ve talked before about the influence Mark Suster has had on my thinking. I find the vast majority of his writing very thought-provoking. I particularly enjoyed his recent presentation on Why it’s Morning in VC which included some great stats about the growth in market opportunity for businesses that think ‘online first’
  • For the most cutting-edge thinking about the evolution of strategy in a connected world, I haven’t come across a better thinker than Benedict Evans. His newsletter is one of a handful that I read religiously

Putting it together

Different people learn in different ways, but I thought I’d close with a few ideas for more structured ways of learning:

  • Work through the basics by recreating some of the analysis linked to above. Build the Excel, learn the terminology, etc.
  • Read a book from the list and write a book report
  • Form a study group to discuss a Harvard Business Review case

Further reading

The more you get into reading about business, the more you’ll realise what a rabbit hole it truly is. I’d love to hear some recommendations in the comments section. I’ve also included a few more resources that didn’t fit into the flow above but that I thought people might like to check out:

  • MBA Mondays from Fred Wilson (I recommend you start at the end and work forwards through time). I’ve liberally pulled individual posts into the writing above, but there’s a wealth of further information in this series
  • Harvard Business Review produces an incredible amount of content, so you’ll have to pick and choose, but there’s something there for everyone – from written content and video, to deep financial analysis to inter-personal management advice
  • I have had The Personal MBA recommended highly to me – though I have to admit that it’s still sitting in my wishlist

When I first pitched this post idea to the Moz editors, they were keen that it contain actual insight itself rather than just links to a bunch of books – something I wholeheartedly support. So, I thought I’d include my notes on Andy Grove’s Only the Paranoid Survive. Here you can see what I meant by taking notes and highlighting sections of a book to discuss with a group. This is a great way of digesting the ideas of a book, especially if they are particularly complex.

8267616249_0bf5b1b597_z.jpg

Andy Grove, Robert Noyce and Gordon Moore (1978)

Image source: Intel Free Press,
Flickr

Only the Paranoid Survive: my notes on a business classic

Documenting his time at Intel, Andy Grove’s book provides a fascinating insight into how he led the company out of the memory business and into the microprocessor business. He details his approach for dealing with what he calls “strategic inflection points” which are those times in the life of a business when its fundamentals are about to change. As he says, this “can mean an opportunity to rise to new heights. But it may just as likely signal the beginning of the end.”

It’s an incredible story of leadership, management, and strategy, and I highly recommend you read it (even though it’s unfortunately not available on the Kindle – a criteria which is fast becoming my top priority for which books I’ll read).

Written in 1996, the book looks pretty dated (in parts) almost twenty years later. But to illustrate the power of the insights from the man that Fortune magazine called “The best manager in the world”, I wanted to kick off with some quotes from the final chapter of the book. These detail Grove’s support of Intel post-retirement – guiding them on the changes he thought the internet would bring to their business. It highlights the value of the rest of the book by proving that he is capable of applying his theories to the future (which is always the hardest part of making predictions).

Highlighting the era in which the book was written, it starts with a section entitled:

What is the Internet Anyway?

Grove immediately lays out his stall:

I felt that the Internet was the biggest change in our environment over the last year.

And then goes on to predict a number of the disruptions that subsequently came to pass – starting with the effect on advertising:

To do that on a big scale, you have to “steal the eye-balls,” so to say, of the consumer audience from where they get those messages today … to displays on the World Wide Web.

Publishing:

We may be witnessing the birth of a new media industry.

And even mobile (though he doesn’t call it that):

Such an Internet appliance could be built around a simpler and less expensive microchip. Clearly, this would be detrimental to our business.

His presentation, to a group of senior managers at Intel in the mid-90s, clearly met a mixed reception – and I love how much the quotes could be an indictment of my entire career:

Comments on my presentation range from “This was the best strategic analysis you’ve ever done” to “Why the hell did you waste so much time on the Internet?”

Rather than just pointing out problems, he clearly outlines a set of solutions – starting with embedding the internet at the top level of strategic direction:

Intel operates by following the direction set by three high-level corporate strategic objectives: the first has to do with our micro-processor business; the second with our communications business; the third with our operations and the executions of our plans. We add a fourth objective, encapsulating all the things that are necessary to mobilize our efforts in connection with the Internet.

…and hedging with a deliberate attempt to check his hypotheses to make sure they are correct:

So I think there is one more step for Intel to take to prepare ourselves for the future. And I think we should take it now while our market momentum is stronger than ever. I think we should put together a group to build the best inexpensive Internet appliance that can be built, around an Intel microchip. Let this group try to derail our strategies themselves.

Having set the scene, rather than rehash the story itself, I want to jump to the second half of the book. Here Grove details the general lessons he learned and the approaches he has taught since his retirement as a professor at the Stanford University Graduate School of Business.

So many of the lessons concern the ways that senior managers can make sure they stay abreast of the lessons their teams are learning at the coalface. But learning the lessons are so rarely enough in themselves. Grove details a conversation he had with Intel’s Chairman and CEO at the time – Gordon Moore:

I looked out the window at the Ferris wheel of the Great America amusement park revolving in the distance, then I turned back to Gordon and I asked, “If we got kicked out and the board brought in a new CEO, what do you think he would do?” Gordon answered without hesitation, “He would get us out of memories.” I stared at him, numb, then said, “Why shouldn’t you and I walk out the door, come back and do it ourselves?”

Knowing is not sufficient. It’s clear that you still need to work up the courage to make a change somehow. Early on, Grove dedicates a chapter to the necessary methodology of gathering information from the people he calls “Cassandras” who help funnel knowledge of impending changes to senior management:

The Cassandras in your organization are a consistently helpful element in recognizing strategic inflection points… Cassandras are usually in middle management; often they work in the sales organization.

He then goes on to address two potential objections to the particular kinds of action needed at this stage – by middle and senior management. I particularly like the second part – exhorting ‘armchair quarterbacks’ to get out of their comfy seats:

If you are in senior management, don’t feel you’re being a wimp for taking the time to solicit the views, convictions and passions of the experts. No statues will be carved for corporate leaders who charge off on the wrong side of a complex decision…If you are in middle management, don’t be a wimp. Don’t sit on the sidelines waiting for the senior people to make a decision so that later on you can criticize them over a beer — “My God, how could they be so dumb?”

Continuing the theme that it’s necessary, but not sufficient to know what’s going on, Grove calls out common behaviour among senior people who (consciously or subconsciously) know what they need to be focusing on, but continually find themselves drawn in other directions. It reminded me of the adage that
your calendar never lies:

At such times, senior managers often involve themselves in feverish charitable fundraising, a lot of outside board activities or pet projects…Frankly, as I look back, I have to wonder if it was an accident that I devoted a significant amount of my time in the years preceding our memory episode, years during which the storm clouds were already very evident, to writing a book. And as I write this, I wonder what storm clouds I might be ducking now.

In this theoretical section that comes after many of the personal stories of his own challenges, Grove lays out some mechanisms for coping with and dealing with strategic inflection points once you’ve seen them coming. In particular, he focuses on clarity of communication:

But when the structure of the industry changes, all of these elements change too. The mental map that you have been carrying with you all these years and relied upon in charting your company’s course of action suddenly loses its validity. However you haven’t had a chance to replace it with a new mental map. You haven’t made the explicit substitutions about how things are done now versus how they were done before, or who matters now versus who mattered then…If senior managers and know-how managers share a common view of the industry, the likelihood of their acknowledging changes in the environment and responding in an appropriate fashion will greatly increase. Sharing a common picture of the map of the industry and its dynamics is a key tool in making your organization an adaptive one.

…and clarity of purpose:

Management writers use the word “vision” for this. That’s too lofty for my taste. What you’re trying to do is capture the essence of the company and the focus of its business. You are trying to define what the company will be, yet that can only be done if you also undertake to define what the company will not be.

…and he addresses head-on the obvious counter to some of his simple examples by saying that he believes oversimplification is a risk worth taking in pursuit of extreme focus:

But the danger of oversimplification pales in comparison with the danger of catering to the desire of every manager to be included in the simple description of the refocused business, therefore making that description so lofty and so inclusive as to be meaningless.

Just before we get to the final section on the internet that I started with to make my broader point about the usefulness of Grove’s framework, he talks about some of the personal pitfalls of leading in the way he describes. I found these two passages to have echoes of ‘the hard thing about hard things’ that I referenced above. First, leading when you can’t know if you’re right:

I can’t help but wonder why leaders are so often hesitant to lead. I guess it takes a lot of conviction and trusting your gut to get ahead of your peers, your staff and your employees while they are still squabbling about which path to take, and set an unhesitating, unequivocal course whose rightness or wrongness will not be known for years.

…and second, the loneliness of this course:

When I started on this software study, I had to take the time I spent on it away from other things…This brought with it its own difficulties because people who were accustomed to seeing me periodically no longer saw me as often as they used to. They started asking questions like, “Does this mean you no longer care about what we do?”


I hope you’ve enjoyed this little tour through my ways of learning about business. I think an awful lot of learning comes down to curiosity and, in my experience, business is an endless source of fascination and things about which to be curious. I look forward to hearing your best links and book recommendations in the comments.

Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!


Moz Blog

Posted in IM NewsComments Off

SEOs Know Things about UX: Here’s How to Prove it

Posted by Kristina Kledzik

As a human being currently using the internet, you have opinions about online user experience. The problem is, everyone’s experience is going to be different based on their expectations. So although you, as a Moz blog reader and probably an internet connoisseur, may have some very good ideas about making your company’s or client’s site easier to use for the majority of visitors, there’s a good chance that your boss or client will disagree with you. 

If you’re like me and aren’t a user experience expert, it’s going to be hard to argue with them on gut instinct alone. Rather than debate in circles, spend the time to validate your argument:

  1. Prove there is a problem. This is a good idea even if you and your boss (or client) wholeheartedly agree that the site is less than optimal. Get feedback from visitors who aren’t working on the site and see if their feedback lines up with your assumptions. 
  2. Propose a solution. Based on the feedback, propose a solution. It’s best to do this visually with a page mockup. 
  3. Test that solution. See how visitors respond better to your new design than they did to the old design.

By going through these steps, you can build a strong case for implementing your recommendations.

How to prove there is a problem

The first step is to prove that there really is a user experience issue. If you’re lucky and have time and money, the best way to get user experience feedback is to reach out to your customers and/or people in your target market and work with them in person. But most of us aren’t so lucky. If you’re confined to an SEO’s budget like I usually am, you can use an online tool:

My favorite:

Qualaroo


qualaroo


Qualaroo is a simple yet effective way to collect feedback. You just put a small piece of JavaScript code on your site, allowing Qualaroo to load a question in the lower right hand corner of a page. You can: 

  • Place the question on any page or group of pages
  • Write your own questions or use their helpful library of examples
  • Set a time for when the box shows up (e.g., on page load, after 15 seconds, or when the visitor moves their cursor up to the URL bar on their browser, indicating they might leave)


Example use: One of my clients runs seminars. They can host them in a number of places, but if the seminar is hosted in their primary building, they don’t explicitly say where the seminar is held. I theorized that this is causing confusion for visitors and that adding the address to the seminar page would make visitors’ decisions easier.


I didn’t want to ask a leading question, though, so I just added a question to every seminar page, “Is there any other information you need to make a decision today?” Once I had collected a few hundred responses, I exported the feedback to an Excel file and started sorting ideas. I was right: a good proportion of people were interested in the location. The exercise also taught me that a lot of visitors wanted a sample schedule of the program. 

Pros: Easy to use, fast way to get feedback, very flexible program

Cons: You only hear from people who are on your site

Price: $ 79/month (less if you pay for 1 – 2 years at a time)

Cheap feedback without access to the code of your site:

Feedback Army/Mechanical Turk

Feedback Army

While I recommend Qualaroo, I realize that many of you may not be able to convince your boss or client to install JavaScript and potentially distract visitors with your UX questions. If that’s the case, you can use 
Mechanical Turk, or Feedback Army, which is a guy using Mechanical Turk for you, because mTurk’s interface is pretty clunky.

Mechanical Turk allows you to submit questions to millions of online workers from across the world (about 30% are American), so you can use the same questions as you would with Qualaroo. You have to lead them to the right page to review as well, but that should be easy enough.

Pros: An inexpensive way to find and learn from testers

Cons: Mechanical Turk doesn’t pay their testers a whole lot, so you’ll get very quick, off the cuff responses. Plus, they won’t be from your target audience or customer base.

Price: $ 40 per 10 responses

More expensive feedback without access to the code of your site:

UserTesting.com

usertesting.com

If you’d like a more robust user experience test, try out
UserTesting.com. Testers are paid $ 35/test, so they’re going to give you a much more in-depth, thoughtful review than Mechanical Turk. With a higher price tag comes a lot more information, though: you give testers a task and ask them for feedback along the way. This may be excessive if your idea was about tweaking one piece of one page, but it’s great for information architecture/site navigation issues.

Pros: A still fairly inexpensive way to find and learn from testers. You can select your target market by age, gender, income, location, and experience online.

Cons: Reviewers are being paid well to test your site, here, so they want to do a thorough job, and I’ve heard they can be nitpicky.

Price: $ 49/tester (you’ll need a few, at least)

Bonus: Running tests like these without access to the code of the site means that you can run tests on your competitors, too! Use either Feedback Army or UserTesting.com to learn what people like about your competitors’ sites and what frustrates them. It’ll tell you what you’re up against, and pieces that testers praise may be worth imitating on your own site.

Quantitative feedback:

Google Analytics

Google Analytics

Google Analytics won’t give you the opinions of visitors, but sometimes actions speak louder than words. If your theory is that:

  • Calls to action aren’t really…calling people to action
  • Visitors don’t know how to navigate to the page they’re looking for
  • Readers don’t scroll all the way to the bottom of the page

Then you can look at:

  • What proportion of visitors clicked on that call to action (if there are multiple CTAs to the same location on a page, you may have to set up Event Tracking to be sure which CTA was clicked)
  • How visitors move through your site with the Visitor Flow report, and how many visitors clicked around before using site search with the Site Search report
  • How far visitors scrolled down a page, by setting up Events at certain break points
Pros: Free! And, probably already installed on your system. 

Cons: You get a lot of data, but what it means can be somewhat up to interpretation. This might be a good springboard to convince a client that you need to do further testing, but it can’t prove much on its own.

Price: Free!

How to propose a solution

Proving that there is a problem gets your boss or client to the table. The next step is proposing a solution and proposing it well.

The most effective way I’ve found to pitch a design change is to actually mock up your solution. If you have access to design tools, definitely use those. I don’t, though, so I either modify the HTML with Chrome’s Inspect Element feature or use a combination of the Windows Snipping Tool and Paint.

Snipping Tool & MS Paint

I know, no one gets design cred from using MS Paint. But I’m a child of the ’90s, and Paint was my first introduction to design software, so it’s easy for me to use. The point here isn’t to use Paint necessarily, but to use whichever program you have access to and is easy to use. Don’t stop yourself from creating designs just because you don’t own a copy of Dreamweaver or Photoshop.

When I want to mock up a dramatically different version of a page, I use the Snipping Tool to take a picture of the webpage as it currently is, then modify the parts that I want to. The selector makes it easy to move elements around. If Paint doesn’t have an option I need, I just use other Office products:

  • For text overlays and adding a variety of shapes, I’ll often use Word, since it has a lot of text box options
  • For color changes and setting a transparent color, I use PowerPoint, because as far as I know it’s the only Office product that has that option
  • For text changes, I’ll modify the HTML in Chrome (see section below), then copy that over to my Paint design

Is this hack-y? Yes. Is it impressive? No. But it gets the job done. All you need at the end is a design good enough to communicate your idea. Once you get sign-off, actual designers will make sure that the details turn out right.

Rewriting the HTML

As I mentioned above, this works best if what you’re doing is modifying the existing text or images. You can either download the HTML of a page, modify it, and share that, or you can use Chrome’s Inspect Element to quickly modify text and take a picture of the result. It took me 15 seconds to change the text on Moz’ homepage:

rewriting html in chrome

Just right click wherever you want to edit on your page while in Chrome and click “Inspect Element.” If you want to make color changes or image changes, it’ll be a little more complicated, but still doable. 

You can do this in Firefox as well with Firefox’s add-on,
Firebug.

Once you’ve got a mock up, save it and send it on to your boss/client with your description of the changes you’ve made, the stats from your tests, and why your solution is solving those problems. (Just don’t mention how you made that mock up.)

How to test your solution

Even if your proposed solution is a big hit and everyone wants to implement it right away, it’s better to test to make sure that it’s actually going to work before making a permanent change to your site. I’ve had a lot of clients tell me that it’s too hard to test changes, but it’s actually fairly easy with the right tools.

If you or a dev can build you variation pages:

Google Experiments

google experiments

Image from Marketing Engine Land, which includes more details on Google Experiments.

If you’ve got a developer who can build out your suggested change, 
Google Experiments is a free, reliable, and easy to use tool to track results. It’s integrated into Google Analytics, so it uses the conversion metrics you already have set up (this may mean you’ll have to set up a new goal to cover your test’s desired outcome). 

Pros: Free and completely integrated with Google Analytics

Cons: You have to create your own variation pages.

Price: Free!

If dev resources are limited:

Optimizely

optimizely

Optimizely does need a bit of dev work to install a JavaScript code onto your site, but once it’s there, you can edit the HTML for tests with their web interface, without talking to a developer. You can edit with their editor or use actual HTML, meaning the tool doesn’t require HTML skills, but still allows those able to write HTML the extra precision they can get from making changes to the code directly. 

As a consultant, I
love working with clients who have Optimizely installed, because I can take a test from start to finish. I prove the problem, propose a solution, set up the test, and present results, all without my point of contact having to take time out of his or her busy schedule to make any changes. And, once you have numeric results, it’s easy to prove the value of your suggested change and get it into the dev queue. 

Pros: Easy to use, and gives you a lot of flexibility 

Cons: You have to start with the core page and then modify elements with JavaScript, so you can’t make dramatic changes 

Price: Based on your monthly traffic, prices start at $ 19/month

Make a solid argument for change

Assuming that each step supported your initial ideas, you now have more than enough data to strongly support making the change you suggested. When you make your recommendation, take the time to tell the story of what you went through—getting user feedback, coming up with a solution, and proving the solution works. Clients and bosses feel a lot more comfortable with your conclusions if they see how thoroughly you researched the issue.

Has anyone else gone through a similar process? Any tools you prefer, or tips you’d like to add? Share in the comments below!

Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!


Moz Blog

Posted in IM NewsComments Off

Citation Labs Review – Here’s Why I Use it

So what are we calling it today? Link building, link prospecting, content marketing, linkbait, socialbait, PR ? Whatever it is and whatever sub-definitions exist for the process of finding quality, related websites to link back to yours is difficult and time-consuming work.

As with most processes associated with SEO campaigns, or website marketing campaigns in general, enterprising folks have built tools to make our lives a little easier and our time more fruitful and productive. A couple of those enterprising fellows are Garrett French and Darren Shaw (from Whitespark.Ca) over at Citation Labs.

Garrett has a suite of link building tools available, many of them complement his flagship tool; The Link Prospector.

Link Prospector Review TOC

To help you navigate to specific sections of the review we’ve included in-content links below.

Getting Started

Back to Topics

So let’s assume I’ve been contracted to embark on a link building campaign for SeoBook :) It’s very easy to create a campaign and get up and running:

Create your campaign:

clabs-1

Move right into the prospects section:

clabs-2

Start prospecting :)

clabs-3

Selecting a Report

Back to Topics

The nice thing about this tool is that it’s designed for a specific purpose; link prospecting. It’s not bloated with a bunch of other stuff you may not need and it’s easy to use, yet powerful, because it focus on doing one thing and doing it very well.

The UI of this tool is right on the money, in my opinion. Garrett has built in his own queries to find specific types of links for you (preset Reports). Here you can see the reports available to you, which are built to help you find common link types:

clabs-4

Customizing Your Prospecting

Back to Topics

As you can see, there are a variety of built in queries available which run the gamut of most of the link outreach goals you might have (interviews, resource pages, guest posts, directories, and so on). Once you settle on the report type it’s time to select additional parameters like:

  • Region
  • Web or Blog, or Web AND Blog results
  • Search Depth (You can go up to 1,000 deep here, but if you make use of your exclusion lists you shouldn’t have to dive that deep)
  • TLD Options
  • Date Range (Google’s “past our, day, week, month, year, or anytime” options)

Try to make your queries as relevant but broad as possible to get the best results. Searches that are too specific will either net to few results or many of your direct competitors. Here, you can see my report parameters for interviews I may want to do in specific areas of SEO (Garrett includes a helpful video on that page, which I highly recommend watching):

clabs-5

Using Exclusions

The use of exclusions is an often overlooked feature of this toolset. Brands are all over the SERPs these days so when you have the Link Prospector go out to crawl potential link sources based on keywords/queries, you’ll want to make sure you exclude sites you are fairly certain you won’t get a link from.

You may want to exclude such sites as Ebay, Amazon, NewEgg, and so on if you are running a site about computer parts. You can put your exclusions into 2 categories:

  • Global Exclusions
  • Campaign Exclusions

Global exclusions apply to each campaign automatically. You might want to go out and download top 100 site lists (or top 1,000) lists to stick in the Global Exclusions area or simply apply specific sites you know are irrelevant to your prospecting on the whole. To access Exclusion lists, just click on the exclusion option. From there, it’s just a matter of entering your domains:

clabs-6

Campaign exclusions only apply to a specific campaign. This is good news if you provide link building services and work with a variety of clients; you are not constrained to one draconian exclusion list. In speaking with Garrett, he does mention that this is an often overlooked feature of the toolset but one of the most effective features (both Global and Campaign exclusions).

Working With the Data

Back to Topics

So I ran my report which was designed to find interviewees within certain broader areas of the SEO landscape. The tool will confirm submission of your request and email you when it’s complete, at any time you can go in and check the status of your reports by going to Prospects -> View Prospects. Here’s what the queue looks like:

clabs-7

The results are presented in a web interface but can be easily exported to excel. From the web interface, you can see:

  • Total Domains
  • Total Paths (pages on the domain where relevancy exists, maybe we would find a relevant video channel on YouTube where it makes sense to reach out)
  • TLD
  • LTS – Link Target Score
  • PR of Domain
  • Export Options

LTS is a proprietary score provided by Citation Labs (essentially a measure of domain frequency and position within the SERPs pulled back for a given report).

If we expand the domain to see the paths, using Search Engine Land as an example, we can see pages where targets outside of the main domain might exist for our interviewing needs:

clabs-9

This is where Citation Labs really shines. Rather than just spitting back a bunch of domains for you to pursue at a broad level, it breaks down authoritative domains into specific prospecting opportunities which are super-relevant to your query/keyword relationship.

If you are on Windows (or run Windows via a virutal machine) you can use SEO Tools for Excel to take all these URLs, or the ones you want to target, and pull in social metrics, backlink data, and many other data points to further refine your list.

You can also import this data right into Buzzstream (export from Citation Labs to a CSV or Excel, then import into Buzzstream) and Buzzstream will go off and look up relevant social and contact details for outreach purposes.

We recently did a Buzzstream Review that you might find helpful.

You can also utilize Garrett’s Contact Finder for contact research.

Creating Your Own Queries

Back to Topics

Another nice thing about Citation Labs’s Link Prospector is that you can enter your own query parameters. You are not locked in to any specific type of data output (even though the built in ones are solid). You can do this by selecting “Custom” in the report selection field

In the Custom Report area you can create your own search operators along with the following options:

  • Region
  • Web or Blog, or Web AND Blog results
  • Search Depth (You can go up to 1,000 deep here, but if you make use of your exclusion lists you shouldn’t have to dive that deep)
  • TLD Options
  • Date Range (Google’s “past our, day, week, month, year, or anytime” options)

One of the tools we mention quite a bit inside the forums is the Solo SEO Link Search Tool. You can grab a lot of search operators from that tool for your own use inside the Citation Labs tool.

Garrett’s Pro Tips

Back to Topics

Can you give us some tips on using the right phrases?

One objection I hear from folks who test the link prospector is “my results are full of competitors.” This is typically because the research phrases they’ve selected don’t line up with the type of prospects they’re seeking. And more often than not it’s because they’ve added their target SEO keywords rather than “category keywords” that define their area of practice.

The solution is simple though – you just need to experiment with some “bigger head” phrases. Instead of using “Atlanta Divorce Lawyer” for guest post prospecting, try just “Divorce Lawyer,” or even “Divorce.”

And I’d definitely recommend experimenting with the tilde “~Divorce” as it will help with synonyms that you may not have thought of. So if you’re looking for guest posting opportunities for a divorce lawyer your five research phrases could look like this:

divorce
~divorce
~divorce -divorce
Divorce ~Lawyer
“family law”

The link prospector tool will take these five phrases and combine them with 20+ guest posting footprints so we end up doing 100+ queries for you. And there WILL be domain repetitions due to the close semantic clustering of these phrases. This overlap can help “float up” the best opportunities based on our LTS score (which is essentially a measurement of relevance).

All this said there are PLENTY of situations where using your SEO keywords can be productive… For example in guest posting it’s common for people to use competitive keywords as anchor text. You could (and yes I’m completely contradicting my example) use “Atlanta Divorce Lawyer” as a guest posting research phrase along with your other target SEO KWs. The prospects that come back will probably have been placed by competitors.

How do you fine-tune your research phrases?

I often test my research phrases before throwing them in the tool. Let’s go back to the divorce guest posting example above. To test I simply head to Google and search [divorce "guest post"]. If I see 4 or more results in the top 10 that look like “maybes” I consider that a good keyword to run with. The test footprint you should use will vary from report-type to report-type.

A good links page test is to take a potential research phrase and add intitle:links. For content promoters you could combine a potential research phrase with intitle:”round up”.

I find that this testing does two things. For one it helps me drop research phrases that are only going to clog my reports with junk.

Secondarily I often discover new phrases that are likely to be productive. Look back at the list of divorce research phrases above – the last one, “family law,” is there because I spotted it while testing [~divorce "guest post"]. Spending time in Google is always, always productive and I highly advise it.

What tips can you give us regarding proper Search Depth usage?

Depth is a measure of how many results the link prospector brings back from Google. How often do you find useful results on the third page of Google? How about the tenth page? There’s a gem now and again, but I find that if I’ve carefully selected 5 awesome research phrases I save time by just analyzing the results in the top 20.

Your mileage may vary, and the tool DOES enable users to scrape all the way down to 1000 for those rare cases where you have discovered a mega-productive footprint. Test it once for sure, don’t just take my word for it – my guess is you’ll end up with tons of junk that actually kills the efficiency that the tool creates.

Any more expert tips on how to best use phrases and search operators?

You can addadvanced search operators in all your research phrases. Combine them with your research phrases and try them out in Google first (see tip 2) and then use them as you see fit. I use the heck out of the tilde now, as it saves me time and aids in research phrase discovery when I vet my phrases in Google. The tilde even works in conjunction with the wildcard operator (*).

So if you’re looking for law links pages you could test [~law* intitle:links] and then add ~law* as one of your research phrases if it seems productive. It’s not super productive by the way, because the word “code” is a law synonym… but I wouldn’t have known if I didn’t test, and if I didn’t test I’d end up with link prospetor results that don’t have anything to do with the targets I’m seeking.

Any tips on how to best leverage Exclusions (beyond putting in sites like google.com into your Global Exclusions :D )

If you have junk, not-ops that keeps turning up in your reports, add the domain as domain.com and www.domain.com to the exclusions file. Poof. It’s gone from future reports you run.

You can even add the domains you’ve already viewed so they won’t show up anymore. Be careful though – make sure you’re adding them to your campaign-level excludes rather than Global.

How often do you update the tool and what is coming down the pike?

If you sign up and you find yourself asking “I wonder what would happen if I…” please write me an email. If I don’t have an answer for you I will send you credits for you to do some testing. I will end up learning from you. I have users continually pushing the limits with the tool and finding new ways to use it.

We’ve added PR for domains, titles and snippets for each URL, blog-only search, and fixed numerous bugs and inefficiencies based on requests from our users. We’re also bringing in DA, MozRank and an API because of user requests.

Thanks Garrett!!

Free Trial and Pricing

Citation Labs is currently offering a free trial. They have monthly and per credit (love that!) pricing as well. You can find their pricing structure here.

Categories: 

SEO Book.com

Posted in IM NewsComments Off

Here’s what our customers say about Link Builder

Author (displayed on the page): 

Watch the video

Ben Hunt, Web Design From Scratch

My favorite feature is that it finds what’s useful … it finds the sites that link to your competitors but not to you.

…………………………………………………………………………………………………..

Brian Mathers, Online Excellence

“The Link Builder tool gives me direction. It helps me to identify where the actual links are that I should be focusing on.”

…………………………………………………………………………………………………..

Michael Delpierre, online marketing agency ConversionPipeline

“As a business owner/marketer … it’s a huge cost saver. Before we used to have to manually search for websites that were (a) relevant and (b) have a good Google PageRank. The tool does that automatically for us – it’s a treasure trove of information.”

…………………………………………………………………………………………………..

Erin Pheil, Colorado online marketing company TimeForCake

“We’ve used a lot of link building tools over the years, but in the first half hour of using Link Builder we knew that is was going to be a tool that we’d be using for our SEO services from that point onwards.”

“It’s clean, it’s intuitive, simple and easy to use – that makes working with it very enjoyable.”

…………………………………………………………………………………………………..

You can try Link Builder yourself free for 7 days

Wordtracker Blog

Posted in IM NewsComments Off


Advert