Мы хотим использовать GTM для внедрения рекламы в DOM. Мы установили плагин рекламы и настроили различные типы пустых рекламных блоков с помощью контейнеров div, таких как <div id="adunit_x"></div>.
Однако при оценке идентификаторов всех контейнеров div с рекламой на событии virtualPageView реклама между постами еще не отобразилась. Вероятно, это связано с тем, что виртуальный DOM еще не отрендерил всё к моменту события virtualPageView, которое мы используем для запуска оценки.
При добавлении тайм-аута, например 3000 мс, перед оценкой всех контейнеров div с рекламой, всё работает.
Существует ли какое-либо событие в GTM, которое сигнализирует о том, что начальный виртуальный DOM был отрендерен после срабатывания virtualPageView?
Мы не можем использовать ни один из других стандартных вариантов плагинов для рекламы, так как они не соответствуют требованиям GDPR или CCPA. Поэтому мы должны реализовать это через GTM и CMP для управления файлами cookie, который контролирует возможность и время внедрения рекламы.
Виртуальный PageView — это хорошо, но чего действительно не хватает, так это события типа virtualPageLoaded, которое вызывается через appEvents.trigger(“virtualPageLoaded”) после того, как все элементы и виджеты для отображаемой страницы будут загружены. Таким образом, скрипты, например в GTM, смогут запросить итоговое дерево DOM. Например, при входе через панель администратора мини-профайлер показывает, сколько времени занял рендеринг всей страницы; было бы здорово, если бы событие virtualPageLoaded срабатывало именно в этот момент.
У нас сейчас есть обходное решение, при котором мы ждём, пока требуемые элементы станут доступными, но мне такой подход не нравится.