Триггер 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 с номером шага? Или есть более аккуратный способ справиться с этим?

Большое спасибо

0 ответов

Другие вопросы по тегам