Para ayudar a tu negocio a responder frente al coronavirus (COVID-19), el objetivo de tráfico en el negocio presenta algunos cambios temporales. Más información.
El objetivo de tráfico en el negocio te permite crear campañas publicitarias de Facebook a fin de aumentar el tráfico peatonal y fomentar las ventas en tus establecimientos. Puedes elegir el objetivo de tráfico en el negocio para tu campaña si tienes un negocio con varias tiendas y has añadido sus ubicaciones en Facebook.
Puedes obtener más información en Objetivo de tráfico en el negocio, Servicio de ayuda para publicidad.
Disponible para dispositivos móviles y de escritorio con Facebook (sección de noticias, historias y Marketplace) y para Instagram (sección de noticias y Stories).
Para crear anuncios de catálogo de Advantage+ para este objetivo, la página debe utilizar ubicaciones de Facebook.
objective
establecido en STORE_VISITS
.promoted_object
establecido en el valor de <PARENT_PAGE_ID>
correspondiente.promoted_object
y targeting
del conjunto de anuncios deben incluir un identificador place_page_set_id
de <PAGE_SET_ID>
.optimization_goal
se debe definir en REACH
.billing_event
del conjunto de anuncios debe ser IMPRESSIONS
.PageSet
Facebook utiliza PageSet
para dirigir los anuncios y lo usa como objeto promocionado del anuncio.
Para crear un elemento PageSet
:
PageSet
con la estructura JSON de ubicaciones.<PARENT_PAGE_ID>
es el identificador de la página principal de todas las ubicaciones del negocio. Recupera todas las páginas y ubicaciones del negocio que pertenecen a una página principal y devuelve la longitud y la 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" } } }
Realiza la iteración en cada entrada de los resultados devueltos y verifica que el negocio esté activo en todas las ubicaciones. Para hacerlo, consulta el campo is_permanently_closed
.
Utiliza dos solicitudes GET
para obtener el radio estimado y los parámetros radius
y distance_unit
. De manera alternativa, puedes hacer una llamada a la API por lotes para generar los valores siguientes.
Para hacer esta solicitud, utiliza los valores de latitud y longitud de cada página de la tienda de los resultados del código JSON que se devolvieron 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 agrupar por lotes varias solicitudes en una.
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"
Utiliza los parámetros radius
y distance_unit
obtenidos en las llamadas anteriores junto con el valor de <CHILD_LOCATION_ID>
de cada ubicación como page_id
a fin de crear la estructura JSON de ubicaciones final.
[ { "page_id": 1788030244802584, "radius": 1, "distance_unit": "mile" }, { "page_id": 261533444245300, "radius": 1, "distance_unit": "mile" } ]
Pageset
con la estructura JSON de ubicaciones.Actualmente, el extremo PageSet
solo está disponible para los socios de la lista de autorizados. Ponte en contacto con tu representante de Facebook para obtener acceso a ella.
Ahora puedes crear un elemento PageSet
con la información de la estructura JSON de ubicaciones.
El número máximo de ubicaciones que se puede utilizar en un elemento PageSet
es de 10 000.
Puedes realizar una solicitud asíncrona para crear un elemento PageSet
. Esto te permite crear un elemento PageSets
de gran tamaño con más de 1000 ubicaciones sin experimentar tiempos de espera. Te recomendamos que utilices solicitudes asíncronas siempre que crees un elemento 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 utilizar /ad_place_page_sets
para solicitudes síncronas. Sin embargo, si hay más de 50 ubicaciones, debes utilizar solicitudes asíncronas.
El formato para los parámetros es el mismo que se utiliza para las solicitudes síncronas.
En PageSet
, puedes utilizar el campo metadata
para especificar un radio fijo por ubicación para la entrega de anuncios o para llegar a un tamaño de audiencia concreto. Si seleccionas la última opción, Facebook calcula automáticamente un radio por ubicación para alcanzar ese número de cuentas del Centro de cuentas.
En este ejemplo, el campo metadata
se establece en el tamaño de audience
deseado (se describe a continuación). Consulta metadata
para los radios. Esto devuelve un identificador de ad_place_page_set_async_request
.
{ "id": "405738580111111" }
Más tarde, puedes consultar ese identificador con el permiso ads_read
para obtener el identificador de PageSet
.
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 }
En esta, progress
es un valor de 0.0
a 1
y 1
significa que hemos completado la solicitud y creado un elemento PageSet
.
metadata
para radiosEl campo metadata
indica a Facebook que quieres utilizar un radio fijo para tus ubicaciones o que quieres que Facebook calcule automáticamente los radios por ubicación en función del tamaño de una audiencia concreta.
Ejemplo
Para especificar un radio fijo mediante una solicitud 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/"
Esto significa que quieres que Facebook entregue tu anuncio a personas en un radio de 5 millas de todas las ubicaciones del elemento PageSet
.
Respuesta
{ "id": "1618547271777777" }
Nota: El campo metadata
debe establecerse en fixed_radius
o audience
.
Si utilizas fixed_radius
, debes proporcionar distance_unit
y value
:
{ "fixed_radius": { "distance_unit": "<distance_unit>" "value": <distance> } }
Si utilizas audience
, debes 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
, aunque sin especificar ningún valor de radio. Como alternativa, si utilizas el parámetro locations
y proporcionas radios, tampoco debes proporcionarlo para metadata
.distance_unit
debe ser mile
o kilometer
, y value
debe tener un valor entre 0.7
y 50
para mile
, o entre 1
y 80
para kilometer
.size
en audience
es la cantidad de cuentas del Centro de cuentas en el radio siempre que este tenga una longitud de entre 1
y 80
kilómetros. Si proporcionas un valor de max_radius
, en el radio real, calculamos la variación entre 1
y max_radius
.audience
para metadata
, debes hacer la solicitud con el extremo asíncrono (ad_account_ID/ad_place_page_set_async
).Puedes utilizar solicitudes síncronas para crear un elemento 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
Esto devuelve el identificador de PageSet
que utilizarás más tarde.
{ "id": <PAGE_SET_ID> }
Si el número de páginas es demasiado grande para una llamada cURL
, puedes crear un archivo de texto con 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 definido en STORE_VISITS
y el identificador de página principal como objeto promocionado.
Consulta la referencia de la campaña publicitaria.
Crea un conjunto de anuncios que contenga el anuncio. Consulta la referencia sobre el conjunto de anuncios, las especificaciones de segmentación y las ubicaciones de la página.
En el momento de la entrega, Facebook invalida los anuncios dirigidos a ubicaciones situadas a más de 50 millas de distancia de la ubicación de la página más cercana, también conocida 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
En las campañas de tráfico en el negocio, también puedes segmentar por geo_locations
.
Nota: Para este objetivo, solo puedes utilizar geo_locations
oplace_page_set_ids
en la segmentación del conjunto de anuncios.
Admitimos todos los tipos de segmentación geo_location
en la segmentación y ubicación avanzadas, incluida la segmentación por países, ciudades y códigos postales. También puedes seleccionar location_types
, como recent
, home
o travel_in
.
Deberías proporcionar igualmente place_page_set_id
en promoted_object
. Este elemento PageSet
debe ser un conjunto de páginas sin ningún conjunto explícito de ubicaciones. Consulta cómo crear el conjunto de páginas con la estructura JSON de ubicaciones para crear este PageSet
. Sin embargo, en este caso, no proporciones las páginas de parámetros.
En primer lugar, crea el elemento PageSet
que proporcionarás más tarde 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 proporcionar el parámetro pages
como lo harías normalmente.
Luego, crea un conjunto de anuncios con el objetivo de tráfico en el negocio que segmente según 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
Entregamos anuncios automáticamente para el establecimiento más cercano a la persona que visualiza el anuncio.
Puedes insertar contenido dinámicamente en función de la ubicación de alguien. Personaliza el contenido mediante un conjunto de marcadores de posición de plantillas y Facebook sustituirá los marcadores de los anuncios en tiempo de ejecución con datos de la ubicación de 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 del anuncio:
dynamic_ad_voice
se define como DYNAMIC
, el nombre de la página y la foto del perfil de la publicación del anuncio procederán de la ubicación de la página más cercana.dynamic_ad_voice
se define como STORY_OWNER
, el nombre de la página y la foto del perfil de la publicación del anuncio procederán de la ubicación de la página principal.También puedes añadir dinámicamente botones de llamada a la acción (CTA) basados en la ubicación de alguien:
GET_DIRECTIONS
o CALL_NOW
, el campo value
de llamada a la acción no es necesario. Los usuarios se dirigirán automáticamente a la ubicación más cercana o se les solicitará que llamen al número de teléfono de dicha ubicación. MESSAGE_PAGE
solo se permite si dynamic_ad_voice
se define como STORY_OWNER
. Los mensajes se entregarán en la página principal.Like Page
.Para obtener información detallada, consulta la referencia sobre el contenido del anuncio
Tipo dynamic_ad_voice |
Tipo call_to_action |
---|---|
|
|
|
|
Proporciona contenido del anuncio con una ciudad y un nombre de la 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 imagen con mapa, añade una estructura place_data
como datos adjuntos en el campo child_attachments
del contenido del anuncio.
En este ejemplo, el mapa con un enlace de localizador de tienda de Facebook es el segundo elemento de la matriz child_attachments
. Debes proporcionar un elemento como mínimo, además de la imagen 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
Al crear un anuncio, si estableces link
en "https://fb.com/store_locator", el anuncio se muestra con el localizador de la tienda como destino del enlace.
Crea un anuncio como se indica 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 para el tráfico en el negocio, la página y la cuenta publicitaria deben aprobarse para la medición de las visitas en el negocio. En caso contrario, se muestra un error similar a Reach estimate isn't available because 'store_visits' isn't a valid action type
.
Las visitas en el negocio son una métrica estimada basada en datos de los usuarios con los servicios de ubicación activados. En última instancia, ofrece la medición y optimización de las visitas en el negocio para el objetivo de tráfico en el negocio. Las mediciones de visitas en el negocio solo están disponibles para campañas con el objetivo de tráfico en el negocio.
Las visitas en el negocio se basan en los clics y las visualizaciones de los anuncios con el objetivo de tráfico en el negocio. Se trata del número estimado de visitas a las tiendas de un anunciante por parte de cuentas del Centro de cuentas que han visto los anuncios de cada tienda o han hecho clic en ellos. Puedes configurar el intervalo de atribución y personalizarlo según los clics o las visitas del último día, los últimos 7 días o los últimos 28 días. La atribución predeterminada de la cuenta publicitaria se aplica siempre que no se personalice la configuración. Consulta API de insights, Intervalo de atribución.
Las funciones están relacionadas con los informes para los elementos siguientes:
Consulta las columnas bajo ENGAGEMENT: ACTIONS
. Estas columnas se muestran en la interfaz de informes para las visitas en el negocio y el coste por visita en el negocio.
Nota: Los datos de visitas en el negocio solo están disponibles para los establecimientos que el equipo de Facebook confirma que se pueden medir para una campaña.
Puedes obtener datos sobre las visitas en el negocio de la API de insights. Proporcionamos estos campos adicionales en las llamadas de insights generales: cost_per_store_visit_action
y store_visit_actions
. Consulta la referencia sobre insights.
Campo | Descripción |
---|---|
point_estimate int32 | The point prediction of the value |