virtualPageView e o virtual DOM

Queremos usar o GTM para injetar anúncios no DOM. Instalamos o plugin de anúncios e configuramos vários tipos de anúncios vazios com containers div como <div id="adunit_x"></div>.

No entanto, ao avaliar o id de todos os containers div de anúncios no virtualPageView, os anúncios entre as postagens ainda não foram renderizados. Provavelmente porque o DOM virtual não renderizou tudo no evento virtualPageView que estamos usando para acionar a avaliação.

Ao adicionar um tempo de espera, por exemplo, 3000ms antes de avaliar todos os containers div de anúncios, funciona.

Existe algum evento que possamos aproveitar no GTM que sinalize que o DOM virtual inicial foi renderizado após o disparo do virtualPageView?

Não podemos usar nenhuma das outras opções padrão de plugins de anúncios, pois todas não estão em conformidade com o GDPR ou a CCPA. Portanto, precisamos fazer isso via GTM e um CMP de cookies que controla se os anúncios podem ou não ser injetados (e quando).

O virtualPageView é bom, mas o que realmente falta é outro evento do tipo virtualPageLoaded, acionado via appEvents.trigger(“virtualPageLoaded”) assim que todos os elementos e widgets forem carregados na página em exibição. Assim, scripts, por exemplo no GTM, poderão consultar a árvore DOM final. Quando logado como administrador, o mini profiler mostra quanto tempo levou para renderizar a página completa; disparar um evento virtualPageLoaded nesse momento seria, por exemplo, uma boa ideia.

Agora, estabelecemos uma solução alternativa onde aguardamos que os elementos necessários estejam acessíveis, mas não gosto dessa abordagem.