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
| Field | Required | Description |
|---|---|---|
account_id | Yes | Your numeric Taboola (Realize) account ID. It is part of the bulk S2S URL. |
client_id | No | Not used: Taboola’s S2S conversion endpoint takes no authentication. Retained for existing integrations. |
client_secret | No | Not used: Taboola’s S2S conversion endpoint takes no authentication. Retained for existing integrations. |
Management UI Setup
- Go to Integrations > Add Integration > Taboola.
- Choose a preset: Default (
default), Retail (ecommerce), Lead Generation (lead_gen), Insurance (insurance). - 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 event | Vendor event | Presets |
|---|---|---|
page | page_view | Default, Retail, Lead Generation, Insurance |
view_item | view_content | Default, Retail |
add_to_cart | add_to_cart | Default, Retail |
purchase | make_purchase | Default, Retail, Insurance |
generate_lead | lead | Default, Lead Generation, Insurance |
sign_up | complete_registration | Default, Lead Generation |
search | search | Retail |
add_to_wishlist | add_to_wishlist | Retail |
begin_checkout | start_checkout | Retail |
add_payment_info | add_payment_info | Retail |
get_quote | start_checkout | Insurance |
quote_completed | lead | Insurance |
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.
Consent
Taboola is an advertising destination and requires marketing consent by default.
Troubleshooting
| Problem | Solution |
|---|---|
| Conversions missing in Realize | The event name must equal the conversion’s Event Name exactly; check the preset’s vendor event names. |
| Events dropped in Signal | The 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.