Using the Flowchart Method for Diagnosing Ranking Drops — Best of Whiteboard Friday

Being able to pinpoint the reason for a ranking drop is one of our most perennial and potentially frustrating tasks as SEOs, especially in 2020. There are an unknowable number of factors that go into ranking these days, but luckily the methodology for diagnosing those fluctuations is readily at hand. In this popular Whiteboard Friday, the wonderful Kameron Jenkins shows us a structured way to diagnose ranking drops using a flowchart method and critical thinking.

Flowchart method for diagnosing ranking drops

Click on the whiteboard image above to open a high-resolution version in a new tab!

Video Transcription

Hey, everyone. Welcome to this week’s edition of Whiteboard Friday. My name is Kameron Jenkins. I am the new SEO Wordsmith here at Moz, and I’m so excited to be here. Before this, I worked at an agency for about six and a half years. I worked in the SEO department, and really a common thing we encountered was a client’s rankings dropped. What do we do?

This flowchart was kind of built out of that mentality of we need a logical workflow to be able to diagnose exactly what happened so we can make really pointed recommendations for how to fix it, how to get our client’s rankings back. So let’s dive right in. It’s going to be a flowchart, so it’s a little nonlinear, but hopefully this makes sense and helps you work smarter rather than harder.

Was it a major ranking drop?: No

The first question I’d want to ask is: Was their rankings drop major? By major, I would say that’s something like page 1 to page 5 overnight. Minor would be something like it just fell a couple positions, like position 3 to position 5.

We’re going to take this path first. It was minor.

Has there been a pattern of decline lasting about a month or greater?

That’s not a magic number. A month is something that you can use as a benchmark. But if there’s been a steady decline and it’s been one week it’s position 3 and then it’s position 5 and then position 7, and it just keeps dropping over time, I would consider that a pattern of decline.

So if no, I would actually say wait.

  • Volatility is normal, especially if you’re at the bottom of page 1, maybe page 2 plus. There’s going to be a lot more shifting of the search results in those positions. So volatility is normal.
  • Keep your eyes on it, though. It’s really good to just take note of it like, “Hey, we dropped. Okay, I’m going to check that again next week and see if it continues to drop, then maybe we’ll take action.”
  • Wait it out. At this point, I would just caution against making big website updates if it hasn’t really been warranted yet. So volatility is normal. Expect that. Keep your finger on the pulse, but just wait it out at this point.

If there has been a pattern of decline though, I’m going to have you jump to the algorithm update section. We’re going to get there in a second. But for now, we’re going to go take the major rankings drop path.

Was it a major ranking drop?: Yes

The first question on this path that I’d want to ask is:

Was there a rank tracking issue?

Now, some of these are going seem pretty basic, like how would that ever happen, but believe me it happens every once in a while. So just before we make major updates to the website, I’d want to check the rank tracking.

I. The wrong domain or URL.

That can be something that happens a lot. A site maybe you change domains or maybe you move a page and that old page of that old domain is still listed in your ranking tracker. If that’s the case, then the rank tracking tool doesn’t know which URL to judge the rankings off of. So it’s going to look like maybe you dropped to position 10 overnight from position 1, and that’s like, whoa, that’s a huge update. But it’s actually just that you have the wrong URL in there. So just check that. If there’s been a page update, a domain update, check to make sure that you’ve updated your rank tracker.

II. Glitches.

So it’s software, it can break. There are things that could cause it to be off for whatever reason. I don’t know how common that is. It probably is totally dependent on which kind of software you use. But glitches do happen, so I would manually check your rankings.

III. Manually check rankings.

One way I would do that is…

  • Go to incognito in Google and make sure you’re logged out so it’s not personalized. I would search the term that you’re wanting to rank for and see where you’re actually ranking.
  • Google’s Ad Preview tool. That one is really good too if you want to search where you’re ranking locally so you can set your geolocation. You could do mobile versus desktop rankings. So it could be really good for things like that.
  • Crosscheck with another tool, like Moz’s tool for rank tracking. You can pop in your URLs, see where you’re ranking, and cross-check that with your own tool.

So back to this. Rank tracking issues. Yes, you found your problem. If it was just a rank tracking tool issue, that’s actually great, because it means you don’t have to make a lot of changes. Your rankings actually haven’t dropped. But if that’s not the issue, if there is no rank tracking issue that you can pinpoint, then I would move on to Google Search Console.

Problems in Google Search Console?

So Google Search Console is really helpful for checking site health matters. One of the main things I would want to check in there, if you experience a major drop especially, is…

I. Manual actions.

If you navigate to Manual Actions, you could see notes in there like unnatural links pointing to your site. Or maybe you have thin or low-quality content on your site. If those things are present in your Manual Actions, then you have a reference point. You have something to go off of. There’s a lot of work involved in lifting a manual penalty that we can’t get into here unfortunately. Some things that you can do to focus on manual penalty lifting…

  • Moz’s Link Explorer. You can check your inbound links and see their spam score. You could look at things like anchor text to see if maybe the links pointing to your site are keyword stuffed. So you can use tools like that.
  • There are a lot of good articles too, in the industry, just on getting penalties lifted. Marie Haynes especially has some really good ones. So I would check that out.

But you have found your problem if there’s a manual action in there. So focus on getting that penalty lifted.

II. Indexation issues.

Before you move out of Search Console, though, I would check indexation issues as well. Maybe you don’t have a manual penalty. But go to your index coverage report and you can see if anything you submitted in your sitemap is maybe experiencing issues. Maybe it’s blocked by robots.txt, or maybe you accidentally no indexed it. You could probably see that in the index coverage report. Search Console, okay. So yes, you found your problem. No, you’re going to move on to algorithm updates.

Algorithm updates

Algorithm updates happen all the time. Google says that maybe one to two happen per day. Not all of those are going to be major. The major ones, though, are listed. They’re documented in multiple different places. Moz has a really good list of algorithm updates over time. You can for sure reference that. There are going to be a lot of good ones. You can navigate to the exact year and month that your site experienced a rankings drop and see if it maybe correlates with any algorithm update.

For example, say your site lost rankings in about January 2017. That’s about the time that Google released its Intrusive Interstitials Update, and so I would look on my site, if that was the issue, and say, “Do I have intrusive interstitials? Is this something that’s affecting my website?”

If you can match up an algorithm update with the time that your rankings started to drop, you have direction. You found an issue. If you can’t match it up to any algorithm updates, it’s finally time to move on to site updates.

Site updates

What changes happened to your website recently? There are a lot of different things that could have happened to your website. Just keep in mind too that maybe you’re not the only one who has access to your website. You’re the SEO, but maybe tech support has access. Maybe even your paid ad manager has access. There are a lot of different people who could be making changes to the website. So just keep that in mind when you’re looking into it. It’s not just the changes that you made, but changes that anyone made could affect the website’s ranking. Just look into all possible factors.

Other factors that can impact rankings

A lot of different things, like I said, can influence your site’s rankings. A lot of things can inadvertently happen that you can pinpoint and say, “Oh, that’s definitely the cause.”

Some examples of things that I’ve personally experienced on my clients’ websites…

I. Renaming pages and letting them 404 without updating with a 301 redirect.

There was one situation where a client had a blog. They had hundreds of really good blog posts. They were all ranking for nice, long tail terms. A client emailed into tech support to change the name of the blog. Unfortunately, all of the posts lived under the blog, and when he did that, he didn’t update it with a 301 redirect, so all of those pages, that were ranking really nicely, they started to fall out of the index. The rankings went with it. There’s your problem. It was unfortunate, but at least we were able to diagnose what happened.

II. Content cutting.

Maybe you’re working with a UX team, a design team, someone who is looking at the website from a visual, a user experience perspective. A lot of times in these situations they might take a page that’s full of really good, valuable content and they might say, “Oh, this is too clunky. It’s too bulky. It has too many words. So we’re going to replace it with an image, or we’re going to take some of the content out.”

When this happens, if the content was the thing that was making your page rank and you cut that, that’s probably something that’s going to affect your rankings negatively. By the way, if that’s happening to you, Rand has a really good Whiteboard Friday on kind of how to marry user experience and SEO. You should definitely check that out if that’s an issue for you.

III. Valuable backlinks lost.

Another situation I was diagnosing a client and one of their backlinks dropped. It just so happened to be like the only thing that changed over this course of time. It was a really valuable backlink, and we found out that they just dropped it for whatever reason, and the client’s rankings started to decline after that time. Things like Moz’s tools, Link Explorer, you can go in there and see gained and lost backlinks over time. So I would check that out if maybe that might be an issue for you.

IV. Accidental no index.

Depending on what type of CMS you work with, it might be really, really easy to accidentally check No Index on this page. If you no index a really important page, Google takes it out of its index. That could happen. Your rankings could drop.So those are just some examples of things that can happen. Like I said, hundreds and hundreds of things could have been changed on your site, but it’s just really important to try to pinpoint exactly what those changes were and if they coincided with when your rankings started to drop.

SERP landscape

So we got all the way to the bottom. If you’re at the point where you’ve looked at all of the site updates and you still haven’t found anything that would have caused a rankings drop, I would say finally look at the SERP landscape.

What I mean by that is just Google your keyword that you want to rank for or your group of keywords that you want to rank for and see which websites are ranking on page 1. I would get a lay of the land and just see:

  • What are these pages doing?
  • How many backlinks do they have?
  • How much content do they have?
  • Do they load fast?
  • What’s the experience?

Then make content better than that. To rank, so many people just think avoid being spammy and avoid having things broken on your site. But that’s not SEO. That’s really just helping you be able to compete. You have to have content that’s the best answer to searchers’ questions, and that’s going to get you ranking.

I hope that was helpful. This is a really good way to just kind of work through a ranking drop diagnosis. If you have methods, by the way, that work for you, I’d love to hear from you and see what worked for you in the past. Let me know, drop it in the comments below.

Thanks, everyone. Come back next week for another edition of Whiteboard Friday.

Video transcription by Speechpad.com

New Features and Sneaky Techniques to Boost B2B Marketing Engagement on LinkedIn

B2B Marketing Engagement LinkedIn

For B2B brands, this is an opportune time to be focusing on LinkedIn for marketing. But doing so in the right way is paramount, because it is very easy to get it wrong. (And so many marketers do.)

The social media platform’s strengths as a B2B marketing channel are undeniable:

  • More than 700 million professionals from around the globe, all with rich profile data including locations, job titles, seniority and more. Not only do members share these details openly, but they are motivated to keep them updated and accurate, for purposes of career development and professional identity.
  • Ability to easily surface mutual connections and opportunities for personal introductions, via 1st-degree, 2nd-degree, and 3rd-degree connections.
  • A variety of messaging, publishing, and advertising tools to reach highly targeted professional audiences in an inviting context and trusted environment.

We’ve talked a lot on this blog recently about the vital importance of driving deeper engagement with your audience at this moment in time, through things like B2B content marketing, influential thought leadership, and empathetic messaging. Engagement should always be a priority, of course, but right now — especially for those companies that might be seeing a reduction in revenue due to the pandemic’s impact — building relationships with long-term upside is an essential marketing prerogative.

LinkedIn can be an ideal place to identify, connect with, and establish rapport with individuals who are or will be valuable to your business. At TopRank Marketing, we’ve had the privilege of calling LinkedIn Marketing Solutions a client for many years now, so naturally we keep a close eye on their new product offerings and their evolving best practices.

LinkedIn can be an ideal place to identify, connect with and establish rapport with individuals who are valuable to your business in the short-term or long-term. @NickNelsonMN #B2Bmarketing Click To Tweet

As such, we thought we’d highlight some new tools you might find useful, along with some tactics and techniques you might not have considered to increase engagement and bolster your brand’s presence on the platform.

What’s New on LinkedIn for B2B Marketers?

These aren’t all brand new, but they are relatively new and offer a lot of promise in the current marketing landscape.

LinkedIn Live and LinkedIn Events

At a time where in-person meetings are being cancelled and postponed, live-streaming and virtual events are quickly emerging as key opportunities to stay connected with audiences in a personal and interactive way. LinkedIn Live offers a way to stream live video through the platform, and you can use it in combination with LinkedIn Events to bring your community together.

Our friend and client from LinkedIn (and past Break Free B2B guest!) Judy Tian recently shined a light on five examples of brands and individuals driving strong engagement with LinkedIn Live.

Conversation Ads

It’s long been possible to reach prospects through InMail and Message Ads on LinkedIn, but Conversation Ads help turn these engagements into automated two-way interactions with more value for the user and more actionable insight for the advertiser. In short, you can create multiple pathways for each experience based on which response a member chooses, to better understand their needs and intent, and to guide them toward the right offer or content.

Carousel Ads

This feature has been available to advertisers for a while, first launching in 2018, but it’s a good option to consider if you haven’t yet. Carousel Ads enable brands to create a swipeable series of cards (images, text, CTA), providing an opportunity for visual storytelling that brings users through a cohesive journey. The team at TopRank Marketing saw this format’s potential first-hand when we helped our clients at Prophix develop and execute a Finance Career Accelerator campaign, which exceeded organic carousel click-through benchmarks by 63x and was recognized by LinkedIn as one of their favorite B2B campaigns of 2019.

New LinkedIn Pages Features

The LinkedIn Page is one of the most underrated marketing assets in a brand’s arsenal. It is your company’s hub on the platform, ranks highly in search results, and can be built out to give visitors a deep and compelling view of what your organization is about. It’s also mostly a free tool. I highly recommend checking out the LinkedIn Pages Best Practices to ensure yours is complete and optimized. Then, take advantage of new capabilities such as “Invite to Follow” and “Post as a Page” to increase your following and visibility.

Tips for Increasing B2B Engagement on LinkedIn

Now that we’ve covered some of the newer features and capabilities available to marketers on LinkedIn, let’s dig into some methods for maximizing your engagement, growing your audience, and driving business results on the platform.

Lower your gaze from the C-suite. 

One of the most appealing aspects of LinkedIn as a marketing platform is that you can easily identify executives and top decision makers, which is of course highly valuable for B2B marketers. Follow these individuals to get a bead on what’s important to them, and engage them when it makes sense.

With that said, C-level execs and high-ranking figures in an organization are inherently very busy, and likely already facing an over saturation of marketing/sales outreach. So I recommend zeroing in with awareness campaigns on those younger up-and-comers in the business. Not only do these individual contributors often have influence on purchase decisions as members of buying committees, but they tend to move up into more pivotal roles over time, meaning the relationships and familiarity you establish now will grow all the more valuable later on.

Emphasize empathy in your messaging.

As a professionally-oriented social network, LinkedIn has more than its share of stuffy business content. Differentiate yourself by striking a human tone and talking to people, not companies. Search for the intersection of your target audience’s personal and professional interests and pursuits. Encourage your company leaders to be active on LinkedIn, sharing authentic stories and advice.

Lean into organic features and tools.

There’s no way around it: LinkedIn is a relatively expensive place to advertise. Many brands find the higher price point to be worthwhile, given the demonstrable quality of the audiences they’re reaching, but organizations facing budget constraints may find themselves limited nonetheless.

That’s okay, because there are a lot of productive ways to promote your brand organically on LinkedIn. The simplest and most effective step you can take is following the aforementioned best practices to optimize your LinkedIn Page. From there…

  • Regularly share content from it that is relevant to the people you wish to engage.
  • Use hashtags to join conversations pertaining to your business and its purpose.
  • Invite feedback and respond to comments on your posts.
  • Include videos and images to stand out on the feed.
  • Join and start topically focused LinkedIn Groups to foster community.

None of these activities cost money, but they can deliver a significant payoff.

Facing budget constraints? That’s OK, because there are a lot of ways to promote your brand organically on LinkedIn. @NickNelsonMN #B2Bmarketing #LinkedIn Click To Tweet

Use LinkedIn data strategically.

Marketers can gain a lot of insight from LinkedIn that they can’t find elsewhere. When you consult your LinkedIn Page Analytics you can obtain an aggregated view of who’s visiting and interacting with your content — industries, locations, job titles, etc. You can also use the Website Demographics tool to gain these same insights around your website visitors. Leverage these learnings to direct and refine your broader content strategy.

For data-driven marketers, LinkedIn holds a world of possibilities to better understand and connect with your audience.

Rethink Your LinkedIn Strategy and Reap the Rewards

If your company’s approach to LinkedIn has been an autopilot — or worse yet, still taxiing on the runway — the time is right to buckle down and take advantage of the many opportunities afforded to B2B marketers by the world’s largest professional social network.

Looking to further explore the platform’s capabilities? Last year we dug into five under-the-radar LinkedIn features that can give you a leg up.

How to Make a Scalable SMS Chatbot Using Twilio, Python, and Google Sheets (with Free Code)

Many of us are helping businesses that are facing hard times, or we’re facing hard times ourselves. If you’re working for a company (or client) that’s in trouble, the use of SMS chatbots could be a way for you to look outside your normal list of solutions and help them succeed in a completely different way. If you’re a marketer looking for work, adding this to your list of skills could mean you keep things ticking along while many of the usual doors are closed — or that you open new doors.

What you’ll get

In this post, I give you instructions and code to produce not just one, but a series of text-based chatbots that can be managed by Google Sheets.

The example here is set up to work with restaurants, but could be adapted to work with any business that needs to receive orders, check them against inventory/menus, and note them down to be fulfilled.

Once the system is set up, there will be no coding necessary to create a new SMS-based chatbot for a new business. Plus, that business will be able to manage key details (like incoming orders and a menu) by simply updating a Google Sheet, making all of this far more accessible than most other options.

But first, some context.

Some context

In September 2017, as one of my first big passion projects at Distilled, I wrote a Moz blog post telling people how to make a chatbot and giving away some example code.

This April, I got an email from a man named Alexandre Silvestre. Alex had launched “a non-profit effort to help the local small business owners navigate these challenging times, save as many jobs as possible, and continue to serve our community while helping to flatten the curve.”

This effort began by focusing on restaurants. Alex had found my 2017 post (holy moly, content marketing works!) and asked if I could help his team build a chatbot. We agreed on some basic requirements for the bot:

  • It had to work entirely within text message (and if the order was super complicated it had to be able to set up a call directly with the restaurant).
  • Running it had to be as close to free as possible.
  • Restaurants had to be able to check on orders, update menus, etc., without setting up special accounts.

The solution we agreed on had three parts:

  • Twilio (paid): supplies the phone number and handles most of the conversational back-and-forth.
  • Google Cloud Functions (semi-free): when a URL is called it runs code (including updating our database for the restaurant) and returns a response.
  • Google Sheets (free): our database platform. We have a sheet which lists all of the businesses using our chatbot, and linking off to the individual Google Sheets for each business.

I’ll take you through each of these components in turn and tell you how to work with them.

If you’re coming back to this post, or just need help with one area, feel free to jump to the specific part you’re interested in:

<=”” a=””>Pricing
Twilio
Google Sheets
Google Cloud Functions
Test the bot
Break things and have fun
Postscript — weird hacks

Pricing

This should all run pretty cheaply — I’m talking like four cents an order.

Even so, always make sure that any pricing alerts are coming through to an email address you actively monitor.

When you’re just starting on this, or when you’ve made a change (like adding new functionality or new businesses), make sure you check back in on your credits over the next few weeks so you know what’s going on.

Twilio

Local Twilio phone numbers cost about $1.00 per month. It’ll cost about $0.0075 to send and receive texts, and Twilio Studio — which we use to do a lot of the “conversation” — costs $0.01 every time it’s activated (the first 1,000 every month are free).

So, assuming you have 2,500 text orders a month and each order takes about five text messages, it’s coming to about $100 a month in total.

Google Sheets

Google Sheets is free, and great. Long live Google Sheets.

Google Cloud Functions

Google shares full pricing details here, but the important things to know about are:

1. Promotional credits

You get a free trial which lasts up to a year, and it includes $300 of promotional credits, so it’ll spend that before it spends your money. We’d spent $0.00 (including promotional credits) at the end of a month of testing. That’s because there’s also a monthly free allowance.

2. Free allowance and pricing structure

Even aside from the free credits, Google gives a free allowance every month. If we assume that each order requires about 5 activations of our code and our code takes up to five seconds to run each time (which is a while but sometimes Google Sheets is sluggish), we could be getting up to over 400,000 orders per month before we dip into the promotional credits.

Twilio

Twilio is a paid platform that lets you buy a phone number and have that number automatically send certain responses based on input.

If you don’t want to read more about Twilio and just want the free Twilio chatbot flow, here it is.

Step 1: Buy a Twilio phone number

Once you’ve bought a phone number, you can receive texts to that number and they’ll be processed in your Twilio account. You can also send texts from that number.

Step 2: Find your phone number

You can see your list of purchased phone numbers by clicking the Twilio menu in the top left hand corner and then clicking “Phone Numbers”. Or, you can just go to phone-numbers/incoming.

Once you see your phone number listed, make a note of it.

Step 3: Create your Studio Flow

Studio is Twilio’s drag-and-drop editor that lets you create the structure of your conversation. A studio “flow” is just the name of a specific conversation you’ve constructed.

You can get to Twilio Studio by clicking on the Twilio menu again and clicking on “Studio” under “Runtime”.

Create a new flow by clicking “Create a flow”.

When you create a new flow, you’ll be given the option to start from scratch or use one of the built-in options to build your flow for you (although they won’t be as in-depth as the template I’m sharing here).

If you want to use a version of the flow which Alex and I built, select “Import from JSON” and click “Next”. Then, download this file and copy the contents into the box that comes up.

Make sure that it starts with a single { brace, and ends with a single } brace. The box that comes up will automatically have {} in it and if you don’t delete them before you paste, you’ll double-up and it won’t accept your input.

If all goes well, you’ll be presented with a flow that looks like this:

You might be asking: What in the name of all that is holy is that tangle of colored spaghetti?

That’s the Twilio Studio flow we created and, don’t worry, it basically splits up into a series of multiple-choice questions where the answer to each determines where you go next in the flow.

Everything on the canvas that you can see is a widget from the Twilio Studio widget library connected together with “if this, then that” type conditions.

The Studio Flow process

Before we go into specific blocks in the process, here’s an overview of what happens:

  1. A customer messages one of our Twilio numbers
  2. Based on the specific number messaged, we look up the restaurant associated with it. We then use the name and saved menu of the restaurant to message the customer.
  3. If the customer tries to order off-menu, we connect a call to the restaurant
  4. If the customer chooses something from our menu, we ask their name, then record their order in the sheet for that restaurant and tell them when to arrive to pick up their order
  5. As/when the user messages to tell us they are outside the restaurant, we ask whether they are on-foot/a description of their vehicle. We record the vehicle description in the same restaurant sheet.

Let’s look at some example building blocks shall we?

Initial Trigger

The initial trigger appears right at the start of every flow, and splits the incoming contact based on whether it’s a text message, a phone call, or if code is accessing it.

“Incoming Message” means the contact was via text message. We only need to worry about that one for now, so let’s focus on the left-hand line.

Record the fact that we’re starting a new interaction

Next, we use a “Set Variables” block, which you can grab from the widget library.

The “Set Variables” block lets us save record information that we want to refer to later. For example, we start by just setting the “stage” of our interaction. We say that the stage is “start” as in, we are at the start of the interaction. Later on we’ll check what the value of stage is, both in Studio and in our external code, so that we know what to do, when.

Get our menu

We assume that if someone messaged us, triggering the chatbot, they are looking to order so the next stage is to work out what the applicable menu is.

Now, we could just write the menu out directly into Studio and say that whenever someone sends us a message, we respond with the same list of options. But that has a couple problems.

First, it would mean that if we want to set this up for multiple restaurants, we’d have to create a new flow for each. 

The bigger issue is that restaurants often change their menus. If we want this to be something we can offer to lots of different restaurants, we don’t want to spend all our time manually updating Twilio every time a restaurant runs out of an ingredient.

So what we really need is for the restaurants to be able to list their own menus. This is where Google Sheets comes in, but we’ll get to that later. In Twilio, we just need to be able to ask for external information and forward that external information to the user. To do that we use a Webhook widget:

This widget makes a request to a URL, gets the response, and then lets us use the content of the response in our messages and flow.

If the request to the URL is successful, Twilio will automatically continue to our success step, otherwise we can set it to send an “Oops, something went wrong” response with the Fail option.

In this case, our Webhook will make a request to the Google Cloud functions URL (more on that later). The request we send will include some information about the user and what we need the code to do. The information will be in JSON format (the same format that we used to import the Twilio flow I shared above).

Our JSON will include the specific Twilio phone number that’s been messaged, and we’ll use that number to differentiate between restaurants, as well as the phone number that contacted us. It’ll also include the content of the text message we received and the “stage” we set earlier, so the code knows what the user is looking for.

Then the code will do some stuff (we’ll get to that later) and return information of its own. We can then tell Twilio to use parts of the response in messages.

Send a message in response

Next we can use the information we received to construct and send a message to the user. Twilio will remember the number you’re in a conversation with and it’ll send your messages to that number.

This is the “Send & Wait For Reply” widget, meaning that once this message is sent, Twilio will assume the conversation is still going rather than ending it there.

In this case, we’re writing our welcome message. We could write out just plain content, but we want to use some of the variables we got from our Webhook widget. We called that specific Webhook widget “get_options”, so we access the content we got from it by writing:

{{widgets.get_options

The response comes back in JSON, and fortunately Twilio automatically breaks that up for us. 

We can access individual parts of the response by writing “parsed” and then the label we gave that information in our response. As it is, the response from the code looked something like this:

{“name”: restaurant_name,

“dishes_string”: “You can choose from Margherita Pizza, Hawaiian Pizza, Vegetarian Pizza”

“additions”: “large, medium, small”}

We get the available menu by writing “{{widgets.get_options.parsed.dishes_string}}”, and then we write the message below which will be sent to people who contact the bot:

Make a decision based on a message

We can’t assume everyone is going to use the bot in exactly the same way so we need to be able to change what we do based on certain conditions. The “Split Based On…” widget is how we select certain conditions and set what to do if they are met.

In this case, we use the content of the response to our previous message which we access using {{options_follow_up.inbound.Body}}. “Options_follow_up” is the name of the Send & Wait widget we just spoke about, “inbound” means the response and, “Body” means the text within it.

Then we set a condition. If the user responds with anything along the lines of “other”, “no”, “help”, etc., they’ll get sent off on another track to have a phone call. If they respond with anything not on that list, they might be trying to order, so we take their order and check it with our code:

Set up a call

If the user says they want something off-menu, we’ll need to set up a call with the restaurant. We do that by first calling the user:

Then, when they pick up, connecting that call to the restaurant number which we’ve already looked up in our sheets:

Step 4: Select your studio flow for this phone number

Follow the instructions in step two to get back to the specific listing for the phone number you bought. Then scroll to the bottom and select the Studio Flow you created.

Google Sheets

This chatbot uses two Google Sheets.

Free lookup sheet

The lookup sheet holds a list of Twilio phone numbers, the restaurant they have been assigned to, and the URL of the Google Sheet which holds the details for that restaurant, so that we know where to look for each.

You’ll need to create a copy of the sheet to use it. I’ve included a row in the sheet I shared, explaining each of the columns. Feel free to delete that when you know what you’re doing.

Free example restaurant sheet

The restaurant-specific sheet is where we include all of our information about the restaurant in a series of tabs. You’ll need to create a copy of the sheet to use it. 

Orders

The orders tab is mainly used by our code. It will automatically write in the order time, customer name, customer phone number, and details of the order. By default it’ll write FALSE in the “PAID/READY?” column, which the restaurant will then need to update.

In the final stage, the script will add TRUE to the “CUSTOMER HERE?” column and give the car description in the “PICK UP INFO” column.

Wait time

This is a fairly simple tab, as it contains one cell where the restaurant writes in how long it’ll be before orders are ready. Our code will extract that and give it to Twilio to let customers know how long they’ll likely be waiting.

Available dishes and additions tabs

The restaurant lists the dishes that are available now along with simple adaptations to those dishes, then these menus are sent to customers when they contact the restaurant. When the code receives an order, it’ll also check that order against the list of dishes it sent to see if the customer is selecting one of the choices.

Script using sheet tab

You don’t need to touch this one at all — it’s just a precaution to avoid our code accidentally overwriting itself.

Imagine a situation where our code gets an order, finds the first empty row in the orders sheet, and writes that order down there. However, at the same time, someone else makes an order for the same restaurant, another instance of our code also looks for the first empty row, selects the same one, and they both write in it at the same time. We’d lose at least one order even though the code thinks everything is fine.

To try to avoid that, when our code starts to use the sheet, the first thing it does is change the “Script using sheet” value to TRUE and writes down when it starts using it. Then, when it’s done, it changes the value back to FALSE.

If our script goes to use the sheet and sees that “Script using sheet” is set to TRUE, it’ll wait until that value becomes FALSE and then write down the order.

How do I use the sheets?

Example restaurant sheet:

  1. Make a copy of the example restaurant sheet.
  2. Fill out all the details for your test restaurant.
  3. Copy the URL of the sheet.

Lookup sheet:

  1. Make a copy of the lookup sheet (you’ll only need to create one).
  2. Don’t delete anything in the “extracted id” column but replace everything else.
  3. Put your Twilio number in the first column.
  4. Paste the URL of your test restaurant in the Business Sheet URL column.
  5. Add your business’ phone number in the final column.

Sharing:

  1. Find the “Service Account” email address (which I’ll direct you to in the Cloud Functions section).
  2. Make sure that both sheets are shared with that email address having edit access.

Creating a new restaurant:

  1. Any time you need to create a new restaurant, just make a copy of the restaurant sheet.
  2. Make sure you tick “share with the same people” when you’re copying it.
  3. Clear out the current details.
  4. Paste the new Google Sheet URL in a new line of your lookup sheet.

When the code runs, it’ll open up the lookup sheet, use the Twilio phone number to find the specific sheet ID for that restaurant, go to that sheet, and return the menu.

Google Cloud Functions

Google Cloud Functions is a simple way to automatically run code online without having to set up servers or install a whole bunch of special programs somewhere to make sure your code is transferable.

If you don’t want to learn more about Google Cloud and just want code to run — here’s the free chatbot Python code.

What is the code doing?

Our code doesn’t try to handle any of the actual conversations, it just gets requests from Twilio — including details about the user and what stage they are at — and performs some simple functions.

Stage 1: “Start”

The code receives a message from Twilio including the Twilio number that was activated and the stage the user is at (start). Based on it being the “start” stage, the code activates the start function.

It looks up the specific restaurant sheet based on the Twilio number, then returns the menu for that restaurant.

It also sends Twilio things like the specific restaurant’s number and a condensed version of the menu and additions for us to check orders against.

Stage 2: “Chosen”

The code receives the stage the user is at (chosen) as well as their order message, the sheet ID for the restaurant, and the condensed menu (which it sent to Twilio before), so we don’t have to look those things up again.

Based on it being the “chosen” stage, the code activates the chosen function. It checks if the order matches our condensed menu. If they didn’t, it tells Twilio that the message doesn’t look like an order. 

If the order does match our menu, it writes the order down in the first blank line. It also creates an order ID, which is a combination of the time and a portion of the user’s phone number.

It sends Twilio a message back saying if the order matched our menu and, if it did match our menu, what the order number is.

Stage 3: “Arrived”

The code receives the stage the user is at (arrived) and activates the arrived function. It also receives the message describing the user’s vehicle, the restaurant-specific sheet ID, and the order number, all of which it previously told Twilio.

It looks up the restaurant sheet, and finds the order ID that matches the one it was sent, then updates that row to show the user has arrived and the description of their car.

Twilio handles all the context

It might seem weird to you that every time the code finds some information (for instance, the sheet ID to look up) it sends that information to Twilio and requests it afresh later on. That’s because our code doesn’t know what’s going on at all, except for what Twilio tells it. Every time we activate our code, it starts exactly the same way so it has no way of knowing which user is texting Twilio, what stage they’re at, or even what restaurant we’re talking about.

Twilio remembers these things for the course of the interaction, so we use it to handle all of that stuff. Our code is a very simple “do-er” — it doesn’t “know” anything for more than about five seconds at a time.

How do I set up the code?

I don’t have time to describe how to use Google Cloud Functions in-depth, or how to code in Python, but the code I’ve shared above includes a fair number of notes explaining what’s going on, and I’ll talk you through the steps specific to this process.

Step 1: Set up

Make sure you:

Step 2: Create a new function

Go here and click “create a new function”. If you haven’t created a project before, you might need to do that first, and you can give the project whatever name you like.

Step 3: Set out the details for your function

The screen shot below gives you a lot of the details you need. I’d recommend you choose 256MB for memory — it should be enough. If you find you run into problems (or if you want to be more cautious from the start), then increase it to 512MB.

Make sure you select HTTP as the trigger and note down the URL it gives you (if you forget, you can always find the URL by going to the “Trigger” tab of the function).

Also make sure you tick the option to allow Unauthenticated Access (that way Twilio will be able to start the function).

Select “Inline editor” and paste in the Gist code I gave you (it’s heavily commented, I recommend giving it a read to make sure you’re happy with what it’s doing).

Click “REQUIREMENTS.TXT” and paste in the following lines of libraries you’ll need to use:

  • flask
  • twilio
  • pytz

Make sure “function to execute” is SMS, then click the “Environment Variables” dropdown.

Just like I’ve done above, click “+ ADD VARIABLE”, write “spreadsheet_id” in the “Name” column, and in the “Value” column, paste in the ID of your lookup sheet. You get the ID by looking at the URL of the lookup sheet, and copying everything between the last two slashes (outlined in red below).

Click on the “Service account” drop down. It should come up with just “App Engine default service account” and give you an email address (as below) — that’s the email address you need all of your Google Sheets to be shared with. Write it down somewhere and add it as an edit user for both your lookup and restaurant-specific sheets.

Once you’ve done all of that, click “Deploy”.

Once you deploy, you should land back on the main screen for your Cloud Function. The green tick in the top left hand corner tells you everything is working.

Step 4: Turn on Sheets API

The first time your code tries to access Google Sheets, it might not be able to because you need to switch on the Google Sheets API for your account. Go here, select the project you’re working on with the dropdown menu in the top left corner, then click the big blue “ENABLE” button.

Step 5: Go back to Twilio and paste in the HTTP trigger for your code

Remember the trigger URL we noted down from when we were creating our function? Go back to your Twilio Studio and find all of the blocks with the </> sign in the top left corner:

Click on each in turn and paste your Google Cloud URL into the REQUEST URL box that comes up on the right side of the screen:

Test the bot

By now you should have your Cloud Function set up. You should also have both of your Google Sheets set up and shared with your Cloud Function service account.

The next step is to test the bot. Start by texting your Twilio number the word “order” to get it going. It should respond with a menu that your code pulls from your restaurant-specific Google Sheet. Follow the steps it sends you through to the end and check your Google Sheet to make sure it’s updating properly.

If for some reason it’s not working, there are two places you can check. Twilio keeps a log of all the errors it sees which you can find by clicking the little “Debugger” symbol in the top right corner:

Google also keeps a record of everything that happens with your Cloud Function. This includes non-error notifications. You can see all of that by clicking “VIEW LOGS” at the top:

Conclusion: break things and have fun

All of this is by no means perfect, and I’m sure there’s stuff you could add and improve, but this is a way of building a network of scalable chatbots, each specific to a different business, and each partially managed by that business at minimal cost.

Give this a try, break it, improve it, tear it up and start again, and let me know what you think!


Postscript: weird hacks

This bit is only really for people who are interested, but because we’ve deliberately done this on a shoestring, we run into a couple weird issues — mainly around requests to our bot when it hasn’t been activated for a bit.

When Twilio gets messages for the first time in a while, it turns on pretty quickly and expects other things to do so, too. For example, when Twilio makes requests to our code, it assumes that the code failed if it takes more than about five seconds. That’s not that unusual — a lot of chat platforms demand a five-second max turnaround time.

Cloud Functions are able to run pretty fast, even with lower memory allowances, but Google Sheets always seems to be a bit slow when accessed through the API. In fact, Google Sheets is particularly slow if it hasn’t been accessed in some time.

That can mean that, if no one has used your bot recently, Google Sheets API takes too long to respond the first time and Twilio gives up before our code can return, causing an error.

There are a couple parts of our script designed to avoid that.

Trying again

The first time we activate our Cloud Function, we don’t want it to actually change anything, we just want information. So in Twilio, we start by creating a variable called “retries” and setting the value as 0. 

If the request fails, we check if the retries value is 0. If it is, then we set the retries value to 1 and try again. If it fails a second time, we don’t want to keep doing this forever so we send an error and stop there.

Waking the sheet up

The second time we activate our Cloud Function we do want it to do something. We can’t just do it again if it doesn’t return in time because we’ll end up with duplicate orders, which is a headache for the restaurant.

Instead, during an earlier part of the exchange, we make a pointless change to one of our sheets, just so that it’s ready for when we make the important change.

In our conversational flow we:

  1. Send the menu
  2. Get the response
  3. Ask for the user’s name
  4. Write the order

We don’t need to do anything to the sheet until step four, but after we get the user’s response (before we ask their name), we activate our code once to write something useless into the order sheet. We say to Twilio — whether that succeeds or fails — keep going with the interaction, because it doesn’t matter at that point whether we’ve returned in time. Then, hopefully, by the time we go to write in our order, Google Sheets is ready for some actual use.

There are limitations

Google Sheets is not the ideal database — it’s slow and could mean we miss the timeouts for Twilio. But these couple of extra steps help us work around some of those limitations.

Daily SEO Fix: Investigate Changes in Your Rankings with Moz Pro

As members of the Moz onboarding team — which gives one-on-one walkthroughs of Moz products to over 500 customers a month — we have our finger on the pulse of what people are asking for when it comes to SEO. We’re here to help you uncover the relevant Moz Pro features for your business.

We know that somewhere along the journey of improving your website and drumming up more traffic (and hopefully conversions), you’ll want to track rankings for your target keywords. Perhaps you started by noticing a traffic drop on your website. Or maybe you’re actively adapting your business in response to new challenges as a result of the COVID-19 pandemic. You’ll ultimately want to know how your page rankings were affected, and start to explore what you can do next.

In this series of Daily SEO Fix videos, the Moz onboarding team takes you through workflows using the Moz Pro tools. We help you coast through your rankings analysis to gain some actionable insights, from tracking your performance against your competitors to making impactful improvements to your pages.

Don’t have a community account or free trial yet? Sign up first, then book your walkthrough to chat with our onboarding team.

Start your free trial


Segment and sort keyword rankings

One constant in SEO is that ranking positions are always changing. Some keywords tend to move around more than others, and they can be tricky to spot. Luckily, Moz Pro has a simple way to focus on these keywords.

In this Daily Fix, Maddie shows you how you can sort out your keywords by ranking gains and losses, so that you can glean some insight into how to make the relevant improvements.


View rankings over time and vs. competitors

They say you can’t manage what you don’t measure. This is also true for SEO.

By tracking your keywords, you can measure the impact of your SEO efforts and identify strengths, weaknesses, and opportunities to optimize your SEO.

Moz Pro allows you to track your ranking performance over time. You can quickly see exactly what page on your site is ranking in the highest position for a particular keyword, as well as other pages that may be ranking for the same keyword. This helps you easily flag potential keyword cannibalization on your site.

In this Daily Fix, Jo on the learning team will shows you exactly how this works.


On-page optimization

There aren’t many things more confusing than seeing pages rank for keywords that have absolutely nothing to do with your business. You’re always signalling something to the search engines — whether you intend to or not. Optimizing your on-page SEO ensures you control that signal.

On-page SEO is the practice of optimizing individual web pages for specific keyword(s) in order to rank higher and earn more relevant traffic in search engines.

In this Daily Fix, I show you how to use the page optimization tool to improve your on-page SEO.

Be sure to check out our post on on-page ranking factors if you want more tips.


Compare link profiles

Link building is one of the aspects of SEO that can’t be done in isolation. In order to know how much effort you should dedicate to link building, you first need to look at your competitive landscape.

Moz Pro’s link explorer allows you to compare the link profile of up to five websites. In a snapshot, you get insight into many important metrics like domain authority, spam score, external and follow links, etc. You can easily use the graphs to spot trends in the type of links your competitors are getting, and even click through to see the individual links. In this video, Alicia shows you how.

For more tips on building links, check our beginner’s guide to link building.


All crawled pages

Technical SEO is table stakes, and arguably the most important aspect of your SEO work.

Even if you use the right keywords, create the most optimized pages, and have every authoritative site in the world linking to you, if the crawlers are’t able to index your pages correctly or you’re not following best technical SEO practices, your pages won’t rank as well as they deserve. Moz Pro’s Site Crawl tool helps you ensure that your technical SEO is on point.

In this Daily Fix, Emilie shows you some tips you can use to improve your rankings with Site Crawl.

20 B2B Influencer Marketing Pros to Follow from Top Brands

B2B influencer marketing pros from top brands

Recently we published the 2020 State of B2B Influencer Marketing report after surveying hundreds of B2B marketers about their experiences, best practices, tools, budgets and plans for the future.

In an environment where B2B marketing is decidedly digital and marketers are hard pressed to squeeze more productivity out of fewer resources, credible information about marketing best practices, operations and trends for the future are in high demand. Judging by the response we’ve had to The State of B2B Influencer Marketing Report so far, we’re definitely meeting a need.

There is both optimism and an unrealized opportunity with influencer marketing for B2B companies. For evidence, check out these stats from the report:

  • 78% of B2B marketers believe prospects rely on advice from influencers
  • 74% believe that Influencer Marketing improves customer and prospect experiences
  • 63% agree that marketing would have better results if it included an Influencer Marketing program
  • 60% of marketers who use always on Influencer Marketing programs are very successful vs. 5% who do periodic campaigns

And yet:

  • Only 19% of B2B marketers are running ongoing influencer marketing programs
  • Only half include a plan for influencer activation in their influencer marketing strategy
  • Only 35% of marketers use software to identify potential influencers
  • 60% say they don’t have the knowledge to execute or have the right skills in house to implement ongoing Influencer Marketing programs

Influencer Marketing is a significant opportunity for B2B Marketers to connect with trusted and credible experts that have the attention of audiences that are probably overwhelmed with information and ignoring most of the ads that do get to them. At the same time B2B brands that build relationships to co-create content with these industry voices can integrate influence with thought leadership to build the authority and influence of brand employees.

It is very satisfying to have spent the past 8 years focusing on such a niche aspect of B2B marketing to see it now start to grow in acceptance, adoption and maturity amongst some of the top B2B brands in the world.  Where there were previously no positions outside of PR with “influencer” in the title, now it is much more common to find marketers with titles like, Head of Global Influencer Marketing, VP Influencer Marketing and Communications, or B2B Influencer Engagement Strategist.

Many B2B marketing professionals with these titles have earned hard won insights into what makes influencer marketing truly work for B2B, especially during a time when brand marketers are highly motivated to focus on strategies and tactics that will help them survive and thrive during the pandemic.

To help you connect with the collective wisdom of the B2B influencer marketing crowd, here are 20 B2B Influencer Marketing Professionals to follow (in no particular order):

Ursula Ringham
Ursula Ringham
@ursularingham
Head of Global Influencer Marketing at SAP

Rani Mani
Rani Mani
@ranimani0707
Head of Social Influencer Enablement at Adobe

Jen Holtvluwer
Jen Holtvluwer
@JenHoltvluwer
CMO at Spirion

Garnor Morantes
Garnor Morantes
/in/garnormorantes/
Group Marketing Manager at LinkedIn

Martin Hanna
Martin Hanna
@martyhanna
VP, Analyst and Influencer Relations at Schneider Electric

Amisha Gandhi
Amisha Gandhi
@AmishaGandhi
VP Influencer Marketing and Communications at SAP Ariba

Chris Purcell
Chris Purcell
@chrispman01
Manager, Influencer Marketing at Hewlett Packard Enterprise

Janine Wegner
Janine Wegner
@JanineWegner
Global Thought Leadership Program & Activation Manager at Dell

Marshall Kirkpatrick
Marshall Kirkpatrick
@marshallk
VP, Influencer Relations, Analyst Relations, and Competitive Intelligence at Sprinklr

Angela Lipscomb
Angela Lipscomb
@AngelaLipscomb
Influencer Relations Manager at SAS

Srijana Angdembey
Srijana Angdembey
@srijanaa
Director Social Media Marketing at Oracle

Ann Boyd
Ann Boyd
@annb
VP Corporate Communications at Cherwell Software

Tom Treanor
Tom Treanor
@RtMixMktg
Global Head of Marketing at Arm Treasure Data

Sarah Groves
Sarah Groves
@sstoesser
Director, Communications, AT&T Business Marketing at AT&T Business

Alyssa Samuelson
Alyssa Samuelson
@alyssamuelson
Commercial Influencer Relations at Microsoft

Lucinda Henry
Lucinda Henry
@lucindarhenry1
B2B Influencer Engagement Strategist at Intel

Barbara French
Barbara French
@bfr3nch
Sr Director, Content and Influencer Marketing at Juniper Networks

Paul Dobson
Paul Dobson
@svengelsk
Sr. Director, Social and Influencer Marketing at Citrix

Meg Crawford
Meg Crawford
@Postgrad
Sr. Influencer/Social Media Marketing Manager at Splunk

Brandi Boatner
Brandi Boatner @ThinkBluePR
Social and Influencer Communications Lead Global Markets at IBM

Of course there are many B2B influencer marketing practitioners from the consulting and agency world that could be on a list like this, including some of my team at TopRank Marketing. Maybe we’ll publish such a list in the future, but for now this resource is focused on people working at B2B brands.

If you know of other B2B brand influencer marketing practitioners, who would you add to this list?

To tap into the collective wisdom of these and more B2B influencer marketing experts, be sure to check out the full report here.

B2B Influencer Marketing Report 2020

*SAP, LinkedIn, SAP Ariba, Dell, Cherwell and Treasure Data are TopRank Marketing clients. 

B2B Marketing News: How B2B Events Are Changing, Consumers Switch Brands During Pandemic, & New B2B Micro-Segmentation Data

2020 July 24 CEIR Chart

Study: Most Americans Permanently Changing Brands During Pandemic
45 percent of U.S. consumers have switched at least one brand preference during the global heath crisis, and some 62 percent believe that their brand change will become permanent — two of several items of interest to digital marketers in recently-released survey data. MediaPost

How microsegmenting boosts B2B conversion rates
Micro-segmentation helps both B2B sellers and customers, with better conversion rates and more relevant customer experiences, with some 68 percent of B2B buyers noting that it’s important for vendors to present relevant content throughout the buying cycle without having to rely on salespeople, according to recently-released Forrester report data. Digital Commerce 360

Gartner Identifies Five Technologies to Drive More Agile and Scalable Advertising Capabilities for Marketers
The digital advertising trends having the most impact on the industry have been outlined in Gartner’s latest annual Hype Cycle for Digital Advertising 2020 report, showing the rise of Advanced Supply-Side Bidding (ASSB), Identity Resolution (IDR) and other areas of interest to digital marketers. MarTech Series

Facebook Releases New Web Collage App via its Experimental NPE Team
Facebook’s New Product Experimentation (NPE) test-bed team has launched an experimental image display app called E.gg, offering a throwback look for modern photo collages that could eventually bring marketers new visual display opportunities, the social media giant recently announced. Social Media Today

What Types of Content Generate Leads That Convert?
Marketers generate the most lead conversions by utilizing online content that incorporates video, which was seen as the most effective format by 41 percent of marketers, followed by webinars at 36 percent, and original research at 36 percent, topping the list of newly-released survey data of interest to digital marketers. MarketingCharts

LinkedIn Provides More Tips for Virtual Events in New Guide Book
Microsoft-owned LinkedIn (client) has published new insight into using its LinkedIn Live and Events features, including marketing survey data showing that some 69 percent of marketers find it challenging to make the move to virtual events, the firm recently announced in conjunction with the launch of its second-ever events guide. Social Media Today

2020 July 31 Statistics Image

Infographic: Consumers Want to See More Brands in the Esports Realm
Today’s consumers would like to find more brands including e-sports in their campaign efforts, with 72 percent saying that would like to see brands that are savvy enough to use the medium’s fast-paced conversation. The gaming industry is the most dominant media channel for Gen Z and millennials, and is expected to top $1.5 billion in brand spending, according to recently-released infographic data. Adweek

Zenith: Global Ad Spend Projected To Drop 9.1% This Year
Overall global advertising spending for 2020 is expected to fall by 9.1 percent, while digital ad spend is forecast to see only a 2 percent decrease, with digital accounting for more than half of global ad spend, according to recently-released Zenith report data. MediaPost

Facebook Tests New Page Design Which De-Emphasizes Like Counts
Facebook has begun testing pages that don’t include page like buttons, instead placing focus on having users follow pages. The expanded test, which has been limited to certain public figures, has now also been implemented for some business pages, the firm recently announced. Social Media Today

How COVID-19 Is Affecting the B2B Exhibition Industry
73 percent of B2B event organizers have had to cancel a physical event because of the pandemic, and 81 percent have begun providing virtual alternatives, according to recently-released survey data of interest to digital marketers. MarketingProfs

ON THE LIGHTER SIDE:

2020 July 31 Marketoonist Comic

A lighthearted look at “multicultural marketing” by Marketoonist Tom Fishburne — Marketoonist

Street Artists Reimagine Classic Ralph Lauren Polo Shirt for AR-Enabled Murals — Adweek

TOPRANK MARKETING & CLIENTS IN THE NEWS:

  • TopRank Marketing — Is B2B Influencer Marketing Effective During A Crisis? — Tribal Impact
  • TopRank Marketing — 33 of the Best Social Media Marketing Blogs of 2020 — HubSpot
  • Joshua Nite — Shake Up Your Business Strategies with These Community Suggestions — Small Business Trends
  • Lee Odden — C-Suite Marketing Episode 5: Lee Odden of TopRank Marketing [Podcast] — ITSMA / SoundCloud
  • Lee Odden — B2B Influencer Marketing — Evans on Marketing

Have you come across your own favorite B2B content marketing or digital advertising stories from the past week of news? Please let us know in the comments below.

Thanks for joining us, and please return again next Friday for another collection of the most relevant B2B and digital marketing industry news. In the meantime, you can follow us at @toprank on Twitter for even more timely daily news. Also, don’t miss the full video summary on our TopRank Marketing TV YouTube Channel.

What Do Dolphins Eat? Lessons from How Kids Search — Best of Whiteboard Friday

We’re bringing back this slightly different-from-the-norm Whiteboard Friday, in which the fantastic Will Critchlow shares lessons from how kids search. Kids may search differently than adults, but there are some interesting insights from how they use Google that can help deepen our understanding of searchers in general. Comfort levels with particular search strategies, reading only the bold words, taking search suggestions and related searches as answers — there’s a lot to dig into. 

Click on the whiteboard image above to open a high-resolution version in a new tab!

Video Transcription

Hi, everyone. I’m Will Critchlow, founder and CEO of Distilled, and this week’s Whiteboard Friday is a little bit different. I want to talk about some surprising and interesting and a few funny facts that I learnt when I was reading some research that Google did about how kids search for information. So this isn’t super actionable. This is not about tactics of improving your website particularly. But I think we get some insights — they were studying kids aged 7 to 11 — by looking at how kids interact. We can see some reflections or some ideas about how there might be some misconceptions out there about how adults search as well. So let’s dive into it.

What do dolphins eat?

I’ve got this “What do dolphins eat?” because this was the first question that the researchers gave to the kids to say sit down in front of a search box, go. They tell this little anecdote, a little bit kind of soul-destroying, of this I think it was a seven-year-old child who starts typing dolphin, D-O-L-F, and then presses Enter, and it was like sadly there’s no dolphins, which hopefully they found him some dolphins. But a lot of the kids succeeded at this task.

Different kinds of searchers

The researchers divided the ways that the kids approached it up into a bunch of different categories. They found that some kids were power searchers. Some are what they called “developing.” They classified some as “distracted.” But one that I found fascinating was what they called visual searchers. I think they found this more commonly among the younger kids who were perhaps a little bit less confident reading and writing. It turns out that, for almost any question you asked them, these kids would turn first to image search.

So for this particular question, they would go to image search, typically just type “dolphin” and then scroll and go looking for pictures of a dolphin eating something. Then they’d find a dolphin eating a fish, and they’d turn to the researcher and say “Look, dolphins eat fish.” Which, when you think about it, I quite like in an era of fake news. This is the kids doing primary research. They’re going direct to the primary source. But it’s not something that I would have ever really considered, and I don’t know if you would. But hopefully this kind of sparks some thought and some insights and discussions at your end. They found that there were some kids who pretty much always, no matter what you asked them, would always go and look for pictures.

Kids who were a bit more developed, a bit more confident in their reading and writing would often fall into one of these camps where they were hopefully focusing on the attention. They found a lot of kids were obviously distracted, and I think as adults this is something that we can relate to. Many of the kids were not really very interested in the task at hand. But this kind of path from distracted to developing to power searcher is an interesting journey that I think totally applies to grown-ups as well.

In practice: [wat do dolfin eat]

So I actually, after I read this paper, went and did some research on my kids. So my kids were in roughly this age range. When I was doing it, my daughter was eight and my son was five and a half. Both of them interestingly typed “wat do dolfin eat” pretty much like this. They both misspelled “what,” and they both misspelled “dolphin.” Google was fine with that. Obviously, these days this is plenty close enough to get the result you wanted. Both of them successfully answered the question pretty much, but both of them went straight to the OneBox. This is, again, probably unsurprising. You can guess this is probably how most people search.

“Oh, what’s a cephalopod?” The path from distracted to developing

So there’s a OneBox that comes up, and it’s got a picture of a dolphin. So my daughter, a very confident reader, she loves reading, “wat do dolfin eat,” she sat and she read the OneBox, and then she turned to me and she said, “It says they eat fish and herring. Oh, what’s a cephalopod?” I think this was her going from distracted into developing probably. To start off with, she was just answering this question because I had asked her to. But then she saw a word that she didn’t know, and suddenly she was curious. She had to kind of carefully type it because it’s a slightly tricky word to spell. But she was off looking up what is a cephalopod, and you could see the engagement shift from “I’m typing this because Dad has asked me to and it’s a bit interesting I guess” to “huh, I don’t know what a cephalopod is, and now I’m doing my own research for my own reasons.” So that was interesting.

“Dolphins eat fish, herring, killer whales”: Reading the bold words

My son, as I said, typed something pretty similar, and he, at the point when he was doing this, was at the stage of certainly capable of reading, but generally would read out loud and a little bit halting. What was fascinating on this was he only read the bold words. He read it out loud, and he didn’t read the OneBox. He just read the bold words. So he said to me, “Dolphins eat fish, herring, killer whales,” because killer whales, for some reason, was bolded. I guess it was pivoting from talking about what dolphins eat to what killer whales eat, and he didn’t read the context. This cracked him up. So he thought that was ridiculous, and isn’t it funny that Google thinks that dolphins eat killer whales.

That is similar to some stuff that was in the original research, where there were a bunch of common misconceptions it turns out that kids have and I bet a bunch of adults have. Most adults probably don’t think that the bold words in the OneBox are the list of the answer, but it does point to the problems with factual-based, truthy type queries where Google is being asked to be the arbiter of truth on some of this stuff. We won’t get too deep into that.

Common misconceptions for kids when searching

1. Search suggestions are answers

But some common misconceptions they found some kids thought that the search suggestions, so the drop-down as you start typing, were the answers, which is bit problematic. I mean we’ve all seen kind of racist or hateful drop-downs in those search queries. But in this particular case, it was mainly just funny. It would end up with things like you start asking “what do dolphins eat,” and it would be like “Do dolphins eat cats” was one of the search suggestions.

2. Related searches are answers

Similar with related searches, which, as we know, are not answers to the question. These are other questions. But kids in particular — I mean, I think this is true of all users — didn’t necessarily read the directions on the page, didn’t read that they were related searches, just saw these things that said “dolphin” a lot and started reading out those. So that was interesting.

How kids search complicated questions

The next bit of the research was much more complex. So they started with these easy questions, and they got into much harder kind of questions. One of them that they asked was this one, which is really quite hard. So the question was, “Can you find what day of the week the vice president’s birthday will fall on next year?” This is a multifaceted, multipart question.

How do they handle complex, multi-step queries?

Most of the younger kids were pretty stumped on this question. Some did manage it. I think a lot of adults would fail at this. So if you just turn to Google, if you just typed this in or do a voice search, this is the kind of thing that Google is almost on the verge of being able to do. If you said something like, “When is the vice president’s birthday,” that’s a question that Google might just be able to answer. But this kind of three-layered thing, what day of the week and next year, make this actually a very hard query. So the kids had to first figure out that, to answer this, this wasn’t a single query. They had to do multiple stages of research. When is the vice president’s birthday? What day of the week is that date next year? Work through it like that.

I found with my kids, my eight-year-old daughter got stuck halfway through. She kind of realized that she wasn’t going to get there in one step, but also couldn’t quite structure the multi-levels needed to get to, but also started getting a bit distracted again. It was no longer about cephalopods, so she wasn’t quite as interested.

Search volume will grow in new areas as Google’s capabilities develop

This I think is a whole area that, as Google’s capabilities develop to answer more complex queries and as we start to trust and learn that those kind of queries can be answered, what we see is that there is going to be increasing, growing search volume in new areas. So I’m going to link to a post I wrote about a presentation I gave about the next trillion searches. This is my hypothesis that essentially, very broad brush strokes, there are a trillion desktop searches a year. There are a trillion mobile searches a year. There’s another trillion out there in searches that we don’t do yet because they can’t be answered well. I’ve got some data to back that up and some arguments why I think it’s about that size. But I think this is kind of closely related to this kind of thing, where you see kids get stuck on these kind of queries.

Incidentally, I’d encourage you to go and try this. It’s quite interesting, because as you work through trying to get the answer, you’ll find search results that appear to give the answer. So, for example, I think there was an About.com page that actually purported to give the answer. It said, “What day of the week is the vice president’s birthday on?” But it had been written a year before, and there was no date on the page. So actually it was wrong. It said Thursday. That was the answer in 2016 or 2017. So that just, again, points to the difference between primary research, the difference between answering a question and truth. I think there’s a lot of kind of philosophical questions baked away in there.

Kids get comfortable with how they search – even if it’s wrong

So we’re going to wrap up with possibly my favorite anecdote of the user research that these guys did, which was that they said some of these kids, somewhere in this developing stage, get very attached to searching in one particular way. I guess this is kind of related to the visual search thing. They find something that works for them. It works once. They get comfortable with it, they’re familiar with it, and they just do that for everything, whether it’s appropriate or not. My favorite example was this one child who apparently looked for information about both dolphins and the vice president of the United States on the SpongeBob SquarePants website, which I mean maybe it works for dolphins, but I’m guessing there isn’t an awful lot of VP information.

So anyway, I hope you’ve enjoyed this little adventure into how kids search and maybe some things that we can learn from it. Drop some anecdotes of your own in the comments. I’d love to hear your experiences and some of the funny things that you’ve learnt along the way. Take care.

Video transcription by Speechpad.com


To help us serve you better, please consider taking the 2020 Moz Blog Reader Survey, which asks about who you are, what challenges you face, and what you’d like to see more of on the Moz Blog.

Take the Survey

Boosting and Deepening Engagement through Empathy in B2B Marketing

Business Professional Taking Notes Intently

Empathy is more than a buzzword. It’s not a box to be checked, or an added finishing touch for content. If B2B marketers want to successfully engage human audiences and break free from the deluge of irrelevant messages swirling around today’s customers, empathy needs to be at the center of all strategic initiatives from start to finish.

What Does Empathy Mean in B2B Marketing?

Empathy is defined simply as the ability to understand and share the feelings of another. But I’m not sure that characterization fully does it justice in the context of modern marketing.

I rather like the way Zen Media CEO Shama Hyder described empathy in the better creative teamwork guide we helped our clients at monday.com put together:

“Empathy is critical. It’s much more than just having an understanding of what someone else’s challenges might be. Part of it is that you have to give up being a control freak. As leaders, we should really look at the big picture and ask ourselves, is this necessary? Or is this just politicking, or someone trying to make it seem like it has to be done this way because it’s the way they prefer?”

Shama was speaking from the perspective of a business leader trying to get on the same page as their team, but it applies just as well to marketing endeavors. The critical first step in developing empathy is disconnecting from our own ingrained perceptions and assumptions. Only then can we truly understand and support the audiences we want to reach.

Too often, empathy in marketing tends to be a bit narrow and self-centered (which is contradictory to the very concept itself). We often seek to understand only the challenges and pain points that drive interest in what we’re selling. Looking beyond this scope is necessary to build strong relationships founded on trust, especially now.

“What you are creating, marketing and ultimately selling is but one piece of your customer’s life as a human on Earth. One very small piece,” said Mary Beech, principal at MRB Brand Consulting and former CMO of Kate Spade, in an AMA article on empathy in marketing. “And if we aren’t keeping in mind their full journey, including their emotional, mental, social and physical needs — as well as the challenges and joys they are facing — we cannot do our jobs well.”

As Brian Solis wrote at Forbes recently, the need for empathetic customer experiences is greater than ever in the age of COVID-19 disruption. People have so much going on in their lives, and are facing so many unprecedented difficulties, that a myopic brand-centric focus is all the more untenable. “Traditional marketing will no longer have the same effect moving forward,” he argues. “If anything, it will negatively affect customer relationships rather than enhance them.”

Agreed. So, let’s find a better way.

Engaging with True Empathy in the New Era of Marketing

Imagine if it was possible to sit down and have an in-depth conversation with each one of your customers and potential customers. You’d gain first-hand insight into their worldviews, their challenges, their hopes and dreams.

Sadly, it’s not possible. You don’t have the time, nor do your customers. (Although I do recommend making a habit of engaging in direct, candid conversations with them when possible.) To make empathy scalable, marketers need to take advantage of all the tools at their disposal. This largely requires using data to connect the dots.

“It’s critical for marketers to have a real-time 360 view and understanding of a customer’s full journey, at every stage, from discovery to engagement to retention and loyalty to advocacy,” Solis wrote at Forbes.

Here are some suggestions for obtaining such a view:

Use empathy-mapping. This practice, explained in a helpful primer from Nielsen Norman Group, involves creating a visualization of attitudes and behaviors to guide decision-making. Empathy-mapping originated in the world of UX design, but given how much user experience and customer experience now overlap, it’s becoming a powerful tool for marketers.

Empathy Map

(Source: Nielsen Norman Group)

Coordinate and integrate your organizational efforts. Every customer-facing function in a company — marketing, sales, customer service — sees the customer from a different perspective. Seek ways to bring all these perspectives together into one centralized, holistic view. Per Solis: “Cross-functional collaboration is a mandate. As such, integration will become the new standard and will quickly become table stakes as every company rushes in this direction.”

Tap into meaningful influencer relationships. Influencers can play a key role in empathetic marketing because they have relationships and perspectives extending beyond our brand ecosystems. If they align with your audience, influencers can bring unique insight and connect at deeper levels. Turning influencer engagements from mechanical to meaningful is essential to accomplishing this.

Incidentally, Mr. Solis recently partnered with TopRank Marketing on the first-ever State of B2B Influencer Marketing report, in which our friend Ann Handley summarizes the impact quite well: “You could call yourself a good parent or a world-class marketer or an empathetic friend … but any of those things would carry more weight coming from your child, customer, or BFF. So it is with integrating influencer content: It’s a direct line to building trust and customer confidence.”

Research and engage with topics that matter to your customers outside of their jobs. Given the connotations of B2B, it’s all too easy to isolate our customer research around what they do professionally. But these are human beings with lives outside of work. To drive powerful engagement, marketers should search for the cross-sections between their brand’s purpose and values, and what matters to their customers.

A good example of this is found in the IBM THINK Blog, which is “dedicated to chronicling the fast-moving world of cognitive computing” and covers many important societal topics. (Recent focuses include a post on gender pronouns and a corporate environmental report.)

Examples of Empathetic B2B Marketing

Who’s getting it right and paving the way for a more empathy-driven approach to engaging B2B audiences? Here are a few examples:

Seeing human faces brings an instantly relatable element to any B2B campaign. That’s why Microsoft’s Story Labs microsite, which frames some of the company’s initiatives and guiding principles around real people and their stories, is so effective.

Microsoft Story Labs

Let Empathy Guide Your B2B Marketing Strategy

In order to walk in someone else’s shoes, you first need to untie and remove your own. Making empathy a core strategic pillar requires marketers to take a step back, disconnect from their ingrained perceptions and assumptions, and get fully in tune with the people they serve.

Only then can we create the type of relevant and personalized experiences that drive deep and long-lasting brand engagement.

For more tips that will help your business-oriented content strike notes of genuine empathy, read Josh Nite’s blog post on 5 Ways to Humanize B2B Marketing.

5 Unheralded SEO Tools for Content Marketers

Smiling businesswoman at computer image.

Are you using the latest search engine optimization (SEO) tools to help with your content marketing efforts?

Don’t worry, as we’ve got you covered with a look at some of the most helpful SEO tools to help you refine and augment your content marketing plans.

Sorting through lists of the seemingly endless number of available SEO tools can be frustrating as well as a hit and miss proposition, however we’ve put this collection together so that you can skip the search and get right into SEO tools you can use today to help you create amazing content marketing stories.

Let’s jump in with our collection of fresh SEO tools to boost your content marketing experiences.

1 — Google Lighthouse

Google Lighthouse

Google’s own Lighthouse tool — an open-source project — offers a simple way to check a number of basic SEO-related issues that every website should consider. Among its auditing functions are tools specifically focusing on performance, SEO, accessibility, and progressive web apps, and it’s also capable of examining webpages requiring authentication.

The tool can be run standalone, from the web, in Google’s Chrome DevTools, or incorporated into continuous integration systems, and its Lighthouse Viewer allows viewing and sharing of analysis data online.

2 — Botify SEO Platform

Botify

There are numerous powerful SEO platforms that each look to be as close to a one-stop-shop as possible for marketers and brands to gain reliable and relevant search insight, and squarely in this category is enterprise SEO suite company Botify.

Botify offers a vast array of SEO analysis, data crawling intelligence and indexing metrics tools, all while working to make this complex information both easy to understand and act on, as Google’s Martin Splitt recently touched on in a live video conversation.

3 — Bing URL Submissions Plugin for WordPress

Bing

B2B marketers in WordPress environments recently got access to an open-source plug-in from Bing Webmaster Tools, automating the submission of new site content to the Microsoft’s Bing search engine.

Bing URL Submissions Plugin in a feature-rich plug-in that can also be customized via Bing’s API for incorporation into other content management systems.

4 — Schema.org

Schema

Google and other search engine firms prefer that businesses use schema markup for structured data in the format set forth and maintained by the Schema.org organization, which is especially important today as features including Google’s Knowledge Graphs rely in part on this simple yet often-overlooked element, as Michal Pecánek recently examined for Ahrefs.

5 — WebPagetest

WebPagetest

Another free tool frequently used by savvy search industry professionals is WebPagetest, allowing webmasters and technically-proficient marketers to run a variety of tests including content type breakdowns, page speed data and others providing helpful information.

The data from WebPagetest can be used to troubleshoot website slowness issues, as Barry Schwartz recently outlined in “Google: How To Diagnose Largest Contentful Paint (LCP) Slowness.”

Smart SEO Tools To Make You A Knowledge Builder

via GIPHY

We hope you’ve found at least a few new-to-you SEO content marketing tools among those we’ve taken a look at here, and that you’ll find them useful as you create new campaigns that are using the soundest practices of SEO, and that they’ll also help build your own team’s knowledge.

We have a multi-year history of highlighting helpful marketing tools, and here are a few of the other most recent articles we’ve published on the subject:

6 Connectors to Spice Up Your Reporting: Introducing Google Data Studio Connectors for STAT

Data visualization platforms have become a vital tool to help illustrate the success of a body of work. Painting a clear picture of your SEO efforts is as important as ever, whether you’re reporting out to clients or to internal stakeholders at your own company. More and more SEOs are turning to data visualization tools to do so — pulling in data from across multiple SEO tools, blending that data in unique ways, and helping to pull back the curtain on the mystery of SEO.

Platforms like Tableau and Google Data Studio are becoming more commonplace in the SEO community as we seek better ways to communicate with our teams. We’ve heard from a number of folks in the Moz community that having a central dashboard to present data has streamlined their own reporting processes. It’s also made information more digestible for colleagues and clients, as they can see everything they need in one place.

Thanks to the helpful feedback of many, many STAT customers, we’ve been hard at work building six Google Data Studio Community Connectors to help pull STAT data into Data Studio. Fortified by beta testing and your thoughtful input, we’re excited to launch the six connectors today: Historical Keyword Rankings (site and tag level), Share of Voice (site and tag level), and Ranking Distributions (site and tag level).

If you’re already using STAT, dive into our documentation in the Knowledge Base to get all the nitty-gritty details on the connectors. If you’re not yet a STAT customer, why not chat with a friendly Mozzer to learn more?

See STAT in Action

Want to hear a bit more about the connectors and how to implement them? Let’s go!

Historical Keyword Rankings

Tracking daily keyword positions over time is a central part of STAT and the long-term success of your site. The Historical Keyword Rankings connectors send historical highest rank data to Data Studio for every keyword you’re currently tracking in a site or a tag.

You can start out with a simple table: perhaps if you have a group of keywords in a dynamic tag, you might want to create a table of your top keywords ranking on page one, or your top keywords ranking in positions 1-3.

Turn that table into a line graph to understand average rank for the whole site or tag and spot trends:

Find the Site Level Historical Keyword Rankings connector here and the Tag Level Historical Keyword Rankings connector here.

Share of Voice

In STAT, share of voice measures the visibility of a group of keywords on Google. This keyword set can be keywords that are grouped together into a tag, a data view, or a site. Share of voice is calculated by assigning each ranking a click-through rate (CTR) and then multiplying that by the keyword’s search volume.

It’s important to remember that share of voice is based on the concept that higher ranks and higher search volume give you more share of voice.

The default chart type will display a doughnut chart for current share of voice, and a line graph will show share of voice over time:

Find the Site Level Share of Voice connector here and the Tag Level Share of Voice connector here.

Ranking Distribution

Ranking Distribution, available in the Daily Snapshot and Ranking Trends views in the STAT app, shows how your keyword rankings are distributed across the top 119 Google results.

View your top ranking positions as a bar chart to easily eyeball how your rankings are distributed, where shifts are taking place, and where there is clear opportunity for improvement.

Find the Site Level Ranking Distributions connector here and the Tag Level Ranking Distributions connector here.

Getting started with the connectors

Whether you’re a Google Data Studio pro or a bit newer to the tool, setting up the connectors shouldn’t be too arduous. Get started by visiting the page for the connector of your choice. Authorize the connector by clicking the Authorize button. (Tip: Each connector must be authorized separately.)

Once you authorize the connector, you’ll see a parameters table like this one:

Complete the fields using the proper information tied to your STAT account:

  • STAT Subdomain: Fill in this field with the subdomain of your STAT login URL. This field ensures that the GDS connector directs its request to the correct STAT subdomain.
  • STAT API Key: Find your API key in STAT by visiting Options > Account Management > Account Settings > API Key.
  • STAT Site/Tag ID: Retrieve IDs through the API. Visit our documentation to ensure you use the proper API calls.
  • Allow “STAT Site/Tag ID” to be modified in reports: Tick this box to be able to edit the site or tag ID from within the report, without reconfiguring the connector.
  • Include Keyword Tags: Tick this box to add a column to your report populated with the tags the keyword is a member of (only applicable to site and tag historical keyword rankings connectors).
  • Allow “Include Keyword Tags?” to be modified in reports: Tick this box to be able to turn the inclusion of the Keyword Tags column on or off from within the report, without reconfiguring the connector (only applicable to site and tag historical keyword rankings connectors).

Once you’ve filled in the table, click Connect in the top right.

Confirm which columns you’d like to include in the report. Review the columns, and click Create Report.

Once you’ve created a report, the exciting part begins! Whether you’re pulling in your STAT data for a fresh report, adding it into a report with other pieces of data, or using Data Studio’s data blending feature to create compelling views of your search presence — there are so many ways to slice and dice.

Ready to put the connectors into production? We can’t wait to hear how your Google Data Studio reports are strengthened by adding in your STAT data. Let us know how it goes in the comments.

Not yet a STAT user but curious how it might fit into your SEO toolkit? Take a tour of the product from your friendly neighborhood Mozzer:

Learn More About STAT


To help us serve you better, please consider taking the 2020 Moz Blog Reader Survey, which asks about who you are, what challenges you face, and what you’d like to see more of on the Moz Blog.

Take the Survey