Переменные уровня данных не должны ссылаться на определенный шаг (элемент массива) dataLayer. Когда вы создаете ссылку на переменную dataLayer, например, ecommerce
, Google Tag Manager (GTM) попытается оценить его в любом заданном событии GTM, но вернется к undefined
или любому другому указанному вами значению.
Это означает, что если вы активируете свой код отслеживания пикселей Facebook, когда данные о продукте станут доступны (event = addToCart), правильная ссылка на данные электронной торговли будет иметь значение. Есть несколько вариантов, чтобы получить название вашего продукта.
Вы можете создать общую переменную 'Ecommerce', ссылаясь на ecommerce
как Имя переменной уровня данных. В своем коде, связанном с пикселями Facebook, вам нужно перейти к нужной переменной, а также позаботиться о возможных пропущенных значениях. Однако эта переменная электронной торговли может использоваться в нескольких тегах.
var productName = {{Ecommerce}}.add.products[0].name; //assuming you'll always have just one product in products array
Или вы можете перейти к определенной переменной, где ваш набор «Электронная торговля - название товара добавлен в корзину», где вы ссылаетесь на ecommerce.add.products[0].name
. Таким образом, вы можете просто присвоить эту переменную соответствующей пиксельной переменной Facebook, используя {{Ecommerce - name of product added to cart}}