Update time: Dec 17, 2024
The following first-party cookies are generated and used in GA4:
Cookie name | Default expiration time | Description |
---|---|---|
_ga | 2 years | Used to distinguish users. |
_ga_<container-id> | 2 years | Used to persist session state. |
FPID | 2 years | Used to distinguish users. |
FPLC | 20 hours | Used to cross-site tracking |
Note:Although the default validity period is 2 years, the actual validity period is 13 months. This is because there is an industry rule in current browsers that the validity period of first-party cookies is 400 days, which is about 13 months. Therefore, the validity period you see in the cookie is about 13 months.
Next, let me introduce the specific information in these two cookies, take bbccss.com as an example:
_ga
By default, GA4 assigns a unique Client ID to each device as a unique user, which is stored in the browser’s cookie _ga. The structure of _ga is as follows:
Note: 1197596843.1673515099 is the Client ID.
The detailed explanation is as follows:
Value | Description |
---|---|
GA1 | Version number, which represents the version of the cookie format that’s being used. |
1 | Domain Level, In fact, GA4 generates all 1. |
1197596843 | Random Number, 10 digits |
1673515099 | Timestamp, the timestamp when cookie _ga was created |
_ga_<container-id>
The structure of _ga_<container-id> is as follows:
The detailed explanation is as follows:
Value | Description |
---|---|
GS1 | Fixed String: Google Stream 1 |
1 | Domain Level, In fact, GA4 generates all 1. |
1673933110 | Session ID/Current Session Start Time |
12 | Sessions Count |
0 | Engagement Session, 1 means engagement session, 0 means no |
1673933110 | Current Timestamp |
60 | Countdown,60-second countdown may be used to calculate the Engagement Session or the time spent on the page. |
0 | to be determined |
0 | Enhanced Client Id, abbreviated as ecid, is a string of numbers that only has value when tracked on the server side tracking. |
For the first request of the session, the Session ID and Current Timestamp are the same, because the Session ID is the Current Session Start Time
Read more : In-depth Understanding Session in Google Analytics 4
FPID
The full name of FPID is First-party device IDs, which is set through server-side tracking. Therefore, it is only available in server-side tracking:
This cookie is httponly, and the variables in GTM cannot obtain it.
The value of FPID is as follows:
FPID2.2.F99Fd7gVuQuP93MZdJiEn07o/eZba6j9bAt8ETLsn8E=.1733280703
Note: F99Fd7gVuQuP93MZdJiEn07o/eZba6j9bAt8ETLsn8E=.1733280703 is also called Client ID
Value | Description |
---|---|
FPID2.2 | Version number |
F99Fd7gVuQuP93MZdJiEn07o | TBD |
eZba6j9bAt8ETLsn8E= | TBD |
1733280703 | Timestamp |
Read more: FPID: First Party Device ID
FPLC
Since FPID is HttpOnly, GTM cannot read it, so FPID cannot achieve cross-site tracking.
FPLC is used to solve the problem that FPID cannot be tracked across sites.
FPLC is the hash value of the FPID cookie. It is not HttpOnly, which means that JavaScript can access FPLC and use it for cross-domain tracking.
FPLC is valid for only 20 hours.
Referral: