Речь о том, что поле event_timestamp в GA4-экспорте может не иметь ничего общего с фактическим моментом события.
Что-что?
Да, увы это именно так - спасибо @baikulov что обратил моё внимание. Хиты с GA4 уходят не по одному, а пакетно – так называемыми батчами. И в поле event_timestamp записывается метка отправки конкретного батча, а не события. И это крайне важно – в первую очередь для корректного расчета атрибуции.
Но каков же размер трагедии? Подсчитать это очень просто:
1. Создайте в GTM переменную типа Custom Javascript, которая будет возвращать текущий timestamp и отправьте её в GA4 в параметрах события. Назовите её скажем hit_timestamp.
2. Аналогичный специальный параметр в GA4 создавать не надо!
3. Подождите несколько дней для сбора данных, а затем сходите в BigQuery и сопоставьте временные метки event_timestamp и hit_timestamp. Вот примерный текст запроса:
https://github.com/alexignatenko/bigquery_public/blob/main/
timestamp_difference
В моей попытке сравнения я увидел, что только у 95% хитов timestamp отличается на 1 минуту и меньше. К сожалению 5% – это много. Слишком много, если учесть, что есть и такие, в которых разница составляет более 10 минут.
Проблем добавляет, что батчи – это абсолютный чёрный ящик, об этом нет никакой документации. Абсолютно. Единственное, что я успел накопать – это изыски Филиппа Кеннеди, о которых он писал в своей статье:
1. События-конверсии всегда передаются немедленно, хотя они могут быть частью батча.
2. Контейнеры, загруженные в режиме отладки, никогда не объединяют события в батчи.
3. В средах браузера, которые не поддерживают API sendBeacon, все события отправляются по мере их возникновения без батчинга.
Так что используйте отправку hit_timestamp вручную – надеюсь таким образом обновление с реальным моментом события в BigQuery станет-таки реальностью.
Больше о работе с данными в продукте и маркетинге есть в Телеграм-канале "Модель атрибуции”

