Skip to main content
Taboola traffic source template Taboola is a native advertising platform. It places your ads as sponsored recommendations on premium publisher sites and apps. Taboola’s advertiser platform is called Realize. This guide sets up Taboola as a traffic source in ClickFlare. It covers passing Taboola’s click data into your reports and sending conversions, with revenue, back to Taboola so its bidding and your stats agree. You do everything from the campaign editor. The Taboola traffic source is created inline, without leaving the campaign.

At a glance

How it works

1

Taboola sends the click

A visitor clicks your ad. Taboola opens your ClickFlare campaign URL and fills in its macros: the click ID in click_id, plus the publisher site, campaign, item, platform and other details.
2

ClickFlare stores the Taboola click ID

ClickFlare saves the value of click_id as the visit’s External ID and redirects the visitor to your lander or offer.
3

The conversion reaches ClickFlare

Your affiliate network, store or feed posts the conversion back to ClickFlare, matched on the ClickFlare click ID.
4

ClickFlare posts it back to Taboola

ClickFlare fires the Taboola postback, replacing {external_id} with the stored Taboola click ID, {payout} with the revenue and {payout_currency} with its currency. Taboola matches it to the original click and records it under the event name you set.
The mirror to keep straight: in the campaign URL you write ClickFlare’s parameter (click_id) and Taboola’s macro ({click_id}). The template does this for you. In the postback URL you write Taboola’s parameter (click-id, with a hyphen) and ClickFlare’s token ({external_id}).

Before you start

  • Set up your own tracking domain. Run the campaign and the postback on your own custom domain. Shared domains get flagged by networks and blocked by browsers. See Custom Domains.
  • Have an offer ready in ClickFlare, and its affiliate network set up to post conversions back to ClickFlare. See Creating an Offer and Adding an Affiliate Network.
  • Create the conversion event in Taboola first. You need its exact Event Name for the postback. See Create the event in Taboola.
  • Decide which conversions Taboola should receive. Taboola optimizes on what you send it. If your funnel has several steps (lead, then purchase, or an ad click on an arbitrage page), decide now whether to send one event or several. See Tracking several events.

Step 1 – Create the campaign and the Taboola traffic source

  1. Go to Campaigns and click New.
  2. In Traffic Source, open the dropdown and click + New Traffic Source.
  3. Type taboola in the search box and select the Taboola template.
  4. Enter a Name, for example Taboola.
  5. Leave Cost currency on USD unless your Taboola account is billed in another currency.
The template fills in the Parameters table for you: The Taboola template's Parameters table in ClickFlare, with Taboola's macros pre-filled You don’t need to change these tokens unless you have a custom requirement. Each tracking field becomes a column you can group reports by. site and site_id are the ones you will use most: they tell you which publishers convert, so you can block or bid up sites in Taboola. campaign_item_id, title and thumbnail tell you which creative won.
Don’t change or remove the externalId row. Without {click_id} in the campaign URL, ClickFlare has no Taboola click ID to send back, and Taboola cannot attribute any conversion.
To pass more Taboola data, click Add Parameter, give it a name and parameter, and enter the Taboola macro as the TS Token. ClickFlare assigns the next free tracking field. Taboola also offers {site_domain}, {campaign_group_id}, {custom_id} and {timestamp}. Check Taboola’s macro list before adding others.

Step 2 – Set up the postback

The postback is what sends conversions to Taboola. It lives on the traffic source, so every campaign that uses this Taboola traffic source sends conversions the same way.

Create the event in Taboola

  1. In Realize, select your account at the top left and click Tracking in the sidebar.
  2. Click + New Conversion.
  3. Choose Create conversions using code and click Continue.
  4. Enter a Conversion Name. It is for your reference only.
  5. Set Conversion Type to EVENT.
  6. Leave Fixed Value empty. ClickFlare sends the real revenue with each conversion.
  7. Choose the Category that fits the action, for example Complete Registration.
  8. Note the Event Name, or edit it, for example make_purchase. This is the value the postback must send.
  9. Keep Include in total conversions ticked for the event Taboola should optimize on.
  10. Skip the event code section. You don’t need it for S2S. Click Create.
Taboola’s Event Name should contain only alphanumeric characters, underscores, or dashes, without spaces. It is case-sensitive. The postback must use the Event Name, not the Conversion Name.
Taboola's Event Name should contain only alphanumeric characters, underscores, or dashes, without spaces

Add the postback to the traffic source in ClickFlare

  1. Back in the New Traffic Source form, scroll to Passing conversion info to traffic source.
  2. Turn on Traffic source postback URL. The template’s postback appears:
  1. In the dropdown on the left, choose the ClickFlare event that should fire the postback. Keep Conversions to send every conversion. If your final action is a custom conversion, such as an Ad Click or a purchase, choose that custom event instead.
  2. Replace REPLACE_EVENT_NAME in the &name= parameter with the exact Event Name from Taboola. With the event above, the result is:
  1. Click Save. You are back in the campaign editor with the Taboola traffic source selected.
The Traffic source postback URL switched on, showing the Taboola template's postback You don’t build the rest of the URL yourself. Everything else in the template is already correct: click-id must be spelled exactly that way, with a hyphen, or Taboola records nothing.
If you leave REPLACE_EVENT_NAME in the URL, Taboola receives an event it doesn’t know and drops the conversion. The same happens if the name differs from Taboola’s Event Name by a single character or letter case.
Currency. {payout_currency} sends the currency of each conversion’s payout, so Taboola converts it correctly. If every offer pays in the same currency, you can hardcode it instead, for example &currency=USD. Taboola expects a 3-letter code in capitals. If the parameter is missing, Taboola uses the account’s default currency. See Multicurrency in ClickFlare. Taboola also accepts optional orderid and quantity parameters. The template doesn’t send them. To learn what each postback token does, see How to Configure a Traffic Source S2S Postback URL.

Step 3 – Finish the campaign and copy its URL

  1. Name the campaign.
  2. Set the Cost Model. See Cost.
  3. Choose Redirect or Direct tracking. Redirect is the usual choice.
  4. Click Next and, on Destination, add your lander (optional) and your offer.
  5. Save, open Tracking, select your own tracking domain and copy the campaign URL.
The campaign URL already contains every Taboola macro from the template, for example click_id={click_id} and site={site}. If you use a lander, its call-to-action must link to the ClickFlare click URL, not to the offer directly. Otherwise the visit reaches the offer without a ClickFlare click ID, and the conversion cannot be traced back to Taboola. See Creating a Campaign in ClickFlare.

Step 4 – Create the campaign in Taboola

  1. In Realize, create a campaign. Choose the bidding, budget and targeting as usual.
  2. Add the ClickFlare tracking to the campaign or to each ad (see below).
  3. Submit the campaign for review.
Taboola accepts tracking parameters in two places: Use one place or the other, not both. Duplicate parameters corrupt your data. New Taboola campaigns start with utm_source=taboola&utm_medium=referral in the Tracking Code. You can keep it, but don’t let it duplicate a ClickFlare parameter. Paste the parameters exactly as ClickFlare gives them. Taboola replaces each macro in curly braces when the ad is clicked. Taboola also appends its own tblci parameter with the click ID to every ad URL. ClickFlare doesn’t use it. It reads the click ID from click_id, so keep that parameter in place.

Step 5 – Test the integration

  1. Click your ad, or wait for the first live clicks, and complete the offer the way a real visitor would.
  2. In ClickFlare, check the visit. The External ID should hold a long Taboola click ID, not the literal text {click_id}.
  3. Go to Logs → Postback Status and filter by the campaign. A successful request to trc.taboola.com confirms ClickFlare sent the postback.
  4. In Realize, go to Tracking, open the Conversions tab and find your event. Check Status, Last received and Events received. Allow up to an hour.

Tracking several events

ClickFlare can send multiple conversions to multiple events, each with its own postback URL. This is useful when you want to report different conversion types, such as Lead, Purchase or Ad Click, to Taboola separately.
  1. In Taboola, create one conversion per step, each with its own Event Name, for example lead and make_purchase.
  2. In ClickFlare, create a custom conversion for each step.
  3. On the Taboola traffic source, with Traffic source postback URL on, click + Another postback URL once per extra event.
  4. Assign a different ClickFlare event to each postback and a different Taboola event name to each &name=:
  1. Test each event. Each Taboola conversion shows its own status.
In Taboola, keep Include in total conversions ticked only on the events that matter for bidding, usually the final sale. Earlier steps can still be sent for reporting with the option cleared.
If Taboola should only learn from your final sale, keep a single postback and map it to that event. Earlier steps (leads, add to carts) still show in ClickFlare. They just don’t reach Taboola.To send a postback only for some conversions, for example only those above a certain payout, use Event filter under the postback to add conditions.

Cost

The template’s Cost row is empty, so the campaign URL doesn’t carry Taboola’s cost per click. Taboola does have a {cpc} macro, but its value is encrypted and needs a decryption script, so ClickFlare can’t read it directly. The best option is ClickFlare’s Taboola cost integration. It pulls actual spend from Taboola’s API at campaign, content and publisher level. You need a Taboola Client ID and Client Secret, which you request from your Taboola account manager. Once the integration exists, select it under Cost Integration on the Taboola traffic source, and set the campaign’s Cost Model to Not Tracked so ClickFlare uses the spend it pulls. Set the integration’s timezone to match your Taboola account. See Taboola Cost Integration. Until then, set the Cost Model on the campaign to CPC and enter your bid. ClickFlare then estimates cost per visit, and your ROI is only as accurate as that bid. Correct past days with a manual cost upload. See Cost Models and Traffic Source Cost Tracking.

Delayed revenue

If you work with feed providers like RSOC or AFD that report revenue after the initial conversion, you can send that revenue to Taboola once it arrives. This needs a separate delayed revenue postback, using a custom conversion mapped to the right event. See Sending Delayed Revenue to Traffic Sources.

Troubleshooting

  • REPLACE_EVENT_NAME is still in the postback, or the name doesn’t match Taboola’s Event Name exactly, including letter case.
  • The postback uses the Conversion Name instead of the Event Name.
  • The parameter was changed from click-id to click_id. The postback needs the hyphen.
  • Check Logs → Postback Status: a failed request shows the status code Taboola returned.
  • Traffic source postback URL is off on the Taboola traffic source.
  • Disable sending postbacks to traffic source is on in the campaign.
  • The postback is mapped to a different event than the one the conversion logged. Check Logs → Event Logs to see which event was recorded.
  • The External ID is empty or truncated. Taboola ignores a click ID that was cut short or altered. Check that click_id={click_id} reaches ClickFlare unchanged.
  • &revenue={payout} was removed from the postback.
  • The currency is missing or not a capital 3-letter code, so Taboola applied the account’s default currency.
The macros were not replaced, usually because the parameters were added in both the Tracking Code and the ad URL, or were edited. Use one place only and paste the parameters from ClickFlare unchanged. See Traffic Source Tokens Arriving Empty.
For the general checklist, see Conversions not showing.
FREQUENTLY ASKED QUESTIONS
Q1: Do I need to manually build the postback URL for Taboola?
A1: No. When you turn on Traffic source postback URL, the template’s postback is filled in. You only replace REPLACE_EVENT_NAME in &name= with the Event Name you set in Taboola, for example make_purchase.
Q2: Can I track multiple types of conversions with Taboola?
A2: Yes. Add one postback per event with + Another postback URL, map each to a different ClickFlare event, and give each a different Taboola event name. See Tracking several events.
Q3: Can I use static values in the postback, like currency?
A3: Yes. Hardcode values that never change, for example &currency=USD, or use dynamic tokens such as {payout_currency} if you need flexibility.
Q4: Can I use the same setup for delayed revenue tracking?
A4: Not as is. Revenue that arrives later from feed providers like RSOC or AFD needs a separate delayed revenue postback, using a custom conversion mapped to the appropriate event. See Sending Delayed Revenue to Traffic Sources.
Q5: Taboola already adds tblci to my URLs. Why do I need click_id?
A5: tblci carries the same click ID, but ClickFlare reads it from the click_id parameter set in the template. Keep click_id={click_id} in the campaign URL. Taboola still expects the value back as click-id in the postback.
Q6: Can I use the same Taboola traffic source for all my Taboola campaigns?
A6: Yes, as long as they report the same events. The postback is set once on the traffic source. Create a second Taboola traffic source only if a campaign needs different event names.

Taboola cost integration

Pull actual spend from Taboola’s API.

Traffic source postbacks

Every token you can use in a postback.

Custom conversions

Split leads and sales into separate events.

Delayed revenue

Send feed revenue to Taboola after the click.