“Your data volume exceeds the limit of 10M hits per month as outlined in our Terms of Service.”

So you reached the 10M hits…
Don’t panic. I have the solution to that and I’m going to share it with you in this very article.

Relax, make yourself a coffee and keep reading…

andreabronzini.com google analytics 10m hits limit problem

A budget solution with no data-loss

A quick search about this issue will paint a scenario where Google will stop tracking your traffic and ask you to pay $150k to upgrade to Google Analytics 360. Ouch!


The alternative suggested by Google is that you start sampling your traffic.
This means sending to GA fewer hits by simply not tracking all the visitors to your website.

So far I had 2 clients in this situation (very large websites).
For both of them, neither of the two options was acceptable.

In fact, if you do proper conversion optimization, you need to collect as much data as possible from the activity of your visitors… especially if you have an ecommerce platform.

My task here was to come up with a better solution than those proposed by Google and echoed on the web by different blogs.

The requirements

It is important to keep in mind for Google Analytics a “hit” is any of the following:

  • a pageview (or screenview);
  • an event;
  • an ecommerce transaction.

Since we were running a thorough conversion optimization program, the hits my clients were receiving were already optimized. We could not solve the problem by just reducing the number of hits we were getting.

In your case, you might be able to decrease the number of hits by simply removing events that are no longer necessary.

To check how many hits you are generating in one month go to:

Google Analytics > Admin > Property Settings

 In that view, you can easily find your total hits for the last 30 days (see image below).

andreabronzini.com google analytics 10m hits limit solution gtm ga hits

The requirements given by my clients were pretty simple:

  • the solution had not to drop any hit;
  • the solution had to be technically affordable and sustainable;
  • the solution had to be economically affordable and sustainable.

So, armed with these requirements, I started to rule out nonsense solutions until I arrived at the one that does the job.

andrea bronzini hero glasses

The Solution

Once I tell you, the solution will appear pretty obvious.
Anyhow, the tricky part is not finding the solution itself but implementing it correctly.

The most interesting aspect of this way to solve the problem is that it is scalable.

Although scalability was not among the initial requirements, you really don’t want to solve the 10M hit issues today and come back to solve it again in 1 or 2 years.

So, in my brainstorming for ways to overcome this limitation, I added scalability as a very important requirement.

How does it work?

Alright, let's state the issue in clear terms:


you have more than 10 million hits on one single GA property.

So, if we don't want to downsample or to pay for expensive alternatives to GA, what are we going to do about this?


take your hits and distribute them across two or more properties (...duh...).

Told you it was easy :)

To be clear, the idea here is to have your website splitting the traffic into two equal parts and distributing users on 2 GA properties.

andreabronzini.com google analytics 10m hits limit solution

The challenges are:

  • deciding on which of the two GA properties one use should send hits;
  • assigning the user to the selected GA property;
  • for returning users, remembering to which GA property they were assigned on their previous visit;
  • for each user, firing events and ecommerce transactions on the right property.

What do you need?

Here is a list of everything you need to implement this solution:

  1. 2 or more Google Analytics properties (depending on how many hits/month you are generating);
  2. Google Tag Manager installed on your site;
  3. javascript to install one first-party cookie.

As you can see, the entire solution is built using free services.
The only cost you might have is in setting it up correctly.

NOTE: if you are generating more than 20M hits/month (or you are coming close to that) you need to use 3 GA properties.

andreabronzini.com google analytics 10m hits limit solution 2

Implementation workflow

STEP 1 - GA properties

Create a new GA property for your site.
If you have more than 18M hits/month, I warmly recommend creating 2 new properties and splitting the traffic into 3 properties already.

STEP 2 - GTM Tags

Set up GTM to handle the logic of traffic splitting + firing the hits on the right property.
The GTM setup is not very complex but there a couple of critical things to make sure you get right.

Altogether you have to set up 2 tags (with 2 different triggers) and 2 variables.

andreabronzini.com google analytics 10m hits limit solution 3

The first tag is a custom HTML tag and it handles all the logic with javascript code.
The code performs the following functions with :

  1. it checks if the user has a cookie with a previously assigned GA property (GTM variable, 1st party cookie);
    1. if the cookie is not found, it sets the values for the available GA properties;
    2. it randomizes one property for the user;
    3. it sets a cookie containing the value (name) of the chosen GA property;
  2. it fires a datalayer event.

The second tag is a Google Analytics pageview that gets triggered by the datalayer event fired by javascript in the first tag.

STEP 3 - GTM configuration

IMPORTANT: for all this to work, your GA settings in GTM must refer to the variable that check the cookie your installed in the user's browser.

Name your 1st party cookie variable "Cookie - GA settings".

Once you are done with that, configure your GA settings variable to call the {{Cookie - GA settings}} variable (see example in the image below).

andreabronzini.com google analytics 10m hits limit solution gtm ga settings

This way, no matter which GA property GTM will choose for the user, all the pageviews and the events will always fire on the correct property.

This works because the property settings are read from the cookie and GTM uses that information in its GA settings.

IMPORTANT: if you are firing ecommerce transactions on your site, you should also make sure your ecommerce system reads the GA property from the cookie and fires the transaction on the right property.



It is totally ok if you feel confused or if you think you are not able to implement this yourself.
The point of this article is to let you know your problem can be solved quickly, without dropping data, without spending $150k :) 

If you need help with the implementation, you can hire me to implement it for you.

>>> WORK WITH ME <<<


We all love comments... but let's keep this page neat and clean.

You are welcome to post your love and hate on this dedicated Facebook post

andreabronzini.com facebook comments


andrea bronzini pointing up