2015-06-01 2 views
1

По умолчанию Google Analytics использует технологию отслеживания пикселей для отправки статистики на сервер. Я могу увидеть фрагмент кода в analytics.js для создания нового объекта изображения.Google Analytics: XHR вместо отслеживания пикселей

ta = function (a) { 
 
     var b = M[u]("img"); 
 
     b.width = 1; 
 
     b.height = 1; 
 
     b.src = a; 
 
     return b 
 
    }

Но браузер загружает этот образ слишком поздно, после всех изображений на одной странице. Таким образом, использование XHR-запроса может быть решением. И я собираюсь в analytics.js такой фрагмент кода, и он показывает, что Google Analytics может отправлять xhr-запросы вместо отслеживания пикселей.

"image" == c ? wc(b, d, e) : "xhr" == c && wd(b, d, e) || "beacon" == c && x(b, d, e) || ba(b, d, e) 

Как заставить это работать таким образом?

ответ

1

Вы можете использовать новый метод navigator.sendBeacon, установив опцию transport на номер 'beacon'. Вот пример:

ga('send', 'event', 'click', 'download-me', {transport: 'beacon'}); 

И вот документация: https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#transport

sendBeacon является лучшим вариантом, чем XHR, и GA автоматически обрабатывает запасной вариант для браузеров, которые не поддерживают его. Если вы действительно хотели использовать XHR, вы можете установить transport вариант 'xhr', но я бы рекомендовал использовать 'beacon' для всех случаев. В будущем опция 'beacon', скорее всего, станет стандартной.

+0

спасибо! –

Смежные вопросы