Client_id alternates from FPID to JS-based Throughout User Journey

Hey folks,

I’m troubleshooting the “Unassigned” traffic issue in my GA4 and I see that for some users the client_id changes throughout their journey on the site causing the issue with “not set”/Unassigned. Here is an example, showing how client_id swaps back and forth from FPID-based to JS-based:

As you can see the purchase event has a different client_id (user_pseudo_id) from the one in session_start making google see the purchase coming from a different user from a session with no defined source.

we are on sGTM with Stape - and have the server managed cookies option set with “Migrate from JavaScript Managed Client ID”

Has anyone seen/dealt with something like this. Any ideas and input appreciated

Thanks!

For webhooks, if you are using the Migrate from JS option, you need to check for the presence of FPID. If FPID is present, use it as the client ID for the webhook; if not, use _ga.

1 Like