В Диспетчере тегов Google существует предопределенный тип переменной «Переменная слоя данных» с вводом имени переменной. В стандартном одиночном уровне пары ключ/значение это легко.Как создать переменную уровня данных GTM с помощью сложного массива
var dataLayer = [{"mykey":"myvalue"}];
Учитывая, что уровень данных вы бы просто использовать mykey
в качестве переменной для ввода в ПТМ. Однако, если вы используете CEDDL спецификации (http://www.w3.org/2013/12/ceddl-201312.pdf) структуру, которую вы в конечном итоге с глубоко вложенного массива:
dataLayer = [
{
"product": [
{
"category": {
"primaryCategory": "Auto Loans"
},
"productInfo": {
"productID": "1",
"productName": "PurchaseLoan",
"description": "Auto finance loan"
},
"security": [
"Analytics",
"Personalization",
"Recommendations"
]
}
]
}
]
Таким образом, реальный вопрос: как я получить доступ к значению «PRODUCTNAME» в приведенном выше примере?
В стандартном Javascript вы можете получить доступ к нему так: dataLayer[1].product[0].productInfo.productName
или dataLayer.1.product.1.productInfo.productName
... но ни один из этих вариантов работы (с или без dataLayer.1
в качестве первого узла).
Это интерфейс для ввода имени переменной:
Я пробовал это раньше, и это не сработало, но мне пришлось настроить триггер, чтобы стрелять в DOM, а не в режиме просмотра страницы. – developdaly