Подтвердить что ты не робот

Google Analytics Async: отслеживание событий?

Я хочу использовать отслеживание событий для записи кликов по типу определенного типа на другой веб-сайт. Я использую jQuery, и код, который у меня есть сейчас:

$('a.website').click(function(event) {
    var href = $(this).attr('href');
    try {
        _gaq.push(['_trackEvent', 'website', 'click', href]);
    } catch(err) {}
});

Однако, увидев информацию о реферере с другого сайта, я не верю, что это точно отслеживает клики, возможно потому, что _gaq.push является асинхронным, и запрос не был получен до того, как браузер перейдет к URL-адресу, и завершает работу любого javascript на текущей странице.

Есть ли способ обнаружить, что функция _gaq.push завершена успешно, поэтому я могу использовать event.preventDefault() и document.location для перехода к ссылке после того, как событие было записано?

4b9b3361

Ответ 1

Как насчет решения из этого answer?

  // Log a pageview to GA for a conversion
  _gaq.push(['_trackPageview', url]);
  // Push the redirect to make sure it happens AFTER we track the pageview
  _gaq.push(function() { document.location = url; });

Ответ 3

Я столкнулся с аналогичной проблемой с отслеживанием внешних ссылок. Мое спасение использовало OnMouseDown событие вместо OnClick.