Казалось бы, ничего сложного во внедрении Яндекс Метрики на сайт, при использовании Google Tag Manager, нет, но…
Обычный процесс выглядит следующим образом. Заходим в Яндекс Метрику, слева в меню выбираем Настройка, указываем основные и дополнительные настройки и копируем предложенный Яндекс Метрикой код счетчика:
После это в контейнере Google Tag Manager создаем новый тег типа Пользовательский HTML, в который добавляем ранее скопированный код счетчика Яндекс Метрики:
Добавляем триггер активации Все страницы и публикуем контейнер. После описанных действий Яндекс Метрика действительно работает на сайте и собирает информацию о посетителях сайта, чтобы в последствии с ней можно было работать и принимать важные решения. Но при работе с Google Tag Manager это не совсем верный путь, есть код, который немного отличается от «привычного» и он предназначен специально для установки через диспетчеры управления тегами, такими как Google Tag Manager. Вот этот код:
1 2 3 4 5 6 7 8 9 |
<script src="//mc.yandex.ru/metrika/tag.js" type="text/javascript" async></script> <script type="text/javascript"> (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym") ym(XXXXXX, "init"[, <параметры инициализации>]); </script> |
При внимательном изучении кода можно найти несколько отличий, но они не касаются непосредственно JavaScript кода, так что сам код идентичен в обоих вариантах. Отличие в том, что для диспетчера тегов присутствует строка:
1 |
<script src="//mc.yandex.ru/metrika/tag.js" type="text/javascript" async></script> |
которой нет для кода, который предлагают использовать при внедрении Яндекс Метрики через код отслеживания, и наоборот. Для диспетчера тегов нет кода:
1 |
<noscript><div><img src="https://mc.yandex.ru/watch/44691520" style="position:absolute; left:-9999px;" alt="" /></div></noscript> |
который есть в «обычном» варианте.
Код, который предназначен специально для диспетчеров тегов в Google Tag Manager добавляется через тег типа Пользовательский HTML с триггером Все страницы, тут никаких изменений нет. Также есть возможность внедрить Яндекс Метрику на сайт используя вариант Изображение:
1 |
<img src="https://mc.yandex.ru/watch/XXXXXX" style="position:absolute; left:-9999px;" alt="" /> |
Ознакомиться с данной информацией вы можете также на в официальной документации.
Обновление материала
Материал вызвал ряд вопросов, главный из которых:
В чем принципиальная разница предложенного варианта и того, который предлагается «по умолчанию»?
Ответ на этот вопрос в следующем. Стандартный код включает в себя фрагмент:
1 |
<noscript><div><img src="https://mc.yandex.ru/watch/44691520" alt="" /></div></noscript> |
Это контейнер, который отображает содержимое, если браузер не поддерживает работу со скриптами или они отключены пользователем. Т.к. сам контейнер Google Tag Manager при выключенном JavaScript не будет загружен в «привычном» виде, то и этот блок также не появится на странице из тега, через который внедрена Яндекс Метрика стандартным кодом.
Для решения подобной ситуации можно использовать внедрение Яндекс Метрики через изображение, в этом случае при отключенном JavaScript все равно удастся получить часть информации о посетителях сайта, подробнее про сбор данных различными вариантами счетчика Яндекс Метрики можно узнать здесь.
Другие варианты установки Яндекс Метрики можно использовать наравне с описанным и выбирать исходя из удобства работы.