How can we help?

Экспорт данных отчетов 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, каждый из которых предназначен для разных задач анализа.

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

Поля отчета

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

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

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

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

  • Частота формирования отчета: новые данные добавляются каждый час.
  • Актуальность данных: события обычно появляются в отчете в течение 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
Ретаргетинг Поддерживается Не поддерживается — для веба доступны только привлечение пользователей и повторные визиты
Время события Идентификатор ID приложения (например, 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. Используется в представлении «привлечение пользователей» для отслеживания lifetime value (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_* конверсий

This article was translated using AI and may contain errors. For the most accurate information, please refer to the English version using the language selector.


Share article: