Why You Should UTM Tag Google My Business Listings

By | Local SEO, SEO

Google My Business Listings can drive a lot of organic traffic for businesses with a localized focus. Adding UTM tags to the website URLs within those listings is considered a best practice for optimizing GMB profiles.

What Benefit Do UTM Tags Have?

Without UTM tags, a page could be receiving organic traffic from two places and you wouldn’t have any idea which was the biggest driver:

  1. Standard organic results.
  2. Google My Business profiles (knowledge graphs, local map packs, Google Maps)

Adding UTM tags lets you differentiate between them and understand the impact local map packs may have. For example, if the local map pack was driving the majority of traffic, then you’d want to spend more time ensuring that you’ve optimized GMB profiles, citations, etc. in order to improve local map pack rankings.

If the majority of traffic does not come from GMB listings, then it might be an early indicator that the site doesn’t rank well in those map packs, or it may be a sign that the map packs don’t play that big a role in a given industry.

Only by determining where traffic is coming from can you determine where you need to focus your efforts the most.

Traffic Breakdown/Impact

Adding UTM tags to 25 of a client’s Google My Business listings recently revealed some unexpected insights. More than 50% of organic traffic to those locations came through a Google My Business listing.

We did not anticipate that much traffic coming from the listings. We estimated 20-30% as a generous estimate. Needless to say, this revealed a lot of revelations – improving the on-page optimizations would limit our ability to really drive results, unless we also focused on local SEO too.

It’s also worth noting that in this particular vertical, it makes perfect sense that mobile has a higher percentage of traffic from GMB listings. In this particular industry, the locations are places you’d typically drive to shortly after finding the location.

Implementing UTM Tags in Google My Business Listings

First, you have to devise a UTM tagging scheme. This is the scheme I recommend:

  • Source: g-local (subjective, you can pick what you want).
  • Medium:  organic (required – anything else will prevent the traffic from appearing in the organic channel report).
  • Content: [specific location name]
  • Campaign: [regional location name]

If you’re tagging multiple listings at the enterprise level, the content and campaign categories are very helpful to identify specific locations and also regional markets. The client in this scenario operates in 8 regional markets with 25 locations spread across them.

It’s also worth noting that it’s good to keep these as short and abbreviate whenever possible. The GMB interface has a 256 character limit on URLs, so if your site’s URLs are long already, adding multiple UTM tag fields will push you past the limit very quickly.

Measuring Impact

It’s definitely recommended to do this before starting any local SEO efforts, because this will give you a baseline for how much traffic comes through various listings before you optimize them. Measuring map pack rankings is all and well, but traffic is the real metric you should be measuring. Doing this will also let you determine how well GMB traffic converts and if it makes a difference compared to traffic from standard organic results.

Questions? Tweet me @BerkleyBikes or comment here.

What Is Data Sampling in Google Analytics?

By | Analytics, SEO

Google Analytics lets you segment and filter data in hundreds of different ways. When you think about what GA does and how much granular data it logs, it’s downright astonishing. It’s even more astonishing that this data is readily available and can be viewed within the Google Analytics interface without needing to request custom reports.

However, there is a limit to how much data can be processed. When you pull a large date range, or look at a busy month and try to segment by landing page, device, location, etc – you’re requesting Google Analytics to process hundreds of thousands of data points. When you consider that Google Analytics is deployed (for free) across millions of websites, it’s easy to see how the amount of processing power required could quickly spiral out of control.

So what happens?

Instead of saying “report unavailable” or “too much data to process,” Google Analytics uses data sampling. It takes looks at a much smaller cross-section of the data and assumes it is an accurate sample of the entire dataset.

Picture this: you want to know how much sleep you get in a year. Instead of tracking how much sleep you get every night for 365 days, you log how many hours you sleep in one week and multiply that by 52 weeks. The assumption is that the one week you track is a pretty typical week, representative of the way you sleep most of the time.

What’s the problem?

That one week may not be representative of the way you sleep all year. Maybe you sleep more in the winter and less in the summer. Maybe your work schedule varies and that affects how much you sleep on a week-by-week basis.

Sure, you could take a larger sample size – track 4 weeks and then multiple by 13 instead of 52. The larger the sample size, the more likely it is to be accurate. But it’s still not perfect because you’re making assumptions that those other 48 weeks follow the same pattern as the four you’re measuring.

How Does Data Sampling Apply to Google Analytics and SEO?

Tracking how much you sleep probably isn’t that critical, but when you’re making marketing decisions that cost tens or hundreds of thousands of dollars, you want to be sure you’re using accurate data. You can avoid data sampling, if you’re mindful of it and recognize when it’s happening. Google Analytics does let you know when the report you’re looking at is based on sampled data, but it’s very non-descript, located in the top right corner with nothing to draw your attention to it.

“This report is based on 100% of sessions” indicates the data is not sampled.

Anything lower than 100% is the percent of visits that the report is based on. The lower the number, the smaller sample size.

How Much Does Data Sampling Skew The Numbers?

Let’s look at some test cases. In both of them I used an Organic-only Google Analytics View, with a mobile traffic segment applied and a date range of 1 year (1/1/16 to 12/31/16). This is a very common setup, that allows you to report on metrics relevant to mobile device performance over a 1 year period.

In the two test cases below, the dataset was pulled in two ways:

  1. Monthly numbers were pulled in 1 data export for a 12 month date range.
  2. Monthly numbers were pulled in 12 data exports for 1 month date ranges.

Data Sampling Test Case #1: Sessions

In this report we’re just looking at sessions (visits) for a high level overview. This is a very straightforward report – finding out how many visitors came to the site on mobile devices and trying to establish a month-by-month trend.

The unsampled default report shows a total of 338,827 visits during this time period. After adding the mobile segment, the sampling rate was listed as 27.33% – meaning the sample size was only 27.33% of the total visits.

The graphs below show the variance between the single data pull and the 12 data pulls. In this example, the sampled data is over-reporting by 0.99%.

That may seem minor, but look at the individual months – the variation is much wider on a monthly-to-month basis – anywhere from -20.16% to +18.77%. More than half of the 12 months in the year were off by more than 10%.

Data Sampling Test Case #2: Goal Conversions

In this report we’re drilling down into goal conversions which are more important in many cases – these might represent actual customers or leads.

The unsampled default report shows a total of 6,341 goal conversions during this time period and the sampling rate is still 27.33% because we haven’t changed the segment we’re using. In this case, the overall numbers are only slightly worse – over-reporting by 2.44% instead of 0.99%.

However, the monthly variance is MUCH worse. Look at August: over-reporting by a whopping 39.04%! September and October aren’t much better, over-reporting by 28.97% and 25% respectively.

Both of these reports are completely inaccurate and worthless for establishing seasonal patterns, or year-over-year performance by month. The only way to get accurate data is to use unsampled data, either with smaller date ranges, or using the API.

When Does Sampling Occur?

Data sampling does not occur in default reports, but adding segments or filters will trigger sampling. It doesn’t necessarily matter what segments or filters are added – they could be based on landing pages, devices, mobile vs. desktop, etc. It also depends on how many sessions are within the date range. A site that gets 500,000 visits per month will encounter data sampling much sooner than a site that gets 50,000 hits a month.  

How To Avoid Data Sampling in Google Analytics

For one, use a smaller data range. Smaller date ranges reduce the number of visits, which reduces the likelihood of sampling. If you’re trying to look at a larger date range, exporting data in smaller batches is the way to go. This can be tedious if you’re trying to use the Google Analytics interface, which is why I recommend using the Google Analytics/Sheets API. The Google Analytics/Sheets API is incredibly easy to use and does actually reduce the sampling rate itself. It’s also much faster for exporting multiple datasets at once.

You can also set up Google Analytics Views specific to certain data sets. Views exclude data before it even gets into the interface. The session limit is still the same, but when you add filters/segments, you’re doing so with a smaller amount of data points, so sampling doesn’t occur as quickly. I always set up an Organic-specific View so that I can look at organic data by itself – that helps avoid the session limit when segmenting landing pages by URL structure, for example.

The last choice is to upgrade to Analytics 360. This is Google’s premium version of Standard Analytics, and lifts the sampling threshold from 500,000 sessions (at the property level) to 100 million sessions. It’s worth noting that Analytics 360 costs well over $100,000 – far outside the reach of many companies who aren’t big enough to afford it, but do get enough traffic for data sampling to be a common occurrence.

Summary

  • Sampled data is not accurate data.
  • Never use sampled data for reporting or analysis.
  • Sampled data can be eliminated by choosing smaller date ranges, the Google Analytics/Sheets API.

As always, tweet me @BerkleyBikes or comment here with questions.

Embedding & Optimizing YouTube Videos on WordPress

By | SEO, Video

If you’re making videos for YouTube and you also have a website, you may want to create landing pages for each of the videos you make. Chances are you do some amount of SEO and creating landing pages will help you get more mileage (and more views) of that content.

People visiting YouTube directly is just one way to acquire video views. YouTube videos can also rank in organic search results just like pages. Similarly, a landing page is one additional opportunity to rank for targeted keywords, and embedding a corresponding video on a landing page can result in more video views from people who click on the web page itself and then view the video on the site.

For the purpose of this post, I’ll assume you’re already familiar with keyword research and how to optimize YouTube videos for SEO purposes.

Adding the Embed Code to WordPress: Easy Way

1. Copy the YouTube URL.

2. Log into WordPress.

3. Edit your Page/Post.

4. Paste the URL right into the Visual editor, wherever you want the video to appear on the page.

5. The YouTube player should render almost immediately.

6. Publish!

Adding the Embed Code to WordPress: Harder Way

There’s no reason to do it this way, but if you really want to, here’s a more manual way to embed a YouTube video. Go to the YouTube video in question and underneath the video title, click the Share menu option.

From there, click on the tab that says “Embed” and copy the iFrame code. This is the code you’ll be using to embed the video on a WordPress post or page.

Log into WordPress and edit the post or page in question. From there, go to the Text editor by clicking on that tab in the top right corner. This will show you the page’s copy in HTML form.

Paste the embed code wherever you want the video to appear.

Optimizing YouTube Embeds with Schema

If you want to take your embed game to the next level, add VideoObject Schema markup to the page or post. My preferred way is rather manual and here’s why: I have not been able to find a plugin that will add Video schema (lots of plugins do other fields except video) AND doesn’t create some hideous gray box at the bottom of my post page (as some plugins do). Since Video Schema is for search engines specifically, there’s no need for humans to see the markup and it may as well be hidden.

Types of Video Schema

Of the three different types of Schema markup, JSON is my preferred type and Google lists it as their preferred type as well. Google hasn’t indicated there’s any disadvantage to using Microdata or RDFa, so there shouldn’t be any difference using those if that’s your preference.

Crafting JSON Video Schema

I have not yet found a Schema generator that will generate JSON schema, likely because of its added complexity over Microdata. Nevertheless, it’s not that hard and can be done using a code editor (if you don’t have one, Notepad is fine).  

Critical fields are as follows:

  • Name
  • Description
  • Thumbnail URL
  • Upload Date
  • Duration
  • Embed URL

Here’s what completed Video Schema might look like:

Test your Video Schema

Once your Schema is ready, run the markup through Google’s Structured Data Testing Tool (make sure to select ‘Code Snippet’) and look for errors. If there are none, proceed, otherwise look at what Google flags and make edits to correct it as needed. Keep an eye out for rogue semi-colons or curly quotation marks.

Adding Schema to a WordPress Page or Post

A common pitfall is to add the Schema directly to the post/page using the Text editor. I don’t recommend doing it that way. It’s too easy for the Schema to get inadvertently edited or wiped out entirely if changes are made to the page.

Instead, I recommend adding the Schema using custom fields. Torquemag has a great write up on how to add a custom field for Schema markup with minimal work.

Once you setup custom fields, you can add your Schema markup into the custom fields box below the editor and then update or publish the post once complete.

Test Your Video Schema Once Live

I always re-test my Schema markup once the page is live or updated. It may be unnecessary, but does add an extra layer of assurance and lets me know there was no user error between my initial test and when I published the page. The likelihood of this happening is reduced by using custom fields in place of inserting Schema directly into the editor.

Adding YouTube Transcripts

YouTube transcripts can be critical for SEO purposes because they’re a text-based version of the video in a fully crawlable form. The question becomes: how to integrate them with a landing page?

My recommendation (and what I do) is this: If you already have page content written and it covers an identical or similar topic to your video, there’s no need to add a transcript to the landing page. If you do insist on adding one, you may want to do it via an accordion that collapses and expands – this way the layout and flow of your written content isn’t impacted, but the transcript is still readily available and the user experience is preserved.

If you don’t have landing page copy written, consider adding the transcript in its entirety. That’s an easy way to add crawlable, text-based content, without the extra effort of writing an entire new page of content.

Your site, your videos and your audience should help you determine which method to go with. On pages where I have both original written content and a video, I allow visitors to choose the user experience that works best for them.

The Impact of Optimizing Embedded YouTube Videos

It’s hard to determine and show the impact of these optimizations. From an anecdotal standpoint, I can say that I’ve had good success getting both pages AND YouTube videos to rank in organic search results, in some cases right next to each other.

One of my posts about redirect chains made it into the first position of the video carousel, with my normal organic result immediately above it.

If you have questions, feel free to tweet me @BerkleyBikes (preferred) or comment here.

How To Track Showcase IDX Conversions in Google Analytics

By | Analytics

Real Estate clients using the Showcase IDX WordPress plugin are in luck – the plugin has exceptional functionality that’s great for SEO and website analytics too. In this post, I’ll show you how to setup conversion tracking for two things:

  1. When a site visitor creates a Showcase IDX account.
  2. When a site visitor contacts the client through the Showcase IDX interface.

Since these are both critical actions that a site visitor would take on the way to becoming a customer, we’re going to set up both of these as goal conversions in Google Analytics so that we can determine what channel they’re coming from and analyze the efficacy of different campaigns. Full disclosure: Showcase IDX has an excellent tutorial on how to do this, but I’ve added a few extra details that I found helpful.

New Registration (Account Signup) Conversion Tracking

When a site visitor creates an account within the Showcase IDX platform, Showcase IDX labels this as a “New Registration.” Out of the box, the platform sends an Event to Google Analytics, removing any need for custom event configuration. All you need to do is set up a goal conversion based on the Event.

First, go into Behavior > Events > Top Events and you should see “Showcase IDX” listed as an Event Category. If you don’t see it immediately, widen the date range that you’re analyzing – it’s possible that there weren’t any registrations during a smaller date window.

Click on “Showcase IDX” and you’ll see one or two Event Actions listed. These will either be “New Registration” or “New Message.”

Clicking into these will give you some additional details but for now we’re focusing on setting up Goal Conversions.

Now go into Admin and in the “View” column, click on “Goals. ” This is where we’ll set up new goals.

At the top, click the red “New Goal” button (you can see I already have Contact Form Submissions and Mobile Click to Call goals set up).

From here, Goal Conversions are configured in three parts: Goal setup, Goal description and Goal details. First, make sure “Template” is checked and then select “Create an account” as the goal template for New Registrations. Click the blue “Continue” button at the bottom.

By choosing the Create an account template, the goal will be named “Create an account” by default. I prefer to be more descriptive and have renamed it Account Creation (Showcase IDX). Make sure to next check the “Event” box under Type. Then click Continue.

This is the most important part. Remember the Event Category and Event Actions that we looked at before? Now we’re going to put them to use. Under the Category box, enter ShowcaseIDX exactly as it’s seen in the Top Events report.

Under the Action box, enter New Registration. This will ensure that only Events fitting this specific criteria are tracked as Conversions. 

Lastly, click Save. You’ve now setup Goal Conversion tracking for new Showcase IDX registrations.

New Message Conversion Tracking

I also recommend setting up a separate Goal Conversion for new messages that are sent through the Showcase IDX platform. This Goal Conversion is even lower in the funnel than New Registrations because prospective customers are going one step further and reaching out.

The process is mostly the same with some small differences. In the Goal setup phase, select “Contact us.”

In the Goal description phase, I’ve chosen to rename the Goal as New Message (Showcase IDX).

In the Goal details phase, you keep the same Category (“ShowcaseIDX”) but change the Action to “New Message.”

Once you’ve created and saved both of these goals, remember to verify they’re setup correctly by doing a few test submissions. Make sure you’re taking into account any filters for IP address, or Google Analytics opt out browser extensions that would eliminate any test submissions from appearing in the interface.

I often test submissions using my phone on data mode (not wifi) – this simultaneously bypasses any IP filters that I have setup in Google Analytics as well as browser extensions. Also keep in mind that while a user can trigger multiple Events within a single website session, Google Analytics will only record one Goal Conversion. If a single visitor sends several messages during a single site visit, GA will only register one Goal Conversion.

If you have any questions, tweet me @Berkleybikes, or comment below (Twitter is preferred for faster responses).

Finding & Optimizing Click Through Rates For SEO

By | SEO | No Comments

Click through rate is not specifically an SEO concept – it really applies to any type of digital advertising – but we’re going to look at it through an SEO lens.

What Is Click Through Rate?

Click through rate is the number of times that somebody clicked on something divided by the number of times that thing appeared. Most of time you’re going to look at those two numbers in terms of clicks and impressions with clicks being the number of times somebody clicked and impressions being the number of times it showed up. In the scheme of SEO, click through rate is going to be the number of times that someone clicked on your web page divided by the number of times that your web page appeared in search results.

Finding Click Through Rate Data

How do you get CTR numbers and how do you know what your click through rate is? The answer is Google Search Console. It provides all these numbers for you and it’s free to sign up which I’ll show you how to do in another video/post. Let’s dig in a little bit and look at some of the ways that we can look at click through rate, clicks and impressions in Search Console.

Once you’ve logged into Search Console, in order to get any type of click-through rate data, you have to go to Search Analytics and click on that.

That will bring up the default set of data which is going to be focused on clicks and queries. Clicks will be the number of clicks to the site and it’s going to look at it on a per keyword basis. For the purpose of click-through rate this isn’t that beneficial because we know that the meta description is going to appear for most of the keywords that are driving clicks to the site and it’s not keyword specific so we’ll be better off to look at it at a page level.

Clicking on the CTR box will show an aggregate CTR trend line and you can also look at the aggregate CTR value (for all the pages on the site). What’s more helpful is if you scroll down,  scroll to the rightmost column and look at CTR data on a page by page basis.

If you want to benchmark data, you can pick a particular date range – there are a couple presets – or you can do custom if you want to look at the click-through rate for a particular month, for example.

There’s a couple other things in here you can do as well – you can add filters for country, filters by device – that may give you some insights into where you’re underperforming on a geographic or device basis and then that may inform the way that you run tests.

You can export data into an Excel-friendly CSV by scrolling down to the bottom of the page and clicking “Download.”

Overall I think Google Search Console is a really underrated tool and this gives you some really crucial data that most people probably don’t look at as much as they should and may help you optimize your meta descriptions to get more traffic.

How To Use CTR Data

Now that you know your click-through rates, or at least you know how to go get them and where to find them, the next question becomes: what to do with this information? Obviously a higher click-through rate is better because the higher the click-through rate the more traffic you’ll get but the question becomes how do you improve the click through rate?

Improving CTR with Titles & Metas

One very simple answer is being ranked better. Obviously higher ranked pages get a higher click-through rate than lower ranked pages because positions one, two and three are generally positions that receive more traffic.

That’s very easy to say “well yeah just get your page ranked better” but not always as easy as it sounds because especially in competitive industries we know that can be very difficult. Another way that you can actually influence a click through rate without being ranked better at all is to tweak the title tag and the meta description. The meta description in particular because since it’s not a ranking factor, it’s not as risky to change what’s in it because it’s less likely to have a negative impact on rankings.

Improving the meta description can improve the click-through rate without actually being ranked any better which is remarkable when you consider that new meta descriptions are really easy to implement.

Testing Different Optimizations

Meta description tests you may want to run might include different CTAs and different language that are more actionable. Benchmarking performance data will allow you to compare different optimizations over time and see which one had a higher click through rate.

What Should The Click Through Rate Be?

One question you might have is “what’s the right number, what should my click-through rate be?” and there’s not really a great answer to that. It really depends on your business and the industry, your site.

There are some numbers out there where people have done studies and said that in certain industries X is a pretty typical click through rate, but it’s hard to tell how accurate those studies are. My general attitude is “let’s just look at where you’re at now and try to improve that and constantly get better at it.”

I think that’s more productive – it’s easier to try to be better than you were than to try to aspire to a number that you may not know to be accurate.

CTR: Branded vs. Non-Branded

Also worth noting that click-through rate can be looked at in a lot of different ways depending on the type of keyword. For example we know that branded keywords are going to have a much higher click through rate. If someone is searching for a particular brand they’re more likely to click on that than they are a more generic keyword.

CTR Based On Funnel Position

Keywords in different parts of the funnel are also likely to have different CTR. Keywords that have words like ‘cost’ or ‘signup’ in them – these searchers have likely done their research and they’re ready to buy. Consequently, they’re probably more inclined to click on a search results because of that.

If you have any questions feel free to leave a comment or tweet me @BerkleyBikes. Definitely subscribe to my YouTube channel if you want to see more videos/posts like this one.

How To Setup & Verify Bing Webmaster Tools

By | SEO, Technical SEO

If you’ve read my instructions on how to verify Google Search Console, you may be wondering how to do the same for Bing Webmaster Tools. Or maybe you aren’t, because you never really thought much about Bing Webmaster Tools, in which case: read on.

While you may not pay much attention to Bing as a search engine, you’re doing yourself a disservice if you don’t set up and verify Bing Webmaster Tools. Just last year, Bing Webmaster Tools helped me troubleshoot an indexation issue with an enterprise-level education client – an issue that could have cost them thousands of lost site visits had we not used Webmaster Tools to identify it so quickly.

Bing Webmaster Tools offers almost all the same functionality as Google Search Console and while you may not use it nearly as much (or at all) it should be included in your standard setup process.

Creating a Webmaster Tools Account

 

First you’ll need to create a Webmaster Tools account, assuming you don’t have one already. Go to https://www.bing.com/toolbox/webmaster and click “Sign Up”

You’ll be prompted to fill in the necessary info, before clicking “Create Account”

Once you’ve created an account, you’ll see a screen that looks like this. Add the URL of your site and click “Add.”

Adding an XML Sitemap

Next Bing will ask you to add a sitemap. You should do this, so find your XML sitemap and paste that URL into the Sitemap box.

Verifying the Profile

There are three ways to verify the profile:

XML File

Download the Bing XML file and upload it to the domain’s root folder, effectively creating the URL YOURSITE.com/BingSiteAuth.xml. You’ll need to do this via FTP, so if you don’t have server access, this will be difficult or even impossible.

Meta Tag

The second option involves adding a meta tag to the homepage of your site. This is a simple line of HTML not unlike a meta description. If you’re using a CMS that offers a section for custom HTML, you can enter it there in order to push it live on the page.

Note: This meta tag needs to be left in place in order to Webmaster Tools to continue to be verified.

Hosting Provider: CNAME

The third listed option allows you to log into your hosting provider and add a CNAME record. This is likely the most sure-fire, permanent way to verify the profile but may also be the most difficult. If you can’t log into your hosting provider, this option is not helpful.

Bing Webmaster Tools Verification on WordPress

Bing WMT Verification on WordPress is painfully easy.

You should already have one of two SEO plugins installed: Either A) Yoast’s WordPress SEO plugin or B) All In One SEO Pack. Both are really freaking good plugins and you’re doing yourself a disservice if you don’t have one of them installed on your WordPress site.

Verifying Bing Webmaster Tools with Yoast’s WordPress SEO Plugin

In the WordPress backend, go to SEO > Dashboard > Webmaster Tools. Yes there is also a Search Console menu item. No, that’s not where you actually verify Google Search Console OR Webmaster Tools.

Here you’ll see three different form fields. Go back and look at the HTML meta tag I mentioned earlier in this post, copy the value and enter it here. Once you’ve done that, click ‘Save Changes’ then go back into Webmaster Tools and click verify (using the HTML tag method).

Verifying Search Console with All In One SEO Pack

For those using All in One SEO Pack, the process is not much different. Go to All In One SEO > General Settings and scroll all the way down to the ‘Webmaster Verification’ section, where you will see the same two fields for Google and Bing Webmaster Tools.

Once you’ve done this, KEEP SCROLLING DOWN. With so many features on one page, it’s easy to miss the ‘Update Options’ button, which is critical to make sure your settings get saved.

Verification Completion

Once you’ve completed one of these three methods, go back into Webmaster Tools and make sure you click the ‘Verify’ button. Then you’ll have access to all of the Webmaster data that Bing provides!

How To Verify Google Search Console (Webmaster Tools)

By | Analytics, SEO, Technical SEO | No Comments

Creating a Google Search Console profile is actually quite easy, with the possible exception of the pesky verification part. Nevertheless, it’s not that difficult, and I’ll show you how to do in record time. There are 5 ways to verify a Search Console profile. Your site configuration, tracking setup, user permissions, etc. will determine which one is best for you. I’ll explain them all here, starting with my preferred methods. If you’re doing this on WordPress, skip to the bottom of the post, I’ve got specific instructions just for you.

Google Analytics

Google Analytics is a fairly easy option, assuming three things:

  1. You’re using asynchronous (analytics.js) tracking code.
  2. Tracking code is placed in the <head> section.
  3. You have ‘edit’ user permissions.

If any of these three things raises a red flag, the GA verification option is not for you. If you pass the criteria, click the red Verify button and you’re off to the races. If you’re using Google Tag Manager, this method is a no-go, but you can use the GTM method in the paragraph after this.

Google Tag Manager

If you’re using Google Tag Manager, you can’t use the GA method, but there’s an option specifically for you. Needless to say, there are criteria for this also:

  1. You have to be using the container snippet.
  2. You must have ‘manage’ user permissions for that container.

If you don’t fit those criteria, keep moving. If you do, click ‘Verify’ and you’re done.

HTML Tag

The HTML tag is simply a meta tag (a single line of HTML code) that gets added to the homepage and voila, verifies the site/profile. Depending on the CMS, this may be very easy to do (in WordPress it’s a pinch). You can either do this yourself if you have CMS access, or ask a web developer or marketing manager to implement it. How you do this depends on what CMS you’re using. It’s likely you have a custom HTML field or something similar where the tag can be added. The tag needs to go in the <head> section of the homepage.

Once you’ve verified it has been added, go back into Search Console and click the big red ‘Verify’ button. Even after you’ve succeeded, leave the HTML tag on the home page, or the property will revert back to unverified status.

HTML File Upload

The HTML file upload is similar to the HTML tag, but instead of a line of code, you’re adding a small HTML file to the root domain. To do this, you’ll effectively need the ability to add files to the root folder on the hosting provider. FTP access is ideal, but if you’re a marketer, you probably don’t have that. If possible, ask the web developer to add it. Once you’ve done this, visit the URL created by the file to ensure it’s in the root folder and not a subfolder.

Domain Name Provider

This method is listed as Google’s recommended method – possibly because it’s the most secure? In any case, Google will prompt you to log into the provider where you bought your domain name (for example, GoDaddy or NameCheap).

If you have access to the domain name provider – that’s fine. However (and speaking from experience) it’s much more likely that you don’t have access to this, which makes it a moot point. I’ve only used this method to verify a Search Console profile once, and it was on my own site. On the hundreds of other GSC profiles I’ve created over the years, I’ve never had access to the domain name provider. With clients, getting access to that may involve going through a compliance department or IT team, which, as you can imagine, takes far more time than it’s worth. There are simply easier ways!

Search Console/Webmaster Tools Verification on WordPress

If you’re trying to verify Google Search Console or Bing Webmaster Tools on WordPress, you’re in luck, because it’s ridiculously easy. I’ll assume you already have one of two SEO plugins installed. Either A) Yoast’s WordPress SEO plugin or B) All In One SEO Pack. Both are really freaking good plugins and you’re doing yourself a disservice if you don’t have one of them installed on your WordPress site.

Verifying Search Console with Yoast’s WordPress SEO Plugin

In the WordPress backend, go to SEO > Dashboard > Webmaster Tools. Yes there is also a Search Console menu item. No, that’s not where you actually verify Search Console.

Here you’ll see three different form fields Go back and look at the HTML tag I mentioned earlier in this post, copy the value and enter it here. You can also enter your Bing Webmaster Tools Verification (you have that too, right?)

Once you’ve done that, click ‘Save Changes’ then go back into Search Console and click verify (using the HTML tag method).

Verifying Search Console with All In One SEO Pack

For those using All in One SEO Pack, the process is not much different. Go to All In One SEO > General Settings and scroll all the way down to the ‘Webmaster Verification’ section, where you will see the same two fields for Google and Bing Webmaster Tools.

 

Once you’ve done this, KEEP SCROLLING DOWN. With so many features on one page, it’s easy to miss the ‘Update Options’ button, which is critical to make sure your settings get saved.

That’s essentially it. With 5 different options to verify GSC, you’re sure to find at least one option that works for you, and verifying by more than one option is always a nice failsafe if you have the option available to you. Questions? Comment here or hit me up on Twitter (@BerkleyBikes)

Contact Form 7 Event Tracking with Google Tag Manager

By | Analytics | 6 Comments

If you fit the following criteria, this article is right for you:

  1. You use the Contact Form 7 plugin on your WordPress site.
  2. You want to set up contact form submissions as a Goal in Google Analytics (or even just as an Event).
  3. You have Google Analytics deployed on your site using Google Tag Manager.

If you’re not using Google Tag Manager, the tutorial on Contact Form 7’s site is really quite good. However, if you’re using Tag Manager, I haven’t found a resource that will help you much, so I created one here. It’s really quite easy, there are several simple steps:

Step 1: Create a GTM Tag.

Step 2: Create a GTM Trigger & publish the GTM container.

Step 3: Set up a Goal Conversion in Google Analytics based on the Event.

Step 1: Log into GTM and Create a New Tag

Log into GTM and either select the “New Tag” box or navigate over to the “Tags” section and create one there. Name the new tag whatever you want (I’ve chosen the oh-so-descriptive “Contact Form Submission”).

Fill out the following fields as such:

Tag Type: Universal Analytics

Tracking ID: Your tracking ID. I have mine set up as a variable, which explains why it says {{GA Tracking Code}}

Track Type: Event

Next you’re going to set the Category, Action, Label and Value for the Event we’re creating. If you’re not familiar with these, there’s more information in Google’s Analytics Help page for Events.

Category: You can set this as whatever you want and that’s what it’s going to show up as in Google Analytics when you go to the Events report. I’ve decided to continue my descriptive streak with the ever-elegant contact-form

Action: Again, the choice is yours. I’ve selected successful-form-submission because really, why mince words? (Alternatively, you could set up another event for unsuccessful form submissions, if you wanted to track that).

Label: You can also make this whatever you want, or even leave it blank. I went with the {{Page URL}} variable for a little extra clarification.

Value: I did not add a value. Your call.

Non-Interaction Hit: This is also your decision and the True/False answer will effectively change your bounce rates when the hit is fired. In essence, if someone lands on a page and completes a form submission then leaves without viewing other pages, that would be considered a bounce unless you choose False. I think someone who completes a form submission then leaves should not be considered a bounce, but that’s different for everyone.

More Settings & Advanced Settings: If you’re an analytics whiz, there are advanced settings in here that you may want to configure. However, I did not change any of them and if you ARE an analytics whiz, this is probably not the right blog for you.

When you’re done, you’ll end up with something like this:

Step 2: Create a GTM Trigger for the Tag

Next, create a Trigger for the Tag you’ve just created. I named mine Contact Form 7 Trigger.

Trigger Type: Pick Form Submission from the default list. Form Submission is a default Variable that listens for the firing of a ‘submit’ event on the page. In other words, when the form is submitted, the Contact 7 Form plugin will fire this event, effectively triggering the trigger, and in turn, the Event and Goal.

Wait for Tags and Check Validation: To read more about these, check out Simo Ahava’s GTM Trigger guide. For the purpose of this walk-through, we’re leaving them alone.

This Trigger Fires on: If you choose All Forms, it will fire on ANYTHING that fires a form submission. This may include things you did not anticipate, so I highly recommend choosing Some Forms with the following settings: Form Classes > Matches Regex > wpcf7-form.

Your Trigger should look something like this:

Now, click Save and then Publish your updated GTM container.

Step 3: Setting up the Goal Conversion

Next, go into Google Analytics and navigate to Admin > View > Goals. Click +New Goal and set it up as such:

Goal setup: Select Custom

Goal description:

Name: Call it whatever you want. Consistent with the spirit of this how-to, I’ve called mine Contact Form. 

Type: Select Event.

Goal details: 

Category: Equals to > contact-form (or whatever YOU named it in GTM)

Action: Equals to > successful-form-submission (or whatever YOU named it in GTM)

Label: This field lets you get more specific, but be forewarned, adding criteria in here may prevent you from tracking all submissions. I left it blank.

Value: Same as I said in reference to Label (see above).

Use the Event Value as the Goal Value: If you had a value attached to each event, you could set that up here. Since I did not, I will not.

Now click ‘Save’ and you’ve set up the Goal Conversion and appropriate tracking. You may want to test this to ensure it’s firing appropriately. When you do so, you can check GA’s Real-Time report while submitting information to the form. Pro-tip: If you’re on home or work Wifi and you’ve set up filters to block your own traffic, you won’t be able to see the Event fire. I recommend testing in an unfiltered View to make sure it goes through. If you want to get extra fancy, enter the site using custom UTM tags and then you’ll KNOW the Event that was fired was a result of your form submission.

Questions? Comment here or reach out to me on Twitter: BerkleyBikes.

How to: Learn the Google Analytics API with G Sheets

By | Analytics, SEO | No Comments

Listen, I get it. You’re not a developer and neither am I. The letters A-P-I probably give you palpitations. BUT, if you’re using the Google Sheets add-on, the Google Analytics API is really simple. Seriously.

What follows here is a beginner’s introduction that shows how to start using the API. This is for non-technical types and will start at square one. Full documentation is available at Google’s Implementation Guide.

Step 1: Getting Google Sheets Set Up

First, log into a Google account that has access to the Google Analytics account you normally use. Go to Drive and open a new Google Sheet, then go to the menu bar and select Add-ons > Get add-ons.

Next, search for Google Analytics and you’ll find this add-on:

Go ahead and click the +Free button to add it to your Google Sheet. When the authorization prompt pops up, click Allow at the bottom right.

Step 2: Getting Your Report Configuration Set Up

When you create a report the first time, the add-on does offer a user-friendly interface with drop down menus, etc, to help you set up your first report. You can access this by going to Add-Ons > Google AnalyticsCreate new report. I’m not going to use that, because ultimately, you’ll be making changes in the Sheet itself and it’s more valuable to understand what each of these fields does.

Now that you’ve got the add-on installed, go to Add-Ons > Google Analytics > Run reports. You’ll see this pop-up indicating the report failed, which is expected – we haven’t configured anything yet.

The point of doing this is: the add-on has now populated all the configuration fields that we’ll be working with to get it set up properly.

All those fields probably look confusing, but we’ll start breaking them down one by one and you’ll see it’s not that complex to pull basic data.

Step 3: Configuring Individual Fields

Report Name

When you run the report, the add-on is going to create a new tab in your Google Sheet with the information you’ve selected. Report Name simply tells the add-on what to name that tab. You can call it whatever you want, I’m calling it JAN.

Important Note: When you re-run the report multiple times, it will replace the data in the tab you’ve created. If you change the Report Name, it will create a new tab, preserving the old one. If you run the report and then delete the Report Name, it will keep the existing tab and preserve the data without creating another tab.

Type

Enter core.

View (Profile) ID / ids

Go into the Google Analytics view you want to pull data from. Click over to Admin and select View Settings under View.

Copy the View ID number.

Paste this into the Google Sheet with ga: in front of it.

Start Date

This is no different than setting the data range in Google Analytics. Add the start date in a normal date format.

End Date

Same as the start date, just pick your end date. Make sure it’s a date in the past, and a day with complete data. For example, if it’s March 5th, don’t pick a date range of 3/1/17 – 3/31/17. Also, don’t pick a date range of 3/1/17 – 3/5/17 because that day isn’t over yet and you’ll have incomplete, sampled data (Learn more about data sampling).

Last N Days

You can also pick a fixed number of days prior to the current day. I don’t use this field, but if you did, you’d simply enter an integer for the number of days you wanted to report on. For clarity, I suggest removing the start/end date, but the add-on does appear to override those dates if the Last N Days field is populated.

Metrics

This is the important stuff you really want to measure and you can have multiple metrics in here. You can use the Dimensions & Metrics Explorer to find Metrics to use. Since this is a basic guide, we’ll stick to simple ones.

  • ga:sessions – Pulls the number of sessions.
  • ga:goal1Completions – Pulls the number of Goal 1 Completions.
  • ga:goal2Completions – Pulls the number of Goal 2 Completions.

These will all get entered into the same cell.

Dimensions

Using the GA interface, you have the option to define the primary dimension, and you can do that here too. Popular choices might be:

  • ga:landingPagePath – Find landing pages responsible for sessions and goal completions.
  • ga:medium – Find the number of sessions and goal completions by channel (Organic vs. Referral vs. Paid, etc.)
  • ga:sourceMedium – Find sessions and goal completions by source & medium (Google Organic vs. Bing Organic vs. Google CPC, etc.)

We’ll keep it simple and go with landing pages. If you want to measure those by a specific medium, we’ll add that in a few paragraphs below this.

Sort

Really simple. How do you want the data sorted? Obviously, you can only sort by one dimension, so pick the dimension of your choice from above and enter it in this cell. GA’s default is to sort by sessions from high to low, and if you want to do that, enter a minus sign before the metric.

Filters

You can start to get really complex here, and if you use filters when you normally look at data in GA, you’ll need to add those here. For now, we’ll use a basic filter to look at organic traffic only.

This ensures we’re only pulling sessions, goal completions and landing pages from the organic medium.

Segment

Segments are arguably the most complex field of this report. There are multiple ways you can create segments, and the criteria for building them can be found in Google’s core reporting documentation.

In short, they can follow a syntax similar to this, where you’d have a segment for sessions from Canada:

For simplicity, I won’t use a segment in this walk-through.

Sampling Level

I never pull sampled data because it doesn’t paint the whole picture. Because of that, I opt for the higher precision setting and I suggest you do too.

Start Index

This option allows you to only show results from a specific starting point. For example, if you were pulling landing pages and wanted to ignore the top traffic-driving page (like the homepage) you can set this to ‘2’ and it will ignore that top result. I don’t use this much.

Max Results

The maximum value is 10,000, so no real reason to set it lower than that.

Spreadsheet URL

If you want to export the results into a separate sheet, you can enter the URL here.

Final Review

Once you’ve filled out all the fields, your configuration will look something like this:

Step 4: Run the Report

Once you’ve filled out all the fields, go back to Add-Ons > Google Analytics > Run reports. The sheet will render a new tab with the name you entered in the first field.

The resultant tab will look like this:

Check cell B6 and make sure it says ‘No’ – this will indicate whether you have sampled data or not. If you do, pick a smaller date range or narrow your area of focus to ensure your data is not sampled.

Step 5: Create Additional Reports

One of the benefits of using this is that you can run multiple reports simultaneously and pull data faster than you ever could using the web interface.

If you want to create another report, simply add data in the columns to the right of your first report. This is a super easy way to pull the same data over multiple months.

Step 6: Analyzing the Data and Building Reports

What’s next is up to you. The API is simply a faster way to get a lot of data out of GA and into a spreadsheet. From there, you can elect to build reports directly in Google Sheets, Google Slides or Google Docs. You can also export the data into Excel or build a PowerPoint.

I tend to prefer building reports in Docs or Slides using data that lives in a Google Sheet. That way it can be easily updated and is accessible to multiple editors who might be compiling the report.

Questions

As always, comment here or tweet at me if you have any questions.

Course & ItemList Education Schema

By | SEO, Technical SEO | No Comments

In December, Google announced they’re supporting Course Schema by providing rich snippets in search results. Where can this Schema be applied? Educational content that is “A series or unit of curriculum that contains lectures, lessons, or modules in a particular subject and/or topic.”

The Education Schema doesn’t appear to have any tangible benefit for desktop results, but here’s a screenshot of what it looks like on mobile:

What it means: Educational sites can increase their presence in mobile organic results by four fold. Not only does the ranking page appear, but there are up to three additional links featured underneath. This is an incredible land grab, one that nearly dominates the entire screen on a mobile device.

There must be some criteria to determine what sites qualify for this Schema, but it’s not exactly clear. If it worked on any site, folks would already be abusing this. It doesn’t appear to be keyword-specific, and more likely relies on Google’s interpretation of what constitutes an education-related site.

How Does Educational Course Schema Work?

There are two parts: ItemList Schema and the Course Schema itself. The ItemList Schema works in tandem with the Course Schema to present the rich snippet seen above.

ItemList Schema

ItemList Schema is placed on a program or category page that features individual classes, courses or degrees. It’s literally just Schema that indicates a list of links present on the page. There are three fields:

  1. itemListElement
  2. ListItem.position
  3. ListItem.url

Here’s what the code looks like:

Course Schema

The actual Course Schema isn’t complex either. Course Schema is placed on each of the individual pages featured on the program or category page.

It has three fields:

  1. Name
  2. Description (limited to 60 characters)
  3. Provider

Here’s what the code looks like:

Notably, Course Schema itself is pretty bland and not specific to education at all. However, this Schema is currently listed as pending on Schema.org, and there are a large number of additional fields (none of which appear to provide tangible benefit other than helping Google crawl the page).

What’s The Benefit of Course Schema?

First, taking up extra space in search results knocks competitors lower. Secondly, it provides sites with the ability to rank other pages for specific keywords where they normally wouldn’t rank.

For example, if you have a category page that ranks for Healthcare Degrees, you can now add a link to specific degree programs like Master of Public Health or Master of Health Informatics. These are pages that are likely lower in the conversion funnel and would never normally rank for a higher funnel keyword.

Effort vs. Impact

There’s very little effort involved here. Writing the Schema itself takes less than 30 minutes and if you have the ability to insert a block of JSON code on the four pages in question, implementing shouldn’t take any longer either.

Any real investment in time should go towards strategizing what pages to include in the Schema. Pages that are higher priority or higher traffic are likely to be better candidates.

The impact is clear and almost immediate – I recommend submitting these pages to Search Console for crawling and indexing once the Schema is live. This is a rare scenario where SEO provides instant gratification.

Reporting & Measurement

Once the Schema is live, you can use a combination of traffic in Google Analytics and impression/click data from Google Search Console to gauge the full impact. Search Console will also give you the keyword data, so that’s likely to be more valuable for tracking clicks from keywords where the page would not normally rank.

If you have any questions, comment here or tweet at me: @BerkleyBikes.