Interactive Sample Walkthrough

acme-saas.example

BROKEN

/demo

Confirmed attribution loss at Hop 1 (301 redirect stripped gclid while keeping utm_*), causing Hop 3 HubSpot hidden field input[name='gclid'] to submit empty.

Journey results

Journey results. Select a checkpoint to read its evidence.
BannerRedirectConsentForm / link
No choiceFailedPassN/A
RejectedFailedPassN/A
AcceptedFailedPassFailed

No choice Redirect

Checkpoint evidence

BROKEN

HTTP 301 redirect from /demo to /demo/ retained utm_source, utm_medium, utm_campaign but stripped gclid.

Suggested fix · Edge 301 Redirect Stripping GCLID Before Landing Page Load

Your trailing-slash redirect rule forwards whitelisted utm_* keys but strips gclid, preventing both Google Conversion Linker (_gcl_aw) and HubSpot hidden form fields from capturing paid click attribution.

  1. Update your Nginx / CDN trailing-slash redirect rule to preserve the entire raw query string (e.g. `return 301 https://$host$request_uri;`).
  2. Verify that navigating to `https://acme-saas.example/demo?gclid=test123` resolves to `/demo/?gclid=test123` without truncation.
  3. Re-run this audit after deploying to generate a pre-fix vs. post-fix sign-off diff.

/guides/hubspot-utm-present-gclid-missing

Run details and test values

aud_demo_8f3a9e21 · contract · 2026-11-11T18:40:00.000Z

{
  "gclid": "zst_test_91a4f7c2",
  "utm_source": "zst_google",
  "utm_medium": "zst_cpc",
  "utm_campaign": "zst_q4_brand_demo"
}