Cardinal Path

Get More Data Out Of Google Website Optimizer with Google Analytics

What can we get straight out of the box?

Usually, when you test a page in Google Website Optimizer, this is the sort of information you’ll get:

Screenshot of Google Website Optimizer test results interface.

Screenshot of Google Website Optimizer test results interface.

What are we looking at? These are the conversion rates for each of two versions of a page, and which combination is performing the best.  This is done with the intent of keeping the version with the best conversion rate once the test has been completed.

How is the conversion rate calculated?

How is the conversion rate defined in Google Website Optimizer?  Well, when you set up the test in Google Website Optimizer, you’re asked to identify the page that signifies whether or not the guinea pi-err… visitor has done what you want them to do.  If you’re trying to get visitors to buy something, for instance, you should use the URL of the page they get to see after they’ve completed the purchasing process (the “thanks” or “confirmation” page).

Screenshot of step 3 in GWO Multivariate Experiment Setup process

Screenshot of step 3 in GWO Multivariate Experiment Setup process

This is all that Google Website Optimizer will tell you:  did the visitor convert or not, and on which version of the page?  For many, this is more than good enough.  For some, whom I hope I’m speaking to right now, it’s woefully inadequate.

Well, we’ve got a solution for you: just add Google Analytics, some Events and just a touch of Advanced Segments.

Tying it all together

The gist of it is this.  When you set up the new version of the page (as in an A/B test) or add the code to swap out a particular section on a page (as in a multivariate test), you also add a line of JavaScript setting up a Google Analytics Event which identifies which version of the page or section it is.

I’ve been asked to keep the code-speak down a bit, but I’m going to show you an example of what this might look like so you can judge for yourself whether you need a little help from a web guru.  If you’re very code averse, just skip it.  I won’t be hurt.  Really.

Screenshot of code setting up the Event in a GWO section tag.

Screenshot of code setting up the Event in a GWO section tag

Then, you go into Google Analytics and set up an Advanced Segment (or a Custom Report, if you’re sassy like that) that will show only the data from one of the versions of the webpage (or section thereof).  Do this for each version you have running in Google Website Optimizer.

Screenshot of Advanced Segment for hypothetical ‘version1’

Screenshot of Advanced Segment for hypothetical ‘version1’

Now that I’ve got this data,
what do I do with it?

Once you’ve deactivated all other Advanced Segments, and activated this new one, you’ll be able to find out whatever you want about the behavior of visitors on (or in response to) each version of the page being tested.  You might find out that one version of the page is heavily favoured by Scottish Apple users, for instance, or that one version of the page is sending visitors to a page you never expected it to.

If your objective is to optimize your user’s experience with your website, there’s so much more to life than just the conversion rate.

If you want to learn more about A/B testing, have a look at Michael Straker‘s blog post at http://www.cardinalpath.com/ab-testing-clustered-vs-clean-experiment-design/.

This entry was posted in Web Analytics and tagged , , , , , , . Bookmark the permalink.
  • Brett

    Will this still work in Multivariate Testing for multiple sections?

    Example: 3 sections.. what event  code do I put in each one? Since google can serve up a combination of any variation in the sections I assume, there’s no more just version1, version2 etc?

    • Brett

      I guess I put unique actions in each section variation.. like 
      _gaq.push(['_trackEvent', 'gwolanding', 'section1-version1']);
      _gaq.push(['_trackEvent', 'gwolanding', 'section1-version2']); 
      _gaq.push(['_trackEvent', 'gwolanding', 'section2-version1']);_gaq.push(['_trackEvent', 'gwolanding', 'section2-version2']); 
      etc

      • Jordan Louis

        To use this with multivariate tests, you could use a separate _trackEvent tag in each utmx_section, with an event label appropriate to that alternative, just as you suggested in your followup.  

        Then you could probably go ahead and work some inline filter magic in order to examine the stats on each combination – ie. include visits where event label was ‘section1-version1′ and visits where event label was ‘section2-version1′, and so on.

        Incidentally, the first time I used this was in a multivariate test. :)

  • Vesko Aleksandrov

    Great idea Jordan! Thanks so much for sharing!

    If you allow me to make a suggestion: to avoid affecting the bounce rate calculation, consider using the optional non-interaction flag:

    _trackEvent(category, action, opt_label, opt_value, true);

    More info is available here:
    http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html#SettingUpEventTracking

    Happy testing,
    Vesko.

    • Jordan Louis

      That’s a great idea!  Mind if I edit the post to include your suggestion?

      • Brett

        Could you elaborate, why wouldn’t we want the event to count in the bounce rate calculation? 

        • Brett

          Ah I understand, since the events are going to get automatically triggered, the bounce rate will be incorrect since it’s not counted as a bounce if an event triggers. So we HAVE to set the event to non-interaction or else our bounce will be wrong.
          thanks!

          • Vesko Aleksandrov

            Exactly, the bounce rate will significantly drop unless the auto-triggered events have the non-interaction flag set.

      • Vesko Aleksandrov

         Please do so! Sorry for my sluggish response! I never received the email notification… :)