我们希望使用 GTM 将广告注入 DOM。我们已安装广告插件,并设置了各种空的占位广告类型,使用如下 div 容器:<div id="adunit_x"></div>
然而,在 virtualPageView 事件中评估所有广告 div 容器的 ID 时,帖子之间的广告尚未渲染。这可能是因为虚拟 DOM 在触发评估的 virtualPageView 事件发生时,尚未完成所有内容的渲染。
如果我们在评估所有广告 div 容器之前添加一个超时(例如 3000 毫秒),问题就能解决。
请问在 GTM 中是否有某个事件可以利用,该事件能够在 virtualPageView 触发后,表明初始虚拟 DOM 已完成渲染?
我们无法使用任何其他标准广告插件选项,因为它们均不符合 GDPR 或 CCPA 规定。因此,我们必须通过 GTM 和 Cookie 同意管理平台(CMP)来实现,该平台用于控制广告是否可注入以及何时注入。
virtualPageView 功能不错,但真正缺失的是另一个名为 virtualPageLoaded 的事件,该事件应在页面视图中所有元素和小部件加载完成后,通过 appEvents.trigger(“virtualPageLoaded”) 触发。这样,例如 GTM 中的脚本就可以查询最终的 DOM 树。例如,当以管理员身份登录后,Mini Profiler 会显示完整页面的渲染耗时,如果在此时触发这样一个 virtualPageLoaded 事件将会非常理想。
目前我们采用了一种变通方案,即等待所需元素可访问,但我不太喜欢这种方式。