OpenAdLibraryOpenAdLibrary
Affiliate & Media Buying

Taboola Postback Setup: S2S Tracking for Native Networks, Step by Step

The click-ID round trip that makes native conversion data trustworthy: setting up S2S postbacks on Taboola, Outbrain, MGID, and Revcontent, testing the loop before you spend, and the failure modes that silently eat conversions.

Editorial illustration: Taboola Postback Setup: S2S Tracking for Native Networks, Step by Step

A Taboola postback setup takes four steps: append Taboola's click-ID macro to your campaign URL, map that parameter to your tracker's external click-ID token, create a server-to-server (S2S) conversion in the Taboola Ads Console and paste the postback URL it generates into your tracker, then fire a test conversion before spending real money. The same four steps work on Outbrain, MGID, and Revcontent — only the macro names and endpoints change. This guide walks through each network and the failure modes that silently eat conversions.

How S2S postbacks work on native networks#

A postback URL is a server-to-server request that reports a conversion to the traffic source without involving the user's browser. The loop:

  1. A user clicks your ad. The network fills its click-ID macro with a unique identifier as your URL loads.
  2. Your tracker stores that click ID against the visit.
  3. The user converts — on your page, or deep inside an affiliate network's flow you never touch.
  4. Your tracker (or the affiliate network) calls the ad network's postback endpoint, passing back the same click ID plus the event name and, optionally, revenue.
  5. The network matches the ID to the original click and credits the campaign, publisher, and creative.

For affiliates this beats a tracking pixel decisively: you usually can't place code on an advertiser's thank-you page, browser privacy features and ad blockers eat client-side calls, and multi-hop redirect chains strip pixel context along the way. A server call is deterministic — if the click ID survives the funnel, the conversion counts. For the umbrella picture of methods, see conversion tracking.

One architectural decision before you configure anything: who fires the postback to the ad network? The clean pattern is a chain — the affiliate network fires your tracker's postback with the conversion, and the tracker forwards it to the ad network with the correct click ID attached. That keeps the tracker as the single source of truth across every traffic source and offer. The shortcut — pasting the ad network's postback directly into the affiliate network — works for a single-source setup, but it bypasses your tracker's records and falls apart the moment you run a second network or need deduplication.

Taboola postback setup, step by step#

  1. Add the click-ID macro to your campaign URL. Append Taboola's click-ID parameter to the destination URL — conventionally in the form ?click_id={click_id}. Confirm the current macro spelling in Taboola's URL-parameter documentation before launch; macro vocabularies get extended over time. If you use a major tracker, its Taboola source template already includes this plus the site and campaign tokens you'll want for publisher-level reporting.
  2. Map the parameter in your tracker. In Voluum, RedTrack, Binom, or Keitaro, set the incoming parameter as the external click-ID token for the Taboola traffic source, and map the publisher and campaign tokens while you're there.
  3. Create the S2S conversion in Taboola. In the Ads Console's conversion settings, define a new conversion and choose server-to-server as the method. Taboola generates the exact postback URL, with empty slots for the click ID and the event name you defined. Copy it verbatim into your tracker's postback field, substituting the tracker's own click-ID token into the click-ID slot. Don't hand-type endpoints from memory or forums — copy the generated URL, and keep Taboola's help center open for the current screens.
  4. Pass revenue if you have it. Taboola's postback accepts a revenue parameter; sending real payout values lets the platform optimize toward value rather than raw conversion count.
  5. Test the loop before spending. Covered below — do not skip this on a live budget.

Outbrain, MGID, and Revcontent: same shape, different names#

Outbrain. Outbrain exposes its own click-ID macro — commonly seen as {{ob_click_id}}; verify against Outbrain's current macro list — which you append to campaign URLs the same way. Create the conversion in Outbrain's conversion library, choose the server-to-server option, and copy the generated postback into your tracker's Outbrain template. On some accounts, click-ID appending must be explicitly enabled before the macro populates, so if your tracker shows visits with empty click IDs, look there first.

MGID. Add MGID's {click_id} macro to your campaign URL, then create a conversion sensor in the MGID dashboard with S2S as the type; it produces a postback URL with slots for the click ID, event, and revenue. MGID's macro vocabulary also includes widget and teaser tokens worth capturing — they're what make publisher-level blacklisting possible later.

Revcontent. Revcontent likewise passes a click identifier via macro and provides a postback template in its conversion-tracking settings. Its macro names have shifted across dashboard generations, so pull the current list from the documentation rather than a three-year-old forum thread.

Across all four networks, the tracker side is identical: map the incoming click-ID parameter, paste the network-generated postback, substitute the tracker's token. Macro spelling is the entire per-network difference — case, braces, and hyphens matter, and a typo'd macro arrives as the literal string {click_id} instead of an ID.

Test the loop before you spend#

Never assume a postback works; prove it end to end.

  1. Launch at minimum budget, or use your tracker's test-click function to generate a real visit carrying a real click ID.
  2. Complete a conversion yourself — most affiliate networks can flag a test conversion, or use a low-value live event.
  3. Confirm the conversion appears in the ad network's dashboard. Attribution can lag; give it a few hours before declaring failure.
  4. Inspect the stored click ID in your tracker's visit log: full length, not truncated, not double URL-encoded. Seeing %257B in a logged URL means a macro was encoded twice and the network will never match it.
  5. Confirm HTTPS end to end — some networks drop plain-HTTP postbacks without an error you'll ever see.
  6. Check the tracker's outgoing-postback log, not just the network dashboard. If the tracker recorded the conversion but never fired the postback, the problem is your postback configuration; if it fired and the network shows nothing, the problem is the click ID or the event name. That one distinction cuts debugging time in half.

Repeat the test whenever anything in the funnel changes — a new pre-lander, a new domain, a tracker update. Postbacks don't break loudly; they break by omission, and the first symptom is usually a bidding algorithm quietly starving.

The failure modes that eat conversions silently#

  • A redirect strips query parameters. A pre-lander or domain redirect that 301s without preserving query strings deletes the click ID mid-funnel. Audit every hop; the funnel architecture in landing page funnels for native traffic shows where IDs typically die.
  • Pixel and postback both firing. Track each event one way, or deduplicate. Double-counted conversions teach smart bidding that traffic converts twice as well as it does — and it will overpay accordingly.
  • Wrong parameter mapping at the affiliate network. When the affiliate network fires your tracker's postback, its subid parameter must carry your tracker's click ID. One mapping mistake and every conversion lands unattributed.
  • Attribution-window mismatch. Conversions completing after the network's window silently vanish from its reports while your tracker still counts them. Reconcile both sides weekly so "missing" conversions don't trigger panic bid changes.
  • Revenue format mismatches. Sending "1,99" where "1.99" is expected, or the wrong currency, corrupts value-based optimization without throwing a visible error.
  • Event-name mismatch. The event name in the fired postback must match the conversion you defined in the dashboard; a mismatch either spawns a phantom event or drops the hit entirely, depending on the network.

With tracking live, point it at proven targets#

Accurate postbacks make every downstream decision trustworthy — bids, blacklists, creative calls, and everything a tracker reports. The other half of setup week is deciding what to run with your newly reliable data. Taboola alone accounts for 206,000+ live creatives in OpenAdLibrary's index (June 2026); browsing the live Taboola ad set for your vertical shows which offers and angles advertisers keep sustaining — presumably because their own postbacks tell them it's working. Pair that research with the campaign-setup walkthrough in how to advertise on Taboola, and your first properly tracked dollar goes toward validated concepts instead of guesses.

Frequently asked questions

What is a postback URL in Taboola?
A server-to-server request that reports conversions back to Taboola without using the visitor's browser. Your tracker stores the click ID Taboola passes via URL macro, then calls Taboola's postback endpoint with that ID and an event name when the conversion happens. Taboola matches the ID to the original click and credits the campaign, publisher, and creative.
Where do I find my Taboola postback URL?
Taboola generates it when you create a server-to-server conversion in the Ads Console's conversion settings. Define the conversion, select S2S as the tracking method, and copy the generated URL exactly as issued into your tracker's postback field, substituting your tracker's click-ID token. Always copy the generated URL rather than typing an endpoint from a forum post.
Why are my Taboola conversions not showing up?
Work through the usual suspects: the click-ID macro is missing or misspelled in your campaign URL, a redirect in your funnel strips query parameters, the event name in the postback doesn't match the conversion you defined, the conversion completed outside the attribution window, or attribution is simply lagging — dashboards can take a few hours to reflect a fired postback.
Should I use a pixel or an S2S postback on native networks?
S2S postbacks for anything affiliate-shaped: you can't place pixels on offer pages you don't own, and browser privacy features plus redirect chains make client-side tracking lossy. Pixels are fine when you control the conversion page end to end. Whatever you choose, track each event one way only — firing both double-counts conversions and corrupts bid optimization.
Can I send revenue in a postback?
Yes — Taboola, Outbrain, MGID, and Revcontent all accept a revenue parameter in their postback templates. Passing real payout values upgrades the network's optimization from conversion counting to value, and makes dashboard ROAS meaningful. Use a decimal point, keep the currency consistent with your account settings, and verify a test conversion reports the amount correctly.
The OpenAdLibrary Team
Written byThe OpenAdLibrary Team
Ad intelligence & native advertising research

We build OpenAdLibrary, the open ad-transparency platform. Every day our systems capture live native ads across Taboola, Outbrain, MGID, Revcontent, Teads, Yahoo and MSN, identify the real advertiser behind each one, and follow the click to its landing page. These guides distill what we see in that data so you can research the market faster.