Taboola Macros & Native Network URL Parameters: The Cheat Sheet
números
Taboola Macros: Native Network Parameter Cheat Sheet
Open AdLibrary
EN
English Español Português (Brasil) Français Deutsch Italiano Polski Svenska Türkçe Русский 日本語 한국어 简体中文 Bahasa Indonesia 繁體中文 Čeština Dansk Norsk (bokmål) Suomi Ελληνικά Română Magyar Українська ไทย हिन्दी العربية עברית
Log in
Start free
Affiliate & Media Buying
Taboola Macros & Native Network URL Parameters: The Cheat Sheet
The join key between your ad spend and your conversions is a macro. Here is the full Taboola set, the Outbrain, MGID and Revcontent equivalents, and the template mistakes that quietly break tracking.
The OpenAdLibrary Team Ad intelligence & native advertising research
August 21, 2026 · 6 min read
Taboola macros are dynamic tokens — {click_id} , {site} , {campaign_id} and about a dozen more — that Taboola replaces with real values at the moment someone clicks your ad. Appended to your landing-page URL, they tell your tracker exactly which click, publisher placement, campaign and creative produced every visit and every conversion. Without macros you are buying native traffic blind; with them you can compute cost per conversion at the placement level and cut what loses. This cheat sheet covers the working macro set on Taboola, the matching dynamic parameters on Outbrain, MGID and Revcontent, and the handful of template mistakes that quietly break tracking on all of them.
Why macros decide whether you can optimize at all #
Native networks bill you per click, but they attribute nothing for you. Every optimization decision you will make — pause this placement, raise this bid, kill this creative, scale this campaign — depends on joining the network's spend data to your conversion data. The join key is the macro.
The standard setup is server-to-server (S2S) tracking:
• Taboola replaces {click_id} with a unique value when your ad is clicked.
• Your tracker (or your own backend) stores that click ID against the session.
• When the visitor converts, you fire the network's postback URL with the stored click ID.
• The network attributes the conversion to the exact click — placement, creative, geo, device and all — and its bidding algorithm starts learning from real conversions instead of raw clicks.
Skip the macros and none of that chain exists. You will see sessions in analytics and spend in the dashboard, with no reliable way to connect them. Taboola also offers an on-page pixel, and it is worth running both — but the S2S postback keyed on {click_id} is the one that survives ad blockers, iOS privacy features and cross-device journeys, which is why experienced buyers treat it as the source of truth.
The Taboola macro cheat sheet #
Taboola macros use single curly braces, all lowercase. The working set most media buyers actually use:
Macro
What it returns
What you use it for
{click_id}
Unique ID for this click
The S2S join key — non-negotiable
{site}
Publisher site code
Placement-level optimization and blocking
{site_id}
Numeric site ID
Same job, as a stable numeric key
{site_domain}
Publisher domain
Human-readable placement reporting
{campaign_id}
Campaign ID
Multi-campaign reporting
{campaign_name}
Campaign name
Readable reports (mind URL encoding)
{campaign_item_id}
The specific ad (creative) ID
Creative-level winner analysis
{title}
The ad headline
Headline-level analysis
{thumbnail}
Creative image URL
Joining image variants across ads
{platform}
Device platform
Desktop / mobile / tablet splits
{timestamp}
Click timestamp
Debugging and dayparting analysis
A complete tracking URL looks like this:
https://track.yourdomain.com/click?clickid={click_id}&source={site_id}&camp={campaign_id}&ad={campaign_item_id}&device={platform}
Two practical notes. First, macros are case-sensitive — {Click_ID} passes through as literal text and your tracker receives a useless string. Second, Taboola adds and occasionally renames macros; the list above is the stable core, but verify against Taboola's help center before a large launch. If you are setting up a first campaign end to end, the step-by-step Taboola setup guide shows where the tracking fields live in the interface.
The same concepts on Outbrain, MGID and Revcontent #
Every native network implements the same four concepts — click, placement, campaign, creative — under different names and syntax. The mapping:
Concept
Taboola
Outbrain
MGID
Revcontent
Syntax
{macro}
{{macro}}
{macro}
{macro}
Click ID
{click_id}
{{ob_click_id}}
{click_id}
see dashboard
Placement
{site} / {site_id}
{{publisher_id}} / {{section_id}}
{widget_id}
{widget_id}
Placement name
{site_domain}
{{publisher_name}} / {{section_name}}
Campaign
{campaign_id}
{{campaign_id}}
{campaign_id}
{boost_id}
Creative
{campaign_item_id}
{{ad_id}} / {{ad_title}}
{teaser_id}
{content_id}
Details worth knowing:
• Outbrain uses double curly braces, and its placement model is two-level: a publisher and a section — the specific widget position on that publisher. Optimize on section, not just publisher; the widget under the article and the one in the sidebar can perform completely differently on the same site.
• MGID calls creatives "teasers," hence {teaser_id} . Its widget IDs are the unit you will be blacklisting daily.
• Revcontent organizes campaigns as "boosts," so {boost_id} is the campaign key. Its macro list has shifted over the years — pull the current set from your dashboard rather than from an old forum thread.
• A dash in the table means the network handles that dimension at campaign-structure level, or the macro has changed too often to print. When in doubt, check the network's current documentation instead of guessing.
One tracking template that survives all four networks #
Normalize on your side, not theirs. Define canonical parameter names — say clickid , source , camp , ad — and map each network's macros into them:
Taboola: ?clickid={click_id}&source={site_id}&camp={campaign_id}&ad={campaign_item_id}
Outbrain: ?clickid={{ob_click_id}}&source={{section_id}}&camp={{campaign_id}}&ad={{ad_id}}
Your tracker, your reports and your kill rules then work identically everywhere, and adding a fifth network becomes a five-minute mapping exercise. Route clicks through a dedicated click-tracking domain so you can switch tracking software later without rebuilding every campaign.
Prefer IDs to names in the template. {campaign_name} and {title} contain spaces, ampersands and emoji that arrive URL-encoded — and one unencoded & inside a headline will silently truncate every parameter after it. IDs are stable; names get edited mid-flight and split one row of data into two.
Macros and UTM parameters: run both, for different jobs #
UTM tags feed your analytics; macros feed your buying decisions. A sensible dual template sets utm_source=taboola , utm_medium=native and fills the rest dynamically — utm_campaign={campaign_id} , utm_content={campaign_item_id} , utm_term={site_id} — so your analytics traffic reports line up with the tracker's placement reports. Just don't optimize from analytics alone: session counts and click counts diverge (redirects, bounces before the tag fires, blocked scripts), and the gap widens exactly where traffic quality is worst — the placements you most need to catch.
Five macro mistakes that quietly burn budget #
• Literal macros in the URL. A typo — wrong braces, wrong case, a stray space — means the token is never replaced and your landing page receives the literal text {click_id} . Conversions stop joining, the campaign "shows" zero CVR, and you kill what may have been a winner. Inspect the query strings of your first ten sessions after every launch.
• No placement macro. Without {site} or {widget_id} in the template you cannot build placement whitelists and blacklists — and placement pruning is where most native optimization profit lives. The publisher and site ID is the atom of native media buying.
• Postback without deduplication. If the same click ID can fire your postback twice — page refresh, retry logic, a user revisiting a thank-you page — you double-count conversions and scale losers. Dedupe on click ID at the tracker.
• Names instead of IDs. A mid-flight campaign rename splits your data; see above.
• Testing with real spend. Verify replacement with the network's preview tools and a minimum-budget canary campaign in a cheap geo, not with your launch budget.
Reading a competitor's macros #
Tracking templates leak. When an ad library traces a native ad's click path, the captured landing URL preserves the advertiser's parameter string — with the macros already filled in. Pull a competitor's ads in the Taboola ad spy tool and inspect the traced landing URLs: the tracker domain tells you what software they run, the subid structure tells you what granularity they optimize on, and a placement ID sitting in a subid tells you they are pruning placements — the signature of an operator worth studying. The full workflow from a live ad to its funnel is covered in how to find competitor landing pages .
The bottom line #
Macros are thirty minutes of setup that determine whether every subsequent hour of media buying is measurable. Get {click_id} and a placement macro into your template on day one, postback conversions server-to-server, prefer IDs over names, and verify replacement before you scale anything. Networks rename macros occasionally; the four concepts they encode — click, placement, campaign, creative — have not changed in a decade.
taboola outbrain mgid revcontent tracking media buying
Spy on the ads that actually convert
OpenAdLibrary shows you live native ads, the real advertiser behind each one, and the landing page it points to, across every major network.
Get started free See how it works
Free to start · browse 200 ads, no card needed · then $29.99/mo
Frequently asked questions
What are Taboola macros? Taboola macros are dynamic tokens — such as {click_id}, {site} and {campaign_item_id} — that Taboola substitutes with real values when a user clicks your ad. Appended to your landing-page or tracking URL, they pass the click's identity, placement, campaign and creative to your tracker, which is what makes placement-level and creative-level optimization possible.
How do I pass the Taboola click ID to my tracker? Add {click_id} as a parameter in your campaign's tracking URL, for example ?clickid={click_id}. Taboola fills it at click time, your tracker stores it against the session, and when a conversion happens you fire Taboola's server-to-server postback with that same ID. Taboola then attributes the conversion to the exact click, placement and creative.
What is the Outbrain equivalent of Taboola's {click_id}? Outbrain uses double curly braces and its click identifier macro is {{ob_click_id}}. The placement concepts also map across: Outbrain's {{publisher_id}} and {{section_id}} correspond roughly to Taboola's {site_id}, and {{ad_id}} corresponds to {campaign_item_id}. The syntax differs but the four underlying concepts — click, placement, campaign, creative — are identical across native networks.
Why does my URL show {click_id} as literal text? The macro was not replaced, which almost always means a syntax error: wrong case (macros are lowercase), wrong braces for the network, a typo, or a macro name that network does not support. The network passes the unrecognized token through unchanged. Fix the template, then verify by inspecting the query string on a fresh test click before spending.
Do I need a tracking tool to use native ad macros? Not strictly — you can pass macros into your own backend or even analytics UTMs — but a dedicated tracker or a purpose-built endpoint is the practical answer for S2S postbacks, click-ID deduplication and placement-level reporting. What matters is that something stores the click ID and its metadata, and can fire the network postback when a conversion lands.
Written by The 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.
Related reading
Affiliate & Media Buying
How to Advertise on Taboola: Step-by-Step Campaign Setup
Most Taboola guides stop at "write a curiosity headline." This one walks the full Realize setup, budget math, Maximize Conversions, targeting, tracking, then shows what winning native creatives actually look like using live captured ads.
Guide · 11 min read
Native Ad Networks
Taboola Ad Spy: How to See Competitors' Taboola Ads (Free)
Taboola has no public ad library, so here's how to reconstruct one: filter live captures by network, vertical and geo, rank advertisers by volume and days live, then pull the full creative and the click-to-landing trace.
Guide · 10 min read
Ad-Tech Glossary
Click ID
A click ID is a unique identifier assigned to each ad click so a later conversion can be matched back to the exact click that caused it.
Definition · 1 min read
Ad-Tech Glossary
Postback URL
A postback URL is a server-to-server callback that reports a conversion back to the ad network or tracker without using a browser pixel.
Definition · 1 min read
Affiliate & Media Buying
Media Buying for Native Ads: A Beginner's Guide (2026)
Native media buying is a four-part loop (offer, creative, bid, scale), and this 2026 playbook walks each step with concrete settings, live cross-network examples, and the metrics that actually move money.
Guide · 11 min read
Affiliate & Media Buying
AI Tools for Media Buyers: What Actually Saves Time in 2026
Five categories of AI tooling genuinely save media buyers time in 2026 — research copilots on live ad data, variant generation, translation, threshold rules and creative clustering. The rest is a chat box on a dashboard.
Article · 6 min read