Глубокие ссылки и Google Analytics - PullRequest
2 голосов
/ 23 августа 2010

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

Сайт использует JQuery для обработки вкладок и глубоких ссылок.Взгляните на эту страницу в качестве примера: http://www.albanyservices.com/compliance/#/ic_compliance/

Часть URL после «#» относится к конкретной вкладке на странице.Это обновляется при выборе новой вкладки.

В настоящее время Google Analytics не рассматривает каждую вкладку как отдельную страницу на сайте.Поскольку все они содержат индивидуальный контент и связаны непосредственно с сайтом, мне нужно найти способ, чтобы Google Analytics рассматривал каждое изменение "#" как отдельную страницу.

Любая помощь будет чрезвычайно полезна.Заранее спасибо.

1 Ответ

5 голосов
/ 23 августа 2010

Во-первых, ваша идея "глубоких ссылок" не принадлежит Google. В действительности, / compatibility / - это отдельная страница с содержимым всех этих вкладок, уже загруженных в нее, а символ # является просто встроенным якорем, который отображает некоторое соответствующее содержимое и скрывает остальное. Это не новый просмотр страницы, а событие, происходящее на странице. В большинстве случаев отслеживание каждой вкладки jQuery как новой страницы было бы некорректным, но я понял здесь, почему вы захотите.

То, что вы хотите сделать, это вызывать функцию _trackPageview () каждый раз, когда вкладка переключается. Вы можете сделать это, поместив его в ответный вызов «изменить» на вкладке (после того, где вы сейчас работаете над $ .address.title, строка 143 источника этой страницы).

Единственная проблема здесь в том, что изменение вызывается, когда страница загружается тоже. Поэтому, когда страница загружена, у вас будет свой начальный trackPageview (который, как мы считаем, не делает то, что вы хотите), а затем второй для вкладки.

Итак, я бы предложил, чтобы на страницах, где «вкладки» были более чувственной структурой страниц, чем физические страницы, вы удалили эту строку:

_gaq.push(['_trackPageview']);

И вместо этого внутри обратного вызова .change на вкладке, вызывая это:

var _gaq = _gaq || [];
 _gaq.push(['_trackPageview', document.location.pathname + document.location.hash]);

Теперь еще одна проблема с этим. Он будет отслеживать просмотр страницы на что-то вроде / соответствие / # / Additional_risk_management /

Опять же, Google на самом деле не думает, что # означает новую страницу, поэтому, если по какой-то причине этот код не работает, вам придется решить удалить # со всех отслеживаемых страниц, например:

var _gaq = _gaq || [];
gaq.push(['_trackPageview', document.location.pathname +     document.location.hash.replace("#/","")])
...