ADVAULT

GA4 Shows Direct Traffic After Redirects

A page can return HTTP 200 and still receive a campaign click without the attribution context you expected. Redirects are one possible contributor, not a diagnosis for every Direct session. Untagged links, privacy controls and missing measurement can also complicate attribution. Investigate a specific production route with a fresh test visit instead of inferring a cause from an aggregate channel chart.

What this page covers

  • 1. Start with the exact campaign URL: Copy the URL from the real ad or placement, including the tracking template, resolved macros and campaign parameters. Record the intended source, medium and campaign. A test of the clean destination skips the part of the route most likely to change the URL. Use a clearly named QA campaign for controlled tests and keep it separate from business performance reporting.
  • 2. Check the incoming parameters before the first hop: Confirm that utm_source, utm_medium and utm_campaign actually exist and contain the intended values. For auto-tagged campaigns, inspect the relevant click identifier as well. Check encoding, nested destination parameters and placeholders that never expanded. If the entry URL was never tagged, query forwarding cannot restore information it did not receive. Save the full entry URL as your first piece of evidence.
  • 3. Follow every redirect, including browser navigation: Use the browser Network panel with Preserve log enabled and record each destination. Inspect HTTP Location headers and also JavaScript or meta-refresh navigation after a page loads. A server-only redirect trace is useful but may miss browser-driven routing. Write down the hostname, path and campaign fields after each transition; compare values rather than relying on the presence of a question mark.
  • 4. Find the first hop that changes campaign context: Illustrative input: https://go.example.com/spring?utm_source=linkedin&utm_medium=paid_social&utm_campaign=spring_qa. A redirect to https://www.example.com/signup drops those fields. A destination ending in /signup?utm_source=linkedin&utm_medium=paid_social&utm_campaign=spring_qa preserves them. If the values survive hop one and disappear at hop two, investigate the second rule. These example domains are placeholders, not AdVault campaign endpoints.
  • 5. Inspect vanity, affiliate, geo, language and app routing: Branded short links and affiliate tracking links may wrap a destination URL or rebuild it. Geo and language rules may select a locale and forget the original query string. An app redirect may replace a marketing URL with a deep link that needs a separate measurement design. Review the responsible redirect configuration with its owner. Preserve the approved campaign fields and required click identifiers without blindly forwarding sensitive or unrelated parameters.
  • 6. Connect parameter loss to the reporting symptom carefully: When campaign context disappears before collection, GA4 may lack the information needed for the intended attribution. Other available context and prior session history can affect what is reported, so disappearance does not guarantee Direct. Compare a fresh test through the suspect route with a controlled visit to a correctly tagged destination. Check session source/medium in Traffic acquisition; a first-user acquisition report answers a different question.
  • 7. Verify GA4 and GTM on the final landing page: Confirm the correct measurement ID, published container and collection behavior on the page the visitor actually receives. A tag on the vanity domain alone does not verify the destination. Inspect whether application code cleans the URL before analytics reads it. If page_view is not observed, investigate collection first; attribution analysis becomes unreliable when the visit itself is unverified.
  • 8. Record consent and test conditions: Repeat a permitted test under the relevant consent states and record the browser, blockers and timing. Consent behavior can alter what is collected and what diagnostics reveal. Do not classify a missing test event as a redirect fault without tracing the URL. Use a fresh controlled test context so an existing session does not make the comparison ambiguous, and keep QA traffic identifiable.
  • 9. Check cross-domain measurement when the journey needs it: For a journey across domains you control, review the GA4 cross-domain setup and whether linker information survives the transition. The _gl parameter can be removed by a redirect. Campaign tags and cross-domain linker data serve different purposes: preserving one does not verify the other. Do not add new UTMs to internal links as a substitute for continuity, and do not assume unrelated affiliate destinations share your measurement configuration.
  • 10. Retest the real production campaign URL: After changing the responsible rule, repeat the full route from the public entry point. Check parameters at each hop and collection at the destination, then review debugging evidence and settled reports. Confirm that the redirect still reaches the intended page for mobile, locale and geo variants. A successful destination-only test cannot establish that the upstream campaign route was fixed.
  • 11. Save a known-good baseline: Keep a redacted entry URL, hop-by-hop trace, final URL, expected campaign values, consent state, tag version and timestamp. Record the report and dimension used for validation. Compare later regressions with that baseline after changes to shorteners, routing or tags. If parameters survived but attribution remains unexpected, mark redirect loss as unsupported by this test and continue investigating collection and reporting.

Technical references