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.
Disponível no Facebook para desktop e para dispositivos móveis (Feed, Stories e Marketplace) e no Instagram (Feed e Stories).
Para criar anúncios de catálogo Advantage+ com esse objetivo, a Página precisa usar as Localizações no Facebook.
objective
como STORE_VISITS
.promoted_object
esteja definido como o <PARENT_PAGE_ID>
correspondente.promoted_object
e o targeting
do conjunto de anúncios precisam conter um place_page_set_id
de um <PAGE_SET_ID>
.optimization_goal
do conjunto de anúncios precisa ser definida como REACH
.billing_event
do conjunto de anúncios deve ser IMPRESSIONS
.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:
PageSet
com a estrutura JSON de localizações.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" } } }
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.
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/
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&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"
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" } ]
Pageset
com a estrutura JSON de localizaçõesNo 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.
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
.
metadata
para raiosO 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
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
.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
.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.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
).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=<locations_json_structure.txt"
.
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.
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
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.
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:
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.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.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:
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.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 |
---|---|
|
|
|
|
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
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
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.
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.
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:
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.
É 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.
Campo | Descrição |
---|---|
point_estimate int32 | The point prediction of the value |