О фрагменте gtag.js
Если вы используете в ресурсе Universal Analytics код analytics.js, вам понадобится добавить фрагмент gtag.js для нового ресурса Google Аналитики 4. Фрагмент gtag.js имеет следующую структуру:
01: <script async src="https://www.googletagmanager.com/gtag/js?id=<Идентификатор ресурса А>"></script>
02: <script>
03: window.dataLayer = window.dataLayer || [];
04: function gtag(){dataLayer.push(arguments);}
05: gtag('js', new Date());
06:
07: gtag('config', '<Идентификатор ресурса А>');
08:
09: gtag('config', '<Идентификатор ресурса Б>');
10:
11: gtag('event', 'sign_up', { 'method': 'email' });
12:
13: gtag('event', 'view_video', { 'send_to': '<Идентификатор ресурса Б>' });
14:
15: </script>
Строка 7. Директива config тега gtag.js включает сбор данных для ресурса, связанного с <Идентификатором ресурса А>. Например, добавление такой директивы с идентификатором тега для ресурса Google Аналитики 4 запустит передачу событий page_view
в этот ресурс.
Идентификатор ресурса может обозначать разные продукты Google, включая ресурс Universal Analytics (UA-XXXXXXXX), ресурс Google Аналитики 4 (G-XXXXXXXX), Google Рекламу (AW-XXXXXXXX) и Floodlight (DC-XXXXXXXX).
Строка 11. Директива event тега gtag.js передает событие. Если во фрагменте присутствуют директивы config для нескольких ресурсов, событие передается во все эти ресурсы.
В примере выше параметр sign_up – это название события. Последний параметр – это объект, содержащий набор параметров события. В нашем примере method – параметр со значением email.
Строка 13. Здесь send_to – параметр события. Это специальный параметр, который направляет связанное с ним событие в определенный ресурс. В нашем примере это событие будет передано только в ресурс, обозначенный как <Идентификатор ресурса Б>.
Для ресурса Google Аналитики 4 директива config включает базовый сбор данных и сбор событий page_view как автоматически регистрируемых, когда загружается на странице.
Обращение pageview или событие page_view можно изменить или заблокировать, используя определенные параметры.
Идентификаторы ресурсов
Идентификатор ресурса Universal Analytics имеет формат "UA-XXXXXXXX". Его иногда называют идентификатором отслеживания, но в этой статье мы используем термин "идентификатор ресурса Universal Analytics".
В потоках данных сайта для ресурсов Google Аналитики 4 используется идентификатор тега в формате "G-XXXXXXXX".
В некоторых примерах кода и документации они иногда могут называться "TAG_ID".
Базовый сбор данных
Включив базовый сбор данных для ресурса Google Аналитики 4, вы сможете собирать следующее:
- события page_view;
- автоматически регистрируемые события;
- события улучшенной статистики (если они включены в интерфейсе).
Чтобы настроить базовый сбор данных для ресурса Google Аналитики 4, добавьте в раздел <head>
каждой страницы фрагмент gtag.js (тег Google).
Сравнение фрагментов gtag.js и analytics.js
Фрагмент gtag.js для ресурса Google Аналитики 4 выполняет ту же задачу, что и фрагмент analytics.js для ресурса Universal Analytics.
Основное различие между ними заключается в том, что код analytics.js содержит отдельный вызов send pageview, а код gtag.js – нет. В коде gtag.js просмотр страницы – автоматически регистрируемое событие, которое передается с помощью директивы config.
Ресурс Universal Analytics (analytics.js)
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'TAG_ID', 'auto');
ga('send', 'pageview');
</script>
Ресурс Google Аналитики 4 (gtag.js)
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'TAG_ID');
</script>
Настройки конфигурации gtag.js
Вы можете настроить базовый фрагмент gtag.js, чтобы управлять настройками сбора данных, например деидентификацией IP-адресов, персонализацией файлов cookie и сигналами Google, так же, как с помощью analytics.js. Для этого используются директивы config и set в gtag.js (в analytics.js. это директивы set, create и require).
Ресурсы Google Аналитики 4 (G-XXXXXXXX) поддерживают аналогичную реализацию настроек конфигурации в gtag.js. Однако есть некоторые различия, которые следует учитывать.
- В ресурсах Google Аналитики 4 для деидентификации IP-адресов задано значение "true", которое нельзя изменить. Поэтому в стандартных событиях для таких ресурсов (G-XXXXXXXX) IP-адреса деидентифицируются автоматически.
- Если ко всем сконфигурированным ресурсам нужно применить общие настройки, используйте команду set в gtag.js, с помощью которой можно охватить все идентификаторы тегов и ресурсов.
- Обратите особое внимание на отключение функций для рекламодателей и персонализации рекламы, которое обычно реализуется в строке set.
Если в вашей реализации analytics.js используются директивы set, create и require, проверьте, какие из них автоматически настраиваются в ресурсе Google Аналитики 4, а какие нужно задать в коде ресурса (сопоставление параметров).
Ниже приведены примеры кода конфигурации для analytics.js (ресурс Universal Analytics) и gtag.js (ресурс Google Аналитики 4).
Включение базового сбора данных и настройка User-ID
analytics.js
ga('create', 'TAG_ID', 'auto', {
userId: USER_ID
});
ga('send', 'pageview');
gtag.js
gtag('config', 'TAG_ID', {
'user_id': 'USER_ID'
});
Настройки cookie
analytics.js
ga('create', 'TAG_ID', {
'cookieName': 'gaCookie',
'cookieDomain': 'blog.example.com',
'cookieExpires': 60 * 60 * 24 * 28 // Время в секундах.
});
gtag.js
gtag('config', 'TAG_ID', {
'cookie_prefix': 'MyCookie',
'cookie_domain': 'blog.example.com',
'cookie_expires': 28 * 24 * 60 * 60 // 28 дней в секундах
});
Блокировка события page_view
Если вы не хотите, чтобы при загрузке кода config передавалось событие page_view (например, когда загружается окно iframe), вы можете заблокировать это событие. Допустим, событие page_view передается, когда пользователь выполняет вход на сайте. Вы задаете для взаимодействия типа "Вход" идентификатор пользователя с помощью директивы config, но не хотите передавать ещё одно событие page_view. В коде ниже показано, как его заблокировать.
gtag('config', 'TAG_ID', {
'user_id': 'USER_ID',
'send_page_view': false
});
Названия тегов
Названия тегов (трекеры) используются, если вы хотите передавать данные через analytics.js в разные ресурсы Universal Analytics. В analytics.js трекеры указывают, в какой ресурс отправлять данные. В обращениях после первого обращения create не нужно указывать идентификатор ресурса Universal Analytics, достаточно задать название трекера.
В gtag.js трекеры недоступны для ресурсов любого типа. Если вы хотите передавать все обращения в несколько ресурсов (разные потоки данных для ресурсов Google Аналитики 4), укажите все идентификаторы тегов и ресурсов в строке config.
События
Ознакомьтесь с руководством по переносу событий.Специальные параметры и показатели
Специальные параметры и показатели можно использовать, чтобы получать больше информации с сайта и импортировать офлайн-данные, например из CRM-систем. Для ресурса Universal Analytics (UA-XXXXXXXX) специальные параметры и показатели необходимо создавать в интерфейсе. Им присваивается идентификатор, после чего их можно добавлять или импортировать. Их можно создавать на уровне обращения, сеанса, пользователя или товара.
Для ресурса Google Аналитики 4 (G-XXXXXXXX) специальные параметры и показатели реализуются по-другому. Специальные параметры и показатели из ресурса Universal Analytics, реализованные с помощью analytics.js, необходимо заново добавить в ресурс Google Аналитики 4 как параметры.
Специальный параметр для ресурса Universal Analytics может быть реализован с помощью analytics.js следующим образом:
ga('send', 'event', 'category_value', 'action_name', {'dimension5': 'custom data'
});
ИЛИ
ga('set', 'dimension5', 'custom data');
Эти специальные параметры можно перенести в ресурс Google Аналитики 4 через gtag.js как показано ниже.
gtag('event', 'action_name', {'eventCategory': 'category_value',
'dimension5': 'custom data'
});
ИЛИ
gtag('set', {'dimension5': 'custom data'});
Обратите внимание на следующее:
- Чтобы параметры отображались в отчетах, их необходимо зарегистрировать в интерфейсе. Это похоже на регистрацию специальных параметров в Universal Analytics (действуют ограничения). Если вы анализируете только экспортированные данные или используете параметры только для активации аудиторий, регистрация не требуется.
- Специальные параметры всегда задаются на уровне события (он эквивалентен уровню обращения). Это же происходит со специальными параметрами, которые автоматически преобразуются в параметры (для реализаций с помощью gtag.js "UA-XXXXXXXX"), независимо от их исходного уровня.
Такая же логика и принципы сопоставления применяются для специальных показателей, но для них применяются ограничения для числовых параметров (при регистрации для отчетов применяются ограничения для текстовых параметров).
В целом, специальные параметры и показатели различных уровней из ресурса Universal Analytics переносятся в ресурс Google Аналитики 4 следующим образом:
- Специальный параметр на уровне обращения: параметр (не более 25 параметров на событие во время сбора данных; не более 50 специальных параметров/показателей).
Примечание. Автоматически регистрируемые события и параметры могут охватывать некоторые случаи использования, в которых ранее применялись специальные параметры на уровне обращения. - Специальный параметр на уровне пользователя: свойства пользователя (не более 25 при регистрации в интерфейсе для отчетов). Автоматически регистрируемые свойства пользователя при этом не учитываются.
- Специальный параметр на уровне сеанса: в ресурсе Google Аналитики 4 аналога нет. Используйте специальные параметры и свойства пользователя.
Рекомендации для свойств пользователя
Свойства присваиваются пользователю независимо от платформы (например, для всех источников потока данных), поэтому нужны только в тех случаях, когда данные применяются на уровне пользователя. Свойства пользователя нельзя передавать для данных на уровне сеансов или устройств (таких как размер экрана).
Пример для ресурса Google Аналитики 4
gtag('set', 'user_properties', {
favorite_composer: 'Малер',
favorite_instrument: 'контрабас',
season_ticketholder: 'true'
});