The ROI Revolution Blog
Using utm_nooverride Part 3 of 3 - Through the Wormhole
September 4, 2007
Click Here For Part 1 - Branding
Click Here For Part 2 - Tracking Emails
What do the topological feature of spacetime and the interesting little Google Analytics variable have in common?
Both deal with travel. One just happens to deal with matter traveling through spacetime, and one deals with visitors to your website. While I am not an expert on wormholes, I do understand how the utm_nooverride variable affects your visitors, and this post is about using the utm_nooverride for those websites that feature special paths which take the user through all sorts of intergalactic mayhem.
This includes websites that send the user to third party domains, even if just for a moment. This could be due to an autoresponder, a shopping cart, a form submission, a tool for visitors to use, credit card processing, and a whole host of other possibilities to consider.
A good example of a 'wormhole' is PayPal. When a user clicks on a PayPal link, they travel to a new domain. On top of that, it's a domain you can't control. You can't add any code to the PayPal pages or make the modifications that you would need to track things according to Google's official instructions. But you can control the URL that brings the user back to your site. And that's where the utm_nooverride comes in.
Here's the thing - whenever a visitor leaves your domain, they don't bring along the picnic basket that contains their Google Analytics cookies. What this means is that if they come back to the site (as with PayPal), a new set of cookies will be created (probably marking the user as a PayPal referral). Sometimes there is no good way to make sure that your visitors are bringing their cookies along with them, and in that case, you have to be creative. Enter the utm_nooverride variable.
So what does this do?
If you change a link so that it contains the utm_nooverride variable, then it prevents a new set of cookies from being created only if cookies for a domain already exist.
Here's an example to illustrate:
Let's say I visit the site www.cheesemongr.com through an AdWords ad. I get cookies created for cheesemongr.com that label me as an AdWords visitor.
If during my visit, I decide to buy some cheese using the PayPal option, I would leave the site and head over to the PayPal domain, leaving my cheesemongr cookies behind (but still in my browser).
Here's where the utm_nooverride variable comes into play. It affects the ride home. If I do not use the utm_nooverride variable, when I get to the cheesemongr thank you page, my old cookies will be thrown away, and new cookies will be created saying that I came from PayPal, thus losing the AdWords information that was 'on file'. It's kind of like customs.
If, however, we use Michael's method, the utm_nooverride variable is present in the URL when I get back to cheesemongr. Instead of creating new cookies, Google Analytics will simply use the one I already had. This means if I made a transaction (which I probably did if I came to the receipt page), it will attribute it to the appropriate source - in this case AdWords.
There are many situations where we have had to use this method. PayPal just happens to be a fairly common one. You can also use this for certain kind of shopping carts that offer you limited control (like 1shoppingcart), or for forms that feed your visitors into an autoresponder sequence before bringing them back to the site.
Here are the instructions for adding the utm_nooverride variable to your links. You can find two other reasons for using the variable at either Part 1 (Branded Keywords) or Part 2 (Email Sequences).
If your normal destination URL looks like this:
www.cheesemongr.com/thankyou.htm
Change it to this:
www.cheesemongr.com/thankyou.htm?utm_nooverride=1
If your normal destination URL looks like this:
www.domain.com/ty.htm?checkout=true
Change it to this:
www.domain.com/ty.htm?checkout=true&utm_nooverride=1
As always, there are a couple of warnings/comments/stipulations to using this method.
First, it's always best to not have to use workarounds like this to track visitors. If you can set things up using the linking functions of Analytics, that's almost always the best way.
Second, if you use this method, it's not a good idea to track the third-party domain in question. In other words, if you are using this for PayPal, you aren't tagging the PayPal pages. If you are using it with 1shoppingcart, you shouldn't tag your 1shoppingcart pages. Basically you have to ignore the user's navigation on the third-party domain. It's almost as if this part didn't happen.
Well, that just about wraps it up. If you're into space-age websites with otherworldly architecture, then you're probably going to need to know a few intergalactic tricks to get your tracking set up in a way that works for your business. If you find that this is all too much to handle on your own, feel free to hire your own guide through the Google Analytics galaxy.
Sorry for the analogy overload there at the end. As always, I'd love to hear your comments/suggestions for this article.
Interested in learning more about Google Analytics?
Attend our LIVE Google Analytics Seminars for Success training in Atlanta, GA Wednesday, April 14th, 2010 and Thursday, April 15th, 2010 or get the latest tips and tricks sent to you via our free, twice-monthly Google Analytics newsletter.
Posted by Shawn Purtell, Analytics and Optimization Specialist at 12:49 PM
Permalink | Comments ( 16 ) | TrackBacks ( 0 )
Filed under: Analytics
Tagged as: Analytics Technology, Tracking
Comments
@Duong:
We've actually seen this before. If you are unable to add any code to the 3rd party shopping cart, then adding _udn="none" and _ulink=1 to your urchin.js code will not help. These lines are only necessary when you are passing cookie data from your site (with Google Analytics code) to the shopping cart site (also with Google Analytics code).
It's hard to give you more information without knowing the specifics, but in general you want the user to get back to a receipt page on your main site using utm_nooverride. If you want to also track Ecommerce, you need to somehow pass the transaction data along to this receipt page. Many carts (1ShoppingCart for example) allow you to pass the transaction information to your own receipt page either using the POST method or in the query string (GET method) and then use it in your Google Analytics code.
Hope that helps!
May 29, 2008 10:47 PM
This was a great series! Thanks for the info.
Would you recommend using the utm_nooverride for internal link tagging if you'd rather not use the _trackPagview method? That might be an easy way to track internal links without losing referral resources. Thoughts?
July 29, 2008 3:37 PM
@Josh:
Thanks for reading! To be honest, I'm not 100% sure what you are asking here, mostly because I'm not sure what you mean by 'internal link tagging'.
The _trackPageview method and the utm_nooverride variable serve completely different purposes, so I'm not sure how one would ever replace the other effectively. If you could clarify a bit, I may be able to offer some insights. Thanks again!
August 1, 2008 9:58 AM
Hi,
Thanks a lot for the post. I have a small doubt. We use Adwords a lot, so i want to know what are the exact searched query typed by the user. I am able to get that keyword in utmctr only for organic traffic but not for the paid search from any search engine. utmctr is not existing in case of paid search. What approach should i follow to get the data for paid search.
Thank you
Vipul
October 10, 2008 1:49 AM
@Vipul: We actually have a free tool you can use to do this, and you can find the instructions for it by reading Michael's blog article found here. Hope that helps!
October 10, 2008 7:58 AM
Shawn,
Thanks for the series on utm_nooverride. I'm currently implementing GA tracking on a site that uses 1shoppingcart. Can you provide a little more explanation as to why we should not include the tracking script on the 1shoppingcart pages?
Thanks again,
Clark
November 5, 2008 10:31 PM
Shawn
Quick followup to the post I just submitted. I'm using ga.js and found references to ga_nooverride in the Google Analytics Migration Guide. Since I'm using ga.js, should I append the destination URL with ga_nooverride or utm_nooverride?
Thanks,
Clark
November 5, 2008 10:49 PM
@Clark:
Ah, I'll try to keep my explanation for 1ShoppingCart as simple as possible, as it can get a little complicated.
Basically, when you move from domainA.com to domainB.com while using Google Analytics, you need to pass along the Google Analytics cookie data, or else the old cookies will be lost and new cookies will be created, thus ending the first visit and creating a second visit as a referral from domainA.com. Normally, you would use the linking functions within Google Analytics to do this, but unfortunately with 1ShoppingCart, there is currently no way to use the linking functions on the way back to your site. That's why we have been using the utm_nooverride workaround successfully with our clients for well over a year.
As to your second question, right now utm_nooverride is the only method supported. In the migration guide there's a part that shows you how to use a different variable for this (let's face it, utm_nooverride is an ugly, ugly variable). You can modify your Google Analytics code to look for a different variable instead of utm_nooverride by using the _setCampNOKey function for ga.js. If you're not interested in this degree of customization, then you still need to use utm_nooverride.
November 6, 2008 8:10 AM
Hi Shawn
Thank you for your earlier explanation. Unfortunately, I'm still seeing the 1shoppingcart domain (mcssl.com)as the referrer for my ecomm transaction in GA.
I'm thinking this disconnect is due to the Thank You page being on a different domain from the initial product page. Checkout process follows as such:
Product page (html on domain A) -> 1shoppingcart -> Thank You page (php on domain B)
I've made these modifications to try to keep the initial referrer for my ecomm transactions:
1. Changed Thank you page URL from ThankYou.php to ThankYou.php?utm_nooverride=1
2. Added two lines to the ga.js on domain A and domain B:
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);
3. Removed all references to GA on 1shoppingcart
4. Added the below onclick to the links from Product Page to 1shoppingcart:
onclick="pageTracker._link(this.href); return false;
What am I missing?
Thanks in advance,
Clark
November 15, 2008 11:31 PM
Hi Clark:
Google Analytics uses first party cookies, which means when a user is on domainA.com, cookies are created only for domainA.com. With the way you currently have it set up, once the user goes through 1ShoppingCart, they end up on domainB.com. domainB.com has no way of reading the cookies of domainA.com, and so you will end up with a new visit from mcssl.com, which is 1ShoppingCart's domain.
The only way around this is to make the visitor get back to the original domainA.com at some point after the transaction. You could do this through a redirect or by simply setting up a new thank you page on domainA.com. Without doing this, you will continue to see referrals from mcssl.com.
Also, in this case - setting ._setDomainName("none") and ._setAllowLinker(true) wont do anything, since there is no tracking on 1ShoppingCart and therefore there is no Google Analytics cookie data to send. These two lines are only used when passing cookie data directly from one domain to another.
Hope that helps!
November 17, 2008 8:00 AM
@Clark: your issue with 1ShoppingCart is, unfortunately, a problem stemming from 1SC failing to properly support Google Analytics. The problem is their system routes through a number of redirects, which strip out the _link(); parameters from the URI when moving between your site and 1SC or vice-versa.
I've asked them directly to re-evaluate their GA support, but so far it has been ignored. If you are a 1ShoppingCart customer I encourage you to write them and ask they re-evaluate their GA support with the help of a Google Analytics Authorized Consultant so they can be sure to get it right for their customers.
Best,
-Caleb Whitmore
April 8, 2009 1:36 PM
Excellent blog posts.
We add utm_nooverride=1 to all our links in our newsletters.
Can't we just somehow add that to the Google javascript on each of our pages?
Thank you.
May 3, 2009 2:27 AM
@DSC:
You can do that, although I'd caution you that this will affect all traffic, not just email traffic that views the page, which could interfere with your current tracking in ways you'd might not expect.
If you still want to give it a try, you can add the following two lines to your Google Analytics code (ga.js version), before the trackPageview, but after pageTracker is defined:
location.hash="utm_nooverride=1";
pageTracker._setAllowAnchor(true);
Hope that helps!
May 5, 2009 8:56 AM
Your comment is awaiting moderation.
-> How to display category vice products in asp.net application from 1shoppingcart website. (API of list of products)?
-> How to get credit card information on thank you page? (1shoppingcart)
-> How to pass custom variables on view cart page?(1shoppingcart)
I really appreciate your help.
Thank You.
February 15, 2010 12:59 AM
@Vatsal:
Unfortunately, these are all advanced and specific support issues. I suggest trying to contact 1ShoppingCart's support or dev team to try and get more information concerning your specific questions.
Receive new blog posts immediately direct to your email inbox!











If I wanted to also track ecommerce data, do I need to add
_udn="none";
_ulink=1;
to my GA code and
\https://www.securecart.com/?store=parameters" onclick="__utmLinker(this.href); return false;">Purchase Now\
to my links for this to work?
Unfortunately, I am unable to insert any script on the 3rd party shopping cart.
May 29, 2008 2:33 AM