Objetivo de tráfego para o estabelecimento

Para ajudar sua empresa na resposta ao coronavírus (COVID-19), o objetivo de tráfego para o estabelecimento está sendo executado com algumas alterações temporárias. Saiba mais.

O objetivo de tráfego para o estabelecimento permite criar campanhas de anúncios do Facebook para aumentar o tráfego de pessoas e impulsionar as vendas nas suas lojas físicas. Você poderá escolher o objetivo de tráfego para o estabelecimento para sua campanha se tiver uma empresa com várias lojas e adicionar as localizações dos estabelecimentos ao Facebook.

Saiba mais sobre o objetivo de tráfego para o estabelecimento na Central de Ajuda de Anúncios.

Posicionamentos

Disponível no Facebook para desktop e para dispositivos móveis (Feed, Stories e Marketplace) e no Instagram (Feed e Stories).

Otimização da veiculação

  • Otimização de alcance – disponível a todos os anunciantes com acesso a essa API. Otimiza para alcance diário único e exibe "Impressões" como a métrica padrão em relatórios do Gerenciador de Anúncios.

Como criar anúncios de catálogo Advantage+

Para criar anúncios de catálogo Advantage+ com esse objetivo, a Página precisa usar as Localizações no Facebook.

Requisitos

  • As campanhas precisam definir objective como STORE_VISITS.
  • Nas campanhas, é preciso que promoted_object esteja definido como o <PARENT_PAGE_ID> correspondente.
  • O promoted_object e o targeting do conjunto de anúncios precisam conter um place_page_set_id de um <PAGE_SET_ID>.
  • A optimization_goal do conjunto de anúncios precisa ser definida como REACH.
  • O billing_event do conjunto de anúncios deve ser IMPRESSIONS.

Etapa 1: criar um PageSet

O Facebook usa PageSet para fazer o direcionamento de anúncios e como o objeto promovido no seu anúncio.

Para criar um PageSet, faça o seguinte:

  1. Colete localizações de estabelecimentos, isto é, Páginas do Facebook para cada loja física e as localizações da sua empresa principal. Sua empresa principal é conhecida como Página principal.
  2. Crie uma estrutura JSON de localizações que represente todas as suas localizações.
  3. Crie o PageSet com a estrutura JSON de localizações.

Coletar todas as localizações de estabelecimentos

O <PARENT_PAGE_ID> é a identificação da Página principal de todas as suas localizações de estabelecimentos. Ele recupera todas as Páginas e localizações de estabelecimentos que pertencem a uma Página principal e retorna a longitude e a latitude de cada localização:

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

Exemplo de saída

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

Criar uma estrutura JSON de localizações

Reveja cada entrada nos resultados retornados para garantir que todas as localizações estejam abertas para funcionamento. Para fazer isso, verifique o campo is_permanently_closed.

Obtenha o raio estimado usando duas solicitações GET para conseguir os parâmetros radius e distance_unit. Como alternativa, é possível fazer uma chamada de API em lote para gerar os valores abaixo.

Solicitações individuais

Para fazer essa solicitação, use a latitude e a longitude dos resultados JSON retornados para a Página principal. Isso retornará o raio estimado de cada localização.

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/

Solicitações em lote

Também é possível agrupar diversas solicitações em uma só.

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"
Última estrutura JSON de localizações

Use os parâmetros radius e distance_unit obtidos nas chamadas anteriores e o <CHILD_LOCATION_ID> de cada localização como o page_id para criar a última estrutura JSON de localizações.

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

Criar o Pageset com a estrutura JSON de localizações

No momento, o ponto de extremidade PageSet está disponível apenas aos parceiros na lista de permissão. Entre em contato com seu representante do Facebook para obter acesso.

Agora você pode criar um PageSet com as informações da estrutura JSON de localizações.

O número máximo de localizações que podem ser usadas em um PageSet é 10 mil.

Solicitações assíncronas

Você pode fazer uma solicitação assíncrona para criar seu PageSet. Dessa forma, será possível criar PageSets grandes, com mais de 1.000 localizações, sem atingir o tempo limite. Recomendamos usar solicitações assíncronas quando for necessário criar um Pageset com mais de 50 localizações.

Solicitação

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/

Observação: é possível usar /ad_place_page_sets para solicitações síncronas, mas é necessário utilizar solicitações assíncronas quando houver mais de 50 localizações.

O formato dos parâmetros é o mesmo utilizado com as solicitações assíncronas.

No PageSet, use o campo metadata para especificar um raio fixo por localização para a veiculação de anúncio ou para alcançar determinado tamanho de público. Caso você selecione a última opção, o Facebook calculará automaticamente um raio por localização para alcançar esse número de contas da Central de Contas.

Neste exemplo, o campo metadata foi definido como um tamanho de audience desejado (descrito abaixo). Consulte metadata para raios. Isso retorna um ID de ad_place_page_set_async_request.

{
  "id": "405738580111111"
}      

Depois, você pode consultar esse ID com a permissão ads_read para obter a identificação do PageSet.

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

Resposta

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

O progress vai de 0.0 a 1. 1 significa que concluímos sua solicitação e criamos um PageSet.

Como usar metadata para raios

O campo metadata informa ao Facebook se você quer usar um raio fixo para suas localizações ou se prefere que calculemos automaticamente os raios por localização com base em determinado tamanho de público.

Exemplo

Para especificar um raio fixo por meio de solicitação síncrona:

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

Isso significa que você quer que o Facebook veicule o anúncio a pessoas dentro de um raio de 5 milhas de todas as localizações do PageSet.

Resposta

 {
  "id": "1618547271777777"
}

Observação: o campo metadata deve ser definido como fixed_radius ou audience.

Se você usar fixed_radius, será preciso fornecer distance_unit e value:

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

Se você usar audience, será preciso fornecer size, mas max_radius será opcional:

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

Boas práticas para metadata

  • Também é necessário fornecer locations. Porém, não especifique um raio. Por outro lado, se você usar o parâmetro locations e fornecer raios, não faça isso para metadata.
  • A distance_unit deve ser mile ou kilometer e o value deve estar entre 0.7 e 50 para mile ou entre 1 e 80 para kilometer.
  • O parâmetro size em audience corresponde ao número de contas da Central de Contas no raio, desde que tenha entre 1 e 80 quilômetros de comprimento. Se você fornecer um max_radius, calcularemos valores entre 1 e max_radius no raio real.
  • Caso especifique audience para metadata, será necessário fazer sua solicitação com o ponto de extremidade assíncrono (ad_account_ID/ad_place_page_set_async).

Solicitações síncronas

Ainda é possível usar solicitações síncronas para criar um 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

Isso retorna uma identificação de PageSet para uso posterior.

{
  "id": <PAGE_SET_ID>
}

Caso o número de páginas seja grande demais para uma chamada cURL, você pode criar um arquivo de texto com a estrutura JSON de localizações e encaminhá-lo ao atributo pages com -F "pages=&lt;locations_json_structure.txt".

Etapa 2: criar uma campanha

Crie uma campanha de anúncios com o objetivo definido como STORE_VISITS e a identificação da Página principal como o objeto promovido.

Consulte a referência sobre campanha de anúncios.

Etapa 3: criar um conjunto de anúncios

Crie um conjunto para o anúncio. Consulte as referências sobre conjunto de anúncios, especificações de direcionamento e localizações de Página.

No momento da veiculação, o Facebook invalida as localizações de direcionamento dos anúncios que estiverem a mais de 50 milhas da localização de Página mais próxima, conhecida como Página local.

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

Direcionamento geográfico

Também é possível fazer o direcionamento por geo_locations nas campanhas de tráfego para o estabelecimento.

Observação: para esse objetivo, você pode usar apenas geo_locations ou place_page_set_ids no direcionamento de conjuntos de anúncios.

Aceitamos todos os tipos de direcionamento por geo_location para direcionamento e posicionamento avançados, inclusive por países, cidades e códigos postais. Além disso, você pode selecionar location_types, como recent, home ou travel_in.

Também será necessário fornecer place_page_set_id no promoted_object. O PageSet precisa ser um conjunto de Páginas sem localizações explícitas. Consulte Como criar o PageSet com a estrutura JSON de localizações para criar o PageSet. Porém, não encaminhe as Páginas de parâmetro nesse caso.

Primeiro, crie um PageSet para depois fornecê-lo em um objeto promovido:

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/

Observação: não há necessidade de fornecer o parâmetro pages como você faria normalmente.

Depois, crie um conjunto de anúncios com o objetivo de tráfego para o estabelecimento com direcionamento por 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

De forma automática, veiculamos os anúncios para a loja mais próxima à pessoa que visualizar seu anúncio.

Etapa 4: fornecer um criativo do anúncio

Você pode inserir criativos de forma dinâmica com base na localização de uma pessoa. Personalize o criativo por meio de um conjunto de espaços reservados de modelo. No momento da veiculação, o Facebook substituirá esses espaços nos anúncios pelos dados da localização de Página mais próxima.

Espaços reservados disponíveis:

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

O campo dynamic_ad_voice permite que você controle a voz do anúncio:

  • Se dynamic_ad_voice for definida como DYNAMIC, o nome da Página e a foto de perfil na sua publicação de anúncio virão da localização de Página mais próxima.
  • Se dynamic_ad_voice for definida como STORY_OWNER, o nome da Página e a foto de perfil na sua publicação de anúncio virão da localização da Página principal.

Chamada para ação

Também é possível adicionar de forma dinâmica botões de chamada para ação (CTA, pelas iniciais em inglês) com base na localização de uma pessoa:

  • Ao usar GET_DIRECTIONS ou CALL_NOW, o campo value da CTA não é obrigatório. Os usuários serão direcionados automaticamente à localização mais próxima ou deverão ligar para o telefone mais próximo.
  • MESSAGE_PAGE é permitida somente se dynamic_ad_voice for definida como STORY_OWNER. As mensagens serão entregues à Página principal.
  • Campo opcional. Caso não seja especificado para anúncios individuais, exibiremos um botão Like Page.

Consulte a referência sobre o criativo do anúncio para saber mais.

Tipo de dynamic_ad_voice Tipo de call_to_action

DYNAMIC

CALL_NOW


GET_DIRECTIONS

STORY_OWNER

CALL_NOW


GET_DIRECTIONS


LEARN_MORE


MESSAGE_PAGE


ORDER_NOW


SHOP_NOW

Exemplos

Forneça um criativo do anúncio usando a cidade e o nome da Página dinâmica:

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

Criativo do anúncio com cartão de mapa

Para usar um cartão de mapa, adicione uma estrutura place_data como anexo no campo child_attachments do criativo do anúncio.

No exemplo, o mapa com um link do localizador de lojas no Facebook é o segundo item na matriz child_attachments. É necessário fornecer pelo menos um item além do cartão de mapa.

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

Destino do link do localizador de lojas

Ao criar um anúncio, se você definir link como "https://fb.com/store_locator", o destino do link do anúncio será o localizador de lojas.

Etapa 5: criar um anúncio

Crie um anúncio da seguinte forma:

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

Para criar anúncios de tráfego para o estabelecimento, a Página e a conta de anúncios devem ter aprovação para usar a mensuração de visitas ao estabelecimento. Caso contrário, um erro parecido com Reach estimate isn't available because 'store_visits' isn't a valid action type será exibido.

Mensuração de visitas ao estabelecimento

As visitas ao estabelecimento são uma métrica baseada nos dados de usuários que habilitaram os serviços de localização. Além de mensurar as visitas, ela otimiza o objetivo de tráfego para o estabelecimento. Essa mensuração está disponível apenas para campanhas com o objetivo de tráfego para o estabelecimento.

As visitas ao estabelecimento se baseiam nos cliques e nas visualizações de anúncios que usam o objetivo de tráfego para o estabelecimento. Trata-se do número estimado das visitas às lojas de um anunciante por contas da Central de Contas que viram ou clicaram nos anúncios de cada estabelecimento. Você pode configurar a janela de atribuição e personalizá-la com base nos cliques e nas visualizações de 1, 7 ou 28 dias. A atribuição padrão da conta de anúncios será aplicada, a não ser que você personalize a configuração. Consulte a documentação da janela de atribuição da API de Insights.

Os recursos se relacionam aos relatórios dos itens a seguir:

  • Visitas ao estabelecimento – o número de visitas estimadas à sua loja como resultado dos anúncios.
  • Custo por visita ao estabelecimento – o custo médio de cada visita estimada às suas lojas como resultado dos anúncios.

Com o Gerenciador de Anúncios

Consulte as colunas em ENGAGEMENT: ACTIONS. As colunas aparecem na interface dos relatórios de visitas ao estabelecimento e de custo por visita ao estabelecimento.

Observação: os dados de visitas ao estabelecimento estão disponíveis apenas para lojas confirmadas pela equipe do Facebook como mensuráveis para uma campanha.

Com a API de Insights

É possível obter dados sobre as visitas ao estabelecimento com a API de Insights. Fornecemos os campos adicionais cost_per_store_visit_action e store_visit_actions nas chamadas de insights gerais. Consulte a referência sobre insights.

Parâmetros

CampoDescrição
point_estimate
int32

The point prediction of the value