Missing Metric for Single entity Id

analytics

#1

When making an async call, metrics are returned with a null. I have confirmed that there are actually data for the the provided entity ids.

When Calling:
POST https://ads-api.twitter.com/1/stats/jobs/accounts/18ce53upj2u?entity=PROMOTED_TWEET&granularity=DAY&start_time=2016-08-01&end_time=2016-08-31&entity_ids=jes0g&metric_groups=BILLING%2CENGAGEMENT&placement=ALL_ON_TWITTER

I get the following JSON response after downloading the specified report:
{
“data_type”: “stats”,
“time_series_length”: 30,
“data”: [
{
“id”: “jes0g”,
“id_data”: [
{
“segment”: null,
“metrics”: {
“impressions”: null,
“tweets_send”: null,
“billed_charge_local_micro”: null,
“qualified_impressions”: null,
“follows”: null,
“app_clicks”: null,
“retweets”: null,
“likes”: null,
“engagements”: null,
“clicks”: null,
“card_engagements”: null,
“replies”: null,
“url_clicks”: null,
“billed_engagements”: null,
“carousel_swipes”: null
}
}
]
}
],
“request”: {
“params”: {
“start_time”: “2016-08-01T07:00:00Z”,
“segmentation_type”: null,
“entity_ids”: [
“jes0g”
],
“end_time”: “2016-08-31T07:00:00Z”,
“country”: null,
“placement”: “ALL_ON_TWITTER”,
“granularity”: “DAY”,
“entity”: “PROMOTED_TWEET”,
“platform”: null,
“metric_groups”: [
“BILLING”,
“ENGAGEMENT”
]
}
}
}


#2

@andrs any help with this bug?


#3

@1kon1k: Could you please let us know how you are confirming that you expect to see data for the specified date range?

We’ve looked into the line item and campaign that this Promoted Tweet (jes0g) is associated with. The campaign is showing:

    "reasons_not_servable": [
      "EXPIRED",
      "FUNDING_PROBLEM"
    ],

This campaign ended earlier in the year ("end_time": "2016-01-18T03:59:00Z"). Thus, you would not see data for the specified date range.


#4

The following data was viewed and exported from the Dashboard UI when the date range was valid.
I’ve removed the tweet id for protection of our client.


#5

@juanshishido
Are we to assume that closed campaigns will not provide promoted data?


#6

@1kon1k: If a campaign is not servable, it’s Promoted Tweet(s) will not be displayed. Thus, you should not see any engagement or billing data.

This post might be helpful.


#7

@juanshishido As stated above, for the given date range (Aug 1st-31st) both promoted tweets and impressions show up in the analytics interface. This allows a .csv report to be manually exported that again shows the promoted impressions and engagements for three promoted tweets for that time period.

So what doesn’t make sense is why a date range that clearly has valid promoted tweets with promoted impressions is inaccessible via the API? You mentioned the campaign being “servable”, but at that period of time (August) it was servable and valid and promoted tweets did have promoted engagement. So what am I missing here?


#8

@MOLCODO: Thanks for the follow up. Let us try to clarify what we’re seeing.

The original post specifies jes0g as the Promoted Tweet ID.

$ twurl -H ads-api.twitter.com "/1/accounts/18ce53upj2u/promoted_tweets/jes0g" | jq
{
  "request": {
    "params": {
      "promoted_tweet_id": "jes0g",
      "account_id": "18ce53upj2u"
    }
  },
  "data_type": "promoted_tweet",
  "data": {
    "line_item_id": "43ig9",
    "display_properties": [],
    "id": "jes0g",
    "paused": false,
    "created_at": "2016-01-14T17:59:16Z",
    "updated_at": "2016-01-14T18:00:49Z",
    "approval_status": "ACCEPTED",
    "tweet_id": "687694014376579073",
    "deleted": false
  }
}

From here, we can look up the line item using line_item_id.

$ twurl -H ads-api.twitter.com "/1/accounts/18ce53upj2u/line_items/43ig9" | jq
{
  "request": {
    "params": {
      "line_item_id": "43ig9",
      "account_id": "18ce53upj2u"
    }
  },
  "data_type": "line_item",
  "data": {
    "bid_type": "MAX",
    "advertiser_user_id": 84176272,
    "name": "Untitled",
    "placements": [
      "TWITTER_TIMELINE",
      "TWITTER_PROFILE"
    ],
    "start_time": null,
    "bid_amount_local_micro": 2850000,
    "automatically_select_bid": false,
    "advertiser_domain": null,
    "target_cpa_local_micro": null,
    "primary_web_event_tag": null,
    "charge_by": "ENGAGEMENT",
    "product_type": "PROMOTED_TWEETS",
    "end_time": null,
    "bid_unit": "ENGAGEMENT",
    "total_budget_amount_local_micro": null,
    "objective": "TWEET_ENGAGEMENTS",
    "id": "43ig9",
    "entity_status": "ACTIVE",
    "paused": false,
    "account_id": "18ce53upj2u",
    "optimization": "DEFAULT",
    "categories": [],
    "currency": "CAD",
    "created_at": "2016-01-14T17:59:16Z",
    "tracking_tags": [],
    "updated_at": "2016-03-24T20:01:52Z",
    "include_sentiment": "POSITIVE_ONLY",
    "campaign_id": "3zfzt",
    "creative_source": "MANUAL",
    "deleted": false
  }
}

This is so we can get to the campaign in question using campaign_id from the above response.

$ twurl -H ads-api.twitter.com "/1/accounts/18ce53upj2u/campaigns/3zfzt" | jq
{
  "request": {
    "params": {
      "campaign_id": "3zfzt",
      "account_id": "18ce53upj2u"
    }
  },
  "data_type": "campaign",
  "data": {
    "name": "Copy of: beer angel gif eng",
    "start_time": "2016-01-14T17:59:00Z",
    "reasons_not_servable": [
      "EXPIRED",
      "FUNDING_PROBLEM"
    ],
    "servable": false,
    "daily_budget_amount_local_micro": 400000000,
    "end_time": "2016-01-18T03:59:00Z",
    "funding_instrument_id": "j4s3n",
    "duration_in_days": null,
    "standard_delivery": true,
    "total_budget_amount_local_micro": 947000000,
    "id": "3zfzt",
    "entity_status": "ACTIVE",
    "paused": false,
    "account_id": "18ce53upj2u",
    "frequency_cap": null,
    "currency": "CAD",
    "created_at": "2016-01-14T17:59:16Z",
    "updated_at": "2016-03-24T20:01:49Z",
    "deleted": false
  }
}

Note that (see reasons_not_servable):

  1. the campaign has expired
  2. there is a funding problem

This particular campaign’s start time was "2016-01-14T17:59:00Z" and it’s end time was "2016-01-18T03:59:00Z".

We also took a look at the funding instrument response by making the following request:

$ twurl -H ads-api.twitter.com "/1/accounts/18ce53upj2u/funding_instruments/j4s3n"

This funding instrument’s end date was "2016-02-01T07:59:59Z".

All of this suggests that this campaign was not active in August 2016.

Finally, we took a look at the Twitter Ads UI and did not see any active campaigns for that time period.


#9

@MOLCODO: Are you looking at the Tweet activity page (https://ads.twitter.com/user/{handle}/tweets)? The default view there is for organic Tweets. There is a Promoted tab there for you to see that activity. Please let us know if this was where the discrepancy was. Thanks@


#10

@MOLCODO: Could you please verify that your issue has been resolved?