Resumo: saiba como calcular os usuários ativos diários e mensais para obter insights valiosos sobre as suas campanhas
Visão geral
Daily Active Users (DAU) e Monthly Active Users (MAU) são métricas fundamentais para entender o engajamento no aplicativo e o comportamento geral de um usuário. Essas métricas fornecem insights valiosos sobre a sua base de usuários ativos, incluindo o stickiness do usuário, performance de uma campanha e tendências de crescimento ao longo do tempo.
Esse artigo explica como calcular o DAU e MAU utilizando consultas em duas tabelas de dados brutos do Data Locker, que representam a aquisição de usuários e o tráfego de retargeting: as tabelas sessions e sessions_retargeting.
Atenção
A partir de fevereiro de 2025, o dashboard de atividades na AppsFlyer mostrará dados unificados (UA e retargeting) por padrão. Talvez você observe um pequeno delta entre os dados brutos e os números do dashboard por conta de ajustes algorítmicos aprovados.
Consulta de usuários exclusivos ativos
Para calcular os usuários exclusivos, use advertising_id como identificador primário na sua consulta. Se o advertising_id não estiver disponível, substitua-o por appsflyer_id. Esse método se aplica apenas a aplicativos configurados no modo de primeira instalação.
Para aplicativos que não usam esse modo, recomendamos a aplicação de count(distinct appsflyer_id).
Calcular Daily Active Users (DAU)
Calcule o número total de usuários exclusivos por dia usando as consultas abaixo.
Consulta para DAU - Aquisição de usuários (UA)
Selecione os usuários ativos após a aquisição de usuários para um dia 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
Selecione os usuários de ativos após o retargeting para um dia 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 de DAU - Unificado (UA e retargeting)
Selecionar usuários ativos após UA e retargeting para um dia específico.
Para visualizar todos os usuários ativos, você deve unir
as tabelas sessions e sessions_retargeting.
Certifique-se de que os campos estão alinhados — normalmente por
app_id, event_time,
advertising_id e appsflyer_id. Quando
necessário, padronize o esquema de modo que ambas as tabelas tenham nomes de colunas
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 Monthly Active Users (MAU)
Os dashboards da AppsFlyer apresentam o MAU de duas maneiras diferentes:
- Usuários ativos nos últimos 31 dias — o número de usuários exclusivos ativos nos últimos 31 dias.
- MAU do mês selecionado — número de usuários exclusivos durante um mês específico.
As consultas abaixo mostram como calcular o primeiro tipo de MAU. Para calcular o MAU de um mês específico, basta ajustar o intervalo de datas para corresponder ao mês desejado.
Consulta de MAU - Aquisição de usuários (UA)
Selecione os usuários ativos após a aquisição de usuários para um mês 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;
Consulta de MAU - Retargeting
Selecione os usuários de ativos após o retargeting para um mês 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;
Consulta de MAU - Unificado (UA e retargeting)
Selecionar usuários ativos após UA e retargeting para um mês específico.
Para visualizar todos os usuários ativos, você deve unir
as tabelas sessions e sessions_retargeting.
Certifique-se de que os campos estão alinhados — normalmente por
app_id, event_time,
advertising_id e appsflyer_id. Quando
necessário, padronize o esquema de modo que ambas as tabelas tenham nomes de colunas
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;