Google 跟踪代码管理器同意设置更新为时已晚

vla*_*tut 6 google-tag-manager

我希望受益于 GTM 同意概述和标签同意设置。我想使用此处记录的跟踪代码管理器方法: https: //developers.google.com/tag-platform/devguides/consent ?tab=tag-manager(无模板,无 CMP)

init 工作得很好,我的标签可以被触发或不被触发,具体取决于我在默认同意事件中设置的初始值。

        gtag('consent', 'default', {
            'ad_storage': 'granted',
            'functionality_storage': 'denied'
        });
Run Code Online (Sandbox Code Playgroud)

不过,我希望能够“更新”记录中的同意,但后来......

问题:发送并“更新”同意事件后,依赖于相应同意类型的标签不会被触发......

        gtag('consent', 'update', {
            'ad_storage': 'granted',
            'functionality_storage': 'granted'
        });
Run Code Online (Sandbox Code Playgroud)

我希望所有具有特定同意设置(例如功能存储)的标签在同意更新时都会触发,但事实并非如此。

如果更新是在初始化“之后”完成的,那么它就会起作用。但是,如果稍后在用户单击首选项按钮时完成更新,则为时已晚。

我的标签具有“所有页面”触发器,以及简单的“需要额外同意”设置。

注意:我将同意首选项存储在 cookie 中,并且由于我正在初始化 cookie 中的默认同意值,因此页面的下一次加载将考虑首选项,但我不确定这是否是预期的设计?

或者也许是,当用户设置了他的首选项时,只需要重新加载新页面,以便尽早正确设置同意设置?有没有办法在不重新加载页面的情况下重新启动GTM?或者再次强制评估标签?

谢谢你的帮助!