Асинхронная загрузка Google Analytics

  • Содержание

С 1 декабря Google Analytics начал поддержку асинхронной загрузки скриптов.

Как сообщает Google, использование этого подхода имеет следующие преимущества:

  • повышается скорость и точность сбора данных
  • не блокируется загрузка остальных элементов страницы
  • отсутствуют ошибки при неполной загрузке кода Analytics

Обновленный код для вставки:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);

(function() {
	var ga = document.createElement('script');
	ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
		'http://www') + '.google-analytics.com/ga.js';
	ga.setAttribute('async', 'true');
	document.documentElement.firstChild.appendChild(ga);
})();

Ниже пару советов:

  • вместо UA-XXXXX-X впишите свой ID
  • старый вариант pageTracker.XXX(YYY) измените на  _gaq.push(['XXX', YYY])
  • если браузер (Firefox) ругается, что первый элемент является строкой, замените
    document.documentElement.firstChild.appendChild(ga);

    на

    var f = document.documentElement.firstChild;
    while(f && f.nodeType != 1){ f = f.nextSibling; }
    f.appendChild(ga);

     

Понравилась статья? Подпишись на RSS.

Советую почитать:

Отслеживаем ссылки в GA с Mootools
Отслеживаем ссылки в GA с jQuery
Подключаем GAPI к CodeIgniter
Google Analytics на вашем сайте

Notimoo Коллекции Mootools скриптов

Комментарии

  • Александр написал 03 декабря 2009 года

    Подробнее об изменении кода счетчика.

    Ответить
  • Dmitry написал 15 октября 2010 года

    Для метрики такое есть на mootools? http://help.yandex.ru/metrika/?id=1111231

    Ответить
  • Александр написал 15 октября 2010 года

    Замените

    jQuery(document).ready(function(){});

    на

    window.addEvent('domready',function(){});
    Ответить
  • Dmitry написал 16 октября 2010 года

    Для подключения есть вариант и покомпактнее, но недостаточно просто заменить, нужно вызвать callback той функции что приатачен к window (ну что-то вроде require.ready из requirejs дэвида волша) только покомпактней через readyState но кроссбраузерно.. Скорее всего решение в паре строк, но никак не получается, метрика то пишет не подключен, то данные поступает но не считает.. =(

    Ответить
  • Александр написал 16 октября 2010 года

    Вообще странно. Я метрику не использовал, но предлагаемый вариант для jQuery из методов фреймворка содержит только вызов по событию DOMReady.  Остальное - чистый JS. Вызов yandex_metrika_callback происходит уже в подключаемом скрипте. Смотрите код. Можете использовать jsbeautifier для представления в удобочитаемом виде.
    Может проблема в чем-то другом? Используйте вариант без jQuery.

    Ответить