Ciblage des placements

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_platformspar 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

brand_safety_content_filter_levels

tableau<string>

Pour les publicités intégrées (in-stream Facebook et sur Facebook Reels), nous autorisons ces valeurs :

  • EXPANDED : FACEBOOK_RELAXED
  • MODERATE : FACEBOOK_STANDARD
  • LIMITED : FACEBOOK_STRICT

Pour Audience Network, les valeurs autorisées sont les suivantes :

  • EXPANDED : AN_RELAXED
  • MODERATE : AN_STANDARD
  • LIMITED : AN_STRICT

Pour les publicités de fil (Fil Facebook, Fil Instagram, Fil Facebook Reels et Fil Instagram Reels), nous autorisons ces valeurs :

  • EXPANDED : FEED_RELAXED
  • MODERATE : FEED_STANDARD
  • LIMITED : FEED_STRICT

Exemple : "brand_safety_content_filter_levels":["FACEBOOK_STRICT", "AN_RELAXED"]

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 MODERATE, l’utilisateur·ice ne peut sélectionner que MODERATE ou LIMITED pour une campagne. Les options moins restrictives (EXPANDED dans notre exemple) ne sont pas disponibles.

excluded_publisher_categories

tableau<string>

Inclut dating et gambling

excluded_publisher_list_ids

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 :
"excluded_publisher_list_ids":["{block_list_id_1}","{block_list_id_2}"]

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

excluded_publisher_categories

tableau<string>

Inclut :

  • debated_social_issues
  • mature_audiences
  • tragedy_and_conflict

Exemple :
"excluded_publisher_categories": ["debated_social_issues", "mature_audiences"]

Appareil, éditeur et positions

Nom : Options Description

device_platforms : mobile, desktop

Facultatif.
Valeur par défaut : Tous
Types d’appareils sur lesquels votre publicité est visible.

publisher_platforms : facebook, instagram, messenger, audience_network

Facultatif.
Valeur par défaut : Tous
Canal de publication de votre publicité. Vous pouvez définir la position du canal de publication en l’indiquant dans facebook_positions, instagram_positions, audience_network_positions ou messenger_positions.

facebook_positions: feed, right_hand_column, marketplace, video_feeds, story, search, instream_video, facebook_reels, facebook_reels_overlay, profile_feed

Facultatif.
Valeur par défaut : Tous


Remarques :

  • Si publisher_platforms est renseigné, il doit inclure facebook ou être vide pour utiliser par défaut toutes les options.
  • feed inclut le flux sur ordinateur et sur mobile.
  • Lorsque les campagnes ciblent les États-Unis (US), le Royaume-Uni (GB), la France (FR), l’Espagne (ES), l’Allemagne (DE), le Mexique (MX), l’Inde (IN) et la Thaïlande (TH), vous pouvez utiliser instream_video sans feed pour les objectifs VIDEO_VIEWS et POST_ENGAGEMENT. instream_video n’est pas compatible avec l’objectif CONVERSIONS.
  • Si vous choisissez story, vous devez utiliser le feed Facebook ou une story Instagram et device_platforms: mobile, car les Stories Facebook sont disponibles sur mobile uniquement.
  • Si vous sélectionnez marketplace, search ou profile_feed, vous devez utiliser feed.
  • À compter de la version 3.0, right_hand_column n’est disponible que pour les formats Image unique, Vidéo unique et Carrousel pour les objectifs TRAFFIC, CONVERSIONS et PRODUCT_CATALOG_SALES.

instagram_positions: stream, story, explore, explore_home, reels, profile_feed, ig_search, profile_reels

Facultatif.
Valeur par défaut : Tous
Vous pouvez cibler des publicités carrousel Instagram pour le stream, une story ou une ig_search Instagram. Si vous utilisez du contenu publicitaire carrousel instantané dans les stories, vous ne pouvez pas sélectionner les deux options pour le même ensemble de publicités.
Les publicités utilisant story s’afficheront dans les fils Instagram sur ordinateur et Web mobile.

audience_network_positions : classic, rewarded_video

Facultatif.
Valeur par défaut : Tous
Par défaut, nous ne renvoyons pas les effective_audience_network_positions lorsque vous lisez la spécification de ciblage d’un ensemble de publicités. Celles-ci peuvent être différentes des audience_network_positions que vous avez configurées. Si vous indiquez une position qui n’est pas compatible avec un objectif donné, elle apparaît dans la liste des positions configurées, mais pas dans celle des positions effectives.

messenger_positions : messenger_home, sponsored_messages, story

Facultatif.
Valeur par défaut : messenger_home, story


Remarques :

  • Si vous choisissez messenger_home, vous devez également sélectionner la publisher_platform et le feed Facebook pour les facebook_positions.
  • messenger_home est disponible pour une image unique et un carrousel dans les objectifs LINK_CLICKS, CONVERSIONS, MESSAGES, APP_INSTALLS et PRODUCT_CATALOG_SALES pour les publicités qui génèrent du trafic vers des sites Web, des applications et Messenger.
  • Si vous choisissez story, vous devez utiliser le feed Facebook ou une story Instagram et la plateforme device_platforms: mobile, car les Stories Messenger sont disponibles uniquement sur mobile. Vous pouvez sélectionner une story pour une image ou une vidéo unique dans des campagnes publicitaires avec les objectifs CONVERSIONS, TRAFFIC, REACH, BRAND_AWARENESS et APP_INSTALLS pour les publicités qui génèrent du trafic vers des sites Web et des applications.
  • Vous ne pouvez pas utiliser de sponsored_messages avec les autres placements, y compris messenger_home ou les placements Facebook.

Logique

  • La logique concernant les options d’un même paramètre est OR.
    Par exemple, publisher_platforms=['facebook','instagram'] signifie que les publicités sont diffusées sur Facebook et Instagram.
  • La logique entre les paramètres est AND.
    Par exemple, publisher_platforms=['facebook']&device_platforms=['mobile'] signifie que ces publicités sont diffusées sur Facebook pour mobile uniquement.
  • Si la logique ne cible personne, par exemple publisher_platforms=['instagram']& device_platforms=['desktop'], un message d’erreur s’affiche.

Limites

  • Sachant que vous ne pouvez pas utiliser Audience Network seul, vous ne pouvez pas sélectionner uniquement publisher_platforms: audience_network.
  • Le placement audience_network associé à l’objectif VIDEO_VIEWS doit être utilisé avec l’objectif d’optimisation THRUPLAYS.
  • Vous ne pouvez pas sélectionner une 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.
  • Vous ne pouvez pas sélectionner une 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.
  • Les publicités sur les fils web Instagram utilisent le placement 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.

Exemples

Stories

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

Vidéos in-stream

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

Audience Network

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>"
}

Reels

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

Accueil Explorer Instagram

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

Résultats de recherche Instagram

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

Placement effectif grâce au ciblage

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 :

  • ID de compte (account_id) et token d’accès de la publicité
  • billing_event, tel que IMPRESSIONS
  • Type d’achat, tel que AUCTION
  • Objectif, tel que POST_ENGAGEMENT
  • Objectif d’optimisation (facultatif), tel que POST_ENGAGEMENT
  • Objet promu, tel que 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.