El objetivo de tráfico en el negocio te permite crear campañas publicitarias de Facebook para aumentar la cantidad de visitantes y las ventas en tus negocios. Puedes usar el objetivo de tráfico en el negocio para tu campaña si tu negocio tiene varias tiendas y agregaste sus ubicaciones a Facebook.
Obtén más información sobre el Objetivo de tráfico en el negocio, Servicio de ayuda para anunciantes.
Disponible para computadoras y dispositivos móviles con Facebook (feed, Historias y Marketplace) e Instagram (feed e Historias).
Si quieres crear anuncios del catálogo Advantage+ con este objetivo, tu página debe usar ubicaciones de Facebook.
objective
se debe fijar como STORE_VISITS
.promoted_object
se debe fijar en el <PARENT_PAGE_ID>
correspondiente.promoted_object
y targeting
deben contener un place_page_set_id
de un <PAGE_SET_ID>
.optimization_goal
se debe establecer en REACH
.billing_event
debe ser IMPRESSIONS
.PageSet
Facebook usa PageSet
para la segmentación de anuncios y como objeto promocionado en tu anuncio.
Para crear un PageSet
:
PageSet
con el JSON de ubicaciones.<PARENT_PAGE_ID>
es el identificador de la página principal para todas las ubicaciones de tu negocio. Obtiene todas las páginas y ubicaciones del negocio que pertenecen a la página principal, y devuelve la longitud y latitud de cada ubicación:
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
Ejemplo de salida
{ "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" } } }
Itera con cada entrada en los resultados devueltos y verifica que cada ubicación se encuentre activa. Para ello, revisa el campo is_permanently_closed
.
Obtén el radio estimado con dos solicitudes GET
para recibir los parámetros radius
y distance_unit
. Otra opción es hacer una llamada de API por lotes para generar los siguientes valores.
Para hacer esta solicitud, debes usar la latitud y longitud de la página de cada negocio a partir de los resultados de JSON que se devuelven de la página principal. Esto devuelve el radio estimado para cada ubicación.
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/
También puedes disponer en lotes varias solicitudes y formar una sola.
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"
Con los parámetros radius
y distance_unit
, que se obtuvieron de las llamadas anteriores, y el <CHILD_LOCATION_ID>
de cada ubicación como valor de page_id
, puedes crear la siguiente estructura JSON final de ubicaciones:
[ { "page_id": 1788030244802584, "radius": 1, "distance_unit": "mile" }, { "page_id": 261533444245300, "radius": 1, "distance_unit": "mile" } ]
Pageset
con la estructura JSON de ubicacionesEl punto de conexión PageSet
solo se encuentra disponible actualmente para socios en la lista de autorizados. Ponte en contacto con tu representante de Facebook para obtener acceso.
Ahora puedes crear un PageSet
con la información de tu estructura JSON de ubicaciones.
La cantidad máxima de ubicaciones que pueden usarse en un PageSet
es de 10.000.
Puedes hacer una solicitud asincrónica para crear tu PageSet
. Esto te permite crear PageSets
grandes con más de 1000 ubicaciones sin tiempos de espera. Te recomendamos usar solicitudes asincrónicas cuando crees un Pageset
con más de 50 ubicaciones.
Solicitud
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: Puedes usar /ad_place_page_sets
para solicitudes sincrónicas; sin embargo, debes usar solicitudes asincrónicas para más de 50 ubicaciones.
El formato de los parámetros es el mismo que el que usas para solicitudes sincrónicas.
Dentro de tu PageSet
, puedes usar el campo metadata
para especificar un radio fijo por ubicación para la entrega de los anuncios o para llegar a una cantidad de público determinada. Si seleccionas la última opción, Facebook calcula de forma automática un radio por ubicación para llegar a ese número de cuentas del centro de cuentas.
En este ejemplo, la opción metadata
se fija en un número de audience
deseado (descrito a continuación). Consulta metadata
para radios. Con esto se devuelve un identificador ad_place_page_set_async_request
.
{ "id": "405738580111111" }
Luego, puedes consultar ese identificador con permiso PageSet
para obtener el identificador de ads_read
.
curl -i -X GET \ "https://graph.facebook.com/<API_VERSION>/405738580111111?access_token=ACCESS_TOKEN"
Respuesta
{ "id": "405738580111111", "place_page_set": { "id": "555555791481678", "name": "test_2" }, "progress": 1 }
Si progress
se encuentra entre 0.0
y 1
y 1
, significa que se completó tu solicitud y se creó un PageSet
.
metadata
para radiosEl campo metadata
indica a Facebook que deseas usar un radio fijo para tus ubicaciones o que deseas que Facebook calcule automáticamente radios por ubicación según una cantidad de público determinada.
Ejemplo
Para especificar un radio fijo con una solicitud sincrónica:
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/"
Esto significa que deseas que Facebook entregue tu anuncio a personas que se encuentran dentro de un radio de 5 millas de todas las ubicaciones de tu PageSet
.
Respuesta
{ "id": "1618547271777777" }
Nota: El campo metadata
debería configurarse en fixed_radius
o audience
.
Si usas fixed_radius
, es necesario proporcionar distance_unit
y value
:
{ "fixed_radius": { "distance_unit": "<distance_unit>" "value": <distance> } }
Si usas audience
, es necesario proporcionar size
, mientras que max_radius
es opcional:
{ "audience": { "size": <audience size> "max_radius": { // optional "distance_unit": "<distance_unit>" "value": <distance> } } }
Prácticas recomendadas para metadata
locations
; sin embargo, no se especifica un radio en este. Como alternativa, si usas el parámetro locations
y proporcionas radios, tampoco debes incluirlo para metadata
.distance_unit
debe ser mile
o kilometer
, y value
debe hallarse entre 0.7
y 50
para mile
, o entre 1
y 80
para kilometer
.size
en audience
es el número de cuentas del centro de cuentas que se encuentran dentro del radio en tanto este tenga una extensión de 1
a 80
kilómetros. Si proporcionas max_radius
, en el radio real, se calculan variaciones entre 1
y max_radius
.audience
para metadata
, debes hacer tu solicitud con el punto de conexión asincrónico: ad_account_ID/ad_place_page_set_async
.No obstante, para crear un PageSet
puedes usar solicitudes sincrónicas:
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
Esto devuelve un identificador PageSet
que usarás después:
{ "id": <PAGE_SET_ID> }
Si la cantidad de páginas es demasiado grande para una llamada cURL
, puedes crear un archivo de texto que contenga la estructura JSON de ubicaciones y pasarlo al atributo pages
con -F "pages=<locations_json_structure.txt"
.
Crea una campaña publicitaria con el objetivo establecido en STORE_VISITS
y tu identificador de la página principal como objeto promocionado.
Consulta la referencia de campaña publicitaria.
Crea un conjunto de anuncios que incluya tu anuncio. Consulta Conjunto de anuncios, Referencia, Referencia, Especificaciones de segmentación y Referencia, Ubicaciones de páginas.
Al momento de la entrega, Facebook invalida los anuncios orientados a ubicaciones situadas a más de 50 millas de la ubicación de la página más cercana, conocida como la "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
También puedes ejecutar la segmentación por geo_locations
en campañas de tráfico en el negocio.
Nota: Para este objetivo, solo puedes usar geo_locations
, o bien, place_page_set_ids
para la segmentación de conjuntos de anuncios.
Admitimos toda clase de segmentación de geo_location
en segmentación y ubicación avanzada, incluidas las segmentaciones por países, ciudades y códigos postales. También puedes seleccionar location_types
, como recent
, home
o travel_in
.
Deberías, no obstante, proporcionar place_page_set_id
en el promoted_object
. Este PageSet
debe ser una página sin ningún conjunto de ubicación explícito. Para crear este PageSet
, consulta Crear el conjunto de páginas con el JSON de ubicaciones. Sin embargo, en este caso, no debes pasar las páginas de parámetros.
Primero, debes crear un PageSet
, que después proporcionarás en un objeto promocionado:
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: No es necesario que proporciones el parámetro pages
como lo haces normalmente.
Luego crea un conjunto de anuncios con el objetivo de tráfico en el negocio segmentado en 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, entregamos anuncios para el negocio que esté más cerca de la persona que ve tu anuncio.
Puedes insertar contenido de forma dinámica según la ubicación de una persona. Personaliza el contenido con un conjunto de marcadores de posición de plantillas; Facebook los reemplazará en tus anuncios en el tiempo de ejecución por datos de la ubicación de la página más cercana.
Marcadores de posición disponibles:
{{page.hours.today}}
{{page.location.city}}
{{page.location.region}}
{{page.location.postcode}}
{{page.location.street_address}}
{{page.name}}
{{page.phone_number}}
El campo dynamic_ad_voice
te permite controlar la voz de tu anuncio:
dynamic_ad_voice
se fija en DYNAMIC
: el nombre de la página y la foto del perfil de la publicación del anuncio provendrán de la ubicación de la página más cercana.dynamic_ad_voice
se fija en STORY_OWNER
: el nombre de la página y la foto del perfil de la publicación del anuncio provendrán de la ubicación de la página principal.También puedes agregar de forma dinámica botones de llamada a la acción según la ubicación de una persona:
GET_DIRECTIONS
o CALL_NOW
, no es necesario el campo de llamada a la acción value
. Los usuarios accederán de forma automática a la ubicación más cercana o se les solicitará llamar al número de teléfono de esta. MESSAGE_PAGE
solo se permite si dynamic_ad_voice
se fija en STORY_OWNER
. Los mensajes se entregarán a la página principal.Like Page
.Para obtener más información, consulta Referencia, Contenido del anuncio.
Tipo dynamic_ad_voice |
Tipo call_to_action |
---|---|
|
|
|
|
Proporciona contenido del anuncio usando el nombre y la ciudad de una 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 una tarjeta con mapa, agrega una estructura place_data
como adjunto en el campo child_attachments
del contenido del anuncio.
En este ejemplo, el mapa junto con un enlace de localizador de negocios de Facebook es el segundo elemento de la matriz child_attachments
. Debes proporcionar al menos un elemento además de la tarjeta con 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
Durante la creación de un anuncio, si fijas link
en “https://fb.com/store_locator”, el anuncio se genera con el localizador de negocios como destino de enlace.
Crea un anuncio como se muestra a continuación:
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 crear anuncios vinculados al tráfico en el negocio, tu página y cuenta publicitaria deben estar aprobadas para la medición de visitas en el negocio. De lo contrario, se muestra un error similar a Reach estimate isn't available because 'store_visits' isn't a valid action type
.
La métrica de visitas en el negocio se basa en datos de usuarios con servicios de ubicación habilitados. Por último, ofrece medición y optimización de visitas en el negocio para el objetivo de tráfico en el negocio. La medición de visitas en el negocio solo se encuentra disponible para campañas con el objetivo de tráfico en el negocio.
Las visitas en el negocio se basan en clics y vistas a anuncios que usan el mismo objetivo de tráfico en el negocio. Es un número estimado de visitas a los negocios de un anunciante por parte de cuentas del centro de cuentas que vieron los anuncios de los negocios o hicieron clic en ellos. Puedes configurar el intervalo de atribución; tienes la opción de personalizarla en función de clics o vistas 1, 7 y 28 días después. La atribución predeterminada de la cuenta publicitaria se aplica a menos que personalices la configuración. Consulta API de estadísticas, Intervalo de atribución.
Las funciones se relacionan con la generación de informes para los siguientes elementos:
Consulta las columnas en ENGAGEMENT: ACTIONS
. Estas columnas aparecen en la interfaz de generación de informes para las visitas en el negocio y el costo por visita en el negocio.
Nota: Los datos de visitas en el negocio solo se encuentran disponibles para los negocios cuya posibilidad de medición para una campaña se confirma desde el equipo de Facebook.
Puedes obtener datos sobre visitas a la tienda a través de la API de estadísticas. Ofrecemos estos campos adicionales en las llamadas de estadísticas generales: cost_per_store_visit_action
y store_visit_actions
. Consulta la referencia de estadísticas.
Campo | Descripción |
---|---|
point_estimate int32 | The point prediction of the value |