What is native ad conversion tracking?
Native ad conversion tracking is how a purchase or lead on your site is reported back to a native ad network such as Taboola, Outbrain, MGID or Revcontent, so the network can credit the click that caused it. Most networks match on a click ID alone, so that ID's journey decides what gets counted.
There are two methods. A browser pixel fires from the visitor's browser when the conversion page loads. A server-side postback, also called server-to-server or S2S tracking, is an HTTP request that your server or a tool such as SignalBridge sends to the network after the order, carrying the click ID the network gave you. Native ads server-side tracking matters because the pixel needs the visitor's browser to cooperate and the postback does not.
Names have changed, so here is how this guide uses them. Taboola's advertiser platform is called Realize. Outbrain acquired Teads in February 2025 and renamed the combined company Teads Holding Co. in June 2025, but Amplify, the help center and the postback address still carry the Outbrain name. Yahoo's native ads are powered by Taboola, according to its ad specs.
We built this guide from each network's own documentation, read on October 27, 2026: Taboola's conversion tracking overview, Outbrain's server-to-server guide, MGID's postback guide, Revcontent's S2S guide and Yahoo's Conversion API reference. We build SignalBridge, which sends server-side conversions to Taboola but not to the others, and we flag that wherever it matters. We have not run campaigns on every network, so treat anything we could not find in documentation as unconfirmed.
Here is the short version of how the five compare on click IDs and routes:
| Network | Click ID | Added to your URL by | Server-side route | Matches on |
|---|---|---|---|---|
| Taboola (Realize) | tblci | Taboola, automatically | GET postback, or bulk POST of up to 1,000 conversions | Click ID |
| Outbrain (Amplify) | A parameter you name, filled by {{ob_click_id}}. Its guides use OutbrainClickId and dicbo | You, in the campaign's Track box | GET postback to tr.outbrain.com/unifiedPixel, or a daily CSV import | Click ID |
| MGID | A parameter you name, filled by {click_id} | You, under Tracking Tags | GET postback to a.mgid.com/postback/CLIENT_ID | Click ID |
| Revcontent | rc_uuid | Revcontent, automatically | GET or POST with your API key | Click ID, with optional IP and user agent |
| Yahoo DSP | vmcid | You, with vmcid=${CC} in the click-through URL | JSON POST to the Conversion API | Click ID or hashed customer data |
Why is native ad tracking harder than search or social?
Native networks sell clicks on recommendation widgets spread across publisher sites. Five features of that model shape every setup.
- The click ID is usually the only key. Meta and Google also accept hashed email and phone, so a lost click ID can sometimes be recovered through customer matching. The documented postbacks of Taboola, Outbrain, MGID and Revcontent carry a click ID, an event name or amount, and optional order details instead. Yahoo's Conversion API is the exception, because it accepts hashed email and phone. On the other four, a conversion without its click ID cannot be reported.
- The gap between click and order can outlast the cookie. Taboola's click window defaults to 30 days. Outbrain's Amplify API documents a conversion window of 1 to 60 days, with 60 as the default. WebKit's tracking prevention policy says Safari can cap cookies created in JavaScript to 24 hours when it detects click IDs in the landing URL, and deletes script-writeable storage after 7 days without interaction. A click ID kept only in a script-written cookie can be gone long before the order, so store it on your server at landing. Our click ID explainer covers where else each ID gets lost.
- Funnels cross domains. Native campaigns often send traffic to an advertorial or pre-sell page before the store, sometimes through a tracker first. Each hop can drop the query string. Revcontent warns that a redirect which does not forward every parameter loses the click ID, and Taboola says it ignores a truncated or corrupted
tblci. - Network clicks are not sessions. Outbrain's discrepancies guide says a click still counts when a visitor leaves before the page finishes loading, and warns of a drop-off of more than 25% from click to page view when a mobile page takes over 4 seconds to load. Compare conversions with conversions, not clicks with sessions.
- Consent reaches the postback. Outbrain's pixel documentation says conversions from the EU and UK are recorded only when you run an IAB-compliant consent management platform and the visitor consents. It does not say how server-side conversions are treated. Yahoo's Conversion API requires a privacy object that carries a GDPR or GPP consent string, or an OPTOUT mode that Yahoo describes as attribution-only. Send server-side conversions only for visitors whose consent allows it.
How do Taboola, Outbrain, MGID, Revcontent and Yahoo compare?
The first table covered click IDs and routes. This second table covers the rules that decide whether a postback is counted once, twice or not at all.
| Network | Event or goal names | Duplicate handling | Attribution window | Value and currency |
|---|---|---|---|---|
| Taboola | The Event Name set in Realize, case-sensitive | The S2S copy is kept over the pixel copy for the same click and event, and repeats within one minute are dropped | Click: 1 to 30 days, default 30. View: 1 to 24 hours, default 24 | revenue with currency. 19 documented codes, none for CHF, SEK, PLN or DKK |
| Outbrain | Must match an event-based conversion in Amplify. Case-sensitive, no underscores, spaces sent as %20 | Outbrain says it deduplicates conversions that arrive by more than one method. Two conversions from one user in a short window count once unless you send orderId | Set per conversion. The API default is 60 days, range 1 to 60. Imported conversions feed bid optimization only within 72 hours of the click | orderValue with currency. 17 documented codes, including CHF and SEK but not PLN or DKK |
| MGID | Up to three goals per campaign. Latin letters and numbers only | Only unique conversions by default, with a per-goal setting for non-unique | We found no documented window | r only, read in your account currency. No currency parameter |
| Revcontent | None documented. The postback carries only an amount | Do not run the pixel and S2S together | Pixel: 30 days. We found none documented for S2S | amount, a dollar value that must be non-zero |
| Yahoo DSP | eventName in the API call | Events that reuse an eventId are dropped | Set by the conversion rule in Yahoo DSP | price, assumed to be USD by default |
Here are the four postbacks side by side, with placeholder values:
Taboola
GET https://trc.taboola.com/actions-handler/log/3/s2s-action?click-id=TBLCI_VALUE&name=make_purchase&revenue=89.50¤cy=USD&orderid=ORD-10492
Outbrain
GET https://tr.outbrain.com/unifiedPixel?ob_click_id=OB_CLICK_ID&name=Purchase&orderValue=89.50¤cy=USD&orderId=ORD-10492
MGID
GET https://a.mgid.com/postback/CLIENT_ID?c=CLICK_ID&e=purchase&r=89.50
Revcontent
GET https://trends.revcontent.com/api/v1/conversion.php?api_key=YOUR_API_KEY&rc_uuid=RC_UUID&amount=90
The tables hide the details that cause most failures, so here they are network by network.
Taboola (Realize)
Taboola's postback needs no token. It attributes by the click-id and the Event Name defined in Realize. The landing page receives tblci, while the postback calls the same value click-id. Taboola recommends running the pixel and S2S together, and its deduplication rules keep the S2S copy when both report the same event for the same click. Keep order ID, revenue and currency identical on both routes, because Taboola does not deduplicate events whose values differ. Our guides cover the S2S mechanics, the no-code postback setup and the Shopify steps.
Outbrain (Amplify, part of Teads)
Create an event-based conversion in Amplify, not a URL-based one, and set its window and default value. Add OutbrainClickId={{ob_click_id}} to the campaign's Track box and leave the macro exactly as written. Outbrain then appends the click ID to your landing URL, and your server has to store it with the visitor. Outbrain's guides name the parameter two ways, OutbrainClickId in the S2S guide and dicbo in the import guide, so read the landing URL of a test click and capture the name you actually see. The postback is a GET request with the reserved keys ob_click_id and name.
If you cannot send a live postback, Outbrain's imported conversions accept a CSV with the click ID, conversion name and conversion time, plus optional value, currency and order ID, sent by email and ideally daily. Imports can run alongside the pixel or S2S.
The naming guide adds that Amplify does not support underscores in conversion names, that a space in a postback name must be sent as %20, and that Outbrain treats an underscore or %20 as a space. The dynamic values guide says to pass an orderId when you want two conversions from the same user within a short time to count separately instead of being deduplicated. Outbrain states that S2S includes only conversions that came from Outbrain, and that it cannot troubleshoot your implementation, so test with a real click first. For the browser side on Shopify, Outbrain publishes the free Teads Conversion Pixel app, launched in November 2025.
MGID
MGID's guide is written around third-party trackers such as Voluum, Binom and RedTrack, which sit between the click and your landing page, but any system that can send a postback works, including your own server. You choose the GET parameter that carries the click ID and add it under Tracking Tags with the {click_id} macro. MGID then generates the postback for each goal.
A campaign can have three goals through postback. A goal name accepts only Latin letters and numbers and becomes the e value, and by default only unique conversions are counted. If a funnel sells an upsell after the purchase, you can switch a goal to count non-unique conversions, but MGID warns that switching it on by mistake skews statistics. Revenue is read in your account currency and the postback has no currency parameter, so a multi-currency store has to convert before it sends. For Shopify, MGID offers a Native Integration, a custom pixel you add under Customer events.
Revcontent
Revcontent adds rc_uuid to your destination URL itself, so do not add it to your tracking variables by hand. Unlike the Taboola, Outbrain and MGID postbacks, its postback carries a secret: api_key is a required parameter next to rc_uuid and amount. The endpoint accepts POST as well as GET, so a server can keep the key out of URLs and logs. The amount is a dollar value that Revcontent's guide says must be a non-zero integer. Revcontent warns that its conversion pixel must not run alongside S2S, because using both reports duplicate conversions. We found no Shopify route in its help center.
Yahoo and Microsoft
Yahoo's ad specs say native ads on Yahoo are powered by Taboola, and its Conversion API accepts a Taboola click ID (tblci) as well as its own vmcid, though not both on one event. When you redirect through a tracker or ad server, add vmcid=${CC} to the click-through URL so the Yahoo click ID reaches your landing page. Yahoo's Dot pixel or its Conversion API then reports the conversion.
The API takes a JSON POST with a bearer token, requires a privacy object, and accepts either a click ID or hashed identifiers. Microsoft sells native placements as Audience ads on MSN, Microsoft Start, Edge and Outlook.com. Their click ID is msclkid, added to landing URLs when auto-tagging is on, so check with a test click that your Audience ads carry it.
How does a native ad conversion travel from click to postback?
Every network follows the same six steps, whatever the endpoint looks like.
- Get the click ID onto the landing page. Leave it alone where the network adds it (Taboola, Revcontent). Add the macro yourself where it does not:
OutbrainClickId={{ob_click_id}}for Outbrain, or a parameter of your choice with{click_id}for MGID. Then click a live ad and confirm the parameter arrives in the URL. - Capture it on the first page. Read the parameter from the URL and store it against the visitor on your server, not only in a script-written cookie.
- Carry it across every hop. Forward the full query string through redirects and trackers, or install your tracking on both domains of an advertorial funnel.
- Attach it to the order. Shopify's order webhook carries no network click ID, so the ID has to be stored earlier and joined to the order through a visitor or cart identifier.
- Send one postback per conversion. Use the exact event or goal name, include the order ID, value and currency where the network accepts them, and send only for visitors whose consent allows it.
- Verify and reconcile. Use the network's test tool where it has one, such as the Server Events test in Taboola's Realize. Each week, compare network-reported conversions with the store orders that arrived with a click ID.
Why do native conversions go missing or double up?
Most native tracking problems repeat. This table maps the symptom you see to the cause we would check first.
| Symptom | Likely cause | Fix |
|---|---|---|
| Many network clicks, far fewer sessions | Slow landing pages, or visitors leaving before the page loads, while the network still counts the click | Speed up the landing page and compare conversions, not clicks and sessions |
| Postback sent, no conversion shown | The event or goal name does not match the network's setting, including case, underscores or spaces | Copy the name from the network dashboard and test with one conversion |
| Only some click-driven orders appear | The click ID was dropped or truncated by a redirect, link shortener or tracker | Test a real click and forward the full query string at every hop |
| Nothing arrives for a campaign | The macro is missing from the tracking code (Outbrain, MGID) or was edited | Re-enter the macro exactly as documented and check the landing URL |
| Conversions counted twice on Revcontent | The pixel and S2S are both active | Keep one method |
| Two quick orders from one Outbrain buyer count as one | No orderId on the repeat purchase | Send a unique orderId with every purchase |
| EU or UK conversions missing in Outbrain | No IAB-compliant consent platform, or no consent from the visitor | Fix consent collection before you rely on the pixel |
| Revenue looks wrong | A currency outside the network's documented list, or an account currency mismatch | Check the currency rules in the table above |
| Orders from email or organic traffic do not appear | Expected: a postback only reports conversions that began on that network's click | Compare against click-driven orders, not all orders |
How do bots and overlapping networks distort native data?
Networks use the conversions you report to steer bidding. Taboola's Maximize Conversions bidding "uses conversion data and behavioral signals to adjust bids in real time", according to Realize's El Corte Inglés case study, and the Teads Conversion Pixel listing says onsite conversion data feeds Outbrain's AI-powered bidding modes. A fake lead or order that you report is therefore a training signal, not a harmless extra. Filter bot and other non-human sessions before you send a postback. Our bot filter tools comparison covers the options.
If you run more than one network, one buyer can click several of them. Say someone clicks an Outbrain ad on day 1 and a Taboola ad on day 3, then buys on day 5. Both click IDs sit inside their networks' windows, so both networks can claim the order and your dashboards add up to more than your store reports. Capture each network's click ID separately, send each network only its own click, and judge the mix on blended cost per order. Our Taboola vs Facebook comparison walks through the same overlap between Taboola and Meta.
Which native tracking setup fits your store?
The right route depends on which networks you buy and where the order happens.
| Your situation | Practical route |
|---|---|
| Shopify store buying on Taboola only | Keep Taboola's Shopify pixel app for the browser and add S2S postbacks keyed by tblci, from SignalBridge, a tracker or your own endpoint |
| Shopify store buying on Outbrain | Install the Teads Conversion Pixel app for the browser. For server-side, store the click ID parameter you set in the Track box and post it back from your own server or a tracker |
| Several native networks at once | Use a tracker that handles each network's macros and postbacks. Taboola's documentation lists Voluum, ClickBank, RedTrack, Ringba and Finance Ads, and MGID's lists Voluum, Binom, RedTrack, BeMob and ThriveTracker |
| Leads that close offline, such as phone orders | Send the postback when the sale closes. Taboola documents S2S for events recorded off your website, such as phone orders and in-person appointments, and Outbrain accepts a CSV of click IDs and conversions as imported conversions |
| Microsoft Audience ads | Send msclkid offline conversions through SignalBridge's Microsoft Ads integration or Microsoft's own import |
For a wider look at tools that deliver server-side events, see our comparison of server-side tracking tools.
How does SignalBridge handle native ad tracking?
Among these networks, SignalBridge sends server-side conversions to Taboola only. Its tracking script reads tblci from the landing URL, keeps it for the visitor for 30 days and, when that visitor converts, sends Taboola a postback with the click ID, event name, revenue, currency and order ID. Only an HTTP 204 counts as delivered, temporary failures are retried from a durable queue, suspected bot events are filtered before delivery, and conversions are held back when marketing consent is denied or required and not granted. Orders with no stored tblci are not sent, because there is nothing to attribute them to, and refunds and cancellations are not sent to Taboola. The Taboola integration page lists the event names and limits.
SignalBridge does not capture the Outbrain, MGID, Revcontent or Yahoo click IDs, so it cannot send their postbacks today. For those networks, follow the steps above with the network's own route, a tracker or your own endpoint. Microsoft Audience ads are a separate case: SignalBridge uploads offline conversions by msclkid through its Microsoft Ads integration, so confirm with a test click that your Audience ads carry the ID.
Taboola counts as one connected platform, so the Starter plan at $29 a month for 20,000 events covers it, and every accepted event, page views included, counts toward the allowance. See the pricing page for the other plans. Start your 14-day free trial today. No credit card required.
FAQ
What is native ad conversion tracking?
Native ad conversion tracking reports a purchase or lead on your site back to the native ad network that sent the click. A click ID travels from the ad to the conversion, and a browser pixel or a server-side postback sends it back. On most networks that ID is the only link between the order and the ad.
Does Outbrain have a server-side conversion API?
Outbrain documents a server-to-server route rather than a customer-data API. You send a GET request to tr.outbrain.com/unifiedPixel with the click ID and the exact name of an event-based conversion, plus optional orderId, orderValue, currency and timestamp values. It reports only conversions that came from an Outbrain click. Outbrain also documents a CSV import for conversions you cannot post live, and says it cannot troubleshoot your S2S implementation or investigate discrepancies.
Is Outbrain the same company as Teads now?
Yes. Outbrain acquired Teads in February 2025 and renamed the combined company Teads Holding Co. in June 2025. Amplify, the Outbrain help center and the tr.outbrain.com postback address keep the Outbrain name, and the Shopify pixel app is listed as the Teads Conversion Pixel, published by Outbrain.
Can I send hashed emails to Taboola, Outbrain, MGID or Revcontent?
Not through their documented postbacks. Taboola, Outbrain and MGID accept a click ID, an event or goal name and optional value fields. Revcontent accepts a click ID, an amount and an optional IP address and user agent. Yahoo's Conversion API is the one that accepts SHA-256 hashed email and phone, so the click ID is the identifier to protect on the other four.
Should I run the pixel and the server-side postback together?
It depends on the network. Taboola recommends both and keeps the S2S copy when both report the same event for the same click. Revcontent says not to combine them, because duplicates result. Outbrain says it deduplicates conversions that arrive by more than one method, but its guides give no matching rule for a pixel event and a postback for the same order, so send the same orderId on both and test with one order. MGID counts only unique conversions per goal by default, so a second event for the same click is ignored unless you change that setting.
How long do native networks credit a click?
It is set per network and sometimes per conversion. Taboola's click window defaults to 30 days and can be set from 1 to 30, with a view-through window of 1 to 24 hours that defaults to 24. Outbrain's API documents a conversion window of 1 to 60 days with 60 as the default. Revcontent's conversion pixel has a 30-day attribution window. We found no documented window for MGID's postback.
Does SignalBridge support Outbrain, MGID or Revcontent?
No. SignalBridge sends server-side conversions to Taboola, and its script captures tblci, not the Outbrain, MGID, Revcontent or Yahoo click IDs, so it cannot send their postbacks today. For those networks, use the network's own route, a tracker or your own endpoint, and follow the click-ID steps above. SignalBridge also sends Microsoft Ads conversions by msclkid, which covers Microsoft Audience ads if your landing pages receive that ID.
Related reading
- How to Set Up Taboola Server-Side Tracking (S2S): Complete 2026 Guide — the postback mechanics, click ID rules and retries in depth
- Taboola Conversions API Setup: S2S Postback Without Code — the exact Taboola postback, parameters and response codes
- How to Track Taboola Conversions on Shopify (S2S Guide) — capture tblci on Shopify and send purchase postbacks
- Taboola vs Facebook Ads: Tracking & Attribution Compared — attribution windows and how two networks claim the same order
- What Is a GCLID? Every Ad Click ID Explained (2026) — where click IDs get lost and how to keep them
- 10 Best Server-Side Tracking Tools in 2026 (Tested & Ranked) — the wider tool landscape for server-side delivery
- Microsoft Ads Offline Conversions: Server-Side Setup Guide — upload msclkid conversions to Microsoft Advertising
- What is Event Deduplication? (And Why You're Double-Counting) — how pixel and server events are matched so each order counts once
- 7 Best Bot Filter Tools for Ad Tracking in 2026 (Compared) — keep non-human sessions out of the data networks learn from
- Server-Side Tracking and GDPR: Complete Compliance Guide — consent and lawful basis for server-side events
- What is Server-Side Tracking? (Complete 2026 Guide) — the fundamentals behind every postback in this guide
Related Articles
Taboola vs Facebook Ads: Tracking & Attribution Compared
Taboola vs Facebook Ads tracking compared: attribution windows, click IDs and server-side APIs, and why both claim the same sale. See the breakdown.
How to Set Up Taboola Server-Side Tracking (S2S): Complete 2026 Guide
Step-by-step Taboola S2S setup guide: capture tblci click IDs, send server-side postbacks, and recover 25%+ lost native ad conversions. Works with Shopify, WooCommerce, and custom stacks.