Ya no recomendamos el uso de la API de eventos de la app en nuevas integraciones. La API de conversiones ahora admite eventos web, de la app y sin conexión, por lo que recomendamos que los anunciantes utilicen la API de conversiones, en lugar de la API de eventos de la app. Los usuarios actuales de la API de eventos de la app pueden seguir usándola, pero deberán recordar que discontinuaremos el desarrollo de esta API. Las próximas innovaciones se desarrollarán en la API de conversiones. Obtén más información sobre la API de conversiones para eventos de la app.
Los eventos de la app te permiten hacer un seguimiento de las acciones que se realizan en tu app para celulares o página web, como instalaciones y compras. Al realizar un seguimiento de estos eventos, puedes medir el rendimiento de los anuncios y crear públicos con el fin de segmentar los anuncios.
Para obtener información sobre el seguimiento de eventos de la app de los mensajes comerciales, consulta la API de eventos de la app para mensajes comerciales en nuestra documentación de la plataforma de Messenger.
Existen tres tipos de eventos de la app:
Un evento de la aplicación se compone de tres partes:
name
: una cadena obligatoria que describe el evento. El nombre aparece en el registro de eventos cuando el evento de la app se envía a Analytics.valueToSum
: un valor opcional que Analytics suma a los valores valueToSum de otros eventos de la app que tengan el mismo nombre.parameters
: valores opcionales incluidos con el evento de la app.La cantidad máxima de nombres de eventos diferentes es 1.000. Nota: No se registrarán tipos nuevos de eventos una vez alcanzado este límite y, si lo excedes, es posible que veas el error 100 Invalid parameter
cuando intentes registrar un nuevo evento. Sin embargo, es posible desactivar los eventos obsoletos. Obtén más información sobre los límites de los eventos en las preguntas frecuentes.
Necesitarás lo siguiente:
Envía una solicitud POST
desde tu servidor al punto de conexión /{app-id}/activities
con los parámetros application_tracking_enabled
y advertiser_tracking_enabled
:
curl -i -X POST "https://graph.facebook.com/{app-id}/activities ?event=MOBILE_APP_INSTALL &application_tracking_enabled=0 &advertiser_tracking_enabled=0 &advertiser_id={advertiser-tracking-id} &{app-access-token}"
Si la operación se completa correctamente, la app recibirá la siguiente respuesta:
{ "success": true }
Consulta nuestra guía de referencia sobre actividades de la app para obtener una lista con los parámetros disponibles.
El campo advertiser_tracking_enabled
especifica si una persona activó el seguimiento de anuncios en su dispositivo. Configúralo en 0 para desactivarlo y en 1 para activarlo. Debes recuperar estos datos y devolverlos a Facebook para determinar si el seguimiento de anuncios puede usarse en la optimización o en conversiones. Meta usará los datos del evento (de los socios sobre las actividades de usuarios fuera de Meta) según la Política de datos, entre los que se incluyen el informe publicitario, la detección de fraude y los datos necesarios para crear y mejorar nuestros productos (por ejemplo, productos de entrega de anuncios), pero restringirá el uso de datos sobre personas que se utilizan para personalizar los anuncios a los usuarios. En el caso de los dispositivos que ejecutan versiones anteriores a iOS 6, el valor predeterminado de este parámetro debe ser 1.
Consulta la referencia de AdSuppport de Apple para conocer el estado de seguimiento de un usuario.
En el siguiente fragmento de código, se muestra cómo obtener el valor de la marca de seguimiento activado:
Puedes obtener la configuración actual de la marca de seguimiento activado de la propiedad Settings.shared.isAdvertiserTrackingEnabled
.
print("isAdvertiserTrackingEnabled: \(Settings.shared.isAdvertiserTrackingEnabled)")
Cualquier app puede elegir incluir una configuración para que los usuarios desactiven el seguimiento de anuncios dentro de ella. Facebook solicita a sus socios que incluyan esta opción en su SDK e informen a Facebook la elección del usuario junto con el evento de instalación o conversión. Facebook usa el evento de instalación o conversión para generar informes de anuncios, pero restringe su uso en la optimización de anuncios. La configuración del usuario debe persistir entre diferentes inicios de la app.
Envía una solicitud POST
al punto de conexión /{app-id}/activities
con event
configurado en CUSTOM_APP_EVENTS
y configura advertiser_tracking_enabled
para cada evento individual. Se requiere el parámetro advertiser_id
o attribution
.
curl -i -X POST "https://graph.facebook.com/{app-id}/activities ?event=CUSTOM_APP_EVENTS" &advertiser_id={advertiser-tracking-id} &advertiser_tracking_enabled=1 &application_tracking_enabled=1 &custom_events=[ {"_eventName":"fb_mobile_purchase", "event_id":"123456", "fb_content":"[ {"id": "1234", "quantity": 2,}, {"id": "5678", "quantity": 1,} ]", "fb_content_type":"product", "_valueToSum":21.97, "fb_currency":"GBP", } ] &{app-access-token}"
Si la operación se completa correctamente, la app recibirá la siguiente respuesta:
{ "success": true }
El punto de conexión attribution
devuelve instalaciones y conversiones a partir de los clics realizados sobre el anuncio en el transcurso de 28 días. El administrador de anuncios usa una vista diaria mediante un modelo de atribución de clics de 28 días. Las estadísticas se muestran a partir del momento del clic o la impresión y no del momento de la conversión o la instalación. Esto es importante cuando comparas tu informe con aquellos del administrador de anuncios de Facebook. Además de las solicitudes del evento de la app de clic en el anuncio, debes tener en cuenta las siguientes situaciones:
Solicitudes de atribución de visualizaciones: cuando configuras consider_views=TRUE
, se devuelven los datos de atribución de las instalaciones ocurridas a un día de la impresión del anuncio, siempre que la cuenta del centro de cuentas no haya hecho clic en un anuncio en 28 días. La respuesta devuelta será is_view_through=TRUE
y view_time
reemplazará a click_time
. El resto de las atribuciones son iguales a las que ocurren con los datos de atribución de clics en el anuncio.
Solicitudes entre diferentes campañas: los anunciantes pueden realizar el seguimiento del rendimiento de todos los anuncios que generaron un evento de la app. Facebook enviará solicitudes para eventos de campañas publicitarias siempre que su objetivo no esté configurado en instalaciones de apps para celulares o interacciones con apps para celulares. Estos datos solo se muestran si el anunciante agregó la app al campo "Seguimiento de eventos de la app para celulares" en su anuncio.
Caso de usuario: si el cliente quiere hacer un seguimiento de las instalaciones generadas por un anuncio en una publicación de la página o clics en anuncios del sitio web que envían a los usuarios a un sitio para celulares, puede hacerlo en el administrador de anuncios y Facebook solicitará las instalaciones de la app pertinentes.
Solicitudes entre dispositivos: los anunciantes con apps en distintas plataformas pueden ver los datos de las instalaciones de la app obtenidos a partir de los anuncios en dichas plataformas.
Caso de uso: un usuario hace clic en un anuncio de una app en su iPhone y, después, instala dicha app en su iPad. En ese caso, podemos atribuir la instalación de la app en iPad al anuncio en el iPhone, independientemente de la segmentación del anuncio.
Las coincidencias avanzadas te permiten enviar datos de los clientes a Facebook, donde usamos dichos datos para establecer con mayor precisión qué cuentas del centro de cuentas actuaron en respuesta a tu anuncio. Con estos datos, Facebook puede establecer coincidencias entre los eventos de conversión y tus clientes para optimizar tus anuncios y crear públicos más grandes de remarketing.
Envía una solicitud POST
al punto de conexión /{app-id}/activities
con el parámetro ud
configurado de manera tal que te ayude a hacer un seguimiento de los clientes, como su correo electrónico o número de teléfono. Todos los datos de los clientes deben estar cifrados o Facebook los ignorará. Debes configurar advertiser_tracking_enabled
por cada uno de los eventos.
curl -i -X POST "https://graph.facebook.com/{app-id}/activities ?event=CUSTOM_APP_EVENTS &advertiser_id={advertiser-tracking-id} &advertiser_tracking_enabled=1 &application_tracking_enabled=1 &custom_events=[ {"_eventName":"fb_mobile_purchase", "event_id":"123456", "fb_content":"[ {"id": "1234", "quantity": 2,}, {"id": "5678", "quantity": 1,} ]", "fb_content_type":"product", "_valueToSum":21.97, "fb_currency":"GBP", } ] &ud[em]={sha256-hashed-email} &{app-access-token}"
Si la operación se completa correctamente, la app recibirá la siguiente respuesta:
{ "success": true }
Todos los datos de los usuarios deben procesarse con una función de hash SHA256 antes de ser enviados a Facebook. De lo contrario, Facebook los ignorará.
Para eventos de la app, aplicamos la misma funcionalidad de deduplicación que existe para eventos web. La lógica aprovecha la deduplicación basada en los campos event_id
y event_name
. El parámetro event_id
es un identificador que puede distinguir con precisión eventos similares. Los identificadores de eventos imprecisos pueden hacer que la deduplicación de tu conversación sea incorrecta, y afectar también los informes sobre conversiones y el rendimiento de las campañas.
Envía información del dispositivo, como el ancho y el alto de la pantalla, en la llamada de evento de la app mediante /{app-id}/activities?extinfo
. Los valores deben estar separados por comas y mostrarse en el orden indexado en la guía de referencia de /application/activites
. Cuando se usa extinfo
, todos los valores son obligatorios.
version
debe ser a2
para Android version
debe ser i2
para iOSTe invitamos a asociar los eventos de la app con un advertiser_id
. No obstante, en los dispositivos de Android y aquellos dispositivos de iOS con una versión anterior a iOS 6, también puedes configurar el parámetro attribution
con la cookie del dispositivo móvil.
Nota: Las cookies para celulares no provienen de atributos de dispositivo o usuario. Dichas cookies no son persistentes y están diseñadas para actualizarse de manera frecuente. No uses cookies para celulares en anuncios de retargeting.
Una cookie es una cadena de 22 caracteres alfanuméricos aleatorios.
Obtén el identificador de atribución de Facebook mediante ContentProvider
:
public static final Uri ATTRIBUTION_ID_CONTENT_URI = Uri.parse("content://com.facebook.katana.provider.AttributionIdProvider"); public static final String ATTRIBUTION_ID_COLUMN_NAME = "aid"; public static String getAttributionId(ContentResolver contentResolver) { String [] projection = {ATTRIBUTION_ID_COLUMN_NAME}; Cursor c = contentResolver.query(ATTRIBUTION_ID_CONTENT_URI, projection, null, null, null); if (c == null || !c.moveToFirst()) { return null; } String attributionId = c.getString(c.getColumnIndex(ATTRIBUTION_ID_COLUMN_NAME)); c.close(); return attributionId; }
También puedes obtener el identificador de publicidad desde la app de Android.
Las apps de iOS de Facebook crean las cookies para celulares mediante CFUUIDCreateString
y se expresan en una representación de cadena de UUID de 128 bits.
Obtén el identificador de cookies y el IDFA y envíalos a Facebook como identificadores:
ASIdentifierManager *manager = [ASIdentifierManager sharedManager]; NSString *advertiserID = [[manager advertisingIdentifier] UUIDString]; if (advertiserID) { // do stuff }
Si las solicitudes POST
se realizan desde un lugar central, como un servidor o un proxy, básicamente, se requiere una llamada servidor a servidor y luego un encabezado HTTP con el método XFF para garantizar una información de dispositivo y una ubicación precisas. Envía la dirección IP del dispositivo, en formato IPv4 o IPv6, mediante el parámetro de encabezado HTTP con método XFF, en cada una de las solicitudes de eventos de la app que envías. Al hacer esto, podemos emparejar el advertiser_id
con la dirección IP correcta, que luego podemos usar en nuestra plataforma.
curl ... -H "X-Forwarded-For: fd45:f238:3b40:23b1:ffff:ffff:ffff:abcd" \ https://graph.facebook.com/<APP_ID>/activities/
curl ... -H "X-Forwarded-For: 192.168.0.99" \ https://graph.facebook.com/<APP_ID>/activities
En el caso de que un cliente compare los informes de un socio de medición de dispositivos móviles (MMP) con los informes de Facebook y advierta discrepancias, estos son algunos elementos a tener en cuenta:
Si el informe de Facebook muestra menos instalaciones que el MMP:
Si el informe de Facebook muestra más instalaciones que el MMP:
Consulta la /application/activites
guía de referencia para obtener más detalles sobre la información ampliada de la app.
para ver ejemplos de datos cifrados y normalizados correctamente de los parámetros que se indican a continuación.
Datos | Parámetro | Ejemplo | Guía de formato |
---|---|---|---|
Ciudad |
| menlopark | Ciudad en minúscula y sin espacios. |
País |
| US | Código de país de dos letras en formato ISO 3166-1 alpha-2. |
Fecha de nacimiento |
| 19911226 | Año, mes y día de nacimiento; por ejemplo, |
Correo electrónico |
| jsmith@ejemplo.com | Dirección de correo electrónico de la persona en minúscula. |
Nombre |
| john | Nombre en minúscula. |
Sexo |
| m |
|
Apellido |
| smith | Apellido en minúscula. |
Teléfono |
| 16505551212 | Número de teléfono; solo dígitos con el código de país, el código de área y el número. |
Estado/Provincia |
| ca | Código de estado de dos letras. |
Código postal |
| 94035 | Código postal de cinco dígitos. |
Event Name | Event Parameters | _valueToSum |
---|---|---|
|
| |
|
| With App Ads, revenue of ads from a third-party platform appears on-screen within your app. |
| ||
| ||
| ||
|
| |
| ||
|
| |
|
| Price of item added |
|
| Price of item added |
|
| |
|
| Price of item viewed (if applicable) |
|
| Total price of items in cart |
|
| |
|
| Purchase price |
|
| Rating given |
|
| |
|
| Total value of credits spent |
|
| |
| ||
| ||
|
| Price of subscription |
| ||
|
| Price of subscription |
*Use fb_mobile_activate_app
event in addition to install reporting to exclude users from seeing ads for this app. Do not use this event if you have automatic event logging enabled.
Nombre del parámetro de eventos | Valor | Descripción |
---|---|---|
| entero | Parámetro recomendado para especificar el momento en que ocurrió el evento, especificado en tiempo Unix. |
| valor en punto flotante | Valor numérico del evento individual que se sumará en el informe (consultar más arriba los eventos a los que se recomienda agregarlo). |
| cadena | Número de artículo internacional (EAN), si corresponde, u otros identificadores del producto o del contenido. Con varios identificadores de producto, puede ser, por ejemplo: "[\"1234\",\"5678\"]". |
| cadena | Una lista de objetos JSON que contiene el número de artículo internacional (EAN), cuando corresponde, u otros identificadores de producto o contenido, además de las cantidades y los precios de los productos. Obligatorios: |
| cadena |
|
| cadena | Código ISO 4217, por ejemplo, "EUR", "USD", "JPY". Obligatorio cuando se pasa |
| cadena | Una cadena que contiene la descripción. |
| cadena | Nivel de un juego. |
| entero | Límites superiores de una escala de calificación, por ejemplo 5 en una escala de 5 estrellas. |
| entero | Número de artículos. |
| booleano |
|
| cadena | Facebook, correo electrónico, Twitter, etc. |
| cadena | La cadena de texto que se buscó. |
| booleano |
|