Omnichannel Ad

Omnichannel Ads ist eine neue Optimierungslösung, mit der du mithilfe einer einzigen Verkaufskampagne den Umsatz in Geschäften und auf Websites ankurbeln kannst. Die Lösung umfasst auch neue Anzeigenfunktionen für den Standort von Geschäften, um Kund*innen auf die nächstgelegenen Geschäfte aufmerksam zu machen.

Die Einrichtung von Omnichannel Ad wird offiziell nur in der Bedienoberfläche des Meta-Werbeanzeigenmanagers für Werbetreibende unterstützt, die auch Marketing-APIs für die Einrichtung und Erstellung von Kampagnen verwenden können.

Im Folgenden sind die API-Integrationen aufgeführt, die für die Erstellung von Omnichannel-Kampagnen, Anzeigengruppen und Werbeanzeigen erforderlich sind.

Voraussetzungen

Berechtigung für Apps

Apps sollten über die folgenden Berechtigungen verfügen:

  • ads_management
  • ads_read

Weitere Informationen zu Berechtigungen und Zugriff findest du hier.

Assets

Werbetreibende benötigen Zugriff auf die folgenden Assets:

  • AD_ACCOUNT_ID: ID des Werbekontos, mit dem Werbekampagnen, Anzeigengruppen und Werbeanzeigen verknüpft werden. Für weitere Informationen hier klicken.
  • PIXEL_ID: ID eines Meta-Pixels. Wird in promoted_object bei der Erstellung von Anzeigengruppen verwendet. Weitere Informationen zu Einrichtung und Berechtigungen findest du hier.
  • OFFLINE_CONVERSION_DATASET_ID: ID des Offline-Datensatzes. Wird in promoted_object bei der Erstellung von Anzeigengruppen verwendet. Weitere Informationen zu Einrichtung und Berechtigungen findest du hier.

Unterstützte Anzeigenfunktionen

Omnichannel Ads unterstützen viele Funktionen von Meta-Werbenzeigen, darunter:

  • Advantage+ Catalog Ads: zeigen Personen automatisch ihre relevantesten Produkte, basierend auf ihren Interessen, Absichten und Aktivitäten.
    • Omnichannel Ads unterstützen „Advantage+ Catalog Ads“ auf Kampagnenebene. Für die Aktivierung muss das Feld „product_catalog_id“ im Parameter „promoted_object“ bei der Erstellung von Omnichannel-Anzeigenkampagnen angegeben werden.
    • Neben dem E-Commerce-Katalog ist auch der lokale, geschäftsbasierte Bestandskatalog (SBLI) über denselben Einrichtungsablauf verfügbar. Auf diese Weise werden relevante Produkte geliefert, die in einem Geschäft in der Nähe einer Person verfügbar sind.
  • Advantage+ Shopping Campaigns: helfen dir, wertvolle Zielgruppen mit weniger Einrichtungszeit und größerer Effizienz zu erreichen.
    • Omnichannel Ads unterstützen ASC-Kampagnen.
  • Advantage+ Creative: optimiert deine Bilder und Videos in Versionen, mit denen deine Zielgruppe eher interagiert.
    • Omnichannel Ads unterstützen alle Arten von A+C-Funktionen
    • „Store-Standorte“ ist die leistungsstarke Omnichannel-A+C-Funktion, die zur Steigerung der Offline-Konversionen beiträgt (nur für Nicht-„Advantage + Catalog Ads“ verfügbar). Um diese Funktion zu aktivieren, wird das Feld ‚local_store_extension‘ unter ‚degrees_of_freedom_spec‘ bei der Erstellung der Anzeigengestaltung benötigt.

Omnichannel Ad – Kampagnen

Um eine neue Omnichannel-Anzeigenkampagne zu erstellen, sende eine POST-Anfrage an den /campaigns-Endpunkt und füge folgende Parameter hinzu:

  • name: der Name der Kampagne.
  • objective: das Ziel der Kampagne. Gültiger Wert ist OUTCOME_SALES.
  • status: der Status der Kampagne. Gültige Werte sind ACTIVE, PAUSED.
  • promoted_object: durch Hinzufügen von product_catalog_id werden „Advantage+ Catalog Ads“ aktiviert.

Beispiel:

curl -X POST \
https://graph.facebook.com/v20.0/act_<AD_ACCOUNT_ID>/campaigns \
-F 'name=My Omni campaign' \
-F 'objective=OUTCOME_SALES' \
-F 'status=ACTIVE' \
-F 'access_token=<ACCESS_TOKEN>'

Beispiel für „Advantage+ Catalog Ads“:

curl -X POST \
https://graph.facebook.com/v20.0/act_<AD_ACCOUNT_ID>/campaigns \
-F 'name=My Omni campaign' \
-F 'objective=OUTCOME_SALES' \
-F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
-F 'status=ACTIVE' \
-F 'access_token=<ACCESS_TOKEN>'

Beispielantwort

Bei einer erfolgreichen Antwort wird die ID der neu erstellten Kampagne zurückgegeben.

Beispiel:

{
  "id": "23845678901234567"
}

Bei einer erfolglosen Antwort wird ein Fehlerobjekt mit einer Erklärung für die Fehlerursache zurückgegeben.

Beispiel:

{
    "error": {
"message": "Invalid parameter",
       "type": "OAuthException",
       "code": 100,
"is_transient": false
}

Fehlercodes

Die Fehlercodes, die beim Erstellen einer Omnichannel-Anzeigenkampagne zurückgegeben werden können, sind dieselben Fehlercodes wie bei regulären Kampagnen.

Omnichannel Ad – Anzeigengruppen

Um eine neue Omnichannel-Anzeigengruppe zu erstellen, sende eine POST-Anfrage an den /adsets-Endpunkt und füge folgende Parameter hinzu:

  • name: der Name der Anzeigengruppe.
  • campaign_id: die ID der Kampagne, zu der diese Anzeigengruppe gehört.
  • bid_strategy: die Gebotsstrategie für diese Anzeigengruppe, die zu deinen konkreten Geschäftszielen passt.
  • daily_budget: das Tagesbudget für die Anzeigengruppe.
  • attribution_spec: Conversion-Attributions-Spezifikation, die für die Zuordnung von Conversions zur Optimierung verwendet wird. Für Omnichannel Ads werden nur die Event-Typen CLICK_THROUGH event_type mit 7 window_days und VIEW_THROUGH event_type mit einem 1 window_daysunterstützt.
  • promoted_object: das Objekt, das deine Anzeigengruppe in allen ihren Werbeanzeigen hervorhebt.
    • Für eine Omnichannel-Anzeigengruppe benötigt promoted_object ein omnichannel_object mit Pixel- und Offline-Objekten. „KAUF“ ist der einzige selbstdefinierte Event-Typ, der für Omnichannel-Anzeigengruppen unterstützt wird. Nachstehend sind Beispielaufrufe aufgeführt.
      • Wenn du ein Meta-Pixel zur Verfolgung von Website-Events und einen separaten Datensatz zur Verfolgung von Offline-Events verwendest, sende bitte sowohl die Pixel-ID als auch die Offline-Datensatz-ID (siehe Beispiel 1 unten).
      • Wenn du einen einzelnen Datensatz verwendest, um deine Website- und Offline-Events zu verwalten, verwende diese Datensatz-ID in beiden Feldern (siehe Beispiel 2 unten).
    • Wenn du Advantage+ Catalog Ads auf Anzeigenkampagnenebene erstellst, musst du auch product_set_id hinzufügen, wobei das variation-Feld auf „PRODUCT_SET_AND_IN_STORE“ gesetzt werden muss. Siehe das Beispiel unten.
      • Du kannst auch Website-, App- und In-Store-Ads mit Advantage+ Catalog erstellen. Dazu musst du eine product_set_id, eine pixel_id mit einem zugeordneten Datensatz für Offline-Conversions, eine App-ID und eine Pixel-ID hinzufügen. Außerdem musst du variation auf „PRODUCT_SET_WEBSITE_APP_AND_INSTORE“ festlegen. Ein omnichannel_object ist nicht erforderlich. Siehe das Beispiel unten.
  • targeting: die Targeting-Spezifikation für die Anzeigengruppe.
  • optimization_goal: OFFSITE_CONVERSIONS, optimiert für Personen, die eher auf der Website und im Geschäft eine Konversion durchführen.
  • status: der Status der Anzeigengruppe. Gültige Werte sind ACTIVE, PAUSED.

Beispiel 1 – Verwendung von Meta-Pixeln zur Verfolgung von Website-Events und separater Datensätze zur Verfolgung von Offline-Events:

curl -X POST \
https://graph.facebook.com/v20.0/act_<AD_ACCOUNT_ID>/adsets \
-F 'name=My Omni Adset' \
-F 'campaign_id=<OMNI_CAMPAIGN_ID>' \
-F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
-F 'billing_event=IMPRESSIONS' \
-F 'daily_budget=10000' \
-F 'promoted_object={
"omnichannel_object":{
"offline":[{"offline_conversion_data_set_id":"<OFFLINE_CONVERSION_DATASET_ID>","custom_event_type":"PURCHASE"}],
"pixel":[{"pixel_id":"<PIXEL_ID>","custom_event_type":"PURCHASE"}]
}
}' \
-F 'attribution_spec=[
{"event_type":"CLICK_THROUGH","window_days":"7"},
{"event_type":"VIEW_THROUGH","window_days":"1"}
]' \
-F 'targeting={"facebook_positions":["feed"],"geo_locations":{"countries":["US"],"regions":[{"key":"4081"}],"cities":[{"key":777934,"radius":10,"distance_unit":"mile"}]},"genders":[1],"age_max":24,"age_min":20,"publisher_platforms":["facebook","audience_network"],"device_platforms":["mobile"],"flexible_spec":[{"interests":[{"id":"<INTEREST_ID>","name":"<INTEREST_NAME>"}]}]}' \
-F 'status=ACTIVE' \
-F 'optimization_goal=OFFSITE_CONVERSIONS' \
-F 'access_token=<ACCESS_TOKEN>'

Beispiel 2 – Verwendung eines einzelnen Datensatzes zur Verfolgung von Online- und Offline-Events:

curl -X POST \
https://graph.facebook.com/v20.0/act_<AD_ACCOUNT_ID>/adsets \
-F 'name=My Omni Adset' \
-F 'campaign_id=<OMNI_CAMPAIGN_ID>' \
-F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
-F 'billing_event=IMPRESSIONS' \
-F 'daily_budget=10000' \
-F 'promoted_object={
"omnichannel_object":{
"offline":[{"offline_conversion_data_set_id":"<DATASET_ID>","custom_event_type":"PURCHASE"}],
"pixel":[{"pixel_id":"<DATASET_ID>","custom_event_type":"PURCHASE"}]
}
}' \
-F 'attribution_spec=[
{"event_type":"CLICK_THROUGH","window_days":"7"},
{"event_type":"VIEW_THROUGH","window_days":"1"}
]' \
-F 'targeting={"facebook_positions":["feed"],"geo_locations":{"countries":["US"],"regions":[{"key":"4081"}],"cities":[{"key":777934,"radius":10,"distance_unit":"mile"}]},"genders":[1],"age_max":24,"age_min":20,"publisher_platforms":["facebook","audience_network"],"device_platforms":["mobile"],"flexible_spec":[{"interests":[{"id":"<INTEREST_ID>","name":"<INTEREST_NAME>"}]}]}' \
-F 'status=ACTIVE' \
-F 'optimization_goal=OFFSITE_CONVERSIONS' \
-F 'access_token=<ACCESS_TOKEN>'

Beispiel für Advantage+ Catalog Ads:

curl -X POST \
https://graph.facebook.com/v20.0/act_<AD_ACCOUNT_ID>/adsets \
-F 'name=My Omni Adset' \
-F 'campaign_id=<OMNI_CAMPAIGN_ID>' \
-F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
-F 'billing_event=IMPRESSIONS' \
-F 'daily_budget=10000' \
-F 'promoted_object={
"product_set_id":"<PRODUCT_SET_ID>",
"custom_event_type":"PURCHASE",
"variation":"PRODUCT_SET_AND_IN_STORE",
"omnichannel_object":{
"offline":[{"offline_conversion_data_set_id":"<OFFLINE_CONVERSION_DATASET_ID>","custom_event_type":"PURCHASE"}],
"pixel":[{"pixel_id":"<PIXEL_ID>","custom_event_type":"PURCHASE"}]
}
}' \
-F 'attribution_spec=[
{"event_type":"CLICK_THROUGH","window_days":"7"},
{"event_type":"VIEW_THROUGH","window_days":"1"}
]' \
-F 'targeting={"facebook_positions":["feed"],"geo_locations":{"countries":["US"],"regions":[{"key":"4081"}],"cities":[{"key":777934,"radius":10,"distance_unit":"mile"}]},"genders":[1],"age_max":24,"age_min":20,"publisher_platforms":["facebook","audience_network"],"device_platforms":["mobile"],"flexible_spec":[{"interests":[{"id":"<INTEREST_ID>","name":"<INTEREST_NAME>"}]}]}' \
-F 'status=ACTIVE' \
-F 'optimization_goal=OFFSITE_CONVERSIONS' \
-F 'access_token=<ACCESS_TOKEN>'

Beispiel für Web-, App- und In-Store-Ads:

curl -X POST \
https://graph.facebook.com/v20.0/act_<AD_ACCOUNT_ID>/adsets \
-F 'name=My Web+App+In-store Adset' \
-F 'campaign_id=<OMNI_CAMPAIGN_ID>' \
-F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
-F 'billing_event=IMPRESSIONS' \
-F 'daily_budget=10000' \
-F 'promoted_object={
  "pixel_id":"<PIXEL_ID>",
"product_set_id":"<PRODUCT_SET_ID>",
"custom_event_type":"PURCHASE",
"variation":"PRODUCT_SET_WEBSITE_APP_AND_INSTORE"
}' \
-F 'attribution_spec=[
{"event_type":"CLICK_THROUGH","window_days":"7"},
{"event_type":"VIEW_THROUGH","window_days":"1"}
]' \
-F 'targeting={"facebook_positions":["feed"],"geo_locations":{"countries":["US"],"regions":[{"key":"4081"}],"cities":[{"key":777934,"radius":10,"distance_unit":"mile"}]},"genders":[1],"age_max":24,"age_min":20,"publisher_platforms":["facebook","audience_network"],"device_platforms":["mobile"],"flexible_spec":[{"interests":[{"id":"<INTEREST_ID>","name":"<INTEREST_NAME>"}]}]}' \
-F 'status=ACTIVE' \
-F 'optimization_goal=OFFSITE_CONVERSIONS' \
-F 'access_token=<ACCESS_TOKEN>'

Beispielantwort

Bei einer erfolgreichen Antwort wird die ID der neu erstellten Anzeigengruppe zurückgegeben.

Beispiel:

{
  "id": "23845678901234567"
}

Bei einer erfolglosen Antwort wird ein Fehlerobjekt mit einer Erklärung für die Fehlerursache zurückgegeben.

Beispiel:

{
    "error": {
"message": "Invalid parameter",
       "type": "OAuthException",
       "code": 100,
"error_subcode": 3858449,
"is_transient": false,
"error_user_title": "Ad Account Ineligible For Omnichannel Ads",
"error_user_msg": "Omnichannel ads is only available for eligible Ad Account IDs. Use an eligible Ad Account ID or contact your Meta representative for more info.",
"fbtrace_id": "A8A163-BtrDGjzTEDskGTy"
}

Fehlercodes

Die Fehlercodes, die beim Erstellen einer Omnichannel Ad-Kampagne zurückgegeben werden können, sind dieselben Fehlercodes wie bei regulären Kampagnen.

Fehler-Subcodes

Die folgenden Fehlercodes können bei der Erstellung einer Kampagne zurückgegeben werden:

SubcodeBeschreibung
2446432

Omnichannel Ads unterstützen nur das Ziel OUTCOME_SALES.

3858449

Omnichannel Ads sind nur für berechtigte Werbekonto-IDs verfügbar. Verwende eine berechtigte Werbekonto-ID oder wende dich an deine*n Meta-Ansprechpartner*in, um weitere Informationen zu erhalten.

3858450

Für die Anzeigengruppe wird eine gültige Meta-Pixel-ID für Omnichannel Ads benötigt. Verwende eine gültige ID oder erstelle ein Pixel im Meta Events Manager.

3858451

Omnichannel Ads-Anzeigengruppen benötigen einen gültigen selbstdefinierten Event-Typ. Der einzige gültige Event-Typ ist „Kauf“.

3858452

Omnichannel Ads-Anzeigengruppen benötigen eine gültige Offline-Datensatz-ID. Verwende einen gültigen Offline-Datensatz oder richte einen im Events Manager ein.

3858453

Omnichannel Ads-Anzeigengruppen unterstützen nur eine Attributionsspezifikation von 7-Tage-Click-through und 1-Tage-View-through.

3858454

Omnichannel Ads-Anzeigengruppen unterstützen nur das Optimierungsziel offsite_conversions.

3858513

Bei Datensätzen müssen die Felder „Pixel-ID“ und „Offline-Datensatz-ID“ identisch sein.

3858514

Der Datensatz muss eine Offline-Datensatz-ID enthalten.

3858515

Der Datensatz enthält eine ungültige Offline-Datensatz-ID. Überprüfe die Einrichtung deines einheitlichen Datensatzes.

Omnichannel Ad Creative

Um eine neue Anzeige zu erstellen, sende eine POST-Anfrage an den /adcreatives-Endpunkt und füge folgende Parameter hinzu:

  • name: der Name der Anzeigengestaltung.
  • object_story_spec: Die Spezifikationen des Inhalts der Werbeanzeige, das die Seiten-ID und andere Inhalte enthält, um einen neuen, unveröffentlichten Seitenbeitrag zu erstellen, der mit einem der link_data, photo_data, video_data, text_data oder template_data-Elemente angegeben wird.
  • degrees_of_freedom_spec: gibt die Transformationstypen an, die für eine bestimmte Anzeige aktiviert sind.
    • Zum Beispiel: Gib local_store_extension für ein leistungsstarkes Omnichannel-Anzeigenformat an. (nur für alle Nicht-„Advantage+ Catalog Ads“ verfügbar).
  • product_set_id: verwendet dieselbe Produktauswahl wie bei der Erstellung von Anzeigengruppen, wenn du Advantage+ Catalog Ads erstellst.
  • Recommender_settings: Wird zur Erstellung von Werbeanzeigen für den lokalen, geschäftsbasierten Bestandskatalog (SBLI) verwendet. Lege product_sales_channel auf omni fest.

Beispiel für Nicht-„Advantage+ Catalog Ads“ mit Erweiterung für lokale Geschäfte:

curl -X POST \
https://graph.facebook.com/v20.0/act_<AD_ACCOUNT_ID>/ads \
-F 'name=My Omni Ad Creative' \
-F object_story_spec={
"page_id":"<PAGE_ID>",
"link_data":{
"link":"<LINK>",
"call_to_action": {"type": "SHOP_NOW"}
}
}' \
-F 'degrees_of_freedom_spec={
"creative_features_spec": {
"standard_enhancements":{
"action_metadata":{"type":"STICKY"},
"enroll_status":"OPT_IN"
},
"local_store_extension":{
"action_metadata":{"type":"MANUAL"},
"enroll_status":"OPT_IN"
}
}
}' \
-F 'status=ACTIVE' \
-F 'access_token=<ACCESS_TOKEN>'

Beispiel für Advantage+ Catalog Ads:

curl -X POST \
https://graph.facebook.com/v20.0/act_<AD_ACCOUNT_ID>/ads \
-F 'name=My Omni Advantage+ Catalog Ad Creative'' \
-F 'object_story_spec={
"page_id":"<PAGE_ID>",
"template_data":{
"call_to_action":{"type":"SHOP_NOW"},
"link":"<LINK>",
"name":"Headline {{product.price}}",
"description": "Description {{product.description}}",
"message": "Test {{product.name | titleize}}",  
}
}' \
-F 'product_set_id="&lt;PRODUCT_SET_ID&gt;"' \
-F 'status=ACTIVE' \
-F 'access_token=<ACCESS_TOKEN>'

Beispiel für Advantage+ Catalog Ads mit lokalem, geschäftsbasiertem Bestandskatalog:

curl -X POST \
https://graph.facebook.com/v20.0/act_<AD_ACCOUNT_ID>/ads \
-F 'name=My Omni Advantage+ Catalog Ad Creative'' \
-F 'object_story_spec={
"page_id":"<PAGE_ID>",
"template_data":{
"call_to_action":{"type":"SHOP_NOW"},
"link":"<LINK>",
"name":"Headline {{product.price}}",
"description": "Description {{product.description}}",
"message": "Test {{product.name | titleize}}",  
}
}' \
-F 'product_set_id="&lt;PRODUCT_SET_ID_FROM_SBLI_CATALOG&gt;"' \
-F 'recommender_settings={"product_sales_channel": "omni"}`
-F 'status=ACTIVE' \
-F 'access_token=<ACCESS_TOKEN>'

Omnichannel Ad

Um eine neue Anzeige zu erstellen, sende eine POST-Anfrage an den /ads-Endpunkt und füge folgende Parameter hinzu:

  • name: der Name der Anzeige.
  • adset_id: die ID der Anzeigengruppe, zu der die Anzeige gehört.
  • creative: die Anzeigenspezifikation oder die ID der Anzeigengestaltung, die von dieser Anzeige verwendet werden soll.
  • status: der Status der Anzeige. Gültige Werte sind ACTIVE, PAUSED.

Beispiel:

curl -X POST \
https://graph.facebook.com/v20.0/act_<AD_ACCOUNT_ID>/ads \
-F 'name=My Omni Ad' \
-F 'adset_id=<OMNI_AD_SET_ID>' \
-F '{"creative_id":"<AD_CREATIVE_ID>"}' \
-F 'status=ACTIVE' \
-F 'access_token=<ACCESS_TOKEN>'

Erwartete Antwort:

Bei einer erfolgreichen Antwort wird die ID der neu erstellten Anzeige zurückgegeben.

Beispiel:

{
  "id": "23845678901234567"
}

Fehlercodes

Die Fehlercodes, die beim Erstellen von Omnichannel-Anzeigen zurückgegeben werden können, sind dieselben Fehlercodes wie bei regulären Kampagnen.

Fehler-Subcodes

Die folgenden Fehlercodes können bei der Erstellung einer Kampagne zurückgegeben werden:

SubcodeBeschreibung
3858455

Omnichannel Ads unterstützen keine flexiblen Formate für Anzeigenmotive. Verwende stattdessen Einzelbild- oder Videoformate, Collection- oder Carousel-Formate.

3858456

Omnichannel Ads unterstützen nicht die Verwendung von Anzeigenmotiven aus einem vorhandenen Beitrag oder einem Creative-Hub-Mockup.