UTM Tracking for ClickBank: How to Build and Validate Affiliate Campaign Links

A terminal window showing an mlz build command for a ClickBank vendor landing page: the command specifies source clickbank, medium affiliate, campaign digital-course-q3 with --validate. The JSON output shows the tracked_url with UTM parameters appended, a stored true confirmation, and a green validation badge showing destination validated, 200 OK, no redirects.

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 — ClickBank vendor landing page URL
$ 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 — validate the ClickBank landing page destination
$ 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.net is 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 by mlz build there. 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. Use mlz check against 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=ClickBank on one product page and utm_source=clickbank on another. GA4 is case-sensitive and records these as two separate traffic sources, making it impossible to report total ClickBank affiliate performance accurately. mlz build automatically 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=clickbank to /page if the platform treats the UTM-tagged URL as a variant of the canonical page URL. Test your landing page URL with mlz check before 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 different utm_content values 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 check against 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=clickbank as the baseline. If you run multiple product lines or manage programs for different niches on ClickBank, a more granular utm_source=clickbank-[product-category] pattern lets you segment performance by product type in GA4. Keep all values lowercase and hyphenated — mlz build enforces this automatically. Set utm_medium=affiliate consistently 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 check in a script that tests each landing page URL before the URL is entered into ClickBank product settings, failing the submission if any URL returns valid: 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.

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.