Ziel „Store-Traffic“

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.

Platzierungen

Für Facebook Desktop und Mobile (Feed, Stories und Marketplace) sowie Instagram (Feed und Stories) verfügbar.

Auslieferungsoptimierung

  • Reichweitenoptimierung: Steht allen Werbekunden zur Verfügung, die Zugriff auf diese API haben. Dabei erfolgt eine Optimierung für die täglich erreichten Einzelpersonen. „Impressions“ werden dabei als Standardmetrik in den Werbeanzeigenmanager-Berichten angezeigt.

Erstellen von Advantage+ Catalog Ads

Zur Erstellung von Advantage+ Catalog Ads für dieses Ziel muss deine Seite Facebook Locations verwenden.

Anforderungen

  • 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.

Schritt 1: PageSet erstellen

Facebook nutzt PageSet zum Targeting von Werbeanzeigen und als das hervorgehobene Objekt in deiner Anzeige.

So erstellst du ein PageSet:

  1. Erfasse die Store-Standorte, also Facebook-Seiten für jeden Store-Standort und Standorte für dein Hauptunternehmen. Dein Hauptunternehmen wird als Hauptseite bezeichnet.
  2. Erstelle eine Standort-JSON-Struktur für all deine Standorte.
  3. Erstelle das PageSet mit der Standort-JSON-Struktur.

Alle Store-Standorte erfassen

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

Eine Standort-JSON-Struktur erstellen

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.

Individuelle Anfragen

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/

Batch-Anfragen

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&amp;latitude=29.173384&amp;longitude=48.098807\"
    },
    {
      \"method\": \"GET\",
      \"relative_url\": \"/<API_VERSION>/search?type=adradiussuggestion&amp;latitude=29.303635&amp;longitude=47.937725\"
    }
  ]" \
  "https://graph.facebook.com"
Endgültige Standort-JSON-Struktur

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

Das Pageset mit der Standort-JSON-Struktur erstellen

Der 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.

Asynchrone Anfragen

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.

Verwenden von metadata für Radien

Das 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

  • Du musst außerdem 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.
  • Die 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.
  • Der Parameter 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.
  • Wenn du audience für metadata angibst, musst du deine Anfrage mit dem asynchronen Endpunkt tätigen: (ad_account_ID/ad_place_page_set_async).

Synchrone Anfragen

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=&lt;locations_json_structure.txt" an das pages-Attribut übergeben.

Schritt 2: Kampagne erstellen

Erstelle eine Werbekampagne mit dem Ziel STORE_VISITS und der ID deiner Hauptseite als hervorgehobenes Objekt.

Mehr dazu erfährst du unter Werbekampagne, Referenz.

Schritt 3: Anzeigengruppe erstellen

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

Geografisches Targeting

Du kannst das Targeting bei Kampagnen für Store Traffic auch nach geo_locations vornehmen.

Hinweis: Für dieses Ziel kannst du nur geo_locationsoderplace_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 PageSetmuss 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.

Schritt 4: Anzeigengestaltung bereitstellen

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:

  • Wenn dynamic_ad_voice auf DYNAMIC gesetzt ist, stammen Seitenname und Profilbild in deinem Anzeigenbeitrag vom nächsten Seitenstandort.
  • Wenn dynamic_ad_voice auf STORY_OWNER gesetzt ist, stammen Seitenname und Profilbild in deinem Anzeigenbeitrag vom Hauptseiten-Standort.

Call to Action

Du kannst auch Call to Action-Buttons (CTAs) basierend auf dem Standort einer Person dynamisch hinzufügen:

  • Bei Verwendung von 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.
  • Optionales Feld. Wenn keine Angabe für einzelne Werbeanzeigen gemacht wurde, zeigen wir einen Like Page-Button an.

Einzelheiten dazu findest du unter Referenz, Anzeigengestaltung.

dynamic_ad_voice-Typ call_to_action-Typ

DYNAMIC

CALL_NOW


GET_DIRECTIONS

STORY_OWNER

CALL_NOW


GET_DIRECTIONS


LEARN_MORE


MESSAGE_PAGE


ORDER_NOW


SHOP_NOW

Beispiele

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

Anzeigengestaltung mit Standortkarte

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

Filialsuche, Link-Ziel

Wenn du beim Erstellen einer Werbeanzeige link auf „https://fb.com/store_locator“ setzt, erscheint die Anzeige mit der Filialsuche als Linkziel.

Schritt 5: Werbeanzeige erstellen

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.

Messung der Besuche im Geschäft

„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:

  • Besuche im Geschäft: Die geschätzte Anzahl der Besuche in deinem Geschäft aufgrund deiner Werbeanzeigen
  • Kosten pro Besuch im Geschäft: Die durchschnittlichen Kosten für jeden geschätzten Besuch in deinen Geschäften aufgrund deiner Werbeanzeigen

Mit Werbeanzeigenmanager

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.

Mit der Insights API

Ü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.

Parameter

FeldBeschreibung
point_estimate
int32

The point prediction of the value