5 Secret Ways You Can Use Google Tag Manager to Boost Your SEO Strategy
Analytics

5 Secret Ways You Can Use Google Tag Manager to Boost Your SEO Strategy

29th November 2016

In the right hands, Google Tag Manager can be so much more than just a way to install Google Analytics tracking or Facebook pixel. Over the past few years of working with Google Tag Manager, I have come across several surprising and very clever implementations to help improve the SEO strategies I deliver for clients.

Google Tag Manager is tag manager solution used on 25% of the top 1,000 websites and represents a 92.1% market share amongst other tagging alternatives.

These numbers won’t surprise anyone who has had the opportunity to try it out. This JavaScript based program enables marketers (or anyone really) to implement tracking codes without the need to access the source code of their websites and apps.

Here are some of the most interesting ways you can use GTM to boost your SEO efforts.

1. Sanitise your content with structured data injection

Structured data is a method to sort information on your website in a way that is understandable to search engines. This markup can be represented in multiple types of format, such as JSON-LD, Microdata or RDFa. To get your data organised (or structured), you need to insert short snippets of code directly in the source code of your website or app, on each page where you want structured data to appear.

Google can take this additional information about your content and highlight it on search result page and thus increase the chance user will click on your link.

You can read more about the importance of structured data in my blog here.

Google Tag Manager can make the implementation of structured data much faster. Instead of manually including snippets in source code (which usually means asking a developer to do so), deploying markup as custom HTML tag in Google Tag Manager takes few minutes. Here is how:

gtm1

On the screenshot above you can see example of tag configuration to inject structured data for Organization and Social links. As we want to have this markup implemented on whole website, we have used “All pages” as a trigger.

The same process can be repeated with other types of structured data, such as product, reviews, app and others. You can verify the markup in Google’s Structured Data Testing tool here.

2. Classify blog posts in Google Analytics

If you’ve ever felt the need to see more information about what type of blog posts or pages perform the best on your website, this brilliant solution from Lunametrics has the answers.

Lunametrics suggest boosting Google Analytics’ content grouping feature with few bits of GTM executed JavaScript. This way we can further segment Google Analytics content reports based on the length of a blog post, whether the page contains a YouTube video, how many images are present or what type of headline works best.

Here is an example of JavaScript which needs to be pasted as a custom JavaScript variable in Google Tag Manager:

screen-shot-2016-11-16-at-15-55-20
This script counts number of words in the post using regular expressions and then returns range based on the word count. This value is then passed to a Google Analytics tag which assigns it to a previously defined content group.

The full detailed instructions can be found here.

3. Watch your users watch your YouTube videos: Video tracking

Let’s speaking about your YouTube videos – do you know if they are having any impact at all? Are your customers watching it? How much of them do they watch? Are they impacting the speed of your website?

Here is a nifty Google Tag Manager implementation, which will help you answer all of these questions.

First of all, we need to find out whether a page contains a YouTube video or not. We can do so by using this custom JavaScript variable:

gtm2

Once we have checked whether a page contains a YouTube video, we can proceed to track if users click to play the video, pause it or whether they watch it to its end.

The step-by-step guide can be found here.

4. Scroll tracking: In case people are browsing your website, but not really

Using Google Tag Manager, you can also gain an insight about how far within your website do users really scroll down.

This information can help you make better decision regarding UX of your site, length of the text or its placement on the site.

This scroll tracking plugin sets breakpoints based on the page height, then fires events when anyone scrolls to certain percentages of a page: 10%, 25%, 50%, 75%, 90% and 100%.

Check out the full step-by-step guide here.

5. Be unique: Self referencing rel=canonicals

In the world of scrapers, cashes, cookies and dynamically pushed fragments to URLs on our websites, sometimes it’s very challenging to make sure our pages don’t have duplicates and don’t get copied over in various forms. That’s why it’s important to include self-referencing rel canonical URL tags on each of our unique pages. This way we make it much easier for search engines like Google and Bing to determine which is the original page over its copies.

Implementation of rel canonical URL tags often takes a lot of time and effort from development point of view, which can be eliminated with Google Tag Manager.

This guide by Lucía Marín shows how we can generate and insert self referencing rel canonical URL tags using Google Tag Manager and its variables.

All of the above mentioned scripts and guides can be easily implemented without major coding skills and can contribute to lots of better decisions and saved hours of development resources. I hope you will try at least one if not all of these awesome Google Tag Manager hacks. And as with every Google Tag Manager implementation, don’t forget to test, test and test.

Tags

Written By
Pete Campbell is the Managing Director of the award-winning Kaizen. He works with global brands on SEO & Content Marketing campaigns to increase their online visibility. He is also a regular speaker at digital marketing conferences including SMX, BrightonSEO & SEMDays.
  • This field is for validation purposes and should be left unchanged.