Serving up my thoughts since 2004

Google Analytics Initial Referrer Update

I just posted a solution for capturing the initial referrer on landing pages that use JavaScript to redirect to a different page, and already I’ve found another (and maybe better) solution.

I just read a post by ShoreTel who suggests using initData without the trackPageview call. This will indeed set the GA cookies with the correct initial referrer value and not mess up pageview numbers.

On the landing page that does the JavaScript redirect, copy the original Google Analytics tracking code (something like this):

and change it to this:

Both solutions should work fine!


  1. The solution here is awesome. I will definitely be using this on the site’s I’m working on.

    On another note I had a quick question on setting up an A/B test on a WordPress website. The issue I’m having is that Website Optimizer wants the initial control script above the tag. While adding the control script on the page template works it also adds the script to everyone of my pages. Most browsers don’t mind but Chrome gets trapped in an infinite loop.

    I searched everywhere and no one has a solution on how to add Website Optimizer code to a WordPress website for an A/B test. The only thing available is an extension that allows for multivariate testing on headlines and images.

    Is it possible to write a conditional statement that writes the needed JavaScript code above the tag when the correct page is served?

  2. I’m not sure I’m following – does this process overwrite the ‘last referrer’? How do you then use the ‘initial referrer’ data within GA?

  3. The initData function is no longer included in the default GATC and may vanish from ga.js altogether. I’d recommend setting the account to some bogus id, then running pageTracker:

    var pageTracker = _gat._getTracker(“UA-0-0”);

  4. @Mike:

    Using a bogus ID sounds like a good idea (I’ll trust you it works).

    I wouldn’t be worried though about Google removing the initData function anytime soon (or at all). Google is pretty good about keeping backwards compatibility. Think of all of the existing installations that would break if they were to do so.

    – Ophir

  5. Hello,

    did you see the recent discussion thread?

    Two gents started arguing each of theirs was the best solution, and I am confused.

    What would you recommend given your own experience on the matter?


  6. Is the change you suggest above here the ONLY change to be made to the page? Or, does the above need to be combined with any of the changes suggested in your previous solution? ShoreTel suggests also to add another instance of the full GA tracking code at the bottom of the page, this instance including the page tracker as well? I am totally lost… help ! Many thanks for your assistance !

  7. Ehi evrybody, but this is the old code, but what are talking about new asynchronous code?
    It is the same thing? Or what??
    Thanks a lot.

  8. Hi,

    I am having the same issue. I am running an A/B and it appears that the B page has a very high direct traffic. Now if we are using the latest asynchronous google analytics, can we run this on the control page before the transfer:

    var _gaq = _gaq || [];
    _gaq.push([‘_setAccount’, ‘UA-00000-1’]);

    Next question is why does it go into the A (landing page). Shouldn’t it be initialized in the B page where the referrer is not set? Or is it that by calling this trackpageview on the A page, it doesn’t wipe out the referrer but rather passes it to the B page? Your help would be much appreciated.

    Thusjanthan Kubendranathan

Leave a Reply

Your email address will not be published.


© 2024

Theme by Anders NorenUp ↑