La API de conversiones offline dejará de estar disponible en mayo de 2025. Anteriormente, se debía dejar de estar disponible en el tercer trimestre de 2024. A partir de la versión 17 de la API Graph, la API de conversiones offline dejará de admitir eventos offline. La versión 16.0 de la API Graph es la última que admite eventos offline. La API de conversiones offline dejará de estar disponible en mayo de 2025, cuando caduque la versión 16.0. Entre hoy y mayo de 2025, quedarán obsoletos los puntos de conexión de la API de conversiones offline restantes de la versión 20.0 de la API de marketing. Consulta el registro de cambios para obtener más detalles.
En febrero de 2023, anunciamos que la API de conversiones admite por completo los eventos offline. Recomendamos a los anunciantes que utilicen la API de conversiones en las integraciones nuevas. Además, les recomendamos a aquellos anunciantes que tengan integraciones de la API de conversiones offline preexistentes que conviertan la integración en una integración de la API de conversiones antes de mayo de 2025 y que no actualicen la API de conversiones offline hasta que no hayan realizado correctamente el cambio en la integración. Obtén más información sobre la API de conversiones.
Usa la API de conversiones offline para enviar eventos de conversión offline, y observa cuántos clientes visualizaron o hicieron clic en los anuncios de Meta antes de realizar una conversión.
Para usar esta API, necesitarás lo siguiente:
Si no tienes uno, créalo.
Para obtener acceso a la API de marketing. Para crear una aplicación de Meta:
Las reglas sobre la revisión y los permisos de la app dependen de cómo estés implementando nuestra API:
Tipo de implementación | Revisión de apps y permisos |
---|---|
Implementación directa | En este caso, eres un anunciante que desea usar conversiones offline de forma directa. En este caso:
|
Implementación de socios como plataforma | En este caso, eres un socio externo que ofrece las funcionalidades de las conversiones offline a los anunciantes que usan tus servicios. En este caso:
|
Con el acceso de usuario del sistema, tu app puede enviar datos a Meta mediante la API. Para crearlo, sigue estos pasos:
Un token de acceso permite acceder a los datos de Meta. Para crear tokens de acceso de usuario del sistema, sigue estos pasos:
Necesitas una cuenta publicitaria para poner en circulación campañas publicitarias en Meta. Para crear una, consulta API de marketing o Servicio de ayuda para empresas: Información sobre la configuración del negocio en el administrador comercial de Meta .
Concede acceso del usuario del sistema a tu cuenta publicitaria.
Son archivos que se suben con datos de conversión offline. Cuando creas un anuncio, configura tracking_spec
con el identificador del conjunto de eventos offline para atribuir correctamente los eventos. Luego, puedes crear conjuntos de eventos, ver estadísticas sobre las importaciones y eliminar y modificar estos datos en el administrador comercial.
Con implementaciones anteriores, puedes realizar operaciones CRUD con el conjunto de eventos offline en el nivel del administrador comercial, con el fin de compartir los conjuntos de eventos con otros objetos y entidades.
Necesitas acceso específico para crear conjuntos de eventos offline, subir o ver datos para un conjunto de eventos. Además, necesitas tener este acceso para asignar tales permisos a una cuenta publicitaria. Debe ser una de las siguientes opciones:
ad_account
conectada con el conjunto de eventos offlineConsulta Conjunto de eventos de conversión offline, Referencia.
curl
-F 'access_token=<SYSTEM_USER_ACCESS_TOKEN>'
-F 'name=offline_event_set',
-F 'description=conversion data used for superbowl campaign',
https://graph.facebook.com/<API_VERSION>/<BUSINESS_MANAGER_ID>/offline_conversion_data_sets
Crea una instancia de HTTP POST
:
POST /<BUSINESS_MANAGER_ID>/offline_conversion_data_sets HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<BUSINESS_MANAGER_ID>/offline_conversion_data_sets
La respuesta incluye el id
de un conjunto de eventos:
{ "id": <OFFLINE_EVENT_SET_ID> }
Parámetro | Descripción |
---|---|
Tipo: cadena | Nombre del conjunto de eventos. Ejemplo: |
Tipo: cadena | Descripción del conjunto de eventos. Ejemplo: |
Para asignar permisos de lectura y seguimiento a una cuenta publicitaria:
POST /<OFFLINE_EVENT_SET_ID>/adaccounts HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/adaccounts
Parámetro | Descripción |
---|---|
Tipo: entero | Asigna la cuenta publicitaria a este identificador del negocio. |
Tipo: entero | Identificador de la cuenta publicitaria con seguimiento offline activo. |
Cuando actualices tracking_spec
, lo sobrescribiremos. Asegúrate de generar primero GET
y, luego, anexa el valor asociado de String
a la tracking_spec
existente para el conjunto de eventos offline. Consulta Administración de anuncios o usa el administrador de anuncios. Por ejemplo, proporciona una especificación de seguimiento adecuada:
curl \ -F 'tracking_spec=[{action.type:"offline_conversion", dataset:["123"]}]' \ -F 'access_token=<SYSTEM_USER_ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<AD_ID>
Para actualizar la especificación de seguimiento de tus anuncios:
POST /<AD_ID>/?tracking_specs=[{"action.type":"offline_conversion","dataset": <OFFLINE_EVENT_SET_ID>}] HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<AD_ID>/?tracking_specs=[{"action.type":"offline_conversion","dataset": <OFFLINE_EVENT_SET_ID>}]
Parámetro | Descripción |
---|---|
Tipo: cadena | Realiza un seguimiento de esta acción para el grupo de anuncios. Ejemplo: |
Tipo: lista <id> | Identificador del conjunto de eventos offline. Ejemplo: |
Debes subir la transacción en un plazo de 62 días a partir de la conversión. Sube los datos de conversión:
curl \ -F 'access_token=SYSTEM_USER_ACCESS_TOKEN' \ -F 'upload_tag=store_data' \ -F 'data=[ \ { match_keys: {"phone": ["HASH1","HASH2"], "email": ["HASH3","HASH4"]}, currency: "USD", value: 16, event_name: "Purchase", event_time: 1456870902, contents: [ {id: "A", quantity: 1}, {id: "B", quantity: 2}, {id: "C", quantity: 1} ] custom_data: { }, }, { match_keys: {"lead_id": "12345"}, event_name: "Lead", event_time: 1446336000, contents: [ {id: "A", quantity: 1}, {id: "B", quantity: 2}, {id: "C", quantity: 1} ] custom_data: { event_source: "email", action_type: "sent_open_click", email_type: "email_type_code", email_provider: "gmail_yahoo_hotmail", } }, ]' https://graph.facebook.com/VERSION/OFFLINE_EVENT_SET_ID/events
Para enviar conversiones, genera una solicitud HTTP POST
:
POST /<OFFLINE_EVENT_SET_ID>/events HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/events
Parámetro | Descripción |
---|---|
Tipo: cadena | Obligatorio. Hace un seguimiento de las subidas de eventos. Ejemplo: |
Tipo: | Obligatorio. Incluye el número de eventos que se están subiendo. Sube un evento de conversión por cuenta del centro de cuentas y hasta 2.000 eventos por llamada a la API. Ejemplo: consulta el ejemplo de arriba |
Tipo: entero | Opcional. Ámbito usado para resolver Ejemplo: |
Usa el mismo valor de upload_tag
para todas las llamadas a la API de subida de eventos en el mismo lote con el fin de agruparlas. Permite depurar las subidas de eventos. Deberás usarlo para todas las subidas de eventos que se hagan en más de una llamada a la API.
Los parámetros de data
incluyen:
Parámetro | Descripción |
---|---|
Tipo: diccionario de JSON | Obligatorio. La información de identificación que se usa para buscar coincidencias con personas en Meta. Ejemplo: |
Tipo: entero | Obligatorio. La marca de tiempo UNIX del evento de conversión. Ejemplo: |
Tipo: cadena | Obligatorio. Tipo de evento. Ejemplo: |
Tipo: cadena | Obligatorio. El código de divisa ISO de tres letras de este evento de conversión. Obligatorio en el caso de eventos de Ejemplo: |
Tipo: doble | Obligatorio. Valor del evento de conversión. Obligatorio en el caso de eventos de Ejemplo: |
Tipo: cadena | Opcional. Los anuncios del catálogo Advantage+ Ejemplo: |
Tipo: matriz JSON | Opcional. Obligatorio si integras tus anuncios con un catálogo. Obligatorio: Recomendado: Obligatorio: Recomendado: |
Tipo: diccionario JSON | Opcional. Información sobre este evento de conversión. Ejemplo: |
Tipo: cadena | Opcional. Identificador único para cada transacción o pedido en un conjunto de eventos offline. Por ejemplo, en el caso del sector minorista, puede ser un identificador de recibo. Ejemplo: |
Tipo: cadena | Opcional. Identificador único para distinguir eventos dentro del mismo pedido o transacción. Ejemplo: |
Por ejemplo, puedes subir información con el campo data
:
{ match_keys: MATCH_KEYS, event_time: EVENT_TIME, event_name: "Purchase", value: 400, currency: "USD", contents: [ { id: "A", quantity: 1, brand: "brand_of_A", category: "Apparel & Accessories | Clothing", price: 100, }, { id: "B", quantity: 2, brand: "brand_of_B", category: "Apparel & Accessories | Shoes", price: 50, }, { id: "C", quantity: 1, brand: "brand_of_C", category: "Apparel & Accessories | Jewelry | Watches", price: 200, } ], }
Usa el mismo valor de upload_tag
en todas las llamadas a la API de subida de eventos del mismo lote con el fin de agruparlas. Permite depurar las subidas de eventos. Deberás usarlo en todas las subidas de eventos que se hagan en más de una llamada a la API.
match_keys
es un conjunto de identificadores para hacer coincidir personas por atribución. Consulta Públicos personalizados de datos de la CRM para normalizar y cifrar los datos. Solo SHA256 es compatible y no aceptamos datos sin cifrado.
para ver ejemplos de datos cifrados y normalizados correctamente de los parámetros que se indican a continuación.
Nombres de los parámetros | Parámetro | Requiere cifrado |
---|---|---|
Direcciones de correo electrónico |
| SÍ |
Números de teléfono |
| SÍ |
Género |
| SÍ |
Fecha de nacimiento |
| SÍ |
Apellido |
| SÍ |
Nombre |
| SÍ |
Ciudad |
| SÍ |
Estados de los EE. UU. |
| SÍ |
Códigos postales |
| SÍ |
País |
| SÍ |
Identificador de publicidad de Apple |
| SÍ |
Identificador de publicidad de Android |
| SÍ |
Identificador de usuario de terceros |
| Muy recomendado |
Identificador del cliente potencial a partir de los anuncios para clientes potenciales |
| NO cifrar |
Respuesta:
Nombre | Tipo | Descripción |
---|---|---|
| Número entero | Cantidad de entradas procesadas |
Cuando hay errores, se muestra una excepción que incluye las entradas no válidas y la razón. Resuelve los errores u omite las filas de datos con errores, y vuelve a intentar la llamada a la API.
Tanto el administrador del administrador comercial como el usuario del sistema que creó el conjunto de eventos offline pueden recuperar las estadísticas de subida. Además, todos los administradores en el campo ad_account
que está conectado con el conjunto de eventos offline pueden leer estos datos.
Para consultar estadísticas sobre los conjuntos de eventos offline, tales como las entradas válidas y aquellas con coincidencias:
GET /<OFFLINE_EVENT_SET_ID>/uploads HTTP/1.1
Host: graph.facebook.com
curl -X GET -G \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/uploads
Visualiza desgloses diarios de eventos offline en Offline Events Manager
dentro del administrador comercial. Para obtener desgloses más precisos, haz esta llamada:
GET /<OFFLINE_EVENT_SET_ID>/stats HTTP/1.1
Host: graph.facebook.com
curl -X GET -G \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/stats
Parámetro | Descripción |
---|---|
Tipo: entero | Opcional. La marca de tiempo UNIX. Eventos de consulta que empiezan en este momento. Ejemplo: |
Tipo: entero | Opcional. La marca de tiempo de UNIX. Excluye los eventos que se producen a partir de este momento. Ejemplo: |
Tipo: | Opcional. Lista de cadenas. Este punto de conexión ofrece todos los campos hasta la versión 3.0 y después ofrece |
Tipo: booleano | Opcional. Devuelve el tiempo de retraso promedio de subida en segundos cuando el tiempo de agregación está configurado como |
Tipo: cadena | Opcional. Resultados agregados basados en esta hora configurada. Las opciones son |
Las conversiones personalizadas offline por el momento no ofrecen respaldo. No atribuimos datos de subidas de eventos realizadas antes de la creación de la conversión personalizada. No puedes usar los datos de conversión personalizada offline para optimizar la entrega de anuncios. Consulta Conversión personalizada, Referencia.
Para crear una conversión personalizada usando los eventos offline, crea una instancia de POST
:
POST /act_<ACCOUNT_ID>/customconversions HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/act_<ACCOUNT_ID>/customconversions
Parámetros:
Parámetro | Descripción |
---|---|
Tipo: cadena | Nuevo nombre de la conversión personalizada. Ejemplo: |
Tipo: entero | Identificador del conjunto de eventos offline del que se realizará un seguimiento. Ejemplo: |
Tipo: cadena | Uno de los nueve eventos estándar del píxel de Meta. Ejemplo: |
Tipo: cadena con codificación de JSON | Operadores y datos para la regla de conversión. Consulta la referencia sobre la conversión personalizada. Por ejemplo, compras superiores a 100 USD. Ejemplo: |
Si se realiza correctamente, la respuesta será la siguiente:
{ "id": <CUSTOM_CONVERSION_ID> }
Puedes usar el campo custom_data
para crear reglas que determinen luego si una conversión se tendrá en cuenta o no. Esto es similar al uso de públicos personalizados offline. El número máximo de conversiones personalizadas que puedes tener por cuenta publicitaria es 40.
Por ejemplo, incluye la categoría de productos en las subidas con custom_data
:
data=[ { match_keys: {"phone": ["<HASH>","<HASH>"], "email": ["<HASH>","<HASH>"]}, currency: "USD", value: 16, event_name: "Purchase", event_time: 1456870902, custom_data: { product_category: "ICECREAM", }, }, ]
A continuación, usa custom_data.{YOUR_CUSTOM_PARAM}
para crear una regla de conversión personalizada:
curl \ -F 'name=Ice Cream Purchasers' \ -F 'custom_event_type=Purchase' \ -F 'event_source_id=<OFFLINE_EVENT_SET_ID>' \ -F 'rule={"and": [{"event_name":{"eq":"Purchase"}},{"custom_data.product_category":{"i_contains":"ICECREAM"}}]}' \ -F 'access_token=<ACCESS_TOKEN>' \ "https://graph.facebook.com/<API_VERSION>/act_<ACCOUNT_ID>/customconversions"
Para atribuir eventos de conversión offline al anuncio del cliente, sigue estos pasos. Las llamadas a la API para la mayoría de estos pasos son las mismas que cuando alguien administra su propio conjunto de eventos offline y se encarga de la administración de la campaña.
Estos pasos varían según cómo se configuren los permisos del socio o la agencia con las cuentas publicitarias del cliente:
Para configurar estos permisos, consulta Activos del administrador comercial.
Comparte el conjunto de eventos con el administrador comercial del cliente. El cliente puede usar luego el conjunto de eventos para hacer el seguimiento de los anuncios.
GET /<OFFLINE_EVENT_SET_ID>/agencies HTTP/1.1
Host: graph.facebook.com
curl -X GET -G \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/agencies
Parámetro | Descripción |
---|---|
Tipo: entero | Identificador del administrador comercial del cliente. |
Comparte los conjuntos de eventos offline creados por un socio con el cliente. Debes tener el rol de administrador en el administrador comercial o ser el usuario administrador del sistema que creó el conjunto de eventos offline para activar el seguimiento de los anuncios en una cuenta publicitaria. También puedes hacerlo si eres administrador de la cuenta publicitaria conectada con el conjunto de eventos offline. Para hacer esta llamada a la API, el negocio de la llamada debe tener acceso al conjunto de eventos offline.
Puedes asignar los permisos de seguimiento y visualización de los eventos offline a una cuenta publicitaria con esta llamada:
POST /<OFFLINE_EVENT_SET_ID>/adaccounts HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/adaccounts
Parámetro | Descripción |
---|---|
Tipo: entero | Asigna la cuenta publicitaria a este identificador del negocio. |
Tipo: entero | Identificador de la cuenta publicitaria con el seguimiento offline activo. |
Es posible que haya situaciones en las que proporciones tu propio identificador externo para representar a un cliente y hacerlo coincidir con una persona. Para hacerlo, usa una instancia de extern_id
que siga estas normas.
Los socios de datos que siguieron el proceso de coincidencia pueden usar el identificador del socio como identificador del espacio de nombres y extern_id
como tpid
.
match_keys
Usamos match_keys
para intentar determinar si los datos de conversión que compartiste pueden coincidir con un usuario de Meta. Si proporcionas match_keys
, tampoco puedes incluir un parámetro namespace_id
.
match_keys
y extern_id
Usamos match_keys
para encontrar personas en Meta y reenviar asignaciones de {dataset_id, extern_id}
a {facebook_user_id}
. Si proporcionas match_keys
y extern_id
, tampoco puedes incluir un parámetro namespace_id
.
extern_id
Si ya enviaste datos con match_keys
y extern_id
, Meta usa {dataset_id, extern_id}
para recuperar un {facebook_user_id}
.
namespace_id
El parámetro namespace_id
se aplica a toda la llamada a la API. Puedes usarlo para remitir a otro conjunto de eventos offline al que puede acceder un identificador de perfil de socio o un negocio, o bien que sea de su propiedad. Si ya enviaste datos con match_keys
y extern_id
, Meta usa {namespace_id, extern_id}
para recuperar un {facebook_user_id}
. Solo debes proporcionar un extern_id
por fila de datos.
Consulta los eventos offline atribuidos a un anuncio que alguien visualizó o en el que hizo clic. Atribuimos las conversiones offline después de más de un día. Esto significa que debes configurar tu intervalo de atribución con los valores 28d_view
o action_attribution_windows=['28d_view']'
; de lo contrario, no verás ninguna conversión en los reportes. Consulta la API de estadísticas y la Guía de estadísticas.
GET /act_<ADACCOUNT_ID>/insights HTTP/1.1
Host: graph.facebook.com
curl -X GET -G \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/act_<ADACCOUNT_ID>/insights
Parámetro | Descripción |
---|---|
Tipo: cadena[] | Desglose de datos de impresión, clic o conversión. Agrupados por tipo de acción: offline, online, etc. Ejemplo: |
Tipo: cadena[] | Las métricas básicas del anuncio. Ejemplo: |
Tipo: cadena | Datos agregados o deduplicados en este nivel de resultados de creación de informes. Ejemplo: |
Tipo: cadena | Intervalos de tiempo relativos a las métricas de la consulta. Ejemplo: |
Los resultados se ven de la siguiente manera:
{ "data": [ { "date_start": "2015-12-01", "date_stop": "2015-12-01", "actions": [ { "action_type": "offline_conversion.purchase", "value": 1 }, { "action_type": "offsite_conversion.lead", "value": 3 }, ], ... } ] }
Por ejemplo, para ver la atribución:
curl -G \ -d 'access_token=<SYSTEM_USER_ACCESS_TOKEN>' \ -d 'fields=unique_actions,action_values' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/insights
El resultado tiene el siguiente aspecto:
{ "data": [ { "unique_actions": [ { "action_type": "link_click", "value": 94 }, { "action_type": "offline_conversion", "value": 1 }, { "action_type": "offline_conversion.purchase", "value": 1 }, { .... "value": 1 } ], "action_values": [ { "action_type": "offline_conversion.purchase", "value": 27.5 }, { "action_type": "offline_conversion", "value": 27.5 } ], "date_start": "2016-06-06", "date_stop": "2016-06-07" } ], "paging": { "cursors": { "before": "MAZDZD", "after": "MAZDZD" } } }
En estas dos API, implementa opciones de procesamiento de datos agregando data_processing_options
, data_processing_options_country
y data_processing_options_state
en cada evento dentro del parámetro de datos de los eventos.
Nota: Ya no se recomiendan las API de eventos de la app y de conversiones offline para realizar las nuevas integraciones. En cambio, sí se recomienda que uses la API de conversiones, porque ahora admite eventos offline, de la web y de la app. Consulta la API de conversiones de eventos de la app y la API de conversiones de eventos offline para obtener más información.
Si no deseas activar el uso limitado de datos (LDU), especifica una matriz vacía relacionada con los eventos o, simplemente, elimina el campo en la carga útil:
{ "data": [ { "event_name": "Purchase", "event_time": <EVENT_TIME>, "user_data": { "em": "<EMAIL>" }, "custom_data": { "currency": "<CURRENCY>", "value": "<VALUE>" }, "data_processing_options": [] } ] }
Para activar el LDU y que Meta realice la geolocalización:
{ "data": [ { "event_name": "Purchase", "event_time": <EVENT_TIME>, "user_data": { "em": "<EMAIL>", "client_ip_address": "256.256.256.256" }, "custom_data": { "currency": "<CURRENCY>", "value": "<VALUE>" }, "data_processing_options": ["LDU"], "data_processing_options_country": 0, "data_processing_options_state": 0 } ] }
Para activar el LDU y especificar manualmente la ubicación, por ejemplo, California:
{ "data": [ { "event_name": "Purchase", "event_time": <EVENT_TIME>, "user_data": { "em": "<EMAIL>" }, "custom_data": { "currency": "<CURRENCY>", "value": "<VALUE>" }, "data_processing_options": ["LDU"], "data_processing_options_country": 1, "data_processing_options_state": 1000 } ] }
La API de conversiones offline ofrece la opción de subir los eventos de forma manual desde un archivo .csv
. En este caso, las opciones de procesamiento de datos, el país de procesamiento de datos y el estado de procesamiento de datos se agregan como columnas en el archivo. Puedes obtener más información al respecto en la interfaz de usuario de subida.
Obtén más información sobre las Opciones de procesamiento de datos.