Сейчас в сети: 288
Сейчас в сети: 288
Учитесь работать в Google Analytics вместе с нами!
star_border

Отслеживание якорей страниц

По умолчанию Google Analytics не передает якорь из адресной строки браузера.
Это приводит к тому, что нельзя настроить цель на страницу типа /#success или любую другую, содержащую якорь.
Но это можно легко исправить.
Якорь страницы хранится в location.hash 
Все, что нам теперь нужно, так это приписать его к текущей странице, которая хранится в location.pathname.

Ниже приведу код для разных версий google analytics и решение для GTM

Для google analytics, использующий скрипт analytics.js (Universal Analytics)
Меняем в коде

ga('send', 'pageview');

на

ga('send', 'pageview', location.pathname+location.hash );

 

Для google analytics, использующий скрипт gtag.js (Global Site Tag)

)
Меняем в коде

gtag('config', 'GA_TRACKING_ID');

на

gtag('config', 'GA_TRACKING_ID', {'page_path': location.pathname+location.hash} );

 где GA_TRACKING_ID - ID вашего ресурса


Для Google Tag Manager создаем переменную Собственный код javascript  с кодом:

function() {
    return location.pathname+location.hash;
  }

2017-11-28_19-46-41.png

И изменяем настройки переменной Google Analytics, задав поле page равное нашей переменной:
2017-11-28_19-48-57.png

Теперь в Google Analytics будут передаваться якоря.
Если у кого-то возникнут проблемы с реализацией, оставляйте комментарии, помогу реализовать

Андрей Москалец

Москалец Андрей. Работаю волшебником - превращаю слова в деньги! Сертифицированный специалист Google AdWords и Google Analytics. Агентство контекстной рекламы EsliKlientov.Net

Комментарии
Sergey U
Ноябрь

Андрей, а такой вопрос.

function() {
    return location.pathname+location.hash;
  }

В этом коде не нужно склейку путь+якорь помещать сразу в какую-то переменную, а потом ее возвращать? Что-то типа:

 

function() {
result = location.pathname+location.hash; return result; }

 

нет, можно сразу вернуть вычисленное значение