Um dein Unternehmen beim Umgang mit dem Coronavirus (COVID-19) zu unterstützen, haben wir beim Ziel „Store Traffic“ einige vorübergehende Änderungen vorgenommen. Mehr dazu.
Mithilfe des Ziels „Store Traffic” kannst du Werbekampagnen auf Facebook erstellen, die Laufkundschaft ansprechen und den Umsatz in deinen Ladengeschäften steigern. Das Ziel „Store Traffic“ kannst du für deine Kampagne verwenden, wenn dein Unternehmen mehrere physische Geschäfte umfasst und du deine Store-Standorte auf Facebook hinzugefügt hast.
Informiere dich über das Ziel „Store Traffic“, Hilfebereich für Werbung.
Für Facebook Desktop und Mobile (Feed, Stories und Marketplace) sowie Instagram (Feed und Stories) verfügbar.
Zur Erstellung von Advantage+ Catalog Ads für dieses Ziel muss deine Seite Facebook Locations verwenden.
objective
von Kampagnen muss auf STORE_VISITS
gesetzt sein.promoted_object
von Kampagnen muss auf die entsprechende <PARENT_PAGE_ID>
gesetzt sein.promoted_object
und targeting
der Anzeigengruppe müssen eine place_page_set_id
einer <PAGE_SET_ID>
enthalten.optimization_goal
der Anzeigengruppe muss auf REACH
festgelegt werden.billing_event
der Anzeigengruppe muss IMPRESSIONS
lauten.PageSet
erstellenFacebook nutzt PageSet
zum Targeting von Werbeanzeigen und als das hervorgehobene Objekt in deiner Anzeige.
So erstellst du ein PageSet
:
PageSet
mit der Standort-JSON-Struktur.Die <PARENT_PAGE_ID>
ist die Seiten-ID der Hauptseite für all deine Store-Standorte. Damit werden alle Store-Seiten und Standorte, die zu einer Hauptseite gehören, abgerufen sowie Längengrad und Breitengrad für jeden Standort zurückgegeben.
curl -X GET \ -d 'fields="location{latitude,longitude},is_permanently_closed"' \ -d 'limit=30000' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v20.0/{page-id}/locations
Beispielausgabe
{ "data": [ { "location": { "latitude": 29.173384, "longitude": 48.098807 }, "is_permanently_closed": false, "id": "1788030244802584" }, { "location": { "latitude": 29.303635, "longitude": 47.937725 }, "is_permanently_closed": false, "id": "261533444245300" }, { "location": { "latitude": 29.302303, "longitude": 47.933178 }, "is_permanently_closed": false, "id": "179435399132774" }, { "location": { "latitude": 29.302591, "longitude": 47.931801 }, "is_permanently_closed": false, "id": "1790317704582144" } ], "paging": { "cursors": { "before": "MTc4ODAzMDI0NDgwMjU4NAZDZD", "after": "MTA4MTU4NjU5NjA5MDA4" } } }
Wiederhole den Vorgang für jeden Eintrag in den zurückgegebenen Ergebnissen und vergewissere dich, dass jeder Standort auch für den Geschäftsbetrieb geöffnet ist. Dazu prüfst du das Feld is_permanently_closed
.
Den geschätzten Radius kannst du mit zwei GET
-Anfragen abrufen, um die Parameter radius
und distance_unit
zu erhalten. Du kannst auch einen Batch-API-Aufruf tätigen, um die Werte unten zu erstellen.
Du solltest diese Anfrage unter Verwendung des Längen- und Breitengrads jeder Store-Seite aus den JSON-Ergebnissen tätigen, die von der Hauptseite zurückgegeben werden. Damit wird der geschätzte Radius für jeden Standort zurückgegeben.
curl -X GET \ -d 'type="adradiussuggestion"' \ -d 'latitude=51.5152253' \ -d 'longitude=-0.1423029' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v20.0/search/
Du kannst auch mehrere Anfragen in einer Batch-Anfrage zusammenfassen.
curl \ -F "access_token=<ACCESS_TOKEN>" \ -F "include_headers=false" \ -F "batch=[ { \"method\": \"GET\", \"relative_url\": \"/<API_VERSION>/search?type=adradiussuggestion&latitude=29.173384&longitude=48.098807\" }, { \"method\": \"GET\", \"relative_url\": \"/<API_VERSION>/search?type=adradiussuggestion&latitude=29.303635&longitude=47.937725\" } ]" \ "https://graph.facebook.com"
Verwende die Parameter radius
und distance_unit
aus den vorherigen Aufrufen und die <CHILD_LOCATION_ID>
jedes Standorts als page_id
, um die endgültige Standort-JSON-Struktur zu erstellen.
[ { "page_id": 1788030244802584, "radius": 1, "distance_unit": "mile" }, { "page_id": 261533444245300, "radius": 1, "distance_unit": "mile" } ]
Pageset
mit der Standort-JSON-Struktur erstellenDer Endpunkt PageSet
ist derzeit nur für Partner auf der Positivliste verfügbar. Bitte setze dich mit deinem Facebook-Ansprechpartner in Verbindung, wenn du Zugriff benötigst.
Anhand der Informationen in deiner Standort-JSON-Struktur kannst du nun ein PageSet
erstellen.
Du kannst in einem PageSet
maximal 10.000 Standorte verwenden.
Du kannst dein PageSet
mit einer asynchronen Anfrage erstellen. Auf diese Weise kannst du ein großes PageSets
mit über 1.000 Standorten erstellen, ohne dass es zu Zeitüberschreitungen kommt. Wir empfehlen, immer dann asynchrone Anfragen zu verwenden, wenn du ein Pageset
mit über 50 Standorten erstellst.
Anfrage
curl -X POST \ -d 'name=test_2' \ -d 'parent_page=ID_1' \ -d 'pages=[{\'page_id':ID_2}]' \ -d 'metadata={"audience":{"size":5000}}' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets_async/
Hinweis: Du kannst /ad_place_page_sets
für synchrone Anfragen verwenden. Bei über 50 Standorten solltest du jedoch asynchrone Anfragen verwenden.
Das Format für Parameter ist mit dem für synchrone Anforderungen identisch.
In deinem PageSet
kannst du das Feld metadata
verwenden, um für die Anzeigenauslieferung pro Standort einen festen Radius anzugeben oder eine bestimmte Zielgruppengröße zu erreichen. Im zweiten Fall berechnet Facebook automatisch einen Radius pro Standort, um die jeweilige Anzahl an Kontenübersichtskonten zu erreichen.
In diesem Beispiel ist das Feld metadata
auf eine gewünschte audience
-Größe festgelegt (unten beschrieben). Siehe metadata
für Radien. Dies gibt eine ad_place_page_set_async_request
-ID zurück.
{ "id": "405738580111111" }
Später kannst du diese ID mit der Berechtigung ads_read
abfragen, um die PageSet
-ID zu erhalten.
curl -i -X GET \ "https://graph.facebook.com/<API_VERSION>/405738580111111?access_token=ACCESS_TOKEN"
Antwort
{ "id": "405738580111111", "place_page_set": { "id": "555555791481678", "name": "test_2" }, "progress": 1 }
Dabei reicht progress
von 0.0
bis 1
und 1
bedeutet, dass wir deine Anfrage abgeschlossen und ein PageSet
erstellt haben.
metadata
für RadienDas Feld metadata
teilt Facebook mit, ob du für deine Standorte einen festen Radius verwenden möchtest oder ob Facebook Radien pro Standort für eine bestimmte Zielgruppengröße automatisch berechnen soll.
Beispiel
So gibst du einen festen Radius mit einer synchronen Anfrage an:
curl -X POST \ -d 'name=test_2' \ -d 'parent_page=238219010666666' \ -d 'pages=[{\'page_id':405936056444444}]' \ -d 'metadata={"fixed_radius":{"value":5,"distance_unit":"mile"}}' \ -d 'access_token=ACCESS_TOKEN' \ "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets/"
Das heißt, Facebook soll deine Werbeanzeige an Personen in einem Umkreis von 5 Meilen aller Standorte in deinem PageSet
ausliefern.
Antwort
{ "id": "1618547271777777" }
Hinweis: Das Feld metadata
sollte auf fixed_radius
oder audience
festgelegt werden.
Wenn du fixed_radius
verwendest, musst du distance_unit
und value
angeben:
{ "fixed_radius": { "distance_unit": "<distance_unit>" "value": <distance> } }
Wenn du audience
verwendest, musst du size
angeben. max_radius
ist optional:
{ "audience": { "size": <audience size> "max_radius": { // optional "distance_unit": "<distance_unit>" "value": <distance> } } }
Best Practices für metadata
locations
angeben, jedoch darin keinen Radius angeben. Alternativ solltest du bei Verwendung des Parameters locations
und Angabe von Radien dies auch für metadata
angeben.distance_unit
muss mile
oder kilometer
lauten und der value
muss zwischen 0.7
und 50
für mile
bzw. 1
und 80
für kilometer
liegen.size
in audience
ist die Anzahl der Kontenübersichtskonten im Radius, sofern der Radius eine Länge von 1
bis 80
Kilometern hat. Wenn du einen max_radius
angibst, liegt unsere Berechnung im tatsächlichen Radius zwischen 1
und max_radius
.audience
für metadata
angibst, musst du deine Anfrage mit dem asynchronen Endpunkt tätigen: (ad_account_ID/ad_place_page_set_async
).Du kannst zum Erstellen eines PageSet
dennoch synchrone Anfragen verwenden.
curl -X POST \ -d "name=My Grand Pageset" \ -d "parent_page=<PARENT_PAGE_ID>" \ -d "pages=<LOCATIONS_JSON_STRUCTURE>" \ -d "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets
Dies gibt eine PageSet
-ID zurück, die du später verwendest.
{ "id": <PAGE_SET_ID> }
Wenn zu viele Seiten für einen cURL
-Aufruf vorhanden sind, kannst du eine Textdatei mit der Standort-JSON-Struktur erstellen und mit -F "pages=<locations_json_structure.txt"
an das pages
-Attribut übergeben.
Erstelle eine Werbekampagne mit dem Ziel STORE_VISITS
und der ID deiner Hauptseite als hervorgehobenes Objekt.
Mehr dazu erfährst du unter Werbekampagne, Referenz.
Erstelle eine Anzeigengruppe für deine Werbeanzeige. Mehr dazu erfährst du unter Referenz, Anzeigengruppe, Referenz, Targeting-Spezifikationen und Referenz, Seitenstandorte.
Bei der Auslieferung macht Facebook alle Standorte des Anzeigen-Targetings, die mehr als 50 Meilen vom nächsten Seitenstandort – der lokalen Seite – entfernt sind, ungültig.
curl \ -F 'name=Store Visits Ad Set' \ -F 'promoted_object={"place_page_set_id":"<PAGE_SET_ID>"}' \ -F 'optimization_goal=STORE_VISITS' \ -F 'billing_event=IMPRESSIONS' \ -F 'is_autobid=true' \ -F 'daily_budget=1000' \ -F 'campaign_id=<CAMPAIGN_ID>' \ -F "targeting={ 'place_page_set_ids': ['<PAGE_SET_ID>'], 'device_platforms': ['mobile','desktop'], 'facebook_positions': ['feed'] }" \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets
Du kannst das Targeting bei Kampagnen für Store Traffic auch nach geo_locations
vornehmen.
Hinweis: Für dieses Ziel kannst du nur geo_locations
oderplace_page_set_ids
beim Anzeigengruppen-Targeting verwenden.
Wir unterstützen alle Arten des geo_location
-Targetings in Erweiterte Optionen für Targeting und Platzierung, darunter das Targeting nach Ländern, Städten und Postleitzahlen. Du kannst auch location_types
wie recent
, home
oder travel_in
auswählen.
Gib aber dennoch die place_page_set_id
im promoted_object
an. Dieser PageSet
muss eine Seitengruppe ohne eine explizite Gruppe von Standorten sein. Informationen zum Erstellen dieses PageSet
findest du unter Seitengruppe mit der Standort-JSON-Struktur erstellen. Übergib in diesem Fall aber nicht den Parameter „pages“.
Erstelle zunächst einen PageSet
, den du später in einem hervorgehobenen Objekt angibst:
curl -X POST \ -d "name=My geo targeting page set" \ -d "parent_page=<PARENT_PAGE_ID>" \ -d "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets/
Hinweis: Den Parameter pages
musst du in diesem Fall nicht angeben.
Erstelle dann eine Anzeigengruppe mit dem Ziel „Store Traffic“, bei der das Targeting nach geo_locations
erfolgt:
curl \ -F 'name=Store Traffic Ad Set' \ -F 'promoted_object={"place_page_set_id":"<PAGE_SET_ID>"}' \ -F 'optimization_goal=STORE_VISITS' \ -F 'billing_event=IMPRESSIONS' \ -F 'is_autobid=true' \ -F 'daily_budget=1000' \ -F 'campaign_id=<CAMPAIGN_ID>' \ -F "targeting={ 'geo_locations': {"countries":["US"],"location_types": ["home"]}, 'device_platforms': ['mobile','desktop'], 'facebook_positions': ['feed'] }" \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets
Wir liefern Werbeanzeigen automatisch für das Geschäft aus, das der Person, die deine Anzeige ansieht, am nächsten liegt.
Du kannst eine Anzeigengestaltung dynamisch basierend auf dem Standort einer Person einfügen. Passe die Anzeigengestaltung mit einer Reihe von Vorlagenplatzhaltern an. Facebook ersetzt die Platzhalter in deinen Werbeanzeigen dann zur Laufzeit durch Daten aus dem nächsten Seitenstandort.
Verfügbare Platzhalter:
{{page.hours.today}}
{{page.location.city}}
{{page.location.region}}
{{page.location.postcode}}
{{page.location.street_address}}
{{page.name}}
{{page.phone_number}}
Mit dem Feld dynamic_ad_voice
kannst du die Positionierung deiner Anzeige steuern:
dynamic_ad_voice
auf DYNAMIC
gesetzt ist, stammen Seitenname und Profilbild in deinem Anzeigenbeitrag vom nächsten Seitenstandort.dynamic_ad_voice
auf STORY_OWNER
gesetzt ist, stammen Seitenname und Profilbild in deinem Anzeigenbeitrag vom Hauptseiten-Standort.Du kannst auch Call to Action-Buttons (CTAs) basierend auf dem Standort einer Person dynamisch hinzufügen:
GET_DIRECTIONS
oder CALL_NOW
ist das CTA-Feld value
nicht erforderlich. Nutzer werden automatisch an den nächstgelegenen Standort geleitet oder aufgefordert, die Telefonnummer des nächsten Standorts anzurufen. MESSAGE_PAGE
ist nur zulässig, wenn dynamic_ad_voice
auf STORY_OWNER
gesetzt ist. Nachrichten werden an die Hauptseite gesendet.Like Page
-Button an.Einzelheiten dazu findest du unter Referenz, Anzeigengestaltung.
dynamic_ad_voice -Typ
| call_to_action -Typ
|
---|---|
|
|
|
|
Gib eine Anzeigengestaltung mit einem dynamischen Seitennamen und einer dynamischen Stadt an:
curl \ -F 'dynamic_ad_voice=DYNAMIC' \ -F 'object_story_spec={ "page_id": "<PARENT_PAGE_ID>", "template_data": { "description": "Ad Description", "link": "<URL>", "message": "Ad Message for {{page.location.city}}", "name": "{{page.name}}", "picture": "<IMAGE_URL>" } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives
Um eine Standortkarte zu verwenden, füge eine place_data
-Struktur als Anhang im Feld child_attachments
für deine Anzeigengestaltung hinzu.
In diesem Beispiel ist die Karte mit einem Link für die Facebook-Filialsuche das zweite Element im child_attachments
-Array. Du musst mindestens ein Element außer der Umgebungskarte angeben.
curl \ -F 'dynamic_ad_voice=DYNAMIC' \ -F 'object_story_spec={ "page_id": "<PARENT_PAGE_ID>", "template_data": { "description": "Ad Description", "link": "<URL>", "message": "Ad Message for {{page.location.city}}", "name": "{{page.name}}", "child_attachments":[ { "description": "Come visit us!", "link": "http://yourweburl.com", "name": "{{page.location.street_address}} - {{page.location.city}}", "call_to_action": { "type":"GET_DIRECTIONS" }, }, { "link": "https://fb.com/store_locator", "name": "Check out our stores.", "place_data": { "type":"DYNAMIC" }, } ] } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives
Wenn du beim Erstellen einer Werbeanzeige link
auf „https://fb.com/store_locator“ setzt, erscheint die Anzeige mit der Filialsuche als Linkziel.
Erstelle eine Werbeanzeige wie folgt:
curl \ -F 'name=My Ad' \ -F 'adset_id=<AD_SET_ID>' \ -F 'creative={"creative_id":"<CREATIVE_ID>"}' \ -F 'status=PAUSED' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ads
Zum Erstellen von Werbeanzeigen für Store Traffic müssen deine Seite und dein Werbekonto für die Messung der Besuche im Geschäft genehmigt sein. Andernfalls wird ein Fehler wie Reach estimate isn't available because 'store_visits' isn't a valid action type
angezeigt.
„Besuche im Geschäft“ ist eine geschätzte Metrik. Die Schätzung basiert auf Daten von Nutzern, deren Ortungsdienste aktiviert sind. Damit sind letztendlich die Messung der Besucherzahlen im Geschäft und eine Optimierung für das Ziel „Store Traffic“ möglich. Die Messung der Besuche im Geschäft ist nur für Kampagnen mit dem Ziel „Store Traffic“ verfügbar.
Besuche im Geschäft beruhen auf Klicks und Aufrufen von Anzeigen, die das Ziel „Store Traffic“ verwenden. Es handelt sich um eine geschätzte Anzahl von Besuchen in Geschäften des Werbetreibenden durch Kontenübersichtskonten, die die Werbeanzeigen des jeweiligen Geschäfts gesehen oder darauf geklickt haben. Du kannst das Attributionsfenster konfigurieren. Du kannst es basierend auf Klicks oder Aufrufen pro Tag, 7 Tage oder 28 Tage anpassen. Wenn du die Konfiguration nicht anpasst, gilt die Standardattribution des Werbekontos. Siehe Insights API, Attributionsfenster.
Die Funktionen beziehen sich auf Berichte für die folgenden Elemente:
Siehe die Spalten unter ENGAGEMENT: ACTIONS
. Diese Spalten sind auf der Berichtsoberfläche für „Besuche im Geschäft“ und „Kosten pro Besuch im Geschäft“ zu finden.
Hinweis: Daten zu Besuchen im Geschäft sind nur für Geschäfte verfügbar, die vom Facebook-Team bestätigt wurden und demzufolge für eine Kampagne messbar sind.
Über die Insights API kannst du Daten zu Besuchen im Geschäft erhalten. Wir bieten diese zusätzlichen Felder in den allgemeinen Insights-Aufrufen an: cost_per_store_visit_action
und store_visit_actions
. Mehr dazu erfährst du unter Insights, Referenz.
Feld | Beschreibung |
---|---|
point_estimate int32 | The point prediction of the value |