Асинхронная загрузка Google Analytics
02 декабря 2009 года
Google Analytics
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 на вашем сайте
Комментарии
Подробнее об изменении кода счетчика.
ОтветитьДля метрики такое есть на mootools? http://help.yandex.ru/metrika/?id=1111231
ОтветитьЗамените
jQuery(document).ready(function(){});на
window.addEvent('domready',function(){});ОтветитьДля подключения есть вариант и покомпактнее, но недостаточно просто заменить, нужно вызвать callback той функции что приатачен к window (ну что-то вроде require.ready из requirejs дэвида волша) только покомпактней через readyState но кроссбраузерно.. Скорее всего решение в паре строк, но никак не получается, метрика то пишет не подключен, то данные поступает но не считает.. =(
ОтветитьВообще странно. Я метрику не использовал, но предлагаемый вариант для jQuery из методов фреймворка содержит только вызов по событию DOMReady. Остальное - чистый JS. Вызов yandex_metrika_callback происходит уже в подключаемом скрипте. Смотрите код. Можете использовать jsbeautifier для представления в удобочитаемом виде.
ОтветитьМожет проблема в чем-то другом? Используйте вариант без jQuery.