Проблема с Менеджером тегов Google, не слушающим dataLayer.push - PullRequest
0 голосов
/ 09 апреля 2019

Итак, мы работаем над внедрением расширенного отслеживания электронной торговли для клиента. Мы сделали это с помощью dataLayer. Веб-разработчик реализовал наш код в соответствии с предложением, но были случаи, когда dataLayer.push пропускался из-за нескольких транзакций.

Я приложил нижеприведенный код для того, как он в настоящее время реализован на странице Успешного заказа.

Может быть некоторая проблема с AngularJS, реализованным на веб-сайте, и был бы признателен, если бы кто-нибудь помог мне понять, как мне следует реализовать код GTM для этих пропущенных просмотров страниц и кодов dataLayer.push.

Когда я просматриваю в окне отладки GTM, происходит два случая:

  1. Событие покупки активируется в dataLayer.push, и мы получаем данные транзакции в Google Analytics.
  2. Просмотр страницы сработает, и событие dataLayer.push не последует. Хотя, когда я проверяю источник на странице, коды dataLayer.push доступны для покупки.

    function getCartproducts () {
        var dataLayerIndex = new Array();
            dataLayerIndex.push({"name": "xxxxxx" , "id" :  "xxxxxx" , "price" :  "11.00" , "category" :  "xxxxx" , "quantity" : 2});
    
        return (JSON.stringify(dataLayerIndex));
    }
    
    function getCoupon(){
        var couponLayerIndex = new Array();
            couponLayerIndex.push('');
    
        return (JSON.stringify(couponLayerIndex[0]));
    }
    
    
    
    window.dataLayer.push({
        'event': 'checkout',
        'ecommerce': {
            'checkout': {
                'actionField': { 'step': 5 },
                'products':
                  JSON.parse(getCartproducts())
            }
        },
    })
    
    
    
    window.dataLayer.push({
        'event': 'purchase',
        'ecommerce': {
            'purchase': {
                'actionField': {
                    'id': '269459',
                    'revenue': 25.65,
                    'tax': '3.85',
                    'shipping':'7.50',
                    'coupon': getCoupon(),
            },
                'products': JSON.parse(getCartproducts())
    }
    }
    });
    

Я ожидаю, что код будет вызывать пользовательское событие покупки каждый раз, когда пользователь просматривает последнюю страницу с благодарностью. Но, как описано, мы пропустили довольно много транзакций.

...