Why Is Google Analytics Inaccurate?

by David Zheng

Last updated on March 27th, 2018

You may have noticed that some of your  Google Analytics data isn’t entirely accurate.

Whether you saw a sudden, unwarranted change in user behavior, picked up on major differences after a redesign, or found some unexplainable information within a report, there are many things that can indicate issues with your data.

And that’s completely normal.

Google Analytics is one of the most popular (if not the most popular) platforms for monitoring site performance.

It can provide tons of valuable insight and is considered by many SEOs and site owners to be an indispensable tool.

But it isn’t perfect.

In fact, most site owners will run into a discrepancy at some point or another.

There are a few reasons for that.

These reasons fall into two broad categories:

  • Issues you can fix
  • Issues you can’t fix

That’s right: Some of the issues causing problems with your site are unavoidable because you have no control over them.

Fortunately, there are also plenty of issues that you can fix. And if you have any of those problems on your site, it’s important to do what you can to fix them.

Your data can provide valuable insight and help you improve your website and business as a whole.

But that’s only true if you’re basing your decisions on accurate information.

If your data is riddled with discrepancies and incorrect data, you might as well be guessing.

But before we get into the issues that could be causing the issues you’ve noticed, it’s important to understand one issue that often goes undetected: dark traffic.

What is dark traffic?

If you’ve spent much time in Analytics, you’re familiar with the concept of “Direct” traffic.

In theory, this represents visitors that type your URL into their browsers, then navigate directly to your site.

But in reality, that’s not always the case.

For example, it makes complete sense for certain users to come directly to your homepage. Your domain name is likely short and easy to remember, so it’s easy to type in and visit your site.

But if you check out your Direct traffic report (by navigating to Acquisition > All Traffic > Channels, then selecting “Direct”), you’ll likely notice that a lot of your “direct” traffic is landing on pages other than your homepage.

In some cases, this makes sense, especially for pages with relatively short URLs.

But most visitors aren’t going to remember and return directly to deeper pages within your site. For example, how many users do you think would memorize a URL like this one from Groupon?

Not many, right?

That’s the logical answer.

But after digging into their data, Groupon found that a ton of their traffic to pages like this one was being attributed as direct.

They decided to determine why that was by temporarily de-indexing their site. As an aside, this is absolutely not something I recommend trying yourself.

But the idea here is that removing their site from search would temporarily eliminate their organic traffic. So if they also noticed a drop in direct traffic, they could safely assume that some of that traffic was actually coming from search.

So, is that what happened?

You can check out the results for yourself in the following graphs.

The purple lines represent the site’s direct and organic traffic during the week before the test, while the site was fully indexed.

The orange lines represent how both types of traffic fell during the test period.

Their organic traffic, as expected, dropped to almost nothing.

But the site’s direct traffic also decreased by 60%.

If all of the direct traffic reported during a normal week was really just from users directly typing a URL into their browsers, then that traffic level should’ve remained relatively stable even after the site was deindexed.

So, what’s the logical conclusion here?

That 60% of Groupon’s “direct” traffic was actually from organic search.

This is a huge discrepancy — but unfortunately not an uncommon scenario. In another example, The Atlantic determined that 25% of their traffic was being miscategorized a direct.

But how did they arrive at that figure, and how can you do the same?

The easiest way is to create a segment to isolate the dark traffic in your Google Analytics report. This segment will show traffic that’s being reported as direct, but landing on deep pages within your site — so you can logically conclude it’s not actually direct.

First, navigate to your Audience Overview report. Then, click “Add Segment.”

Then, you’ll need to select the “Traffic Sources” tab and choose “[direct].”

From here, you’ll need to add a filter to exclude the pages that users might actually be navigating to directly.

Select the “Conditions” tab and choose the “Landing Page” option. Then, select “is not one of” and enter a forward slash (“/”) into the field.

This way, your segment will only include users who arrive on pages other than your homepage.

In some cases, you want to add additional filters if there are other pages on your site you expect visitors to navigate to directly.

For example, in Groupon’s case, they often include the URL “groupon.com/getaways” in campaigns that focus on their vacation deals.

As a result, it makes sense that users would arrive on those pages.

So if you use easy-to-remember pages names in your offline advertising campaigns (like “yourdomain.com/radio” or “yourdomain.com/conference”), you’ll also want to filter out those visits.

You can also attribute those visits to specific channels or campaigns, so they’re not dark traffic.

Then, to the right of your settings, you’ll see a summary of how many of your users match the criteria you’ve set for your segment. This can give you a general idea of how much dark traffic is in your Analytics reports.

Finally, save your segment, and you’ll see a report that looks something like this:

This report will help you get an idea of how much of your site’s traffic is dark, as well as how many conversions are being falsely attributed to direct traffic.

And although you can’t retroactively determine where those visitors and traffic are really coming from, you can get a better understanding of how many of your digital marketing campaigns and strategies aren’t getting the credit they deserve for generating conversions and results.

As the Groupon example illustrates, a large chunk of this traffic could be from your SEO campaigns.

But if you run advertising campaigns on other online platforms, traffic from those campaigns could also be getting falsely lumped in with your direct traffic.

Fortunately, this is a fixable issue. In fact, it’s the first fixable issue we’ll get into in the next section.

So with that in mind, let’s jump into seven avoidable problems that might be causing inaccuracies in your Google Analytics reports, and what you can do to fix them.

Google Analytics errors you can fix

First, let’s start with the things you can do something about.

1. Failure to tag campaigns

One of the biggest causes of inaccuracies within Google Analytics is a lack of information about where your visitors are coming from.

And while some of that is unavoidable, you can address a large part of the problem by adding tracking information to the URLs you use in your online advertising campaigns.

If you aren’t tagging your campaigns, you’re missing out on a ton of helpful data in your Analytics reports.

Fortunately, tracking your campaigns is much easier than it might sound.

You’ll just need to start adding UTM parameters to your URLs.

UTM parameters are bits of data that tell Analytics where, exactly, the users who click a URL are coming from.

There are a few different parameters you can use to track this information:

  • Medium: This indicates the channel is coming from. You can use standard channel names like Social, Paid, Email, and Referral.
  • Source: This is the individual site within that channel, like Facebook.
  • Campaign: This lets you include the name of a specific ad campaign.
  • Content: If you’re running multiple ads within the same campaign, this parameter lets you track those ads individually.
  • Term: This used to be a parameter for tracking keywords within paid search campaigns, but now that AdWords integration with Analytics, you’ll rarely ever need it.

Whenever you launch a new campaign, you can use Google’s Campaign URL Builder to easily create a trackable URL.

First, enter your domain into the URL box. Then, add a channel name.

From there, the rest of the fields are optional — but in most cases, it makes sense to at least include a medium.

For example, let’s say you wanted to track visits to your site from users who click on your email signature. Clicks from email aren’t normally, tracked, so they likely make up at least a portion of your dark traffic.

To track those clicks, you’d add “email” as the medium, and “signature” as the source.

Then, the builder will provide a URL you can copy and paste wherever relevant.

In this case, you’d use this link in your email signature. So whenever a user clicked that link, Analytics would be able to register exactly how they arrived on your site.

It’s a good idea to get into the habit of creating these URLs for each new digital marketing campaign you launch.

Plus, for every tracked URL you create, you eliminate a source of dark traffic — meaning you can be more confident in the validity of the data in your reports.

2. Missing tracking code

So far, I’ve focused on issues that can prevent you from collecting accurate referral data about your traffic.

But it’s also important to consider an issue that can prevent you from collecting any data at all: missing tracking codes on your pages.

Google Analytics relies on a JavaScript “tag” on each page of your site to track visits. If you set up your account yourself, you likely copy and pasted a snippet that looked something like the following screenshot into your site’s code.

This code is what lets Analytics register your traffic and collect data about your users. It needs to be present on each page of your site.

If it’s not included on one of your pages, there won’t be any data for that page in Analytics.

There are a few ways this error might become apparent. For example, if you redesign or make any major changes to your site’s code, then notice a drop that looks like this, an issue with your tags could be to blame.

The untagged pages won’t register data, so it will appear that you’ve experienced a huge drop in traffic.

Improper tagging can also lead to self-referrals.

A self-referral is when your own domain is listed as a source of referral traffic to your site. If these are an issue for your site, they’ll appear in your referral report like this:

This isn’t supposed to happen.

When users move through correctly-tagged pages, Analytics can track that movement and give you more insight into your traffic flows.

But when a user moves from a page without your tracking code to a page that does have the tracking code, that first page is registered as a source of referral traffic.

This prevents you from accessing valuable data about how your visitor navigate your site.

Plus, it means that your traffic numbers are inaccurate.

Fortunately, this is a relatively straightforward issue to fix. You just need to include your tracking code on every page.

But first, you’ll need to figure out which pages are creating the problem.

If you only have a five-page website, you can easily check if the script is present manually. But if you have hundreds or thousands of pages, it’s difficult (if not impossible) to check each page individually.

Fortunately, there are tools you can use to verify that your pages are tagged and find the ones that aren’t.

So if you think that some of your pages are missing a tracking code, but you aren’t sure which, check out this tutorial on using Screaming Frog’s SEO spider tool to learn how to search every page for the presence of your Google Analytics code.

Then, you can remedy the issue by properly implementing your tracking code on the pages that are missing it.

The best way to do this is by including the code in your site’s header file.

Some site owners make the mistake of adding their code individually to each page. The reasoning behind this decision is often to avoid slowing down page load times.

They place it just above each page’s tag so that the visual elements can load before the code executes. This way, the code doesn’t delay the elements a user sees from loading.

However, this is an unnecessary concern. Google Analytics tracking codes load asynchronously, meaning they don’t slow down page load times — regardless of where they appear.

As a result, the best place for your tracking code is in the header file that already appears on each of your pages. This way, you don’t have to worry about adding it manually when you create new pages.

It’ll be included in your template, so you can start collecting data as soon as you upload the new page to your site.

3. More than one Google Analytics tracking code on the page

So: not having a tracking code on a page will mess up on your data.

And on the flip side, having multiple tracking codes on your page will also mess up your data.

For example, let’s say you update your site in a way that impacts a large chunk of your pages, like updating your main navigation bar.

Then, you see a sudden, roughly double, increase in pageviews that looks like this:

Did your update have that big of an impact on your site’s traffic?

Probably not.

The much more likely explanation is that your tracking code was duplicated on some (or all) of your pages.

Each script on your site records a new visit, even if those scripts are on the same page. This means that each visitor to a page with two scripts will register two pageviews.

So if you notice a quick, unexplainable spike in traffic, this could potentially be the cause.

Multiple scripts per page can also lead to inaccurate bounce rate reporting. That’s because when Analytics registers both scripts back-to-back, it sees this as a user moving between two pages on your site.

If you notice that your bounce rate suddenly drops to a number seems too good to be true, it probably is.

So before you start celebrating your increased traffic and nonexistent bounce rate, double check your pages to make sure they each only contain one tracking script.

4. Improper tracking of subdomains

If you have any subdomains on your site, these can easily create issues within your Analytics tracking.

For example, if your blog is hosted at “blog.yourdomain.com,” it could be counted as a source of referral traffic — even though it’s part of your site.

To eliminate this issue, you’ll need to modify your tracking code. You can do this by following this step-by-step tutorial for accurate cross-domain tracking.

You can also prevent your subdomains from appearing as referral sources by setting up referral exclusions in your Google Analytics settings.

First, open the Admin tab and click “Tracking Info” in the Property Column. Then, select “Referral Exclusion List” and click “Add Referral Exclusion.”

Here, enter your subdomain URL and click “Create.”

This will prevent your subdomain from appearing as a referral source, and keep Analytics from inaccurately registering users who move from your subdomain to your main site as referral traffic.

5. Internal traffic appearing in reports

The entire point of using a tool like Google Analytics is to learn about visitors who are presumably part of your target audience.

This way, you can get a better understanding of how they interact with your content, and improve your site to convert more of them into customers or clients.

But it’s important to remember that not every visitor to your site is part of your target audience.

For example, you.

You likely visit your site on a regular basis for maintenance purposes, or to see the changes that other members of your team have made.

For data purposes, your visits are meaningless. So having them registered in Analytics is unnecessary.

If you’re the only person who works on your site, this isn’t a huge deal. A few extra pageviews here and there won’t have a major impact on your data.

But what if you have an entire dev team working on your site on a regular basis?

Or what if members of your sales team regularly consult your service pages to double-check the features included in different plans?

This could have a much more significant impact.

Fortunately, this is another easy issue to fix. All you have to do is filter out visits from your office so that they don’t appear in your reports.

Open your Admin tab, and under your View, select “Filters.” Then, click “Add Filter.”

Give your filter a logical name to indicate the exact location you’re excluding from your reports. If you only have one office location, you could simply name your filter, “Office.”

If you have multiple offices or workspaces, however, you’ll want to be a bit more specific in the filter names for each.

Then, set your filter type to “Exclude” and select “Traffic from the IP Addresses” and “That Are Equal To.”

Next, enter your office’s IP address in the IP Address field.

If you’re not sure what your IP address is, you can find it by performing a Google search for the phrase, “what’s my IP address.”

Once you click “Save,” traffic from within your office will no longer be included in your Analytics reports.

Then, you can repeat this process for any other IP addresses that members of your team often access your site from. If you regularly work from home, for example, you’ll likely want to exclude your home IP address, too.

6. Improper goal setup

They help you determine how often users are taking important actions on your site, like making purchases and filling out contact forms. They also tell you where those users are coming from, and which content on your site they interact with before taking action.

This information gives you a better idea of your site’s performance, as well as insight into how you can get even more of your visitors to convert.

As a result, it’s essential that your Analytics account accurate tracks each conversion on your site.

So if you notice any issues with your goal tracking, this is something you’ll want to address immediately.

In most cases, it’s easy to determine when your goal reporting isn’t properly functioning because your Analytics account isn’t the only place you can see conversion-related information.

For example, if a user submits a contact form, their information will either show up in your inbox or a third-party management tool like Nutshell or Salesforce.

Although you likely won’t spend time individually tallying up the submissions you receive, it’s fairly easy to tell whether those submissions are being accurately reported in Analytics.

If you know you’ve been getting form submissions, but your conversion report doesn’t show them, that’s a clear indicator that there’s an issue with your goal setup.

If this is the case, you’ll need to do some digging into your Goal setup to see what’s happening.

Open your Admin tab, navigate to your View, and select “Goals.”

If any of your goals are showing zero conversions, and you know that isn’t actually the case, you can follow Google’s goal troubleshooting article to identify and solve the problem.

7. Referral spam

If you notice a large jump in referral traffic, that could be a great sign!

But before you get too excited, you should make sure that it’s coming from legitimate websites.

In many cases, sudden spikes are an indicator of referral spam — which isn’t valuable and can skew your reporting data.

If you’re unfamiliar with the concept of referral spam, it’s essentially “fake” traffic from bots and crawlers from spam sites. This means that these pageviews aren’t from real visitors.

As a result, referral spam can lead to artificially inflated pageviews and useless referral data.

You can see if this is an issue for your site by opening your referral report and checking to see if there are any strange domains sending your site traffic.

If you notice any “spammy”-sounding domains, look at the bounce rate of the traffic they’re sending you. If it’s 100% or close to 100%, you can safely assume that the traffic from that domain is referral spam.

For example, take a look at the two spam domains in this screenshot:

The “traffic” from these two domains isn’t real, so it doesn’t add any value to this site’s Analytics reports.

If you find that referral spam is an issue for your site, there are a few ways to address it.

First, you can remove spam from your existing reports by setting up a custom segment that excludes data from the domains you’ve identified as spam.

Then, you can follow this tutorial on filtering referral spam in your View to prevent “traffic” from those sites from being collected in the future.

Google Analytics errors you have no control over

Now that I’ve covered the issues you can fix, it’s also important to be aware of the ones you can’t.

Although there aren’t any steps you can take to eliminate these discrepancies, being aware of them will help you better understand your data.

With that in mind, let’s jump into seven unavoidable issues that might be impacting your Analytics data.

1. Some browsers have JavaScript disabled

As I mentioned above, Analytics tracks your traffic using a JavaScript tag.

But if a user visits your site with JavaScript disabled in their browser, you won’t be able to register any data for that user.

Thankfully, this is an extremely minimal issue.

In 2010, Yahoo reported that just over 2% of US internet users had JavaScript disabled.

And as of 2016, Blockmetry reported that only 0.2% of pageviews from worldwide traffic in 2016 came from browsers with JavaScript disabled.

So although it’s beneficial to know that this is a possibility, it likely doesn’t have much of an impact on your Analytics data.

2. Some visitors don’t allow cookies

In addition to your tracking code, Google Analytics also collects user data with cookies.

Cookies are important because Analytics can use them to tag a visitor, then aggregate that visitor’s behavior over the course of multiple visits.

Here’s a basic overview of how that works:

So, for example, let’s say a user first arrives on your site by clicking on a Facebook advertisement. They browse a few pages, then leave.

The next day, they type your brand name into Google, click your site in the search results, and make a purchase.

Using cookie data, Analytics can tell that these visits are from the same user. They’ll register as separate sessions, but you’ll be able to tell from your attribution reports that the user first arrived as a result of that Facebook ad.

Without cookie data, the platform wouldn’t be able to do this. It would be impossible to gain insight into how users behave on multiple visits to your site.

So if Analytics is unable to collect cookie data, this can skew the information in your reports.

There are a few things that can cause this to happen.

  1. The visitor’s browser doesn’t accept cookies.
  2. The visitor’s firewall blocks or deletes cookies
  3. The visitor deletes cookies manually.

Fortunately, in one study by Yell, they found that only 0.2% of users did not allow cookies.

Of course, this doesn’t account for cookie data being erased whenever a user clears their browsing history.

Still, it’s safe to assume that users who don’t accept cookies only have a minimal impact on your Analytics data, if any.

3. Cookies timeout

As we established in the last point, users who don’t accept cookies at all likely don’t have a huge impact on your reports.

But it’s also important to consider the possibility of cookies timing out.

Google Analytics uses two different types of cookies to track visitors:

A persistent cookie. This cookie is placed on a user’s device the first time they visit. It remains for two years, or until it is deleted, the browser is re-installed, or a manual removal occurs.
A session cookie. This is a new cookie that is placed each time a user visits. Users receive a new session cookie each time they arrive on your site.

Here’s a more in-depth explanation of the differences between the two:

So, why does this matter?

Consider the following scenario. A user:

  1. Visits a page
  2. Goes to dinner for two hours, leaving the page open
  3. Comes back and starts browsing

Now, keep in mind that Google Analytics ends a visitor session after 30 minutes of inactivity.

In the scenario described above, a new session cookie would be placed when the visitor starts browsing again. Even though they never actually navigated away from the page, it would be considered a brand new session by Google Analytics.

Now, in my opinion, this isn’t actually an “inaccurate” way to register data. It makes sense to consider two browsing sessions that take place 30+ minutes apart as separate occasions.

But it’s still a bit of a complicated reporting detail, and something to be aware of as you use Analytics.

4. The same user on different devices

Once again, an example is best to illustrate how users switching devices can impact your Analytics data.

Consider this scenario:

  1. Jane is standing in line at the grocery store.
  2. She starts researching a product on a website from her iPhone.
  3. A cookie is set on her iPhone.
  4. She gets home, unloads the groceries, and then purchases that same product from the same site on her laptop.

In a perfect world, Jane’s behavior would be tracked as she switches devices, and that site would be able to register her as the same user for both sessions.

But Analytics simply isn’t that advanced. It can’t track when a user switches between devices.

At least not yet.

As it is, the purchase will be attributed to a brand new visit.

Given the prevalence of cross-device usage, this can create discrepancies in your reports.

In fact, one survey found that 81% of Internet users browse on multiple devices, and 67% reported shopping on multiple devices.

Unfortunately, there’s nothing you can do to collect more accurate data on users who visit your site on multiple devices.

Still, being aware of this possibility can help you develop informed hypotheses for strange user behavior on your site.

5. Google Analytics doesn’t reprocess information

Let’s say you have been tracking data using Google Analytics for two years.

Then, you decide to gain more insight into how users are converting by setting up a funnel for one of your most important conversion goals.

You’ll be able to start collecting data on how users move through that funnel. But Google Analytics will not retroactively apply your funnel to the data it’s already collected.

Your goal funnel will be visible from the time you set it up forward, but no data will be available before that time.

To be fair, that would be a lot to ask of a free service that processes the massive amount of data that Analytics processes every day.

So if you add a new filter, don’t expect that all of your data will automatically reflect that change, and give a more accurate picture of your site’s performance.

You can add segments to view your historical data the way you want, as I described in the section above about dark traffic.

But make sure to take this step — otherwise, you’ll be working with data that doesn’t reflect your new filter changes.

6. Google Analytics isn’t in real-time

Although this doesn’t necessarily make your reports inaccurate, it’s important to remember that Google Analytics doesn’t display information in “real-time.”

You can see some real-time data in your Real Time report

But for all of your other reports, it’s best to assume that Google Analytics is 24 hours behind.

So if you make any major changes to your site, wait at least a day to start looking for changes in Analytics.

Otherwise, the impact of your changes likely won’t be appearing yet — so it’s too soon to start analyzing your results.

7. The platform could be sampling your data

If you have a very active website and you try to run a report that includes a large amount of data, Google Analytics might use data sampling.

In other words, they won’t include all of your data in the report.

Including large quantities of data is extremely resource-intensive, so the platform can speed up the process by providing you with a subset of that data.

So if you see a yellow box like this one in the upper right corner of your report, your data is being sampled.

In the screenshot above, the report is only including data from about 30% of visits.

If your site doesn’t attract huge levels of traffic, and you don’t see this little box, you don’t need to worry about data sampling at all.

But if you do see this box, it’s important to recognize that your report doesn’t reflect all of your site’s traffic, and could be skewed as a result.


There are many different factors that play a role in the accuracy of your Analytics reports.

Fortunately, you have control over many of those factors. So if you find that any of the first seven listed in this article are impacting your reports, you can take steps to remedy those issues.

And as for the rest of the factors potentially impacting your reports, all you can do is be aware of them.

Let’s put it this way: It’s not ideal to build a house using a tape measure that measures a foot at 10 inches.

But as long as you’re aware of that error, and the error is consistent, you can still build a reasonably solid house.

If you can fix the tape measure, do so. But if you have no control over it, learn to make the judgments that you can, understanding that the data is flawed.

Even with slight discrepancies, Analytics is still a valuable tool for any site owner. But the more aware you are of those inaccuracies, the more informed decisions you can make to improve your site.

How do you handle data discrepancies in Google Analytics?



Get updates on new articles, webinars and other opportunities:

David Zheng

David Zheng is the Editor in Chief at CrazyEgg, Founder of GrowthWit and WiseMerchant and the Head of Growth at BuildFire. He helps influencers, ecommerce brands, venture backed startups, and Fortune 500 companies grow their traffic and revenue online.


Comment Policy

Please join the conversation! We like long and thoughtful communication.
Abrupt comments and gibberish will not be approved. Please, only use your real name, not your business name or keywords. We rarely allow links in your comment.
Finally, please use your favorite personal social media profile for the website field.


Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  1. sean says:
    June 17, 2017 at 12:03 pm

    I’ve applied as many techniques as I can possibly discover towards getting an accurate Analytics reading but without fail my site never goes higher than 400 views a day.

    My server stats read 4000-5000 views a day (Minus bots). Even if my server stats were slightly inflated the gulf between the two are insane. I have absolutely no idea what’s going on and everything above has been applied to no avail.

    One confused blogger over here.

  2. Chenna says:
    October 12, 2016 at 12:57 am

    In my Google Analytic E-commerce overview Total Transactions count Shows wrong on the date of 04-Oct-2016 Total transactions are 2 only but here count shows 4.

    Affiliation count 2 is actually count proper, but above side Transactions count 4 is wrong count actually date of 04th total transaction are 2 only.
    can u please give some idea what is problem here.

  3. Dave says:
    August 29, 2016 at 2:27 pm

    Great article. Easy to understand. I am looking for more info about google analytics. I have just started a PPC (pay per click promotion).
    The clicks (according to the PPC company) are happening at 4X the rate that Google Analytics say we are having visitors. the PPC company is sending out blast emails & the clicks are off of the emails. But the PPC company says, Google Analytics does not count visitors from blast emails. I thought Google Analytics counted all visitors. Anybody know the correct answer to this??

    • Sean Work says:
      August 31, 2016 at 4:58 pm

      Hi Dave, there could be several reasons for this. First, is your PPC traffic going to a landing page that’s on another domain? Sometimes people will use a landing page provider where the URL of the landing pages is not your domain. Also, if the landing page IS configured to your domain, you need to make sure that the Google Analytics tracking snippet is on that landing page.

      • Jimmy Bollister says:
        November 22, 2016 at 1:55 pm

        Bit Late to the question but also assuming ppc company tagged their links properly.

        • Sean Work says:
          December 1, 2016 at 4:44 pm

          That too. That’s just a good idea in general.

    • Jared says:
      June 1, 2017 at 1:05 pm

      Google Analytics CAN count visitors from emails, however they must be tagging their URL’s properly in the emails using UTM parameters: blog.kissmetrics.com/how-to-use-utm-parameters/

      Also, there will inherently be a difference in clicks to sessions when comparing AdWords and Analytics: support.google.com/analytics/answer/1034383?hl=en

  4. Siena says:
    February 18, 2016 at 8:57 pm

    It’s true I see from my stats that google analytics is not accurate; I was thinking it was only me that is having this issue, but coming to your blog help me and now know that it’s not onliny me – a lot of site owners have the same issue. Thanks for awesome post. Thanks Neil for this info.

  5. Lers weber says:
    February 9, 2016 at 12:05 pm

    Good post. My experience with Google Analytics also confirmed that it is very inaccurate. It is great that you listed the possible reasons for its inaccuracy.

    Would you or anyone here suggest an alternative to Google Analytics?

  6. Saul says:
    January 8, 2016 at 3:03 am

    Still not sure about Google Analytics. Since installing it on our site and forum it would “appear” our traffic has dropped like a lead balloon. According to Webalizer we were getting over 1.4 million page views per month but with Google Analytics we are lucky to see 40,000. That’s quite some difference! I know of course Webalizer will track server logs so will include a lot of things Google Analytics leaves out but it’s still somewhat disconcerting to see your stats suddenly take that sort of a dive. I’m also wondering how effective Google Analytics is on a phpbb type forum and in particular one that has thousands of pages of information? I need reliable stats I can give to advertisers and right now I don’t know which ones to use.

  7. Cyril says:
    January 6, 2016 at 1:00 pm

    Hello Russ, hello all 😉
    Many thanks for this article and the very interesting niformation it contains. I’ve read all the comments made since the article has been edited, and I did not find the information I seek : what about the influence of “do not track” browser feature (or other anonymisation tools) on GA stats ? And same thing for visits coming from browsers where Ghostery or Adblock is activated ? I was looking for figures such as the ones from Yahoo about ‘How many people desactivate js’… Do you know some informations about that ?
    Many thaks again for the article (in which I appreciated the way you separated the issues on which you can do something, from those on which you canot), and best whishes for 2016 😉

  8. James Lenfers says:
    December 28, 2015 at 6:10 am

    I have noticed every single month there is a high spike almost exactly 30 days apart. Traffic goes up a little bit, then the next day a big spike, followed by about a 1/3 drop, another 1/3 the next day and a bottoming out.

    Then analytics tracks zero traffic after that, then a little bit, then back to normal looking again until it happens again another 27 days latter.

    The first time I saw this I thought, oh, that is just some post getting temporary exposure then dropping in the google index. It isn’t. This 3 day spike followed by a bottoming out, is not showing up anywhere in my real time data.

    I am not sure what it is, other then the main analytics going through some 3 day routine, 5 days if you count the 2 bottom out days, that looks like more of a estimate adjustment taking place over a 5 day period before it goes into the new month.

  9. Brandon Corbett says:
    July 30, 2015 at 1:45 pm

    I have several clicks on our homepage associated with “events” in Google Analytics. I am trying to figure out why G.A. shows an extremely low click-count under events when both CrazyEgg data and Google’s own In-Page Analytics show a much higher click-count for the same thing.

    • Jared says:
      June 1, 2017 at 1:09 pm

      Can’t speak to CrazyEgg data in terms of click tracking, however In-Page Analytics is an issue because any link on the page with the same href value is counted as the same click. So, if you have a link on the top of the page and one on the bottom pointed to the same page, even if the anchor text is different, In-Page Analytics will show you the same percentage/heat map.

  10. Jon says:
    June 1, 2015 at 11:57 am

    Another issue is that GA will report time on Page as 0:00 if the visitor doesn’t view another page (basically every bounce is a zero time on page), even if they’ve been reading something for 20 mins.

  11. Michael says:
    August 4, 2014 at 2:50 am

    I only just discovered a difference in our traffic stats between a paid service and GA. Given what you have said above, I guess it is just one of those things.

  12. Roger says:
    July 28, 2014 at 9:41 am

    I am also having issues with analytics..my affiliate partner is telling me a different number of sales through their website than my analytics is showing…

    I am looking for a tool that can check if measurements are done correctly. It can be quite extensive and expensive to check all pages. Making decisions on adspend or if a certain partner is doing different then he tells me is a no go for me. I just want to be certain.

    Are there tools that can check this? So not only if a tag is placed correctly but also if the tag gives the correct data…
    I searched on google and found datakit. They have a tool called qmon. Anyone who know this tool? It is free for 1 million validations…maybe worth a try….

  13. Elena says:
    July 21, 2014 at 7:10 pm

    I updated with “Upgrade to Universal Analytics” which uses a new code and the number of visitors went down. However I do not rely in Google analytic only and, my number of visitors are up. What intrigues me- does this affect how we rank? I bet it does because Google sees less visitors so thinks that we are not as important as we were. I really am worried that their wrong data will affect the search engine.

  14. nardone says:
    June 29, 2014 at 10:26 am

    Good article as I have big differences as well with GA and Statcounter which I also use The problem is that when I want to sign up for a press pass, many events want your GA stats and mine don’t show large enough to attend events. It is very annoying and I probalby need to get someone who is an expert in GA to look at my blog. I like Statcounter but when the businesses you want to work with only use GA, it makes it hard to use anything else.

    • Neil Patel says:
      June 29, 2014 at 8:16 pm

      Nardone, glad you liked the article. Thanks for the great feedback 🙂

      • haroon aejaz says:
        August 12, 2014 at 7:12 am

        this is off topic question. but related to analytics and SEO. i have observed so many dublicate meta descrbtion pages in my website becuase i use in wordpress .. web traffic goes down like 90%. finally i fix it., but these pages still in web master tool and not traffic

        • Neil Patel says:
          August 12, 2014 at 12:47 pm

          Haroon, have you been giving the pages time to get indexed and updated. It may be that you just need to give it time. Let us know how it goes. Keep us posted please.

  15. Sports Backlinks says:
    March 18, 2014 at 7:01 pm

    I’m still not sure what the problem is. Perhaps everything listed in this article. My analytics report typically shows for 30 days what my server logs show for 1 day. It was so far out of whack that I just stopped using it entiirely.

  16. Siew Ann says:
    March 17, 2014 at 5:01 am

    Google Analytics seemed to have missed out on 1 transaction that I had. I don’t have many transactions on my site, hence why I noticed. Any idea what happened there or how I can get Google Analytics to show that transaction under E-commerce Conversion numbers? Otherwise, this affects my total overall % . I’m running on Magento for my ecommerce site. Googly Analytics, however, have not failed to track all other transactions that occured thus far. I would very much appreciate any sort of assistance I can get.

  17. Shannon Lewis says:
    March 11, 2014 at 8:57 am

    I have noticed this happening… example would be best to illustrate it…

    Log into google analytics on Friday, review Thursday’s data. Vistors = 480.
    Log into google analytics on Saturday to gain more insight to Thursday’s traffic and now vistors = 240.

    This seems to happen all the time. When I review yesterday’s traffic, the data is always higher than when I review that same day a few days later.

    Insight as to why this happens?

  18. naga says:
    January 4, 2014 at 5:28 am

    HI, i am using google analytics for my website, its fast growing, GA Showing per day visitors are 700+ everyday, when i am searching for my site growth value, alexa showing only 27 visitors perday.
    Even i gone through my hosting control panel , that figure GA providing is correct. alexa showing wrong figures.

  19. Dan says:
    December 11, 2013 at 2:41 pm

    Just what I was looking for.

    We have both GA and Statcounter(visit length set at 1 hour) installed with quite a difference in Unique visitors.

    I realise they track differently but have to give the stats to some advertisers.

    Think its ok to add the 2 together and then take the average as accrding to some of the forums GA under reports and SC over reports!

    Page views for both are actually more consistant, just need to have the answers ready.

    Thanks Dan

  20. satya says:
    November 7, 2013 at 11:32 am

    hi , based on my findings GA – not 100% accurate . I am using combination of Aw stats and GA together .. THis helps me to certain extent , but Is there any other tool , which gives more promising data ???

  21. donOld says:
    October 31, 2013 at 1:09 pm

    One thing I have learned since my original post here is the difference between “visitors” and “hits”. Hits are simply requests made to your server for the resources needed to load (display) a page in a visitor’s browser. A single web page may need many resource files to load (images, text, buttons, style sheets, etc.). I use Fireworks to assemble my pages. Fireworks breaks up my finished pages into 40 or 50 smaller image files and exports them to my graphics folder. When a visitor requests a page, 40 or 50 requests are made to my server for the image files necessary to load the page. In my server logs, this shows up as 40 or 50 page requests but in reality all this activity was initiated by a single user requesting a single page.

    Google Analytics doesn’t track server requests. It only tracks the 1 html page file that contains their javascript tracking code. I now believe this is the main reason why the GA numbers are always much lower than the server-based data programs.

  22. Henrik Hil says:
    October 31, 2013 at 5:57 am

    TagMan wrote that Google Analytics changed refering domain for direct trafic so up to 50% of your trafic are reportes as Google refered trafic. This discussion started back in 2009 and is now started again.
    Other topics that TagMan can be found here: info.tagman.com/rs/tagman/images/TagMan_Truth_About_Google.pdf

  23. Nikole says:
    October 27, 2013 at 9:21 pm

    A web advisor placed GA code on several pages of our 1000 page site and now tells me he trusts Google analytics results more than our Website OS. Why would he not realise that visitors enter the site through many pages on the site, not just the index page or the pages he marked;- the site is 15 years old, regularly updated. Google analytics, as he set it up, shows between 2 and 5 visitors per day (!) and website OS shows 200+. Even if some of these are robots, etc. I’m in a state of shock and hate that I have to debate this with him. Isn’t it obvious?

  24. Md. Nasir says:
    October 26, 2013 at 6:10 am

    Great info… I have a small query, my blogger page views shows a huge page views but when I check my analytics there are very few traffic, why this happens? Is there any problem with my Analytics account?


  25. Lumia 925 says:
    May 14, 2013 at 12:20 pm

    i have some problem too
    in alexa, my website growing fast
    but in Google anaytics, visitor and page views every time down 🙁
    thnks for your info 🙂

  26. Barbara Weibel says:
    April 8, 2013 at 5:25 pm

    I sure hope you can help me. A while back I hired a designer to revamp my webste. Afterward, Google stopped tracking my traffic, so I researched and via Google support pages, realized the tracking code was not in my header. I added it, and weverything went back to normal. That was a couple of years ago. Today, through a series of events I don’t need to bore you with, I discovered that my site had previously used the traditional synchronous code and it was still in the footer. So for the past two years, at least, every page of my site has had both codes installed. Before I do anything, I hoped you could tell me what the implicatins of having both tracking codes active, other than bounce rate. Is it possible that my traffic has been counted twice all this time? And is it safe to just remove the old tracking code from my footer? Appreciate any help you can provide.

    • Kathryn Aragon says:
      April 8, 2013 at 6:39 pm

      Hi Barbara. Great questions! In most cases, Google tracks unique URLs, so the duplicate code should NOT result in duplicate hits on your page. That being the case, it should be safe to remove the code from your footer.

      • Barbara Weibel says:
        April 8, 2013 at 8:12 pm

        Thank you so much Kathryn!

        • Kathryn Aragon says:
          April 8, 2013 at 9:36 pm

          Your welcome, Barbara. 🙂

  27. donOld says:
    March 5, 2013 at 12:13 pm

    Last Dec, goDaddy cancelled Site Analytics, a web server stat tool. Site Analytics reported 800-1,000 page views per day. After switching to Google Analytics my page views have dropped to 80-100. Could 90% of my traffic really be from spiders?

    • Russ Henneberry says:
      March 5, 2013 at 2:11 pm

      If I’m correct the Site Analytics program was reporting activity from your server logs is that correct? If so, don’t forget that Google Analytics is a tag based solution that can only register data for visitors that can execute JavaScript and accept a cookie. So, your server log solution was actually more accurate in this way.

      • donOld says:
        March 8, 2013 at 2:31 am

        Thanks Russ. That’s right, Site Analytics was a sever-side app that processed my log files. I am now using GoDaddy’s free analytics program Analog 5.1 (also a server-side log app). In the last 7 days it reports page views to be 6,552. Google Analytics says I have had under 100 hits. All of my main pages are tagged properly at the end of the section as per Google’s instructions. I can’t fathom the discrepency, or how Google Analytics managed to get so popular.

        • Lasse Liukkonen says:
          May 9, 2013 at 2:42 am

          I also think that Google Analytics is missing A LOT of traffic to my website. I am considering If I should remove the whole thing from my pages as I trust and find more useful the logs on my cPanel. However, I am a bit worried if the removal of Google Analytics code would affect adversely in Google Search rankings..?

          Google Webmaster on the other hand is great!

          • T says:
            October 7, 2013 at 3:37 pm

            I’ll 3rd these GA accuracy concerns. I recently implemented GA on a small site as a test case and the data is significantly less than our long-running web server logging tool. Visits alone are off by 700% with GA compared to our server tool. The implementation is quite recent so perhaps it will take GA some time to catch up and stabilize, but if the current data patterns hold I will advise the client to ignore (and will not implement on other sites).

  28. Ankit says:
    February 5, 2013 at 10:12 am

    I also have observed that sometimes Google Analytics doesn’t give the right results. There is always a difference between the visits that are shown by c-pannel tracker and Google Analytics.
    I always thought that it was due to javascript issues, but you have given some other very good reasons for why this difference happens.

    • Russ Henneberry says:
      February 5, 2013 at 11:33 am

      Thanks Ankit!

  29. Brad Cumbers says:
    February 4, 2013 at 11:20 pm

    The important thing, and I try to make sure all of my clients are on the same page, is not to be looking at the raw hard numbers, but to look at the trends and % weightings over time. Use these to base your decisions on – not that you had 2 more visitors today than yesterday.

    • Russ Henneberry says:
      February 5, 2013 at 8:24 am

      Good point Brad. It’s much easier to see trends than to try to tease out any really hard numbers to go by.

    • Henrik Hil says:
      October 31, 2013 at 6:08 am

      The issue here is if you are using sampled data. Please notice that Google Analytices themself says: Sampling reports is relying on that asumption that your trafic patern is distributed identical all days and looking on small segments as conversion will be like findind a neel in the grass.
      I really dont understand big customres there use Google Analytics because the want to save $ 200 daily for the licens for Webtrends or SiteCatalyst. If you miss ONE conversion data you will miss an opportunity for optimization. Is that not $ 200 of value?

  30. Jacob Kildebogaard says:
    February 1, 2013 at 5:00 am


    Great list. As a danish Google Analytics consultant I needed a tool to check the code, so we have developed GAtective.com for this purpose.

    You can free use http://www.gatective.com and scan your site. We check for code on all pages, same UA, same codeversion, and more and provide you with an excel file with all URLs. And all feedback are welcome.

    • Asmitha says:
      March 5, 2013 at 8:53 am

      Is there a limit to the number of pages that can be scanned with gatective?

      • Russ Henneberry says:
        March 5, 2013 at 9:46 am

        I’m not sure, you will need to check with them about that Asmitha.

      • Jacob Kildebogaard says:
        March 6, 2013 at 1:34 am

        Asmitha: We (Gatective.com) currently have a limit on 2.000 pages in the free scan, but we can help making much larger scan if needed. Just mail us, and we will find a solution 🙂

        • Asmitha says:
          March 6, 2013 at 3:30 am

          Thanks so much Jacob! I have mailed you 🙂

  31. Rose says:
    January 31, 2013 at 4:46 pm

    Thank you! Kind of. With your help, I realized that plugin overlap caused my GA code to be in there twice. So, I’ll find my TRUE bounce rate in a few days, I guess. I may need some ice cream. On the bright side, at least it was in the head (both times)!

    • Russ Henneberry says:
      January 31, 2013 at 5:04 pm

      Oh wow! Actually I have seen that twice before — now three times. Glad you caught it! 🙂

  32. Dan Coleman says:
    January 31, 2013 at 3:58 pm

    This is a great article. All to often people just assume that GA is working. It’s worth noting that the free version of screaming frog only allows you to check 500 URI’s and the paid option is £99 per year.

    It’s a great tool but if you just want to validate GA tagging you might be interested in the simple PHP crawler I’ve made specifically for this task. It’s a bit rough around the edges and will take you 10 minutes to set up the first time but it’s free and it does the job. http://www.exceptionalcommerce.com/Validate_Google_Analytics_Tags

  33. Hannes says:
    January 31, 2013 at 3:09 pm

    Thanks for the post as it is always good to remember the issues of a tracking tool like GA. I have just a little remark regarding your point that In-Page Analytics can’t separate the number of clicks from different links that lead to the same location. With a little change in the tracking code and the admin settings, GA actually can do that. For more information: http://support.google.com/analytics/bin/answer.py?hl=en&answer=2558867

    • Russ Henneberry says:
      January 31, 2013 at 3:48 pm

      Thanks for adding this Hannes — I updated the article. Thanks again!

  34. Aaron Bradley says:
    January 31, 2013 at 1:27 pm

    Thanks for this comprehensive look at inaccuracies in Google Analtyics, Russ!

    However, you are in error when you say In-Page Analytics is inaccurate because it “can’t separate the number of clicks from different links that lead to the same location.”

    Until recently that was the case. However, late in 2012 Google introduced “Enhanced Link Attribution” to address different links on the same page pointing to the same target URL (http://bit.ly/YCUjHG).

    • Russ Henneberry says:
      January 31, 2013 at 2:58 pm

      Aaron– thanks a ton for pointing this out. I updated the article.

    • Rick Baker says:
      October 22, 2014 at 5:52 pm

      So I have a customer who is struggling with measuring brand impressions for her clients. Google’s data seems far too low based on what we can see at the server level. Are there solutions that do a better job of measuring this?

  35. Mukesh says:
    January 31, 2013 at 11:32 am

    Most of these issues or problems mentioned here are common to all analytics services (except web-server logs based tools). Also these problems are web issues in general as the same issues can be for other services / tools not just tracking. Are there alternatives that solve all these issues?

    • Russ Henneberry says:
      January 31, 2013 at 2:53 pm

      Totally agree Mukesh, thanks for mentioning this. Any tag based solution is going to have these same problems. You aren’t going to find a solution that doesn’t have error — we just need to learn to live with it and make it as accurate as possible.

      • Henrik Hil says:
        October 31, 2013 at 5:50 am

        Webtrends can track by 3. party cookie as well, can track by user agent tool to so you dont need java enabled. Cross domain tracking is by default therefore very easy.
        Next there is a plugin you can use that will transfer your 1. party cookie to another domain using a paramter in the url.

    • Henrik Hil says:
      October 31, 2013 at 5:46 am

      @ Nicole, Webtrends or SiteCatalyst do NOT sampel data.

Show Me My Heatmap

We've been demo-ing @CrazyEgg this week. Quite impressed so far.

Sara MacQueen


What makes people leave your website?