Асинхронное отслеживание Google Analytics не работает на ссылках, ведущих за пределы сайта - PullRequest
1 голос
/ 27 января 2011

Я использую jQuery для прикрепления событий onClick к определенным элементам на сайте, в зависимости от того, существует ли элемент, например:

$(document).ready(function() {
  if ( $("#webform-client-form-15897").length ) {
    $("#edit-submit")
      .attr("onClick", "_gaq.push(['_trackPageview', '/feedback-submitted'])");
  }
});

Это прекрасно работает для таких вещей, как кнопка «Отправить» в формеи я могу отслеживать цели с помощью фальшивого pagevisit (события не позволяют этого, следовательно, фальшивый триггер).

Проблема в том, что когда я установил аналогичные события onClick для элементов HTML привязки,убрать пользователя с сайта, я не вижу ничего в нашей аналитике, хотя использование того же кода для прикрепления, например, события оповещения ("foo") показывает его работоспособность, и я получаю всплывающее окно.

Вот как выглядит фактический элемент привязки после обработки с помощью jQuery:

<a href="http://www.example.com/foo" onclick="_gaq.push(['_trackPageview', '/ad-clicked'])">Anchor text</a>

Что я делаю не так, поскольку я видел этот пример, использованный в нескольких руководствах, и код выполняется какнасколько я могу отследить его с помощью контрольных точек и alert ()?

1 Ответ

3 голосов
/ 27 января 2011

Обычно проблема заключается в том, что для выполнения кода GA недостаточно времени, прежде чем пользователь перейдет на следующую страницу. Это не проблема, если ссылка открывает новое окно (target = "_ blank"), поскольку исходная страница все еще там и код может завершить загрузку. Обычный способ справиться с этим - использовать settimeout, чтобы немного задержать перенаправление, чтобы дать время для выполнения сценария GA. Вы можете перейти по ссылке ниже для получения подробной информации о реализации.

http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=55527

...