How to Avoid Hitting the Hit/Row Limit in a Free Google Analytics Account

how-to-avoid-hitting-1Google Analytics receives every user interaction as a hit. This includes every pageview, screen view, e-commerce transaction and event, as well as all other types of interactions. In other words, just a single user session quickly totals up to several hits.

For Google Analytics to handle data from millions of sites, it has to set limits on how many hits each free account is allowed. Once you exceed this limit, Google Analytics may fail to process additional hits. This may cause your account to only refresh once a day, which can lead to a delay in the updating of your reports and metrics for up to two

Property Specific Limits

Property specific limits apply to Properties, Web Properties, and Tracking IDs. You have up to 10 million hits per month for each property.

ga.js and Legacy Libraries

For ga.js, mobile snippets, and other legacy tracking libraries, you have up to 500 hits per session.

Universal Analytics Enabled

For analytics.js, Android iOS SDK, and Measurement Protocol, you have up to 200,000 hits per user per day. There is a limit of 500 hits per session.

Timing Hits

There are also limits for timing hits, which include the site speed hits automatically sent by ga.js and analytics.js. You have either 10,000 or 1 percent of the total pageviews for the day, whichever is larger.

Client Library Specific Limits

In addition to property specific limits, each client library has a limiting mechanism. This stops you from sending too many hits at the same time. It works by using a token bucket algorithm, enabling your account to send bursts of hits to Google Analytics.

Each type of libraries has a distinct rate limit. Every library has a tracker with a maximum limit, which it calculates using a counter. The counter decreases by one for every hit until it reaches zero. The library then sends no new requests until, after a defined period of time, the counter is replenished.


Each ga.js tracker starts with 10 hits and is refreshed by one hit every second. This only applies to event-type hits.


Each analytics.js tracker starts with 20 hits and is refreshed by two hits every second. This applies to all hits except the item and transaction e-commerce hits.

Android SDK

For every tracker on a device, each app starts with 60 hits and is refreshed by one hit every 2 seconds. Like the above, this applies to all but e-commerce hits for items and transactions.


Each property starts with 60 hits and is refreshed by one hit every 2 seconds. Again, this applies to everything but e-commerce hits for items and transactions.

Sending Fewer Hits

There are several ways to send fewer hits. A couple of ideas include setting a sample rate on your data collection or removing the extra tracking calls you added to basic implementation.

Bear in mind that adding a view filter will not reduce the hits you send. Filters only apply to data that Google Analytics has already collected.

Combining Pages

Another option is to combine pages. You have three options to achieve this.

This first involves excluding specific query string parameters. This is by far the easiest option. All you need to do is choose the profile you want to modify under “Admin” and then click “Profile Settings.” In the “Exclude Query Parameters” box, insert the parameters you want to ignore.

There is one problem with this option — it only solves the problem of duplication caused by query string parameters. If this is insufficient, you will need to utilize one of the other options.

The second option is to override the page name with the _trackPageview variable. Change every instance of _gaq.push([‘_trackPageview’]); with a new page name. Give each a unique code to make it recognizable, use a keyword that allows you to reference pages for goals and segments, and use the canonical tag you use for SEO to track pages.

If you need to consolidate a few pages but are unable to update page level code, your best option is to replace part of the URLs. Head to the profile you want in Google Analytics and select “Filters” followed by “New Filter.” Choose “Custom Filter” and then choose “Search and Replace.” Click “Request URL” in the drop-down menu. If everything looks good after you test the changes, hit “Save.”

How to Increase Your Limit

If you are unable to reduce the number of hits you need, you should upgrade your account. One option is Google Analytics 360, a paid service with a Service Level Agreement. In addition to increasing your hit volume to 2 billion per day, you will receive technical and implementation support.

A second option is Google Analytics for Firebase. This free service offers unlimited analytics and unlimited reporting for up to 500 events. You will need to define the events you want using the Firebase SDK.

Consider carefully how many hits you actually need per day. If you are able to stay within the limits without your data collection suffering, apply a method to send fewer hits. If this is not possible, upgrade or change your account immediately to avoid problems.

If you like my articles,