Inside Google Analytics, specific metrics are not as straightforward as they seem. It can relate to how the metric is calculated, an issue in the tracking setup, or how you’re combing the metrics/dimensions in the reports. With a better understanding of each of these metrics, you can better analyze and leverage the data.
Users “Breaks” When Broken Out By Dimensions
Users are unique visitors to the site, which is based on a cookie being placed in the browser. A visitor can look like multiple users if they change browsers or devices, or clear the cookies from the machine. It’s also possible for a single visitor to look like multiple users inside of Google Analytics.
This issue is caused when metrics and dimensions from different scopes are combined, without taking into account what the data actually is saying. Scopes within Google Analytics relate to how the data is collected and stored on the backend.
User Scope: Based on the Cookie ID of the visitor.
- These items should be true of the user, such as age group and gender.
- They may change over time, but they generally apply for an extended period.
Session Scope: Based on the Session ID of the visit.
- These items relate to the specific visit and only apply to that visit.
- Examples include landing pages or traffic sources.
- I entered on this page for this visit, but not necessarily on future visits.
- I came from this traffic source this time, but not necessarily at all times.
There are also Hit and Product Scopes, but those aren’t needed for this explanation.
If I take Users, a user-scoped metric, and break it out by Source/Medium, a session-based metric – I’ll be counting visitors multiple times who visited the site more than once and came from different traffic sources each time.

The image below shows 44,782 Users being reported in the Source/Medium report. This is Google Analytic’s best estimate of the number of unique visitors on the site.

When I added up the number of users coming from each of the 85 Source/Mediums, it was 47,406 which is 5.9% higher than the number of visitors being reported elsewhere in Google Analytics.
By adding the Landing Page as a secondary dimension to the same report and adding the 1,247 rows, it shows 51,939 Users which is an inflation of 16.0%. Depending on how you’re reviewing the data, a 16% difference can throw off your analysis and steer you in the wrong direction.
*What’s interesting is that all 3 of these numbers are correct. You’re seeing Google’s best estimate of unique visitors based on the total number, the number coming from each of the traffic sources, and the number from each traffic source to each landing page.
Recommendation: Keep in mind the potential for inflation when pulling data for the reports. If you’re creating a custom report that breaks out 5 different dimensions and plan on reviewing the data within Excel, don’t use Users as a metric. Sessions will be a better indicator of the traffic volume.
Keep your analysis to a single dimension. Look at Users by channel or Users by landing page. If you’re looking for organic performance over time, apply an organic segment, and then view the landing page reports. This will help keep the inflation limited and will give you more accurate data for your analysis.
The Bounce Rate Isn’t Just Single Page Visits
The bounce rate is normally defined as the percent of single-page visits on a website. A bounce is when the visitor enters the site and leaves without clicking to another page. So it’s looking at the number of bounces and comparing that to the number of sessions/visits.
However, the firing of certain events can affect the bounce rate, so a more accurate definition is the number of single-page visits without any “non-interaction = false” events firing.
A non-interaction event is modified to instruct Google Analytics to include (or exclude) the event from affecting the bounce rate.
- Non-Interaction = True
- This event will not affect the bounce rate
- Non-Interaction = False
- The event will affect the bounce rate
- *If non-interaction is not specified, it will affect the bounce rate.

When setting up events in Google Tag Manager, the default selection is non-interaction=false. This means that by default, events added in GTM will affect the bounce rate. Events can easily be changed to “true” when setting up the event, as seen in the image below.

When should you use Non-Interaction Events
- If someone Enters Site > Fires a File Download or Form Submit Event> Exits Site
- Despite leaving the page they entered on, this shouldn’t be classified as a bounce because they interacted with the website in a meaningful way.
- If someone Enters Site > Fires Scroll Events or Clicks Social Link > Exits Site
- These should be classified as a bounce. They didn’t interact with the site in a meaningful way and left before engaging with the website further.
- In general, set the non-interaction to True for low-quality activities such as scrolling or clicking an outbound link. And set to false for higher quality activities like form submits.
Recommendation: Bounce rate is a helpful metric in determining the quality of traffic and landing page performance, but it shouldn’t be the only metric used. Keep an eye out for extremely high/low bounce rates, as they could indicate tracking issues or opportunities. And when in doubt of having the events affect the bounce rate, set non-interaction to True.
Avg. Session Duration Doesn’t Equal Time On-Site
While Avg. Session Duration sounds like a straight forward metric, it isn’t exactly the length of the website session. It’s actually the length between the first Google Analytics hit and the last, meaning any time spent on the site after the last hit will not be counted.
Google Analytics sends a timestamp with each hit on the website. The first hit is normally the landing page pageview and the last hit is normally the exit page pageview but could be any GA hit such as an event.

Google will calculate the difference between the first and last hit timestamps to calculate the session duration. If no second hit occurs in the session, the session will be counted but the session duration will be 0 – meaning this can skew your avg. session duration metric.
Keep in mind that the default session duration is set to 30 minutes within the settings. This doesn’t mean the session will stop after 30 minutes, rather it will stop tracking after 30 minutes of inactivity. For 99% of sites this default session duration works – it’s only when you have longer sessions with inactive users (no pageviews or other hits being sent) such as a movie site.
Recommendation: While it’s an imperfect metric, with enough traffic on-site you can use this metric to show the relative engagement between traffic sources or any dimension. It shouldn’t be used to say Traffic X spends exactly 32 seconds more on-site than Traffic Y but can be used to say X is generally engaged more than Y.
You can also implement an event using a Timer Trigger in GTM to fire after a certain amount of time. While this won’t give you an exact time on site, it will resolve the single pageview sessions issue and will give you a better way of segmenting engaged users.
Goals Fire Once Per Session, But Is That Enough?
Goals by definition can only fire once per session, meaning each goal can only be triggered once by a visitor in a single visit. While this works in most situations, it’s not a perfect method of tracking.
A “contact form submit” goal should only be fired once. Even if someone submits the form 5 times – I’d like to have the details of all 5 forms submits on the backend, but I don’t want them skewing my conversion numbers. This is a case where the single goal trigger works.
What about a job board site, where there is a “job application submitted” goal. It’s normal for someone to apply for multiple jobs when searching, but they’ll only show up as one conversion in Analytics. This is great if I want to see the total number of sessions that included at least one job application, but not great if I want to see the total number of job applications.
This is where Event Tracking can help. You can look at both total and unique events, which will provide a better indicator of the true number of submits. This is especially helpful if you’re being paid per job application, or are sending the traffic to your site with the goal of applying.
Look at the table below for an example of how Events and Goals can show very different metrics and lead to incorrect optimizations based on the data.
Metric Label | Website A | Website B |
---|---|---|
Advertising Cost | $1,200 | $1,200 |
Visitors Sent To Site | 100 | 100 |
Cost Per Visitor | $12 | $12 |
Actual # of Job Applications | 150 | 300 |
Job Applications: Goal | 100 | 100 |
Job Applications: Event | 150 | 300 |
Cost Per Application: Goal | $1200/100 = $12 | $1200/100 = $12 |
Cost Per Application: Event | $1200/150 = $8 | $1200/100 = $4 |
While a 100% conversion rate is unlikely, it makes for easier math. If you were to just look at the Goal Metrics, both sites would appear equal. But if you look at the actual cost per application using events, you’ll see that Site A is twice as expensive as Site B in driving conversions.
Recommendation: Goals and goal conversion rates work in most cases, but they aren’t a perfect metric. Understanding your visitors and the value of multiple conversions can help you better decide if this level of analysis is beneficial, or if the basic goal tracking is enough.
Analyzing this data can be done in Google Analytics, but you’re much better off taking the data outside of the platform and working in Excel/Sheets. It will be much easier to get things to line up correctly, especially if you’re bringing in cost data and/or other platform metrics.
Site Speed Reports Only Include At 1% Of Sessions
The Google Analytics site speed reports are a great place to start reviewing your site for potential issues but is far from the best tool for the job. The page timing report is helpful in identifying “trouble pages” on your site, but I wouldn’t recommend using it outside of the relative comparison of the pages.
It’s also important to note that these page speed insights are based on 1% of the sessions to your site, which is hardly enough of a sample size. This can be changed in your tracking code settings up to 10%, but I believe this hurts your site speed even more.
And finally the Avg. Page Load Time is the main metric within the reports. This is the time it takes for the page to load to completion, not when the page is visibly loaded and usable by the user. This is why the number always seems so much higher than it takes to load when you test it. In the custom reports or via api, you can see other page speed metrics such as document load time – but again there are better places to get this data.
Recommendation: Use the page speed reports to identify “problem pages” on the site. Use other tools like GT Metrix for a comprehensive page speed report that you can pass off to your developer.
Your Demographic Reports Show Only Part Of Your Audience
Looking at the demographic and interest reports in the audience section of analytics is a great way to see how your website visitors break out according to age, gender, and general interests/business segments. But it’s important to keep in mind that you’re only looking at part of your data.
Google Analytics collects this data from visitors logged into their Google Accounts and other 3rd party sources, meaning they don’t have data on everyone. Most accounts I review have data in the range of 35-45%. This is enough data to get a general idea of the visitors on your website, but should not be the only data source when making significant business decisions.

Recommendation: There isn’t a way to improve the data shown in this report, so it shouldn’t be used as the only data source when trying to understand your website visitors. Looking at Facebook or other platforms to expand and compare the data will provide a more complete picture of the demographics of visitors on your website and in your market.
Google Analytics Will Not Match Your Marketing Platforms
Conversions on Google Analytics are not going to line up with the conversions in your marketing platforms. It’s related to the different methods of tracking conversions and how those conversions are attributed to the traffic source. This is deserving of a much longer post, but below will cover the basics.
Most of the reports in Google Analytics use the Last Non-Direct Click attribution model. This means that whatever drove the visitor to the site when they converted receives credit for the conversions. With the exception of visitors who came directly to the site and converted, which would attribute to their previous traffic source when applicable.
Most marketing platforms, including Facebook and Google Ads, use longer attribution windows based on clicks and views. Facebook, for example, will use a 28-day click window, which means you click an ad and convert 27 days later and Facebook will report that conversion. It also has a 1-day view attribution, meaning you can see an ad (not click it) and that ad will report your conversion if you convert in the next 24 hours (this is extremely unhelpful with remarketing campaigns, as they’ll take credit for everything).
The conversions are also based on different pixels and cookies. Google Analytics relies on the analytics cookie. Google Ads can rely on its own cookies or on the Google Analytics one. And Facebook has its own cookies as well. They’re all using different sources to base their conversion on, so it’s no wonder they don’t line up.
Recommendation: Don’t rely on a single point of truth when analyzing and optimizing your campaigns. Google Analytics is great for comparing traffic sources driving conversions in an apples-to-apples sort of way, as you’re using a single cookie and conversion. Longer attribution windows can be useful in understanding the value and performance of campaigns in the total conversion process, and they’re also helpful in optimizing conversions in the platform.