Diffusez vos publicités sur des placements spécifiques, tels que le flux sur ordinateur uniquement, ou le flux sur mobile plus la vidéo avec récompense Audience Network. Les options de placement disponibles dépendent de l’objectif de votre campagne. Pour plus d’informations, voir Campagne, Objectif et placements.
Les plateformes et positions disponibles sont device_platforms
, publisher_platforms
, facebook_positions
, audience_network_positions
, instagram_positions
et messenger_positions
. Pour plus d’informations, consultez la section Appareil, éditeur et positions.
curl -X POST \
-F 'name="My AdSet"' \
-F 'optimization_goal="REACH"' \
-F 'billing_event="IMPRESSIONS"' \
-F 'bid_amount=2' \
-F 'daily_budget=1000' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'targeting={
"geo_locations": {
"countries": [
"US"
]
},
"publisher_platforms": [
"facebook"
],
"facebook_positions": [
"feed"
]
}' \
-F 'promoted_object={
"page_id": "<PAGE_ID>"
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adsets
Si vous laissez un champ de placement vide, Facebook prendra en considération toutes les positions par défaut possibles pour ce champ. Par exemple, si vous définissez publisher_platforms
sur facebook
, mais que vous laissez le champ facebook_positions
vide, Facebook considère toutes les positions Facebook par défaut, telles que feed
, right_hand_column
, etc. De même, si vous ne sélectionnez rien pour publisher_platforms
, Facebook considère toutes les plateformes publisher_platforms
par défaut. Il est également possible que Facebook tienne compte des nouvelles positions ou plateformes à mesure qu’elles sont disponibles.
Audience Network vous permet d’indiquer les éditeurs pouvant afficher vos publicités. Vous pouvez exclure des éditeurs par catégorie, ou créer une liste personnalisée d’URL de boutiques d’applications ou de domaines à exclure.
Vous ne pouvez pas utiliser uniquement right_hand_column
comme placement de vidéo, de collection ou de canevas publicitaire.
Le filtre d’inventaire vous aide à vérifier si vos publicités s’affichent à côté de différents types de contenu pour les publicités intégrées (vidéos in-stream Facebook, publicités sur Facebook Reels et publicités sur Instagram Reels), les publicités sur Audience Network et les publicités de fil (Fil Facebook, Fil Instagram, Fil Facebook Reels et Fil Instagram Reels). Pour en savoir plus sur les catégories de contenu, consultez la rubrique relative au filtre d’inventaire dans les pages d’aide pour les publicités. Vous pouvez choisir des valeurs distinctes pour les publicités intégrées, de fil et sur Audience Network. Ces options incluent Expanded
, Moderate
et Limited
. Pour en savoir plus, voir brand_safety_content_filter_levels
ci-dessous :
Nom | Description |
---|---|
tableau<string> | Pour les publicités intégrées (in-stream Facebook et sur Facebook Reels), nous autorisons ces valeurs :
Pour Audience Network, les valeurs autorisées sont les suivantes :
Pour les publicités de fil (Fil Facebook, Fil Instagram, Fil Facebook Reels et Fil Instagram Reels), nous autorisons ces valeurs :
Exemple : Note : quand un filtre est appliqué au niveau du compte publicitaire, seules les options les plus restrictives sont disponibles au niveau de la campagne. Par exemple, si le compte est défini sur |
tableau<string> | Inclut |
array<numeric strings> | Chaque chaîne correspond à un ID de liste à exclure. Créez des listes personnalisées dans le Gestionnaire de publicités ou l’API Marketing, liste de blocage des éditeurs. Exemple : |
Si vous souhaitez utiliser brand_safety_content_filter_levels
:
curl \ -F 'name=My AdSet' \ -F 'optimization_goal=REACH' \ -F 'billing_event=IMPRESSIONS' \ -F 'bid_amount=2' \ -F 'daily_budget=1000' \ -F 'campaign_id=CAMPAIGN_ID' \ -F 'targeting= { "geo_locations":{"countries":["US"]}, "brand_safety_content_filter_levels":["FACEBOOK_STRICT","AN_STANDARD"]}' \ -F 'status=ACTIVE' \ -F 'access_token=ACCESS_TOKEN' \ https://graph.facebook.com/VERSION/AD_ACCOUNT_ID/adsets
Pour Audience Network et la vidéo in-stream, vous pouvez également exclure des éditeur·ices par catégorie :
Nom | Description |
---|---|
tableau<string> | Inclut :
Exemple : |
Nom : Options | Description |
---|---|
| Facultatif. |
| Facultatif. |
| Facultatif. Remarques :
|
| Facultatif. |
| Facultatif. |
| Facultatif. Remarques :
|
OR
.publisher_platforms=['facebook','instagram']
signifie que les publicités sont diffusées sur Facebook et Instagram. AND
.publisher_platforms=['facebook']&device_platforms=['mobile']
signifie que ces publicités sont diffusées sur Facebook pour mobile uniquement. publisher_platforms=['instagram']& device_platforms=['desktop']
, un message d’erreur s’affiche.publisher_platforms: audience_network
. audience_network
associé à l’objectif VIDEO_VIEWS
doit être utilisé avec l’objectif d’optimisation THRUPLAYS
.story
seule pour les facebook_positions
. Si vous choisissez une story
pour les facebook_positions
, vous devez également sélectionner le feed
Facebook ou une story
Instagram.story
seule pour les messenger_positions
. Si vous choisissez une story
pour les messenger_positions
, vous devez également sélectionner soit le feed
Facebook, soit une story
Instagram.stream
, et leur éligibilité à une diffusion sur les fils web de bureau et mobiles est vérifiée. Les objectifs compatibles sont BRAND_AWARENESS
, REACH
, LINK_CLICKS
, POST_ENGAGEMENT
, VIDEO_VIEWS
et CONVERSIONS
.Pour utiliser les Stories Facebook comme placement :
curl \ -F 'name=My Ad Set' -F 'optimization_goal=CONVERSIONS' -F 'billing_event=IMPRESSIONS' -F 'bid_amount=2' -F 'daily_budget=1000' -F 'campaign_id=<AD_CAMPAIGN_ID>' -F 'targeting={"geo_locations":{"countries":["US"]}, "publisher_platforms":["messenger", "facebook"], "facebook_positions":["story"], "messenger_positions":["story"]}' -F 'status=ACTIVE' -F 'access_token=<ACCESS_TOKEN>' https://graph.facebook.com/API_VERSION/act_AD_ACCOUNT_ID/adsets
Pour créer un ensemble de publicités avec seulement un placement instream_video
ciblant un pays de la liste ci-dessus :
curl \ -F 'name=My AdSet' \ -F 'optimization_goal=REACH' \ -F 'billing_event=IMPRESSIONS' \ -F 'bid_amount=2' \ -F 'daily_budget=1000' \ -F 'campaign_id=CAMPAIGN_ID' \ -F 'targeting={"geo_locations":{"countries":["US"]},"publisher_platforms":["facebook"], "facebook_positions":["instream_video"]}' \ -F 'status=ACTIVE' \ -F 'access_token=ACCESS_TOKEN' \ https://graph.facebook.com/API_VERSION/act_AD_ACCOUNT_ID/adsets
Pour cibler le placement Vidéo avec récompense Audience Network :
curl \ -F 'name=My Ad Set' \ -F 'optimization_goal=OFFSITE_CONVERSIONS' \ -F 'billing_event=IMPRESSIONS' \ -F 'is_autobid=true' \ -F 'daily_budget=40000' \ -F 'campaign_id=<AD_CAMPAIGN_ID>' \ -F 'targeting={"app_install_state": "not_installed","geo_locations":{"countries":["US"]},"facebook_positions":["feed"],"device_platforms": ["mobile"],"audience_network_positions": ["classic","rewarded_video"],"user_device": ["Android_Smartphone","Android_Tablet"],"user_os": ["Android_ver_4.4_and_above"]}' \ -F 'promoted_object={"application_id": "<APPLICATION_ID>","custom_event_type": "PURCHASE","object_store_url": "<OBJECT_STORE_URL>"}' \ -F 'status=ACTIVE' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<APIVERSION>/<AD_ACCOUNT_ID>/adsets
Cela renvoie :
{ "targeting": { "audience_network_positions": [ "classic", "rewarded_video" ], "effective_audience_network_positions": [ "classic", "rewarded_video" ] }, "id": "<AD_SET_ID>" }
Pour utiliser les Reels Facebook comme placement :
curl \ -F 'name=My AdSet' \ -F 'optimization_goal=REACH' \ -F 'billing_event=IMPRESSIONS' \ -F 'bid_amount=2' \ -F 'daily_budget=1000' \ -F 'campaign_id=CAMPAIGN_ID' \ -F 'targeting={"geo_locations":{"countries":["US"]},"publisher_platforms":["facebook"], "facebook_positions":["facebook_reels"]}' \ -F 'status=ACTIVE' \ -F 'access_token=ACCESS_TOKEN' \ https://graph.facebook.com/API_VERSION/act_AD_ACCOUNT_ID/adsets
Pour créer un ensemble de publicités avec le placement explore_home
qui cible un pays pris en charge (par exemple, US) :
curl -X POST \
-F 'name="My AdSet"' \
-F 'optimization_goal="LINK_CLICKS"' \
-F 'billing_event="IMPRESSIONS"' \
-F 'bid_amount=2' \
-F 'daily_budget=1000' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'targeting={
"geo_locations": {
"countries": [
"US"
]
},
"publisher_platforms": [
"instagram"
],
"instagram_positions": [
"stream",
"explore",
"explore_home"
],
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adsets
Pour créer un ensemble de publicités avec le placement ig_search
qui cible un pays pris en charge (par exemple, « États-Unis ») :
curl -X POST \
-F 'name="My AdSet"' \
-F 'optimization_goal="LINK_CLICKS"' \
-F 'billing_event="IMPRESSIONS"' \
-F 'bid_amount=2' \
-F 'daily_budget=1000' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'targeting={
"geo_locations": {
"countries": [
"US"
]
},
"publisher_platforms": [
"instagram"
],
"instagram_positions": [
"stream",
"ig_search"
],
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adsets
Vous créez des ensembles de publicités avec des placements dans la spécification de ciblage sans toujours savoir si Facebook a diffusé votre publicité aux placements spécifiés. Cela est dû au fait que le placement sélectionné peut ne pas s’appliquer à l’objectif publicitaire choisi. Grâce aux placements effectifs avec l’API de ciblage, vous pouvez désormais déterminer les placements sur lesquels votre publicité sera diffusée, en fonction de vos options de ciblage, et recevoir des messages de validation afin de comprendre pourquoi certains placements sont exclus. Si vous n’indiquez aucun ciblage, vous pouvez toujours déterminer le placement effectif en fonction des paramètres de l’ensemble de publicités et de la campagne publicitaire.
Pour lire un placement effectif en fonction de votre ciblage, placez effective_
devant le nom des champs de placement. Par exemple :
curl -G \ -d "fields=targeting{effective_publisher_platforms,effective_facebook_positions,effective_device_platforms,effective_audience_network_positions,effective_instagram_positions}" \ -d "access_token=<access_token>" \ https://graph.facebook.com/<VERSION>/<AD_SET_ID>
Pour comprendre pourquoi certains placements sont exclus, utilisez le champ recommendation
:
curl -G \ -d "fields=recommendations" \ -d "access_token=<access_token>" \ https://graph.facebook.com/<VERSION>/23842573364570019
Avec les placements effectifs, vous pouvez déterminer dans quels placements votre publicité apparaît en fonction des valeurs billing_event
, optimization_goal
et promoted_object
de l’ensemble de publicités, et en fonction des valeurs buying_type
et objective
de votre campagne. Tous les paramètres pour /ad_campaign_placement
incluent les valeurs suivantes :
account_id
) et token d’accès de la publicitébilling_event
, tel que IMPRESSIONS
AUCTION
POST_ENGAGEMENT
POST_ENGAGEMENT
PIXEL_ID
Tous les paramètres sauf promoted_object
et optimization_goal
sont obligatoires. Si vous fournissez un ciblage, vous pouvez utiliser l’API Marketing pour déterminer le placement effectif en fonction de ceux qui sont autorisés pour vos paramètres, comme le montre la section Placement effectif avec ciblage. Par exemple :
curl -G \ -d 'account_id=<ACCOUNT_ID>' \ -d 'billing_event=IMPRESSIONS' \ -d 'buying_type=AUCTION' \ -d 'objective=PAGE_LIKES' \ -d 'optimization_goal=IMPRESSIONS' \ https://graph.facebook.com/<VERSION>/ad_campaign_placement?access_token=<TOKEN>
L’appel renvoie ce qui suit :
{ "effective_device_platforms": [ "mobile", "desktop" ], "effective_facebook_positions": [ "feed", "right_hand_column" ], "effective_publisher_platforms": [ "facebook" ], "recommendations": [ { "title": "Placement Not Supported By Objective", "message": "Ads with PAGE_LIKES objective do not support facebook.instream_video, facebook.suggested_video, facebook.marketplace, audience_network.classic, audience_network.instream_video, audience_network.rewarded_video, instagram.stream, instagram.story, messenger.messenger_home.", "code": 1815609, "importance": "LOW", "confidence": "HIGH", "blame_field": "targeting" }, { "title": "Device Platform Not Supported By Objective", "message": "Ads with PAGE_LIKES objective do not support connected_tv.", "code": 1815610, "importance": "LOW", "confidence": "HIGH", "blame_field": "targeting" } ], } }
Vous pouvez utiliser le champ code
de ce résultat dans un appel /ad-recommendation
pour afficher une raison détaillée. Par exemple, vous pouvez obtenir ces informations :
[{“code”: 1815610, “summary”: “Device Platform Not Supported By Objective”},]
Pour en savoir plus, consultez Recommandation publicitaire, Référence et Placement effectif avec ciblage.