We’ve released an update to the Ads API that provides advertisers with more flexibility when choosing how they’d like to be billed for Video Views campaigns.
CPM Billing for Video Views Objective
This launch introduces a new pay_by option for advertisers running Video View campaigns.
Specifically, we’ve introduced “Pay by impressions” - commonly known as CPM billing - as the new default “Pay by” option for Video Views objective campaigns. Previously, advertisers were only able to be billed based on the number of video views their campaigns received.
In order to access this new pay_by type (IMPRESSION), we recommend that developers add support for this new pay_by option and set IMPRESSION as the default pay_by option in your UI. This will reflect the same default setting in Twitter Ads Manager.
Key notes:
- For Video Views campaigns. The following
goal, pay_by combinations are supported:
goal: VIDEO_VIEW, pay_by: IMPRESSION
goal: VIDEO_VIEW, pay_by: VIEW
goal: VIEW_3S_100PCT, pay_by: IMPRESSION
goal: VIEW_3S_100PCT, pay_by: VIEW_3S_100PCT
goal: VIEW_6S, pay_by: IMPRESSION
goal: VIEW_6S, pay_by: VIEW_6S
goal: VIEW_15S, pay_by: IMPRESSIONS
We recommend building for this option now as the product is currently available as the default billing option in the Ads UI.
Example Request:
twurl -H ads-api.twitter.com -X POST "/11/accounts/18ce54bgxky/line_items?campaign_id=i7sr1&objective=VIDEO_VIEWS&product_type=PROMOTED_TWEETS&placements=ALL_ON_TWITTER&bid_amount_local_micro=3210000&entity_status=PAUSED&pay_by=IMPRESSION&start_time=2022-06-15" | jq .
{
"request": {
"params": {
"placements": [
"ALL_ON_TWITTER"
],
"start_time": "2022-06-15T00:00:00Z",
"bid_amount_local_micro": 3210000,
"product_type": "PROMOTED_TWEETS",
"objective": "VIDEO_VIEWS",
"entity_status": "PAUSED",
"account_id": "18ce54bgxky",
"pay_by": "IMPRESSION",
"campaign_id": "i7sr1"
}
},
"data": {
"advertiser_user_id": "3271358660",
"name": null,
"placements": [
"ALL_ON_TWITTER"
],
"start_time": "2022-06-15T00:00:00Z",
"bid_amount_local_micro": 3210000,
"advertiser_domain": null,
"target_cpa_local_micro": null,
"primary_web_event_tag": null,
"goal": "VIDEO_VIEW",
"daily_budget_amount_local_micro": null,
"product_type": "PROMOTED_TWEETS",
"end_time": null,
"bid_strategy": "MAX",
"duration_in_days": null,
"standard_delivery": null,
"total_budget_amount_local_micro": null,
"objective": "VIDEO_VIEWS",
"id": "myzuh",
"entity_status": "PAUSED",
"automatic_tweet_promotion": null,
"frequency_cap": null,
"android_app_store_identifier": null,
"categories": [],
"currency": "USD",
"pay_by": "IMPRESSION",
"created_at": "2022-07-22T22:50:26Z",
"ios_app_store_identifier": null,
"updated_at": "2022-07-22T22:50:26Z",
"campaign_id": "i7sr1",
"creative_source": "MANUAL",
"deleted": false
}
}
To get started with Video Views campaigns, check out this page.
Please let us know if you have any questions.
Twitter Ads API team