Я пытаюсь отправить событие go google analytics после регистрации пользователя и до, он перенаправил. Я использую Диспетчер тегов Google и univerasl js.
Во-первых, я пытался использовать объект dataLayer, как описано здесь: developers.google
То, что моя функция выглядела так:
//Registering new user via ajax
$.ajax('/register/', {
success: function() {
//Pushing event to dataLayer
dataLayer.push({
'Category': 'Registration Process',
'event': 'Registration Submit Btn'
});
//Logging in new user and redirecting the page with a timeout
setTimeout(function(){
loginAction();
}, 500)
}
})
Проблема в том, что я получал около 25% всех событий, все остальные потеряны. Я не знаю, когда и когда событие действительно отправлено в Google после добавления объекта в dataLayer, и я думаю, что 75% событий вообще не отправлялись.
Теперь я пытаюсь реализовать другой подход:
//Registering new user via ajax
$.ajax('/register/', {
success: function() {
//Sending event through ga('send')
parent.ga('send', 'event', 'Registration Process', 'Registration Submit Btn');
//Logging in new user and redirecting the page with a timeout
setTimeout(function(){
loginAction();
}, 500)
}
})
Но ga ('send') снова не имеет функции обратного вызова!
Как я могу убедиться, что событие действительно отправлено в Google, используя dataLayer или ga ('send')?