Google Analytics warning signs

*This article is about Universal Analytics which will sunset on 1 July 2023 and be replaced with Google Analytics 4. You can find our GA4 content here.

In all economic downturns we see a rise in entrepreneurship and this one has been no different. With nearly 60,000 new businesses established last summer in the UK alone, it’s expected the final tally will be a record breaker. Perhaps you plan to join them this year?

If you’re starting a business, you’ll need a website, or if you’re already established, you might have a lot of new competitors coming – whatever your situation, you’ll probably find yourself looking at some data and wondering “is that right?”

With that in mind and with a basic knowledge of our old faithful, Google Analytics, let’s take a look at four common mistakes we see in audits that you should keep an eye out for.

1. Broken campaign tracking

You may already be checking for incorrect campaign tracking, by monitoring the amount of traffic assigned to (Other). But there’s another problem that often goes unmonitored – broken campaign tracking caused by malformed URLs.

This often occurs when marketeers apply tracking parameters to URLs that already contain query parameters, such as filtered PLPs, or where another platform adds its own IDs.

In the below example, I’m sharing a link to all of our blog articles relating to data – can you spot the problem?

https://builtvisible.com/?s=data&post_type=post?utm_medium=email&utm_source=newsletter&utm_campaign=2021-jan

That’s right – I’ve made the common mistake of appending the campaign tracking with a question mark. While this is ordinarily how it’s done, there can only be one question mark in a URL and everything after the second will be lost!

Instead, I should have used an ampersand. Like this:

https://builtvisible.com/?s=data&post_type=post&utm_medium=email&utm_source=newsletter&utm_campaign=2021-jan

So, how do you spot if this is plaguing your data? Simple, bring up your Pages report and filter for “utm_”. Since Google Analytics strips out any UTM parameters it finds, anything returned is indicative of a problem.

2. Page fragmentation

Another common problem is page fragmentation, by this I mean instances where data for a single page is split across multiple rows in Google Analytics reports.

The most common cause of page fragmentation is query parameters in the URL. This is often overlooked as there is technically nothing wrong here – it’s just really unhelpful for analysis.

As a rule, you want to strip out all query parameters from your page data that don’t significantly affect the page content or user experience. For example, I would want to keep pagination parameters but not marketing IDs.

To identify if this is affecting your data, simply filter the Pages report for “?” and see what proportion of your pageviews are affected. You’ll then need to look at each of the parameters to determine whether it is genuinely affecting page content sufficiently to constitute a new page.

Since there are likely many instances of the same parameter – I regularly see walls of fbclid, for example – it may help to pop the result through a script to find the unique keys.

Below is an example using a Python Notebook which returns a list of unique query parameters with an example value for each.

import pandas as pd
from urllib.parse import urlparse

data = pd.read_csv('location/of/data.csv')

keys = []
values = []

for index, row in data.iterrows():
    queries = urlparse(str(row['Page'])).query.split('&')
    for query in queries:
        q = query.split('=')
        if q[0] != '' and q[0] not in keys:
            keys.append(q[0])
            values.append(q[1])

unique_queries = pd.DataFrame({'keys': keys, 'values': values})

unique_queries.to_csv('location/to/save/file.csv')

unique_queries.head()

The table should look something like this:

keysvalues
0p34689
1preview_id34689
2preview_noncee4dbb1c5b5
3previewtrue
4fbclidiwar1pkudrh5sho0neahchnojfacu5hee4p6qce37vrady…

3. Payment referrers

For an ecommerce site, it’s quite likely that your users are going through a third party for payment authentication – either from their card issuer or a payment service, such as Paypal. If this sounds familiar, I recommend looking at your referrer report if you haven’t already done so.

When Google Analytics detects a change of source it will automatically start a new session, with all data following the change attributed to that new source. In the case of payment verification, the risk is that many transactions get incorrectly attributed to the payment domain as a referrer, rather than your marketing efforts.

To identify whether this is a problem, I recommend filtering the Referrers report for some common payment strings:

If you get a good chunk of results, it’s worth going through the data more thoroughly and adding all payment domains to the Referral Exclusion List.

For global sites, this can quickly become a game of whack-a-mole, so you may want to consider removing all referrer data for the confirmation page by amending your tagging – users shouldn’t be entering here in any case.

4. Duplicate transactions

It sounds obvious, but the most common issues I find when auditing an ecommerce implementation is still duplicate transactions.

By default, Google Analytics will de-duplicate transaction by transaction ID, but only for duplicate records collected within the same session. This means that if the user returns to the confirmation page after the session has expired, and the data packet is resent, a duplicate will be recorded. There are also some nuances with custom reports which I won’t go into here.

While you can use local storage techniques to reduce this, you will need to get some development done to stop it entirely, especially now that local storage is subject to expiry on Apple devices. So, you’re going to need data to create a clear case to get this prioritised.

Fortunately, this is the simplest of the checks we’ve discussed so far. You just need a Custom Report showing transactions by transaction ID, sorted by transactions in descending order.

As an additional tip, pick the widest date range you can without hitting sampling, a year would be ideal, as it’s possible the return visit can be months later. If you have a lot of data, you may need to export smaller date ranges and stitch them together in a spreadsheet.


Checking a new set of data for accuracy is an important part of an analyst’s job. But that can be tricky when you don’t have access to the raw data table, as with Google Analytics.

Following the simple checks outlined above, you will be able to spot some of the most common mistakes that continue to plague Google Analytics accounts and, more importantly, fix them.

If you’ve found a lot of issues and want a more thorough audit, or need a helping hand resolving them, our data consultants are on hand to help.

Join the Inner Circle

Industry leading insights direct to your inbox every month.