When Google Analytics code gathers information about your website visitors, how does it send that information to the data collection servers so it can be processed?
The information is sent in a request to https://www.google-analytics.com/collect. This file is requested for every single pageview, transaction, social interaction, tracking, timing, and event. When these processed, Google Analytics strings together the individual actions and associates them with a session.
Here’s an example of this request:
https://www.google-analytics.com/collect?v=1&_v=j68&a=753537405&t=pageview&_s=1&dl=https%3A%2F%2Fwww.analyticsmarket.com%2F&ul=en-us&de=UTF-8&dt=Resources%20for%20Google%20Analytics&sd=24-bit&sr=1600x900&vp=1583x418&je=0&_u=AACAAEAB~&jid=1528408694&gjid=192180985&cid=1602946763.1549335544&tid=UA-23423231144-1&_gid=1845815927.1549335544&_r=1&z=549945300
Although the URL looks overwhelming, it’s pretty simple when broken down:
- It’s a request for www.google-analytics.com/collect
- It contains twenty-ish URL-encoded parameters
- Each parameter stores a specific piece of information that is either used to populate reports or to keep things organized.
- Some parameters are only used in specific cases, others are required each time.
- One of these requests is made each time someone views a page on your website.
When Google Analytics receives these requests, your reports are populated. But did you know that these requests can be blocked?
Requests are blocked more frequently than you may realize, especially if your website visitors are tech-savvy.
Common browser plug-ins like NoScript or AdBlock can prevent analytics.js from loading or block the /collect request from being sent. And when this happens, you won’t “see” these visitors in Google Analytics.
So what’s the solution to this problem? We recommend using Google Analytics AND web analytics software – the latter is able to detect visitors who block GA requests. Learn more here:
Parameter Analysis
Getting back to the /collect request, let’s take a look at each of the query parameters:
Name | Description | Example Value |
---|---|---|
v | Protocol version | v=1 |
_v | SDK Version number | _v=j68 |
a | AdSense linking number | a=753537405 |
t | Hit Type. e.g. pageview, event, item, timing, etc. | t=pageview |
_s | Hit sequence number? (unsure) | _s=1 |
dl | Document Location (full URL) | dl=https%3A%2F%2Fwww.analyticsmarket.com%2F |
ul | User Language | ul=en-us |
de | Document Encoding | de=UTF-8 |
dt | Document Title (Page Title) | dt=Resources%20for%20Google%20Analytics |
sd | Screen Depth (color) | sd=24-bit |
sr | Screen Resolution | sr=1600×900 |
vp | View Port | vp=1583×418 |
je | Java Enabled (0 = no, 1 = yes) | je=0 |
_u | Usage info: tells Google which features are used | _u=AACAAEAB~ |
jid | Join ID for DoubleClick beacon | jid=1528408694 |
gjid | Tracking code version | gjid=192180985 |
cid | Client ID: random-number.timestamp | cid=1602946763.1549335544 |
tid | Tracking ID / Web Property ID | tid=UA-23423231144-1 |
_gid | User ID, used to distinguish users | _gid=1845815927.1549335544 |
_r | No idea, currently undocumented | _r=1 |
z | Random Number Cache Buster | z=549945300 |
The parameters shown above are for a pageview (t=pageview). Different parameters are used with different Hit Types, like t=event or t=transaction.
If you’d like to see the parameters used by the other hit types, we recommend looking at the Measurement Protocol Reference.
Next Steps
Check out our Recommended Tools to learn about products that complement Google Analytics.