Unable to specify an App for App Installs campaign via API


#1

This is the app id I am trying to set ‘com.sprinklr.android’, Ad account:18ce53vjzfs, line_item:92pps
Call made:

twurl -H ads-api.twitter.com -d "app_store_identifier=com.ss.android.article.topbuzzvideo&os_type=ANDROID&line_item_id=92pps" /1/accounts/18ce53vjzfs/line_item_apps 

Response:

twurl -H ads-api.twitter.com "/1/accounts/18ce53vjzfs/line_item_apps?line_item_id=92pps" | python -m "json.tool"
{
    "data": [],
    "data_type": "line_item_apps",
    "next_cursor": null,
    "request": {
        "params": {
            "account_id": "18ce53vjzfs",
            "line_item_id": "92pps"
        }
    },
    "total_count": 0
}

#2

@megstweet123: Please take a look at this post. Note that the POST accounts/:account_id/line_item_apps endpoint is for enabling “mobile app promotion on the Twitter Audience Platform.” Hope this helps clarify things.


#4

@juanshishido Thanks for your help! But I see that even after specifying Twitter Audience Platform, the App still doesn’t seem to be shown in the UI. A message “You need to choose an app to promote.” is displayed instead (Screenshot attached).

However, we are seeing that the App is set via the API response:

twurl -H ads-api.twitter.com /1/accounts/18ce53vjzfs/line_item_apps?line_item_id=935s0 | python -m "json.tool"
{  
  "data":[  
    {  
      "app_store_identifier":"com.sprinklr.android",
      "created_at":"2017-06-15T05:15:55Z",
      "deleted":false,
      "id":"1sbct",
      "line_item_id":"935s0",
      "os_type":"Android",
      "updated_at":"2017-06-15T05:15:55Z"
    }
  ],
  "data_type":"line_item_apps",
  "next_cursor":null,
  "request":{  
    "params":{  
      "account_id":"18ce53vjzfs",
      "line_item_id":"935s0"
    }
}

Could you please help here as we are mainly concerned about the App not being shown in the Twitter UI?


#5

Thanks for the additional information. I see what you mean. The team will do some additional investigation to understand the cause. Please note that it’ll likely take some time, but we’ll provide updates as we have them.


#6

Thanks, please do keep us updated and hoping for a fix asap!


#7

Hi all,

This is something that happens to us too, but in my opinion, is not relevant.

Apps are related to Cards, not to campaigns. That is something about the Twitter Ads UI, don’t worry about that.

Thanks!


#8

Following up here with some additional information, @megstweet123. It looks like selecting an app to promote simply filters the allowable Tweets—that is, Tweets that include app cards for the specific app—in the “Choose your cretives” section of the page.

When using the POST accounts/:account_id/line_item_apps endpoint, the selected app is only propagated to ads.twitter.com when placements=PUBLISHER_NETWORK on the line item. (If it also includes ALL_ON_TWITTER, it will not work.) Here is an example:

# creating the line item
$ twurl -X POST -H ads-api.twitter.com "/1/accounts/18ce54d4x5t/line_items?campaign_id= 9arr7&objective=APP_INSTALLS&product_type=PROMOTED_TWEETS&placements=PUBLISHER_NETWORK&advertiser_domain=twitter.com&categories=IAB11-5&bid_amount_local_micro=500000&paused=true"
{
  "data": {
    "bid_type": "TARGET",
    "advertiser_user_id": 756201191646691328,
    "name": "Untitled",
    "placements": [
      "PUBLISHER_NETWORK"
    ],
    "start_time": null,
    "bid_amount_local_micro": 500000,
    "automatically_select_bid": false,
    "advertiser_domain": "twitter.com",
    "target_cpa_local_micro": null,
    "primary_web_event_tag": null,
    "charge_by": "APP_CLICK",
    "product_type": "PROMOTED_TWEETS",
    "end_time": null,
    "bid_unit": "APP_CLICK",
    "total_budget_amount_local_micro": null,
    "objective": "APP_INSTALLS",
    "id": "9pl99",
    "entity_status": "PAUSED",
    "paused": true,
    "account_id": "18ce54d4x5t",
    "optimization": "DEFAULT",
    "categories": [
      "IAB11-5"
    ],
    "currency": "USD",
    "created_at": "2017-08-17T15:50:04Z",
    "tracking_tags": [],
    "updated_at": "2017-08-17T15:50:04Z",
    "include_sentiment": "POSITIVE_ONLY",
    "campaign_id": "9arr7",
    "creative_source": "MANUAL",
    "deleted": false
  },
  "request": {
    "params": {
      "placements": [
        "PUBLISHER_NETWORK"
      ],
      "bid_amount_local_micro": 500000,
      "advertiser_domain": "twitter.com",
      "product_type": "PROMOTED_TWEETS",
      "objective": "APP_INSTALLS",
      "paused": true,
      "account_id": "18ce54d4x5t",
      "categories": [
        "IAB11-5"
      ],
      "campaign_id": "9arr7"
    }
  },
  "data_type": "line_item"
}
# associating an app with a line item
$ twurl_ads -X POST "/1/accounts/18ce54d4x5t/line_item_apps?line_item_id=9pl99&app_store_identifier=com.twitter.android&os_type=ANDROID"
{
  "data": {
    "line_item_id": "9pl99",
    "app_store_identifier": "com.twitter.android",
    "id": "1wu1i",
    "created_at": "2017-08-17T15:51:19Z",
    "updated_at": "2017-08-17T15:51:19Z",
    "os_type": "Android",
    "deleted": false
  },
  "data_type": "line_item_apps"
}

When you go to edit the campaign, you can see that the Twitter app has been selected.


As was previously stated, what matters, via the API, is the Tweet that is associated with the line item—it should include an app card with the app you’re interested in promoting.

That being said, there could be value in having the selected app propagate to ads.twitter.com even if the line item includes a placement outside of the Twitter Audience Platform. That’ll be a product decision, though.

Thanks again for reaching out and providing these details.