Este documento se ha actualizado.
La traducción en Español (España) no está disponible todavía.
Actualización del documento en inglés: 26 abr.
Actualización del documento en Español (España): 26 feb. 2023

Objetivo de tráfico en el negocio

Para ayudar a tu negocio a hacerle frente al coronavirus (COVID-19), se implementaron algunos cambios temporales en el objetivo de tráfico en el negocio. Más información.

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.

Ubicaciones

Disponible para computadoras y dispositivos móviles con Facebook (feed, Historias y Marketplace) e Instagram (feed e Historias).

Optimización de entrega

  • Optimización de alcance: disponible para todos los anunciantes con acceso a esta API. Optimiza el alcance único diario y muestra "Impressions" como la métrica predeterminada en los informes del administrador de anuncios.

Crear anuncios del catálogo Advantage+

Si quieres crear anuncios del catálogo Advantage+ con este objetivo, tu página debe usar ubicaciones de Facebook.

Requisitos

  • Para las, campañas objective se debe fijar como STORE_VISITS.
  • Para las campañas, promoted_object se debe fijar en el <PARENT_PAGE_ID> correspondiente.
  • Los conjuntos de anuncios promoted_object y targeting deben contener un place_page_set_id de un <PAGE_SET_ID>.
  • El conjunto de anuncios optimization_goal se debe establecer en REACH.
  • El conjunto de anuncios billing_event debe ser IMPRESSIONS.

Paso 1: Crear un PageSet

Facebook usa PageSet para la segmentación de anuncios y como objeto promocionado en tu anuncio.

Para crear un PageSet:

  1. Recopila ubicaciones de negocios, que son páginas de Facebook para cada ubicación de un negocio y ubicaciones para tu negocio principal. Tu negocio principal se denomina página principal.
  2. Crea una estructura JSON de ubicaciones para representar todas tus ubicaciones.
  3. Crea la estructura PageSet con el JSON de ubicaciones.

Recopilar todas las ubicaciones del negocio

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

Crear una estructura JSON de ubicaciones

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.

Solicitudes individuales

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/

Solicitudes por lotes

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&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"
Estructura JSON final de ubicaciones

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

Crear Pageset con la estructura JSON de ubicaciones

El 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.

Solicitudes asincrónicas

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.

Usar metadata para radios

El 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

  • También tienes que proporcionar 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.
  • El parámetro 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.
  • Si especificas audience para metadata, debes hacer tu solicitud con el punto de conexión asincrónico: ad_account_ID/ad_place_page_set_async.

Solicitudes asincrónicas

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=&lt;locations_json_structure.txt".

Paso 2: Crear una campaña

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.

Paso 3: Crear un conjunto de anuncios

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

Segmentación geográfica

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.

Paso 4: Proporcionar el contenido de un 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:

  • Si 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.
  • Si 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.

Llamada a la acción

También puedes agregar de forma dinámica botones de llamada a la acción según la ubicación de una persona:

  • Si se usa 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.
  • Campo opcional. Si no se especifica para anuncios individuales, mostramos un botón Like Page.

Para obtener más información, consulta Referencia, Contenido del anuncio.

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

Ejemplos

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

Contenido del anuncio con una tarjeta con mapa

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

Localizador de negocios (destino de enlace)

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.

Paso 5: Crear un anuncio

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.

Medición de visitas en el negocio

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:

  • Visitas en el negocio: cantidad estimada de visitas en el negocio como resultado de tus anuncios.
  • Costo por visita en el negocio: costo promedio de cada visita estimada a los negocios como resultado de tus anuncios.

Con el administrador de anuncios

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.

Con la API de estadísticas

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.

Parámetros

CampoDescripción
point_estimate
int32

The point prediction of the value