The Ultimate Guide To Google Analytics Hits: What Are Hits & Its Limitations?

If you’re NEW to google analytics or have been using it for a long time, it’s essential to know how the USER DATA is sent to the google analytics servers & is reflected on your dashboard.

The basic foundations of the data collection in google analytics is done via “hits“. In this article, we’ll focus on the concept of “Google Analytics Hits“. What is it? What data does it collect? What are its limitations & more…

So let’s get started…

Index

Google Analytics Hits

What is a Hit in Google Analytics?

Let’s first understand what is a “hit”…

According to Google,

“A Hit is an interaction that results in data being sent to Analytics.”

Each time the tracking code is triggered by a user’s behavior (for example, user loads a page on a website or a screen in a mobile app), Analytics records that activity. Each interaction is packaged into a hit and sent to Google’s servers.

In simple words, after a specific user interaction, the data is packed & sent to google analytics as a hit. The “hit” contains the user interaction data. We can also send custom data but that’ll be a later post.

So, What exactly is user interaction??  Well, the basic one is the PAGE LOAD.

 

Here’s the process that takes place when the user lands on your website & page loads.

Google Analytics Hit Process

Here’s what going on…

1.) The analytics code on your website gets triggered on page load.

The main sources from where the google analytics tracking code collects data are

  • The HTTP request of the user
    • Information Gathered: Hostname, referrer, browser language, etc
  • Browser/system information
    • Information Gathered: Java & Flash support, Screen Resolution, etc
  • First-party cookies
    • Information Gathered: Sessions, Source/Medium, etc
  • DoubleClick cookies. (only when display features are enabled)
    • Information Gathered: Demographics, Interests, etc

 

2.) The Data gathered is sent to Google Analytics Servers via a Hit.

This collected information is sent to the Google Analytics servers in the form of a long list of parameters attached to a single-pixel GIF image request.

Here’s what it looks like:

https://www.google-analytics.com/r/collect?v=1&_v=j72&a=834238095&t=pageview&_s=1&dl=https%3A%2F%2Fwww.digishuffle.com%2Ftesting-page%2F&ul=en-gb&de=UTF-8&dt=Testing%20Page%20-%20Digishuffle&sd=24-bit&sr=1366×768&vp=1499×427&je=0&_u=SCCAAAADQ~&jid=1526552845&gjid=2113202529&cid=1885418923.1520692526&tid=UA-89611791-1&_gid=1918538701.1543666955&_r=1&gtm=2wgbc0K69QHW7&z=608482186

This data is sent to the Google Analytics servers, which is processed & later available in your reports.

What are the Different Types Of Hits?

Different types of hits will send different types of data (some overlapping), populating different reports on Google Analytics. These are the types of hits available in GA:

  1. Pageview hit
  2. Screenview Hit
  3. Event Hit
  4. Social Interaction Hit
  5. Ecommerce Hit
  6. User Timing Hits
  7. Exception Hit

 

Again, some of these are subcategorized into 2 types

  1. Interaction Hit
  2. Non-Interaction Hit
Google analytics hit types

By default most of the hits are interaction hits, i.e Google Analytics will use these hits to calculate engagement metrics such as avg. time on page, bounce rate & so on…

To make a hit a Non-Interaction one, you’ll need to add set the event  “non-interaction == true” (in GTM). If you are not using GTM, then just add the non-interaction parameter as below.

What Interaction Data is sent via Different Types of Hits?

Pageview Hit:

By default, only the pageview hit data gets sent on every page load by the user. The easiest way to see the data is to open the chrome debugger network request & search for collect request

Data Sent: (* marked are a compulsory parameter)

 

Variable Data Explanation
v 1 Protocol version*
tid UA-12344523-1 Property ID*
cid 123453443.214124124 Client ID*
t pageview Hit Type*
dl https://www.digishuffle.com/ document location*
dt Digishuffle – Page Title document title
…… …… Other Browser Variables
Other Browser Variables

 

Dimensions & Metrics Populated:

  1. Users
  2. Sessions
  3. Pageviews
  4. Page URL
  5. Page Title
  6. Screen Resolution
  7. Browser Language
  8. Operating System
  9. … etc etc

 

Screenview Hit (for Apps):

If you have installed google analytics setup in your app, then the screenview hit will send the following data to the servers.

Data Sent: (* marked are a compulsory parameter)

 

Variable Data Explanation
v 1 Protocol version*
tid UA-12344523-1 Property ID*
cid 123453443.214124124 Client ID*
t screenview Hit Type*
an Calculator App Name
av 2.0.0 App Version
aid com.calc.app App Id
aiid com.vending.android App Installer ID
cd home Screen name

 

Dimensions & Metrics Populated:

  1. Users
  2. Sessions
  3. Screen Views
  4. Unique Screen Views
  5. Screens / Session
  6. Screen Name
  7. App Name
  8. App Version
  9. App ID
  10. App Installer ID

 

Event Hit:

To send an event hit, you’ll need to implement custom coding. Also, it’ll depend on what you are using to fire analytics tags (GTM or analytics.js/gtag.js).

If you’re using GTM, you can create a universal analytics event tag to send an event hit.

The reports are available in the Behavior > Events > Top events section.

Data Sent: (* marked are a compulsory parameter)

Variable Data Explanation
v 1 Protocol version*
tid UA-12344523-1 Property ID*
cid 123453443.214124124 Client ID*
t event Hit Type*
ec downloads Event Category*
ea link clicks Event Action*
el analytics guide Event Label
ev 100 Event Value

 

Dimensions & Metrics Populated:

  1. Event Category
  2. Event Action
  3. Event Label
  4. Event Value
  5. Total Events
  6. Unique Events
  7. Event Value
  8. Avg. Value

 

Ecommerce Hit:

To clear the confusion, let me iterate something. There are 2 ways to track ecommerce data on your website.

  1. Enhanced Ecommerce Tracking – Data is sent via pageview or event hit.
  2. Ecommerce Tracking – Data is sent via ecommerce transaction & item hit.

NOTE: Both cannot be implemented at the same time for the same property. 

So, ecommerce hits are only sent when you implement ecommerce tracking & not enhanced ecommerce.

Ecommerce tracking hit simply has 2 sub hit types:

  • Transaction hit
  • Item hit

Let’s take a look at what data gets sent per hit.

Also, once you enable the ecommerce reports, you will find the data in the Conversion > Ecommerce section.

Data Sent – Transaction Hit: (* marked are a compulsory parameter)

Variable Data Explanation
v 1 Protocol version*
tid UA-12344523-1 Property ID*
cid 123453443.214124124 Client ID*
t transaction Hit Type*
ti 1001 Transaction ID*
ta formalShoes Transaction Affiliation
tr 100.00 Transaction Revenue
ts 10.00 Transaction Shipping
tt 5.00 Transaction Tax
cu USD Currency Code

 

Data Sent – Item Hit: (* marked are a compulsory parameter)

Variable Data Explanation
v 1 Protocol version*
tid UA-12344523-1 Property ID*
cid 123453443.214124124 Client ID*
t item Hit Type*
ti 1001 Transaction ID*
in Shoes Item Name*
ip 100.00 Item Price
iq 1 Item Quantity
ic QW12ED Item Code / SKU
iv shoes Item Variation / Category
cu USD Currency Code

 

Dimensions & Metrics Populated:

  1. Transaction ID
  2. Revenue
  3. Tax
  4. Shipping
  5. Quantity
  6. Product
  7. Product SKU
  8. Product Category
  9. Unique Purchases
  10. Product Revenue
  11. Avg. Price
  12. Avg. Qty
  13. etc…

 

Social Interaction Hit:

These hits will populate the social reports in google analytics (Acquisition > Social > Plugins). These hits also need custom setup & are an option for implementation.

Data Sent: (* marked are a compulsory parameter)

Variable Data Explanation
v 1 Protocol version*
tid UA-12344523-1 Property ID*
cid 123453443.214124124 Client ID*
t social Hit Type*
sa downloads Social Action*
sn link clicks Social Network*
st analytics guide Social Target*

 

Dimensions & Metrics Populated:

  1. Social Action
  2. Social Network
  3. Social Target

 

User Timing Hit:

These hits will send the timing data to Google analytics. They need custom setup & are an option for implementation.

They will populate the User Timing reports. (Behavior > Site Speed > User Timings)

Data Sent: (* marked are a compulsory parameter)

Variable Data Explanation
v 1 Protocol version*
tid UA-12344523-1 Property ID*
cid 123453443.214124124 Client ID*
t timing Hit Type*
utc Page Tab Time User Timing Category*
utv Visible Tab User Timing Variable*
utt 100 User Timing Time*
utl /digixport/ User Timing Label

 

Dimensions & Metrics Populated:

  1. Timing Category
  2. Timing Variable
  3. Timing Label
  4. Avg. User Timing
  5. User Timing Sample

 

Exception Hit:

Exception tracking allows you to measure the number & type of crashes/errors that occur on your property. You can learn more about exception tracking via analytics.js here.

Data Sent: (* marked are a compulsory parameter)

Variable Data Explanation
v 1 Protocol version*
tid UA-12344523-1 Property ID*
cid 123453443.214124124 Client ID*
t exception Hit Type*
exd SyntaxException Exception Description*
exf 1 Exception is Fatal?*

How To View The Hit Data?

The easiest & the most recommended way to look at the data captured by google analytics is from the network tab of your browser.

Let’s look at the practical example. I’ll be opening the test page from my website to see what details are getting captured.

Here’s the screenshot after the page load.

Google_Analytics_-_Pageview_Event_Hit

Just filter the request by typing “collect”…

  1. By default, you can see the GET request containing “t=pageview”, that’s the pageview hit, while other’s are event hit. (need custom setup)
  2. If you have enabled the remarketing feature in your google analytics, then you’ll see a 302 redirect to “https://stats.g.doubleclick.net/r/collect” which internally redirects (307) to “https://www.google.com/ads/ga-audiences” to fetch the DoubleClick data.

 

Other great tool is a google analytics debugger add-on. This will give you the detailed hit data information in the browser console.

What are the Hit Limits?

Since google analytics collects large amounts of data (nearly 100+ dimension & metrics are populated), it does have its limitations.

Let’s take a look at it one by one.

Property-Level Limits:

If you are NOT a Google Analytics 360 user, you can process

  • 10 million hits / month / property

You’ll receive an email from google if you ever reach that limit to upgrade your account or to sample your data.

User & Session Level Limits:

If you are using gtag.js, analytics.js, Android SDK, iOS SDK or measurement protocol, the limits are as follows:

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

If you are using ga.js or any legacy libraries, the limits are as follows:

  • 500 hits per session

NOTE: Additional hits will not be processed for any of the above libraries if you go above these limits. 

 

Timing Hit Limits:

The timing hits also include site speed hits (for gtag.js/analytics.js/ga.js). These hits have separate limits as follows.

  • 10,000 or 1% of the total number of page views processed (whichever is greater) / Property / Day.

 

For lower hit counts, limitations are as below:

Pageviews (Previous Day) Maximum no of timing hits processed
0 – 1,000 100
1,000 – 100,000 10% of the total pageviews
100,000 – 1,000,000 10,000
1,000,000+ 1% of the total pageviews

 

Concurrent Hit Limits:

If you are sending too many hits at once, these are limits imposed for these concurrent hits to prevent the clients from sending data too quickly.

Each library tracker has limits to send data concurrently as follows

  • gtag.js & analytics.js – 20 hits / tracker object that are replenished at a rate of 2 hits per second. (except ecommerce hits)
  • ga.js – 10 hits / tracker object that are replenished at a rate of 1 hit per second (only event hit)
  • Android SDK – 60 hits / app instance that are replenished at a rate of 1 hit every 2 seconds (except ecommerce hits)
  • iOS SDK – 60 hits / property that are replenished at a rate of 1 hit every 2 seconds  (except ecommerce hits)

To know more, check google limitation docs here.

Where Can I See The Total Hits For My Property & View?

Yes, you can view the total number of hits you’re sending to your property & your view. Here’s how you can do it.

Property Level Hits

  • Go To Admin > Select your property > Property settings.
  • Go to “Property Hit Volume” Section.

Google Analytics - Property Level Hits

 

View Level Hits:

  • Create a custom report & add “Hits” as a metric with “page” (or any) dimension.
  • Here’s you’ll get all the total hit number for the view irrespective of it type.

Google Analytics - View Level - Hits Metric

Confusion Debunked: Hits, Pageviews & Sessions.

Many users get confused between hits, page views, sessions.

As we have seen different types of Hits send different types of data to google analytics servers.

Pageviews (or pageview hits) is just the number of pageview hits sent for a particular page.

Sessions are the group of user interactions (or hits) with your website that takes place within a given time frame.

Final Thoughts

You can try checking the hit data for various other sites too. This will give you an idea what all things they are tracking & you should too.

This open nature of google analytics data collection via measurement protocol also has a negative effect like spam hits data or insecurity for data transfer. This is the reason why large companies like Amazon, eBay, target prefer adobe analytics or their own internal analytics tracking setup.

Most analytics tools define their pricing based on the number of hits you’re sending to their servers. So based on your requirement you can choose what all data to track.

For now, I hope you can now understand & debug your tracking in a better way than before. Let me know if you have any issues while debugging your hits.

Ritwik is Web Analyst & Growth Hacking Consultant. He loves to write technical & easy to understand blogs for Marketers & Entrepreneurs. Focused on Google Analytics, Tag Management, GScripts & more. Google Certified Professional. A Firm Believer in Teaching -> Learning -> Growing. :)