UTM Tracking for ClickBank: How to Build and Validate Affiliate Campaign Links
To add UTM tracking for ClickBank, add UTM parameters to the landing page (pitch page) URL that your ClickBank product links to — the site URL you configure in the ClickBank vendor account for your product — not to the affiliate HopLinks that publishers generate. GA4 reads UTM parameters from the page URL at the moment the measurement tag fires, which is after ClickBank’s hop.clickbank.net redirect resolves to your landing page. Use MissingLinkz mlz build to generate a normalized destination URL with correctly cased, hyphenated UTM values and mlz check to validate that the hop redirect delivers those parameters intact. The common silent failure: ClickBank vendors who use a third-party checkout platform — ThriveCart, SamCart, or a custom order form hosted on a separate domain — often implement a server-side redirect from the landing page to the checkout page. This advertiser-side redirect, not the HopLink itself, is where UTM parameters are most frequently lost. A parameter format checker cannot detect this. mlz check follows the full redirect chain from your UTM-tagged landing page and confirms parameters survive to the final page load before GA4 fires.
How ClickBank’s tracking architecture interacts with UTM parameters
ClickBank is a global e-commerce platform and affiliate marketplace founded in 1998, specializing in digital products: online courses, ebooks, software, membership sites, and physical health supplements. Vendors (product creators and sellers) list products in the ClickBank marketplace and configure their checkout flow. Publishers (affiliates) browse the marketplace and promote products to their audiences using HopLinks — unique affiliate tracking URLs generated by the ClickBank platform in the format https://[affiliate-id].[vendor-id].hop.clickbank.net.
When a visitor clicks an affiliate’s HopLink, it routes through ClickBank’s hop.clickbank.net infrastructure, which records the click event for commission attribution using a first-party cookie and ClickBank’s internal TID (tracking ID) mechanism, then redirects the browser to the vendor’s configured landing page or pitch page URL. ClickBank’s internal tracking system — which handles click recording and commission payouts for affiliates — operates entirely separately from GA4 UTM tracking and does not depend on or interfere with UTM parameters.
The consequence for UTM tracking: UTM parameters belong on the vendor’s landing page URL — the site URL configured in the ClickBank vendor account for your product — not on the affiliate HopLink. The HopLink is formatted and controlled by ClickBank and is not a reliable place to append vendor-side UTM parameters. The configuration point you control as a vendor is the product URL in your ClickBank account settings.
GA4 attribution works by reading utm_source, utm_medium, and utm_campaign from the URL at the moment the GA4 measurement tag fires. For a ClickBank-driven visit, this is after hop.clickbank.net redirects and your landing page loads in the browser. If any redirect between the HopLink forward and the final page load strips query parameters, GA4 records the session as Direct or Organic with no ClickBank attribution. ClickBank itself still tracks the conversion for commission purposes using its own click attribution mechanism.
Both attribution systems coexist independently: ClickBank tracks affiliate commissions through its internal click records and cookie attribution; GA4 tracks channel attribution through UTM parameters on the vendor’s landing page URL. For the full context of UTM parameters and redirect chain validation across affiliate networks, see the UTM tracking for developers guide.
Building ClickBank landing page URLs with mlz build
The most common UTM data quality problem in ClickBank programs is casing inconsistency across vendors who manage multiple products or rotate seasonal promotions: one configuration uses utm_source=ClickBank (capitalized), another uses utm_source=clickbank, and a third uses utm_source=click-bank. GA4 treats these as three separate sources, fragmenting the affiliate channel data. mlz build eliminates this by enforcing lowercase-hyphenated values from structured input, regardless of what case the operator provides as input.
The standard naming convention for ClickBank programs is utm_source=clickbank, utm_medium=affiliate, and utm_campaign=[product-name-or-promotion]. Use utm_content to differentiate between different landing page variants, sales page versions, or seasonal offers within the same product.
$ mlz build \
--url "https://vendor.example.com/course-landing" \
--source "clickbank" \
--medium "affiliate" \
--campaign "digital-course-q3" \
--content "salespage-v2" \
--validate
{
"tracked_url": "https://vendor.example.com/course-landing?utm_source=clickbank&utm_medium=affiliate&utm_campaign=digital-course-q3&utm_content=salespage-v2",
"params": {
"utm_source": "clickbank",
"utm_medium": "affiliate",
"utm_campaign": "digital-course-q3",
"utm_content": "salespage-v2"
},
"destination_url": "https://vendor.example.com/course-landing",
"link_id": "lnk_cb_q3_v2",
"campaign_id": "cmp_digital-course-q3",
"stored": true,
"created_at": "2026-07-02T09:00:00.000Z"
}
The tracked_url value is what you enter as the product’s site URL or pitch page URL in the ClickBank vendor account. If your ClickBank catalog includes multiple products or sales page variants, generate a distinct destination URL for each one using mlz build with a different utm_content value:
mlz build --url "https://vendor.example.com/upsell-offer" --source "clickbank" --medium "affiliate" --campaign "digital-course-q3" --content "upsell-v1"
For naming conventions and how consistent casing prevents GA4 data fragmentation across affiliate sources, see the UTM naming conventions guide. To generate destination URLs programmatically across a large ClickBank catalog via the REST API, see how to build UTM links programmatically.
Validating the ClickBank redirect chain with mlz check
Once you have a UTM-tagged landing page URL, validate it end-to-end with mlz check before entering it into the ClickBank vendor account. mlz check follows the complete redirect chain from your landing page URL, confirms the server responds with a 200, and verifies query parameters are not stripped at any hop. Run this before configuring the URL in ClickBank, and re-run it after any infrastructure change that touches URL handling on your site.
$ mlz check "https://vendor.example.com/course-landing?utm_source=clickbank&utm_medium=affiliate&utm_campaign=digital-course-q3"
{
"url": "https://vendor.example.com/course-landing?utm_source=clickbank&utm_medium=affiliate&utm_campaign=digital-course-q3",
"valid": true,
"checks": [
{ "check": "url_format", "status": "pass", "message": "URL format is valid." },
{ "check": "ssl", "status": "pass", "message": "URL uses HTTPS." },
{ "check": "resolution", "status": "pass", "message": "Destination responded with 200.", "details": { "status_code": 200, "response_time_ms": 215 } },
{ "check": "redirects", "status": "pass", "message": "No redirects detected." },
{ "check": "response_time", "status": "pass", "message": "Response time: 215ms.", "details": { "response_time_ms": 215 } }
],
"status_code": 200,
"response_time_ms": 215,
"validated_at": "2026-07-02T09:01:30.000Z"
}
A valid: true result means the destination URL resolves correctly and query parameters survive to the final page load. If valid is false, the checks array pinpoints the failing hop. The most common failure modes for ClickBank vendors are third-party checkout platform redirect rules and page builder canonical URL enforcements. For a detailed walkthrough of diagnosing redirect chain failures, see how to check if a redirect strips UTM parameters.
ClickBank UTM tracking gotchas for vendors
- Configure UTM parameters on the vendor landing page URL, not on the HopLink
- ClickBank HopLinks are generated and controlled by the ClickBank platform. The format
https://[affiliate-id].[vendor-id].hop.clickbank.netis fixed — vendors cannot append UTM parameters to the HopLink in a way that reliably reaches the landing page. The configuration point you control as a vendor is the Site URL or Pitch Page URL in the ClickBank vendor account for your product. Paste the UTM-tagged URL generated bymlz buildthere. When a publisher’s HopLink fires, ClickBank routes through hop.clickbank.net and delivers your UTM-tagged landing page URL to the visitor’s browser. - Third-party checkout platforms on separate domains strip UTM parameters at the handoff
- Many ClickBank vendors use external checkout platforms like ThriveCart, SamCart, or WooCommerce on a separate subdomain (e.g.
checkout.vendor.com). If the landing page redirects to the checkout page with a server-side redirect that does not preserve query strings, UTM parameters are dropped before GA4 fires on the checkout page. This is the most common UTM attribution failure mode for ClickBank vendors. Usemlz checkagainst the UTM-tagged landing page URL to confirm parameters survive all hops to the final page load. If stripping occurs, configure the checkout platform redirect to pass all query parameters through. - ClickBank TID parameter is separate from GA4 UTM tracking
- ClickBank supports a
tid(tracking ID) parameter that affiliates can append to HopLinks to track traffic sources in ClickBank’s internal reporting. The TID appears in ClickBank’s sales and commission reports; it does not appear in GA4. UTM parameters, by contrast, appear in GA4 but not in ClickBank’s reporting. The two systems coexist independently and serve different purposes: ClickBank TID is for affiliate performance reporting within the ClickBank platform; UTM parameters are for GA4 channel attribution on the vendor’s analytics. Do not conflate them when configuring your product. - Casing inconsistency across products fragments GA4 channel data
- ClickBank vendors who manage multiple products or use seasonal landing page rotations often introduce casing variations:
utm_source=ClickBankon one product page andutm_source=clickbankon another. GA4 is case-sensitive and records these as two separate traffic sources, making it impossible to report total ClickBank affiliate performance accurately.mlz buildautomatically lowercases all input values and replaces spaces with hyphens, producing consistent output regardless of what the operator typed. For the full explanation, see are UTM parameters case sensitive in GA4? - Page builder platforms enforce canonical URL formats that can strip query parameters
- ClickBank vendors who build landing pages on platforms like ClickFunnels, Unbounce, or Leadpages need to verify that those platforms’ canonical URL enforcement does not strip query parameters. Some page builder platforms redirect
/page?utm_source=clickbankto/pageif the platform treats the UTM-tagged URL as a variant of the canonical page URL. Test your landing page URL withmlz checkbefore configuring it in ClickBank. Re-validate after any page builder platform upgrade or funnel restructuring.
Frequently asked questions
- Where do I add UTM parameters in the ClickBank vendor account?
- In the ClickBank vendor account, navigate to your Product settings and find the Site URL or Pitch Page URL field. This is where you paste the UTM-tagged URL generated by
mlz build. The URL format is:https://vendor.example.com/course-landing?utm_source=clickbank&utm_medium=affiliate&utm_campaign=digital-course-q3. When a publisher’s HopLink fires, ClickBank routes through hop.clickbank.net and delivers this URL to the visitor’s browser. For products with multiple landing page variants, create separate UTM-tagged destination URLs using differentutm_contentvalues and configure them in the appropriate product or upsell flow settings. - Does the ClickBank HopLink redirect strip UTM parameters?
- ClickBank’s hop.clickbank.net redirect is designed to forward the vendor-configured site URL intact, including all query parameters. Parameter stripping typically occurs on the vendor’s server side after ClickBank delivers the visitor to the landing page: third-party checkout platform redirect rules, page builder canonical URL enforcements, or HTTP-to-HTTPS upgrade redirects that were not configured to preserve query strings. Run
mlz checkagainst your UTM-tagged landing page URL to confirm parameters survive the full chain to the final page load before configuring it in ClickBank. - What utm_source value should I use for ClickBank traffic?
- Use
utm_source=clickbankas the baseline. If you run multiple product lines or manage programs for different niches on ClickBank, a more granularutm_source=clickbank-[product-category]pattern lets you segment performance by product type in GA4. Keep all values lowercase and hyphenated —mlz buildenforces this automatically. Setutm_medium=affiliateconsistently across all affiliate network traffic so GA4’s default channel grouping correctly identifies the Affiliate channel. - How does ClickBank’s TID parameter relate to UTM tracking?
- ClickBank’s TID (tracking ID) parameter, appended by affiliates to their HopLinks as
?tid=affiliate-name, feeds into ClickBank’s own reporting within the vendor and affiliate dashboards. It does not appear in GA4 and is unrelated to UTM parameters. UTM parameters, configured on your landing page URL, feed into GA4 for channel attribution reporting. Both systems operate independently. The TID helps you see affiliate performance in ClickBank; UTM parameters help you see affiliate-sourced traffic in your own GA4 reports. Configure both for complete attribution visibility. - Should I validate ClickBank landing page URLs in an automated pipeline?
- For vendors who rotate offers frequently or manage large ClickBank catalogs with many products, automated validation in a CI/CD pipeline is a practical safeguard. Use
mlz checkin a script that tests each landing page URL before the URL is entered into ClickBank product settings, failing the submission if any URL returnsvalid: false. This prevents infrastructure changes — page builder platform updates, checkout redirect reconfiguration, CDN changes — from silently breaking affiliate attribution across all active ClickBank products. For a complete implementation guide, see automating campaign link validation in CI/CD.
Build ClickBank-ready UTM landing page URLs and validate every redirect before your product launches
mlz build generates normalized, consistently cased UTM destination URLs for your ClickBank vendor landing pages. mlz check validates the full redirect chain — catching the third-party checkout platform redirects and page builder canonical URL rules that silently strip UTM parameters before GA4 fires.
1,000 links/month free. No credit card.
Your API key
Save this now — it won't be shown again.
npm install -g missinglinkz
Free plan: 1,000 links/month. No credit card. See the UTM tracking for developers guide for the full programmatic workflow.