We Audited Our Analytics Setup. Here’s What We Learned:
Analytics
Ladder
User Insights
Case Study

We Audited Our Analytics Setup. Here’s What We Learned:

Michael TaylorMichael Taylor

July 15, 2021

Last week, we introduced you to our new article series: the Ladder 2017 Marketing Plan. We started with an audit of our PPC campaigns.

Before we dive any deeper into the performance of our existing activity and start making and testing recommendations, we need to know if we can trust our data. For that, we’ve done a rigorous audit of our analytics and tracking setup.

Throughout this post, we’ll be referring back to our detailed Event Tracking Setup Guide. A lot of what goes on in our audit below is informed by how we set up event tracking. If you’re ever confused about something below, either check out that post or give me a shout!

Side note: This is an audit of a marketing agency’s analytics setup – some examples won’t work for your business, but the overall guide should give you a good idea for how to audit your analytics setup.

I don’t think I’ve ever encountered a company that was fully satisfied with their analytics setup.

Analytics is full of complex problems with imperfect solutions, and even when you’ve got it half right, the goalposts end up moving as you evolve your product and marketing activity.

The good news is that we can find most of the issues relatively quickly, just by methodically running through the basics of what we expect to see.

Note: this is going to be a basic run through to check we’ve got the minimum infrastructure needed to start running marketing experiments and be confident in the results.

If you are struggling understanding some of these concepts and want a more in depth guide, I recommend checking out our event tracking post.

Throughout the post we recommend specific tools in the Ladder marketing stack; there are plenty of good alternatives, but these are the tools that we use ourselves.

Here’s the checklist of what we’re going to run through:

  • Check Marketing Tags / Tools Installed
  • Conversion Event Tracked & Tagged
  • Traffic Location Sense Check
  • Check Goal Recording Settings
  • Check Mobile Traffic Share Percent
  • Check New vs Returning Traffic
  • See What Pages Are Popular
  • Topline Traffic Trends Over Time
  • Investigate Performance By Channel
  • Sensible UTM Parameter Naming
  • UTM Parameters pushed into CRM

Let’s get started:

Check Marketing Tags / Tools Installed


This one’s easy; even if we don’t have access to Google Tag Manager, or a client isn’t using it, we can still see if it’s running on the domain using a chrome extension called Ghostery.

ghostery

If we install then visit https://ladder.io/, we can see that there are a number of tracking tags loaded.

Pro tip – use this to spy on your competitors and figure out what tools they’re using!

website trackers

This tells us quite a bit about how ready our site is to start tracking performance and testing marketing. Let’s run through the different tools we can see here:

Google Analytics is on the site, so we can at the very least see what users came from different channels, how much time they spent on the site and what pages they visited.

We have SumoMe on the site, which has a number of powerful tools for growing your email list; a number of the best performing tactics in the Ladder database are enabled by SumoMe.

We also have Hotjar; that gives us the ability to record user sessions (actually see where they scrolled; creepy!) as well as see heatmaps of where the user clicked.

The Facebook custom audience is also a welcome sight; this allows us to start running retargeting ads, which tend to be high performing.

Hubspot showing up usually means that’s what we use for a CRM, which is a good sign – we’ll check later whether we’re linking our marketing to sales effectively.

Optimizely is a big one as it gives us control to easily A/B test new website variations on the fly without needing to use developer resources or code anything ourselves.

Most importantly, we have Google Tag Manager installed.

This is the most important thing to see as we can use it to install any of the other tools we’ve just talked about (or anything else we want to add), with no coding or developers.

This is a great start. We have all the proper tracking tags in place to allow us to gather visitor data and funnel it into any sales, marketing, testing, or analytics tool we’d need. From here, it’s what we do to actually funnel that data that makes these tools critical for Ladder.

Let’s see if we got that bit right:

Conversion Event Tracked & Tagged


To find out a bit more information about our Tag Manager and Analytics setup, we need to download Google Tag Assistant. For good measure we should also get the Facebook Pixel Helper, so we can check that’s installed correctly at the same time.

google tag assistant

Enable the tag assistant and hit record, ticking the ‘follow recording links across tabs’ option, then refresh the page. Now we can see which profile ID is loading; we can look this up later and make sure we’ve been given access to the right account.

tag analysis

If we click into Google Tag Manager, we can see that the Google Analytics tracking code is installed via Tag Manager; a good sign that whomever installed it knew what they were doing.

google tag manager

We can also pop open the Facebook Pixel Helper at this stage and check we’ve got access to the right Facebook pixel, as well as spot any issues with load time.

facebook pixel helper

All looks good here. This is the standard implementation of a Facebook pixel – it shows up on every page and logs a ‘Pageview’.

From here, it’s pretty clear what our main conversion event is — the email signup form on the homepage.

ladder strategist

Let’s fill it in and see what happens.

ladder sign up

Now let’s look and see if our pixels fired.

ladder tracking pixels

Success; we fired an AdWords conversion pixel! We can click in to see the ID / value and debug.

adwords conversion

Only a small warning about not having the value in standard currency, but since the value is zero, it’s no biggie. It’s also good to see we implemented this pixel via Google Tag Manager.

It’s also important that Google Analytics knows about this conversion event; let’s check it out.

google analytics conversion

Ok, so I can see there is an ‘Events’ section, let’s click that.

conversion events

Awesome – that’s our event. When we’re looking for this later in Google Analytics, that’s what it will be called, so take note. If we click the arrow on the top right, we can see that it also recorded another conversion;

lead capture event

Hmmmm – we should make sure later when we look at the account that we’re not double counting events here.

It’s always tricky to set up event tracking properly, and double-counting is a major potential pitfall. Keep an eye on your conversions to make sure you’ve set your events up to only track once per conversion.

We should also take the time to check Facebook while we’re here.

facebook lead

Awesome – we fired the ‘Lead’ event. If we had fired something more complex or custom, we’d see the attributes here as well, but this one is pretty straightforward.

For example, what if I clicked the ‘Schedule Your Growth Chat’; what does that do?

hubspot

It takes me to this page… but no additional conversions; this is something we should look to fix. It’s not easy to see in the normal viewer, but we can see this didn’t fire anything additional, by clicking on ‘track recordings’.

track recordings

Now we know the process, we can now go through every other ‘conversion’ on the site, and see if we’re tracking it correctly using exactly the same process. For example this free demo.

tech powered services

Clicking it pops open a different lead window than what we saw before.

lead popup

However clicking that button doesn’t record any events, not even a new pageview.

pageview event

That’s because clicking that button fires an interstitial/modal; it’s not actually loading a new page. So how do we actually record that event in GTM?

With a custom event.

There are two ways to do this. The first, and most reliable way, is to get your developer to add custom event code (learn more here). Something like this:

dataLayer.push({

'eventCategory' : Lead,

'eventAction' : Show,

'eventLabel' : Contact-Us-Form,

'event' : ‘lead-form-show’

});

In fact, this is exactly how the lead submission event from earlier was fired. If we fill in and then submit this form we can see this in action again.

lead submit tracking

Note that before the Label was ‘Landing-Page-Form’ and this time it showed ‘Contact-Us-Form’; this means we can differentiate between signups on the hero call to action vs signups via this demo button in Google Analytics.

If we add that ‘show’ code, we can then compare the percentage of people who saw the form but didn’t complete. We could even build a retargeting audience of these people for the Google Display Network or Facebook.

facebook audience

We could also use this conversion as a ‘leading indicator metric’. Because many more people will click the button than actually fill in the form, and clicking the button indicates intent to convert, we could optimize to the button click and have more data with which to make decisions.

Now we know the process for checking what we’re tracking – our job from here is to just go through each interaction on the website and see what else is tracked or missing.

Because the Ladder website is relatively simple, there weren’t many other interactions worthy of tracking, but you might find more if you’re dealing with a more complex conversion journey.

Before we move on to the next section, let’s walk through how to repeat this process using Google Tag Manager’s preview mode. We go into much more detail in our event tracking post, but it will be useful to cover it briefly here.

tag manager

Once you log into Google Tag Manager, navigate to the right account, then click the dropdown next to the Publish button. There you’ll see the option to enter Preview mode.

preview mode

There we go – we’re seeing all the tags we saw earlier using Ghostery. Except this time we can learn more information. We can see the actual code being fired.

gtm tag

After triggering an event, we can also see the details of the events, just like we could with the Google Tag Assistant.

event trigger

Finally, if we want to make sure the tag is actually working, we can log into Google Analytics and see if work in the Real Time > Events Section.

google analytics real time

Now that we’ve checked everything seems to be in working order from an analytics and conversion tracking point of view, we’ll want to take a look in Google Analytics and make sure the numbers make sense to us.

Don’t fall into the trap of thinking you’ve set up everything the right way after the last two steps – double-checking actual data in Google Analytics will help you spot errors and mistakes.

Traffic Location Sense Check


First I like to look at location; that way we can check we’re driving traffic from the markets we actually serve. If we aren’t, it could indicate something is going seriously wrong.

GA location data

All looks ok here; we’re based in New York and London, and San Francisco is the startup capital of the World, so it all makes sense.

Check Goal Recording Settings

Did you see the part where it says ‘Goal 1’ in the previous screenshot? Let’s check if there is more than 1 goal being recorded here.

GA goals

Ah right, from our tracking audit we saw that we had two different events; one labelled ‘landing-page’ and another called ‘contact-us’.

We also saw that we had SumoMe on the website, capturing emails for our newsletter. Finally, we know that Ladder has a product called the ‘Planner,’ so that’s self-explanatory.

If we click into Admin > Goals, we can take a look to see how they’re set up.

goal tracking setup

Let’s take a look at the ‘Hero Form Submission’ conversion we were reporting on earlier.

landing page hero

Ah ok; it’s looking for a specific event firing; the event we found that fired when the hero form email submission happened.

To see a type of goal that doesn’t rely on an event firing, but instead fires on a specific page, let’s check out the SheWorx PR Goodie goal.

sheworx

As always, if you aren’t understanding this, just check out our event tracking post.

Check Mobile Traffic Share Percent


Now we’ll look at our share of Mobile traffic; is it significant, and does our site work on mobile?

mobile website traffic

Hmmm, this absolutely leaves something to be desired. There will always be a difference in performance, but with 40% of our traffic converting at a 76% lower rate, we’re leaving a ton of money on the table. We should check this out during out UX teardown to see what we can improve.

Check New vs Returning Traffic


How about new users vs returning traffic; how does that work out for us?

new vs returning visitors

Our conversion rate is lower on the second visit, which makes sense; a lot of people who signed up the first time won’t need to sign up the second time. Interesting that 25% of our leads are from people on the second or more visit.

See What Pages Are Popular


We should also take a quick look at what pages are driving traffic. This gives us a good idea of where we should focus our efforts in terms of UX and conversion testing.

popular pages

It looks like the majority of traffic is on the homepage, and a significant amount also goes to a page called /playbook. This looks like the source of a lot of the Product Hunt traffic, as we can see the additional parameter product hunt adds to the URL there.

Makes sense – our Playbook is a strong content offering and did really well on Product Hunt when we shared it in August.

Topline Traffic Trends Over Time

traffic trends

Ok, pretty interesting; we’re getting on average 400-500 visitors a day, which works out at 10,000 sessions a month. We’re getting 1.69 pages viewed per session, and users are sticking around for 2 minutes on average; both are pretty good, particularly for a website where most of the info is on one page.

We can see that at the end of August and beginning of September we had a couple of huge spikes; we definitely want to check those out. Because these spikes probably came from some specific marketing campaign, we should look in Acquisition > All Traffic > Source/Medium.

Investigate Performance By Channel

channel performance

Here we can see a bunch of important data. For a start, we can see that most of our traffic comes from facebook / prospecting-ll; that must be our Facebook Lookalike campaign. We also see a bunch of traffic from our blog, from Google (both cpc and organic) and Product Hunt.

We can see that each channel performs completely differently from each other. Facebook and Product Hunt both have around 0.3% conversion rate, whereas AdWords and Organic Google traffic is up past 4-5%! Direct traffic and traffic from the blog both convert at ~2%.

If we didn’t know there were huge differences in traffic conversion by channel, we’d be potentially overinvesting in the wrong channels; that’s why it’s so important to track performance in Google Analytics.

Now to see which of those channels drove the traffic spikes, we just have to click the small checkboxes on the left of the channel name, and press ‘plot rows’, next to the ‘secondary dimension’ button.

GA secondary dimension

If we hover over the line where the spike is, we can easily see which channels made up the traffic on that day. The first spike seems to be down to Product Hunt, whereas the second came from the blog. If we want to know a little bit more about what happened here, we can click on ‘blog / content’ to filter down.

blog content

By dragging in a secondary dimension of ‘campaign’, we can see that it was the business-idea post that drove this traffic. We can also see how other blog posts performed; for example the marketing-stack post seems to have an extremely high conversion rate.

Note that we can only see this information because we have sensible utm naming conventions.

Sensible UTM Parameter Naming


As we’ve discussed at length in our UTM tracking post, it’s really a case of garbage in, garbage out when it comes to your naming conventions.

If we didn’t have the name of the blog post in the UTM_Campaign of the traffic we send from our blog, we wouldn’t know which ones were working best.

To check just our marketing campaigns, we need a filter. Organic traffic will never have a value set for utm_campaign, so we can find all our marketing campaigns by excluding that traffic.

traffic filter

Now if we bring in a secondary dimension of ‘campaign’ into our source / medium report, we can see performance by each of our intentional marketing campaigns only.

utm campaign

Looks like our naming convention is pretty simple. Up until now that has probably served pretty well. Now that we’re getting more serious with marketing, we probably want to evolve it slightly to an ID model.

We should be indicating the test we’re running “T-1”, the audience “-a1”, and the creative “-c1”, bringing it together as “T-1-a1-c1”. We’ll use that with all the new tests we run within our plan.

Note; although we filtered out ‘(not set)’ it’s still showing up. Based on my research, I believe this is just the aggregated view of any utm_campaigns that were too small in traffic to show.

UTM Parameters pushed into CRM


Marketing runs brand awareness campaigns or maybe even runs paid marketing to drive leads, but has no idea what happens to those leads after they sign up. Sales has a pipeline of leads to close, but has no context on where they come from. It’s a common pain point.

The good news is we can fix this relatively simply; by pushing our UTM parameters into the CRM record for the lead that signs up. If you send your developer this link, you should be able to get this set up yourself.

We then push that information through to Zapier, where we can take it and push it into Mailchimp, Hubspot, and any other platform we wish.

zapier

Regardless of whether you use Zapier or what your business does here to capture this information, just make sure that you can see the utm data in your CRM, and you’re all good.

crm utm

Then when the deal finally closes, you can look back and see what marketing campaign was responsible for the lead. You could even set up more automation with Zapier to push those closed leads and their utm parameters into Google sheets for your marketing team to report on.

I hope this has been helpful. The end conclusion for Ladder is this: our setup is actually pretty professional, which is highly unusual. Most companies we start to work with haven’t yet had the time to plug all these gaps.

At the same time, it makes sense that we’re in a good spot with analytics – we set up so many accounts each month for clients that we absolutely should be getting it right for ourselves.

So don’t worry if you feel like you’re starting from scratch. This post and our event tracking post should help you get set up efficiently.

Is your analytics setup an unmanageable mess? We can help

Ladder powers strategy and performance solutions for fast-growing brands

Talk to a strategist →

Growth is a high velocity game.

Sign up to our newsletter to stay up to date with all the latest movements in the field.

More from

796+ open sourced growth tactics used by the best marketers in the world.
Explore our playbooks →