1

Существует общий JSPF var dataLayer = window.dataLayer = dataLayer || []; заявил.Google Analytics, нажимая worng значение в поле «checkout» actionField option

На шаге заказ -3

dataLayer.push({ 
      'event' : 'checkout', 
      'ecommerce' : { 
       'currencyCode' : 'GBP', 
       'checkout' : { 
        'actionField' : { 
         'step' : 3, 
         'option' : '<some-value>', 
         'tax' : '<some-value>', 
         **'action' : 'checkout'** 
        }, 
        'products' : '<some-value>' 
       } 
      } 
     }); 

Это работает нормально. Нажатие правильных данных.

На этапе Checkout - 4

dataLayer.push({ 
      'event' : 'checkout', 
      'ecommerce' : { 
       'currencyCode' : 'GBP', 
       'checkout' : { 
        'actionField' : { 
         'step' : 4, 
         'option' : '<some-value>', 
         'tax' : '<some-value>', 
         **'action' : 'purchase'** 
        }, 
        'products' : '<some-value>' 
       } 
      } 
     }); 

Он по-прежнему толкая 'Checkout' не 'покупки'. Нажатие datalayer элементов из одного файла для шага 3 и 4-го этапа. И объявление из .JSPf, которое включено в него. Кажется, элемент «action» кэширован. Я пробовал с очисткой истории браузера, но не имел успеха.

Пожалуйста, сообщите, где мне не хватало. enter image description here

ответ

1

Поле actionField.action автоматически заполняется GTM/Universal Analytics. Вы никогда не должны вручную добавлять к нему значение.

Значение поля происходит от имени свойства, которое обертывает actionField и products. Таким образом, если хитом является хитом «Checkout», ключ свойства будет checkout, и если хитом является «Покупка», ключ свойства будет purchase.

Пример заказ хит для шага 4:

event: 'checkout', 
ecommerce: { 
    checkout: { 
    actionField: { 
     step: 4, 
     option: 'some-option' 
    } 
    } 
} 

Пример Покупка ударил:

event: 'purchase', 
ecommerce: { 
    currencyCode: 'GBP', 
    purchase: { 
    actionField: { 
     id: 'some-transaction-id', 
     revenue: 'some-transaction-revenue', 
     tax: 'some-transaction-tax', 
     shipping: 'some-transaction-shipping' 
    }, 
    products: [{ 
     ...products in the purchase... 
    }] 
    } 
} 
+0

спасибо Simo. В моей локальной среде он работает нормально. Это создало проблему только для более высокой среды. В чем причина этого? – GoldenBird

+0

Можете ли вы предложить ссылку, где я могу подтвердить автоматически заполненные имена полей, такие как «actionField.action». – GoldenBird

+0

Это не было документировано. Это легко проверить, выполнив 'dataLayer.push ({event: 'checkout', ecommerce: {checkout: {actionField: {step: 1}}}})' в консоли JavaScript на странице, где выполняется проверка пользовательского события 'запускает тег с расширенной электронной торговлей. Когда вы откроете 'dataLayer' после этой команды, вы увидите, что поле actionField.action автоматически добавляется в полезную нагрузку, даже если вы его не нажимали. Руководство разработчика для GTM + Enhanced Ecommerce ([link] (https://developers.google.com/tag-manager/enhanced-ecommerce)) содержит все детали, необходимые для создания объектов 'dataLayer'. –