В Диспетчере тегов Google существует предопределенный тип переменной «Переменная уровня данных» с вводом для имени переменной. На стандартном единственном уровне пар ключ / значение это легко.
var dataLayer = [{"mykey":"myvalue"}];
Учитывая этот уровень данных, вы просто используете mykey
в качестве переменной для ввода в GTM. Однако, если вы используете спецификацию 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
в качестве первого узла или без него).