Analytics
Сейчас в сети: 747
Сейчас в сети: 747
Обсуждение распространенных проблем, связанных с отчетами Google Analytics
Подсказки
star_border
Ответить

Подскажите как настроить получение содержимого заказа

Студент ✭

Здравствуйте. Уже более недели мучаюсь с аналитикой.

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

Перед </head>, на каждой странице поставил

<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>

На странице оформления заказа сделал генерацию dataLayer по нажатию кнопки Заказать

 

dataLayer.push({
    'transactionId': '1234',
    'transactionAffiliation': 'site.ru',
    'transactionTotal': 10,
    'transactionProducts': [{
        'id': '333',
        'name': 'T-Shirt 1',
        'price': 4,
        'quantity': 1
    },{
        'id': '444',
        'name': 'T-Shirt 2',
        'price': 6,
        'quantity': 1
    }]
});

 

А вот дальше у меня ступор. Я не могу понять каким образом эти данные через GTM передать в Google Analytics (расширенную версию).

Помогите пожалуйста, а то я скоро просто с ума сойду Печальный

2 Ответ экспертаverified_user

Re: Подскажите как настроить получение содержимого заказа

Восходящие звезды

 

Дальше Вам эти данные нужно "Втянуть" в GTM.

 

Втянуть их Вам нужно будет через пользовательское событие или через gtm.dom

 

 Clip2net_161111150535.png

---------
С уважением Олег Поддубный

Подскажите как настроить получение содержимого заказа

Студент ✭

Скажите пожалуйста, а что тут нужно сделать? Как правильно триггер настроить?11.JPG 

Вот мой код, при помощи которого я забиваю данные в dataLayer. Не знаю...может поможет чем-то Веселый

<script type="text/javascript">
function sendData()
{
    var rowLength = document.getElementById('order__table').rows.length;
    dataLayer.push({
        'transactionId': document.getElementsByClassName('order-id')[0].innerHTML,
        'transactionAffiliation': 'stroimaterialy-deshevo.ru',
        'transactionTotal': 0});
    var mas = {'transactionProducts':new Array(rowLength)};
    RegEx=/\s/g;
    for (i = 0; i < rowLength; i++)
    {
        id = document.getElementsByClassName('prod-id')[i].innerHTML;
        name = document.getElementsByClassName('order__text')[i].innerHTML;
        price = document.getElementsByClassName('cost')[i+1].innerHTML.replace(RegEx,"");
        quantity = document.getElementsByClassName('order__input-count')[i].value;
       mas['transactionProducts'][i] = {
            'id':id,
            'name':name.substr(0, 66),
            'price'Показывающий языкrice,
            'quantity':quantity
        }
    }
    dataLayer.push({
            'transactionTotal':document.getElementsByClassName('cost')[0].innerHTML.replace(RegEx,"")
            });
    dataLayer.push(mas);
}
</script>

Re: Подскажите как настроить получение содержимого заказа

Студент ✭

В общем настроил вот так, но все равно данные не приходят

123.JPG

Помогитееее

Подскажите как настроить получение содержимого заказа

Ведущий участник

Добрый день

Предложу другой вариант.

Если данные вы формируете по нажатию на кнопку, по в конце данных передайте пользовательское событие через dataLayer.push({'event': 'event_name'}); , на который и настройте активацию триггера

 

Re: Подскажите как настроить получение содержимого заказа

Восходящие звезды

Кстати, я тут подумал и вариант с ивентом мне нравится больше.

 

По факту настройка триггера будет выглядеть вот так (у меня тут событие добавления в корзину, а у Вас будет свое):

Clip2net_161112115919.png

---------
С уважением Олег Поддубный

Re: Подскажите как настроить получение содержимого заказа

Студент ✭

В аналитике в событиях в реальном времени показывает то, что вроде как работает

 

112233.JPG

Вот что показывает в tag assistent после нажатия на кнопку Заказать


1122333.JPG

112233333.JPG

Вроде бы все правильно. Но данные из dataLayer так нигде в аналитике не появилисьПечальный

dataLayer выглядит так

dataLayer.push({
                    	'event': 'event-to-ga',
                    	'eventCategory' : 'test1',
                    	'eventAction' : 'test2',
                    	'eventLabel' : 'test3',
                    	'eventValue' : 'test4',
..............

Re: Подскажите как настроить получение содержимого заказа

Восходящие звезды

Дело в том, что Вам нужно передавать не событие в Analytics, а по пользовательскому событию включать отправку данных через GTM:

 

Из того кода, что был у Вас раньше должен получится такой:

dataLayer.push({
    'event': 'someevent',
    'transactionId': '1234',
    'transactionAffiliation': 'site.ru',
    'transactionTotal': 10,
    'transactionProducts': [{
        'id': '333',
        'name': 'T-Shirt 1',
        'price': 4,
        'quantity': 1
    },{
        'id': '444',
        'name': 'T-Shirt 2',
        'price': 6,
        'quantity': 1
    }]
});

А потом при помощи уже GTM идет отправка данных в Analytics через тег GA - транзакция.

---------
С уважением Олег Поддубный

Re: Подскажите как настроить получение содержимого заказа

Студент ✭

Данные стали приходить. Но возникли две другие проблемы.

1. Почему-то в 'name' при кол-ве символов более 66 в tag assistent выскакивает ошибка (в console браузера)

01.JPG

2. Почему-то в аналитике отображается только последний товар из dataLayer. Хотя в tag assistent явно видно что отправляются два товара.

Этот вопрос решил: вместо id надо писать sku

 

Что с этим делать?