AdVault/Guides/UTM Parameters Lost After Redirect
ATTRIBUTION TROUBLESHOOTING

UTM Parameters Lost After Redirect

Updated

Short answer

A redirect is sending visitors to a hard-coded destination without the original query string. Test with obvious UTM values, record every hop, and fix the first redirect where the parameters disappear so it forwards them. Then retest the full public campaign URL.

Find the exact redirect hop that removes your campaign attribution before traffic reaches the landing page.

The most common pattern is simple: the first URL contains UTMs, the redirect sends the browser to a clean hard-coded destination, and the final page receives none of the original query string. The page still works, but analytics loses the campaign context.

STEP BY STEP

What to check

1. Test with obvious values

Use a URL such as ?utm_source=test&utm_medium=paid&utm_campaign=redirect_test so the parameters are easy to recognize.

2. Record every hop

Do not compare only the first and last URL. The useful question is which redirect first removes the query string.

3. Inspect the Location destination

A hard-coded redirect target without the incoming query string will drop UTMs unless the platform explicitly forwards them.

4. Check shorteners and vanity domains

Branded links, tracking domains and affiliate redirectors add extra places where parameters can be rewritten or removed.

5. Check locale and app redirects

Geo, language, login and marketing-site-to-app redirects frequently rebuild URLs and can forget campaign parameters.

6. Retest the entire production URL

After the rule is fixed, retest from the exact public campaign URL rather than only testing the destination page.

SYMPTOMS

What you see and what it usually means

!

UTMs are in the ad link but not in the address bar

A server redirect dropped the query string. Read the Location header of each hop to see which one first returns a URL without parameters.

!

UTMs arrive, then vanish a moment later

A script on the page is rewriting the URL, often the router of a single-page app or a snippet that cleans the address. Analytics may still read them if its tag runs first, so check the order.

!

Only some parameters survive

An allow-list forwards the keys it knows and discards the rest. Add the missing ones, including click IDs such as gclid and fbclid.

!

Parameters survive on desktop but not on mobile

Mobile traffic often takes another route: an app link, a separate mobile domain or an in-app browser. Test the same URL on a phone.

EXAMPLE

A typical case

Worked verification (illustrative): submit https://example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=october. Hop 1 returns Location: https://example.com/en/sale and drops all three campaign fields. After updating the redirect rule, the expected destination is https://example.com/en/sale?utm_source=newsletter&utm_medium=email&utm_campaign=october. Compare the decoded parameter values at entry, every hop and the final document request. The redirect status alone does not preserve the query string. Forward only the campaign fields your implementation deliberately allows; do not copy arbitrary sensitive parameters to another domain. Finally check that analytics reads the campaign fields before any client-side URL cleanup. A clean address bar alone cannot prove attribution was lost or restored.

CHECKLIST

Before you call it fixed

  • UTMs present on entry URL
  • Every redirect recorded
  • First broken hop identified
  • Query forwarding enabled
  • Click IDs preserved where needed
  • Final URL retested after fix
LIVE VERIFICATION

Check the production URL

A correct configuration on paper can still fail after redirects, deployment or consent logic. Use the exact URL your campaign will send traffic to.

Check a campaign URL
RELATED TOOLS

Verify the signal directly

KEEP READING

Related troubleshooting guides

FAQ

Common questions

Do redirects always remove UTM parameters?

No. A redirect keeps them when the rule passes the query string on to the destination. They are lost when the destination is written as a fixed URL.

Is a 301 or a 302 better for keeping UTMs?

The status code makes no difference. What matters is whether the Location header includes the original parameters.

Can I put the UTMs on the redirect destination instead?

Not safely. Parameters written into the destination label every visitor who passes through that redirect with the same campaign, whichever link they clicked. Forwarding the incoming parameters keeps each source separate.

ADVAULT

Scan the full campaign route.

See where the click lands, what survives the redirect chain and which supported tracking signals are visible on the final page.

Start 7-day trial