Чем мы можем помочь?

Экспорт данных отчетов Web Performance Measurement из Data Locker

  • Обновлено

Кратко: Экспортируйте данные Web Performance Measurement из Data Locker в двух типах отчетов, чтобы анализировать эффективность сайта на нужном уровне. Используйте End User Events для анализа всех посещений и событий, а Conversions — для подсчета и атрибуции уникальных конверсионных якорей (первых посещений, повторных посещений и событий привлечения пользователей).

Важно! Чтобы использовать отчеты Web Performance Measurement в Data Locker, у вас должна быть подписка на Data Locker.

Об отчетах Web Performance Measurement

Data Locker предоставляет два отчета для Web Performance Measurement: End User Events и Conversions, каждый из которых предназначен для разных задач анализа.

  • Отчет End User Events — основной источник для анализа активности на сайте:
    • Включает все веб-события и посещения
    • Регистрирует каждое посещение как атрибутированную сессию SESSION
    • Идеально подходит для отчетности на уровне посещений и уровне событий
  • Отчет Conversions лучше всего подходит для анализа на уровне конверсий. Конверсия — это якорь атрибуции, точка взаимодействия, которая определяет, когда и как распределять маркетинговую ценность. Сюда входят:
    • первые посещения (когда пользователь впервые заходит на ваш сайт),
    • повторные посещения (когда пользователь возвращается после взаимодействия с неорганической рекламой), и
    • события привлечения пользователей (пользовательские события, например регистрация или первый депозит), которые указывают на то, что пользователь был привлечен.
  • Все пользовательские события позже связываются с этими конверсиями и наследуют данные об их кампаниях

В интерфейсе Data Locker Advanced Reports также указаны Engagements и End User Events Cross-Platform как отдельные варианты отчетов Web Performance Measurement. В этой статье рассматриваются End User Events и Conversions — два отчета, которые используются для большинства видов анализа Web Performance Measurement.

Выберите отчет Web Performance Measurement

Перед экспортом данных Web Performance Measurement выберите соответствующий отчет в Data Locker.

  1. В AppsFlyer в боковом меню выберите Экспорт > Data Locker.
  2. Кликните вкладку Advanced Reports.
  3. Выберите End User Events или Conversions из списка отчетов Web Performance Measurement.
  4. Нажмите Сохранить конфигурацию.

Поля отчета

Чтобы узнать, какие поля содержатся в отчетах, скачайте образец для каждого отчета:

Образец отчета включает все поля отчета и их значения. Определения полей см. в словаре полей.

Сроки формирования отчетов и актуальность данных

Используйте эти сведения, чтобы понять, когда добавляются новые данные и когда недавние события становятся доступны в отчете.

  • Частота формирования отчета: новые данные добавляются каждый час.
  • Актуальность данных: события обычно появляются в отчете в течение 2–3 часов после их возникновения.

Вот как работает каждый пакетный запуск:

  • Каждый пакет обрабатывает события в рамках 1,5-часового окна.
  • В пределах этого окна атрибутируется только первый час событий.
  • Оставшиеся 30 минут используются только для обогащения атрибутированных событий идентификаторами пользователей клиентов (CUIDs).
  • События за последние 30 минут пока не атрибутированы — они будут включены в следующий пакет.

Когда эти события появятся в отчете?

События записываются в отчеты после завершения обработки. Например, события за период 08:00–09:00, атрибутированные в пакете 10:00, появятся в версии отчета 11:00.

Пример: что делает пакет 10:00 AM

дата; Отчет доступен в Атрибутированные веб-события (время события) Веб-события, обработанные для обогащения более ранних событий CUIDs
01.28.2026 11:00 08:00 – 09:00 09:00 – 09:30
01.28.2026 12:00 09:00 – 10:00 10:00 – 10:30
01.28.2026 13:00 10:00 – 11:00 12:00 – 13:30

Загрузите данные отчета из своего облачного бакета

Подробнее о том, как загрузить данные отчета из своего облачного бакета, см. в статье структура папок Data Locker.

Информация для разработчиков систем бизнес-аналитики

Ключевые различия: веб и мобильные

Веб-атрибуция отличается от мобильной атрибуции как идентификаторами, так и логикой данных. Чтобы повысить точность данных, применяйте в запросах следующие фильтры и практические рекомендации.

Аспект Мобильная платформа Веб
Фильтр по платформе платформа = 'IOS' или платформа = 'ANDROID' платформа = 'WEBSITE'
Идентификатор пользователя (значение) appsflyer_id (на основе устройства) appsflyer_id_value (на основе файлов cookie)
Тип идентификатора Зависит от устройства appsflyer_id_type всегда имеет значение web_id
Событие привлечения установка По умолчанию используется First Visit, но событие привлечения пользователей можно настроить
False означает, что налог включен в общую выручку. ПОВТОРНОЕ ВОВЛЕЧЕНИЕ REVISIT
Ретаргетинг Поддерживается Не поддерживается — для веба доступны только привлечение пользователей и повторные визиты
Время события Идентификатор приложения (например, id123456789) Домен с префиксом (например, website-www.example.com)
Какую таблицу запрашивать?

Отчет End User Events подходит для большинства видов анализа. Он включает все события и визиты на сайте. В этом отчете каждый веб-визит также записывается как атрибутированная SESSION, поэтому он служит основным источником для отчетности на уровне визитов и событий.

Таблица Conversions подходит в основном для подсчета первых визитов, повторных визитов и привлечений пользователей, когда нужны уникальные конверсии без дублирующихся записей событий.

Пример использования Таблица Почему
Подсчет визитов/сессий end_user_events Каждая строка — это сессия или событие
Подсчет уникальных конверсий конверсий Помогает избежать дубликатов
Анализ внутренних событий приложения end_user_events с end_user_event_type = 'IN_APP' Только у событий в приложении есть названия событий
Реализуйте фильтры запросов

Примените следующие фильтры, чтобы обеспечить точность запросов к сырым данным. Если не реализовать их, это приведет к дублированию записей и смешению метрик разных платформ.

  • Фильтр по платформе (обязательно): Добавьте WHERE platform = 'WEBSITE', чтобы отделить данные из веб-источников и исключить записи из мобильной среды, среды ПК или CTV.
  • Фильтр по атрибуционному credit (обязательно): Одно и то же действие пользователя может отображаться дважды в end_user_events, потому что AppsFlyer может присвоить ему два разных атрибуционных credit в зависимости от представления отчетности.

    Это может произойти, если у пользователя есть:

    • исходный источник User Acquisition (UA), а позже —
    • источник повторного вовлечения.

    В таком случае AppsFlyer может записать две записи для одного и того же события:

    • Primary credit: Атрибутирует событие к самому недавнему релевантному маркетинговому взаимодействию. Используется в Unified и представлении ретаргетинга.

      Чтобы избежать двойного подсчета, по умолчанию запрашивайте end_user_events, используя только запись primary credit:

      WHERE platform = 'WEBSITE'
        AND is_primary_attribution = true
    • Secondary credit: Атрибутирует событие обратно к исходному источнику UA. Используется в представлении «Привлечение пользователей» для измерения пожизненной ценности (LTV).

      Поскольку одно и то же действие пользователя может храниться как две записи (одна с primary credit, другая с secondary credit), подсчет событий без фильтра может привести к двойному учету этого действия.

      Используйте эти запросы как шаблоны для анализа данных атрибуции веб-трафика в BigQuery или других инструментах бизнес-аналитики.

  • Фильтр по типу конверсии (необязательно): Добавьте WHERE conversion_type = 'USER_ACQUISITION' или WHERE conversion_type = 'RETARGETING', чтобы выделить данные атрибуции по типу кампании.

Таблица сводки по фильтрам

Требование к фильтру Логика SQL Контекст реализации
Спецификация платформы WHERE platform = 'WEBSITE' Изолирует данные, полученные из веб-источников, от других записей платформы.
Единое представление (избегайте дублирования) WHERE is_primary_attribution = true AND platform = 'WEBSITE' Отдавайте приоритет атрибуции ретаргетинга перед исходной UA-кампанией. Используйте для общей отчетности, чтобы избежать двойного учета.
Только представление «Ретаргетинг» WHERE conversion_type = 'RETARGETING' AND platform = 'WEBSITE' Используйте только при анализе эффективности ретаргетинговых кампаний.
Только представление «Привлечение пользователей» WHERE conversion_type = 'USER_ACQUISITION' AND platform = 'WEBSITE' Используйте специально для представлений, ориентированных на привлечение, где события должны быть привязаны к первому визиту.
Идентификация и подсчет конечных пользователей

В сырых данных Web Performance Measurement один конечный пользователь может отображаться под двумя разными идентификаторами:

  • customer_user_id: стабильный идентификатор, который вы задаете (обычно для авторизованных пользователей).
  • appsflyer_id_value: идентификатор на основе cookie, срок действия которого со временем может истечь.

Чтобы правильно определять уникальных пользователей и рассчитывать метрики на уровне пользователя, всегда используйте:

COALESCE(customer_user_id, appsflyer_id_value)

Вот, как это работает:

  • Если customer_user_id существует, AppsFlyer использует его (предпочтительный, стабильный вариант).
  • Если его нет, AppsFlyer использует appsflyer_id_value.

Используйте COALESCE(customer_user_id, appsflyer_id_value), когда нужно:

  • Подсчитывать уникальных пользователей
  • Группировать по пользователю
  • Фильтровать по конкретным пользователям
  • Объединять таблицы по пользователю
  • Рассчитывать любые метрики на уровне пользователя

Пример: подсчёт уникальных пользователей

SELECT 
  COUNT(DISTINCT COALESCE(customer_user_id, appsflyer_id_value)) AS unique_users
FROM `end_user_events`
WHERE platform = 'WEBSITE'
  AND is_primary_attribution = TRUE
Органический vs. неорганический трафик

Используйте поле is_organic:

Тип трафика Фильтр
Органика is_organic = true
Неорганический is_organic = false
Обработка пустых значений
Тип данных Пустое значение
строка '' (пустая строка)
Доход от рекламы NULL
Примеры запросов
1. Общее количество посещений по медиаисточникам (7 дней)

Подсчитывает количество веб-сессий, атрибутированных каждому медиаисточнику.

SELECT media_source, COUNT(*) AS total_visits
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
  AND end_user_event_type = 'SESSION'
GROUP BY media_source
ORDER BY total_visits DESC
2. Первые посещения и повторные посещения по кампаниям
SELECT campaign_name, conversion_name, COUNT(*) AS conversion_count
FROM conversions
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND conversion_name IN ('FIRST_VISIT', 'REVISIT')
GROUP BY campaign_name, conversion_name
ORDER BY conversion_count DESC
3. Подсчет уникальных названий событий (только события в приложении)
SELECT
  event_name,
  COUNT(*) AS event_count
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
  AND end_user_event_type = 'IN_APP'
GROUP BY event_name
ORDER BY event_count DESC
4. Подсчет уникальных пользователей по медиаисточникам
SELECT
  media_source,
  COUNT(DISTINCT COALESCE(customer_user_id, appsflyer_id_value)) AS unique_users
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
GROUP BY media_source
ORDER BY unique_users DESC
5. Коэффициент конверсии — от первого визита до покупки (межтабличное соединение)
WITH first_visits AS (
  SELECT
    COALESCE(customer_user_id, appsflyer_id_value) AS user_id,
    media_source
  FROM conversions
  WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
    AND platform = 'WEBSITE'
    AND unified_app_id = 'website-example.com'
    AND conversion_name = 'FIRST_VISIT'
),
purchases AS (
  SELECT DISTINCT
    COALESCE(customer_user_id, appsflyer_id_value) AS user_id
  FROM end_user_events
  WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
    AND platform = 'WEBSITE'
    AND unified_app_id = 'website-example.com'
    AND is_primary_attribution = true
    AND end_user_event_type = 'IN_APP'
    AND event_name = 'purchase'
)
SELECT
  fv.media_source,
  COUNT(DISTINCT fv.user_id) AS first_visit_users,
  COUNT(DISTINCT p.user_id) AS purchasers,
  SAFE_DIVIDE(COUNT(DISTINCT p.user_id), COUNT(DISTINCT fv.user_id)) AS conversion_rate
FROM first_visits fv
LEFT JOIN purchases p ON fv.user_id = p.user_id
GROUP BY fv.media_source
ORDER BY conversion_rate DESC
6. Доход по кампаниям (последние 7 дней)
SELECT
  campaign_name,
  media_source,
  SUM(revenue_usd) AS total_revenue_usd,
  COUNT(*) AS revenue_events
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
  AND revenue_usd IS NOT NULL
  AND revenue_usd <> 0.0
GROUP BY campaign_name, media_source
ORDER BY total_revenue_usd DESC
7. Органические и неорганические первые посещения по дням
SELECT
  DATE(event_time) AS visit_date,
  CASE WHEN is_organic = true THEN 'органический' ELSE 'неорганический' END AS traffic_type,
  COUNT(*) AS first_visits
FROM conversions
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND conversion_name = 'FIRST_VISIT'
GROUP BY visit_date, traffic_type
ORDER BY visit_date, traffic_type
8. Разбивка по привлечению пользователей и ретаргетингу
SELECT
  conversion_type,
  conversion_name,
  COUNT(*) AS conversions
FROM conversions
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
GROUP BY conversion_type, conversion_name
ORDER BY conversions DESC
9. Распределение идентификаторов кликов (Google, Meta, TikTok и т. д.)
SELECT
  click_id_type,
  COUNT(*) AS events_with_click_id
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
  AND click_id_type != ''
GROUP BY click_id_type
ORDER BY events_with_click_id DESC
10. Сгруппируйте пользователей в когорты по дате конверсии (эквивалентно дате установки в мобильном приложении)
SELECT
  DATE(event_time__conversion) AS cohort_date,
  media_source,
  COUNT(DISTINCT COALESCE(customer_user_id, appsflyer_id_value)) AS cohort_users
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
GROUP BY cohort_date, media_source
ORDER BY cohort_date, cohort_users DESC

Спецификации и ограничения

Следующие поля не поддерживаются для веб-данных и всегда будут пустыми:

Специфика Описание
advertising_id_type, hardware_id_type и т. д. Оба типа
agency, site_id, ad_type Оба типа
platform_group конверсий
app_version__conversion end_user_events
Все поля __assist_* конверсий

Смотрите также