Welcome to the Taboola Backstage API documentation. You'll find comprehensive guides and examples to help you get started with Taboola Backstage API quickly.
We recently attempted to create a campaign via the API . It appears that some targeting was either deprecated or is simply no longer available. We received the error [400] Bad Request: Targeting: [1687024] is not available in the targeted countries due to limited scale. In this instance it seems as if the invalid targeting was simply ignored and the campaign was created despite the error. Since the create task failed, we never received or stored your campaign ID which meant that we were not able to make any updates or track spend for this campaign. This has since happened to us a few times. Is it possible to update this so that the campaign is not actually created when this error fires?
Posted by Jason Whiteford 9 months ago
Are you guys currently experiencing reporting delays with your API? We have several "sub-accounts" within our Taboola account and one of them is not reporting any cost when we query the API for today. Other sub-accounts are returning cost when we query the API for today. Are you aware of any issues and if so, do you have any ETA when this will be resolved? Thanks!
Posted by Raj Kapoor 10 months ago
We have been using the backstage API for a while, and have been able to extract segmentation of conversion according to post click and post view attribution. These metrics came through the following values in the API response: cpa_actions_num_from_clicks cpa_actions_num_from_views Recently, the API response has not provided these values, and we only see cpa_actions_num when it comes to conversions. Checking the platform's UI, it appears the change is reflected there as well. The documentation still references these metrics. Has there been a change in the platform itself or is this a temporary issue? Thanks
Posted by Moshik 10 months ago
We have a problem with updating Lookalike Audience Targeting for the specified campaign (https://developers.taboola.com/backstage-api/reference#update-lookalike-audience-targeting). Here is an example request: curl --location --request POST 'https://backstage.taboola.com/backstage/api/1.0/definitionorg-sc/campaigns/4074776/targeting/lookalike_audience' \ --header 'Authorization: bearer {token}' \ --header 'Content-Type: application/json' \ --data-raw '{"collection":[{"collection":[{"rule_id":238699,"similarity_level":5}],"type":"INCLUDE"}]}' Here is the response: { "http_status": 400, "message": "Collection contains invalid rule ids for targeting: [238699]", "offending_field": "lookalike_audience_targeting.collection[0].collection" } Although if we check 238699 audience, we can see that it belongs to the same ad account as the campaign. curl --location --request GET 'https://backstage.taboola.com/backstage/api/1.0/definitionorg-sc/universal_pixel/conversion_rule/238699' \ --header 'Authorization: bearer {token}' What are we doing wrong? Please help us to resolve this problem.
Posted by Alex Kolesnykov 10 months ago
We recently got some errors around audience targeting when trying to edit a campaign. We investigated and apparently audience targeting is read only? We need this feature to work, so I wanted to reach out and get some clarity on this. Thanks, Full error below: Unknown macro: {status} status: "error" message: "Campaign partially updated but Audience Segment Targeting failed. Requested action is forbidden" fields: Unknown macro: {audience_segments} status_code: 403 response: " Unknown macro: {"http_status"} " campaign_id: 1234291 debug_key: "{}"
Posted by Shane Brown 10 months ago
We are faced with the problem of getting a list of lookalike audiences via API. Here is the endpoint that returns a list of audiences for a given marketer: https://backstage.taboola.com/backstage/api/1.0/spine-deforg-sc/universal_pixel/custom_audience_rule But it doesn't contain the audience we need, namely LAL Page 15 But if we retrieve this audience separately, then API returns the result https://backstage.taboola.com/backstage/api/1.0/spine-deforg-sc/universal_pixel/custom_audience_rule/265044 Could you help us to deal with this?
Posted by Alex Kolesnykov 10 months ago
It is stated in the documentation that platform and country filters are available for by_hour_of_day dymention https://developers.taboola.com/backstage-api/reference#campaign-summary-dimensions, but they do not work. API returns success response, but the numbers do not change irrespective of the value of the filter Please check the following requests for ad account spine-deforg-sc 1. Request without any filters. curl --location --request GET 'https://backstage.taboola.com/backstage/api/1.0/spine-deforg-sc/reports/campaign-summary/dimensions/by_hour_of_day?start_date=2020-03-09&end_date=2020-03-10' \ --header 'Authorization: {token}' 2. Request with filter platform=DESK. curl --location --request GET 'https://backstage.taboola.com/backstage/api/1.0/spine-deforg-sc/reports/campaign-summary/dimensions/by_hour_of_day?start_date=2020-03-09&end_date=2020-03-10&platform=DESK' \ --header 'Authorization: {token}' 3. Request with filter country=CA. curl --location --request GET 'https://backstage.taboola.com/backstage/api/1.0/spine-deforg-sc/reports/campaign-summary/dimensions/by_hour_of_day?start_date=2020-03-09&end_date=2020-03-10&country=CA' \ --header 'Authorization: {token}' The sum of spend for all of them is the same
Posted by Alex Kolesnykov 10 months ago
We need to have an ability to get hourly statistic for specific campaigns. There is such an ability on the UI (https://i.imgur.com/LSP2LyO.png), but we did`t find a way to get this statistic via the API (https://i.imgur.com/R3rEqZS.png). Please let us know whether we can retrieve hourly statistic for a specific campaign via the API?
Posted by Alex Kolesnykov 10 months ago
I'm looking at your `Campaign Summary` reports (specifically in relation to the `platform_breakdown` dimension), and I'm trying to understand the potential `blocking_level` values listed in your documentation. https://developers.taboola.com/backstage-api/reference#dimension-specific-columns These three don't fit with my current mental model of how Taboola blocking works. ``` EMULATED - Emulated auto-block NETWORK - Network level block ADVERTISER_NETWORK - Advertiser network level block ``` Can you provide more color? Assuming `NETWORK` or `ADVERTISER_NETWORK` spans multiple Taboola accounts, can we have an api access point to mutate these values? We currently have to iterate over all our accounts to perform blocks. During product planning, one of our major risks was the quantity limits at the different blocking levels. An additional Network level block would alleviate some of our current concerns, simplify our processes and reduce api calls.
Posted by Nesan Waran 11 months ago
Hi everyone! There’s the following note in API guide: “It’s important to note that data in Taboola reports can (and will) change retroactively during the Taboola billing cycle. This means that when fetching report data from Taboola for a data warehouse or BI solution, the data for the entire billing cycle (current calendar month + previous calendar month up to the 5th in any given month) should be periodically refreshed.” Does it mean that if we update report data daily, then today (for example) we need to request data for the period 5th of Jan - today? 2. There is a field “last_used_rawdata_update_time” in response. What does this value stand for? Does it indicate the date when the report was lastly updated? So if today we get a report with last_used_rawdata_update_time = 6th of Feb then we don’t need to update our DWH as nothing changed since this date?
Posted by Ivan Korsakov 11 months ago
We are receiving a null value for 'item' in the "top_campaign_content_report" table. We have made the primary key for the table "top_campaign_content_report", which is a hash value of item, date, item_name, campaign_id fields. Sometimes, we get a null value for the item field in the response, for eg: curl -H 'Authorization: Bearer XXX' -A 'Jesey/2.25.1' 'https://backstage.taboola.com/backstage/api/1.0/xxxxxxxxxx/reports/top-campaign-content/dimensions/item_breakdown?end_date=2019-09-21&campaign=898661&start_date=2019-09-21' | jq Returns: { "item": null, "item_name": "xxxxxxxxx", "thumbnail_url": "xxxxxxx", "url": "xxxxxxxx", "campaign": "898661", "campaign_name": "xxxxxxxx", "content_provider": "1121684", "content_provider_name": "xxxxxxxx", "impressions": 1371, "visible_impressions": 376, "ctr": 0.15, "vctr": 0.53, "clicks": 2, "cpc": 0.108, "cvr": 50.00, "cvr_clicks": 50.00, "cvr_views": 0.00, "cpa": 0.22, "cpa_clicks": 0.22, "cpa_views": 0.00, "actions": 1, "actions_num_from_clicks": 1, "actions_num_from_views": 0, "cpm": 0.16, "vcpm": 0.57, "spent": 0.22, "conversions_value": 0.00, "roas": 0.00, "currency": "USD" }, The same request executed on a different date sometimes returns a valid 'item' and the hash value will get changed and this causes us to add duplicate records while upserting the data. We do not expect to be getting a null value because the item value is the same as id in the "campaign_item" table, and we do not see any null id value in the campaign_item table. After more discovery, we found that these values are being returned as 'null' because that item has been deleted from the campaign history. Can everything be paused instead of deleted to try overcome this data integrity issue?
Posted by Sean 11 months ago
Hi I have a network/agency account with a bunch of sub accounts under. My account rep at Taboola gave me the ID and the Secret Code, but it was for my Network account and it seems that The Optimizer does not connect that way. I was told by my account rep that he did not know how else to help and to post a quesiton here. How do I connect all of my Taboola accounts under my network account to The Optimizer? Do I need to connect each account individually with different login and passwords?
Posted by Jon Carmen 11 months ago
Lots of 502 responses at around 2020-02-20 05:16:18.006 PST Were there server issues? Could this be load related? Most of the API calls are for campaign updates. Thanks
Posted by Raymond Ho 11 months ago
I am trying to get hourly data, and the API only responds with hour 0. Is there a special parameter I need to pass in order to get the entire day of hourly? Here is an example of my API call: https://backstage.taboola.com/backstage/api/1.0/spigot-network/reports/campaign-summary/dimensions/by_hour_of_day?start_date=2020-02-20&end_date=2020-02-20&include_multi_conversions=true
Posted by Carl 11 months ago
I'm getting an error sometimes when accessing the item_breakdown endpoint. It'll work fine the first few times and then I'll get his error. I'm masking out specific information in the calls and responses to paste them here. The endpoint: Request URL: https://backstage.taboola.com/backstage/api/1.0/##########-altium-sc1/reports/top-campaign-content/dimensions/item_breakdown?start_date=1900-01-01&end_date=2020-02-17&campaign=########## Referrer Policy: no-referrer-when-downgrade The response message after the call errors out is: accept-ranges: bytes content-length: 0 date: Mon, 17 Feb 2020 21:27:02 GMT server: nginx status: 429 via: 1.1 varnish x-cache: MISS x-cache-hits: 0 x-served-by: cache-chi21133-CHI x-timer: S1581974823.691708,VS0,VE160 The error in the browser console is: Access to XMLHttpRequest at 'https://backstage.taboola.com/backstage/api/1.0/###########-altium-sc1/reports/top-campaign-content/dimensions/item_breakdown?start_date=1900-01-01&end_date=2020-02-17&campaign=###########' from origin 'https://###############.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Posted by Brendan Malone 11 months ago
Hi, I am having troubles getting right responses from API. I get '502 Bad Gateway' as response when I try to get some of the reports. It's been couple of months since I started getting some reports using API everyday and I came across this problem for the first time yesterday(2/11). ``` "<html> <head><title>502 Bad Gateway</title></head> <body bgcolor="white"> <center><h1>502 Bad Gateway</h1></center> <hr><center>nginx</center> </body> </html> " ``` Here is the request. ( {XXX} is for security reasons. ) ``` https://backstage.taboola.com/backstage/api/1.0/{campaign_id}/reports/top-campaign-content/dimensions/item_breakdown?start_date=2020-02-04&end_date=2020-02-04&campaign={id} ``` Could you help me out solve this issue? Thank you in advance.
Posted by kamei 11 months ago
When obtaining a campaign list or specific campaign ID, I get zero responses, or a forbidden error: - https://backstage.taboola.com/backstage/api/1.0/users/current/account gives me the account id - https://backstage.taboola.com/backstage/<ACCOUNT_ID>/campaigns/ gives me zero responses - https://backstage.taboola.com/backstage/<ACCOUNT_ID>/campaigns/<CAMPAIGN_ID/ gives me 403 forbidden. Where do I go now?
Posted by Karel 11 months ago