Skip to content

Commit 375c0a6

Browse files
Session Id and Session Number using gtag
1 parent 4cd79ec commit 375c0a6

File tree

1 file changed

+14
-0
lines changed
  • src/connections/destinations/catalog/actions-google-analytics-4

1 file changed

+14
-0
lines changed

src/connections/destinations/catalog/actions-google-analytics-4/index.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,20 @@ The Google Analytics 4 reports only display active users who engage with your si
8181

8282
If you choose to integrate with Google Analytics 4 client-side (using Gtag outside of Segment) _and_ also use Segment's Google Analytics 4 destination to send events through the API, you can track sessions server-side. When using Gtag, [Google generates a `session_id` and `session_number` when a session begins](https://support.google.com/analytics/answer/9191807?hl=en){:target='_blank'}. The `session_id` and `session_number` generated on the client can be passed as Event Parameters to stitch events sent through the API with the same session that was collected client-side.
8383

84+
Ripping off that old section we could maybe add this line at the end of the Session section:
85+
You can double-check your session_id and session_number with the [Google Site Tag function](https://developers.google.com/tag-platform/gtagjs/reference) or by running this script in your JavaScript console and replacing G-xxxxxxxxxx with your GA4 measurement ID:
86+
```const sessionIdPromise = new Promise(resolve => {
87+
gtag('get', 'G-xxxxxxxxxx', 'session_id', resolve)
88+
});
89+
const sessionNumPromise = new Promise(resolve => {
90+
gtag('get', 'G-xxxxxxxxxx', 'session_number', resolve)
91+
});
92+
93+
Promise.all([sessionIdPromise, sessionNumPromise]).then(function(session_data) {
94+
console.log("session ID: "+session_data[0]);
95+
console.log("session Number: "+session_data[1]);
96+
});```
97+
8498
> info "Session tracking limitations"
8599
> Session tracking server-side only works if you're also sending data to Google Analytics 4 client-side. This is because the `session_id` must match a value that was previously collected on the client. For events to stitch properly, they must arrive within a 48 hour window of when the client-side events arrived.
86100
>

0 commit comments

Comments
 (0)