10 common Google Analytics problems and how to solve them
If you’ve just installed Google Analytics (GA) or you are working to improve a Google Analytics set-up you’ve had for years you doubtless come across a report that doesn’t show you data as your would expect it.
This post is a list of some of the most frequent Google Analytics data collection, processing and reporting errors, as well as how to fix them.
1. Google Analytics is not showing any sessions
Problem: You log into Google Analytics and there are no sessions being shown
Why is this happening? There are several reasons this can happen, but he most likely cause for sessions being shown as zero is the Google Analytics tag has been removed from the website due a website migration. Without the code, there is no way to send data to Google Analytics. This can happen if there was a large change to your website and the code was not migrated across.
How to fix this: Find out how your Google Analytics code was added to the website (for example, added directly to the website by a developer, added to the website via a plugin or deployed via Google Tag Manager (GTM) or other tag management system) and re-deploy it.
One way you can find out the old deployment method is by using Archive.org’s Wayback Machine and reviewing the old code on-site. Make sure that the code is added to every page of your website, including subfolders and subdomains.
- Universal Google Analytics Code and how to find your UA-ID (to be used if not using GTM for GA)
- Google Tag Manager Code Installation (to be used if Google Analytics is deployed via GTM)
- Google Analytics 4 Code Set-Up
2. I can’t see any data about my campaigns
Problem: You look in the acquisition reports but don’t see anything about your campaigns.
Why is this happening? By default, Google Analytics only understands two types of traffic: Organic Search (any traffic that came from a search engine) and Referral (any traffic that came form another type of website). Any traffic that did not come from a website is recorded as “Direct”.
If you create a marketing campaign that links back to your website (e.g. paid search, email, social media, SMS, QR codes) and you want to see data about this campaign in Google Analytics, you need to add UTM tracking to tell Google Analytics the source, medium, and campaign this traffic came from.
You will also need to review the channel groupings within Google Analytics to ensure it knows how to correctly group this data.
How to fix this: Make a list of all the campaigns you need to track. Decide what the most appropriate Source, Medium, and Campaign for each is.
Be clear and consistent with your campaign tracking.
As a general rule “source” is the website, platform or magazine someone was on before reaching your website, “medium” is how they reached your website (e.g. paid-social, email, SMS, QR-code), and “campaign” is the name of the marketing activity (e.g. “spring-sale-2022”, “newsletter-q3-2021”).
Use Google’s Campaign URL Builder to create a new version of your URL with UTM parameters added to the end. Use this link in place of the original campaign link. This means that if someone clicks or scans the new link, Google will be told more information about the source, medium, and campaign name.
If you’re using Google Analytics 4, use the GA4 Default channel definitions to help decide what sources and mediums to use.
For example, organic social must include “social” or “sm” as a part of the medium. If they do not obey these rules they will be “unassigned”.
If the platform you’re using for your marketing campaigns offers auto-tagging (e.g. Google Ads) this feature can be made use of to automatically tag up any campaigns run through that platform.
It usually involves checking a box or otherwise configuring options within the admin area. If auto-tagging does not exist, you will need to manually tag your campaign URLs using the Campaign URL Builder above.
Use the below guides for auto-tagging within some of the most common platforms:
- Google (and YouTube) Ads
- Microsoft Ads
- Facebook (and Instagram) Ads
- Pinterest Ads
- LinkedIN Ads
- Snap Chat Ads
- TikTok Ads
- Twitter Ads
- Get Response
- Orderly Email
3. A lot of my traffic is in the (other) channel
Problem: You look at the channel report and a lot of your traffic is reported as (Other) or unassigned.
Why is this happening? Once you begin tracking campaigns with UTM Parameters, you will be able to see those campaigns in the source / medium report. However if you look in the channel reports you may see a lot of (Other).
This is because Google Analytics has rules to sort traffic into specific groups based on the source/medium. In order to correctly categorise your campaign, you need to review and amend the Channel Groupings within Google Analytics to ensure Google Analytics knows how to correctly group this data.
How to fix this: For Google Analytics 4, it is not possible to amend the Channel Groupings – the only way to fix this (at present) is to change the source or medium of the campaigns. As above use the GA4 Default channel definitions to inform your campaign naming.
If you are using Universal Analytics (GA3), and have decided what source, medium, and campaigns you will use to differentiate between campaigns, you should amend your Default Channel Grouping to take any new campaign types into consideration.
Do this before running any campaigns, as changing this within Google Analytics does re-group historic data. This can be done in the admin section of Google Analytics under “View > Channel Settings > Channel Grouping”.
You can then either amend the current channel groupings to reflect your chosen campaign name, or create new channel groupings as required.
4. Traffic from search engines is reported as “referral”, not organic
Problem: You look in the source / medium report and notice that some traffic from search engines is labelled as “referral” and not “organic” as you would expect.
Why is this happening? For Google Analytics to group traffic as “Organic Search”, it reviews the traffic source against an internal list of search engines. If a search engine is not on this list (for example Startpage.com is a search engine that is not listed), any traffic from this search engine will be grouped as “Referral”.
How to fix this: For Google Analytics to correctly attribute an unknown search engine, go to the admin section of Google Analytics. Under “Tracking Info” click “Organic Search Sources”.
In Universal Analytics you can add the search engine (along with the page or query parameters it uses) into the settings ad save it, and in the future it will be captured within “Organic Search”.
5. Revenue and transactions are all attributed to payment providers
Problem: You look in the traffic report and notice that the only sources with revenue or transactions associated with them are payment providers such as PayPal, WorldPay, online banking, or other online payment providers.
Why is this happening? Google Analytics attributes transactions and revenue to the most recent non-direct source that sent traffic to the website.
This means that if a user comes to your website via a campaign, adds something to their cart, leaves the website to pay via a payment platform and then returns to the website to the completion page, the most recent source was not the campaign, it was the payment provider, so the traffic is attributed to the payment provider.
How to fix this: In order for transactions and revenue to be correctly attributed to a marketing campaign, Google Analytics needs to informed that your payment provider is a part of an expected user journey.
This can be done in the admin section of both Universal Analytics and Google Analytics 4.
In Universal Analytics, go to the admin section and select “Referral Exclusion List”.
You can add a list of payment providers to exclude here.
In Google Analytics 4, go to the Admin section and selection “Data Streams”. Click the relevant Data Stream to be brought up with a list of options.
On “Web stream details” select “more tagging settings”.
The select “List unwanted referrals”.
You can then list your payment providers and save it here.
If your website changes their payment providers often, or has a lot of payment providers the above may not be the most robust and future-proof solution.
That type of solution is too in-depth for this blog post, we recommend reaching out to us if you require a solution building, and we will happily help you.
6. Multiple versions of the same URL or keyword are captured
Problem: Looking at a keyword report, you may see different versions of the same keyword such as “keyword” and “Keyword”, or versions of the same page such as “/page1” and “/page1?sourceid=1454646”.
In both examples the same piece of data is being reported on it two (or more) different table rows, which can make reporting time consuming and difficult.
Why is this happening? When tracking pageviews, by default, Google Analytics captures the entire page path URL (i.e. anything after the domain name). This includes any URL parameters that are appended to a URL (e.g. /?search=query&category=categoryA).
Sometimes query parameters are informative of a user action, but often they are strings that include information that is only of use to other systems (e.g. /?exampleid=495689495).
Similarly, before the data is processed every field captured is case sensitive (including but not limited to source, medium, campaign, and URL). Often the case sensitivity is not required for reporting and the majority of the time just results in the creation of duplicated line items.
These per user or per interaction unique identifiers dramatically increase table row count within analysis reports, as Google Analytics regards any slight difference in a URL or keywords as being a separate pages or keywords.
For this reason it’s important to review how this data is captured, to eliminate extra reporting time taken to aggregate this data.
How to fix this: There are two ways to fix this kind of data in Universal Analytics.
To enable case insensitivity in Google Analytics, go to “Filters” in the admin section:
Create a lowercase filter by selecting “+Add Filter” and then select Filter Type “Custom” and “Lowercase”. Select the relevant filter field (e.g. Search Term, Request URI, Campaign Name, etc.) and save your filter.
To remove query parameters for URLs you can go to “View Settings” in the admin section.
You can then input any query parameters to the “Exclude URL Query Parameters” box to ensure they are excluded from reporting. The pageviews will still be captured but the query parameters will be not be shown, only the base string.
Note: Ensure you keep a Raw Data view where all the unprocessed data is stored. This may be used for diagnoses, but should not be used for reporting.
7. My bounce rate is very low or (nearly) zero
Problem: Looking at any report, you see that your bounce rate has dropped to 0% or nearly 0%.
Why is this happening? This may happen is because bounce rate is connected to both page loads and events.
More likely is that an event that did not require user action fires almost immediately after pageview. This means that most sessions will generate a non-bounce session, even if the user did nothing on the website.
How to fix this: Firstly, remember that “Bounce Rate” only relates to GA3 (Universal Analytics), not to GA4 which has a different metric called “Engagement Rate”.
The second is to review all the events being sent to Google Analytics and determine whether they should count as an interaction or not.
Some events are captured as measurement (e.g. product views: not something the user actively does) and need to be marked as “non-interaction” events to inform Google that they should not impact bounce rate.
This is done by adding “ nonInteraction: true” to the event hit. If events are implemented via Google Tag Manager, you can change the “Non-Interaction Hit” setting to “True” to set the event as non-interaction.
If you’re using GA and want to diagnose a high engagement rate, review the [GA4] Engagement Metrics criteria to understand why your engagement rate may be so high.
8. Events are capturing twice in Google Analytics 4
Problem: Any time an event hit is sent to Google Analytics 4, it is captured twice.
Why is this happening? There are a few reasons this may happen, but one of the most common reasons is duplication of event capture: once within Google Tag Manager (or on page) and once within Google Analytics. This means that the event is captured twice.
How to fix this: Go to the Admin section of Google Analytics 4 and select Data Streams. Pick the data stream that relates to your website.
Once you have selected the data stream, click “More Tagging Settings” Once in More Tagging Settings, select “Create Events” to see a list of your events.
Here you will have a list of any events that are set to your Google Analytics 4 stream.
Review these events in conjunction with how events are created on page or via Google Tag Manager and if any are duplicated, remove them.
For example, if you have a Google Analytics 4 tag within Google Tag Manager that sends an event called “enquiry” when a specific trigger has fired, this event is set to Google Analytics.
If you also have a custom event within Google Analytics that fires when “enquiry2 fires, the event will be sent a second time.
If you are debugging and see the event collect hit I sent with the parameter “_eu=C” which is indicative of the Custom Event capture within GA4.
9. I created a comparison in GA4 but it didn’t get saved
Problem: You created a comparison (the GA4 version of segments) to use but it hasn’t saved and you have to build it again.
Why is this happening? Unlike segments from GA3, which automatically save to be used later, comparisons are designed to be used for one-time analysis, so they do not save.
If you want to run regular analysis on a set group of people, you need to create an audience which will populate using the last 30 days worth of data and any data going forward.
How to fix this: Create a list of types of user you want to analyse e.g. organic users, converters, non-converters, mobile users, etc. Once this is done you can do to the Audiences section of Google Analytics 4 (In Configure > Audiences).
Once this has been set up, click “New Audience” and create an audience that matches your criteria.
To use this, go back to any report and click “All Users”.
This will open up a menu on the right-hand side that says “Build Comparison” and says “Include Audience name All Users”.
Use the drop-down menu to change “all users to your new audience and click “apply”.
This will then show you reports about your created audience. It is also possible to do this by clicking “Add comparison” and building the “Include Audience Name” comparison from scratch.
10. There is nothing in the “Site Search” report
Problem: You look in the Site Search report under “behaviour” and can’t find data.
Why is this happening? Unlike most parts of Google Analytics, the Internal Site Search reports do not collect data automatically, they need to be configured within the admin section of Google Analytics.
The reason your report isn’t showing any data is either because nothing has been configured or it has been configured incorrectly.
How to fix this: Go to your website and conduct a search on site. When you get to the results page, take a note of the URL.
If you search on Google you’ll notice the URL changes to include “https://www.google.com/search?q=example+search” in the URL. The string of characters between the question mark ? and the equals sign = is known as the search query parameter.
In this case the query parameter is “q”. You need to find the search parameter for your website, this may be a single letter like “p” or “q” or “s” or a word like “search” or results”.
Once you have found the query parameter go to Google Analytics admin section and select “View Settings”. Scroll down to “Site Search Settings” and turn Site Search Tracking on.
Once you have turned it on enter your query parameters and save. If your search engine has categories you can use the same principle to track different categories. This data will now begin to populate.
If your URL does not return a query parameter, Google Analytics will not understand where the keyword is stored.
If the keyword is stored within the URL, but not as a query parameter (e.g. /search-results/example_search), on of the best options is to re-write the URL before it reaches Google Analytics.
The solution for this can differ depending on whether you are able to use Google Tag Manager or not, but the idea is: change the Request URI into something that Google Analytics can process as a search results URL.
It is also possible to capture views and clicks on “recommended” search results (e.g. where a user partially types a term into the search box which then suggest results) but this is not something that can be captured by default.
This is something Wolfenden has implemented for clients in the past and can help you with as a project.
Have you encountered an analytics problem you’d like a solution to? That’s what we’re here for, to make your reporting life a little easier. Get in touch about analytics services.
Latest Insights From The Team.
Explore our team’s latest thoughts and actionable advice from our blog to support your digital marketing strategies.