Taboola Ads
Datafly Signal delivers conversion events to Taboola server-to-server for native advertising attribution, campaign optimisation, and audience targeting.
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 event from your own server, so the conversions Taboola optimises against are not filtered by the browser.
- Email is hashed before leaving your infrastructure. Signal normalises (trim and lowercase) and applies SHA-256 inside your own deployment, so Taboola receives match keys rather than raw personal data.
- Client IP and user agent are preserved. Server-to-server delivery normally loses both, which weakens matching. Signal forwards the genuine visitor values as request headers so Taboola attributes the event to the right session.
- Click identifiers are captured and replayed. Signal stores
clickidfirst-party at collection time and attaches them to the conversion later, so attribution survives even when the original landing cookie has expired. - Delivery is batched, rate-limited, and retried. Signal buffers to Kafka, respects the Taboola rate limit, and retries on 429 or transient failure rather than dropping the event.
- 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
Before configuring Taboola in Signal, you need:
- A Taboola Ads advertiser account
- A Backstage API client ID and client secret (OAuth)
- Your advertiser Account ID
Get your Taboola credentials
- Sign in to Taboola Ads.
- Your Account ID is shown in the dashboard URL and on account settings.
- Request a Backstage API application from your Taboola account manager; once issued you receive a Client ID and Client Secret.
- Exchange them for an OAuth access token via the Backstage authentication flow.
Configure the integration in Signal
- In the Management UI, go to Integrations → Add Integration.
- Select Taboola Ads from the catalogue.
- Give the integration a name (for your reference).
- Fill in the required fields:
| Field | Required | Description |
|---|---|---|
account_id | Yes | Taboola advertiser account ID. |
client_id | Yes | Backstage API client ID. |
client_secret | Yes | Backstage API client secret. |
- Choose which pipeline(s) this integration should run on.
- Select consent categories (defaults to marketing).
- Click Save.
API endpoint
POST https://trc.taboola.com/{{account_id}}/log/3/bulk-s2s-actionAllow egress to trc.taboola.com from the network your delivery workers run on.
Event mapping
| Signal event | Taboola event |
|---|---|
page | page_view |
Product Viewed | view_content |
Product Added | add_to_cart |
Order Completed | purchase |
To customise, edit the integration’s Field Mappings.
Identity
Signal sends the following identity signals to Taboola, subject to consent and availability:
| Capability | Notes |
|---|---|
| Taboola user ID | t_gid from the Taboola sync |
| Hashed email | SHA-256 (lowercase, trimmed) |
| Client IP / User-Agent | Forwarded from the original request |
Consent
This integration is gated on the marketing canonical consent category.
Verify it’s working
- In the Management UI, open Pipelines → your pipeline → Live Events and trigger a test event.
- The event appears in the live feed; inspect the payload sent to Taboola.
- Check Reports → Conversions in the Taboola Ads dashboard.
Troubleshooting
401 Unauthorized.
Confirm the client ID/secret are still valid in Backstage and that the resulting access token has the conversion-upload scope.
Missing t_gid on events.
Taboola’s t_gid is set by their own sync; if you have no t_gid traffic, attribution falls back to hashed email / IP / UA.