[Из песочницы] Как продублировать цели из Яндекс.Метрики в Google Analytics

Что делать, если вы настроили большое количество целей в Яндекс.Метрике через Google Tag Manager (GTM), и нужно срочно перенести эти цели в качестве событий в Google Analytics (GA)? Конечно, можно перенастроить каждый тег на параллельную отправку событий в GA и в Метрику, но, если целей в Метрике очень много, это отнимет время.

Возможна обратная ситуация, когда цели настраивали не вы, а разработчики в самом коде сайта. И вам, как аналитику компании, нужно настроить отправку таких же событий в GA, а у вас под рукой только GTM. В этом случае, даже с небольшим числом целей могут возникнуть сложности. Триггеры событий в GTM нужно будет максимально подгонять, чтобы цели в Метрику и события в GA уходили по одной логике, и в разных системах аналитики не было существенных расхождений.

В обоих случаях не один час понадобится провести, настраивая всё вручную. Но можно найти более практичный вариант. Есть функция, которая позволяет перехватывать отправку целей в Метрику и параллельно отправлять пуши в dataLayer. Таким образом вам не надо будет вспоминать или разбираться, как была настроена отправка целей в Яндекс.Метрику — достаточно применить нужную функцию. Рабочий вариант функции будет зависеть от того, какая версия счётчика Яндекс.Метрики у вас установлена.

Как отличить новый счётчик Метрики от старого


Для определения рабочего варианта функции нужно понять, какая версия счётчика установлена у вас на сайте.

Если ваш счётчик был установлен ранее 10.12.2018 и позднее не обновлялся, то у вас старая версия:


где:

XXXXXXXX — номер вашего счётчика.

w.yaCounterXXXXXXXX в коде даёт однозначно понять, что перед вами именно старая версия счётчика.

Пример отправки цели в старом счётчике:


где:

XXXXXXXX — номер вашего счётчика;
TARGET_NAME — идентификатор цели.

Новая версия счётчика появилась 10.12.2018.

Выглядит она следующим образом:

 


где:

XXXXXXXX — номер вашего счётчика.

ym (XXXXXXXX в коде даёт однозначно понять, что перед вами именно новая версия счётчика.

Пример отправки цели в новом счётчике:

 


где:

XXXXXXXX — номер вашего счётчика;
TARGET_NAME — идентификатор цели.

Функция для старой версии Яндекс.Метрика


Если у вас установлена старая версия счётчика Яндекс.Метрики (см. выше), то функция перехвата отправки целей будет выглядеть так:

 


где:

XXXXXXXX — номер вашего счётчика;

Код срабатывает при каждом вызове функции yaCounterXXXXXXXX с методом reachGoal. Функция производит пуш в dataLayer, при пуше передается название события (metrika) и параметр, в параметре передаётся идентификатор цели.

Функция для новой версии Яндекс.Метрика


Если у вас установлена новая версия счётчика Яндекс.Метрики, то функция перехвата отправки целей выглядит следующим образом:

 


Она срабатывает при каждом вызове функции ym () и, если был вызван метод reachgoal, отправляет пуш в dataLayer. В dataLayer передаётся название события (metrika) и параметр, в параметре event_param передаётся идентификатор цели.

Настройка отправки событий в GA через GTM


Для того, чтобы в GTM настроить отправку событий с целями Метрики в GA, необходимо:

1. Создать триггер »Просмотр страницы — Модель DOM готова», дополнительно можно задать, на каких страницах нужно дублировать цели из Метрики в GA

e3kg-jcklhzz5wpnltwhxjxqzdg.png

2. Создать тег »Пользовательский HTML» и вставить в него нужный код функции. На этот тег устанавливается триггер, созданный ранее.

hwe4rqvxcd6jhqhl7kdx4vx3ppw.png

3. Создать триггер »Пользовательское событие» с именем события metrika.

nt-_mmswakvog6y4dhrwgjz13ag.png

4. Создать переменную »Переменная уровня данных» с именем как показано в примере:

piy2ftold0soogxxppce_tuwxgg.png

5. Создать тег »Google Аналитика — Universal Analytics» с триггером и переменной, которые были созданы ранее.

33o7fayg2zrj4eb8es6m69qbs1m.png

где:

UA-XXXXXXXX-XX — номер вашего счётчика в Google Analytics

6. Опубликовать контейнер GTM.

myxakg2xydyr0tleuancksvnoqm.png

При таких настройках в Google Analytics будут поступать события с категорией события — Metrika, а действиями по этим событиям будут идентификаторы целей из Яндекс.Метрики.

pfneeebnbknnxjuascxwchfvtbc.png

Проверка настроек


Для проверки корректности настроек отправки событий в GA необходимо в консоли вашего браузера ввести следующий код:

а) Для нового счётчика Метрики

ym(XXXXXX, 'reachGoal', 'TARGET_NAME') 


где:

XXXXXXXX — номер вашего счётчика в Яндекс.Метрике.

б) Для старого счётчика Метрики

yaCounterXXXXXXXX.reachGoal('TARGET_NAME'); 


где:

XXXXXXXX — номер вашего счётчика в Яндекс.Метрике.

Консоль в каждом браузере открывается по-своему, например для Chrome консоль открывается комбинацией клавиш Ctrl + Shift + j:

d8-ub114bjwr5ca7pccnzkpwl-y.png

После нажатия Enter ваше событие должно уйти не только в Метрику, но и в GA.

Чтобы убедиться в этом, надо открыть отчёт «События» в разделе »В режиме реального времени»:

eltf7c1lb7geeb4okpr0oxn9r88.png

Если всё было настроено корректно, то вы увидите строчку со значениями Metrika и TARGET_NAME.

Поздравляю, вы настроили передачу целей из Метрики в Google Analytics!

© Habrahabr.ru