Google Analytics collection limits and quotas

Google Analytics Collection Limits and Quotas

This document describes the collection limits and quotas for all Google Analytics collection tags, libraries, and SDKs.

Overview

Google Analytics is used by millions of sites and apps. To protect the system from receiving more data than it can handle, and to ensure an equitable distribution of system resources, certain limits have been put in place. Our policies are as follows and are subject to change.

The following quotas and limits apply to all Google Analytics collection tags, libraries, and SDKs. There are both property specific and client library specific limits.

Property specific

The following limit applies to Web Property / Property / Tracking ID:

  • 10 million hits per month per property

If you go over this limit, the Google Analytics team might contact you and ask you upgrade to Analytics 360 or implement client sampling to reduce the amount of data being sent to Google Analytics.

For monthly total Analytics 360 limits, please contact your account manager or service representative.

Universal Analytics enabled

The following limits apply to gtag.js, analytics.js, Android SDK, iOS SDK, and the Measurement Protocol:

  • 200,000 hits per user per day
  • 500 hits per session

If you go over either of these limits, additional hits will not be processed for that session or day, respectively. These limits apply to Analytics 360 as well.

ga.js or legacy libraries

The following limit applies to ga.js, mobile snippets, and any other legacy tracking library:

  • 500 hits per session

If you go over this limit, additional hits will not be processed for that session. This limit applies to Analytics 360 as well.

Timing hits

Additional limits are imposed on timing hits, including site speed hits that are automatically sent by gtag.js, analytics.js, and ga.js. The maximum number of timing hits that will be processed per property per day is the greater of 10,000 or 1% of the total number of pageviews processed for that property that day. Additional limits apply to lower hit counts; those details are outlined in the User Timings developer guide.

Client library / SDK specific rate limits

Each client library implements a rate limiting mechanism that ensures you don't send too many hits at once. The mechanism is based on the token bucket algorithm, and allows you to send bursts of hits to Google Analytics, while preventing clients from sending data too quickly.

Each tracker has a maximum limit for the number of requests it can send concurrently. The tracker also maintains a count of the number of concurrent hits that have been sent. As a hit is sent to Google Analytics, the count decreases by one. When the count is 0, the maximum limit has been reached, and no new requests are sent. Then over a small period of time, the count is increased back to its original limit, allowing data to be sent again.

Here is a list describing how each library handles rate limits. If any of these limits are reached, hits will not be sent to Google Analytics servers, and the data will not be processed into reports. These limits apply to Analytics 360 as well.

gtag.js and analytics.js:

Each gtag.js and analytics.js tracker object starts with 20 hits that are replenished at a rate of 2 hits per second. This limit applies to all hits except for ecommerce (item or transaction).

ga.js:

Each ga.js tracker object starts with 10 hits that are replenished at a rate of 1 hit per second. This limit applies only to event type hits.

Android SDK

For each tracker instance on a device, each app instance starts with 60 hits that are replenished at a rate of 1 hit every 2 seconds. This limit applies to all hits except for ecommerce (item or transaction).

iOS SDK

Each property starts with 60 hits that are replenished at a rate of 1 hit every 2 seconds. This limit applies to all hits except for ecommerce (item or transaction).