Obiettivo Traffico nel punto vendita

Per consentire alla tua attività di adattarsi alla situazione causata dal coronavirus (COVID-19), l'obiettivo Traffico nel punto vendita è stato temporaneamente modificato. Scopri di più

L'obiettivo relativo al traffico nel punto vendita permette di creare campagne pubblicitarie di Facebook per incrementare le visite e le vendite nei tuoi negozi fisici. Puoi scegliere l'obiettivo relativo al traffico nel punto vendita per la tua campagna se hai un'azienda con più punti vendita e ne hai aggiunto le sedi su Facebook.

Per saperne di più, consulta Informazioni sull'obiettivo Traffico nel punto vendita nel Centro assistenza per le inserzioni.

Posizionamenti

Disponibile per Facebook su computer e mobile (feed, storie e Marketplace) e Instagram (feed e storie).

Ottimizzazione della pubblicazione

  • Ottimizzazione della copertura: disponibile per tutti gli inserzionisti con accesso a questa API. Ottimizza la copertura giornaliera unica e mostra "Impression" come metrica predefinita nei report di Gestione inserzioni.

Creazione di inserzioni del catalogo Advantage+

Per creare inserzioni del catalogo Advantage+ per questo obiettivo, la tua pagina deve usare Luoghi di Facebook.

Requisiti

  • L'elemento objective delle campagne deve essere impostato su STORE_VISITS.
  • L'elemento promoted_object delle campagne deve essere impostato sul valore <PARENT_PAGE_ID> corrispondente.
  • promoted_object e targeting dei gruppi di inserzioni devono contenere un place_page_set_id di un <PAGE_SET_ID>
  • L'elemento optimization_goal dei gruppi di inserzioni deve essere impostato su REACH
  • L'elemento billing_event dei gruppi di inserzioni deve essere IMPRESSIONS

Passaggio 1: creare un PageSet

Facebook utilizza PageSet per targetizzare le inserzioni e come oggetto promosso nella tua inserzione.

Per creare un PageSet:

  1. Raggruppa le sedi dei punti vendita, ovvero le Pagine Facebook per ciascuna sede dei punti vendita e la Pagina aziendale principale. La Pagina aziendale principale è nota come Pagina principale.
  2. Crea una struttura JSON Luoghi che rappresenti tutte le sedi.
  3. Crea la struttura PageSet con il JSON Luoghi.

Raggruppare tutte le sedi dei punti vendita

L'elemento <PARENT_PAGE_ID> è l'ID della Pagina principale per tutte le sedi dei punti vendita. Recupera tutte le pagine e le sedi dei punti vendita che appartengono a una Pagina principale e restituisce latitudine e longitudine per ogni sede:

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

Esempio di output

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

Creare una struttura JSON Luoghi

Ripeti ogni voce dei risultati restituiti e verifica che tutte le sedi siano aperte e operative controllando il campo is_permanently_closed.

Recupera il raggio stimato mediante due richieste GET per ottenere i parametri radius e distance_unit. In alternativa, puoi effettuare una chiamata batch all'API per generare i valori seguenti.

Richieste individuali

Devi effettuare questa richiesta usando latitudine e longitudine della pagina di ciascun punto vendita recuperate dai risultati JSON restituiti dalla Pagina principale. Questa operazione restituisce il raggio stimato per ciascuna sede.

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/

Richieste batch

Puoi anche raggruppare più richieste in un'unica richiesta.

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"
Struttura JSON Luoghi finale

Usa i parametri radius e distance_unit ottenuti dalle chiamate precedenti e l'elemento <CHILD_LOCATION_ID> della sede come page_id per creare la struttura JSON Luoghi finale.

[
    {
      "page_id": 1788030244802584,
      "radius": 1,
      "distance_unit": "mile"
    },
    {
      "page_id": 261533444245300,
      "radius": 1,
      "distance_unit": "mile"
    }
]

Creare il Pageset con la struttura JSON Luoghi

L'endpoint PageSet è attualmente disponibile solo per i partner indicati sulla lista di elementi consentiti. Per ottenere l'accesso, contatta il tuo rappresentante Facebook.

Ora puoi creare un PageSet con le informazioni presenti nella tua struttura JSON Luoghi.

Il numero massimo di sedi utilizzabili in un PageSet è 10 000.

Richieste asincrone

Puoi effettuare una richiesta asincrona per creare il tuo PageSet. Questo ti consente di creare PageSets di grandi dimensioni con oltre 1000 sedi senza alcun timeout. Ti consigliamo di usare le richieste asincrone ogni volta che crei un Pageset con oltre 50 sedi.

Richiesta

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/

Nota: puoi usare /ad_place_page_sets per le richieste sincrone; tuttavia, devi usare richieste asincrone per più di 50 sedi.

Il formato per i parametri è lo stesso che utilizzi per le richieste sincrone.

All'interno del PageSet, puoi utilizzare il campo metadata per specificare un raggio fisso per sede per la pubblicazione delle inserzioni oppure di raggiungere un pubblico di dimensioni specifiche. Se selezioni la seconda opzione, Facebook calcola automaticamente un raggio per sede che consenta di raggiungere quel numero di account del Centro gestione account.

In questo esempio, il campo metadata è impostato sulle dimensioni di audience desiderate (descritte sotto). Vedi metadata per i raggi. Questo restituisce un ID ad_place_page_set_async_request.

{
  "id": "405738580111111"
}      

Successivamente, puoi interrogare quell'ID con l'autorizzazione ads_read per ottenere l'ID PageSet.

curl -i -X GET \
 "https://graph.facebook.com/<API_VERSION>/405738580111111?access_token=ACCESS_TOKEN"

Risposta

{
  "id": "405738580111111", 
  "place_page_set": {
    "id": "555555791481678",
    "name": "test_2"
  },
  "progress": 1
}

Dove progress è compreso tra 0.0 e 1 e 1 significa che abbiamo completato la richiesta e creato un PageSet.

Utilizzo di metadata per i raggi

Il campo metadata dice a Facebook che desideri usare un raggio fisso per le tue sedi o che vuoi che Facebook calcoli automaticamente i raggi per ogni sede sulla base di specifiche dimensioni del pubblico.

Esempio

Per specificare un raggio fisso usando una richiesta sincrona:

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

Questo significa che desideri che Facebook pubblichi la tua inserzione per le persone entro un raggio di 5 miglia da tutte le sedi del tuo PageSet.

Risposta

 {
  "id": "1618547271777777"
}

Nota: il campo metadata deve essere impostato su fixed_radius o audience.

Se usi l'opzione fixed_radius, devi indicare distance_unit e value:

{
  "fixed_radius": {
     "distance_unit": "<distance_unit>"
     "value": <distance>
  }
}

Se usi l'opzione audience, devi indicare size, mentre max_radius è facoltativo:

 {
  "audience": {
     "size": <audience size>
     "max_radius": { // optional
       "distance_unit": "<distance_unit>"
       "value": <distance>
     }
  }
}

Best practice per metadata

  • Devi fornire anche locations senza però specificare alcun raggio. In alternativa, se usi il parametro locations e fornisci i raggi, non devi fornirli anche per metadata.
  • Il parametro distance_unit deve essere mile o kilometer e il campo value deve essere compreso tra 0.7 e 50 per mile, oppure tra 1 e 80 per kilometer.
  • Il parametro size in audience indica il numero di account del Centro gestione account nel raggio, finché questo rientra in un intervallo di lunghezza compreso tra 1 e 80 chilometri. Se fornisci il max_radius, nel raggio effettivo, il nostro calcolo può variare tra 1 e max_radius.
  • Se specifichi audience per metadata, devi effettuare la richiesta con l'endpoint asincrono (ad_account_ID/ad_place_page_set_async).

Richieste sincrone

Puoi ancora usare le richieste sincrone per creare un PageSet.

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

Questa richiesta restituisce un ID PageSet che userai in seguito.

{
  "id": <PAGE_SET_ID>
}

Se il numero di pagine diventa troppo grande per una chiamata cURL, puoi creare un file di testo contenente la struttura JSON Luoghi e passarlo all'attributo pages con -F "pages=&lt;locations_json_structure.txt".

Passaggio 2: creare una campagna

Crea una campagna pubblicitaria con l'obiettivo impostato su STORE_VISITS e l'ID della Pagina principale come oggetto promosso.

Consulta il riferimento per le campagne pubblicitarie.

Passaggio 3: creare un gruppo di inserzioni

Crea un gruppo di inserzioni che contenga la tua inserzione. Consulta il riferimento per i gruppi di inserzioni, il riferimento per le specifiche di targetizzazione e il riferimento per le posizioni della Pagina.

Al momento della pubblicazione, Facebook annulla qualsiasi targetizzazione delle inserzioni basata sulla posizione a oltre 50 miglia dalla posizione della Pagina più vicina, nota come Pagina locale.

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

Targetizzazione geografica

Puoi eseguire la targetizzazione anche per geo_locations nelle campagne per aumentare il traffico al punto vendita.

Nota: per questo obiettivo, puoi usare solo geo_locationsoplace_page_set_ids nella targetizzazione dei gruppi di inserzioni.

Supportiamo tutti i tipi di targetizzazione geo_location in Targetizzazione e posizionamento avanzati, inclusa la targetizzazione per Paese, città e CAP. Puoi anche selezionare location_types, come recent, home o travel_in.

Devi ugualmente fornire il place_page_set_id nel promoted_object. Questo PageSetdeve essere un insieme di pagine senza un insieme esplicito di sedi. Vedi Creare il PageSet con la struttura JSON Luoghi per creare questo PageSet. Tuttavia, in questo caso non passare il parametro pages.

Come prima cosa crea un PageSet che dovrai successivamente fornire in un oggetto promosso:

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/

Nota: non occorre fornire il parametro pages come di consueto.

Quindi, puoi creare un gruppo di inserzioni con l'obiettivo Traffico nel punto vendita che targetizzi geo_locations:

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

Pubblichiamo automaticamente le inserzioni per il punto vendita più vicino alla persona che visualizza l'inserzione.

Passaggio 4: fornire una creatività dell'inserzione

Puoi inserire in modo dinamico una creatività sulla base della posizione di una persona specifica. Personalizza le tue creatività usando un insieme di modelli di placeholder e Facebook sostituisce i placeholder nelle tue inserzioni in runtime con i dati ottenuti dalla posizione della pagina più vicina.

Placeholder disponibili:

  • {{page.hours.today}}
  • {{page.location.city}}
  • {{page.location.region}}
  • {{page.location.postcode}}
  • {{page.location.street_address}}
  • {{page.name}}
  • {{page.phone_number}}

Il campo dynamic_ad_voice consente di controllare la pagina d'origine:

  • Se dynamic_ad_voice è impostato su DYNAMIC, il nome della Pagina e l'immagine del profilo nel post pubblicitario derivano dalla posizione della Pagina più vicina.
  • Se dynamic_ad_voice è impostato su STORY_OWNER, il nome della Pagina e l'immagine del profilo nel post pubblicitario derivano dalla posizione della Pagina principale.

Call to action

Puoi anche aggiungere in modo dinamico dei pulsanti di call to action (CTA) sulla base della posizione di una persona specifica:

  • Quando si usa GET_DIRECTIONS o CALL_NOW, il campo value CTA non è necessario. Gli utenti saranno automaticamente reindirizzati alla sede più vicina o verrà loro richiesto di chiamare il numero di telefono della sede più vicina.
  • MESSAGE_PAGE è consentito solo se dynamic_ad_voice è impostato su STORY_OWNER. I messaggi saranno indirizzati alla Pagina principale.
  • Campo opzionale. Se non specificato per le singole inserzioni, visualizziamo un pulsante Like Page.

Per i dettagli, consulta il riferimento per le creatività dell'inserzione.

Tipo dynamic_ad_voice Tipo call_to_action

DYNAMIC

CALL_NOW


GET_DIRECTIONS

STORY_OWNER

CALL_NOW


GET_DIRECTIONS


LEARN_MORE


MESSAGE_PAGE


ORDER_NOW


SHOP_NOW

Esempi

Fornisci una creatività dell'inserzione usando il nome e la città di una pagina dinamica:

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

Creatività dell'inserzione con unità con mappa

Per utilizzare un'unità con mappa, aggiungi una struttura place_data come allegato nel campo child_attachments per la creatività dell'inserzione.

In questo esempio, la mappa, con un link allo strumento di localizzazione dei punti vendita di Facebook, è il secondo elemento nell'array child_attachments. Devi fornire almeno un elemento in aggiunta all'unità con mappa.

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

Strumento di localizzazione dei punti vendita, destinazione link

Quando crei un'inserzione, se imposti il link su 'https://fb.com/store_locator', l'inserzione verrà visualizzata con lo strumento di localizzazione dei punti vendita come destinazione del link.

Passaggio 5: creare un'inserzione

Crea un'inserzione nel modo seguente:

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

Per creare inserzioni per il traffico nel punto vendita, la tua pagina e il tuo account pubblicitario devono essere approvati per la misurazione delle visite al punto vendita. In caso contrario, verrà visualizzato un errore simile a Reach estimate isn't available because 'store_visits' isn't a valid action type.

Misurazione delle visite al punto vendita

Le visite al punto vendita costituiscono una metrica stimata sulla base dei dati ottenuti dagli utenti con i servizi di localizzazione abilitati, che rende possibile la misurazione delle visite al punto vendita e l'ottimizzazione per l'obiettivo relativo al traffico nel punto vendita. La misurazione delle visite al punto vendita è disponibile solo per le campagne con obiettivo relativo al traffico nel punto vendita.

Le visite al punto vendita sono basate sui clic e sulle visualizzazioni delle inserzioni con obiettivo relativo al traffico nel punto vendita. Si tratta di un numero stimato di visite ai punti vendita di un inserzionista da parte di account del Centro gestione account che hanno visto o cliccato sulle inserzioni di ciascun punto vendita. Puoi configurare la finestra di attribuzione scegliendo di personalizzarla in base ai clic o alle visualizzazioni ottenuti nel corso di 1, 7 o 28 giorni. Se la configurazione non viene personalizzata, si applica l'attribuzione predefinita dell'account pubblicitario. Consulta API Insights, Finestra di attribuzione.

Le funzioni si riferiscono ai report per i seguenti elementi:

  • Visite al punto vendita: il numero di visite stimate al tuo punto vendita e come risultato delle tue inserzioni.
  • Costo per visita al punto vendita: il costo medio per ciascuna visita stimata ai tuoi punti vendita come risultato delle tue inserzioni.

Con Gestione inserzioni

Vedi le colonne in ENGAGEMENT: ACTIONS. Queste colonne vengono visualizzate nell'interfaccia di report per visite al punto vendita e costo per visita al punto vendita.

Nota: i dati sulle visite al punto vendita sono disponibili solo per i punti vendita confermati dal team di Facebook come misurabili per una campagna.

Con l'API Insights

Puoi ottenere i dati sulle visite al punto vendita dall'API Insights. Forniamo questi campi aggiuntivi nelle chiamate generali all'API Insights: cost_per_store_visit_action e store_visit_actions. Consulta il riferimento per l'API Insights.

Parametri

CampoDescrizione
point_estimate
int32

The point prediction of the value