TAP Analytics and rate limits



We’re currently implementing TAP for MAP campaigns (https://dev.twitter.com/ads/campaigns/twitter-audience-platform-for-map-campaigns) alongside our update to conform to the v1 of the Advertising API. In the v1 documentation we noticed this line “You must make two queries to get both ALL_ON_TWITTER and PUBLISHER_NETWORK data, as these cannot be combined.” Our main concern is the impact this might have on our rate limits. We have a handful of clients that already push our limits of being able to manage rates, and we’re concerned that if they start using TAP campaigns we’ll end up doubling our analytics calls and bouncing off of the limit even more often. Is there any chance that ALL_ON_TWITTER and PUBLISHER_NETWORK don’t count against the same rate limits?


I would also like the answer for this. In v0 the stats for ALL_ON_TWITTER and PUBLISHER_NETWORK came back in the same call. This makes the effective rate limit 1/2 of what it used to be on v0 (which was already terribly low). There is not even a clever way I can see to know if a campaign is running in both or just ALL_ON_TWITTER since that information is not available in the api anywhere.


It is available - at the line item level.


I found out as well after I posted. This is not a good solution as far as rate limits are concerned because now I have to get all line items in the account and then reverse match those to the campaign id/ids that I care about and use the union of the placements on the line items under each campaign to get the campaign placements. Then make either 1 or two calls depending on what I just found out. This is as expensive as just calling stats twice. We generally run into the 2000 per 15min management limit first so we went with the calling stats twice method. It is not clean but it works.


Indeed, it sounds less expensive with 2 stats calls. But aren’t you keeping this data on your side, in a database? I mean the campaigns and line items. Don’t you need this data anywhere else but here?


As @majoritasdev says, best option is store that kind of that in your side.

We do the same


We do store the data on our end, but since you can change the placements (ie add or remove TAP) that a campaign is running in at any time we cannot know definitively what placements the campaign is running without asking twitter. Storing the data does not save us the call to the line items.


Are you sure you can change placements after launch a campaigns?

I think it isn’t possible, but maybe I’m wrong