Affiliate conversion pixels: get notified the moment a conversion records
A practical guide for affiliates on registering a postback URL or HTML pixel so your own tracker or CRM hears about every conversion in real time — the two pixel types, the tokens you can pass, and how to read the fire log.
If you run traffic as an affiliate, one question shapes almost everything else you do: did that conversion land, and did it get credited to me? You can always open a report to check. But the fastest, most reliable way to know is to have the platform tell your own systems the instant a conversion records — no polling, no refreshing a dashboard, no waiting until end of day. That is what a conversion pixel does for you.
A conversion pixel (sometimes called a postback, an S2S callback, or a tracking pixel) is a hook you register once. From then on, whenever one of your conversions records on an offer you promote, the platform calls the endpoint you gave it and hands you the details. Your ad platform can log the sale against the right campaign, your CRM can mark a lead as converted, and your own optimization tooling can start bidding on what actually pays. This guide walks through the two kinds of pixel, how to install one well, what data you can carry back, and how to prove it is firing.
Why an affiliate wants their own pixel
There is an important distinction hiding in the word "pixel." The advertiser's conversion pixel is what reports a sale into the platform — it is how the conversion gets recorded in the first place. Your affiliate pixel is the opposite direction: it reports a recorded conversion out to you. You are not measuring the conversion; the platform already did that. You are subscribing to a notification about it.
That outbound notification is what closes the loop on paid traffic. If you buy media on a self-serve ad network, the network optimizes toward whatever event you feed it. Feed it clicks and it finds you clicks; feed it real conversions and it finds you buyers. Without a pixel, your ad platform is flying blind — it has no idea which of the thousands of clicks it sent actually turned into money. With a pixel, every confirmed conversion flows straight back into the system that decides where your next dollar of spend goes.
The same notification is what lets you reconcile. Instead of manually matching your spend against a report at the end of the month, your own database fills in as conversions happen, and any discrepancy shows up immediately rather than four weeks later.
The two kinds of pixel
There are two ways to receive the notification, and the right one depends on what you can accept on your end.
A postback URL, also called a server-to-server (S2S) pixel, is a URL the platform calls from its servers the moment your conversion records. Nothing runs in the visitor's browser, so nothing can be blocked by an ad blocker, a privacy setting, or a browser that drops third-party requests. It is the reliable choice, and it is the right one whenever you are notifying your own tracker, ad platform, or CRM. If you can stand up an endpoint that accepts an HTTP request, use a postback.
An HTML pixel is a snippet — an image tag or an iframe — that fires in the browser on the confirmation step of a funnel you control. Use it only when you genuinely cannot accept a server postback, because a browser pixel depends on the visitor's browser actually loading it, and modern browsers are increasingly hostile to exactly that. For most affiliates running paid traffic, the postback is the better default, and the HTML pixel is the fallback.
If you want the deeper mechanics of how a conversion is reported and matched in the first place, our companion guide on conversion pixels and server-to-server postbacks covers the advertiser side of the same loop.
Registering a pixel
Setup is deliberately short. You choose the offer you are promoting, choose the conversion event the pixel should fire on — a sale, a lead, a signup, whatever that offer counts — and pick the pixel type. Then you paste your postback URL or your HTML snippet and save.
One thing to expect: depending on the program's settings, a newly registered pixel may need the program manager's approval before it starts firing. That is a normal anti-abuse step, not a sign anything is wrong. You will see the pixel's status, and once it is live, every qualifying conversion triggers it automatically. You register once; you do not touch it again unless your endpoint changes.
A single pixel is scoped to one offer and one event, which is exactly what you want — a lead pixel and a sale pixel can carry different values into different columns of your ad account. If you promote several offers, register a pixel per offer.
Carrying data back with tokens
A bare notification tells you that a conversion happened. Tokens let you carry back which conversion, worth how much, from which of your traffic sources. You write a placeholder into your URL or snippet, and the platform substitutes the real value at fire time.
The placeholders take the form #token#. The ones you will reach for most:
#conversion_id#and#transaction_id#— the unique identifiers for the conversion and the underlying order. Store these so you can tie your record to the platform's and so you never double-count a re-fire.#click_id#— the click this conversion was attributed to, which is how you match it back to the exact click your ad platform sent.#payout#— your earnings for the conversion. This is the number you feed your ad platform as conversion value, so it optimizes toward revenue rather than raw volume.#s1#through#s5#— your own sub-ID labels, passed straight through (more on these below).- Context fields like
#offer_id#,#campaign_id#,#creative_id#,#event_type#,#currency#,#country#,#device#,#date#, and#status#.
One rule worth internalizing: use #payout# for the money. That is your earnings, and it is the figure an affiliate is entitled to see. The advertiser's revenue — what the advertiser actually paid the program — is not available to an affiliate pixel; tokens like #revenue# are rejected when you save. That is by design, and it protects the margin information that is not yours to see.
If you are migrating from another network, you do not have to rewrite every template by hand. Common CAKE-style token names such as #tid#, #cid#, and #price# are accepted automatically, so a pasted postback template keeps working while you tidy it up.
Sub-IDs make the notification actionable
The single most valuable thing you can carry into a pixel is your own sub-ID scheme. When you built your tracking link, you had the option to attach up to five free-text tags, s1 through s5, labeling where the traffic came from — a placement, an ad, an audience, a creative variant. If you passed #s1# into your pixel, every conversion notification tells you not just that you earned a payout, but that the payout came from, say, newsletter-tuesday rather than fb-ad-3.
That is the difference between knowing you made money and knowing what made you money. Feed those sub-IDs into your ad platform and you can prune the placements that never convert and pour budget into the ones that do. If you have not set up a sub-ID convention yet, our guide to sub-IDs and how to label your traffic is the place to start, and the affiliate walkthrough on getting your tracking link shows where you add them.
Confirming it actually fires
Registering a pixel and trusting a pixel are two different things. Every attempt the platform makes against your pixel is logged, newest first, with the status your server returned. This fire log is your source of truth.
A success response means your system received the notification and acknowledged it. A failing response almost always means one of two things: your endpoint returned an error, or it timed out. Check that the URL is exactly right, that your server accepts the request method you configured, and that it responds quickly — a very slow endpoint can time out and be recorded as a failure even though the conversion itself was perfectly fine.
When you first go live, fire a test conversion and watch the log. Confirm the row appears, confirm the status is a success, and confirm the tokens you expected arrived with real values rather than literal #payout# placeholders. A placeholder that came through unsubstituted almost always means a typo in the token name.
What a pixel does not change
It is worth being precise about the boundary. A pixel notifies your system; it does not change how you are credited or how much you are paid. Your payout is decided at click time and locked in there — the pixel simply reports the number that was already set. If a conversion is not showing up in your notifications, the pixel is not the cause; the cause is upstream, in whether the conversion was attributed to you at all. Our guide on how affiliates get paid explains that chain, including why a conversion might come back as unattributed.
If you want to see the whole picture — a click captured first-party, attributed to the right affiliate, and a postback firing cleanly back to your tracker — the tracking feature overview walks through how the platform keeps that loop intact even as browsers tighten down. And when you are ready, book a demo and we will stand up a live pixel and watch a conversion travel end to end on your own setup.