Server-side tracking
Server-side tracking
@ServerSideTrackingRuPro

Как добавить HTML-элементы на страницу через GTM без потери атрибутов

Как добавить HTML-элементы на страницу через GTM без потери атрибутов

Если в GTM нужно не просто вставить кусок разметки, а создать элемент программно, действуйте так:

— Создайте элемент через `document.createElement()`.
Так вы получаете полный контроль над тегом, а не полагаетесь на вставку сырого HTML через Custom HTML.

— Назначьте нужные атрибуты вручную через `setAttribute()`.
GTM часто вырезает нестандартные атрибуты при инъекции: `data-*`, `aria-*`, собственные имена атрибутов. Поэтому после создания элемента задавайте их отдельно.

— Заполняйте текст и вложенное содержимое через DOM-методы.
Используйте `textContent`, `appendChild()` или `innerHTML` только там, где это безопасно и не ломает структуру. Так меньше сюрпризов при рендеринге.

— Добавляйте элемент в нужное место через `appendChild()` или `insertBefore()`.
Сначала определите контейнер на странице, потом вставляйте элемент в конкретный узел, чтобы не зависеть от порядка загрузки тегов.

— Проверяйте результат в DevTools, а не только в превью GTM.
Сравните исходный элемент и то, что реально оказалось в DOM: именно на этом этапе чаще всего теряются атрибуты и поведение.

— Используйте программную вставку, если элемент влияет на аналитику.
Это особенно полезно для нестандартных событий, вспомогательных блоков consent-логики и first-party разметки, где важны точные атрибуты для последующей обработки.

Когда это пригодится: когда через GTM нужно добавить виджет, служебную разметку или first-party элемент, а обычный Custom HTML начинает «съедать» атрибуты и ломать трекинг.

— @ServerSideTrackingRu
Этот пост опубликован в Telegram-канале Server-side tracking. Подписаться можно по ссылке: @ServerSideTrackingRuPro.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.