GTM без сюрпризов: как программно добавлять HTML для аналитики (и почему атрибуты могут исчезнуть)
Если вы используете Custom HTML в Google Tag Manager и через него “подмешиваете” атрибуты/метки в DOM, есть неприятный нюанс: GTM при инъекции HTML может **убирать “нестандартные” атрибуты**. В результате heatmap/сессии/кастомные события начинают терять контекст: вы ожидали `data-*` или особые aria-атрибуты, а на странице их уже нет.
Чек-лист, чтобы это проверить и обойти:
— 1) Определите, какие атрибуты вы реально используете
Выведите список атрибутов, которые вы хотите видеть в DOM (например, `data-*` или кастомные названия). Если цель — разметка для скриптов/переходов в Heatmap tools, то атрибут должен читаться после инъекции.
— 2) Проверьте “потерю” атрибутов именно на уровне DOM
После срабатывания Custom HTML откройте DevTools и проверьте элемент: присутствует ли атрибут и его значение. Сработало на вашем локальном HTML — не значит, что останется после GTM-инъекции.
— 3) Если атрибут “не держится” — перестройте подход к передаче данных
Не полагайтесь на кастомные атрибуты, которые GTM вычищает. Вместо этого храните данные в местах, которые гарантированно сохраняются (например, в видимых текстовых узлах, классах, или передайте параметры событию в вашу систему аналитики).
— 4) Для data-маркировки используйте проверенный формат и повторную валидацию
Даже если предполагается, что `data-id` сохранится, в реальности это может зависеть от атрибута/контекста. Сделайте тест: на странице после GTM-инъекции сверяйте наличие `data-*`.
— 5) Для aria-атрибутов учитывайте риск “зачистки”
Примером “похожего по поведению” класса атрибутов часто оказываются `aria-labelledby` и другие aria-метки. Если они используются вами как селекторы для разметки/логики — перепроверьте, что после GTM они действительно остаются в DOM.
— 6) Сопоставьте поведение в инструментах записи с тем, что видите в DOM
В логике Heatmap tools важна связка: “что вы добавили” ↔ “что инструмент прочитал”. Прогоните 1 сценарий на реальной странице и сравните: есть ли ожидаемые маркеры в событиях/сигналах записи.
— 7) Документируйте, какие атрибуты безопасны в GTM для вашей разметки
Соберите мини-таблицу: атрибут → сохраняется/исчезает → чем заменили. Это ускорит внедрение новых heatmap-сценариев и снизит количество “магии” в тегах.
когда это пригодится: когда вы строите пользовательскую разметку под события и разметку элементов для Heatmap tools через GTM Custom HTML, и вдруг видите, что контекст в записи “пропал”.
— @HeatmapToolsRu
Heatmap-инструменты
@HeatmapToolsRu
GTM без сюрпризов: как программно добавлять HTML для аналитики (и почему атрибуты могут исчезнуть)
Этот пост опубликован в Telegram-канале Heatmap-инструменты. Подписаться можно по ссылке: @HeatmapToolsRu.