Google Tag Manager - лучшая практика для пользовательского скрипта отслеживания
Я готовлю собственное отслеживание и хочу обработать его с помощью диспетчера тегов Google. Я создаю новый контейнер с двумя тегами. Для каждого тега я выбираю "Пользовательский HTML" в качестве кода.
У меня есть один скрипт, который должен отображаться на каждой странице и записывает один хэш в локальное хранилище.
<script>
(function () {
// write something in the local storage
})();
</script>
Для этого тега я выбрал "Просмотр страницы" в качестве триггера, потому что он должен отображаться на каждой странице.
Второй скрипт отслеживает конверсию на странице благодарности после некоторой формы.
<script>
(function () {
var data = {};
data.conversionId = 'XXXXXX';
conversion(data);
})();
function conversion(data) {
var iframe = document.createElement('iframe');
iframe.frameBorder = 0;
iframe.width = 1;
iframe.height = 1;
iframe.name = "stlconv";
iframe.scrolling = "no";
iframe.allowtransparency = "true";
iframe.vspace = "0";
iframe.hspace = "0";
iframe.marginwidth = "0";
iframe.marginheight = "0";
iframe.src = url;
document.body.appendChild(iframe);
}
</script>
Что бы вы выбрали здесь в качестве триггера? Как лучше всего обойтись вторым скриптом?
- Как владелец страницы должен установить "ConversionID", чтобы я мог получить значение в моем сценарии?
- Как сделать триггер по-лучшему, чтобы этот скрипт запускался только после отправки формы?
1 ответ
Этот вопрос слишком широкий, так как не существует общего "лучшего способа" передачи параметров со страницы в пользовательский HTML-тег GTM в вашем контексте. Вы должны найти решение, которое работает для вас. У вас есть несколько вариантов здесь:
- Сделайте конверсионный код доступным для чтения непосредственно вашим пользовательским HTML-JavaScript, например, с помощью глобальной переменной JS, файлов cookie или локального хранилища.
- Передайте преобразование в GTM, используя dataLayer, и используйте переменную dataLayer в своем пользовательском теге HTML (вы можете ссылаться на переменные dataLayer, используя двойные фигурные скобки, например, {{example}})
Вы можете использовать встроенный триггер GTM "Отправка формы", который позволяет вам проверять валидацию. Существует множество учебных пособий по его настройке, поэтому, если у вас возникнут проблемы с этим, расширьте свой вопрос или откройте новый. Я могу порекомендовать следующий учебник: form-trigger-tutorial