En resumen: Aprende a calcular usuarios activos diarios y mensuales para obtener insights valiosos sobre tus campañas
General
Los usuarios activos diarios (DAU) y los usuarios activos mensuales (MAU) son métricas clave para entender el engagement de la aplicación y el comportamiento general del usuario. Proporcionan insights valiosos sobre tu base de usuarios activos, incluyendo la retención de usuarios, el rendimiento de las campañas y las tendencias de crecimiento a lo largo del tiempo.
Este artículo explica cómo calcular DAU y MAU utilizando consultas en dos tablas de raw data de Data Locker que representan la adquisición de usuarios y el tráfico de retargeting: las tablas sessions y sessions_retargeting.
Nota
A partir de febrero de 2025, el dashboard de actividad en AppsFlyer muestra datos unificados (UA y Retargeting) por defecto. Puedes notar una pequeña diferencia entre los raw data y los números del dashboard debido a ajustes algorítmicos aprobados.
Consultando usuarios únicos activos
Para calcular usuarios únicos, utiliza advertising_id como el identificador principal en tu consulta. Si advertising_id no está disponible, sustitúyelo por appsflyer_id. Este método se aplica solo a aplicaciones configuradas en modo de primera instalación.
Para aplicaciones que no utilizan este modo, recomendamos aplicar count(distinct appsflyer_id).
Calcular usuarios activos diarios (DAU)
Calcular el número total de usuarios únicos por día utilizando las consultas a continuación.
Consulta para DAU – Adquisición de Usuarios (UA)
Seleccionar usuarios activos de UA para un día específico.
WITH sessions_cleaned AS (
SELECT DISTINCT
app_id,
COALESCE(advertising_id, appsflyer_id) AS user_id
FROM sessions
WHERE app_id = 'your.app.id.here' -- Replace with your app ID
AND SUBSTR(event_time, 1, 10) = 'YYYY-MM-DD' -- Target date
)
SELECT COUNT(DISTINCT user_id) AS dau_ua
FROM sessions_cleaned;
Consulta para DAU – Retargeting
Seleccionar usuarios activos de retargeting para un día específico.
WITH sessions_retargeting_cleaned AS (
SELECT DISTINCT
app_id,
COALESCE(advertising_id, appsflyer_id) AS user_id
FROM sessions_retargeting
WHERE app_id = 'your.app.id.here' -- Replace with your app ID
AND SUBSTR(event_time, 1, 10) = 'YYYY-MM-DD' -- Target date
)
SELECT COUNT(DISTINCT user_id) AS dau_retargeting
FROM sessions_retargeting_cleaned;
Consulta para DAU – Unificado (UA y Retargeting)
Seleccionar usuarios activos de UA y retargeting para un día específico.
Para obtener una cobertura completa de usuarios activos, debes unir
las tablas sessions y sessions_retargeting
. Asegúrate de que los campos estén alineados, generalmente por
app_id, event_time,
advertising_id y appsflyer_id. Si es
necesario, normaliza el esquema para que ambas tablas tengan
nombres de columnas consistentes.
WITH ua_sessions AS (
SELECT DISTINCT
app_id,
COALESCE(advertising_id, appsflyer_id) AS user_id
FROM sessions
WHERE app_id = 'your.app.id.here' -- Replace with your app ID
AND SUBSTR(event_time, 1, 10) = 'YYYY-MM-DD' -- Target date
AND is_primary_attribution = TRUE
),
retargeting_sessions AS (
SELECT DISTINCT
app_id,
COALESCE(advertising_id, appsflyer_id) AS user_id
FROM sessions_retargeting
WHERE app_id = 'your.app.id.here' -- Same app
AND SUBSTR(event_time, 1, 10) = 'YYYY-MM-DD' -- Same date
),
all_sessions AS (
SELECT * FROM ua_sessions
UNION ALL
SELECT * FROM retargeting_sessions
)
SELECT COUNT(DISTINCT user_id) AS dau_unified
FROM all_sessions;
Calcular Usuarios Activos Mensuales (MAU)
Los dashboards de AppsFlyer presentan MAU de dos maneras:
- Usuarios activos en los últimos 31 días – el número de usuarios activos únicos en los últimos 31 días.
- MAU en el mes del calendario – el número de usuarios activos únicos dentro de un mes específico del calendario.
Las consultas a continuación demuestran cómo calcular el primer tipo de MAU. Para calcular el MAU del mes del calendario en su lugar, simplemente ajusta el rango de fechas para que coincida con el mes deseado.
Consultas para MAU – Adquisición de Usuarios (UA)
Selecciona usuarios activos de UA para un mes específico.
WITH sessions_cleaned AS (
SELECT DISTINCT
app_id,
COALESCE(advertising_id, appsflyer_id) AS user_id
FROM sessions
WHERE app_id = 'your.app.id.here' -- Replace with your app ID
AND DATE_DIFF('day', TRY_CAST(SUBSTR(event_time, 1, 10) AS DATE), DATE('YYYY-MM-DD')) <= 31 -- Replace with target end date
)
SELECT COUNT(DISTINCT user_id) AS mau_ua
FROM sessions_cleaned;
Consultas para MAU – Retargeting
Selecciona usuarios activos de retargeting para un mes específico.
WITH sessions_cleaned AS (
SELECT DISTINCT
app_id,
COALESCE(advertising_id, appsflyer_id) AS user_id
FROM sessions_retargeting
WHERE app_id = 'your.app.id.here' -- Replace with your app ID
AND DATE_DIFF('day', TRY_CAST(SUBSTR(event_time, 1, 10) AS DATE), DATE('YYYY-MM-DD')) <= 31 -- Replace with target end date
)
SELECT COUNT(DISTINCT user_id) AS mau_retargeting
FROM sessions_cleaned;
Consultas para MAU – Unificado (UA y Retargeting)
Selecciona usuarios activos de UA y retargeting para un mes específico.
Para obtener una cobertura completa de usuarios activos, debes unir
las tablas sessions y sessions_retargeting
. Asegúrate de que los campos estén alineados, generalmente por
app_id, event_time,
advertising_id y appsflyer_id. Si es
necesario, normaliza el esquema para que ambas tablas tengan
nombres de columnas consistentes.
WITH ua_sessions AS (
SELECT DISTINCT
app_id,
COALESCE(advertising_id, appsflyer_id) AS user_id
FROM sessions
WHERE app_id = 'your.app.id.here' -- Replace with your app ID
AND DATE_DIFF('day', TRY_CAST(SUBSTR(event_time, 1, 10) AS DATE), DATE('YYYY-MM-DD')) <= 31 -- Replace with target end date
AND is_primary_attribution = TRUE
),
retargeting_sessions AS (
SELECT DISTINCT
app_id,
COALESCE(advertising_id, appsflyer_id) AS user_id
FROM sessions_retargeting
WHERE app_id = 'your.app.id.here' -- Same app
AND DATE_DIFF('day', TRY_CAST(SUBSTR(event_time, 1, 10) AS DATE), DATE('YYYY-MM-DD')) <= 31 -- Replace with target end date
),
all_sessions AS (
SELECT * FROM ua_sessions
UNION ALL
SELECT * FROM retargeting_sessions
)
SELECT COUNT(DISTINCT user_id) AS mau_unified
FROM all_sessions;