Use this solution to customize the creative assets displayed in different ad placements. Maintain control over the creative, while using several different placements.
Placement Asset Customization is one of our three APIs that use asset customization rules. Learn more about Asset Customization Rules.
Placement Asset Customization with existing posts is no longer supported via the API. You can only use this option in Ads Manager.
Use asset_feed_spec
to provide your creative. You can specify multiple creative assets for each asset type, including images, videos, carousels, headlines, and body text. Only provide one link description, since the link description cannot be customized per placement.
To apply customization:
asset_customization_rules
inside your asset_feed_spec
. customization_spec
and asset labels. For Placement Asset Customization, every asset_feed_spec
needs to have more than one customization rule attached to it.
See Asset Customization Rules.
Property Name | Description |
---|---|
type: Supported Fields | Required. Placements where you want to display the assets. |
format: | Required for Label of the image you want to display. It is attached to the image assets in |
format: | Required for Label of the video you want to display. It is attached to the video assets in |
| Required for Label of the carousel you want to display. It is attached to the carousel assets in Note: if providing carousels via Placement Asset Customization, all child attachments must be defined within the Asset Feed Spec and referenced via adlabels. Child attachments may not be defined inline. See Asset Feed Spec Options for more details on the |
customization_spec
Property Name | Description |
---|---|
| Required. Possible placements for your ad. Options are: |
| Optional, but required if Facebook is selected in Facebook specific placement. Options are: |
| Optional, but required if Instagram is selected in Instagram specific placements. Options are: Note: The |
| Optional, but required if Messenger is selected in Messenger specific placements. Options are: |
| Optional, but required if Audience Networks is selected in Audience Network specific placement. Options are: |
Learn more about our available placement options.
Example — Feed Setup
curl \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"instagram_actor_id": "<INSTAGRAM_ACTOR_ID>",
}' \
-F 'asset_feed_spec={
"videos": [
{
"adlabels": [
{
"name": "labelfb"
}
],
"video_id": "<VIDEO_ID>"
},
{
"adlabels": [
{
"name": "labelig"
}
],
"video_id": "<VIDEO_ID>"
}
],
"bodies": [
{
"text": "Begin Your Adventure"
}
],
"link_urls": [
{
"website_url": "<WEBSITE_URL>",
"display_url": "<DISPLAY_URL>"
}
],
"titles": [
{
"text": "Level Up"
}
],
"ad_formats": [
"SINGLE_VIDEO"
],
"call_to_action_types": [
"WATCH_MORE"
],
"descriptions": [
{
"text": "Description"
}
],
"asset_customization_rules": [
{
"customization_spec": {
"publisher_platforms": [
"facebook"
],
"facebook_positions": [
"feed",
"instream_video"
]
},
"video_label": {
"name": "labelfb"
}
},
{
"customization_spec": {
"publisher_platforms": [
"instagram"
],
"instagram_positions": [
"stream"
]
},
"video_label": {
"name": "labelig"
}
}
]
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adcreatives
Example — Instagram Explore home Asset Customization
curl \
-F 'object_story_spec={
"page_id": "<PAGE-ID>",
"instagram_actor_id": "<INSTAGRAM-ID>",
}' \
-F 'asset_feed_spec={
"ad_formats": [
"SINGLE_IMAGE"
],
"asset_customization_rules": [
{
"image_label": {
"name": "<IMAGE-LABEL>"
},
"customization_spec": {
"publisher_platforms": [
"instagram"
],
"instagram_positions": [
"explore_home"
]
}
}
],
"bodies": [
{
"text": "",
"adlabels": [
{
"name": "adlabel1"
},
{
"name": "adlabel2"
}
]
}
],
"call_to_action_types": [
"LEARN_MORE"
],
"images": [
{
"hash": "<IMAGE-HASH>",
"adlabels": [
{
"name": "adlabel1"
}
]
},
{
"hash": "<IMAGE-HASH>",
"image_crops": {
"100x100": [
[
604,
0
],
[
1659,
1055
]
]
},
"adlabels": [
{
"name": "adlabel2"
}
]
}
],
"link_urls": [
{
"website_url": "",
"display_url": "",
"deeplink_url": "",
"adlabels": [
{
"name": "adlabel1"
},
{
"name": "adlabel2"
}
]
}
],
"optimization_type": "PLACEMENT",
"titles": [
{
"text": "",
"adlabels": [
{
"name": "adlabel1"
},
{
"name": "adlabel2"
}
]
}
]
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adcreatives
Example - Instagram search results Asset Customization
curl
-F 'object_story_spec={
"page_id": "<PAGE-ID>",
"instagram_actor_id": "<INSTAGRAM-ID>",
}' \
-F 'asset_feed_spec={
"ad_formats": [
"SINGLE_IMAGE"
],
"asset_customization_rules": [
{
"image_label": {
"name": "placement_asset_f1048d832ecd558_1661539731099"
},
"customization_spec": {
"publisher_platforms": [
"instagram"
],
"instagram_positions": [
"ig_search"
]
}
}
],
"bodies": [
{
"text": "",
"adlabels": [
{
"name": "adlabel1"
},
{
"name": "adlabel2"
}
]
}
],
"call_to_action_types": [
"LEARN_MORE"
],
"images": [
{
"hash": "9ffd7307eae1f9c6e5250fc8760d285f",
"adlabels": [
{
"name": "adlabel1"
}
]
},
{
"hash": "9ffd7307eae1f9c6e5250fc8760d285f",
"image_crops": {
"100x100": [
[
604,
0
],
[
1659,
1055
]
]
},
"adlabels": [
{
"name": "adlabel2"
}
]
}
],
"link_urls": [
{
"website_url": "<WEBSITE_URL>",
"display_url": "<DISPLAY_URL>",
"deeplink_url": "<DEEPLINK_URL>",
"adlabels": [
{
"name": "adlabel1"
},
{
"name": "adlabel2"
}
]
}
],
"optimization_type": "PLACEMENT",
"titles": [
{
"text": "",
"adlabels": [
{
"name": "adlabel1"
},
{
"name": "adlabel2"
}
]
}
]
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adcreatives
For Placement Asset Customization ads, Instagram related creative fields should be retrieved via {ad-account-id}/ads
. For example:
https://graph.facebook.com/v21.0
/{ad-account-id}/ads?fields=creative{effective_instagram_story_id,instagram_permalink_url}