Как перейти c analytics.js на gtag.js

Тем, кто работал с кодом analytics.js, будет полезно узнать, чем он отличается от gtag.js. В этой статье описаны некоторые основные различия между ними, а также приведены советы по переходу с analytics.js на gtag.js.

Обзор

В analytics.js используются счетчики, с помощью которых данные передаются в Google Аналитику, а также типы обращений, посредством которых задаются типы данных.

В отличие от analytics.js, в gtag.js для передачи данных счетчики не используются. Чтобы отправить данные в какой-либо ресурс Google Аналитики, необходимо указать идентификатор этого ресурса в команде config. Типы данных, которые отправляются в Google Аналитику, указываются в названиях событий gtag.js.

Чтобы перейти с analytics.js на gtag.js, выполните описанные ниже действия для каждой страницы вашего сайта.

Как заменить фрагмент кода analytics.js фрагментом gtag.js

Удалите этот фрагмент кода analytics.js:

    <!-- Google Analytics -->
    <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', 'GA_MEASUREMENT_ID', 'auto');
    ga('send', 'pageview');
    </script>
    <!-- End Google Analytics -->
    

Вставьте вместо него фрагмент кода gtag.js:

    <!-- Global Site Tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'GA_MEASUREMENT_ID');
    </script>
    

Вместо GA_MEASUREMENT_ID укажите собственный идентификатор Google Аналитики.

Отслеживание просмотров страниц

В analytics.js для передачи информации о просмотрах страниц в Google Аналитику используются счетчики, в которых указан идентификатор отслеживания ресурса Google Аналитики. В gtag.js идентификатор ресурса GA_MEASUREMENT_ID задается командой config.

Отслеживание просмотров страниц с помощью счетчика по умолчанию

Удалите указанный ниже код analytics.js, в котором счетчик по умолчанию используется для передачи (send) данных о просмотрах страниц в Google Аналитику.

// Creates the default tracker.
    ga('create', 'GA_MEASUREMENT_ID', 'auto');

    // Uses the default tracker to send a pageview to the
    // Google Analytics property with tracking ID GA_MEASUREMENT_ID.
    ga('send', 'pageview');
    

Приведенный ниже код в глобальном теге отслеживания gtag.js отправляет обращение pageview в ресурс Google Аналитики с идентификатором отслеживания GA_MEASUREMENT_ID:

gtag('config', 'GA_MEASUREMENT_ID');
    

Отслеживание просмотров страниц с помощью назначенных счетчиков

Удалите указанный ниже код analytics.js, в котором назначенный счетчик используется для передачи данных о просмотрах страниц в Google Аналитику.

ga('create', 'GA_MEASUREMENT_ID', 'auto', 'trackerName');
    ga('trackerName.send', 'pageview');
    

Вставьте вместо него команду gtag.js event.

gtag('event', 'page_view', { 'send_to': 'GA_MEASUREMENT_ID' });
    

Отслеживание событий

Как было сказано выше, в analytics.js для передачи информации о просмотрах страниц в Google Аналитику используются счетчики, в которых указан идентификатор отслеживания ресурса Google Аналитики. В gtag.js идентификатор GA_MEASUREMENT_ID указывается в команде config.

Отслеживание событий с помощью счетчика по умолчанию

Удалите указанный ниже код analytics.js, в котором счетчик по умолчанию используется для передачи (send) данных о событиях в Google Аналитику.

ga('create', 'GA_MEASUREMENT_ID', 'auto');
    ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);
    

Замените его следующей командой gtag.js event:

gtag('event', eventName, eventParameters);
    

Здесь eventName – название события, которое нужно зарегистрировать.

Пример

analytics.js

// Creates the default tracker.
    ga('create', 'GA_MEASUREMENT_ID', 'auto');

    // Uses the default tracker to send the event to the
    // Google Analytics property with tracking ID GA_MEASUREMENT_ID.
    ga('send', 'event', 'Videos', 'play', 'Fall Campaign');
    

gtag.js

// Sends the event to the Google Analytics property with
    // tracking ID GA_MEASUREMENT_ID set by the config command in
    // the global tracking snippet.
    gtag('event', 'play', {
      'event_category': 'Videos',
      'event_label': 'Fall Campaign'
    });
    

Отслеживание событий с помощью назначенных счетчиков

Удалите указанный ниже код analytics.js, в котором назначенный счетчик используется для передачи событий в Google Аналитику.

ga('create', 'GA_MEASUREMENT_ID', 'auto', 'trackerName');
    ga('trackerName.send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);
    

Вставьте вместо него команду gtag.js event.

gtag('event', eventName, {
      'send_to': 'GA_MEASUREMENT_ID',
      'parameter1': 'value1',
      'parameter2': 'value2',
      // ...
    });
    

Пример

analytics.js

    // Creates a tracker named clientTracker.
    ga('create', 'GA_MEASUREMENT_ID', 'auto', 'clientTracker');

    // Uses tracker clientTracker to send the event to the
    // Google Analytics property with tracking ID GA_MEASUREMENT_ID.
    ga('clientTracker.send', 'event', 'Videos', 'play', 'Fall Campaign');
    

gtag.js

// Send the event to the Google Analytics property
    // with tracking ID GA_MEASUREMENT_ID.
    gtag('event', 'play', {
      'send_to': 'GA_MEASUREMENT_ID',
      'event_category': 'Videos',
      'event_label': 'Fall Campaign'
    });
    

Отправка специальных параметров и показателей

Удалите все команды send кода analytics.js, которые отправляют специальные параметры в Google Аналитику.

    ga('send', 'hitType', { 'dimension<Index>':  'dimension_value'});
    

Замените их следующим кодом gtag.js:

    gtag('config', 'GA_MEASUREMENT_ID', {
      'custom_map': {'dimension<Index>': 'dimension_name'}
    });
    gtag('event', 'any_event_name', {'dimension_name': 'dimension_value'});
    

Вместо GA_MEASUREMENT_ID укажите собственный идентификатор Google Аналитики.

Удалите все команды send кода analytics.js, которые отправляют специальные показатели в Google Аналитику.

    ga('send', 'hitType', { 'metric<Index>':  'metric_value'});
    

Замените их следующим кодом gtag.js:

    gtag('config', 'GA_MEASUREMENT_ID', {
      'custom_map': {'metric<Index>': 'metric_name'}
    });
    gtag('event', 'any_event_name', {'metric_name': 'metric_value'});
    

Вместо GA_MEASUREMENT_ID укажите собственный идентификатор Google Аналитики.

Отслеживание пользовательского времени

Удалите все команды send кода analytics.js, которые отслеживают пользовательское время.

ga('send', 'timing', 'timingCategory', 'timingVar', timingValue, 'timingLabel');
    

Замените их следующей командой gtag.js event:

gtag('event', 'timing_complete', {
      'name': 'timingVar',
      'value': timingValue,
      'event_category': 'timingCategory',
      'event_label': 'timingLabel'
    });
    

Отслеживание исключений

Удалите все команды send кода analytics.js, которые отслеживают исключения.

ga('send', 'exception', {
      'exDescription': 'error_message',
      'exFatal': false  // set to true if the exception is fatal
    });
    

Замените его следующей командой gtag.js event:

gtag('event', 'exception', {
      'description': 'error_message',
      'fatal': false  // set to true if the exception is fatal
    });
    

Как поля analytics.js соотносятся с параметрами gtag.js

В таблицах ниже описано, как поля analytics.js и параметры gtag.js соотносятся между собой.

События

Поле analytics.js Параметр gtag.js
eventAction event_action
eventCategory event_category
eventLabel event_label
eventValue value

Специальные параметры и показатели

Поле analytics.js Параметр gtag.js
dimension<Index> dimension<Index>
metric<Index> metric<Index>

<Index> – номер специального параметра или показателя, выраженный целым неотрицательным числом.

Пользовательское время

Поле analytics.js Параметр gtag.js
timingCategory event_category
timingLabel event_label
timingValue value
timingVar name

Исключения

Поле analytics.js Параметр gtag.js
exDescription description
exFatal fatal

Данные о действиях в расширенной электронной торговле

Поле analytics.js Параметр gtag.js
id transaction_id
affiliation affiliation
revenue value
tax tax
shipping shipping
coupon coupon
list list_name
step checkout_step
option checkout_option

Данные о рекламных акциях

Поле analytics.js Параметр gtag.js
creative creative_name
position (показ, товар) list_position
position (рекламная акция) creative_slot

Действия с товарами и рекламными акциями

Поле analytics.js Событие gtag.js
add add_to_cart
checkout (первый шаг) begin_checkout
checkout (любой последующий шаг) checkout_progress
checkout_option set_checkout_option
click select_content (без рекламных акций)
detail view_item
promo_click select_content (с рекламными акциями)
purchase purchase
refund refund
remove remove_from_cart

Идентификатор клиента и идентификатор пользователя

Поле analytics.js Параметр gtag.js
clientId client_id
userId user_id