Два основных способа - это отслеживание событий (регистрация клика), а другой - с помощью виртуального «просмотра страницы». Проблема с первым состоит в том, что щелчки измеряются менее надежно; проблема со вторым, когда пользователь щелкает ссылку, trackPageview может не успеть выполнить. Одним из распространенных решений является использование метода виртуального просмотра страницы и добавление небольшого таймера, чтобы вызвать задержку в 100 миллисекунд:
На практике вам нужны два фрагмента кода js - один для изменения тега a href путем привязки обработчика onclick к функции другой для создания этой функции: (показано первым, ниже)
<script type="text/javascript">
function obl(this) {
try {
var pageTracker=_gat._getTracker("UA-XXXXXXX-X");
pageTracker._trackPageview("a_download_link");
setTimeout('document.location = "' + this.href + '"', 100)
}catch(err){}
}
</script>
<a href="a_download_link" onclick='obl(this);return false;'>Click Here to Download</a>
Если вы используете новейший (асинхронный код GA), замените приведенную выше функцию на такую:
<script type="text/javascript">
function obl(this) {
_gaq.push(['_trackPageview', 'a_download_link'+this.href]);
setTimeout('document.location = "' + this.href + '"', 100)
}
</script>
Одна сложность, которую представляет эта техника, заключается в том, что она приводит к тому, что ваши загрузки смешиваются с итогами просмотра страницы. Пока вы знаете об этом, иметь дело с тривиальным - просто создайте фильтр для удаления этих «ложных» просмотров страниц. Точно так же, чтобы фактически показать загрузки в браузере GA, вы можете создать отдельный профиль (например, «Загрузки»), а затем создать «Расширенный сегмент», отфильтровав все просмотры страниц, кроме представлений загрузки.