thankful-television-69452
08/21/2026, 10:21 AMflaky-noon-11399
08/21/2026, 10:42 AMthankful-television-69452
08/21/2026, 10:46 AMflaky-noon-11399
08/21/2026, 10:48 AMthankful-television-69452
08/21/2026, 10:52 AMsquare-state-87588
08/21/2026, 11:04 AMflaky-noon-11399
08/21/2026, 11:13 AMsession_id for every session, create a new metric using (total sessions − sessions with a non_bounce event) ÷ total sessions, set its goal to Decrease, then add it to the running experiment and refresh.
GrowthBook can use the historical raw data, although its time-series view will only begin from when the new metric is added.thankful-television-69452
08/21/2026, 11:32 AMflaky-noon-11399
08/21/2026, 11:39 AMis_bounce column, then create a Ratio metric:
• Numerator: sessions where is_bounce = 1
• Denominator: all sessions
Without custom SQL, the alternative is to keep the existing metric and calculate 100% − non-bounce rate externally.thankful-television-69452
08/21/2026, 12:23 PMflaky-noon-11399
08/21/2026, 1:12 PMPage View event and that both Page View and non_bounce contain the same session_id. Without an event representing every session, historical bounced sessions cannot be identified.
Next you'll need to create the session-level Fact Table and metric
From that Fact Table, click Add Metric and select Ratio:
• Numerator: Count of Rows, filtered to is_bounce = 1
• Denominator: Count of Rows, with no bounce filter
• Goal: Decrease the metric value
We have an AI bot injected into our docs that could give you granular details such as code examples of the SQL to usethankful-television-69452
08/25/2026, 6:23 AMsession_id part.
In our GrowthBook events table, the session_id column exists, but when I query it, the values appear to be empty (LENGTH(session_id) = 0). I can see non_bounce events and other events such as checkout_page_view, but I’m not seeing a usable session ID attached to the events.
Could you please clarify:
1. Does GrowthBook automatically generate/populate session_id for every event/session, or do we need to explicitly send session_id with every event from our tracking implementation?
2. If we need to send it ourselves, could you share the recommended GrowthBook implementation for generating/persisting the same session_id across all events in a session?
3. What should the Page View event look like in the events table for this Fact Table setup?
4. Is there any existing GrowthBook session identifier that we should use instead of creating our own?
Once I have the correct session ID implementation, I can proceed with the session-level Fact Table and the is_bounce Ratio metric.
Thanks!thankful-television-69452
08/25/2026, 6:24 AMsquare-state-87588
08/27/2026, 10:06 AMflaky-noon-11399
08/27/2026, 11:27 AMsession_id? I just double checked and session_id isn't set by the auto-attributes plugin. You'll need to generate and send it on your end on every event.
2. Recommended implementation for generating/persisting session_id
Generate a random ID client-side, store it in a cookie or sessionStorage (so it survives across page views but resets per browser session), and pass it explicitly as an attribute/property on every tracked event. There's no built-in helper for this specific to sessions — you'll wire it up in your own tracking code.
3. What the Page View event should look like
It just needs event_name: "Page View" plus your session_id as an attribute, same as your non_bounce events — that's what lets the Fact Table join them on session_id.
*4. Is there an existing GrowthBook session identifier to reuse instead of creating a new one? T*here isn't a built-in one. The closest thing is the id attribute from the auto-attributes plugin, but that's a longer-lived user identifier (persisted in a cookie), not a per-session one, so it won't give you what you need for session-level bounce rate. You'll need to create your own session_id.thankful-television-69452
08/28/2026, 9:45 AMsession_id implementation, I’d like to confirm whether there’s any existing identifier or event data in GrowthBook that we can use to reconstruct sessions for the historical data.
We can implement the new session_id going forward, but I’d ideally like to avoid losing the first half of the test data if there’s a way to recover it.
Could you please confirm what options we have for the historical data?
Thanks!flaky-noon-11399
08/28/2026, 9:59 AMPage View and non_bounce event contains a stable user_id, device_id, anonymous_id, or SDK id, together with reliable timestamps.
If so, you can create a custom SQL Fact Table that groups events by that identifier, infers a new session after a chosen inactivity period such as 30 minutes, and marks the session as bounced when it contains a Page View but no non_bounce event.
This will include custom SQL that exceeds the scope of support but the AI bot injected in our docs can give a code example of what the custom Fact table will look like for you then to progress to create the ratio metricthankful-television-69452
09/04/2026, 9:32 AMdevice_id, and non_bounce events are present.
However, session_id and user_id are empty in the data I checked, and I haven't found a clear Page View event yet.
So we can potentially reconstruct sessions using device_id and a 30-minute inactivity window, but we need to confirm which event should be treated as the Page View before we can accurately calculate the historical bounce rate.flaky-noon-11399
09/04/2026, 10:52 AMcheckout_page_view fires immediately on every visit to the tested page, or only after someone progresses to checkout? Also, can you check whether the corresponding records in experiment_views contain device_id and timestamps for each visit.
If either source gives us one record per eligible session, it can be used as the starting point for the Fact Table.
However, if no event captured those visits historically, the exact session-level bounce rate cannot be reconstructed because the immediate bounces left no record; in that case, 100% − non-bounce rate would only be an approximation for the existing data.