SEO Split Test Using Python + CausalImpact + Tag Manager

In this guide, I will provide you with everything you need to set up your own SEO split tests with Python, R, the CausalImpact package and Google Tag Manager.

I have built this tutorial to show you how you can set-up an SEO test on Meta Descriptions and Meta Titles from scratch.

You will learn a lot of stuff here:

Subscribe to my Newsletter

  • How to extract your Google Analytics Data using Python;
  • How to create your control and test group using stratified sampling;
  • How to change your meta tags in Google Tag Manager;
  • How to run your test with CausalImpact.

This guide is an advanced SEO tutorial, but I will walk you through each step carefully.

Here are the links for the complete tutorial.

SEO Split-Testing Guide [Step-by-step]

Here are the four simple steps to make your own split-testing experiment using Python, Google Analytics, Google Tag Manager, R, and CausalImpact.

This post is about empowering SEOs to do things themselves, but I would recommend that you set the experiment (step 4) with your developers, not with Google Tag Manager.

Step 1: Before your run an SEO A/B Experiment (external post by Trevor Fox)

Step 2: Install Python and R Using Anaconda

Step 3: Stratified Sampling Using Google Analytics + Python

Step 4: SEO Split-Testing Experiments using Google Tag Manager

Step 5: CausalImpact for SEO [Complete DIY SEO Experiment]

What is SEO split testing?

SEO Split-testing is a type of A/B Testing that compares buckets of pages against each other to evaluate which group performs better in organic searches of search engines like Google.

A/B testing is a method of comparing two versions of a webpage against each other to determine which one performs better.

Why SEO Split Testing?

Ever since Distilled has started talking about SEO A/B Testing, the CausalImpact package for R grew in popularity in the SEO community. Many, many posts were written on the virtues of SEO Split Testing. If you want to get hooked, just watch this series of videos by Dominic Woodman.

What You Need To Get Started

No guides out there really shows the steps to implement SEO Split Test by yourself.

This is because it can get quite tricky to do it.

To make SEO split tests you need to know a few things:

Don’t worry, this guide is a step-by-step guide that will walk you through each step without too much hustle.

What you will absolutely need though is this:


In this guide, you’ll cover a lot of grounds.

If you feel like you need to learn Python SEO or you need to understand SEO Split Testing better, there are plenty of resources available for you.

You are now ready to run your first SEO Split Test using Python, R, CausalImpact, Google Analytics, and Google Tag Manager.

5/5 - (1 vote)