The Blog

An Update to the Erik Vasilik's "Poor Man's GWO/Analytics Integration": Using Custom Variables


GWO and GA, together at last

Here's an update to Erik Vasilik's “Poor Man's GWO/Analytics Integration” technique. The latest iteration of the technique used GA's user-defined variable to store the combination the visitor saw. Here's an update to that technique, but leveraging the new Custom Variables just released by Google.

Multivariate Test Integration

To integrate with an MV test, you need to replace the code

pageTracker._setVar("MyExperiment-" + utmx('combination'));
]]>

with

pageTracker._setCustomVar(1, 'GWO Tests - Basic MVT Experiment', utmx('combination_string'), 1);
]]>

You will need to make a few modifications to the code.

  1. Update the first argument to an unused MCV slot. In the sample code, we'll be storing the GWO information in slot 1.
  2. Update 'Basic MVT Experiment' to the name of the experiment being run.

You will need to be very careful as to where you place this script. The function _setCustomVar must be called before the call to _trackPageview. This is because custom vars are sent with the next call to either _trackPageview or _trackEvent. This is in contrast to _setVar, which sends it's own request when the code is executed.

Here is some sample code for how the order of execution should appear:


]]>

A/B Test integration

As with the old GA/GWO integration technique, special consideration must be taken for A/B experiments. Because the page redirects to the “B” page before any analytics code is run, we need to insert the custom variable code between the code that defines the “utmx” function, and the code that actually runs the “utmx” function. Using UDVs, this was easily achieved by inserting the call to _setVar between the two pieces of code. But, remember how I mentioned that MCVs are sent along with the next call to _trackPageview or _trackEvent? Well, setting the custom variable, and then sending either a pageview or event will have a really negative effect on your bounce rates. Especially if your A/B experiment is on a landing page!

To track the A/B test correctly, you can implement one of the following solutions:

  1. In the GA tracking code on the A and B pages, populate the custom variable information using information stored in the “__utmx” cookie.
  2. In between the two sets of code, set a cookie containing the experiment information. Then, in the GA tracking code on the A and B pages, read the cookie, set the custom variable, then delete the cookie. I would highly recommend this method because the JavaScript code is simpler to implement

Like this post? Give it a Sphinn!

Copyright © 2014, All Rights Reserved. Privacy and Copyright Policies.