Basically, I have set up GA4 server-side with GTM. This is across WordPress, Shopify, and Unbounce. While all the events are logged correctly, when I check path exploration, there’s always session_start in between all the events. Has anyone faced this problem?
Did you link domains in the GA4 tag configuration and set up cross-domain tracking?
If this doesn’t automatically fix this problem, then you need to manually pass the ga###### session cookie value.
If you have different domains - most likely you don’t have cross-domain configured or not configured correctly, so when you move to a new domain a new session starts (cookies from site A are not available on site B).
Here is a good article about cross-domain on GA4: Cross-domain tracking in Google Analytics 4 - Analytics Mania
Yes. Cross-domain is set up. Do you think it’s because of Shopify’s customer event? Since it’s in an iFrame, should I pass the _ga cookie value manually back to GA4?
Additionally, session_start event has less counts than page_view event on the standard Events. This only happens in path exploration.
No, there is usually no problem with customer events in Shopify, cookies via JS are available there (but not in request header) so there is no need to pass them manually for GA4.
You should run a debug + gtm preview and see what user and session values are used with your events during your flow. Maybe _ga or _ga_session cookie is changing or deleting by something (like consent banner or some custom js).
This is most likely a problem with the cookie, but you can only tell for sure by debugging it
Do you have any suggestions for where to check the session cookie? I’m previewing GTM server side, and I don’t see that parameter in any tags related to GA4 client. The _ga cookie value is there (through both inspection, and I passed it as user_id for data client.)
Actually, I just checked the report again today, and all the extra session_start is gone now. Maybe this was a display bug on GA4.