La API de conversiones offline dejará de estar disponible en mayo de 2025. Antes estaba previsto que dejase de estar disponible en el tercer trimestre de 2024. A partir de la versión 17.0 de la API Graph, la API de conversiones offline deja de admitir los eventos offline. La versión 16.0 de la API Graph es la última versión que admite los eventos offline. La API de conversiones offline dejará de estar disponible cuando caduque la versión 16.0 en mayo de 2025. Entre este momento y mayo de 2025, iremos retirando los extremos restantes de la API de conversiones offline en la versión 20.0 de la API de marketing. Consulta el registro de cambios para obtener más información.
En febrero de 2023, anunciamos que la API de conversiones iba a admitir completamente los eventos offline. Recomendamos que los anunciantes usen la API de conversiones para nuevas integraciones. También recomendamos que los anunciantes con integraciones existentes de la API de conversiones offline conviertan su 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 hayan completado la conversión correctamente. 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 consultar cuántos clientes han visto los anuncios de Meta o han hecho clic en ellos antes de la conversión.
Para usar esta API, necesitas:
Si aún no tienes una cuenta, créala.
Para acceder a la API de marketing. Para crear una aplicación de Meta:
Las reglas sobre los permisos y la revisión de la aplicación dependen de cómo implementas nuestra API:
Tipo de implementación | Revisión de la aplicación y permisos |
---|---|
Implementación directa | En este caso, eres un anunciante que quiere usar las conversiones offline directamente. En este caso:
|
Socios que realizan la implementación como una plataforma | En este caso, eres un socio independiente que ofrece funcionalidades de conversiones offline para anunciantes que usan los servicios. En este caso:
|
Si una aplicación cuenta con acceso de usuario al sistema, podrá enviar datos a Meta mediante la API. Para crearlo, haz lo siguiente:
Un identificador de acceso permite acceder a los datos de Meta. Para crear identificadores de acceso de usuarios del sistema, haz lo siguiente:
Para poner en circulación campañas publicitarias en Meta, necesitas una cuenta publicitaria. Para crear una, consulta API de marketing o Servicio de ayuda para empresas: Información sobre la configuración de la empresa en Meta Business Manager.
Concede acceso a la cuenta publicitaria al usuario del sistema.
Se trata de archivos que se han subido con datos de conversión sin conexión. Al crear un anuncio, establece tracking_spec
en el identificador del conjunto de eventos offline para atribuir correctamente los eventos. Seguidamente, puedes crear conjuntos de eventos, ver estadísticas de importaciones y eliminar o modificar estos datos en Business Manager.
Con las implementaciones más antiguas, puedes realizar operaciones CRUD en los conjuntos de eventos offline en el nivel de Business Manager para compartir los conjuntos de eventos con otros objetos y entidades.
Necesitas un acceso específico para crear conjuntos de eventos offline, subir o ver los datos de un conjunto de eventos. También lo necesitas para asignar estos permisos a una cuenta publicitaria. Debes contar con uno de los siguientes roles:
ad_account
conectado al conjunto de eventos offline.Consulta la referencia sobre los conjuntos de eventos de conversión offline.
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
Realiza una solicitud 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 un valor de id
del 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 los permisos de seguimiento y lectura 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 una cuenta publicitaria a este identificador del negocio. |
Tipo: entero | Identificador de la cuenta publicitaria con el seguimiento fuera de internet activado. |
Al actualizar tracking_spec
, se sobrescribe. Asegúrate de realizar la solicitud GET
primero y, a continuación, añade el objeto String
asociado del conjunto de eventos offline al objeto tracking_spec
existente. 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 los 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 en 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 desde 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, realiza 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. Realiza un seguimiento de las cargas de eventos. Ejemplo: |
Tipo: | Obligatorio. Incluye el número de eventos que se suben. Puedes subir un evento de conversión por cuenta del Centro de cuentas hasta un máximo de 2000 eventos por llamada a la API. Ejemplo: consulta el ejemplo anterior. |
Tipo: entero | Opcional. Ámbito utilizado para resolver Ejemplo: |
Usa el mismo parámetro upload_tag
para todas las llamadas a la API de subida de eventos del mismo lote a fin de agruparlas. De este modo, podrás depurar las subidas de eventos. Asimismo, debes usar este parámetro en todas las subidas de eventos realizadas en más de una llamada a la API.
Entre los parámetros de data
se incluyen:
Parámetro | Descripción |
---|---|
Tipo: diccionario JSON | Obligatorio. Información de identificación que usamos para establecer coincidencias con las personas en Meta. Ejemplo: |
Tipo: entero | Obligatorio. Marca de tiempo UNIX del evento de conversión Ejemplo: |
Tipo: cadena | Obligatorio. Tipo de evento. Ejemplo: |
Tipo: cadena | Obligatorio. Código de divisa ISO de tres letras de este evento de conversión. Obligatorio para los eventos Ejemplo: |
tipo: doble | Obligatorio. Valor de un evento de conversión. Obligatorio para los eventos Ejemplo: |
Tipo: cadena | Opcional. Cualquier Ejemplo: |
Tipo: matriz JSON | Opcional. Obligatorio si integras los anuncios con el catálogo. Obligatorios: Recomendados: Obligatorios: Recomendados: |
Tipo: diccionario JSON | Opcional. Información sobre este evento de conversión Ejemplo: |
Tipo: cadena | Opcional. Identificador único de cada transacción o pedido en un conjunto de eventos offline. Por ejemplo, para el comercio minorista, este puede ser un identificador de recibo. Ejemplo: |
Tipo: cadena | Opcional. Identificador único para distinguir los eventos del mismo pedido o la misma 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 parámetro upload_tag
para todas las llamadas a la API de subida de eventos del mismo lote a fin de agruparlas. De este modo, podrás depurar las subidas de eventos. Asimismo, debes usar este parámetro en todas las subidas de eventos que precisen más de una llamada a la API.
El parámetro match_keys
es un conjunto de identificadores que se usan para establecer coincidencias con las personas para realizar la atribución. Consulta Audiencias personalizadas a partir de datos de CRM para normalizar los datos y aplicar algoritmos hash en ellos. Solo se admite el algoritmo SHA256 y no se aceptan datos sin cifrar.
para obtener ejemplos de datos cifrados con hash y normalizados correctamente para los parámetros siguientes.
Nombres de los parámetros | Parámetro | Cifrado obligatorio |
---|---|---|
Direcciones de correo electrónico |
| SÍ |
Números de teléfono |
| SÍ |
Género |
| SÍ |
Fecha de nacimiento |
| SÍ |
Apellidos |
| SÍ |
Nombre |
| SÍ |
Ciudad |
| SÍ |
Estados de 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 |
| Altamente recomendado |
Identificador de cliente potencial de los anuncios para este tipo de clientes |
| NO aplicar hash |
La respuesta:
Nombre | Tipo | Descripción |
---|---|---|
| Entero | Número de entradas procesadas |
En los errores se muestra una excepción que incluye las entradas no válidas y el motivo. Corrige los errores u omite las filas de datos con errores y reintenta la llamada a la API.
El usuario del sistema o el administrador de Business Manager que crea un conjunto de eventos offline puede recuperar las estadísticas de carga. Cualquier administrador del objeto ad_account
conectado a dicho conjunto puede leer los datos.
Para ver estadísticas sobre los conjuntos de eventos offline, como entradas válidas y coincidentes:
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
Consulta desgloses diarios de eventos offline en Offline Events Manager
en Business Manager. Para acceder a 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. Marca de tiempo UNIX. Consulta los eventos a partir de esta hora. Ejemplo: |
Tipo: entero | Opcional. Marca de tiempo UNIX. Excluye los eventos que se producen a partir de esta hora. Ejemplo: |
Tipo: | Opcional. Lista de cadenas. Este extremo proporciona todos los campos hasta la versión 3.0 y, después de esta, proporciona |
Tipo: booleano | Opcional. Devuelve el tiempo medio de retraso de subida en segundos cuando el tiempo de agregación se establece en |
Tipo: cadena | Opcional. Añade resultados en función de este tiempo establecido. Las opciones son |
Actualmente, las conversiones personalizadas offline no proporcionan relleno. No atribuimos datos de las cargas de eventos que se realizan antes de crear las conversiones personalizadas. Los datos de las conversiones personalizadas offline no se pueden usar para la optimización de la entrega de anuncios. Consulta la referencia sobre las conversiones personalizadas.
Para crear una conversión personalizada con tus eventos offline, realiza una solicitud 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 conversión personalizada Ejemplo: |
Tipo: entero | Identificador del conjunto de eventos offline del que se debe realizar un seguimiento. Ejemplo: |
Tipo: cadena | Uno de los nueve eventos estándar del píxel de Meta. Ejemplo: |
Tipo: cadena con codificación JSON | Operadores y datos para la regla de conversión. Consulta la referencia sobre las conversiones personalizadas. Por ejemplo, compras superiores a 100 USD. Ejemplo: |
En caso de realizarse correctamente, la respuesta será la siguiente:
{ "id": <CUSTOM_CONVERSION_ID> }
Puedes usar el campo custom_data
para crear reglas que posteriormente determinen si una conversión se cuenta o no. Es similar a las audiencias personalizadas fuera de internet. El número máximo de conversiones personalizadas que puedes tener por cuenta publicitaria es de 40.
Por ejemplo, incluye la categoría de producto 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 los eventos de conversión offline al anuncio de tu cliente, sigue estos pasos. En la mayoría de estos pasos, se realizan las mismas llamadas a la API que cuando alguien administra su propio conjunto de eventos offline o cuando se administran las campañas.
Estos pasos variarán dependiendo de cómo se configuren los permisos de agencia o socio respecto a las cuentas publicitarias del cliente:
Para configurar estos permisos, consulta Activos de Business Manager.
Comparte el conjunto de eventos con el Business Manager de tu cliente. A continuación, tu cliente podrá usarlo para realizar 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 Business Manager del cliente |
Comparte los conjuntos de eventos offline que ha creado un socio con su cliente. Para poder activar el seguimiento de los anuncios en una cuenta publicitaria, debes ser el usuario administrador del sistema o el administrador de Business Manager que ha creado el conjunto de eventos offline. También puedes activarlo si eres un administrador de la cuenta publicitaria conectada al conjunto de eventos offline. Para realizar esta llamada a la API, el negocio que figura debe tener acceso al conjunto de eventos offline.
Puedes asignar permisos de visualización y de seguimiento de eventos offline a una cuenta publicitaria con la siguiente 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 una cuenta publicitaria a este identificador del negocio. |
Tipo: entero | Identificador de la cuenta publicitaria con el seguimiento fuera de internet activado |
En determinadas situaciones, puedes proporcionar tus propios identificadores externos para representar a un cliente y establecer una coincidencia con una persona. Para ello, usa extern_id
de acuerdo con las normas que se indican a continuación.
Los socios de datos que han realizado el proceso de establecimiento de coincidencias pueden usar el identificador de socio como identificador del espacio de nombres y extern_id
como tpid
.
match_keys
Se usa el parámetro match_keys
para intentar determinar si con los datos de conversión que has compartido se pueden establecer coincidencias con un usuario de Meta. Si proporcionas match_keys
, tampoco puedes proporcionar un parámetro namespace_id
.
match_keys
y extern_id
Se usa el parámetro match_keys
para intentar buscar personas en Meta y reenviar las asignaciones de {dataset_id, extern_id}
a {facebook_user_id}
. Si proporcionas match_keys
y extern_id
, no puedes proporcionar también namespace_id
.
extern_id
Si ya has enviado datos con match_keys
y extern_id
, Meta usa {dataset_id, extern_id}
para recuperar un valor de {facebook_user_id}
.
namespace_id
El parámetro namespace_id
se aplica a toda la llamada a la API. Puedes usarlo para consultar otro conjunto de eventos offline que esté accesible o pertenezca a un identificador del perfil de socio o negocio. Si ya has enviado datos con match_keys
y extern_id
, Meta usa {namespace_id, extern_id}
para recuperar un valor de {facebook_user_id}
. Debes proporcionar solo un valor de extern_id
por fila de datos.
Consulta los eventos offline que se atribuyen a un anuncio que alguien ha visto o en el que ha hecho clic. Tardamos más de un día en atribuir las conversiones offline. Esto quiere decir que debes establecer el intervalo de atribución en 28d_view
o action_attribution_windows=['28d_view']'
. De lo contrario, no aparecerá ninguna conversión en los informes. Consulta API de insights y la Guía de insights.
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 impresiones, clics o datos de conversión. Elementos agrupados por tipo de acción: fuera de internet, en internet, etcétera. Ejemplo: |
Tipo: cadena[] | Métricas de anuncios básicos. Ejemplo: |
Tipo: cadena | Agrega o deduplica datos en este nivel de resultados del informe. Ejemplo: |
Tipo: cadena | Intervalos de tiempo relativos para consultar métricas. Ejemplo: |
El resultado será similar al siguiente:
{ "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 será similar al siguiente:
{ "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" } } }
Para estas dos API, implementa las opciones de tratamiento de datos; para ello, añade data_processing_options
, data_processing_options_country
y data_processing_options_state
en cada evento en el parámetro de datos de los eventos.
Nota: Los eventos de la aplicación y las API de conversiones offline ya no se recomiendan para las nuevas integraciones. En su lugar, se recomienda usar la API de conversiones, ya que ahora admite eventos web, de la aplicación y offline. Para obtener más información, consulta API de conversiones para eventos de la aplicación y API de conversiones para eventos offline.
Para no activar el uso limitado de datos (LDU) de forma explícita, especifica una matriz vacía para cada evento 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 una 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 la ubicación manualmente (por ejemplo, para 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 manualmente los eventos desde un archivo .csv
. En este caso, añade las opciones de tratamiento de datos, el país de tratamiento de datos y el estado de tratamiento de datos como columnas en el archivo. Encontrarás más información sobre este tema en la interfaz de usuario de subida.
Obtén más información sobre las opciones de tratamiento de datos.