Здесь есть несколько хороших ответов, которые по отдельности имеют тенденцию использовать тот или иной метод для отправки данных. В приведенных выше ответах есть ценная ссылка, которая, как мне кажется, отсутствует, и охватывает все методы.
Google ссылается на различные методы отправки данных «транспортные механизмы»
Из документации Analytics.js Google упоминает о трех основных транспортных механизмах , которые используются для отправки данных.
Указывает транспортный механизм, с помощью которого будут отправляться попадания. Возможные варианты: «маяк», «xhr» или «изображение». По умолчанию analytics.js будет пытаться определить лучший метод на основе размера попадания и возможностей браузера. Если вы укажете «маяк», а браузер пользователя не будет поддерживать метод navigator.sendBeacon
, он вернется к «изображению» или «xhr» в зависимости от размера попадания.
- Одним из распространенных и стандартных способов отправки некоторых данных в Google (что показано в ответе Thinker) является добавление данных в качестве параметров GET в пиксель отслеживания. Это подпадает под категорию, которую Google называет «имиджевым» транспортом.
- Во-вторых, Google может использовать метод транспорта «маяк», если браузер клиента поддерживает его. Это часто мой предпочтительный метод, потому что он попытается отправить информацию немедленно. Или в словах Google:
Это полезно в тех случаях, когда вы хотите отслеживать событие непосредственно перед тем, как пользователь уходит с вашего сайта, не задерживая навигацию.
- Транспортный механизм "xhr" - это третий способ, которым Google Analytics может отправлять данные домой, и конкретный используемый транспортный механизм может зависеть от таких вещей, как размер попадания. (Я не уверен, какие другие факторы влияют на GA при выборе оптимального транспортного механизма для использования)
Если вам интересно, как заставить GA использовать определенный транспортный механизм, вот пример фрагмента кода, который заставляет попадание этого события отправляться как «маяк»:
ga('send', 'event', 'click', 'download-me', {transport: 'beacon'});
Надеюсь, это поможет.
Кроме того, если вам интересна эта тема, потому что вы хотите собирать и отправлять эти данные на свой собственный сайт, я рекомендую создать привязку к отправке Google Analytics, которая позволит вам захватывать полезную нагрузку и AJAX на ваш собственный сервер.
ga(function(tracker) {
// Grab a reference to the default sendHitTask function.
originalSendHitTask = tracker.get('sendHitTask');
// Modifies sendHitTask to send a copy of the request to a local server after
// sending the normal request to www.google-analytics.com/collect.
tracker.set('sendHitTask', function(model) {
var payload = model.get('hitPayload');
originalSendHitTask(model);
var xhr = new XMLHttpRequest();
xhr.open('POST', '/index.php?task=mycollect', true);
xhr.send(payload);
});
});