Запуск 2 событий Google Analytics с исходящей ссылкой - PullRequest
2 голосов
/ 23 февраля 2012

У меня есть такие исходящие ссылки в моем html:

<a href="http://www.example.com" class="gaLink1" 
target="_blank" onCLick="ga_track_link('action', '123', 'abcde', 'fghij')"> 
<img src="http://www.example.com/image.jpg" alt="image name" height="180" style="max-width:153px;max-height:150px;" />
</a>

Итак, при нажатии на это изображение, ссылка www.example.com должна открыться в новой вкладке, так как естьTARGET = "_blank".Кроме того, событие onCLick вызовет функцию ga_track_link, которая определена как:

function ga_track_link(action, id, name, source) {
    _gaq.push(['_trackEvent', 'category 1', action, id+': '+name]);
    _gaq.push(['_trackEvent', 'category 2', 'example', source, 15]);
}

Эта функция определена в разделе сценария в конце HTML-кода (внутри раздела body)

Я наблюдаю в GA, там отслеживаются оба события (категории 1 и 2), но количество отслеживаемых событий не равно.Категория 2 появляется почти в половине раз, что заставляет меня думать, что второе событие не всегда запускается.

Я нашел эту ссылку http://support.google.com/googleanalytics/bin/answer.py?hl=en&answer=55527, которая предлагает поставить функцию "ga_track_link" в головураздел HTML и использовать возврат False в функции onClick.

Согласно некоторым другим ответам, таким как Когда и почему «возвращать false» в JavaScript? , оператор return false будет указывать событию (onClick) не запускаться, а это не то, чтоЯ хочу, так как я действительно хочу, чтобы это было запущено, но после того, как мои события 2 GA были запущены.

Итак, у меня есть 3 вопроса:

1) Есть ли проблемы при стрельбе более 1 GAсобытие (с _trackEvent) в 1 клик?Каков наилучший способ сделать это?

2) Почему ссылка Google Analytics выше говорит о том, что функция должна быть размещена в разделе заголовка HTML?

3) Может кто-то уточнить, пожалуйста,Цель «вернуть ложное» утверждение и как правильно его использовать?

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

1) Есть ли проблема при запуске более 1 события GA (с _trackEvent) за 1 клик?Каков наилучший способ сделать это?

Нет, никаких проблем с этим, хотя вы можете сделать и то и другое одним нажатием. Одно нажатие, несколько команд

2) Почему ссылка Google Analytics, указанная выше, гласит, что функция должна быть размещена в разделе заголовка HTML?* Потому что пользователь может щелкнуть ссылку, прежде чем javascript успеет загрузить страницу.

3) Может ли кто-нибудь разъяснить цель выражения «вернуть ложное» и как правильно его использовать?

Насколько я понимаю, это предотвращает поведение элемента по умолчаниюи если перечислено после вашего вызова функции, это не должно влиять на этот вызов функции.Это так же, как указано в одном из ответов на вопрос, который вы цитировали:

<a href="#" onclick="doSomeFunction(); return false;">

В указанной вами ссылке на поддержку Google Analytics return false; не дает ссылке немедленно отправить пользователя с сайта.,Он запускает функцию отслеживания заранее, а затем перенаправляет пользователя на внешний сайт после задержки.Это позволяет коду отслеживания время, необходимое для отправки до перенаправления.

function recordOutboundLink(link, category, action) {
    _gat._getTrackerByName()._trackEvent(category, action); //set tracking
    setTimeout('document.location = "' + link.href + '"', 100); // redirect to external site after delay
}
0 голосов
/ 23 февраля 2012

У вас есть target="_blank" на всех ссылках, использующих вашу функцию ga_track_link()?

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

...