API de eventos de la app

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.

Cómo funciona

Existen tres tipos de eventos de la app:

  • Eventos registrados automáticamente: el SDK de Facebook registra de manera automática las instalaciones y las sesiones de la app, así como las compras realizadas en ella.
  • Eventos estándar: eventos populares que Facebook creó para ti.
  • Eventos personalizados: eventos que creas y que son específicos de tu app.

Un evento de la aplicación se compone de tres partes:

  1. 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.
  2. valueToSum: un valor opcional que Analytics suma a los valores valueToSum de otros eventos de la app que tengan el mismo nombre.
  3. 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.

Antes de empezar

Necesitarás lo siguiente:

  • Tu identificador del anunciante y el identificador de publicidad de un dispositivo Android o Apple (IDFA).
  • Un token de acceso a la app para que Facebook lo autentique. No almacenes el token de acceso de la app en el cliente.

Instalaciones de la app

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:

El formato se modificó para facilitar la lectura.
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
}

Advertencias

  • Deberías informar una sola instalación por usuario. Si es posible, deduplica los identificadores en los niveles del identificador y el usuario.

Consulta nuestra guía de referencia sobre actividades de la app para obtener una lista con los parámetros disponibles.

Activar el seguimiento de anuncios

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

Desactivar el seguimiento de anuncios

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.

Eventos de conversión

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.

El formato se modificó para facilitar la lectura.
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
}

Atribución

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.

Coincidencias avanzadas

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.

El formato se modificó para facilitar la lectura.
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á.

Deduplicación

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.

Información ampliada del dispositivo

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 iOS

Referencia

Obtener cookies para celulares

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

Android

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.

iOS

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
}

Encabezado HTTP con el método XFF

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.

Ejemplo de IPv6

curl ...
  -H "X-Forwarded-For: fd45:f238:3b40:23b1:ffff:ffff:ffff:abcd" \
  https://graph.facebook.com/<APP_ID>/activities/

Ejemplo de IPv4

curl ...
  -H "X-Forwarded-For: 192.168.0.99" \
  https://graph.facebook.com/<APP_ID>/activities

Pruebas

  1. Ve al administrador de eventos.
  2. Haz clic en el icono "Orígenes de datos", ubicado en el lado izquierdo de la página.
  3. Selecciona el nombre y el identificador de tus datos.
  4. Haz clic en "Probar eventos" y selecciona "App" como canal.
  5. Envía una solicitud AE-API con la herramienta de la API Graph.
  6. Tus interacciones aparecerán pronto en la pestaña "Probar eventos".

Discrepancias

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:

  • ¿El SDK de Facebook se integró correctamente?
  • ¿El cliente está usando el identificador de la app equivocado?

Si el informe de Facebook muestra más instalaciones que el MMP:

  • ¿Los intervalos de atribución son iguales? En general, Facebook tiene un intervalo de atribución más largo que la mayoría de los socios de medición de dispositivos móviles.
  • ¿El SDK del MMP se integró correctamente?
  • ¿El cliente está usando el identificador de la app equivocado?
  • ¿La discrepancia se limita a iOS 7? ¿El MMP está recibiendo el identificador de publicidad de Apple (IDFA) desde el dispositivo y lo está pasando adecuadamente a Facebook?

Referencia

Información ampliada de las actividades de la app

Consulta la /application/activitesguía de referencia para obtener más detalles sobre la información ampliada de la app.

Parámetros de datos del usuario

Descarga este archivo CSV

para ver ejemplos de datos cifrados y normalizados correctamente de los parámetros que se indican a continuación.



Descargar (hacer clic con el botón derecho > Guardar enlace como)

Parámetros de datos para la información de los clientes

Datos Parámetro Ejemplo Guía de formato

Ciudad

ct

menlopark

Ciudad en minúscula y sin espacios.

País

country

US

Código de país de dos letras en formato ISO 3166-1 alpha-2.

Fecha de nacimiento

db

19911226

Año, mes y día de nacimiento; por ejemplo, 19971226 para el 26 de diciembre de 1997.

Correo electrónico

em

jsmith@ejemplo.com

Dirección de correo electrónico de la persona en minúscula.

Nombre

fn

john

Nombre en minúscula.

Sexo

ge

m

f o m. Si se desconoce, dejar en blanco.

Apellido

ln

smith

Apellido en minúscula.

Teléfono

ph

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

st

ca

Código de estado de dos letras.

Código postal

zp

94035

Código postal de cinco dígitos.

Nombres de eventos estándar

Event Name Event Parameters _valueToSum

AdClick

fb_ad_type

AdImpression

fb_ad_type

With App Ads, revenue of ads from a third-party platform appears on-screen within your app.

Contact

CustomizeProduct

Donate

fb_mobile_achievement_unlocked

fb_description

fb_mobile_activate_app *

fb_mobile_add_payment_info

fb_success

fb_mobile_add_to_cart

fb_content_type, fb_content_id and fb_currency

Price of item added

fb_mobile_add_to_wishlist

fb_content_type, fb_content_id and fb_currency

Price of item added

fb_mobile_complete_registration

fb_registration_method

fb_mobile_content_view

fb_content_type, fb_content_id and fb_currency

Price of item viewed (if applicable)

fb_mobile_initiated_checkout

fb_content_type, fb_content_id, fb_num_items, fb_payment_info_available and fb_currency

Total price of items in cart

fb_mobile_level_achieved

fb_level

fb_mobile_purchase

fb_num_items, fb_content_type, fb_content_id and fb_currency

Purchase price

fb_mobile_rate

fb_content_type, fb_content_id and fb_max_rating_value

Rating given

fb_mobile_search

fb_content_type, fb_search_string and fb_success

fb_mobile_spent_credits

fb_content_type and fb_content_id

Total value of credits spent

fb_mobile_tutorial_completion

fb_success and fb_content_id

FindLocation

Schedule

StartTrial

fb_order_id and fb_currency

Price of subscription

SubmitApplication

Subscribe

fb_order_id and fb_currency

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.

Parámetros de eventos estándar

Nombre del parámetro de eventos Valor Descripción

_logTime

entero

Parámetro recomendado para especificar el momento en que ocurrió el evento, especificado en tiempo Unix.

_valueToSum

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

fb_content_id

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\"]".

fb_content

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: id, quantity. P. ej., "[{\"id\": \"1234\", \"quantity\": 2,}, {\"id\": \"5678\", \"quantity\": 1,}]".

fb_content_type

cadena

product o product_group

fb_currency

cadena

Código ISO 4217, por ejemplo, "EUR", "USD", "JPY". Obligatorio cuando se pasa _valueToSum como precio o importe de una compra.

fb_description

cadena

Una cadena que contiene la descripción.

fb_level

cadena

Nivel de un juego.

fb_max_rating_value

entero

Límites superiores de una escala de calificación, por ejemplo 5 en una escala de 5 estrellas.

fb_num_items

entero

Número de artículos.

fb_payment_info_available

booleano

1 indica sí, 0 indica no.

fb_registration_method

cadena

Facebook, correo electrónico, Twitter, etc.

fb_search_string

cadena

La cadena de texto que se buscó.

fb_success

booleano

1 indica sí, 0 indica no.