Everyone knows the feeling – you just ran what you feel like was a great campaign. Perfectly targeted users that were likely to convert, great creative and witty copy, really invested a lot in the platforms used for targeting. You’re on top of the world.
Now that the campaign is finished, you’re tasked with doing an analysis of the results. No problem, let’s hop into analytics and see how great we did!
Uh oh, where’s my data? These numbers don’t look right!
And that’s when you realize, the tracking for the campaign wasn’t working! You have no way to determine the number of conversions driven by all of your efforts and can’t show the ROI. It’s a long drop from the top of the world.
Why does this happen? And how can we be sure it doesn’t happen again?
1. Tags Missing from Page(s)
Symptoms: No data!
The Cause: This is a common issue and also the easiest to spot: Tags simply are missing from the pages on which they need to be implemented. Oftentimes, this is a result of site changes happening and the tags being removed for one reason or another while no one is around to notice. Simply put, if a tag isn’t present at all on a page, it can’t execute and collect the required data.
The issue has been alleviated to a certain extent through the proliferation of Tag Management Systems. In today’s environment, most sites will have a single tag implemented in the source code of the site; this is their Tag Management System. All other third party tags are then loaded and managed within this third-party platform. Managing tags in this way reduces the risk of each individual snippet of code being potentially removed as changes are made to the website and ensures complete coverage for at least basic tracking within most tools.
The Fix: To ensure tags are at least firing on each page, you can use a number of browser plug-ins unique to each platform. To see in aggregate, run a free scan using Tag Inspector (register here) to see all the tags loading across each page of your site.
If you notice a page is missing a particular required tag, simply go back and make sure the code is implemented as necessary on those pages.
2. Errors Causing Tags Not to Fire
Symptoms: No data or incomplete data.
This particular issue is not nearly as prevalent as it once was due to error handling and more hardened code for each tag implemented on your site. More of a fringe case, but still something to definitely keep in mind when doing any sort of troubleshooting.
The Fix: If you notice data missing and it looks as if the tag is implemented on the page in question, check the browser console for any errors that could be occurring prior to the tag loading. If there are js errors present, further investigate if they are affecting the tag(s) in question.
3. Tag is Firing but Configured Improperly
Symptoms: Presence of some data but missing important contextual data such as product IDs or transaction IDs.
The Cause: The cause in this case is an improper configuration within the tag itself. Just because the tag code is present on the page does not necessarily mean that all required data is going to be collected as expected. Within many tags there are additional data points that must be collected from the page and included within the script to then be passed to the respective platform. There could be an issue with the script used in order to collect this data or even the format of the data trying to be passed by the tag.
The Fix: Have the team responsible for implementing the tags check the implementation documentation. Make sure that all data points required are in fact being collected and placed within the scripts necessary to send them to each platform. If the data is in fact present, make sure it is in the proper format. For some media platforms, data points such as product IDs must be passed either as numeric values in an array or strings in a comma-separated list. If they are implemented in the wrong format, it can cause errors and lead to gaps in necessary data collection.
4. Tag is Firing but Data to Send is Not Available
Symptoms: Some data is available in reports but important contextual data such as product IDs or page information is missing (oftentimes only missing a portion of the time).
The Cause: This issue comes in when the data points being referenced from a page are not available to be sent either due to a configuration issue in the script of the tag, an issue with the data layer being referenced, or timing of when the tag executes with respect to when the data is available in the source. I’ll explore each in further detail below:
Data Layer Configuration Issues: If a tag is referencing a particular parameter within the data layer, and the value is not properly populated, it will result in the tag not able to send the required data. While these types of issues are far less frequent than problems arising from scraping the DOM, they do occasionally occur when backend changes happen on the site. If you notice data missing in reporting, and the tag is referencing the data layer, check to see that the required value is being populated as expected within the data layer object in the exact parameter being used.
Availability Issues of Data Due to Timing: At times there may not be a configuration issue at all with the tag, nor within the data layer, but rather the data is not available at the time at which a tag executes. If a tag is referencing a variable within a data layer object on your site, the data point necessary must be available at the time the tag runs. This issue will sometimes pop up if the backend data source (such as the ecommerce platform) is slow to provide information like the transaction ID or revenue. If a tag is executing early in a page load sequence and there is a delay with the data being retrieved to populate the data layer, you’ll have data collection discrepancies.
The Fix: To fix, you will first have to identify which of the three causes above are the culprit. When you identify that there is a discrepancy between analytics data and the source of truth, but still have some data, start looking for these causes. First check the tag configuration: Is everything there set up according to the implementation requirements? From there, look within the tag to identify the data sources being referenced in order to collect the additional contextual data. The source is either going to be a parameter referenced in the data layer or a variable that is scraping data from the page itself. If scraping, check the element being referenced and make sure that the class, id, etc. has not changed. If referencing the data layer, make sure the data is properly being populated and is available at the time the tag is executing. If the data is not available when it needs to be, either optimize the code to speed up the time it takes to make the data available in the data layer or delay the tag from loading until after you are certain the required data is available to be captured and sent.
5. Timing Issues
Symptoms: A discrepancy between what you are seeing in reporting and the backend source of truth in the 20-40% range.
The Cause: For a tag to fully send its necessary request, the user must still be on a page. If a user comes to a page and then leaves prior to the tag fully executing in the browser, data will not be sent nor captured. This can happen due to a couple of factors:
Tags Loading Late on a Page: The browser has to read, parse through, download, and compile all of the scripts on each webpage. If a tag script is implemented all the way down at the bottom of the page or in the footer, it’s going to take a few seconds before the browser is able to run the tag code. During this time a user could leave the page, causing that tag to never fire and no data to be sent.
Too Many Network Requests: There are limits to the number of concurrent connections (or simultaneous requests) that can be outstanding within the browser. If there are a ton of tags trying to all execute at the same time, these will fill up the request queue and additional requests will have to get in line. In the example of Google Analytics above, it may result in a long queue for the subsequent data collection hits. This will increase the risk of a user leaving the page prior to data being sent.
The Fix: Optimize the load order of tags on a page to reduce timing risk for the highest priority tags. To do this, you will need to first do a tag audit to understand all of the tags loading on your website. As a part of the policy creation process, you will want to rank the platforms in order of priority for your marketing and media efforts. The tags that are higher priority should be loaded earlier in the page load sequence with the lower priority tags being deprioritized. This will help clean up the queue of requests and make sure that there are browser resources sufficient enough to fully execute the top priority tags while users are still active on a page.
You are not alone in your data collection struggles. The next time you notice data collection issues in one of your reporting platforms, walk through the five common causes above. First, check to make sure that the tag is actually implemented and executing on the page. From there, dig deeper into the tag configuration, underlying data sources, and timing considerations to ensure all is going to work properly when your new campaign kicks off.
Follow these steps and you’ll be back on top of the world in no time!
Need help? Here at Tag Inspector we work with thousands of websites globally, including over 25 Fortune 500 companies to optimize their tag architecture and ensure optimal data collection. Contact us here and we’d love to discuss how we can help your organization!