Google Analytics (google/google-analytics
)
operated by: Google LLC
(get company information on datarequests.org)Google Analytics is an analytics platform that claims to give publishers a “complete understanding of [their] customers across devices and platforms” to “[u]nderstand how [their] customers interact across […] sites and apps, throughout their entire lifecycle.”
Google Analytics provides JavaScript libraries, mobile app SDKs, and an open measurement protocol to collect data from website visitors and app users. “Every time a user visits a webpage, the tracking code will collect pseudonymous information about how that user interacted with the page.” Based on that, Google then provides additional features:
- Real-time reporting, allowing publishers to “[m]onitor activity on [their] site or app as it happens.”
- Attribution, allowing publishers to “[u]nderstand [their] customers’ paths to conversion”.
- Path and user exploration. Publishers can “[v]isualize [their] users’ paths to conversion as they interact with [their] website and app.” They can even “[s]elect specific groups of users and drill down deeper to understand how those users engage with [the] site or app.“
- Funnel exploration: “Visualize the steps users take to complete tasks on [the] site or app, […] and identify over- or under-performing audiences.”
- Predictive capabilities: “By applying […] machine learning models, Analytics can analyze [publishers’] data and predict future actions people may take, like making a purchase or churning. [They] can then create audiences that are predicted to take these actions to drive conversions or retain more of [their] users.”
Google Analytics integrates with various other Google products, including Google Ads, Google Search Ads 360, Google Search Console, and Google Play.
There have been multiple generations of Google Analytics. The current generation is Google Analytics 4 (GA4). The previous generation, Universal Analytics, stopped processing data in July 2023. It used property tags starting with “UA-“.
Endpoint URLs
These are URLs or regexes of endpoints the tracker sends data to. We use these to determine which adapter to apply to a request. Some trackers use the same endpoint for several formats. In this case we use additional logic to match the adapter to the request, refer to the code for more information.https://region1.google-analytics.com/g/collect
https://region1.analytics.google.com/g/collect
https://region1.analytics.google.com/g/s/collect
https://www.google-analytics.com/j/collect
https://www.google-analytics.com/g/collect
https://www.google-analytics.com/collect
https://analytics.google.com/g/s/collect
https://ssl.google-analytics.com/collect
https://www.google.com/ccm/collect
https://region1.google-analytics.com/privacy-sandbox/register-conversion
https://ssl.google-analytics.com/batch
/^https:\/\/www\.google\..+\/ads\/ga-audiences$/
https://www.google-analytics.com/analytics.js
https://ssl.google-analytics.com/ga.js
https://www.google-analytics.com/plugins/ua/ec.js
https://www.google-analytics.com/plugins/ua/linkid.js
https://www.google-analytics.com/plugins/ua/ecommerce.js
https://www.google-analytics.com/ga.js
https://www.google-analytics.com/urchin.js
http://www.google-analytics.com/urchin.js
http://www.google-analytics.com/ga.js
http://www.google-analytics.com/analytics.js
https://stats.g.doubleclick.net/g/collect
https://stats.g.doubleclick.net/j/collect
https://stats.g.doubleclick.net/r/collect
Decoding steps
Every tracking library has its own way of transmitting tracking data, often even several. They are regularly pretty convoluted, nested encoding schemes. Because of that, the adapter needs to decode the request information into a consistent format. We try to keep keys and paths intact, but the structure results from our decoding. All steps used in the decoding for this adapter are documented here.- Parse the query string in the request path as a query string. Store that in the result for the query string.
- Parse the request body as a query string. Store that in the result for the request body.
- Get the property at JSONPath
$
in the request headers. Store that in the result for the request headers.
1res.query = parseQueryString(query)
2res.body = parseQueryString(body)
3res.header = header.$
Observed data transmissions
This is data that we observed being transmitted by this tracker. Not every request contains all of this data. The context of the data describes where we found the data in the request, the path describes the location of the data in the decoded request. The examples are a selection of observed values.References
- Documentation for
aid
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#aid - Documentation for
aid
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#aid - Documentation for
msid
: https://support.google.com/admanager/answer/10678356#msid-an - Documentation for
an
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#an - Documentation for
an
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#an - Documentation for
av
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#av - Documentation for
av
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#av - Documentation for
uaa
: https://www.thyngster.com/ga4-measurement-protocol-cheatsheet/ - Documentation for
cid
: https://louder.com.au/2022/06/27/client-id-in-ga4-what-is-it-and-how-to-get-it-in-your-report/ - Documentation for
cid
: https://louder.com.au/2022/06/27/client-id-in-ga4-what-is-it-and-how-to-get-it-in-your-report/ - Documentation for
cm
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#cm - Documentation for
cn
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#cn - Documentation for
ci
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ci - Documentation for
cs
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#cs - Documentation for
cs
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#cs - Documentation for
ck
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ck - Documentation for
gcs
: https://www.simoahava.com/analytics/consent-mode-v2-google-tags/#how-do-i-check-if-consent-mode-is-active - Documentation for
gcs
: https://www.simoahava.com/analytics/consent-mode-v2-google-tags/#how-do-i-check-if-consent-mode-is-active - Documentation for
gcd
: https://www.simoahava.com/analytics/consent-mode-v2-google-tags/#consent-mode-v2-signals - Documentation for
gcd
: https://www.simoahava.com/analytics/consent-mode-v2-google-tags/#consent-mode-v2-signals - Documentation for
cu
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#cu - Documentation for
cu
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#cu - Documentation for
exd
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#exd - Documentation for
_fid
: https://www.thyngster.com/ga4-measurement-protocol-cheatsheet-beta/?p=_fid - Documentation for
linkid
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#linkid - Documentation for
_c
: https://www.simoahava.com/analytics/transformations-server-side-google-tag-manager/#use-case-1-flag-custom-events-as-conversions-for-ga4 - Documentation for
_fv
: https://www.thyngster.com/ga4-measurement-protocol-cheatsheet-beta/?p=_fv - Documentation for
seg
: https://www.optimizesmart.com/what-is-measurement-protocol-in-google-analytics-4-ga4/#37-19-session-engaged - Documentation for
seg
: https://www.optimizesmart.com/what-is-measurement-protocol-in-google-analytics-4-ga4/#37-19-session-engaged - Documentation for
ni
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ni - Documentation for
ni
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ni - Documentation for
ul
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ul - Documentation for
ul
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ul - Documentation for
uam
: https://www.thyngster.com/ga4-measurement-protocol-cheatsheet/ - Documentation for
uap
: https://www.thyngster.com/ga4-measurement-protocol-cheatsheet/ - Documentation for
uapv
: https://www.thyngster.com/ga4-measurement-protocol-cheatsheet/ - Documentation for
tid
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#tid - Documentation for
tid
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#tid - Documentation for
dr
: https://www.thyngster.com/ga4-measurement-protocol-cheatsheet/ - Documentation for
dr
: https://www.thyngster.com/ga4-measurement-protocol-cheatsheet/ - Documentation for
tr
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#tr - Documentation for
sd
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#sd - Documentation for
sd
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#sd - Documentation for
sr
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#sr - Documentation for
vp
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#vp - Documentation for
sr
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#sr - Documentation for
vp
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#vp - Documentation for
sr
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#sr - Documentation for
vp
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#vp - Documentation for
sr
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#sr - Documentation for
vp
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#vp - Documentation for
sct
: https://www.thyngster.com/ga4-measurement-protocol-cheatsheet/ - Documentation for
sid
: https://www.thyngster.com/ga4-measurement-protocol-cheatsheet/ - Documentation for
_v
: https://cheatography.com/dmpg-tom/cheat-sheets/google-universal-analytics-url-collect-parameters/ - Documentation for
_v
: https://cheatography.com/dmpg-tom/cheat-sheets/google-universal-analytics-url-collect-parameters/ - Documentation for
pa
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#pa - Documentation for
pa
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#pa - Documentation for
ea
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ea - Documentation for
ea
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ea - Documentation for
pal
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#pal - Documentation for
pal
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#pal - Documentation for
_et
: https://www.optimizesmart.com/what-is-measurement-protocol-in-google-analytics-4-ga4/#42-24-engagement-time - Documentation for
ua
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ua - Documentation for
ua
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ua - Documentation for
uafvl
: https://www.thyngster.com/ga4-measurement-protocol-cheatsheet/ - Documentation for
uid
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#uid - Documentation for
uid
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#uid - Documentation for
_utma
: https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage?csw=1#gajs_-_cookie_usage - Documentation for
_gid
: https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage?csw=1#gtagjs_and_analyticsjs_universal_analytics_-_cookie_usage - Documentation for
_gid
: https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage?csw=1#gtagjs_and_analyticsjs_universal_analytics_-_cookie_usage - Documentation for
dl
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#dl - Documentation for
dt
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#dt - Documentation for
dl
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#dl - Documentation for
dt
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#dt - Documentation for
dp
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#dp - Documentation for
dp
: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#dp