Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To preserve attribution, make every redirect in the path carry the campaign parameters through to the final landing page, then test the complete path and confirm they remain in the final URL. Redirects can strip UTMs, and Google Analytics warns that this can leave campaign traffic appearing as direct or unassigned. If your setup uses Google cross-domain measurement or Google Ads measurement, check the relevant _gl and gad_* parameters as well.

What UTM parameters do

UTM parameters are values added to a destination URL to identify the campaign that referred a visitor. Google recommends using utm_source, utm_medium, and utm_campaign; additional fields include utm_id, utm_source_platform, utm_term, and utm_content. Parameter values are case-sensitive, so consistent naming matters: for example, Email and email may be treated as different values in reports. See Google’s guide to campaign URL parameters.

Why UTMs disappear after a redirect

A redirect can send a visitor to a destination URL that omits the original query string. Redirect logic may also rewrite or remove parameters, whether the change happens on a server, through JavaScript, or in another part of the redirect path. Google Analytics Help states that redirects “can strip UTM parameters from the URL,” which may contribute to traffic appearing as direct or none. Its troubleshooting guidance also identifies 301, 302, and JavaScript redirects as possible points where information such as UTMs or GCLID can be lost. See Google’s explanation of direct and none traffic and its guide to Google Ads and Analytics discrepancies.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Cross-domain measurement has a related requirement: the linker parameter _gl must survive redirects for the configured cross-domain flow. For applicable Google Ads measurement, Google also advises preserving gad_* parameters so tags can observe them on the landing page. These are not replacements for UTMs; they serve different measurement purposes. See Google’s cross-domain measurement guidance and its guidance on GBRAID and gad_* parameters.

How to find the redirect that drops a parameter

  1. Record the starting URL. Use the exact campaign URL that loses attribution, including its full query string. Note the intended destination and every redirect hop if visible.
  2. Make a controlled test URL. Add a distinctive value such as utm_source=redirect_test. Use ? to start a query string when the URL has none, or & to add a parameter when it already has one. Do not substitute this test value into an active campaign.
  3. Follow the actual redirect path and inspect the final URL. Confirm whether the test parameter remains after the last redirect. Google recommends testing with a URL parameter and checking whether it persists. A redirect chain may include several hops, so checking only the first destination is not enough.
  4. Inspect browser network activity if the value disappears too quickly to see. Open the browser’s developer tools and examine the requests and redirects. This is especially useful for _gl, which may vanish from the address bar before you can observe it. Google documents network inspection for troubleshooting cross-domain measurement.
  5. Locate the first hop where the value changes. Review the server-side redirect rules, JavaScript navigation, URL rewrites, and any redirect or short-link service involved. The first destination that no longer contains the parameter identifies where to investigate.
  6. Retest the full path and the landing-page tag. After the redirect behavior is corrected, repeat the test through the same route and verify both that the required parameters reach the final URL and that the analytics tag loads there. A preserved URL alone cannot send campaign data if tracking is missing from the landing page.

What a redirect must preserve

Each redirect should pass through the campaign parameters required by your measurement setup, rather than replacing the incoming query string with a fixed destination URL. Preserve any additional measurement parameters that apply to your configuration:

  • UTM fields used to identify the campaign, such as utm_source, utm_medium, and utm_campaign.
  • _gl when Google Analytics cross-domain measurement is configured.
  • Applicable gad_* values when using the corresponding Google Ads measurement features.

There is no single redirect syntax that fits every stack. The change may belong in server, proxy, CMS, or JavaScript redirect behavior, and Google’s guidance does not prescribe stack-specific code. If the responsible hop is unclear or the redirect rules are managed outside your team, have the developer responsible for that layer trace and adjust it, then verify the production path with a controlled test.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How to tell whether attribution is protected

Consider the issue resolved only after a test using the real landing URL and complete redirect path shows the required values on the final page and confirms that the analytics tag loads there. If the URL retains the values but campaign reporting is still wrong, investigate the tag and measurement setup as well as the redirect: parameter persistence is necessary for this fix, but by itself does not confirm that every part of attribution is working.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.