Measurement Protocol – механика серверной отправки событий в Google Analytics. Хороша она тем, что позволяет обогащать данные в GA тем, что происходит вне контура вашего веб-сайта или приложения. Во второй версии протокола появились долгожданные параметры timestamp_micros и session_id, которые дают возможность отправлять конверсии в прошлое и связывать их со вполне конкретным сеансом. Но на деле преимущество обернулось неприятным казусом.
Мельчайший атом GA4 – ивент, он в своей сути никак не связан с сеансом, более того сеанс – своего рода комплиментарная штука для GA4. То есть не очень-то обязательная и нужная. На деле это означает, что событие, отправленное через Measurement Protocol 2 в GA4 не унаследует никаких дополнительных параметров сеанса, несмотря на то что вы укажете в payload вполне определенный session_id.
Никаких – я погорячился конечно, параметры источника трафика связываются (что кстати странно). Но не более того. Допустим, все ваши транзакции при отправке через Measurement Protocol 2 при прочих равных будут атрибутированы к десктопному трафику – даже если по факту это не так. Куча всего важного получит параметр "not set". В том числе местоположение. Переопределить его нельзя. Никак.
Что это значит? Многие проблемы – допустим с типом устройства – решаемы. Цена этому – доп танцы с бубном. Вы можете обогатить запрос о событии необходимыми данными об устройстве (через параметр User Agent), языке пользователя, источнике трафика, странице/экране и так далее. Но гео – нет. Об этом ясно сказано в справке Google:
Информацию о местоположении можно получить только с помощью автоматического сбора из глобального тега, Google Менеджера тегов или Google Аналитики для Firebase.
Несмотря на то, что David Vallejo в своей документации описал параметр User Country, я не сумел отловить его успешное использование (если удалось вам – напишите об этом в комментарии). То есть в интерфейса GA4 вы не сможете анализировать свои офлайн-события в разбивке по гео.
Конечно, на интерфейсе жизнь не заканчивается, вы можете поступить похитрее:
1. Вытащить гео-параметры из событий session_start, page_view и других в BigQuery.
2. Отправить вместе с офлайн-событием специфический кастомный гео-параметр, например mp_country.
3. Собрать в GA4 сегмент сеансов / пользователей с такими событиями и вытащить гео оттуда.
Но все это магия, которая не то чтоб упрощает жизнь конечному пользователю. В предыдущей версии был параметр uip, с помощью которого можно было переопределять местоположение, текущая же требует, чтобы руки аналитика росли из соответствующего задачам места. Пока непонятно, к добру это или нет.
Больше о работе с данными в продукте и маркетинге есть в Телеграм-канале "Модель атрибуции”
