Taboola

Datafly Signal sends conversions to Taboola (Realize) server-to-server through the bulk S2S endpoint, attributed by the Taboola click ID.

Why route Taboola through Datafly Signal

  • Conversions survive ad blockers and tracking prevention. A browser tag served from an advertising domain is blocked outright for part of your traffic, and Safari’s ITP shortens the cookies it can set. Signal sends the conversion from your own server, so the conversions Taboola optimises against are not filtered by the browser.
  • Click identifiers are captured and replayed. Signal captures the click ID first-party when the visitor lands and attaches it to later conversions.
  • One consent decision governs every destination. Taboola is gated by the same consent state as the rest of your stack, so a withdrawal applies everywhere at once.
  • No vendor tag on the page. Removing it removes its page weight and its independent access to your visitors.

Prerequisites

Create event-based conversions

In Realize open Tracking > New Conversion > Create conversions using code, choose EVENT and a category. Note each conversion’s Event Name: it must match the vendor event name in the preset exactly (case-sensitive).

Keep the click ID parameter

Taboola appends tblci={click_id} to every ad URL. Keep it; Signal captures it as the click ID.

Find your account ID

Your numeric account ID is in Realize at the top left.

Configure in Signal

Configuration Fields

FieldRequiredDescription
account_idYesYour numeric Taboola (Realize) account ID. It is part of the bulk S2S URL.
client_idNoNot used: Taboola’s S2S conversion endpoint takes no authentication. Retained for existing integrations.
client_secretNoNot used: Taboola’s S2S conversion endpoint takes no authentication. Retained for existing integrations.

Management UI Setup

  1. Go to Integrations > Add Integration > Taboola.
  2. Choose a preset: Default (default), Retail (ecommerce), Lead Generation (lead_gen), Insurance (insurance).
  3. Fill in the fields above and click Save.

Request format

POST https://trc.taboola.com/{account_id}/log/3/bulk-s2s-action
Content-Type: application/json

{"actions": [{"click-id": "GiC3sJdfEHXrroWo...", "name": "make_purchase",
  "timestamp": 1758500000123, "revenue": 259.99, "currency": "GBP", "orderid": "ORD-1001"}]}

click-id, name and timestamp (milliseconds) are required. The endpoint takes no authentication and answers 204 whatever the content.

Event Mapping

Signal eventVendor eventPresets
pagepage_viewDefault, Retail, Lead Generation, Insurance
view_itemview_contentDefault, Retail
add_to_cartadd_to_cartDefault, Retail
purchasemake_purchaseDefault, Retail, Insurance
generate_leadleadDefault, Lead Generation, Insurance
sign_upcomplete_registrationDefault, Lead Generation
searchsearchRetail
add_to_wishlistadd_to_wishlistRetail
begin_checkoutstart_checkoutRetail
add_payment_infoadd_payment_infoRetail
get_quotestart_checkoutInsurance
quote_completedleadInsurance

The vendor event names are Taboola’s default conversion Event Names; rename them in the preset if your Realize conversions use other names.

Signal forwards properties the preset does not map unless the integration’s strict output contract is on. Turn on strict_output_contract for this integration so only the documented fields are sent.

Identity

Attribution is by the Taboola click ID only (tblci on the landing page, sent as click-id). No personal data, IP address or user agent is sent: the endpoint has no field for them.

Taboola is an advertising destination and requires marketing consent by default.

Troubleshooting

ProblemSolution
Conversions missing in RealizeThe event name must equal the conversion’s Event Name exactly; check the preset’s vendor event names.
Events dropped in SignalThe visitor has no Taboola click ID (tblci); only Taboola traffic can be reported.

Blueprint

The Taboola blueprint version is 0.10.0. It was last reviewed against the vendor’s documentation on 2026-09-22.

See also