You open GA4 on a Monday morning and discover that traffic which was previously attributed to Organic Search, Paid Search, or Email has suddenly shifted to Direct. The change happened overnight. Nothing obvious was deployed. Revenue attribution looks wrong. This specific symptom, a sudden shift in source/medium distribution with sessions moving to Direct, has a small set of identifiable causes.
For the broader picture of what inflates Direct after attribution context is lost, seewhy GA4 direct traffic is too high.
Start with the change log
Before investigating the data itself, audit what changed on or just before the date the source/medium shift began. Check your GTM container version history for recent publishes. Check your CMS for recent deployments or plugin updates. Check whether a new consent banner was deployed or an existing one was updated. Check whether the GA4 property admin has had any changes, including Unwanted Referrals list modifications or data filter status changes.
Most sudden attribution shifts can be traced to a recent technical change. Identifying the change date and correlating it with the data shift narrows the cause immediately. If a UTM convention drift is part of the picture, layer inUTM governance checksalongside the technical investigation.
Check GTM container version history
In GTM, go to Versions and compare the publish date of the most recent version against the date attribution started shifting. A GTM publish that moved the <strong>GA4 Configuration tag (or Google Tag in newer GTM containers)</strong> to a different trigger is among the most common causes.
Check for a domain or redirect change
If a URL redirect was added or modified (e.g. /old-path → /new-path), test whether UTM parameters survive the redirect. Click a UTM-tagged link and confirm the parameters are still in the URL after the redirect completes.
Check the referral exclusion list
Navigate to Admin > Data Streams > [select your web stream] > Configure tag settings > List unwanted referrals. If a domain that should be a legitimate referral source was added here, sessions from that domain now fall back to Direct.
Check consent mode changes
If a consent banner was deployed or reconfigured, it may be triggering a page reload on acceptance that strips UTM parameters from the URL, or delaying GA4 loading until after the referrer context is lost.
Validate in realtime report
Click a UTM-tagged link to your site and immediately check GA4 Realtime > Traffic Sources. If your session shows as Direct despite the UTM parameters in the URL, the tag is loading too late or the parameters are being stripped before GA4 reads them.
Cause 1: consent banner update causing session resets
A new or updated cookie consent banner is one of the most common causes of a sudden surge in Direct traffic. When a consent banner is implemented or reconfigured, it may:
- Trigger a page reload on acceptance, stripping UTM parameters from the URL
- Delay the GA4 tag from loading until after consent is given, causing the session to start without attribution context from the original URL
- Break the _gl parameter in cross-domain scenarios if consent configuration delays the GA4 linker
Test: visit your site with a UTM-tagged URL, accept the consent banner, and check whether the URL still contains the UTM parameters after the banner interaction. If they are gone, the banner is stripping or redirecting them.
Cause 2: GTM configuration tag moved to a different trigger
If the GA4 Configuration tag was recently moved from firing on All Pages to a more restrictive trigger, pages that no longer load the Configuration tag will produce events with no session context. Subsequent events on those pages arrive without attribution and appear as Direct.
In GTM Preview mode, load the affected pages and confirm the GA4 Configuration tag fires. If it does not appear in the tag firing list, the trigger configuration has changed and needs to be corrected.
Want to detect UTM stripping and attribution loss automatically across your property?
Cause 3: a redirect stripping UTM parameters
If a redirect was added to your site's routing (for example, a redirect from /product to /products/product-slug), UTM parameters may be stripped if the redirect does not preserve the query string. A user clicking a Google Ad that lands on /product?utm_source=google&utm_medium=cpc is redirected to /products/product-slug without the UTM parameters. GA4 sees no attribution context and attributes the session to Direct.
Test: click a UTM-tagged link that should trigger the redirect. Check the URL after the redirect completes. The UTM parameters should still be present. If they are not, the redirect needs to be updated to preserve query parameters.
Cause 4: GA4 tag missing from specific pages
If the GA4 tag was removed from specific page templates in a recent deployment, sessions starting on those pages will have no attribution. If the affected pages are common landing pages for paid or organic traffic, you will see those channels losing conversions that now appear as Direct on other pages.
Use Google Tag Assistant to audit your key landing pages, and confirm tag firing with the widerGTM and GA4 configuration guide. Confirm the GA4 Configuration tag fires on each page type in your analytics implementation.
Cause 5: session timeout change
If the GA4 session timeout was recently reduced (from the default 30 minutes to a shorter value), users taking longer than the new timeout between page interactions will start new sessions. If these new sessions start without a UTM-tagged URL (because the user was navigating internally), the session attributes to Direct.
Check Admin > Data Streams > [select your web stream] > Configure tag settings > Adjust session timeout. If the session timeout has been changed to an unusually low value, restore it to the default 30 minutes or an intentional setting appropriate for your site.
Cause 6: unwanted referrals list misconfiguration
If a domain that should be a legitimate referral source was accidentally added to theUnwanted Referrals list, sessions from that domain will no longer be attributed to that source. Instead, the session continues from whatever source preceded the referral. If that preceding source has expired (past the session timeout), the session attributes to Direct.
Check Admin > Data Streams > [select your web stream] > Configure tag settings > List unwanted referrals for any recently added domains. Remove any that are legitimate referral sources.
Direct traffic surge: validate, fix, and watch
Validate
- Check if the attribution shift correlates with a GTM publish, CMS deployment, or consent banner update
- Check GA4 Realtime report source/medium while clicking a UTM-tagged link to your site
- Test whether UTM parameters survive the full page load and any redirects
- Compare Unwanted Referrals list entries against the date attribution started changing
Fix
- Restore referral exclusion list to its previous state if a legitimate referral domain was added
- Update redirects to preserve UTM query parameters using query string passthrough rules
- Fix UTM persistence across consent banner interactions, ensure the banner does not strip parameters on page reload
- Restore GA4 Configuration tag trigger scope to All Pages if it was narrowed in a GTM update
Watch for
- Source/medium normalising back automatically within days, this indicates a ghost referral or one-off redirect issue rather than a permanent configuration change
- Direct traffic remaining elevated, this confirms a persistent configuration problem that requires active investigation
- Paid channel conversions dropping while Direct conversions increase, a sign that UTMs are being lost on ad landing pages specifically
Direct traffic overnight debugging checklist
- GTM container change history reviewed for recent publishes
- Consent banner behaviour tested with UTM-tagged URLs to confirm parameters survive
- GA4 Configuration tag trigger scope confirmed to include all key landing pages
- Redirects on key landing page URLs confirmed to preserve UTM query parameters
- Session timeout setting reviewed for any recent changes
- Unwanted Referrals list checked for any recently added legitimate referral sources
- CMS and server deployment logs reviewed for the same date range as the traffic shift
Related guides
GA4 Referral Exclusion List
How the Unwanted Referrals list works and which domains you should and shouldn't exclude.
Traffic Dropped After Cookie Banner Launch
How consent mode configuration affects session attribution and traffic counts.
UTM Parameters for Social Media
How to ensure UTM parameters are set correctly and survive the full click journey.
GA4 Dark Direct Traffic
Understanding why Direct traffic is often not direct and how to investigate its true sources.
Detect attribution issues before they become reporting problems
G4 Audits checks referral exclusion lists, UTM integrity, and consent mode configuration on every audit.