Roman Garbar
19 de agosto de 2020
Un mes antes del lanzamiento de iOS 14todavía hay muchas especulaciones en torno a lo que sucederá a continuación para MMPs. ¿En qué medida cambiará su papel? ¿Los anunciantes seguirán pagando entre 1 y 5 céntimos por cada instalación rastreada de pago en iOS, aunque ya no tenga granularidad a nivel de usuario? ¿Permitirá Apple que los MMP validen los valores de conversión aunque no se mencione en la documentación de Apple? Aunque estas preguntas no están claras, hemos decidido abordar las cosas que los desarrolladores pueden hacer hoy en día, sin la participación de los MMP.
Nos sentamos con el cofundador de la agencia de crecimiento móvil 2ªPoción, Kevin Bravopara hablar de cosas que los desarrolladores pueden utilizar ahora mismo y que están documentadas por Apple. Kevin creó la primera solución de código abierto que interactúa con SKAdNetwork de Apple llamada Elixirasí que sabemos que es perfecto para este tipo de conversación.
Esto es lo que trataremos hoy con Kevin.
1) Para desarrolladores y diseñadores de juegosLa ventana emergente de iOS pide consentimiento para compartir el IDFA del usuario - AppTrackingTransparency método.
2) Para desarrolladores, una visión general del nuevo marco de atribución de Apple - SKAdNetwork.
2.1) Para desarrolladores, atribución de instalaciones - integrar registerAppForAdNetworkAttribution()método
2.2) Para desarrolladores, atribuir eventos post-instalación - integrar updateConversionValue(_:)método
2.3) Para los directivos de la UAComprender cómo informa Apple a la red publicitaria de los eventos de instalación y postinstalación - Postbacks y temporizadores
3) Para que todo el equipo aporte ideas¿Qué podría ser mejor? - Buenas prácticas y dificultades actuales
1) Pedir a los usuarios que compartan su IDFA - Integrar ApptrackingTransparencia
Kevin: AppTrackingTransparency es un framework disponible para iOS 14 que permite a los desarrolladores de apps pedir permiso para rastrear al usuario. Este permiso es necesario para acceder al IDFA del usuario con fines de atribución.
Integrarlo y utilizarlo requerirá que pidas al usuario que acceda a su IDFA con esta ventana emergente:
Si el usuario acepta el seguimiento, podrás solicitar su IDFA. De lo contrario, el IDFA será 0000-0000-0000-0000.
Tenga en cuenta que no podrá pedir permiso si el usuario tiene activada la opción LAT (Seguimiento limitado de anuncios).
P: ¿Cuántas veces puedo mostrar una ventana emergente nativa?
Kevin: Sólo se puede mostrar una vez por dispositivo.
P: ¿Puedo volver a pedir el consentimiento del usuario si se rechaza inicialmente?
Kevin: Si el usuario ya ha visto esta ventana emergente, no podrá volver a mostrarla.
P: ¿Puedo mostrar mi ventana emergente personalizada antes que la nativa?
Kevin: Puede decidir cuándo mostrará esta ventana emergente, lo que significa que se le permite publicar una ventana emergente adicional antes.
De esta forma, puede decidir mostrar la ventana emergente de permiso sólo si el usuario ha dicho que sí a su permiso personalizado..
Esta estrategia ya es utilizada por muchas empresas para empujar las solicitudes de notificaciones y le ayudará a tener una segunda oportunidad para pedir permiso.
P: ¿Qué ocurre si un desarrollador de aplicaciones no integra AppTrackingTransparency?
Kevin: Si no desea/necesita solicitar el IDFA, puede decidir no mostrar esta ventana emergente.
Esto significa que no tendrá acceso a su IDFA (se mostrará como 0000-0000-0000-0000) y que las redes publicitarias tampoco tendrán acceso a él.
2) Visión general del nuevo marco de atribución de Apple - SKAdNetwork
Kevin: Apple ofrece una solución de atribución anónima denominada Red SKADque permite a las aplicaciones realizar un seguimiento de las instalaciones procedentes de distintas redes publicitarias sin comprometer el anonimato de los usuarios.
Al utilizar SKADNetwork, se adjunta una firma a cada clic en un anuncio. Cuando el usuario abra su aplicación por primera vez, Apple podrá verificar si procede de un anuncio específico con esta firma.
A continuación, se envía un postback a la red publicitaria para atribuir una nueva instalación.
La firma no contiene ningún dato de identificación, lo que mantiene la privacidad al máximo al hacer imposible asociar una instalación a un usuario concreto.
Para integrar SKADNetwork, es necesario llamar a dos métodos:
- registerAppForAdNetworkAttribution(): Este método debe ser llamado en el primer lanzamiento y registrar el usuario para la atribución. Si el usuario procede de un anuncio firmado, se disparará un postback en las horas siguientes, notificando a la red publicitaria de la instalación de esta app.
- updateConversionValue(_:) Este método debe ser llamado cada vez que desee actualizar el valor de conversión asociado a este usuario específico. Puede llamar a este método tantas veces como desee, pero el valor de conversión solo se actualizará si es superior al anterior.
Para la monetización de anuncios, los desarrolladores necesitan determinar, por adelantado, las redes de anuncios que van a utilizar para la monetización, y especificarlas dentro de su aplicación a través de plist como se especifica en esta documentación.
2.1) Instalación de atributos - Integración de registerAppForAdNetworkAttribution
Kevin: Al llamar a registerAppForAdNetworkAttribution en el primer lanzamiento de la aplicación, está haciendo todo lo necesario para habilitar la atribución de instalación de aplicaciones con SKADNetwork.
Sin embargo, la atribución de instalación sólo será posible si la red publicitaria firma sus anuncios con SKADNetwork.
Para la publicidad, los desarrolladores deben asegurarse de que las redes publicitarias tengan SKADNetwork integrado en su lado para permitir la atribución y los postbacks.
Para facilitar las cosas, existe una lista de todos los ID de redes publicitarias disponibles aquí.
2.2) Atribuir los eventos posteriores a la instalación - Integrar updateConversionValue(_:)
Kevin: Puede asignar un valor de conversión a una instalación específica. Se trata de un valor numérico comprendido entre 0 y 63.
Es una "señal" que te ayudará a entender lo valioso que es este usuario específico, sin darte una forma de identificarlo.
Las redes publicitarias pueden utilizar esta información para comprender el valor de cada instalación para su negocio. Esta señal puede ayudar a las redes publicitarias a identificar mejores audiencias para sus anuncios y mejorar el rendimiento de sus campañas.
P: ¿Cuándo se debe utilizar updateConversionValue(_:)?
Kevin: El valor de conversión puede actualizarse varias veces para el mismo usuario, pero existen algunas limitaciones:
- Sólo puede actualizar el valor de conversión con un valor superior al de la llamada anterior (1-> 2 pero no 3->2)
- Un valor limitado entre 0-63
Le conviene utilizar valores de conversión porque proporcionan señales valiosas a sus redes publicitarias. También le permitirá
- Analizar el comportamiento esencial en la aplicación después de instalarla desde una campaña/canal/país específico.
- Ofrezca puntos de datos adicionales a la red publicitaria que pueda utilizar para identificar cohortes valiosas para su juego y optimizar el rendimiento de sus campañas.
Debe pensar en cómo definirá cada valor de conversión para sacar el máximo partido de SKADNetwork.
Existen distintos enfoques para la gestión de los valores de conversión:
- Seguimiento de los ingresos
- por ejemplo, el valor de conversión 1 es 0,1 EUR, 50 es 5,0 EUR
- Eventos en pista
- por ejemplo, level1_completed = valor de conversión 1
- Seguimiento de los ingresos y eventos de progreso
- p. ej., Valor de conversión 10 = lvl5_completed y gastar 1EUR
- Etc..
Para los eventos de Ingresos + progreso, he creado una tabla de conversión que le permite definir cada evento que va a seguir y entender el valor de conversión que va a enviar.
Como verás en la hoja de cálculo, estamos utilizando binarios para convertir los eventos en valores de conversión:
- Cada valor de conversión se traduce en un conjunto de 6 valores binarios.
- Los 3 primeros valores binarios representan los ingresos de este usuario concreto (por ejemplo, compra > 10$ = "101")
- Los 3 últimos valores binarios representan el progreso (por ejemplo, 10 niveles completados = "011")
- Combinando los dos conjuntos de valores binarios, obtenemos un valor de conversión (por ejemplo, "101001"se convierte en el valor de conversión 43)
Encontrará la hoja de cálculo aquí:
P: ¿Qué es Elixir y cómo ayuda?
Kevin: Los valores de conversión solo se pueden enviar desde la app, lo que hace complejo ajustar la forma de realizar el seguimiento de los valores de conversión sin actualizarla.
Elixir es un SDK de código abierto que le permite definir y actualizar sus valores de conversión sin necesidad de actualizar la aplicación después de cada cambio.
Así funciona:
- Defina su tabla de conversión utilizando uno de los enfoques disponibles (ingresos / mixto / progreso)
- Lo almacena en su servidor como JSON
- Usted integra Elixir SDK, el seguimiento de todos los eventos disponibles en la aplicación
- En el primer lanzamiento, Elixir SDK solicitará el JSON y comparará los valores de conversión con las acciones realizadas por el usuario en tiempo real.
- Elixir SDK actualizará el conversionValue basándose en la tabla que ha creado
Puede ver un ejemplo de tabla de conversión JSON. Este es el documento que Elixir lee para generar el valor de conversión a rastrear después de las acciones de cada usuario.
Actualmente, sólo hay un tipo de tabla disponible (enlace a la tabla) para Elixir. A medida que los desarrolladores colaboren en el proyecto, se cubrirán fácilmente todos los modelos (binario de ingresos publicitarios, marca de tiempo, geográfico, etc.).
2.3) Comprender cómo informa Apple a la red publicitaria de los eventos de instalación y postinstalación - Postbacks y temporizadores
P: ¿Puede explicar cómo funciona el temporizador de postbacks en updateConversionValue(_:)?
Kevin: Hay una complejidad adicional en la forma en que se programan los postbacks.
Se producen dos temporizadores
- Temporizador de 24 horas: se puede reiniciar varias veces y tiene una duración definida de 24 horas
- Temporizador aleatorio: una vez que se inicia, no se puede reiniciar. La duración es aleatoria, entre 0-24 horas.
Cuando se activa registerAppForAdNetworkAttribution(), se inicia el temporizador de 24 horas. Si decide activar updateConversionValue(_:)el temporizador 1 se pone a cero y vuelve a empezar.
Cada vez que disparas updateConversionValue(_:)El temporizador de 24 horas se reiniciará.
Supongamos que usted no dispara updateConversionValue(_:) antes de que expire el temporizador de 24 horas, se iniciará un temporizador aleatorio. Una vez que comience el temporizador aleatorio, ya no podrás actualizar el valor de conversión.
Al final del temporizador aleatorio, el postback se envía a la red publicitaria. Este postback puede incluir (o no) un valor de conversión (será el último valor que haya establecido para este usuario específico)
La documentación de Apple no especifica un límite de tiempo o de ocurrencias para updateConversionValue. Esto significa que, siempre que el usuario acuda cada 24 horas, puede enviar un nuevo conversionValue hasta 63 veces (basándose en las limitaciones descritas en la pregunta "¿Cuándo debe utilizar updateConversionValue(_:)?").
P: ¿Qué datos reciben las redes publicitarias de SKADNetwork?
Kevin: Las redes publicitarias recibirán un postback por cada instalación con el siguiente aspecto:
Algunos valores son opcionales (por ejemplo, el valor de conversión) y pueden no incluirse en el postback.
Más detalles sobre este postback y cómo las redes publicitarias pueden verificar la autenticidad de cada instalación en aquí.
3) Mejores prácticas y puntos débiles existentes
P: ¿Cuáles son sus recomendaciones a la hora de utilizar updateConversionValue(_:)?
Kevin: Es necesario determinar las acciones más valiosas que los usuarios pueden realizar en su primera sesión y en los 1 a 3 días siguientes.
Un evento de valor te da una buena indicación del compromiso de los usuarios con tu aplicación. La compra es la señal más alta que puedes obtener.
A continuación, debe ordenar los eventos de menor a mayor señal. Esta lista de eventos te ayudará a definir la tabla de conversión.
P: ¿Qué otras dificultades pueden encontrar los desarrolladores al trabajar con SKAdNetwork?
Kevin: Trabajar con SKADNetwork supone diferentes retos:
- Gestión de la fecha y hora de instalación: SKADNetwork aleatoriza el momento en que se envía el postback a la red publicitaria, y no se incluye ninguna marca de tiempo de instalación. Esto hace que sea complicado determinar cuándo se produce la instalación. La cosa se complica aún más si decide enviar valores de conversión después de las primeras 24 horas.
Cuanto más espere antes de detenerse para actualizar los valores de conversión, más amplia será la ventana de tiempo de instalación.
Una solución podría ser utilizar algunos de los bits del valor de conversión para definir el día de instalación y limitar el número de días en los que actualizará el valor de conversión (por ejemplo, tres días).
- Recuperación de datos / verificación de firmas: Actualmente, sólo las redes publicitarias tendrán acceso a la instalación de postbacks. Aún no está claro qué redes publicitarias permitirán a los anunciantes acceder a los datos de SKADNetwork. Solicitar estos datos será vital, ya que podrán verificar la autenticidad de las instalaciones con una firma.
- Gestión de la atribución del IDFA + SKADNetwork: ¿Cómo trabajar con SKADNetwork y seguir midiendo la atribución a nivel de usuario optado por el seguimiento IDFA? Este modelo mixto será complejo y requerirá un excelente flujo de trabajo para evitar la deduplicación de los registros de instalación.


