Google Analytics - отслеживание страниц с использованием маркера истории
Я хотел бы знать, автоматически ли Google Analytics отслеживает страницы, состояние которых сохраняется, с помощью маркера истории ajax ('#'), разработанного, например, с помощью GWT. Мое приложение имеет одну HTML-страницу, и разные модули (страницы) имеют один и тот же URL, за исключением той части, которая идет после # (например, www.mysite.com?test=true#page=Contacts/id=1).
Кроме того, если это упомянутое поведение не по умолчанию, есть ли способ настроить Google Analyics, чтобы иметь эту функцию?
РЕДАКТИРОВАТЬ:
Я нашел эту статью, которая объясняет, как можно отслеживать #hashtag: http://www.searchenginepeople.com/blog/how-to-track-clicks-on-anchors-in-google-analytics.html
Но, если я использую это решение, будет ли доступ к странице записываться, когда пользователь нажимает Anchor с href'#hastag' или только когда к странице обращаются напрямую с этим хэштегом (в этом случае я должен зарегистрировать функцию, которая вызывает trackPageview когда история изменится)?
2 ответа
Я добавил следующие строки в исходный скрипт аналитики:
_gaq.push(['_trackPageview', location.pathname + location.search + location.hash]);
а также
window.onhashchange = function(){
_gaq.push(['_trackPageview',location.pathname + location.search + location.hash]);
}
который отслеживает изменение истории.
Google отслеживает # просто отлично. Вам просто нужно принять, что он на самом деле получает # как есть (в нашем случае # кодировался по URL в%23, и нам пришлось использовать фильтр поиска и замены для его восстановления).
Вероятно, наиболее элегантным способом было бы взглянуть в GA admin на инструкции для расширенного фильтра - есть хороший пример того, как переписать неясные URls во что-то читаемое людьми в отчетах, которые можно легко адаптировать к вашим потребностям.