В этой статье я бы хотел поговорить о практике установки счетчика Google Analytics (далее GA).
Во многих источниках – на вебинарах, в различных статьях, я часто встречал мнение авторов о том, что установка и модификация счетчика, а также вставка обработчиков на кнопки для целевых действий – это удел программистов. Даже в поддержке Google Ads специалисты неоднократно заявляли, что модифицировать ничего не нужно, все работает из коробки.
Я, пожалуй, соглашусь с тем, что без участия программиста, который поддерживает сайт клиента производить модификацию кода сайта не лучшая идея. Ведь в случае сбоев в работе сайта, системы электронной коммерции и других проблем, которые на первый взгляд никак не связаны с вашими действиями, иной заказчик запросто может повесить всех собак на специалиста по рекламе просто потому, что «он что-то там на сайте ковырял и у меня потом все перестало работать». Но обычно бывает так, что программисту надо четко дать понять, что именно надо настроить. Т.е. что и куда вставить:). Не надо питать иллюзий, что веб-программист всегда понимает, как настроить GA для нужд контекстной рекламы.
А вот что касается модификации и «работы из коробки», тут нужно сделать существенное дополнение. Дело все в том, что базовый механизм GA не позволяет «корректно» учитывать показатель отказов. Т.е., например, если в Яндекс.Метрике отказом считается посещение пользователем не более одной страницы сроком не более 15 секунд, то в GA ситуации отличается кардинально. В GA отказом считается сеанс, в ходе которого была просмотрена одна страница. Т.е. разницы для системы нет никакой, если посетитель перешел на сайт, ему не понравился контент, и он через пару секунд закрыл вкладку браузера, и тем, когда пользователь залип над интереснейшим содержимым на час. В обоих случаях будет зафиксирован отказ. Чтобы этого не происходило нам необходимо модифицировать базовый счетчик GA.
Сделаю небольшое отступление. В ходе развития GA развивался и код счетчика (отслеживания), который предлагается разместить в качестве первого элемента в разделе <HEAD> каждой страницы, которую нужно отслеживать. Перед тем, как размещать код следует убедиться, что на сайте еще не установлен код отслеживания. Ранее использовался ga.js, затем analytics.js (Universal Analytics) и gtag.js (Global Site Tag). Соответственно, если код уже установлен, то есть вероятность, что на сайте используются функции предыдущих версий счетчика (возможно в рамках e-commerce), и, если вы замените код, то этот функционал перестанет работать. В случае, если используются старые версии кода отслеживания, то для корректного отслеживания отказов, потребуется, либо модифицировать старый код (выходит за рамки данной статьи), либо проконсультироваться с программистом по поводу возможности перехода на актуальную версию.
На момент написания статьи актуальной версией являлся gtag.js (Global Site Tag), код которого представлен ниже:
<!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXXX-Y "></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-XXXXXXXXX-Y'); </script>
Здесь ‘UA-XXXXXXXXX-Y’ – это идентификатор отслеживания, в котором XXXXXXXXX уникальны для одного аккаунта GA, а Y уникально для ресурса.
Для того, чтобы по прошествии 15 секунд с момента начала сессии на сервер GA отправлялось событие и визит не считался отказом, нужно добавить фрагмент кода:
setTimeout(function(){
gtag('event', location.pathname, {
'event_category': 'New Visitor'
});
}, 15000);
Где значение ‘New Visitor’ можно поменять на любое другое понятное значение и изменить таймаут отправки события на сервер (обычно оставляют 15000 миллисекунд). Все вместе будет выглядеть так:
<!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXXX-Y"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-XXXXXXXXX-Y'); setTimeout(function(){ gtag('event', location.pathname, { 'event_category': 'New Visitor' }); }, 15000); </script> <!-- /Global site tag (gtag.js) - Google Analytics -->
О практике настройки типовых целей поговорим в отдельной статье. Успехов в контексте!