Assigning Creatives to Campaigns
A creative runs in a campaign only once it is assigned to it. Assigning creates an ad in the campaign: a regular campaign item whose content is copied from the creative and which points back to it through creative_id.
Assignment uses the existing campaign item endpoints.
Assign a creative to a campaign
Create a campaign item with only creative_id in the request body:
POST /backstage/api/1.0/demo-advertiser/campaigns/33/items{
"creative_id": 4321000001
}{
"id": "8765000101",
"campaign_id": "33",
"creative_id": "4321000001",
"type": "ITEM",
"url": "https://www.demo-advertiser.com/summer-sale",
"thumbnail_url": "https://cdn.demo-advertiser.com/thumbnails/summer-sale.jpg",
"title": "Summer sale: up to 50% off",
"description": "Limited-time offer on the full summer collection",
"cta": {
"cta_type": "SHOP_NOW"
},
"approval_state": "PENDING",
"is_active": true,
"status": "PENDING_APPROVAL",
...
}The new ad takes its content from the creative, plus its own copy of the creative's verification_pixel, viewability_tag and schedule (start_date, end_date, activity_schedule), and enters the normal item lifecycle: it is reviewed and, once approved, serves in the campaign. Repeat the request for each campaign the creative should run in.
Guidelines
creative_idmust be the only field in the request body. Passing any other field returns 400 (creative_id cannot be set with other fields). To change the ad afterwards, update the ad once it exists.- A creative can be assigned to a campaign once. A second request for the same campaign returns 400 (
Creative is already assigned to campaign).- The creative must be
ACTIVE. A creative inNEED_TO_EDITreturns 400; aTERMINATED(deleted) or unknown creative returns 400 (Creative was not found). See Creative statuses.- The creative type must match the campaign: display creatives go in display campaigns, native and motion (
PERFORMANCE_VIDEO) creatives in native campaigns. Performance video campaigns accept onlyDISPLAYcreatives with a video asset (HOSTED_VIDEOorVAST_VIDEO); any other creative returns 400 (Performance video campaign accepts only video creatives).- If the creative has a schedule, it must fall within the campaign's dates. Otherwise the request returns 400 (
Creative <id> cannot be assigned to campaign <id> because of its schedule).- On accounts without the Creative Library,
creative_idis not accepted (403,creative_id is not supported for this account).
See where a creative is assigned
Get a creative returns the ads created from it in ads.ads, one entry per campaign:
{
"id": 4321000001,
"ads": {
"ads": [
{
"id": 8765000101,
"campaign_id": 33,
"campaign_name": "Summer sale - US",
"creative_id": 4321000001
},
{
"id": 8765000270,
"campaign_id": 270,
"campaign_name": "Summer sale - UK",
"creative_id": 4321000001
}
]
},
...
}In the other direction, every ad returned by the campaign item endpoints carries creative_id when it was created from a creative.
Change a single ad
Ads created from a creative are kept in sync with it: updating the creative updates all of them. To change one ad only, update that ad through Update a campaign item.
- Changing the ad's
urlto one that leads to the same landing page (for example, wrapping it in a tracking or redirect URL) changes that ad only. The ad stays linked to the creative. - Changing the ad's content (
title,thumbnail_url,description, or aurlthat leads to a different landing page) depends on whether the creative is shared:- If the creative backs other ads too, the ad is detached: it gets its own new creative and no longer follows the original one. The other ads are not affected.
- If this is the creative's only ad, the creative itself is updated with the change. The ad stays linked to it.
- Changing the ad's
verification_pixel,viewability_tag,start_date,end_dateoractivity_schedulechanges that ad only. The ad stays linked to the creative. ai_disclosureis owned by the creative and cannot be changed on the ad (400). See AI Disclosure Object.
Remove an ad from a campaign
To stop a creative from running in one campaign, delete the ad with Delete a campaign item:
DELETE /backstage/api/1.0/demo-advertiser/campaigns/33/items/8765000101{
"id": "8765000101",
"campaign_id": "33",
"creative_id": "4321000001",
"status": "STOPPED",
...
}
Removing an ad is permanentThe ad is stopped and cannot be restarted. To run the creative in that campaign again, assign it again; this creates a new ad with a new ID, and the previous ad's history is not carried over. The creative itself stays in the library and its other ads keep running.
To pause an ad temporarily instead, set is_active to false on the ad. See Pausing campaign items.
To remove the creative from all campaigns at once, delete the creative.
See also
Updated about 20 hours ago
