Guides
Log In
Guides

Bulk submit conversions

How to bulk submit s2s conversions

Overview

When using the postback URL, you need to invoke the URL separately for each conversion.

The bulk-s2s-action endpoint provides an alternative approach. Using this endpoint, you can submit a batch of S2S conversions as a JSON object, using a single POST request.

📘

A quick comparison of the 2 methods

Postback URL:

https://trc.taboola.com/actions-handler/log/3/s2s-action?click-id=CLICK_ID&name=EVENT_NAME...

Invoke once for each conversion (using a simple GET request).

Bulk submit endpoint:

POST https://trc.taboola.com/{account-id}/log/3/bulk-s2s-action

Invoke via a POST request, passing a batch of conversions as a JSON object. (See the example below).

First steps

Before you can invoke the bulk-s2s-action endpoint, you need to perform the relevant set-up in Taboola Ads, just as you would for the regular postback URL.

For more information, see: S2S Manual Integration > Taboola Ads

The endpoint

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

Path param

NameModifiersTypeDescription
account-idRequiredLongYour numeric Taboola Account ID - e.g. 123456.

📘

Guidelines

  1. Submit a request body with a JSON object (see the example below).
  2. No authentication is passed.

📘

The network account

You can pass your Taboola Network Account ID. In that case, the request body should contain conversions across your various sub-accounts.

Request body

The request body contains a JSON object with a single actions property, containing an array of objects. Each object in the array contains the following fields:

Fields

NameModifiersTypeDescription
click-idRequiredString (Case-sensitive)The Taboola Click ID, as passed by Taboola to your landing page.

(A sample Click ID value is provided below.)
timestampRequiredLongMilliseconds since Unix Epoch - e.g. 1620723457405.
nameRequiredString (Case-sensitive)The event name, as defined in Taboola Ads.

(Refer to the Event Name field under the Conversion settings - not the Conversion Name.)
revenueOptionalFloatThe revenue amount - e.g. 10, 9.99, etc.
currencyOptionalString (Case-sensitive)The revenue currency. (If omitted, the account default is used.)

A list of supported values is provided below.
quantityOptionalIntegerThe item quantity for the order - e.g. 3.
orderidOptionalStringAn Order ID - e.g. an Order ID assigned by your CRM for this conversion.

A sample Click ID

GiDxLZcEVjwEqkGfKQMQndUYMIeZXFHmZ0DrHIJhGS6kKiDzkGUos9GzkpqG-YHQATCwxlQ

Supported currencies

AUD
BRL
CAD
CNY
EUR
GBP
HKD
ILS
INR
JPY
KRW
MXN
NZD
RUB
SGD
THB
TRY
USD
ZAR

An example

POST https://trc.taboola.com/123456/log/3/bulk-s2s-action
Content-Type: application/json
{
   "actions": [
      {
         "timestamp": 1620723457405,
         "click-id": "GiCsfhikbv6Ov6YdzFR8_JyZp76Rxqey1Lu0AQ",
         "name": "LEAD"
      },
      {
         "timestamp": 1620723457410,
         "click-id": "GiCsfhikbv6Ov6YdzFR8_JyZp76Rxqey1Lu0AQ",
         "name": "PURCHASE"
      }
   ]
}

📘

Content-Type is application/json. No authentication is passed.

204 No Content

The response

📘

Each request returns 204 with an empty body. This indicates only that Taboola received the request and is processing it. (It does not indicate that valid data was received.)

📘

Processing occurs asynchronously, and no further response is sent by the server. If a given record fails, processing resumes with the next record. If invalid data was submitted (e.g. badly-formed JSON), no action is taken.

🚧

At this time, the param values in bulk submit requests are not validated.