Server-to-server · nothing to install on the checkout

Postback tracking for affiliate offers.
Every sale on the click that made it.

Your network knows you made a sale. It doesn't know it came from your Tuesday newsletter or the second ad in your campaign. Pass Track Link's click ID into the offer, give the network one postback URL, and every conversion — upsells and refunds included — lands on the exact click.

Free forever · no credit card · sign in with Google in seconds

Quick answer

Postback tracking (S2S) matches affiliate sales to clicks without a pixel. You put your click ID in the network's sub-ID field; when a sale is approved, the network calls your postback URL from its server with that ID, the payout and the order number. Because nothing runs in the buyer's browser, ad blockers and closed tabs can't lose the sale. On Track Link it's free on every plan.

Set it up in three steps

About five minutes per network, and you only do it once.

1. Put {click_id} in the offer's sub-ID

Paste your affiliate link as a Track Link destination and add the network's sub-ID parameter with {click_id} — for ClickBank that's aff_sub1={click_id}. Track Link swaps in each visitor's click ID on the way through, and the Links page offers to add it when it recognises the network.

2. Paste your postback URL into the network

Copy your postback URL from the Conversions page and paste it into the network's postback or S2S settings with its macros. The network fills them in — click ID, payout, currency, transaction ID — every time a sale is approved.

3. See the sale on the click

The conversion shows on the link, in Analytics and in Revenue with the payout attached. Upsells arrive as separate conversions, and refunds the network reports drop out of revenue on their own.

Affiliate link:  https://hop.clickbank.net/?affiliate=you&vendor=offer&aff_sub1={click_id}
Visitor gets:    https://hop.clickbank.net/?affiliate=you&vendor=offer&aff_sub1=c9hw979uq47q69
Postback URL:    https://api.gettrack.link/postback/YOUR_KEY?click_id={aff_sub1}&payout={affiliate_earnings}&currency={order_currency}&txid={receipt_id}

Postback URLs for popular networks

The Conversions page builds these with your own key. Networks marked * use macro names from a tracker's integration guide — check them in the network before going live.

NetworkAdd to your affiliate linkPostback URL
ClickBankaff_sub1={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id={aff_sub1}&payout={affiliate_earnings}&currency={order_currency}&txid={receipt_id}
Digistore24cid={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id={cid}&payout={amount_affiliate}&currency={currency}&txid={transaction_id}&status={transaction_type}
ImpactsubId1={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id={SubId1}&payout={Payout}&currency={Currency}&txid={ActionId}&status={Status}
Awinclickref={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id=!!!clickRef!!!&payout=!!!commission!!!&currency=!!!transactionCurrency!!!&txid=!!!transactionId!!!
Rakuten Advertisingu1={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id=<u1>&payout=<commissions>&txid=<etransaction_id>&status=<is_event>
Everflow networkssub1={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id={sub1}&payout={payout_amount}&currency={offer_currency}&txid={transaction_id}&event={event_name}
CAKE networkss2={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id=#s2#&payout=#price#&txid=#leadid#
CPAleadsubid={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id={subid}&payout={payout}&txid={lead_id}
JVZoo *tid={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id={tid}&payout={affiliate_amount}&currency={currency}&txid={transaction_id}&status={transaction_type}
BuyGoods *subid={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id={SUBID}&payout={COMMISSION_AMOUNT}&txid={ORDERID}&event={CONV_TYPE}
MaxWeb *subid2={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id={SUBID2}&payout={COMMISSION_AMOUNT}&txid={ORDERID}
TUNE / HasOffers networks *aff_sub={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id={aff_sub}&payout={payout}&currency={currency}&txid={transaction_id}
MaxBounty *s2={click_id}https://api.gettrack.link/postback/YOUR_KEY?click_id=#S2#&payout=#RATE#
Travelpayouts *sub_id={click_id}https://api.gettrack.link/postback/YOUR_KEY

No per-click postback: CJ (Commission Junction), Amazon Associates, PartnerStack — Track Link counts the clicks, and you can add the tracking script to pages you own. Full macro reference in the conversion tracking docs.

What a postback records

Real affiliate life: retries, upsells, refunds and typos in macros.

Upsells, leads and sales

A click can have many conversions. A new transaction ID is a new sale, and a lead and a sale on the same click count separately.

Pending, approved, refunded

Status updates from the network move the same conversion along. Refunded and declined sales stop counting toward revenue.

No double counting

Networks retry postbacks. Repeats of the same click, event and transaction are recognised and ignored.

Pro+

Keyed postback URL

A postback URL with your workspace key, plus an option to refuse postbacks that don't carry it.

Pro+

Postback log

Every postback for 30 days, with a plain reason when one didn't count — wrong key, unfilled macro, unknown click.

Pro+

Send sales to your traffic source

Forward each sale to NewsBreak, Taboola, Outbrain, MGID and others so they optimise for buyers, not clicks.

Running paid traffic? See sending affiliate sales back to NewsBreak.

Honest limits

  • A postback matches by click ID. If the affiliate link doesn't carry {click_id} in the sub-ID field, the network has nothing to send back.
  • CJ (Commission Junction), Amazon Associates, PartnerStack can't send Track Link a per-click postback, so sales there can't be confirmed automatically.
  • Google, Meta and TikTok ads need their own conversion APIs. Track Link stores gclid, fbclid and ttclid with each click, but doesn't send conversions to those platforms yet.
  • Tracked clicks count toward your plan's monthly click allowance, like any Track Link link.

Postback tracking FAQ

What is a postback URL?

A postback URL is an address the affiliate network calls from its own server when a conversion happens. It carries the click ID you passed into the network's sub-ID field, plus details such as the payout and transaction ID, so the sale can be matched to the exact click that caused it. It's also called S2S (server-to-server) tracking or a callback URL.

Postback or pixel — which should I use?

Use a postback whenever you promote someone else's offer: you can't put a script on the advertiser's checkout, and a postback doesn't depend on the buyer's browser, so ad blockers, cookie banners and closed tabs can't lose the sale. Use the Track Link tracking script on pages you own, such as your own store's thank-you page. Both land in the same conversion reports.

Is postback tracking free?

Yes. Recording conversions from postbacks works on every plan, including Free. Pro+ plans add a keyed postback URL tied to your workspace, a log of every postback your networks send, and forwarding each sale to the traffic source that bought the click.

Which affiliate networks work?

Any network that can call a URL with its own macros. Track Link has ready-made postback URLs for ClickBank, Digistore24, Impact, Awin, Rakuten Advertising, Everflow networks, CAKE networks, CPAlead, JVZoo, BuyGoods, MaxWeb, TUNE / HasOffers networks, MaxBounty, Travelpayouts, and a custom template for everything else. CJ (Commission Junction), Amazon Associates, PartnerStack can't send Track Link a per-click postback, so only clicks are tracked there.

How are upsells, duplicates and refunds handled?

Each conversion is keyed by click, event and transaction ID. A network retrying the same postback updates the conversion instead of counting it twice, an upsell with a new transaction ID becomes its own conversion, and a refund — a refund status or a negative amount — marks the sale refunded and removes it from revenue.

How do I test my postback?

Click one of your own tracked links, copy the click ID from the address bar, and call your postback URL with that ID — for example with curl. Every response carries an X-Tracklink-Result header (created, duplicate, unknown_click, unfilled_macro…), so you can see exactly what happened.

Stop guessing which click made the sale

Sign in with Google, open Conversions, pick your network. Your postback URL is ready before your coffee is.

Start free