Organic tweet impressions not corresponding to data in the Ads UI



I am trying to get organic data for Tweets, but the data returned by the Ads API doesn’t correspond to the data displayed in the Twitter Ads UI.

1) Difference on 13th January
with params:

"params": {
        "tweet_ids": "643405483760590848",
        "start_time": "2016-01-11",
        "end_time": "2016-01-16",
        "granularity": "DAY",
        "metrics": "organic_tweet_impressions"

the response: ( account timezone )

    "data": {
        "data_type": "stats",
        "data": [
                "start_time": "2016-01-11T08:00:00Z",
                "organic_tweet_impressions": [
                "end_time": "2016-01-16T08:00:00Z",
                "id": "643405483760590848",
                "granularity": "DAY"
        "request": {
            "params": {
                "start_time": "2016-01-11T08:00:00Z",
                "end_time": "2016-01-16T08:00:00Z",
                "tweet_ids": [
                "account_id": "oz2mvk",
                "granularity": "DAY",
                "metrics": [

picture of Ads UI(Timezone Europe/Prague):

Aggregated data to days from hourly data for all tweets (in Timezone Europe/Prague ):

(Screenshot of my console with the aggregations of data downloaded by Ads API).

I get HOUR data and save them in UTC timezone, than I calculate sum for Europe/Prague timezone. The difference is in Ads UI, where for 13. Januar missing around 300 impressions. Can you please explain why?

2) Similar problem as in 1) but now at 7th and 8th of February
Ads UI:

Aggregated data to days from hourly data for all tweets (in Timezone Europe/Prague ):

I don’t know which tweet make this difference from all tweets, so I couldn’t provide API call. There are differences every day, but 7th it’s 59 vs 22 and 8th it’s 196 vs 67. These days have the biggest differences.

3) History Question
I would like to ask how impressions of each tweet are counted to the chart in Ads UI and in which history? For these examples I count all tweets and replies from 2015-01-01. If i check TOTAL data for every tweet, than the sum is correct. But when I make sum of all data from all tweets for the whole account, I find differences between the result and the chart Ads UI .

4) Timezones.
I have found that api call for DAY and TOTAL is returned by account timezone. But what timezone are in Ads UI on web? I tried changing computer timezone and the chart was the same. I would like to change view to another timezone, is it possible?

If you need more information, let me now. Thanks for your help.
Thank you.


Hi @zdenek_hamak!

a) Do you calculate the impressions as stated by the Derived Metrics docs?

b) Please be aware that Segmented data is not expected to roll-up 100% to the non-segmented data, due to how this information is derived. as stated at Maybe this information is useful.

c) Timezones: The data in the Ads UI in all displayed in the account’s timezone, which cannot be changed. So it’s not possible to view your data in another timezone. The timezone of your computer has nothing to do with what’s displayed in the Ads UI, only the accont’s timezone does.

d) I’ve also noticed differences between metrics in the API and the same metrics in the Ads UI:
Report stats data not corresponding to data in the Ads UI
promoted_account_impressions not valid for a Followers campaign?
but I didn’t receive any explanation, unfortunately.


Hi @majoritasdev

a) No I don’t, because this is organic impressions metric (which doesn’t have to be further calculated from more metrics as paid one’s), see this docs:

b) The data in these examples are non-segmented data. So exactly as you say, non-segmented data should be correct and match the Ads UI.

c) I thought so, thank you for clarification!

d) Thanks, I read the links before, but it is for promoted metrics and for segmented data, which is not my case.


I see, @zdenek_hamak, ok. For me, gives “Access denied”…