Я использую Google Tag Manager на нашем веб-сайте, и через него я отправляю события в Google Analytics после отправки формы.Следующий код просто печатается вместе с подтверждением отправки.
$(document).ready(function() {
sendGA('form_submit_completed', '{form_id}', '{form_sender}');
});
А функция sendGA
определяется следующим образом.
function sendGA(anec, anea, anel) {
if(typeof dataLayer === 'undefined') {
console.log('Google analytics undefined, aren\'t you logged in?');
return;
}
dataLayer.push({
'event': 'ga_custom_event',
'ga_anec': anec,
'ga_anea': anea,
'ga_anel': anel
});
console.log('ga_sent: {anec: ' + anec + ', anea: ' + anea + ', anel: ' + anel + '}');
}
При сравнении данных из Google Analytics сМатериалы, записанные в нашей базе данных, я вижу, что некоторые материалы просто не записываются в Google Analytics.Я не смог воспроизвести это ни в одном браузере.
Кто-нибудь знает, что может вызвать такое поведение?Я знаю, что все операции являются асинхронными, поэтому иногда запрос может просто не пройти, если пользователь сразу покинет страницу.Но на прошлой неделе это произошло с ~ 10% всех представлений, что довольно много, чтобы быть вызвано этим.