Триггер ecomm dataLayer push и доступ к содержимому dataLayer, хранящемуся в другой переменной
Я работаю с расширением Google Tag Manager, которое использует PHP для вывода контента dataLayer для Enhanced Ecommerce. Я пытаюсь найти самый чистый способ предотвратить автоматическое нажатие на checkout
событие при загрузке страницы, так как вместо этого я хочу иметь возможность динамически запускать это через JS (для каждого шага оформления, загруженного через AJAX). Итак, у меня есть что-то вроде следующего в HTML при загрузке страницы:
dataLayer.push({
"event":"checkout",
"ecommerce":{
"checkout":{
"actionField":{
"step":""
},
"products":[
{
"sku":"99999",
"name":"Bue Jacket",
"price":"99.0000",
"priceexcludingtax":"79.20",
"tax":"19.80",
"taxrate":20,
"type":"configurable",
"category":"1841",
"quantity":1
}
]
}
}
});
Затем, в моем JS, который обрабатывает прогрессию AJAX между шагами, у меня есть это:
// Push checkout step info
window.dataLayer.push({
event: 'checkout',
checkout: {
actionField: {
step: checkoutStep
}
}
});
То, что я пытаюсь сделать здесь, это нажать шаг и остальные данные извлечения dataLayer одновременно. Должен ли я просто хранить данные в другой переменной на странице и просто получать к ней доступ, когда выполняю push-вызов dataLayer с номером шага? Или есть более аккуратный способ справиться с этим?
Большое спасибо