Tracking - Some lessons we learnt the hard way (GA, SiteCatalyst and Marin)


I thought I’d write out some of the things we’ve learnt about getting accurate tracking using unBounce pages. Before I start, just some context:

I manage my company’s PPC landing pages, but most of them are now built by sub-editors who also manage the PPC traffic going to the pages. Since the company operates in dozens of markets around the world, we have lots of different people making landing pages in various languages.

Each landing page lives in an ecosystem of 4 pages - there is the landing page itself (on our unBounce subdomain), a form page, a page with more information, and a conversion page. These all live on our domain.

However, to make things more complicated, each of our markets only has a subfolder on the doman (so Russia is The Conversion pages, etc. live outside of these folders. This makes it tricky for GA to pick them up as being a part of the Russian “site”.

Add to this that we use SiteCatalyst, which Marin PPC management software relies on for data. We also use GA, which AdWords relies on. Our forms are done via FormAssembly.

Here’s a few things we’ve found about GA:

  1. We had to create a new goal in GA

This sounds obvious, but it wasn’t at the time. The goal also has to be imported into AdWords so that it can pick up and attribute conversions to the clicks you paid for.
2. We had to create a regex filter in GA to recognize our conversion page as part of a specific publication or division of the site. This is because it lived in a different folder and was automatically excluded. Careful URL naming also helps make the regex less complicated

  1. Make sure your GA code isn’t on there twice. Woops.

There was also one important thing to note: Google AdWords will take the Destination URL specified at the most granular level. This might not affect everyone, but what was happening was that the guys were changing their Destination URLs at adgroup level or higher, of small chunks of keywords, but the keyword-level URLs hadn’t been changed. So they thought they were sending clicks to their unBounce page, but actually they were still going to the old place. Don’t be like this. It cause a lot of pain.

Only once all of the above was in place did AdWords, GA and unBounce start agreeing more or less. The main lesson learnt here was to make sure that GA can detect all of the pages involved, that it knows which ones are goal pages, and that these goals are imported into AdWords.

Also useful: put your GA tracking script in the header of your Conversion page. Visitors will often leave as soon as a “Thank you for becoming a lead” page appears, and if your script is in the footer it might not fire.

SiteCatalyst and Marin

This won’t be of interest to most people, but one of the requirements I had to deal with was SiteCatalyst implementation, since we use it and we use Marin, which relies on conversion data posted to it from SC. Here’s how I set it up:

  1. Put the libraries required by Sitecat into the header section of your unBounce pages. Make sure no libraries are being called twice elsewhere in the page.

  2. Put your page data and all the props and evars in the footer. Make sure the props and eVars are set up. I stopped short of individually naming every test variant, because we weren’t basing reporting on SC data (only Marin conversion data)

  3. Set your events carefully. For me, I had the first sales funnel event on the page where the form lived, and the funnel end event on the conversion page, so it was quite simple.

  4. Make sure when you debug the SC code using DigitalPulse that your events are firing and that your data is going into the correct report suite - some implementations of SiteCat will automatically send data from subdomains into a dev or staging report suite, if you have one


The way you handle Marin will depend on your implementation, so I can’t really comment much here.

The main thing is that early on you need to establish a “standard” objective source for leads or conversions, and benchmark everything against this. I personally use the number of physical leads I actually have, because you can’t argue with that. In most cases, unBounce is off this number by about 10-20%, and so I try to make sure all other data sources are within this error margin.

Good luck!


Chase - this is amazing! On behalf of the many folks who will find this supremely helpful, thank you so much for taking the time to put this together.