Когда кто-то нажимает кнопку «купить» на моем веб-сайте, я пытаюсь отследить это событие с помощью Диспетчера тегов Google, используя dataLayer и dataLayer.push.
Вот как это выглядит:
dataLayer.push({
'event': 'service',
'category': 'purchase',
'action': 'product selected',
'label': product
});
Проблема в том, что каждый раз, когда пользователь нажимает кнопку, служба немедленно перенаправляется на корзину покупок, поэтому в некоторых случаях событие не успевает сработать, и данные в Google Analytics являются неполными.
Я знаю, что есть опция eventCallback, которую вы можете использовать с dataLayer, которая выглядит так
dataLayer.push({
'event': 'service',
'category': 'purchase',
'action': 'product selected',
'label': product,
'eventCallback': function () {
//redirect to the shopping cart
}
});
});
Но проблема с этой опцией заключается в том, что она вызывает зависимость, и были случаи, когда пользователь не перенаправлялся в корзину из-за какого-то сбоя в работе Google Tag Manger (это огромная проблема для нас).
Есть ли более плавный и эффективный способ решения этой проблемы, чтобы мы могли собрать как можно больше данных, не нарушая работу нашего сервиса (например, когда в браузере пользователя включена защита от отслеживания)
transport
, которое в поддерживаемых браузерах отправляет обращение до того, как страница выгружается, developers.google.com/analytics/devguides/collection/. - person nyuen   schedule 18.05.2016