да. Это не только возможно, но и то, что делает сам GTM (если у вас объявлена переменная dataLayer, GTM отправляет свои события gtm.js, gtm.dom и gtm.load в существующий dataLayer (если он не определен, он объявляет саму переменную).
Вам нужно запомнить одну вещь: вам нужно отправить событие GTM - буквально пару ключ / значение, где ключом является «событие». Код GTM изменяет собственный метод push уровня данных для сканирования ключевого слова «событие», и, если ключевое слово найдено, он обновляет свои внутренние переменные (т.е. вы не можете получить доступ к новым переменным до того, как событие GTM было отправлено).
Например. если вы хотите иметь переменную dataLayer "foo" со значением "bar", вам нужно сделать
dataLayer.push({
"foo":"bar",
"event":"myCustomEvent"
});
Затем вы можете получить доступ к переменной foo и получить ее значение. Вы также можете создать триггер настраиваемого типа события, который срабатывает, как только событие "myCustomEvent" отправляется (вы не обязаны, однако, значение "bar" будет сохраняться до тех пор, пока страница не будет выгружена, вы вставляете другое значение в клавишу "foo" или сбросить уровень данных).
Некоторые типы триггеров, такие как щелчок, отправка и видимость, предоставляют свои собственные события.
Еще нужно помнить, что вы не должны объявлять переменную dataLayer второй раз после загрузки кода GTM, иначе вы удалите изменения, внесенные GTM в dataLayer, и разрывы GTM.
Но вкратце, да, это именно тот, кто должен работать, вы можете вставлять значения после кода GTM.
person
Eike Pierstorff
schedule
30.04.2019