Unassigned Traffic from Google Ads - Server Side Tracking

Hello all,

I would like to know if there is a way to accurately measure the source traffic through server-side tracking. For example, on May 28, 2023, when the server-side was implemented through Google Tag Manager, there was an increase in unassigned traffic.

Moreover, it appears that the unassigned traffic originates from Google Ads (as evidenced by the presence of HubSpot UTM parameters). However, the UTM source and UTM medium are missing.

Lastly, although the events are firing correctly (Google Tag Manager), I’m unsure if there should be an additional implementation to categorize the unassigned traffic

Main Container


Server Side
and below some of the events that are also created in GA4 main container

I have noticed a significant increase in unassigned traffic, and I can only speculate that the server-side implementation is the cause.

Could anyone assist me in determining the reasons behind the high volume of unassigned traffic and provide guidance on potential solutions?

Thank you for your support.

PS: I apologize for the formatting of the previous message. As a new user, I had certain restrictions that prevented me from including images or links.


According to google documentation: [GA4] Default channel group - Analytics Help
Unassign traffic means that utm tags were there, but they don’t fall into any of the categories. I would recommend checking your utm tags in your ad campaigns first.

A second reason could be a double redirect. That is, the user comes to your site from advertising and he has these parameters in url, but then for some reason he is automatically redirected to another page before GA4 has time to work and all utm tags are lost.

This often happens with Shopify shops, for example, when the ad uses a link to a variant of a product that no longer exists or its id has been changed.

Hope this helps

Hi @Stratos,

Have you found any solution to the problem yet?

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.

If you have found any other solution, I’ll be more than happy to hear.