De un vistazo: Ejecuta consultas DCR personalizadas en tiempo real sobre tus datos de atribución en el sistema AppsFlyer, tus fuentes personalizadas o una combinación de ambos. Previsualiza los resultados de tus consultas o descarga los resultados completos.
Visión general
¿Por qué usar la consulta dinámica?
La consulta dinámica te permite ejecutar consultas ad hoc y personalizadas sobre tus datos de DCR en tiempo real para responder a tus preguntas específicas de marketing de forma rápida y eficiente.
- Al incorporar la potencia y la flexibilidad de SQL, te permite realizar investigaciones avanzadas y cálculos complejos que no pueden lograrse de ninguna otra forma. Con la consulta dinámica, puedes aplicar tu lógica de negocio a datos que, de otro modo, serían inaccesibles.
- Además, la consulta dinámica permite obtener respuestas eficientes a preguntas puntuales u ocasionales sin necesidad de configurar reportes. (Por supuesto, los reportes DCR tradicionales siguen siendo la solución adecuada para la recuperación y la ingesta continuas de datos)
La consulta dinámica está disponible para todos los clientes de DCR y te permite ejecutar consultas y previsualizar los resultados sin usar créditos de tu paquete de DCR. Solo se te cobrarán créditos si decides descargar los resultados completos. De este modo, puedes asegurarte de que has configurado tus consultas correctamente y de que obtendrás las respuestas que necesitas antes de que se te aplique ningún cargo.
Lenguaje y dialecto de consulta
La consulta dinámica utiliza SQL (dialecto Spark SQL) y admite:
- Sentencias SELECT
- Funciones SQL estándar
- Funciones definidas por el usuario (UDF), a petición del cliente
- Si necesitas una función SQL no estándar, ponte en contacto con tu CSM o con hello@appsflyer.com y haremos todo lo posible por añadirla.
Fuentes disponibles
La consulta dinámica te permite realizar consultas personalizadas sobre las siguientes fuentes de datos:
- Tus datos de atribución en el sistema AppsFlyer
- Más información sobre las tablas de datos de atribución y cómo consultarlas
- Fuentes personalizadas que has configurado en el DCR
Puedes consultar estas fuentes por separado o combinar 2 o más mediante sentencias JOIN o UNION. Esta flexibilidad hace que la consulta dinámica sea útil en diversos escenarios, por ejemplo:
- Consultar solo datos de atribución para obtener insights entre apps, explorar la integridad de los datos o calcular métricas de atribución personalizadas
- Consultar tus fuentes personalizadas en combinación con datos de atribución para enriquecer tus datos con insights de atribución
En función de los tipos de fuentes utilizados en una consulta, se aplican reglas para garantizar la estricta protección de la privacidad del usuario.
Advertencia
Actualmente, Dynamic Query no consulta datos de atribución ni devuelve resultados de Meta (Facebook, Instagram, etc.) Para consultar estos datos, configura reportes de DCR.
Protección de la privacidad
Para garantizar que Dynamic Query mantenga un cumplimiento estricto de los estándares de privacidad de DCR, los siguientes requisitos se aplican a todas las consultas:
- Cualquier consulta que utilice datos de atribución debe incluir una instrucción GROUP BY para que los resultados se agreguen.
- Las instrucciones UNION no pueden usarse para combinar fuentes personalizadas con datos de atribución.
- No se permite agrupar por los siguientes campos no está permitido:
-
Campos de Datos de atribución:
- appsflyer_id
- idfa
- idfv
- advertising_id
- android_id
- id_usuario_cliente
- ip
- Campos de fuentes personalizadas que se unan a cualquiera de los campos de datos de atribución anteriores.
-
Campos de Datos de atribución:
- Las siguientes funciones no están permitidas cuando se ejecutan sobre datos de atribución no agregados. Están permitidas cuando se ejecutan sobre datos de atribución agregados o datos de fuentes personalizadas:
- collect_list
- collect_set
- último
- last_value
- first
- first_value
- máx.
- mín.
Para saber qué debes y qué no debes hacer al construir consultas, consulta ejemplos y explicaciones de consultas válidas y no válidas.
Acceso a Dynamic Query
- En AppsFlyer, desde el menú lateral, ve a Colaborar > Data Clean Room.
- En el menú superior, selecciona la pestaña Dynamic Query.
Referencia
Referencia de consulta
Las siguientes pestañas proporcionan información adicional sobre cómo crear consultas en el entorno de Dynamic Query.
Combinación de fuentes: JOIN y UNION
Las instrucciones JOIN combinan fuentes al hacer coincidir un campo común:
- Se pueden usar para combinar cualquier tipo de fuentes: tablas de datos de atribución y/o fuentes personalizadas
- Se puede usar para combinar un número ilimitado de fuentes
- Suele usarse para enriquecer datos de fuentes personalizadas con Datos de atribución
Las instrucciones UNION agregan tablas con un esquema coincidente (que contienen las mismas columnas y tipos de datos):
- Se puede usar para combinar tablas de datos de atribución o fuentes personalizadas; no se puede usar para combinar tablas de datos de atribución con fuentes personalizadas
- Se puede usar para combinar un número ilimitado de fuentes
- Suele usarse para realizar consultas en varias tablas de datos de atribución
Consulta de tablas de datos de atribución
Los datos de atribución del sistema AppsFlyer existen en 8 tablas diferentes:
- Cada tabla incluye distintos tipos de eventos de atribución.
- El período durante el cual los datos de consulta están disponibles varía según la tabla.
- Al crear tu consulta en la consola de Dynamic Query, coloca el cursor sobre el nombre de una tabla en el panel de selección para ver las fechas exactas de disponibilidad de los datos de esa tabla.
- Las tablas de cada uno de los grupos siguientes tienen un esquema coincidente, lo que significa que puedes usar instrucciones UNION para consultar fácilmente varias tablas a la vez.
Grupo 1: instalaciones de apps y eventos de retargeting
| Nombre de la tabla | Nota | Fechas de disponibilidad de los datos |
|---|---|---|
| Cadena | Un usuario descarga, instala e inicia una aplicación móvil | 180 días anteriores (sin incluir el día actual) |
| re_installs | Un usuario instala una aplicación, luego la desinstala y la vuelve a instalar durante la ventana de reatribución | 180 días anteriores (sin incluir el día actual) |
| re_engagements | Un usuario inactivo de una aplicación específica participa en una campaña de retargeting de la aplicación y posteriormente la inicia | 180 días anteriores (sin incluir el día actual) |
| re_attribution | Un antiguo usuario de una aplicación específica (que la había desinstalado) participa en una campaña de retargeting de la aplicación y posteriormente la vuelve a instalar | 180 días anteriores (sin incluir el día actual) |
| organic_installs | Instalación no atribuida a una fuente de medios específica | 180 días anteriores (sin incluir el día actual) |
Grupo 2: Eventos in-app
| Nombre de la tabla | Descripción | Fechas de disponibilidad de los datos |
|---|---|---|
| eventos_in_app | Eventos posteriores a la instalación configurados para su medición en el SDK de la aplicación | Día anterior + día actual |
| instalaciones_orgánicas_in_app | Eventos in-app posteriores a una instalación orgánica | Día anterior + día actual |
Grupo 3: Impresiones
| Nombre de la tabla | Nota | Fechas de disponibilidad de los datos |
|---|---|---|
| Validación de compra de AppsFlyer | Un anuncio es visualizado por un usuario de la aplicación o un visitante del sitio web
|
5 días anteriores + día actual |
Queries de muestra
Estas consultas muestran solo algunas de las posibilidades de lo que puedes hacer con Dynamic Query. Puedes utilizarlas simplemente para inspirarte o usarlas como punto de partida para tus propias consultas.
Para usar las consultas de ejemplo como base para tus consultas:
- Copiar y pegar: copia los ejemplos de SQL que quieras y pégalos en una hoja de trabajo de la pestaña Dynamic Query.
- Sustituir parámetros: modifica el código SQL sustituyendo los parámetros por las fuentes y los campos concretos que quieras consultar.
- Ejecutar: haz clic en el botón Run para ejecutar una consulta y obtener una vista previa de los resultados.
- Ejecutar una consulta y previsualizar los resultados no consume créditos.
- Los créditos de tu paquete DCR solo se consumen si descargas los resultados completos.
Obtén insights entre aplicaciones
Esta consulta recupera información sobre las 3 aplicaciones con más reinstalaciones de Snapchat durante los últimos 3 días.
SELECT app_id, COUNT(*) AS reinstall_count FROM re_installs WHERE media_source = 'snapchat_int' AND dt BETWEEN DATE_SUB(current_date(), 3) AND current_date() GROUP BY app_id ORDER BY reinstall_count DESC LIMIT 3;
Explora la integridad de datos
Para ayudarte a evaluar la integridad de los datos, esta consulta calcula la tasa de valores IDFA nulos de las 10 fuentes de medios con el mayor número de instalaciones durante los últimos 7 días.
SELECT media_source, COUNT(*) AS total_installs, ROUND((SUM(CASE WHEN idfa IS NULL THEN 1 ELSE 0 END) / COUNT(*)) * 100, 2) AS null_idfa_rate FROM installs WHERE dt BETWEEN DATE_SUB(current_date(), 3) AND current_date() GROUP BY media_source ORDER BY total_installs DESC LIMIT 10;
Calcula métricas de atribución personalizadas
Al calcular la media geométrica de la diferencia de tiempo (en segundos) entre la hora de instalación y la hora del toque atribuido para cada fuente de medios y campaña, los datos resultantes proporcionan información sobre la eficiencia de varias fuentes de medios con respecto a las conversiones de usuarios y los plazos de atribución.
SELECT media_source,campaign,geo_mean(GREATEST(1, unix_timestamp(install_time, "yyyy-MM-dd HH:mm:ss") - unix_timestamp(attributed_touch_time, "yyyy-MM-dd HH:mm:ss.SSS"))) FROM installs GROUP BY 1,2
Enriquece tus datos personalizados con insights de atribución
Esta consulta utiliza datos de atribución para agrupar una puntuación de la fuente personalizada C (c.score) por fuente de medios, lo que te permite usar tu métrica personalizada para evaluar el rendimiento relativo de varias fuentes de medios.
SELECT media_source, sum(c.score) FROM client_input c JOIN install i on i.appsflyer_id = c.appsflyer_id GROUP BY media_source;
Unión compleja de atribución y datos propios
Esta consulta utiliza un proceso de unión de datos más complejo, lo que permite generar insights avanzados. Primero, recupera y unifica datos de 2 tablas de atribución distintas ("instalación" y "installRetarget"). A continuación, combina estos datos con 2 fuentes personalizadas propias para proporcionar insights sobre varios tipos de conversión, incluida una métrica personalizada de rendimiento agregada (score) y la antigüedad máxima de cada una.
SELECT conversion_type, SUM(sum_score), MAX(max_age) FROM (SELECT media_source, conversion_type, SUM(score) as sum_score, MAX(age) as max_age FROM (SELECT * from install union all select * FROM installRetarget) af JOIN client_input c on c.appsflyer_id = af.appsflyer_id JOIN client_age ca on ca.appsflyer_id = c.appsflyer_id GROUP BY media_source, conversion_type) GROUP BY conversion_type
Consultas no válidas
Estas consultas ilustran algunas de las reglas que Dynamic Query utiliza para garantizar el cumplimiento de los requisitos de privacidad del usuario. Úsalas para comprender mejor lo que se debe y lo que no se debe hacer al crear consultas para el DCR.
Sin instrucción GROUP BY
Cada una de las siguientes consultas no es válida porque utiliza datos de atribución, pero no incluye una instrucción GROUP BY:
SELECT * FROM install;
-----------------------------------------------------
SELECT media_source, appId FROM client_input c JOIN install af on af.appsflyer_id = c.appsflyer_id;
Agrupada por un campo no permitido de datos de atribución
La siguiente consulta no es válida porque agrupa por un campo no permitido de datos de atribución (appsflyer_id):
SELECT appsflyer_id, count(*) FROM install GROUP BY appsflyer_id
-----------------------------------------------------
La siguiente consulta no es válida porque agrupa por un campo no permitido de datos de atribución (appsflyer_id). Esto no está permitido, incluso cuando el campo está dentro de una función:
SELECT substr(appsflyer_id, 0, 5), count(*) FROM install GROUP BY substr(appsflyer_id, 0, 5)
-----------------------------------------------------
La siguiente consulta no es válida porque agrupa por un campo no permitido de datos de atribución (appsflyer_id). Esto no está permitido, incluso cuando el campo está dentro de un índice:
SELECT appsflyer_id, count(*) FROM install GROUP BY 1
Agrupada por un campo de fuente personalizada unido a un campo no permitido de datos de atribución
La siguiente consulta no es válida porque agrupa por un campo de fuente personalizada (my_id) que está unido a un campo no permitido de datos de atribución (appsflyer_id); por lo tanto, la misma restricción de agrupación también se aplica a my_id.
SELECT my_id, count(*) FROM installs JOIN my_source on my_source.my_id = installs.appsflyer_id GROUP BY my_id
Función restringida
La siguiente consulta es no válida porque intenta ejecutar la función collect_list en datos de atribución no agregados:
SELECT App_id, collect_list(appsflyer_id) FROM install GROUP BY app_id
-----------------------------------------------------
Compáralo con la siguiente consulta válida, que ejecuta la función collect_list en datos de atribución agregados:
SELECT app_id, collect_list(campaign) FROM (select app_id, campaign FROM Install GROUP BY 1, 2) GROUP BY app_id
-----------------------------------------------------
Compárala con la siguiente consulta válida, que ejecuta la función collect_list en datos de fuente personalizados:
SELECT app_id, collect_list(c.score) FROM client_input c GROUP BY app_id
This article was translated automatically and may contain errors. The English version is the most accurate - use the language selector below to switch.