Расширенная электронная торговля GTM - Uncaught TypeError: не удается прочитать свойство "покупка" неопределенного значения - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь получить такие данные, как доход, стоимость заказа и т. Д. c, используя следующий код. После проверки в консоли я получаю: «Uncaught TypeError: Cannot read property 'Purchase' of undefined»

var revenue = 0;
var shipping = 0;
var tax = 0;
var orderID = 0;
var orderValue = 0;
var couponCode = "";

if (typeof dataLayer !== undefined && dataLayer.length > 0 && typeof dataLayer.ecommerce !== undefined) {
  orderID = dataLayer[0].ecommerce.purchase.actionField.id;

  revenue = parseInt(dataLayer[0].ecommerce.purchase.actionField.revenue) > 0 ? parseInt(dataLayer[0].ecommerce.purchase.actionField.revenue) : 0;

  shipping = parseInt(dataLayer[0].ecommerce.purchase.actionField.shipping) > 0 ? parseInt(dataLayer[0].ecommerce.purchase.actionField.shipping) : 0;

  tax = parseInt(dataLayer[0].ecommerce.purchase.actionField.tax) > 0 ? parseInt(dataLayer[0].ecommerce.purchase.actionField.tax) : 0;

  couponCode = dataLayer[0].ecommerce.purchase.actionField.coupon;

  orderValue = revenue - (shipping + tax);
}

1 Ответ

0 голосов
/ 10 июля 2020

Чтобы получить доступ к объекту из Диспетчера тегов Google , вы должны заменить квадратные скобки точками. Итак, classi c JavaScript Array[0].name становится Array.0.name.

Практический пример - отслеживание электронной торговли. Чтобы получить SKU первого продукта в объекте ecommerce.purchase (расширенная электронная торговля), вы должны использовать его в переменной уровня данных:

ecommerce.purchase.products.0.id

Это извлекает значение, хранящееся в ключе id первый продукт в массиве продуктов объекта покупки расширенной электронной торговли.

https://www.simoahava.com/gtm-tips/access-array-members-in-the-data-layer/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...