- Delivery
- Taboola S2S action postback (HTTP GET) to the Taboola actions handler
- Attribution key
- The tblci click ID from the landing page URL, sent as click-id
- Event names
- Fixed names such as make_purchase and lead. Create matching events in Realize
- Values sent
- Revenue, currency and order ID when the event has them. Quantity is not sent
- Connect with
- Backstage API Client ID, Client Secret and Account ID
- Consent
- Events are held back when marketing consent is denied or required and not granted
- Retries
- Rate limits and server errors are retried with backoff, up to 6 hours between attempts
- Ad spend
- Synced through the Backstage API on the Pro plan and above
How it works
Taboola adds the click ID
Taboola appends tblci to every ad URL by default, so no campaign change is needed unless your system needs a custom parameter. The SignalBridge script reads tblci from the landing URL and stores it for the visitor.
The visitor converts
The conversion is captured by the SignalBridge script or the Shopify app, together with revenue, currency and order ID. It does not matter whether the visitor converts in the same session or later.
SignalBridge checks the event
Consent is checked first. A conversion without a stored tblci is not sent to Taboola, because there is nothing to attribute it to. The click ID must also look like a real Taboola ID: a placeholder, a value with spaces or one shorter than 50 characters is rejected.
The postback is sent
SignalBridge builds the S2S URL with click-id, name, revenue, currency and orderid, leaving out any value the event does not have, and sends it to Taboola. Taboola answers 204 when it accepts the conversion.
Failures are handled
Timeouts, rate limits and server errors are retried with growing delays, honouring Taboola's Retry-After. A rejected click ID or malformed request is recorded as unrecoverable and does not block later conversions.
Event names SignalBridge sends
The name in the postback must match the Event Name you set on the conversion in Realize, character for character. Create one event-based conversion per row you want to track.
| SignalBridge event | Taboola event name | Typical use |
|---|---|---|
| PageView | page_view | Landing or advertorial page views |
| ViewContent | view_content | Product detail views |
| AddToCart | add_to_cart | Items added to the cart |
| InitiateCheckout | initiate_checkout | Checkout started. Taboola's preset is start_checkout, so edit the Event Name in Realize to match |
| AddPaymentInfo | add_payment_info | Payment details entered |
| Purchase | make_purchase | Completed order, with revenue and order ID |
| Lead, CompleteRegistration, SignUp, SubmitApplication, Contact, Subscribe, StartTrial, Schedule | lead, complete_registration, sign_up, submit_application, contact, subscribe, start_trial, schedule | Form and signup conversions. Lead event routing can send them all as one event |
| Search, AddToWishlist, Download | search, add_to_wishlist, download | Other standard events |
| Custom events | The event name in lower case | Create a matching event in Realize |
What the postback carries
Taboola's S2S endpoint takes these parameters. SignalBridge sends the ones the event has.
| Parameter | Required | Value |
|---|---|---|
| click-id | Yes | The captured tblci value |
| name | Yes | The event name from the table above, exactly as defined in Realize |
| revenue | No | Order total or lead value, as a finite number |
| currency | No | Three-letter currency code |
| quantity | No | Accepted by Taboola but not sent by SignalBridge |
| orderid | No | Your order ID, which helps Taboola recognise repeats |
Requirements
- A Taboola Realize account with campaigns running to your site.
- Backstage API credentials: a Client ID and Client Secret, plus your Account ID. They are in your Taboola account settings or available from your account manager.
- An event-based conversion in Realize for each event you want SignalBridge to report.
- The SignalBridge script on the landing pages and the rest of the funnel, or the Shopify app.
Set up Taboola by Realize
Create the conversions in Realize
In Realize open Tracking, then Conversions, then New Conversion, and choose to create conversions using code. Set the type to event, and set the Event Name to the SignalBridge name, for example make_purchase. The Event Name is what counts, not the Conversion Name.
Connect Taboola in SignalBridge
In your pixel's settings find Taboola and choose Connect Taboola. Enter the Client ID, Client Secret and Account ID, and save. SignalBridge validates them against the Backstage API before the integration turns on.
Install SignalBridge on your pages
Add the SignalBridge snippet to your landing pages and the pages after them, or install the Shopify app. For advertorial funnels that move visitors to another domain, install it on both sides so tblci is captured on arrival.
Choose the lead event if needed
For lead campaigns, use Lead event routing to send form conversions under the one Taboola event you track.
Verify it works
Use Taboola's test tool
In Realize open Tracking, then Conversions, then Test Events, and expand Server Events. Choose a campaign and generate the QR code or test link. Open it, walk through your funnel to trigger the conversion, and watch the Events Received panel.
Check the event in SignalBridge
The event stream should show the conversion with a tblci value and Taboola marked as delivered.
Allow for reporting delay
Taboola reports conversions after a delay. Compare the totals after a day rather than minute by minute.
Troubleshooting
Taboola does not show the conversion
Compare the event name in SignalBridge's event details with the Event Name in Realize. They must match exactly, including case. Also confirm you set the Event Name, not only the Conversion Name.
No postback is sent for a conversion
The visitor had no stored tblci. Check that Taboola's ad URL reaches your page with tblci in it and that nothing strips it, such as a redirect, before SignalBridge loads.
Token acquisition failed when connecting
Re-enter the Client ID, Client Secret and Account ID. Request fresh Backstage credentials from your Taboola account manager if they keep failing.
Checkout starts are missing
Taboola's preset event for this step is start_checkout, while SignalBridge sends initiate_checkout. Edit the Event Name in Realize to initiate_checkout.
Conversions rejected as unrecoverable
Taboola rejected the click ID or the request. Retrying will not change that. Check how the tblci value is captured and that it has not been truncated.
Revenue looks wrong
Send a currency with every value, and set the store's default currency in the pixel settings. Taboola converts revenue to your account currency.
What to know before you rely on it
Where this integration stops, so the numbers you see are read correctly.
- Only conversions that began on a Taboola click can be sent. Without a stored tblci there is nothing to report.
- The event names are fixed. SignalBridge does not rename them per conversion, so you adapt Realize to them.
- Visitors who have not agreed to marketing tracking are not sent to Taboola.
- Taboola decides attribution and optimisation. SignalBridge supplies cleaner and more complete inputs.
- If the SignalBridge script is blocked or never loads, the click ID is not captured.
Questions about this integration
What is the tblci click ID?
It is a long case-sensitive string Taboola appends to your destination URL when someone clicks an ad. Taboola uses it to link a later conversion back to the campaign, creative and placement.
Do I need authentication for the postback itself?
The S2S endpoint attributes by click ID and event name, with no token. SignalBridge still asks for Backstage credentials, because they let it verify the account and pull campaign and spend data.
Can I keep the Taboola pixel?
Yes. Taboola documents running the pixel and S2S together as its best practice. For the same click, an event that arrives by both routes is counted once and the S2S copy is kept. That holds only when the order ID, revenue and currency match, and quantity too if your pixel sends one, because Taboola does not deduplicate events whose values differ.
Why must the event name match exactly?
Taboola only records an S2S conversion if the name in the postback equals the Event Name defined in Realize, and names are case-sensitive.
What happens if Taboola is down?
Timeouts, rate limits and 5xx errors are retried with growing delays, from about 30 seconds up to 6 hours. The conversion is stored durably first, so it is not lost while Taboola recovers.
Does consent affect Taboola?
Yes. If a visitor denies or revokes marketing consent, or consent is required and has not been granted, SignalBridge does not send the conversion to Taboola.
Can SignalBridge sync Taboola ad spend?
On the Pro plan and above, SignalBridge reads daily spend through the Backstage API so cost per acquisition and return on ad spend use real figures.