Unassigned Traffic after enabling server-side

Hi everyone

After enabling server-side tracking with Stape almost 50% of my traffic comes from “Unassigned”. I tried everything. Can you please help me figure it out? I feel like I tried everything at this point


Here’s a good article on assigned traffic: [Solved] How to Fix Unassigned in Google Analytics 4 (2023)

If the problem showed-up after you switched to s2s - you need to look into faults with configuration, a lot of times there are leftovers (inline for example) or a conflicting config that makes some events go directly to analytics omitting the server container - I would look if that’s the case.

Best of luck,


Hi Dan

I noticed that changing the GA4 Client’s Cookies and Client Identification from Server Managed to JavaScript Managed worked with the Unassigned Traffic - but why is that? I have a custom DNS called ss.mywebsite.com.

Also, what is the difference between having only “Default GA4 paths” checked and this one, with everything checked?

The last one seems to give me more data, but also more Unassighed Traffic.

So in short… what is the best setup for the GA4 Client in Server-Side GTM?

I wouldn’t recommend using these features unless you know what it’s for.

With Unassigned traffic you may be helped by using JS managed cookies, but you lose some of the point of going to server side + it indicates that the reason for the unassigned traffic is due to problems in your tags setup. For example, this can often be the case if you have an event that fires before the configuration and thus goes through the analytics instead of the server container.
I would recommend to run a preview of your containers and check that all events always go through the server container.

Hi @tue,

I have been having the same problem since my ss setup. What I’ve discovered so far is that it’s due to an event firing before session_start event. GA4 fetches important information like source, medium, campaign etc. when session_start event is triggered. However, if any event (usually user_engagement) fires before that, GA4 directly puts that session’s source/medium as (not set). So please make sure that no event is sent to GA4 before the Google Tag on GTM fires successfully.

On the client side… with stape and custom loader … only click on the first point (ga4 standard paths) or do we need the other points too?

Hi @Ihsan_Mercan,

Is there any known way to make sGTM wait for session_start to fire user_engagement?

Hi @Manuel-D,

Not that I know, unfortunately.