Postback vs Pixel: Two Ways to Track Conversions and When to Use Each

A pixel reports a conversion from the visitor's browser; a postback reports it server to server. Here is why the two are not interchangeable, where each loses data, and how to build conversion tracking that matches your affiliate network.

Tracking and Analytics11 min read
Postback vs Pixel: Two Ways to Track Conversions and When to Use Each
Contents
  1. Two ways to learn about a conversion
  2. How a pixel works
  3. How a postback works
  4. Postback vs pixel: comparison
  5. The ad platform pixel and server-side events
  6. How to combine a pixel and a postback without duplicates
  7. Example: one lead, three paths
  8. How to check that conversions are arriving
  9. What to choose: a quick guide
  10. How it works in ArtisanClo
  11. Summary

The postback vs pixel debate usually ends with "postback is better" — and that is only half true. The pixel has not gone anywhere: you cannot do without it on your own landing page, and ad platforms still ask you to put their code on the page. Let us look at how each method works, where it breaks and how to combine them.

Two ways to learn about a conversion

Any conversion tracking answers one question: which click led to the lead or purchase. The answer is delivered in one of two ways:

  • Pixel (client-side) — the signal is sent by the visitor's browser. An image or script loads on the thank-you page and makes a request to the tracker.
  • Postback (server-to-server, S2S) — the signal is sent by a server. The affiliate network or your backend records the conversion and calls the tracker URL itself.

How a postback URL and its macros work is covered in detail in postback in affiliate marketing: setting up an S2S postback. Here we focus on the comparison.

How a pixel works

A classic pixel is a line on the confirmation page:

<img src="https://tracker.example/pixel?event=lead" width="1" height="1" alt="">

Or a script that does the same thing with a JavaScript request. For the tracker to know which click the event belongs to, it needs a click ID. The pixel gets it in one of these ways:

  1. from a cookie the tracker set at click time;
  2. from a parameter you carried through every page up to the thank-you page;
  3. from browser storage where the code saved it on the landing page.

Each of these can fail. And that is exactly where the pixel loses conversions.

Where a pixel loses data

  • Ad blockers. Many extensions and browsers block requests to known tracking domains.
  • Cookie restrictions. Browsers cut the lifetime and scope of cookies, especially third-party ones. If the click happened on one domain and the thank-you page is on another, the cookie may simply not be there.
  • In-app browsers. Facebook, Instagram and TikTok open links in a built-in browser. The person submits the form there, the cookie stays there too, and the next time they open the site in a regular browser the link is lost.
  • The user never reached the thank-you page. They submitted the form, but the confirmation page did not load because of a slow network or a closed tab.
  • No statuses. A pixel fires once, at the moment of the lead. It will never learn that three days later the call center approved the lead or rejected it as a duplicate.

The last point hurts the most in affiliate marketing: you get paid for an approval, not a lead. More on that in conversion statuses: lead, hold, approved, rejected, trash.

How a postback works

With a postback the click ID travels forward in the offer link: the tracker appends it to a parameter such as sub1, and the affiliate network stores it along with the lead. When the lead status changes, the network calls the tracker URL:

https://tracker.example/postback?click_id={sub1}&status={status}&payout={payout}&txid={transaction_id}

The visitor's browser is not part of this chain. Hence the main advantages:

  • no dependence on cookies or ad blockers — the request goes between servers;
  • every status arrives — lead, hold, approved, rejected, each as its own message;
  • the amount arrives — the network passes the payout, currency and transaction ID;
  • fewer discrepancies with the affiliate network dashboard.

Where a postback breaks

A postback is not magic. It breaks in predictable places:

  • the click ID was not appended to the offer link, so the network returns an empty value;
  • the postback URL uses the wrong network macro;
  • the network inserted the click ID of an external tracker that your tracker does not know;
  • the postback URL was pasted into the wrong offer or at the wrong level (global vs per offer).

All these errors are visible in the incoming postback log, if there is one: a "click not found" or "no click_id" outcome tells you right away where to look. The click ID itself is covered in click ID and sub ID.

Postback vs pixel: comparison

Pixel Postback (S2S)
Who sends it The visitor's browser The network's server or yours
Ad blockers and cookies Affect it Do not affect it
Status changes (hold, approved, rejected) No Yes
Payout amount Only if you know it on the page Passed by the network
What you set up Code on the thank-you page Click ID in the offer link + URL in the network dashboard
When it is irreplaceable Your own landing page with no server access Working with affiliate networks
Typical loss Some conversions never arrive Conversions exist but are not tied to a click because of a setup error

Note the last row. A pixel loses data "quietly" and unpredictably. A postback error is usually systematic: if it is set up wrong, nothing arrives, and you notice right away.

The ad platform pixel and server-side events

The word "pixel" in affiliate marketing means two different things, and they are often confused:

  1. The tracker pixel — reports a conversion to your tracker. That is what we discussed above.
  2. The ad platform pixel (Meta Pixel, TikTok Pixel, the Google Ads tag) — reports an event to the ad system so its algorithm understands who to show ads to.

The second has the same problem: browser code loses events. So the platforms built server-side counterparts:

  • Conversions API at Meta (how it works with macros and fbclid is covered in Facebook Ads tracking);
  • Events API at TikTok;
  • offline conversion import by gclid in Google Ads.

In essence, this is a postback to the ad platform: your server or tracker sends an event with the platform's click ID. How to set it up for each platform is covered in sending conversions to ad platforms, and the click IDs themselves in fbclid, gclid, ttclid, yclid.

How to combine a pixel and a postback without duplicates

A common mistake is to put the platform pixel on the thank-you page and at the same time send the same conversion through the server channel. The platform ends up seeing two leads where there was one and learns from inflated numbers.

There are two healthy options:

  1. Split the events. The browser pixel reports a page view or form start, while leads and purchases go only through the server channel.
  2. Deduplicate. Send one event both ways, but with the same event ID. Platforms that support deduplication will count it once. Check the platform's own help center for exactly how the ID is passed.

Tip. Before turning on a second channel, choose one system as the "source of truth" for conversions — usually the affiliate network data delivered by postback. Everything else should match it.

Example: one lead, three paths

Say a person came from an ad in a social network's in-app browser, submitted a lead on an affiliate network offer, and two days later the call center approved it. Let us see what each channel sees.

Event Tracker pixel on the thank-you page Postback from the network Server-side sending to the platform
Lead submitted Fires if you control the thank-you page and the click ID survived until then The network sends a lead with the click ID The tracker sends a "lead" event with the platform click ID
Thank-you page did not load Event lost Not affected Not affected
Approval two days later Never learns The network sends a new status for the same transaction The tracker can send an approval event
Lead marked as a duplicate Never learns The network sends rejected or trash The platform does not get a false purchase signal

The table shows the key point: in a chain with an affiliate network the tracker pixel is simply unnecessary — you usually have no access to the thank-you page on the network's side. All the information arrives by postback, and the tracker passes it on to the platform from the server.

How to check that conversions are arriving

Whatever the method, walk the chain by hand before launch:

  1. Make a test click on the ad link from your device and find it in the tracker's click log.
  2. Look at the offer URL: the click ID should be in the right parameter, not empty and not the literal macro text.
  3. Submit a test lead, or ask the network manager to send a test postback for that ID.
  4. Check the incoming postback log: the outcome should be "lead recorded", not "click not found".
  5. For a pixel, open the thank-you page with the browser's developer tools and make sure the request goes out and gets a response.
  6. For server-side sending to the platform, check the test events section in its dashboard.

Tip. Repeat the check after every landing page edit, offer change or network change. Most "suddenly missing" conversions turn out to be a new offer URL without the click ID parameter.

What to choose: a quick guide

  • You send traffic to an affiliate network offer — postback from the network to the tracker. No tracker pixel needed.
  • You send traffic to your own landing page with a form and have server access — report the lead from the form handler. It is the same server-side approach, only you are the "network".
  • Your own landing page, but no access to server code (a page builder, a third-party developer) — a script or pixel on the thank-you page. Accept a small loss and reconcile with your lead database.
  • You need the ad platform to optimize for conversions — server-side sending to the ad account on top of any of the options above.

How it works in ArtisanClo

In ArtisanClo conversions are received in the "Conversions setup" section; there is one receiving URL for the whole account.

  • Affiliate networks — about 300 ready templates: each template already specifies which parameter the network receives the click ID in, how its statuses map to ours, and builds the postback URL for the network dashboard.
  • Your own site — for a landing page with a form there are three options: code for the form handler, a script for the thank-you page, or a pixel. You can test the setup with a test lead.
  • External tracker — ready templates for working alongside a third-party tracker.

Incoming messages show up in the log with an outcome: "lead recorded", "click not found", "no click_id" and others. Network statuses are mapped automatically, and a repeat message with the same transaction ID updates the record rather than creating a new one. A repeat lead from the same visitor within the uniqueness window is recorded as "Trash" marked as a duplicate.

The reverse direction is in the traffic source card: postback to the source (the platform gets its own click ID and the status; sending happens once per conversion and status) and, on higher plans, direct sending to Meta, TikTok and Google Ads with your own keys. Sending works for flows with the tracker on. What each plan includes is on the pricing page, and the full list of functions is under features.

Summary

Postback and pixel are not rivals but tools for different situations. Work with affiliate networks by postback: it does not depend on the browser and delivers every status. On your own landing page, report leads from the server, and keep the pixel for cases where there is no server access. Give the ad platform events through the server channel and do not duplicate them with the browser one. Once conversions match, you can move on to the main thing — calculating profit and ROI.

Frequently asked questions

01

What is a tracking pixel?

It is a small piece of code or an invisible image on a page that sends a request to a tracker or ad platform when it loads. It is usually placed on the thank-you page to record a lead or purchase at the moment the visitor sees that page.

02

Why does my pixel show fewer conversions than the affiliate network?

A pixel only fires if the page loaded in the browser, the code was not blocked, and the click data survived until that moment. Ad blockers, closed tabs, in-app browsers and cookie restrictions eat part of the events. The network, on the other hand, sees every lead on its side.

03

Can I use a postback and a pixel at the same time?

Yes, if they handle different events or you have set up deduplication. If both send the same conversion to the same system without a shared event ID, it will be counted twice.

04

Which method do I need if I send traffic to my own landing page with a form?

The most reliable option is to report the lead from the form handler on your server: it fires every time a lead is actually saved. A pixel or script on the thank-you page works if you have no access to server-side code.

05

Is the Facebook pixel the same as a tracker pixel?

No. The ad platform pixel tells the ad system about an event so it can optimize delivery. A tracker pixel tells your tracker about a conversion for reporting. The jobs are different, and the platform pixel has a server-side counterpart: Conversions API at Meta and Events API at TikTok.

Read next

See your traffic for real

Connect ArtisanClo to your site, see who actually arrives from your ads, and why every click got its decision.