Signal-preservation guide

Preserve click IDs across redirects

Keep identifiers like gclid, ttclid, and the Google linker parameter _gl alive across redirects, wrappers, and domain handoffs so measurement does not break while the page still appears to work.

This page is about preserving the signals that ad platforms and tags depend on. Google’s auto-tagging help says a GCLID parameter is appended after a Google Ads click, and TikTok’s TTCLID help page says TikTok appends TTCLID to the landing-page URL when a user clicks a TikTok ad. When your route strips those values, the page can still load while attribution quietly gets worse.

By Dean DownesLast updated 1 Apr 2026Part of the Shortlinkfix 5-Layer UTM Governance Model
Loading is not the same as preserving

A route can still open the right page while silently dropping the query parameters or linker values your platforms need.

Click IDs are not cosmetic

They are how platforms and tags connect the ad click to later measurement logic.

Preserve before you interpret

Do not compare reports seriously until you know the route preserved the signals the click was supposed to carry.

The quick rule

Preserve the full query string until the platform or tag has had a fair chance to use it

Google documents that auto-tagging adds GCLID to clicked URLs, and Google’s tag settings guidance says cross-domain measurement works by appending the linker parameter _gl. TikTok documents TTCLID as a click ID appended to the landing-page URL. The safest route is one that preserves those values through the first landing, any measurement handoff, and any owned cross-domain step.

Keep query strings alive through redirects

Do not rewrite or drop the query string by default. If the redirect logic rebuilds the destination badly, the click ID can disappear before the landing page ever gets the chance to use it.

Do not let shorteners or wrappers strip the handoff

Any managed route layer that reconstructs the destination should be tested with the exact live URL, not just with a plain destination that has no identifiers on it.

Treat cross-domain handoffs as part of survival

Google recommends verifying that the destination contains _gl during cross-domain testing. If that handoff breaks, attribution can fragment even when the landing page still loads.

Where it breaks

Common failure points that strip click IDs

Most loss happens in boring places: redirect rules, tracking wrappers, cart handoffs, or landing-page cleanup that was never tested with real ad-click parameters.

Redirect rules that drop the query string

A 301 or 302 that points to the right page but fails to forward the original query string can kill GCLID, TTCLID, or other identifiers immediately.

Multiple wrappers with unclear ownership

When shorteners, affiliate networks, partner trackers, and app bridges all sit in the route, nobody is quite sure which layer is preserving what.

Client-side cleanup too early

If scripts or page logic strip parameters before tags, pixels, or cross-domain handoffs can use them, the route looks neat while the measurement layer quietly loses its signal.

Important boundary: not every parameter change is a failure. Some platforms add or transform values normally. The real failure is when the identifier the platform depends on never reaches the point where it can be read or passed forward.
Validation workflow

How to test click-ID survival safely

The Redirect Checker should be the first pass here because it proves the live route and flags suspicious chain behaviour before you go deeper into click-ID survival diagnosis.

Work down the live path in order instead of guessing from a report gap later.

1. Start with a real ad-style URL

Use a test URL that includes the actual parameter pattern you care about, such as GCLID or TTCLID. Do not test only the clean destination.

2. Trace the full route

Use the redirect checker to inspect each hop and the final destination. Confirm that the values survive the route rather than assuming they did.

3. Check the landing-page and handoff behaviour

If the journey moves to another owned domain, confirm the linker handoff too. Google’s tag settings guidance says to verify that the destination URL contains _gl and still loads correctly.

4. Confirm the measurement layer had a chance to use the value

Google explains that if auto-tagging is on and the Google Analytics tag is present, GCLID is stored in a Google Analytics cookie on your site’s domain. If the value never survives to that point, the later measurement gets weaker.

5. Only then compare reports

Once the route is known-good, move into Cross-Platform Attribution or the relevant platform comparison page to explain the remaining differences.

6. Log the working state

Preservation is not a one-time victory. Keep route checks and ownership visible so later changes do not break the signal silently.

Questions teams ask

FAQ on click IDs, redirects, and handoffs

Short answers to the mistakes that usually create quiet measurement damage.

Does the page loading prove the click ID survived?

No. The page can load while the route has already dropped the identifier the platform needed.

Should we strip click IDs after landing to make URLs look cleaner?

Only after you are certain the relevant platform or tag has already captured what it needs. Removing them too early can weaken attribution.

Are GCLID and TTCLID the same thing as UTMs?

No. They are platform-owned click identifiers. UTMs are the team-owned readable naming layer for analytics and reporting.

What if the cross-domain checkout still creates messy referrals?

Then move into GA4 cross-domain attribution and the GA4 referral documentation, because the route and the reporting handoff may both need work.

What is the best first test?

Trace a real live-style URL with the identifiers present, confirm the final landing URL and any owned-domain handoff, and only then judge the reporting.