We’ve all had that moment; when we look into analytics halfway through the month for something we were POSITIVE was tracking correctly and see something like this:
And then the panic ensues: Did the client make a change to the site? Is our tracking no longer set up properly? Or are leads really down?
Sometimes, the issue is a little more obvious and we see something like this:
Conversions start dipping, or even fluctuate a bit, then nothing for days. In either case, our responsibility as analysts is to ensure we have accurate data collection across the board to make data-backed decisions.
In this guide, we’ll walk you through troubleshooting your own tracking issue in a “Choose Your Own Adventure” fashion. We’ll troubleshoot through a few platforms that other analysts and I use on a daily basis. Although this guide is specific to Google platforms, the methodology is applicable across other similar platforms.
Begin Your Troubleshooting Tracking Adventure
What tracking issue are you facing?
Google Tag Assistant
ALWAYS check here first.
First, we’ll start with the tool that should be used to validate tracking first—even before taking a deeper dive into your analytics: Google Tag Assistant.
Although it may seem too simple, oftentimes tracking issues are a result of missing or improperly placed tags. Google Analytics and Google Tag Manager snippets come with specific instructions to be placed as high up in the <head> as possible, along with a secondary tag in the <body> on every page of the site. These snippets need to be placed high up in the code to prevent the parsing of other code first that may keeping our GTM tags from firing properly. Misplacement can result in a complete halt in data collection or even a seemingly random loss, depending on user-dependent factors.
When checking in Google Tag Assistant for tracking issues, check for the following:
- Are the correct properties being tracked?: Check the UA ID and match it against the UA ID provided in your Google Analytics property.
- Is the tag in place?: Was the correct GTM container or hard-coded GA tag even found? Copy and paste the code as found in the source code and compare it against the code provided in your platform. It’s surprising how many times I’ve seen GTM not being registered from even one incorrectly placed apostrophe.
- Is the placement correct?: Tag Assistant will warn you when the code is found outside of the <head> tag or when there’s nonstandard implementation, which can leave room for lost data.
- Are there errors that could be interfering with proper tracking?: Google Tag Assistant lets you know when there are issues that could cause a loss in tracking. Is the tracking snippet on every page? Do a manual check on the pages where you’ve noticed an usual dip or set up a crawl to search for the snippet on every page. (Our preferred crawler at Workshop Digital is Screaming Frog.)
Google Tag Assistant will provide warnings for every problem discovered in your tracking implementation, but not all are urgent, or are even ones that will certainly affect your data collection.
Next to each warning in Tag Assistant, the following urgency indicators are provided:
- No urgent need to update tracking:
- Green means that no issues were found
- Blue means that a tag was found with minor implementation issues, or that there are suggestions on improving your site tagging
- Urgent! Data may not be tracking correctly:
- Yellow warns you that the implementation may lead to unexpected results
- Red means that a tag was found with critical implementation issues
Pro Tip: Enable Google Tag Assistant recordings to get more detailed information laid out visually in a flow and to view exactly what data is being sent to Google Analytics by the hit.
Recordings are especially ideal for troubleshooting issues with loss of attribution and cross domain tracking. Record a typical user flow and view more details, such as referrer data between hits, page-level details, user browsing, and the order of hits sent to Google Analytics in a specific user path.
What did you find AND HOW SHOULD YOU FIX IT?
- No tags are in place or the implementation is incorrect.
- Update your tracking snippets and start over again!
- The correct tags are in place and they’re firing, but there’s an unusual loss in data.
- The correct tags are in place but I’m not confident they’re firing correctly.
Identify the cause of the data drop here when there are abnormalities in metrics.
Issue: complete loss in tracked goal completions
When checking for a complete loss in goal tracking, check for the following in the goal setup first:
- Change history: Check your annotations in Google Analytics or your website changelogs/notes to see if changes have been made to the site that could affect tracking.
- Destination goal: Has the URL for the destination goal changed? Check for new page URLs or redirects by completing a test form fill.
- Event goal: Do your event conditions still match the setup in GTM? Check to see if the event goal configurations in GA match the event conditions in GTM.
- Event tracking: If the configuration matches the conditions, test an event that should fire in real time.
Issue: irregular decrease in tracked goal completions
These types of tracking issues are challenging because conversions are recorded sometimes, but either of the following are happening:
- A crucial part of the setup is missing: Sometimes, especially with larger sites that are new to you, you can miss certain elements you wanted to include, which will cause you to miss out on data that can provide the full picture. An example of this is when you’re setting up a button click event for a click on text that says “Get Your Free Guide,” but missed one button that had its text changed to “Download Your Free Guide” instead. Small difference, but you will miss out on clicks for the same conversion if you don’t do a proper sweep of the site’s elements before setting up tracking.
As analysts, we are typically not deeply involved in writing code so we must scour the site and test event tracking across multiple devices, browsers, pages, and more to ensure we are collecting all hits for a particular event and hits for that event only.
When you’re facing the issue of a partial drop in tracked goal completions, check for the following in Google Analytics to make sure you’re not excluding a group of users or missing a necessary part of your tracking setup:
- Check in audience reports to see if there’s one area where most of the loss is coming from. Is the loss coming from one device type or one city? Double check the variables used to fire your events in GTM.
- Are total goals stable but shifting heavily towards referral or direct? This could indicate a loss in attribution or the need to set up cross domain tracking. Check pages on your site for iframes (if you find one, there is your issue) or a tracking parameter set up by another vendor that’s knocking yours off.
- Has there been a decrease to one or a few pages? Is there a section of the site that these events never occur on? Run a crawl in a crawler and set up a search for the link or any element that’s a part of what is being tracked.
We use an insightful sheet in-house to identify these areas of significant loss—brilliantly created and named by Joe Kelly—called: “WTF is Happening to My Organic Traffic?”
Pro Tip: Test and monitor in the GA Real Time Report to make sure your events and conversions are firing when they should.
However, keep these Real Time Report caveats in mind before you make any data-backed decisions:
- Mobile hits are batched so you may not IMMEDIATELY see all mobile hits in these reports as they occur.
- Campaign attribution can be dropped in Real Time Reports. In Real Time, all hits are sent by the hit and not stitched together into a session until populated into the rest of GA. Attribution is identified by stitching all of the hits together and looking at the source/medium for the first hit of the session, therefore, attribution can be unreliable in this report.
- Changes to filtered views can lag in reflection. Just updated your filters to exclude your office’s IP address? It might take a little while for your IP to actually be filtered out in Real Time Reports.
- Temporarily suspended Real Time Reports. Google Analytics temporarily turns off Real Time Reports for some views that haven’t been accessed in the recent past. However, these reports can be reactivated by simply visiting the Real Time Report in the view that has been inactive.
One important caveat that affects all of Google Analytics is sampled data. Despite all of the checks you do, there are inevitably going to be some hits or sessions that will be missed by Google Analytics. And from the data that is actually sent, Google samples out the data you end up viewing in your reports.
There are a few factors that affect how much of your data is sampled:
- Default reports in GA (reports that come as is, under the Audience, Acquisition, Behavior, and Conversion reports) are not sampled.
- Ad-hoc reports (reports that are modified, including applying a secondary dimension, filtering, or adding a segment) are sampled depending on the number of sessions in the given date range you’re pulling in for analysis.
You can read Google’s documentation about data sampling to learn more about the details and caveats of your data in GA.
What did you find AND HOW SHOULD YOU FIX IT?
- The URL has changed on the site or your event conditions in your goal configuration don’t match the setup in GTM.
- Update your tracking to reflect the changes.
- The URL and event conditions are the same but you’re not seeing events fire or data pull into GA.
- The loss is coming from one group of users.
- Total goals are stable but have shifted heavily towards direct or referral attribution.
- Check your site for iframes and redirects through other domains on your site. You will have to set up cross domain tracking if users accessing multiple domains during their session on your site.
- Go through the steps to your conversion or event on the site with Google Tag Assistant recording enabled. See if attribution is being lost and if so, where it’s being overwritten.
Google Tag Manager
Preview and test in GTM to identify potential issues with the event tracking setup.
The main issue you’re going to resolve in GTM is why your event is not firing. You should troubleshoot tracking here when your tags are in place and you’re sure conversions have occurred but none are being recorded. Previewing and testing in GTM helps you identify variables that aren’t working and test new elements and triggers to get your event to fire every time it should send data to GA.
Troubleshoot here by checking your tags, triggers, and variables. First, start with your tag:
- Is it sending data to the right source?
- If it’s a custom HTML tag, has the code been tested to work properly?
- Is the source set up with the correct property IDs?
Then, check your triggers and variables:
- Have URLs been changed? Check for redirects and changes in URL structure across the site.
- Have there been changes to the site build and layout? Check for changes in elements that you’ve used to set up the trigger. Some of the most common ones I’ve run into are a new form ID, click text, and CSS selectors.
- Are you seeing events fire sometimes but not other times? Are you getting a lot of (null) data in analytics? Check your trigger type. If you’re depending on an element to load further down the page for your tag, you may want to use DOM Ready as your trigger type over Page View.
Pro Tip: See the order of hits that would be sent to GA in the Summary section on the left side of the preview window. You can click into each hit in preview mode in GTM to view more detailed data by navigating to Variables once viewing details within a hit.
See the Click Element? This is what is registered by GTM, while no Click ID, Click Target, or Click Class is identified. This is a great place to identify the elements you should be using to set up your event variables in GTM.
What did you find AND HOW SHOULD YOU FIX IT?
- URLs have been changed or you’ve noticed other changes to the site.
- Update your triggers and/or variables to match the changes.
- You’re seeing a lot of (null) data or inconsistent tag firing.
- You may want to try another trigger type, such as DOM Ready or Window Loaded, depending on what element you’re attempting to grab. Otherwise, your tag will fire before it can even pull the loaded element on your page.
Unlike a “Choose Your Adventure” story, troubleshooting tracking can have an infinite number of endings. However, hopefully by now, you have resolved your tracking issue or at least have an idea of where the issue is coming from to troubleshoot further. Was there a path or ending that you were hoping to see in this guide? Comment below and let us know what alternate path we should include!