Я отслеживаю нажатие кнопки Download на сайте с моим проектом с помощью этого кода:
function trackDownload(link) {
try {
_gaq.push(['_trackEvent', 'Downloads', 'Click', 'Setup executable']);
setTimeout('document.location = "' + link.href + '"', 100);
} catch (err) {}
return false;
}
А кнопка выглядит так:
Download
Итак, когда пользователь нажимает на нее, событие отправляется в Analytics, а затем пользователь перенаправляется на файл.
Это применимо и к отслеживанию внешних ссылок, никаких отличий.
А теперь мой вопрос. Могу ли я быть уверен, что событие Analytics "обрабатывается" до того, как пользователь будет перенаправлен? Если нет, то перенаправление приведет к потере события? В настоящее время события отслеживаются, но я не могу быть уверен, что все из них отслеживаются.
Я читал, что могу также попробовать что-то немного другое, продвигая функцию перенаправления в очередь Analytics:
_gaq.push(function() { document.location = link.href; });
Но неясно, работает ли это, или это просто эквивалентно предыдущему варианту. На самом деле, здесь говорится, что "вызов _gaq.push [...] выполняет команды по мере их проталкивания".