Pass UTMs to ThriveCart Checkout with UTM Grabber UTM attribution overview This guide explains how to pass HandL UTM Grabber attribution into ThriveCart checkouts. UTM Grabber captures UTM source, medium, campaign, term, content, click IDs, referrer, and landing page data in first-party cookies. ThriveCart does not persist UTMs across page views — parameters must be present on the checkout URL when the customer completes their order. This guide shows how to bridge that gap using UTM Grabber's built-in link append features and ThriveCart passthrough variables. The core problem Per ThriveCart's UTM documentation : "UTM parameters must exist in the checkout URL when the customer completes their order. UTM parameters are not cookied, and so will not follow the customer around as they browse your site." HandL UTM Grabber does cookie attribution data in the visitor's browser via the handl_utm object. Your job is to push that stored data onto every ThriveCart checkout link or embed at click time — before the customer pays. Method 1 — Append standard UTMs with the utm-out class ThriveCart natively recognizes the five standard UTM parameters on checkout URLs ( utm_source , utm_medium , utm_campaign , utm_content , utm_term ). If you are on ThriveCart Pro+ with Stripe Connect+ enabled, these appear in ThriveCart's Sources / Segmentation reporting. Add the utm-out class to any link or button that points to your ThriveCart checkout. UTM Grabber automatically appends all tracked parameters from cookies to the href. Buy Now The link is rewritten client-side to something like: https://yoursubdomain.thrivecart.com/your-product/?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale&gclid=abc123 You can also wrap a parent element:
Buy Now
See Appending UTMs using class name attributes for full details. Optional: append UTMs to all links globally If your sales page uses standard WordPress content (not a page builder that bypasses filters), enable Append UTM in the HandL UTM Grabber options tab. This appends tracked parameters to outbound links site-wide — including ThriveCart buy buttons — without adding utm-out to each link manually. See Appending UTM Globally . If your theme or page builder does not support this, stick with utm-out on individual ThriveCart links. Method 2 — Passthrough variables for click IDs and custom params ThriveCart's native UTM reporting only covers the five standard utm_* tags. For gclid , fbclid , msclkid , referrer, landing page, first-touch fields, or any custom parameters , use ThriveCart's passthrough query format. Per ThriveCart passthrough documentation , append variables like: ?passthrough[gclid]=abc123&passthrough[fbclid]=xyz789&passthrough[utm_source]=google Passthrough data is included in order webhooks, Zapier payloads, API responses, and your custom success page query string — but is not shown on customer receipts. Dynamic passthrough builder from handl_utm Add this script on your WordPress sales page to read UTM Grabber cookies and rewrite all ThriveCart links with both standard UTMs and passthrough variables: Embeddable ThriveCart checkout If you embed ThriveCart directly on your WordPress page, add passthrough variables to the embed div using data-thrivecart-querystring :
Generate the data-thrivecart-querystring value dynamically from handl_utm with a small server-side or client-side script so click IDs and custom fields are always current. Limitations and when to use Method 3 ThriveCart does not cookie UTMs. If a visitor lands with UTMs, browses several pages, then reaches checkout through a link that was not rewritten by UTM Grabber, attribution is lost. Always ensure every path to checkout runs through utm-out , global append, or the passthrough script above. Native UTM reporting requires Pro+. ThriveCart's built-in Sources reporting (filtering by UTM in the dashboard) requires a Pro+ license and Stripe Connect+ on the product. Standard plan users should rely on passthrough + webhooks instead. Only five UTMs in native reporting. gclid , fbclid , msclkid , referrer, and custom fields are not part of ThriveCart's native UTM dashboard — use passthrough and send them to your CRM via Method 3: Webhook on success page . Verify tracking Visit your sales page with test UTM parameters in the URL (e.g. ?utm_source=test&utm_campaign=docs&gclid=test123 ) Confirm UTM Grabber stored the values (check cookies or use browser dev tools: handl_utm in console) Hover over or inspect your ThriveCart buy link — UTMs and passthrough params should be appended Complete a test purchase and verify data in ThriveCart reporting (Pro+) or in your webhook/Zapier payload