5 Reasons Data is Missing From Your Reports

5 Reasons Data is Missing From Your Reports
Estimated Reading Time: 12 minutes

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?

Tracking issues occur due to problems with the implementation of tags, or little snippets of javascript, used to power the media and marketing platforms running on your site. Without a solid implementation of tags then the attribution, analysis, and audience building you rely on for marketing and media efforts is impossible. Here we’ll go through the top five reasons why tracking issues happen and what you can do to make sure they are not going to come back to bite you the next time you run a  campaign.

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.

The Cause: At times, errors that pop up on a page can either prevent all remaining javascript on the page from loading or affect specific tags based upon the functions they are needing to run. To identify these errors, you’ll want to make sure no javascript errors are being thrown in the console of a webpage.

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:

Configuration Issue in Script of the Tag for Data Being Referenced: This is most common if you are doing some kind of “listening” or “scraping” of the DOM of a page. This is a traditional method for getting a data point and making it available to send in a tag. Basically, this is custom javascript that will look for a particular data point present in the content of a page (for example a transaction/confirmation ID on a confirmation page). The script will reference a particular aspect of the DOM. When initially configured, these will often work but with constant changes to the styling and content of pages the references will frequently change. When this happens and the script used for the tag is not updated, it leads to issues where the data is not properly referenced and therefore not available to be sent by the tag.

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.

Tags Slow to Execute: For many platforms there are several requests that must happen prior to the actual data being sent. Take Google Analytics for example. When the initial tag script runs, a request is made for the full javascript configuration of GA. Only after this is downloaded and the returned scripts are run does the hit containing all the data get compiled and sent. If the initial request to download the full configuration is slow, the additional required steps may not have time to happen (resulting in data loss).

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!


Originally Published On September 27, 2018
October 8, 2020