ClickBank tracking
ClickBank affiliate conversion tracking with postbacks
A practical ClickBank S2S mapping guide with the Tracked click-ID macro, event choices, callback fields, and checks for matching a callback to a real click.
ClickBank affiliate conversion tracking depends on the same Tracked click ID surviving the offer handoff and returning in the conversion callback. In Tracked, put {{click.id}} in a ClickBank-supported tracking field, then have ClickBank return that field to /postback as click_id.
Ad → Tracked campaign URL → hosted page → /click/1 → ClickBank offer
→ ClickBank stores the Tracked ID → ClickBank postback → Tracked report
ClickBank owns the HopLink and postback contract. Tracked records the campaign click, routes the offer action, receives the callback, and joins it to that click. The affiliate campaign setup guide covers the wider route and offer setup; this guide focuses on the ClickBank handoff.
Put the Tracked click ID in the ClickBank link
In Tracked, add your ClickBank HopLink or Direct Tracking Link as an offer and attach it to the campaign slot used by the page. Point the page’s offer action at that slot, such as /click/1. Add this query field to the offer URL:
unique_aff_sub1={{click.id}}
Use ? or & as appropriate for the URL you received. Tracked’s {{click.id}} macro is replaced when the offer click redirects. Check the outgoing HopLink and confirm that unique_aff_sub1 contains the opaque Tracked click ID; Tracked does not append that ID automatically.
ClickBank documents unique_aff_sub1 through unique_aff_sub5 as unique affiliate tracking fields. Existing setups may use tid instead. Use the field already supported by your HopLink, then return its matching ClickBank macro.
Map the ClickBank event to Tracked’s callback
ClickBank’s Postback/Pixels Integration Guide documents a server-to-server setup under Integrations → Postback/Pixels → Add Integration. For a custom destination, choose Custom Postback/Pixel, select the affiliate role, choose global or filtered delivery, select event types, and add the callback URL with ClickBank macros.
This illustrative URL is for the primary purchase. Replace the host with the dispatcher host supplied for your Tracked setup. If your HopLink uses tid, return {tid} instead of {unique_aff_sub1}.
ClickBank postback URL:
https://<your-tracked-dispatcher-host>/postback?click_id={unique_aff_sub1}&payout={affiliate_earnings}¤cy=USD×tamp={event_time}
| ClickBank value | Tracked callback field | Check |
|---|---|---|
{unique_aff_sub1} or {tid} | click_id | Must equal the ID sent in the HopLink. |
{affiliate_earnings} | payout | Stored on the untyped primary callback shown above. |
USD | currency | ClickBank documents {affiliate_earnings} in USD. {order_currency} describes what the buyer paid and can differ. |
{event_time} | timestamp | Use ClickBank’s event time when available. |
ClickBank’s event choices include initial purchase and upsell purchase. Set the campaign’s default conversion event to the primary purchase, then send that callback without conversion_type or type. The current Tracked handler records payout on this untyped primary path. Any explicitly typed callback is treated as a secondary event and stores zero payout, even when payout is included. Do not pass ClickBank’s {event_type} blindly into conversion_type when you expect the initial commission to appear as payout.
Map a later event such as an upsell separately only when its reporting meaning is clear. Add a conversion_type or type value only after confirming the ClickBank event label maps to the intended Tracked event; expect zero payout on that typed callback. ClickBank also lists {order_id}; treat it as order context, not an event-unique deduplication key unless you confirm it differs for each event. Initial purchase and upsell can belong to one order. The postback troubleshooting guide covers this primary-versus-secondary distinction.
Tracked’s generic GET callback requires click_id and accepts payout, currency, timestamp, and conversion_type or its type alias. A missing ID returns 400; an unknown ID returns 404. The postback URL guide explains transport, attribution, duplicate handling, and report checks in more detail.
Verify one click before buying traffic
Use a fresh campaign click and compare the same value at each boundary:
- Open the campaign URL. Confirm the intended page loads and the offer action points to the expected Tracked click slot.
- Click the offer action. Inspect the outgoing ClickBank URL and copy the value in
unique_aff_sub1ortid. - In ClickBank, configure the matching macro in the S2S URL. Use ClickBank’s integration test to check URL formatting and macro substitution; its test values are fake and do not prove a match to your Tracked click.
- Run ClickBank’s approved test or real-click flow. ClickBank says orders made with a test credit card do not trigger the configured postback pixel.
- In Tracked, confirm the untyped primary callback resolves to the copied click ID. Check the event journey and report for the expected campaign, page, offer, primary event, commission, and currency. If you test a separately typed event, expect it to be secondary with zero payout.
- Test a missing or unknown ID and confirm the expected error. If your ClickBank setup or bridge supplies a stable event-specific identity, pass it as
event_idorconversion_id. Without one, Tracked’s fallback groups the same click and event type within a fixed 60-second receipt-time bucket, not a rolling window. A ClickBankorder_idis not a safe substitute unless it uniquely identifies that event.
Keep a short test record with the actual Tracked click ID, outgoing ClickBank field, selected ClickBank event, callback fields, and resulting Tracked event.
Do not send ClickBank INS to the generic callback
ClickBank’s Instant Notification Service (INS) sends an encrypted HTML form POST with a JSON envelope containing notification and iv. The receiver must decrypt that payload with the ClickBank secret key and initialization vector.
Tracked’s public /postback route accepts a GET request with query fields. It does not decrypt INS. An INS setup therefore needs a separately operated bridge that decrypts the notification, extracts the Tracked ID, maps the event and payout, and then calls Tracked’s GET callback.
Where Tracked is today
Tracked supports the generic inbound callback and the campaign workflow around it. Primary payout is recorded on an untyped callback; explicitly typed callbacks are secondary and currently store zero payout. Tracked does not provide a verified ClickBank account connector, HopLink discovery, ClickBank-specific authentication, or an INS decryptor. Use ClickBank S2S only when the selected delivery can call the GET URL above; otherwise, use a bridge you operate and verify.
If the traffic starts in Google Ads, the ClickBank-to-Google conversion guide follows the additional Google click ID and offline-upload handoff after this callback is recorded.
Frequently asked questions
Does Tracked have a native ClickBank integration?
Not as a verified current connector. Tracked can receive a generic callback when ClickBank returns the original Tracked click ID, but account authentication, HopLink management, and ClickBank-specific INS handling are not native workflows.
Why return {unique_aff_sub1} instead of ClickBank’s {click_id}?
The value in the affiliate tracking field is the Tracked ID you sent. ClickBank’s {click_id} is its own hop or order-form identifier; do not substitute it unless you have verified that it matches the Tracked click ID.
Can ClickBank INS call /postback directly?
No direct compatibility is established. INS sends an encrypted form POST; Tracked’s callback expects a GET query. A bridge must decrypt and translate the INS payload.
Does a typed callback keep the ClickBank commission in Tracked?
No. A callback with conversion_type or type is currently treated as a secondary event and stores zero payout, even if ClickBank sends payout. Send the primary purchase callback without either type parameter and set the campaign’s default conversion event.
Does an HTTP success prove ClickBank attributed the sale?
No. Check ClickBank’s event delivery, the matched Tracked click, the stored conversion, and the resulting report separately.
Official references: ClickBank Postback/Pixels Integration Guide, ClickBank Affiliate Tracking Parameters, and ClickBank INS.