Targeting mit den richtigen Platzierungen

Liefere Anzeigen an bestimmten Platzierungen aus, zum Beispiel nur im Desktop-Feed oder mobilen Feed plus Audience Network Rewarded Video. Du kannst abhängig von deinem Kampagnenziel nur bestimmte Platzierungsoptionen verwenden. Weitere Informationen findest du unter Kampagne, Ziele und Platzierungen.

Die verfügbaren Plattformen und Positionen sind device_platforms, publisher_platforms, facebook_positions, audience_network_positions, instagram_positions und messenger_positions. Weitere Informationen findest du im Abschnitt Gerät, Publisher und Positionen.

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/v19.0/act_<AD_ACCOUNT_ID>/adsets


Wenn du für ein Platzierungsfeld keinen Wert festlegst, berücksichtigt Facebook alle möglichen Standardpositionen für dieses Feld. Wenn du zum Beispiel für publisher_platformsfacebook festlegst, jedoch keine Auswahl für facebook_positions triffst, berücksichtigt Facebook alle Standardpositionen in Facebook wie beispielsweise feed, right_hand_column usw. Oder wenn du keine publisher_platforms auswählst, berücksichtigt Facebook alle standardmäßigenpublisher_platforms. Facebook zieht möglicherweise auch neue Positionen oder Plattformen in Erwägung, sobald diese verfügbar sind.

Im Audience Network kannst du einschränken, welche Publisher deine Werbung anzeigen sollen. Schließe Publisher nach Kategorie aus oder erstelle eine eigene Liste mit auszuschließenden App-Store- oder Domänen-URLs.

Du kannst nicht right_hand_column allein als Platzierung für Video, Collection oder Canvas Ads verwenden.

Content-Filter helfen dir dabei, zu steuern, ob deine Anzeigen neben verschiedenen Arten von Inhalten in Facebook In-Stream und Audience Network angezeigt werden. Weitere Informationen zu diesen Inhaltskategorien findest du unter Hilfebereich für Unternehmen, Content-Filter. Du kannst einen Wert für Facebook In-Stream und einen Wert für Audience Network wählen. Die Optionen umfassen Full, Standard und Limited. Weitere Details findest du nachstehend unter brand_safety_content_filter_levels:

Name Beschreibung

brand_safety_content_filter_levels

Array<string>

Für Facebook In-Stream sind folgende Werte zulässig:


  • FULL: FACEBOOK_RELAXED
  • STANDARD: FACEBOOK_STANDARD
  • LIMITED: FACEBOOK_STRICT

Für Audience Network sind diese Werte zulässig:


  • FULL: AN_RELAXED
  • STANDARD: AN_STANDARD
  • LIMITED: AN_STRICT

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

HINWEIS: Wenn ein Filter auf Werbekonto-Ebene angewendet wird, sind auf Kampagnenebene nur stärker einschränkende Optionen verfügbar. Beispiel: Wenn das Konto auf „Moderat“ festgelegt ist, können Nutzer*innen für eine Kampagne nur „Moderat“ oder „Eingeschränkt“ auswählen. Weniger einschränkende Optionen (in diesem Fall „Erweitert“) sind nicht verfügbar.

excluded_publisher_categories

Array<string>

Beinhaltet dating und gambling.

excluded_publisher_list_ids

Array<numeric strings>

Jeder String stellt eine Listen-ID für Ausschlüsse dar. Erstelle eigene Listen unter Werbeanzeigenmanager oder Marketing API, Publisher-Blockierliste.


Beispiel:
"excluded_publisher_list_ids":["{block_list_id_1}","{block_list_id_2}"]

So verwendest du beispielsweise 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

Bei Audience Network und In-Stream-Videos kannst du Publisher ebenfalls nach Kategorie ausschließen:

Name Beschreibung

excluded_publisher_categories

Array<string>

Beinhaltet:

  • debated_social_issues
  • mature_audiences
  • tragedy_and_conflict

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

Gerät, Publisher und Positionen

Name: Optionen Beschreibung

device_platforms: mobile, desktop

Optional.
Standard: Alle
Die Gerätetypen von Nutzern, die deine Anzeige sehen.

publisher_platforms: facebook, instagram, messenger, audience_network

Optional.
Standard: Alle
Die Veröffentlichungskanäle deiner Anzeige. Lege Positionen für den Veröffentlichungskanal fest, indem du sie in facebook_positions, instagram_positions, audience_network_positions oder messenger_positions angibst.

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

Optional.
Standard: Alle


Hinweise:

  • Wenn ein Wert für publisher_platforms festgelegt wird, muss dieser facebook einschließen. Wenn kein Wert festgelegt wird, wird standardmäßig der Wert „Alle“ verwendet.
  • feed schließt den Feed für Desktop- und Mobilgeräte ein.
  • Bei Kampagnen mit Targeting für die Vereinigten Staaten (USA), das Vereinigte Königreich (GB), Frankreich (FR), Spanien (ES), Deutschland (DE), Mexiko (MX), Indien (IN) und Thailand (TH) kannst du instream_video ohne feed für die Ziele VIDEO_VIEWS und POST_ENGAGEMENT verwenden. instream_video wird für das Ziel CONVERSIONS nicht unterstützt.
  • Wenn du story auswählst, musst du Facebook feed oder Instagram story zusammen mit device_platforms: mobile verwenden, da Facebook Stories nur auf Mobilgeräten zur Verfügung stehen.
  • Wählst du marketplace, search oder profile_feed aus, musst du feed verwenden.
  • Ab Version 3.0 ist right_hand_column nur für die Formate Einzelbild, Einzelvideo und Carousel für die Ziele TRAFFIC, CONVERSIONS und PRODUCT_CATALOG_SALES verfügbar.

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

Optional.
Standard: Alle
Du kannst Instagram Carousel Ads auf Instagram stream, story oder ig_search ausrichten. Wenn du Carousel-Werbeanzeigen ohne Aufforderung in Stories verwendest, kannst du für dieselbe Anzeigengruppe nicht beide Optionen verwenden.
Anzeigen, die story verwenden, werden sowohl im Instagram Desktop-Feed als auch in mobilen Web-Feeds angezeigt.

audience_network_positions: classic, rewarded_video

Optional.
Standard: Alle
Standardmäßig geben wir effective_audience_network_positions nicht zurück, wenn du die Targeting-Spezifikationen für eine Anzeigengruppe liest. Dieser Wert unterscheidet sich möglicherweise von deinen konfigurierten audience_network_positions. Wenn du eine Position festlegst, die für ein bestimmtes Ziel nicht unterstützt wird, erscheint sie in der Liste der konfigurierten Positionen, jedoch nicht in der Liste der wirksamen Positionen.

messenger_positions: messenger_home, sponsored_messages, story

Optional.
Standard: messenger_home, story


Hinweise:

  • Wenn du messenger_home auswählst, musst du auch Facebook als publisher_platform und feed für facebook_positions festlegen.
  • messenger_home steht für Einzelbild und Carousel bei den Zielen LINK_CLICKS, CONVERSIONS, MESSAGES, APP_INSTALLS und PRODUCT_CATALOG_SALES für Anzeigen zur Verfügung, die Traffic auf Webseiten, Apps und Messenger fördern.
  • Wenn du story auswählst, musst du Facebook feed oder Instagram story zusammen mit device_platforms: mobile verwenden, da Messenger Stories nur auf Mobilgeräten zur Verfügung stehen. Du kannst story für Einzelbild- und Videoformate bei Anzeigenkampagnen mit den Zielen CONVERSIONS, TRAFFIC, REACH, BRAND_AWARENESS und APP_INSTALLS für Anzeigen verwenden, die Traffic auf Webseiten und Apps fördern.
  • sponsored_messages kannst du nicht mit den anderen Platzierungen verwenden, darunter messenger_home- oder Facebook-Platzierungen.

Logik

  • Die Logik für Optionen im selben Parameter ist OR.
    Zum Beispiel bedeutet publisher_platforms=['facebook','instagram'], dass Anzeigen auf Facebook und Instagram ausgeliefert werden.
  • Die Logik zwischen Parametern ist AND.
    Zum Beispiel bedeutet publisher_platforms=['facebook']&device_platforms=['mobile'], dass diese Anzeigen nur auf Facebook für Mobilgeräte ausgeliefert werden.
  • Wenn aufgrund der ausgewählten Logik keine Zielperson für das Targeting gefunden wird, zum Beispiel im Falle von publisher_platforms=['instagram']& device_platforms=['desktop'], wird ein Fehler angezeigt.

Einschränkungen

  • Du kannst Audience Network nicht alleine auswählen, daher kannst du publisher_platforms: audience_network nicht selbst wählen.
  • Du musst die Platzierung audience_network mit dem Ziel VIDEO_VIEWS zusammen mit dem Optimierungsziel THRUPLAYS verwenden.
  • story kannst du nicht für facebook_positions selbst auswählen. Wenn du story für facebook_positions auswählst, musst du außerdem Facebook feed oder Instagram story wählen.
  • story kannst du nicht für messenger_positions selbst auswählen. Wenn du story für messenger_positions auswählst, musst du außerdem entweder Facebook feed oder Instagram story wählen.
  • Instagram Web Feeds-Anzeigen verwenden die Platzierung stream und werden auf ihre Web-Berechtigung überprüft, um sowohl über Desktop als auch mobile Web-Feeds ausgeliefert zu werden. Die kompatiblen Ziele sind BRAND_AWARENESS, REACH, LINK_CLICKS, POST_ENGAGEMENT, VIDEO_VIEWS und CONVERSIONS.

Beispiele

Stories

So verwendest du Facebook Stories als Platzierung:

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

In-Stream-Video

So erstellst du eine Anzeigengruppe nur mit der Platzierung instream_video, die sich an eines der oben aufgeführten unterstützten Länder richtet:

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

So erstellst du dein Targeting für eine Network Rewarded Video-Platzierung:

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

Gibt Folgendes zurück:

{
  "targeting": {
    "audience_network_positions": [
      "classic",
      "rewarded_video"
    ],
    "effective_audience_network_positions": [
      "classic",
      "rewarded_video"
    ]
  },
  "id": "<AD_SET_ID>"
}

Reels

So verwendest du Facebook Reels als Platzierung:

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

Instagram Explore-Startseite

So erstellst du eine Anzeigengruppe mit der Platzierung explore_home, die sich an ein unterstütztes Land richtet (z. B. „USA“):

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/v19.0/act_<AD_ACCOUNT_ID>/adsets

Instagram-Suchergebnisse

So erstellst du eine Anzeigengruppe mit der Platzierung explore_home, die sich an ein unterstütztes Land richtet (z. B. „USA“):

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/v19.0/act_<AD_ACCOUNT_ID>/adsets

Effektive Platzierung durch Targeting

Du hast Anzeigengruppen mit Platzierungen in den Target-Spezifikationen erstellt, doch du warst nicht immer sicher, ob Facebook deine Anzeigen an den festgelegten Platzierungen ausgeliefert hat. Das liegt daran, dass deine ausgewählte Platzierung möglicherweise nicht für das festgelegte Werbeziel zur Verfügung steht. Mit der Effective Placements API für Targeting kannst du herausfinden, an welchen Platzierungen deine Anzeige anhand deiner Targetig-Optionen ausgeliefert wird. Außerdem erhältst du Validierungsnachrichten, dank derer du nachvollziehen kannst, warum bestimmte Platzierungen herausgefiltert werden. Wenn du kein Targeting angibst, kannst die die effektive Platzierung dennoch auf Basis der Anzeigengruppen- und Anzeigenkampagneneinstellungen ermitteln.

Setze effective_ vor den Platzierungsfeldnamen, um eine wirksame Platzierung basierend auf deinem Targeting zu lesen. Beispiel:

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>

Verwende das recommendation-Feld, um zu sehen, warum manche Platzierungen herausgefiltert wurden:

curl -G \
  -d "fields=recommendations" \
  -d "access_token=<access_token>" \
  https://graph.facebook.com/<VERSION>/23842573364570019

Mit den wirksamen Platzierungen kannst du festlegen, welche Platzierungen deine Anzeige bereitstellt anhand von billing_event, optimization_goal und promoted_object deiner Anzeigengruppe sowie von buying_type und objective deiner Anzeigenkampagne. Alle Parameter für /ad_campaign_placement beinhalten:

  • Anzeigen-account_id und Zugriffsschlüssel
  • billing_event, wie zum Beispiel IMPRESSIONS
  • Buchungsart, wie zum Beispiel AUCTION
  • Ziel, wie zum Beispiel POST_ENGAGEMENT
  • Optimierungsziel (optional), wie z. B. POST_ENGAGEMENT
  • Beworbener Artikel, wie z. B. PIXEL_ID

Alle Parameter mit Ausnahme von promoted_object und optimization_goal sind obligatorisch. Durch Targeting-Angabe kannst du mit der Marketing API die wirksame Platzierung basierend auf den für deine Einstellungen zulässigen Platzierungen ermitteln, siehe Wirksame Platzierung mit Targeting. Beispiel:

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>

Der Aufruf gibt Folgendes zurück:

{
   "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"
      }
   ],     
   }
}

Mit dem Feld code aus diesem Ergebnis in einem /ad-recommendation-Anruf kannst du einen detaillierten Grund anzeigen lassen. Du kannst beispielsweise diese Informationen abrufen:

[{“code”: 1815610, “summary”: “Device Platform Not Supported By Objective”},]

Weitere Informationen findest du unter Werbeanzeigenempfehlung, Referenz und Effektive Platzierung mit Targeting.