Guía de integración de SKAN para redes de publicidad

De un vistazo: Las redes de publicidad se integran con AppsFlyer SKAdNetworks (SKAN), lo que les permite optimizar campañas y atribuirse el tráfico que generan.

Oferta de AppsFlyer para redes de publicidad

Aprender más sobre la solución SKAN de AppsFlyer para anunciantes:

Guía de soluciones SKAN | Panel de control de SKAN 

  • Atribución de conversiones de la campaña:
    • La integración con AppsFlyer garantiza la atribución a la red de publicidad de todas las instalaciones, los eventos in-app y los ingresos resultantes de las campañas ejecutadas en nombre de los anunciantes.
    • Sin la integración, las instalaciones, los eventos in-app y los ingresos se atribuyen como orgánicos y no a la red de publicidad. 
  • Optimización de campañas:
    • El valor de conversión en el postback está codificado.
    • AppsFlyer permite que las redes de publicidad traduzcan el valor de conversión de cada postback, lo que garantiza que las mismas puedan optimizar sus campañas en función del valor decodificado por aplicación.
  • Sin necesidad de integración directa con cada anunciante: los postbacks de SKAN se envían solo a la red de publicidad y los anunciantes pueden consumir los datos utilizando cualquiera de estas opciones:
    • Integración individual con cada red de publicidad. Una solución que no es escalable, ni para las redes de publicidad ni para los anunciantes. 
    • Una sola integración con AppsFlyer. Escalable tanto para el anunciante como para la red de publicidad.
  • Aumenta tu protagonismo en AppsFlyer: 
    • Las redes de publicidad con integración de SKAN están certificadas e identificadas como tales en el panel de control de AppsFlyer. 
    • Esto asegura a los anunciantes que están trabajando con redes de publicidad que pueden medirse de forma determinista a través de este modelo de atribución.

Flujo de datos de SKAN

5754_Postback_flow_for_SKAD__1_.png

El flujo de postback completo de SKAN es el siguiente:

  1. iOS envía el postback de SKAN a la red de publicidad atribuida.
  2. La red de publicidad realiza una de las siguientes acciones:
    • Enriquecer y reenviar: enriquece el postback de SKAN con el ID de campaña/identificador de fuente de la red de publicidad, el nombre de la campaña y la dirección IP del dispositivo iOS. 
    • Redirigir: la red solicita al dispositivo iOS que redirija el postback directamente a AppsFlyer. En este caso, el enriquecimiento de los datos de la campaña se realizará a través de una API separada entre AppsFlyer y la red de publicidad.
  3. AppsFlyer valida y decodifica el postback. Después, envía el postback decodificado y enriquecido a la red de publicidad (además de compartirlo con el anunciante).

Partes principales de la integración

La integración de SKAN entre AppsFlyer y las redes de publicidad consta de las siguientes partes principales, descritas en este artículo:

  • Las redes de publicidad envían los datos de SKAN a AppsFlyer.
  • Las redes de publicidad reciben los datos enriquecidos y decodificados de AppsFlyer a través de postbacks.

Envío de datos a AppsFlyer

Después de que la red de publicidad reciba el postback de SKAN desde el dispositivo, la red de publicidad lo reenvía a AppsFlyer utilizando uno de los siguientes métodos:

  • Enriquecer y reenviar (POST)
  • Redirigir (método de redireccionamiento HTTP 307)

Al recibir un postback de SKAN, AppsFlyer realiza lo siguiente:

  • Validar el postback: asegurar que sea único.
  • Decodificar el valor de conversión: generar registros de atribución de instalaciones/eventos in-app.
  • Enviar los postbacks decodificados a la red de publicidad.
  • Poner los datos de atribución a disposición de los anunciantes a través de los paneles de control y reportes.

Enriquecer y reenviar

Mediante este método, las redes de publicidad reenvían cada postback recibido del dispositivo a AppsFlyer.

La red de publicidad:

  • Recibe el postback desde el dispositivo iOS.
  • [Obligatorio] Enriquece el postback con:
    • Nombre e ID de la campaña de la red de publicidad.
    • Dirección IP recibida del dispositivo, requerida principalmente para fines de resolución de la geolocalización. 
    • Marca de tiempo del postback, enviada desde el dispositivo iOS.
  • [Opcional] Enriquece el postback con:
    • ID y nombre del conjunto de anuncios
    • ID y nombre del anuncio
    • Nombre de la red de publicidad
    • Código de país
    • ID de aplicación fuente
    • Creatividad
    • Canal
  • Envía el postback a AppsFlyer
  • Nota: Antes de enviar el postback a AppsFlyer, valida la firma de atribución de Apple usando el contenido del postback saliente, para asegurarte de que no corrompiste involuntariamente los datos.

Protocolo de postback enriquecido de SKAN

Punto final

https://skadpostbacks.appsflyer.com/api/postbacks

Método HTTP POST
Tipos de contenido aceptado application/json
Códigos de respuesta

200 OK: el postback recibido tiene un formato válido. 

400: Solicitud incorrecta: JSON mal formado, JSON vacío, faltan campos obligatorios.

Parámetros JSON de postbacks enriquecidos de SKAN

Parámetro

Formato

Descripción

Fuente

version String

Versión de SKAdNetwork

Ejemplo: "version":"2.0"

Postback de SKAN
ad-network-id String

ID de red de publicidad

Ejemplo: "ad-network-id":" abc123defg.SKAdnetwork"

Postback de SKAN
ad-network-name String
  • Nombre de la red de publicidad
  • Ejemplo: ad_network_name=your_network
Red de publicidad
ad-network-country-code String
  • La ubicación del usuario (geolocalización) derivada por la red de publicidad.
  • Se rellena usando códigos ISO 3166 (alfa-2).
  • Ejemplo: CN, ZA
  • Las redes de publicidad suelen derivar la geolocalización de acuerdo con la región objetivo de una campaña determinada.  
  • AppsFlyer utiliza el código de país para rellenar los campos relativos a la geolocalización en los reportes y paneles de control.
Red de publicidad
campaign-id Entero
  • Solo para SKAN 3 e inferiores
  • ID de campaña de SKAdNetwork
  • Ejemplo: "campaign-id":23
Postback de SKAN
transaction-id String

ID de transacción de postback de SKAdNetwork

Postback de SKAN
app-id Entero
  • ID de la aplicación objetivo tal como aparece en AppsFlyer. Siempre tiene el prefijo id.
  • Ejemplo: app_id=id123456789
Postback de SKAN
attribution-signature String Firma de atribución Postback de SKAN 
redownload Booleano Cuando redownload = true, significa que el usuario volvió a descargar la aplicación desde la tienda de aplicaciones. Postback de SKAN
source-app-id Entero
  • ID de la aplicación fuente (publisher)
  • Para SKAN 4, disponible solo en el primer postback, para el nivel 3. Ver documentación de Apple.
Postback de SKAN
conversion-value Entero

El SDK de AppsFlyer establece el valor de conversión de acuerdo con la configuración del anunciante.

Notas:

  • Debido a los umbrales de preservación de la privacidad de iOS, iOS puede no rellenar el parámetro en el postback y el valor será nulo.
  • Nulo y 0 tienen significados diferentes:
    • Nulo: iOS retuvo el valor de conversión
    • 0: el usuario instaló la aplicación pero no realizó ninguna acción medida.  
Postback de SKAN 
ad-network-campaign-id String

Para habilitar un lenguaje común entre las redes de publicidad, los anunciantes y AppsFlyer deben proporcionar tu campaign-id.

Red de publicidad
ad-network-campaign-name String Nombre de la campaña de la red de publicidad asociado con el ID de campaña de la red de publicidad. Este nombre se muestra en los paneles de control y reportes.  Red de publicidad
ad-network-adset-id String

ID del conjunto de anuncios de la red de publicidad

Red de publicidad
ad-network-adset-name String

Nombre del conjunto de anuncios de la red de publicidad

Red de publicidad
ad-network-ad-name String

Nombre del anuncio de la red de publicidad

Red de publicidad
ad-network-ad-id String

ID de anuncio de la red de publicidad

Red de publicidad
ip String
  • La dirección IP del dispositivo que envía el postback.
  • Se admiten direcciones IPv4 e IPv6.
  • Ejemplo: "ip":"198.51.100.1"
Red de publicidad
timestamp String
  • Hora en que la red de publicidad recibió el postback de SKAN. Una marca de tiempo UNIX epoch de 10 dígitos. [Opcional] Se permite una marca de tiempo epoch de 13 dígitos.
  • Ejemplo: 4 de agosto de 2020, 07:25 UTC se traduce como "timestamp": "1596525944"
Red de publicidad
fidelity-type Entero
  • Permite diferenciar entre las opciones de presentación de anuncios que afectan a la atribución. Se indica con los valores 0 y 1 de la siguiente manera: 
    • Anuncios por impresiones (0)
    • Anuncios renderizados por Storekit (1)
  • Campo obligatorio a partir de SKAN V2.2
Postback de SKAN (V2.2+)
did-win Booleano
  • Se utiliza para distinguir entre las campañas que contribuyen o se atribuyen con la instalación. 
  • Si es true, se atribuye a la campaña por traer la instalación.
  • Si es false, se reconoce que la campaña contribuye a la instalación.
Postback de SKAN (V3.0+)
ad-network-source-app-id String

Rellénalo con el ID de publisher que asocies con la aplicación que publica el anuncio. Este suele ser el ID que asignaste al publisher, y no el ID generado por Apple. 

Red de publicidad

postback-sequence-index

Entero
  • Solo para SKAN 4+.
  • El valor representa el número de secuencia (ventana de SKAN), ya sea 0, 1 o 2.
Postback de SKAN 4.0 (iOS 16.2)

coarse-conversion-value

String
  • Solo para SKAN 4+.
  • El valor puede ser low, medium o high.
  • Para el primer postback, solo disponible para el nivel 1. Para el segundo y tercer postbacks, disponible para los niveles 1-3. Ver documentación de Apple.
Postback de SKAN 4.0 (iOS 16.2)

source-identifier

String
  • Solo para SKAN 4+.
  • Reemplaza a campaign-id.
  • El valor puede ser de hasta 4 dígitos.
  • Para el primer postback, hay disponibles hasta 4 dígitos para los niveles 2-3 y 2 dígitos están disponibles para los niveles 0-1. Para el segundo y tercer postbacks, 2 dígitos están disponibles para los niveles 1-3. Para el nivel 0, no hay ningún postback. Ver documentación de Apple.

Postback de SKAN 4.0 (iOS 16.2)

source-domain

String
  • Solo para SKAN 4+.
  • El valor representa la fuente de los anuncios web atribuibles. Ejemplo: example.com
  • Disponible solo en anuncios web, en el primer postback, para el nivel 3. Ver documentación de Apple.
Postback de SKAN 4.0 (iOS 16.2)

Creatividad

String
  • Solo relevante para SKAN 4+.
  • Disponible cuando usas dígitos adicionales en el source_identifier para obtener granularidad adicional de la campaña.
Red de publicidad

canal

String
  • Solo relevante para SKAN 4+.
  • Disponible cuando usas dígitos adicionales en el source_identifier para obtener granularidad adicional de la campaña.
Red de publicidad

Ejemplo de curl: postback de SKAN 3 enriquecido

curl --location --request POST 'https://skadpostbacks.appsflyer.com/api/postbacks?app_id=id888707074' \
  --header 'Content-type: application/json' \
  --data-raw '{
      "version":"3.0",
      "app-id": 888707086,
      "ip": "192.0.2.0",
      "ad-network-campaign-name": "skadnetwork_abc_campaign",
      "source-app-id": 888707074,
      "ad-network-id": "abcabcabc.skadnetwork",
      "transaction-id": "68eb3d91-15f5-44ee-9267-25c7655c20b6",
      "redownload": false,
      "attribution-signature": "MDYCGQCsQ4y8d4BlYU9b8Qb9BPWPi+ixk/OiRysCGQDZZ8fpJnuqs9my8iSQVbJO/oU1AXUROYU=",
      "timestamp": "1596525944",
      "ad-network-campaign-id": "222222",
      "conversion-value": 63,
      "campaign-id": 99
  }'

Ejemplo de curl: postback de SKAN 4 enriquecido con valores de conversión precisos

curl --location --request POST 'https://skadpostbacks.appsflyer.com/api/postbacks?app_id=id888707074' \
  --header 'Content-type: application/json' \
  --data-raw '{
      "version": "4.0"
      "ad-network-id": "example123.skadnetwork",
      "ad-network-campaign-name": "skadnetwork_abc_campaign",
      "ad-network-campaign-id": "222222",
      "source-identifer": "5239",
      "app-id": 525463029,
      "transaction-id": "6aafb7a5-0170-41b5-bbe4-fe71dedf1e30",
      "redownload": false,
      "source-app-id": 1234567891,
      "fidelity-type": 1, 
      "did-win": true,
      "conversion-value": 63
      "postback-sequence-index": 0
      "attribution-signature": "MEUCIGRmSMrqedNu6uaHyhVcifs118R5z/AB6cvRaKrRRHWRAiEAv96ne3dKQ5kJpbsfk4eYiePmrZUU6sQmo+7zfP/1Bxo="
  }'

Ejemplo de curl: postback de SKAN 4 enriquecido con valores de conversión aproximados

curl --location --request POST 'https://skadpostbacks.appsflyer.com/api/postbacks?app_id=id888707074' \
  --header 'Content-type: application/json' \
  --data-raw '{
      "version": "4.0"
      "ad-network-id": "example123.skadnetwork",
      "ad-network-campaign-name": "skadnetwork_abc_campaign",
      "ad-network-campaign-id": "222222",
      "source-identifer": "39",
      "app-id": 525463029,
      "transaction-id": "6aafb7a5-0170-41b5-bbe4-fe71dedf1e31",
      "redownload": false,
      "source-app-id": 1234567891,
      "fidelity-type": 1, 
      "did-win": true,
      "coarse-conversion-value": "high"
      "postback-sequence-index": 0
      "attribution-signature": "MEUCIQD4rX6eh38qEhuUKHdap345UbmlzA7KEZ1bhWZuYM8MJwIgMnyiiZe6heabDkGwOaKBYrUXQhKtF3P/ERHqkR/XpuA="
  }'

Redirigir

Redirect_us-en__2_.png

Mediante este método, la red de publicidad responde al dispositivo con un comando de redireccionamiento HTTP (307), solicitando al dispositivo que envíe el postback directamente a AppsFlyer. 

El método de redireccionamiento tiene las siguientes ventajas:

  • Mayor confianza del anunciante: el MMP actúa en nombre de un anunciante. Al proporcionar acceso a AppsFlyer al postback de primera mano, los anunciantes confían en que los postbacks no se manipulan en tránsito.
  • No requiere procesamiento por parte de la red de publicidad: las redes de publicidad responden con el comando de redireccionamiento (al dispositivo), eliminando así la necesidad de procesar postbacks. En comparación, el método de enriquecer y reenviar requiere que las redes de publicidad consuman el postback, lo enriquezcan con parámetros adicionales y finalmente lo reenvíen a AppsFlyer.

Implementación

  1. Configura tu servidor para que responda con una respuesta HTTP 307 que redirija el postback a https://skadredirect.appsflyer.com/api/redirects
  2. Anexa los parámetros de consulta que contengan los detalles de la campaña, utilizando los parámetros de consulta enumerados en la tabla que sigue. Considera como obligatorio el envío de los datos de tu campaña. Los detalles de la campaña nos permiten enriquecer los datos de SKAN con datos de costos y otros datos de campaña y permiten que los anunciantes optimicen las campañas de manera efectiva.

Ejemplo de URL de redireccionamiento

https://skadredirect.appsflyer.com/api/redirects?
  &ad-network-campaign-id=243232&ad-network-campaign-name=yarg_campaign_name
  &ad-network-adset-name=dsdsa&creative=examplecreative&channel=channelexample

Parámetros de consulta para los detalles de la campaña (no obligatorio)

Parámetro de consulta

Descripción

ad-network-name
  • Nombre de la red de publicidad
  • Ejemplo:ad_network_name=your_network
ad-network-campaign-id ID de campaña
ad-network-campaign-name Nombre de la campaña
ad-network-adset-id ID de conjunto de anuncios
ad-network-adset-name Nombre de conjunto de anuncios
ad-network-ad-id ID de anuncio
ad-network-ad-name Nombre de anuncio
ad-network-country-code
  • La ubicación del usuario (geolocalización) derivada por la red de publicidad.
  • Se rellena usando códigos ISO 3166 (alfa-2).
  • Ejemplo: CN, ZA
  • Las redes de publicidad suelen derivar la geolocalización de acuerdo con la región objetivo de una campaña determinada.  
  • AppsFlyer utiliza el código de país para rellenar los campos relativos a la geolocalización en los reportes y paneles de control.
ad-network-source-app-id Rellénalo con el ID de publisher que asocies con la aplicación que publica el anuncio. Este suele ser el ID que asignaste al publisher, y no el ID generado por Apple. 
ip
  • La dirección IP del dispositivo que envía el postback.
  • Se admiten direcciones IPv4 e IPv6.
  • Ejemplo:"ip":"198.51.100.1"
timestamp
  • Hora en que la red de publicidad recibió el postback de SKAN. Una marca de tiempo UNIX epoch de 10 dígitos. [Opcional] Se permite una marca de tiempo epoch de 13 dígitos.
  • Ejemplo: 4 de agosto de 2020, 07:25 UTC se traduce como "timestamp": "1596525944"
Creatividad
  • Solo relevante para SKAN 4+.
  • Disponible cuando usas dígitos adicionales en el source_identifier para obtener granularidad adicional de la campaña.
canal
  • Solo relevante para SKAN 4+.
  • Disponible cuando usas dígitos adicionales en el source_identifier para obtener granularidad adicional de la campaña.

Recibir datos de AppsFlyer

Antes de recibir tu primer postback, toma en consideración lo siguiente: 

  • Las redes de publicidad deben definir el punto de conexión del postback y la plantilla (comunícate con tu gerente de desarrollo de partners de AppsFlyer usando el widget del asistente para partners, para asegurarse de que esto se esté cumpliendo).
  • AppsFlyer envía los postbacks de SKAN utilizando el mismo mecanismo que con los postbacks existentes que se te envían.

Principios

  • Por cada postback enviado desde la red de publicidad a AppsFlyer, AppsFlyer envía:
    • Un postback de instalación. Las redescargas se señalan mediante el parámetro redownload. 
    • De cero a varios postbacks de eventos in-app. El número exacto depende de la traducción del valor de conversión. Ver postbacks simulados.
  • Cuando consumes postbacks, la misma instalación o evento puede atribuirse mediante más de una solución de atribución de AppsFlyer. Utiliza el parámetro atribution_source para diferenciar entre los tipos de postback. 

Macros de postback disponibles para los partners de redes de publicidad

Macro de postback (nombre)

Descripción

Formato y ejemplo Relevante solo para eventos in-app

site_id

La aplicación que publica el anuncio (ID de aplicación fuente)

Cadena: 876534

 

install_time

Estimado por AppsFlyer en base a la ventana de updateConversion. Se proporciona como una marca de tiempo UNIX epoch de 10 dígitos o como una marca de tiempo legible por humanos.

  • Cadena: 1596119460 
  • Se traduce como 30 de julio de 2020, 14:31 UTC.
 

skadnetwork_ad_network_time

Hora en que la red de publicidad recibió el postback desde el dispositivo iOS. Reportada por la red de publicidad. Se proporciona como una marca de tiempo UNIX epoch de 10 dígitos o como una marca de tiempo legible por humanos.

  • Cadena: 1596119460 
  • Se traduce como 30 de julio de 2020, 14:31 UTC.



 


skadnetwork_received_time

Hora en que AppsFlyer recibió el postback de la red de publicidad. Se proporciona como una marca de tiempo UNIX epoch de 10 dígitos o como una marca de tiempo legible por humanos.

 

  • Cadena: 1596119460 
  • Se traduce como 30 de julio de 2020, 14:31 UTC.

 

event_name

Nombre del evento 

  • af_skadnetwork_revenue
  • af_login
  • af_skadnetwork_revenue
  • o según lo establecido por el anunciante 

Cadena: af_skadnetwork_revenue, abc123

 

ingresos

Monto de ingresos utilizando el código de divisa especificado.

Número: 5, 20, 0.4

currency

El código de divisa es la divisa específica de la aplicación establecida por el anunciante.

Cadena: EUR, USD, ZAR

attribution_source

La fuente de los datos de atribución:

SKAdNetwork: SKAdNetwork

Cadena: SKAdNetwork

 

app_id

ID de aplicación (aplicación del anunciante)

Cadena: ID123456790

 

País

Geolocalización (país) de instalación determinada por la red de publicidad.

Cadena: US, UK, ZA 

 

campaign

Nombre de la campaña rellenado mediante un d-network-campaign-name en el postback desde la red de publicidad.

Cadena: UA_US_23+

 

campaign_id

ID de campaña de la red de publicidad rellenado mediante un ad network-campaign-id enviado en el postback desde la red de publicidad. Nota: Para SKAN 4, este valor siempre es nulo.

Cadena: 3456745

 

redownload

Valores posibles: true, false

Cuando redownload = true, significa que el usuario volvió a descargar la aplicación desde la tienda de aplicaciones.

Booleano: true, false

 

skadnetwork_ambiguous_event

Eventos recibidos durante las primeras 72 horas después de que un anunciante cambie la configuración de SKAN en el panel de control. Debido a los distintos temporizadores usados por SKAN, AppsFlyer no puede asignar el evento con precisión.

Booleano: true, false

 

skadnetwork_campaign_id

ID de campaña de SKAN proporcionado por el postback original de SKAN.

56, 23

 

af_skadnetwork_nonce

Un identificador aleatorio exclusivo que permite a los partners identificar los postbacks duplicados.

 

 

event_id

Nombre/ID del eventocorrespondiente en la plataforma de la red de publicidad.

 

transaction_id

ID de transacción del postback de SKAN.

Nota: El anunciante debe permitirnos explícitamente compartir el transaction_id contigo. Pide al anunciante que lo haga en la pestaña Integración.

 

 

ad_network_adset_id Agregado al postback de iOS por la red de publicidad. String  
ad_network_adset_name Agregado al postback de iOS por la red de publicidad. String  
ad_network_ad_name Agregado al postback de iOS por la red de publicidad. String  
ad_network_ad_id Agregado al postback de iOS por la red de publicidad. String  
SKAN_min_event_counter Ver nota (1)

Entero

SKAN_max_event_counter Ver nota (1)

Entero

SKAN_min_time_post-install Ver nota (2)

Entero

SKAN_max_time_post-install Ver nota (2)

Entero

SKAN_min_event_revenue Ver nota (3) Número real
SKAN_max_event_revenue Ver nota (3)

Número real 

fidelity-type

Permite diferenciar entre las opciones de presentación de anuncios que afectan a la atribución. Se indica con los valores 0 y 1 de la siguiente manera: 

  • Anuncios por impresiones (0)
  • Anuncios renderizados por Storekit (1)
Entero  
skad_af_attribution_flag

Se utiliza para indicar si el usuario fue atribuido por AppsFlyer usando el mecanismo de Única fuente de verdad

Booleano  
skad_postback_sequence_index
  • Este valor representa la ventana de SKAN, ya sea0,1 o 2.
  • Para SKAN 3, el valor es 0.
Entero  
skad_coarse_conversion_value
  • El valor puede ser low, medium o high.
  • Para SKAN 3, el valor es null.
String  
skad_source_identifier
  • El valor puede ser de hasta 4 dígitos.
  • Para SKAN 3, el valor es null
String  
skad_source_domain
  • El valor representa la fuente de los anuncios web atribuibles.
  • Para SKAN 3, el valor es null.
String  
ad_network_creative
  • El valor se basa en el enriquecimiento de los datos recibidos de la red de publicidad.
  • Para SKAN 3, el valor es null.
String  
ad_network_channel
  • Solo relevante para SKAN 4+.
  • Disponible cuando usas dígitos adicionales en el source_identifier para obtener granularidad adicional de la campaña.
String  

Notas:

  1. Ocurrencias del evento: el número de ocurrencias del evento se calcula usando la siguiente fórmula:
    [round up (SKAN_min_event_counter+SKAN_max_event_counter) / 2]
    Nota: El valor debe redondearse al entero más cercano.
  • Ejemplo:
    • A. Si min=0 y max=1, el número de eventos es 1.
    • B. Si min=0 y max=10, el número de eventos es 5.
  • Determinar la hora de instalación: para los anunciantes que implementan la conversión personalizada, AppsFlyer calcula la hora de instalación como la hora de llegada del postback - 48 h - promedio (min_time_post_install + max_time_post_install). Las redes de publicidad no necesitan hacer uso de estas macros.  
  • Determinar ingresos: AppsFlyer utiliza estos valores para determinar los ingresos de un evento calculando el promedio de min y max. Las redes de publicidad no necesitan hacer uso de estas macros. 

Ejemplos de postbacks de SKAN

Ejemplo de postback de instalación de SKAN enviado por AppsFlyer

http://YourCompanyDomain.com/event?site_id=(publisher-id)&install_time=(timestamp)
  &skan_ad_network_time=(timestamp)
  &skan_af_received_time=(timestamp)
  &attribution_source=skadnetwork
  &app_id=(id123456789)&country=(ZA)&campaign=(campaign-name)
  &campaign_id=(campaign-id)&SKAN_ambiguous_event=(boolean)
&redownload=(boolean)
&af_SKAN_nonce=(uuid)

Ejemplo de postback de in-app de SKAN enviado por AppsFlyer

http://YourCompanyDomain.com/event?site_id=(publisher-id)&install_time=(timestamp)
  &skan_ad_network_time=(timestamp)
  &skan_af_received_time=(timestamp)&revenue=(value)
  &currency=(code)&event_name=(event-name)&attribution_source=skadnetwork
  &app_id=(id123456789)&country=(ZA)&campaign=(campaign-name)
  &campaign_id=(campaign-id)&SKAN_ambiguous_event=(boolean)
&redownload=(boolean)
&af_SKAN_nonce=(uuid)

Pruebas de integración

Para validar la integración con AppsFlyer, utiliza uno de los siguientes métodos o ambos. 

  • Postbacks reales de SKAN: basados en el tráfico de SKAN real recibido por la red
  • Postbacks simulados: basados en aplicaciones de prueba AppsFlyer

Para recibir los postbacks reales de SKAN desde dispositivos iOS, la red de publicidad realiza lo siguiente:

Para recibir los postbacks simulados:

Entorno real

Mediante este método, la red de publicidad envía a AppsFlyer los postbacks reales de SKAN desde aplicaciones activas. 

Probar la integración

Responsabilidad Acción
Red de publicidad Notificar a AppsFlyer a través de tu gerente de desarrollo de partners (o usa el widget del asistente para partners) acerca de tu ID de red de SKAN, proporcionado por Apple.
Red de publicidad y AppsFlyer Acordar un cliente mutuo (habiendo integrado el SDK de AppsFlyer más reciente) para usar para la verificación de la integración de postbacks.
Red de publicidad Enviar postbacks de la aplicación de SKAN a AppsFlyer, utilizando uno de los métodos descritos en este artículo.
AppsFlyer Enviar los postbacks decodificados a la red de publicidad de acuerdo con la asignación de valores de conversión establecida por el anunciante.

Criterios de prueba

Responsabilidad Acción
Red de publicidad Notificar a AppsFlyer sobre la cantidad de postbacks de SKAN enviados durante un período determinado para el cliente mutuo acordado.
AppsFlyer Verificar el recuento de postbacks recibidos frente al recuento enviado por la red de publicidad.
AppsFlyer

Compartir con la red de publicidad el recuento de postbacks enviados a la red para una aplicación determinada, desglosado por tipo:

  • Postbacks de instalación/redescarga
  • Postbacks in-app
Nota: Si usas el mismo punto de conexión para postbacks probabilísticos, asegúrate de filtrar usando attribution_source=skadnetwork para distinguir los postbacks de SKAN Network de otros postbacks.

Postbacks simulados

  • Mediante este método, la red de publicidad envía postbacks preparados previamente de AppsFlyer a las aplicaciones de prueba de AppsFlyer, como se detalla en la siguiente tabla. AppsFlyer responde con postbacks decodificados a la red de publicidad.
  • Cada aplicación de prueba tiene una asignación de valores de conversión diferente, como se detalla en la tabla.
ID de aplicación Modo de conversión Instrucciones
id888707085

Ingresos, en unidades de 1 USD

Resultados esperados: 

  1. En la pestaña Integración, habilita los postbacks de eventos in-app
  2. Selecciona el nombre del evento af_SKAN_revenue y asígnalo a tu identificador de evento.
  3. Guarda la configuración.
  4. En un postback, envía el valor de conversión = 7.
  5. AppsFlyer responde con:
    • Postback de instalación
    • Postback af_SKAN_revenue con un valor de 7 USD
id888707086 Conversión, incluidos los eventos in-app:
  • af_level_complete
  • af_login
  • af_SKAN_revenue
  • af_register
  • af_subscription
  • af_custom_event
  1. En la pestaña Integración, habilita los postbacks de eventos in-app
  2. Selecciona cada uno de los eventos in-app enumerados y asígnalos a tu identificador de evento. 
  3. Guarda la configuración.
  4. En un postback, envía el valor de conversión = 63.
  5. AppsFlyer responde con:
    • Postback de instalación
    • af_level_complete postback
    • af_login postback
    • Postback af_SKAN_revenue
    • af_register postback
    • af_subscription postback
    • af_custom_event postback
id888707087 Engagement, medido usando el evento af_SKAN_revenue
  1. En la pestaña Integración, habilita los postbacks de eventos in-app
  2. Asigna el nombre del evento af_SKAN_revenue y a tu identificador de evento.
  3. Guarda la configuración.
  4. En un postback, envía el valor de conversión = 3.
  5. AppsFlyer responde con:
    • Postback de instalación
    • 3 postbacks del evento af_SKAN_revenue

Pasos de integración

Responsabilidad Acción
Red de publicidad Configura el ID de tu red de SKAN (proporcionado por Apple) y la plantilla de postback de SKAN en la plataforma de administración de postbacks. Para consultas y asistencia, contáctanos utilizando el widget del asistente para partners.
Red de publicidad
  1. Activa las aplicaciones de prueba.
  2. Para cada aplicación, completa la columna de instrucciones en la tabla anterior. 
  3. Envía postbacks simulados usando las aplicaciones de prueba enumeradas en la tabla anterior. Consideraciones al enviar postbacks simulados:
    • Establece el app_id y el valor de conversión como se indica en la tabla anterior. 
    • Dado que las redes de publicidad no pueden generar firmas compatibles con Apple, los postbacks simulados no tienen que incluir los campos de firma. AppsFlyer no los verificará para postbacks simulados.
    • Las redes de publicidad envían el postback usando el enfoque POST o REDIRECT.
AppsFlyer Responde con los postbacks decodificados al punto de conexión designado por la red de publicidad durante la integración.

Criterios de prueba

Responsabilidad Acción
AppsFlyer Procesa el postback y envía los postbacks a la red de publicidad.
Red de publicidad
  • La red de publicidad recibe y decodifica los postbacks traducidos.
  • Los postbacks in-app enviados por AppsFlyer coinciden con los flujos esperados. Por ejemplo, el valor de conversión 3 para la aplicación ID888707087, la red de publicidad recibe 3 postbacks del evento af_SKAN_revenue . 

Aclaraciones

Aclaraciones relativas a campos obligatorios, enriquecimiento, certificación y más.

Preguntas frecuentes

Preguntas y respuestas sobre postbacks

¿Los campos de enriquecimiento son obligatorios? 

Por el momento, procesaremos el postback aunque falte uno o más de los siguientes parámetros de enriquecimiento. Ten en cuenta que la información se requiere por las siguientes razones: 

  • ID de campaña de la red de publicidad: si tenemos integración de costos contigo, esto se reporta usando tu ID de campaña. 
  • Nombre de la campaña de la red de publicidad: muchos anunciantes hacen referencia al nombre de la campaña y no al número de campaña. 
  • Dirección IP: requerida para la resolución de la geolocalización. 
  • Marca de tiempo: nos ayuda a atribuir la instalación a la fecha correcta. 

¿Podemos enviar nuestro ID de campaña, o nuestro nombre de campaña, pero no ambos?

Ver la respuesta anterior. Considera rellenar tanto el ID como el nombre con el mismo valor. 

Estamos utilizando el método Enriquecer y reenviar. ¿Podemos agregar pares de clave y valor que no están en la especificación de AppsFlyer? 

Sí. Procesaremos el postback e omitiremos la información adicional siempre que la firma de atribución sea válida.

¿Las plantillas de postbacks de SKAN son distintas de las plantillas de postbacks existentes?

Sí. El flujo y la estructura difieren.

¿Recibiremos un postback de SKAN y un postback de modelado probabilístico/determinista relacionados con la misma instalación, es decir, reportes duplicados de la misma instalación?

Sí. Para cada caso, registramos una instalación atribuida a ti, independientemente del método, te enviaremos un postback.

Usa attribution_source para diferenciar los postbacks de SKAN.

¿Estamos obligados a procesar el postback de AppsFlyer?

No. Ten en cuenta que la práctica recomendada es optimizar las campañas de acuerdo a la calidad del usuario reportada a través del postback. 

¿Se espera que llamemos a los enlaces de atribución de AppsFlyer o es suficiente enviar el postback con la carga útil de SKAN y los datos enriquecidos?

Basta con enviarnos la carga útil de SKAN y los datos enriquecidos.

¿Cuáles son los requisitos para obtener la certificación en el panel de control de AppsFlyer como partner integrado de SKAN?

  • Integración completa utilizando uno de los métodos enumerados en este artículo.
  • Envíanos postbacks de aplicaciones usando AppsFlyer como tu partner de atribución.

¿Cómo me afecta el límite de 100 ID de campaña de SKAN

El límite 1-100 hace referencia a la forma en que firmas y numeras tus campañas en Apple. Significa que, en cualquier momento, puedes tener 100 campañas únicas simultáneas. Te permitimos enriquecer el postback con tu nombre e ID de campaña reales. Lo que significa que asignas el ID de campaña de SKAN a tus ID de campaña reales en uso en el momento en que se recibe el postback. Hacerlo significa que el límite de 100 ID no restringe el número de campañas que mides en AppsFlyer siempre que, por supuesto, no tengas más de 100 campañas simultáneas para una aplicación determinada.