Речь о том, что поле 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 станет-таки реальностью.

Больше о работе с данными в продукте и маркетинге есть в Телеграм-канале "Модель атрибуции”