Google Tag Manager支持在同一个页面加载多个容器,这对于需要管理多个公司或组织在同一个网站工作的人来时非常有用,但需要注意的是,我希望你能够严格控制你的主容器的权限,在一些情形下,有些第三方可能会做一些不要的操作,比如创建自己的容器或将其添加到网站上去。
现在,在Google Tag Manager360中,我们有了Zone这个功能,将使得管理多个合作伙伴的容器变得跟容易。
Zone是有界限的,有一些基本的页面规则,你可以用于限制Zone只是在当前页面或分组页面,另外,Zone能让你对代码、触发器、变量做更严格的限制,这将是你更好的控制这些关联的容器是否可以在你的网站上运行。
目录
为什么用Zone?
创建一个Zone
将容器关联到Zone
添加一些边界
自定义评估
类型限制
预览Zone
总结
为什么用Zone?
Zone可以给一个网站关联多个容器,相比通过关联器容器去触发它的代码和触发器,这种方式在两个方面做了更严格的限制:
边界,可以让你定义页面规则,Zone可以操作的是只是才通过规则的页面,也就是,你可以限制页面在Zone中操作,只有符合这个边界的,才能够在Zone里面操作,例如,你而已限制一些广告代理商的只有它们自己创建的着陆页才触发。
类型限制,只允许当前的触发器在当前的页面触发,如果你要限定关联器容器在运行自定义HTML代码或自定js变量的时候这非常有用,例如;
因此,关联的容器将能够触发Zone Boundary中包含的页面上未限制的任何代码,触发器和变量。
创建一个Zone
为了创建一个Zone,点击左侧的导航栏中的“Zone”,然后就会看到一个红色“new”按钮:
显而易见,你可以在你的容器中创建多个Zone,你的Zone也可以关联到多个容器去。
将容器关联到Zone
在Zone设置中,你可以通过点击Zone配置去关联一个新的容器,你也可以点击“No linked containers”或蓝色架子的按钮去打开关联容器的设置界面:
当你打开设置界面,你还可以点击“add container”按钮,你而已看到当前Zone已经关联了哪些容器的列表,你也可以在容器IDZone输入任何的容器ID去搜索,请记住,给容器顶一个昵称有助与在你做Zone设置的时候区分识别。
你也可以听过点击右上角蓝色的十字按钮,通过下面的流程去关联一个新的容器:
一旦你选择了容器,然后点击“Add”就会将其添加到当前的Zone:
有些措施可以防止过度循环或在复杂的关联。
管理一些规则
如果你选择了一个你已经关联的容器,你将在容器界面中看到更多关于容器的信息:
这个界面的信息可以让你知道最新的和当前版本的信息,后者特别重要,因为那是将被链接到网站本身的容器。您还可以检查哪些用户有权访问链接的容器。在我看来,这些都是提高工作流程透明度的必要功能。
你可以检查和修改链接容器的用户这一事实意味着你可以在工作流程中为该Zone设置所有内容,而无需在不同的GTM管理视图之间切换。
总而言之,你可能会发现奇怪的是,你可以将所需的任何容器ID添加到Zone中。换句话说,你可以拉任何容器,并在你的网站上添加触发代码,触发器和变量!
那么,当你想到它时,GTM就是这样工作的。没有什么能够阻止你将任何容器中的容器片段添加到你的站点,也没有什么阻止你将容器链接到你的Zone。
这可能会导致一些管理问题,但类型限制和边界存在可以在一定程度上减轻这种开放设置带来的摩擦。
尽管如此,没有什么比传播更重要即使对于Zone,我仍然建议你努力改善组织内部和你的合作伙伴之间的沟通结构。你还需要制定应对计划,以便在链接的容器中发生某些事情时发生错误。
添加一些边界
边界就是页面的规则了,只有符合规则的页面才会被触发,这意味着这些规则在GTM容器加载的时候就必须存在,换句话说,你不能创建一个类似这样的条件:当用户点击的时候才激活这个Zone。当然,可以看下一章的特殊情况:
在上图中,ALL Pages是一个Zone有效边界,Page Path contains /campaign/也是一个一个有效的Zone边界,这些条件在页面加载的时候都会被检测到的。
Event equals gtm.click不是一个有效的Zone边界,事件不是页面规则,所以不能作为边界。
自定义评估
然而,也有一些特殊的边界条件是可以检测到的,如果你有一个单页应用app,或是说需要用事件作为边界条件,你可以点击右上角的几个小点,然后会选择show custom evaluation,点击后会看到一个新的界面,在这里你可以添加触发器什么时候才触发或不触发,这就是控制Zone的边界条件。
正如你看到的,触发器默认的边界是ALL Pages,换句话数,边界设置里面的规则是在GTM一加载就需要触发的了。
通过添加其他触发器到列表里面,边界条件将会重新评估触发器的触发顺序,所以,如果你有一个单页应用,处理的过程如下:
1、当容器第一次加载的时候,页面路径是/的,因此Zone是不会被激活。
2、当用户点击一个链接跳转到广告系列页面,单页应用的url将会变为/campaign/,且不需要重新加载页面。
现在,因为URL改变了,但页面却没有重新加载,GTM不会重新将边界条件作为默认的,这就是所有页面的触发器都是基于第一次容器加载时候的边界条件了。
通过添加触发器到这个定义评估列表,你可以强制GTM去重新评估边界条件,如果条件为真就激活Zone,采用最新的Zone的设置。
例如,下面是我用History Change trigger去强制GTM重新选择一个边界条件,这个在单页应用里面是非常常见的:
如果历史事件将url改为/campaign/,Zone就会被激活。
类型限制
默认情况下,链接的容器以满负荷工作。当一个容器连接到一个活动Zone中时,该容器完全自由地操作,就好像它已经直接添加到页面中一样。
通过类型限制,你可以将Zone分隔为只允许特定类型的代码,触发器和变量在Zone中运行。要启用类型限制,请打开开关:
有如下的类型限制,默认都是开启的:
所有Google代码类型都已启用。 Google代码类型是Google产品的代码,例如Google Analytics,Adometry,DoubleClick和AdWords。
所有触发器类型都已启用。
除自定义JavaScript变量以外的所有变量类型都已启用
所有其他标签类型都被禁用。
需要注意的是,这意味着自定会HTML代码和自定义js变量默认是没有开启的,因此,在切换类型限制时,请注意大多数容器的功能有限制的
同样,如果禁用触发器和变量类型,请注意容器可能具有非常复杂的触发器和变量评估链。通过禁用单一类型,您可能会破坏链接容器中的所有功能。
我再次强调沟通的重要性。在Zone中只限制特定类型的代码,触发器和变量是一个非常好的主意,但是在任意阻止其核心功能之前,你需要确保知道链接容器中的情况。
要添加或删除类型限制,请首先单击主要类型选择。这将打开一个叠加层,你可以在其中打开或关闭单个标签,触发器和变量类型。也可以单击ALLOW ALL / RESTRICT ALL按钮执行相应的选择操作。
预览Zone
预览模式也有一些额外的功能。当预览容器时,你在zone中定义了Zone,“预览”模式将显示Zone当前是否处于活动状态。活动Zone意味着任何链接的容器都能够触发其代码,触发器和变量
你可以点击预览模式中的zone去看更多的详细信息,例如关联的是哪个容器,所了哪些类型限制。
在预览模式中,没有激活的Zone是不会出现在未激活Zone的。
如果自定义评估规则改变将改变Zone的状态,它将在预览模式下从非活动更改为活动。
如果您在预览模式下也有链接的容器,并且您可以在浏览器中访问预览,那么您将在预览模式窗格中看到一个下拉菜单。这可以让你切换到链接容器的预览模式,如果你愿意的话。
需要记住,如果你没有关联容器的权限的话,你不会看到任何东西,即使在预览模式下也没有。
总结
我认为Zone是访问控制权限问题和在网站上运行多个容器的非常优雅的解决方案。到目前为止,在与可能采用不同的容器管理方法的合作伙伴合作时,向页面添加多个容器是很有诱惑力的。
Zone并未解决管理问题,但它们确实为您提供了更多便于管理的工具。
Zone的主要问题是你缺乏对链接容器的可见性。这是可以理解的,因为如果您可以随意添加到你的网站中,那么它将打开一个完全不同环境。
对于你有权访问的链接容器,你始终可以将它们置于“预览”模式,以便你可以看到Zone处于活动状态时发生了什么。
是的,这仅仅适用于Google Tag Manager360.另一方面,这绝对是一项企业功能,这意味着将其打包在付费计划下以及SLA和其他支持上也是有意义的。并不是说这是大多数人必备的功能。有Zone或无Zone,单容器设置仍然是使用Google跟踪代码管理器的首选方式,至少在我看来。
说两句:这个功能目前只有GTM360才有的,也就是需要付给的,主要是回用于同一个网站,有多个媒体资源的管理情况,目前统一版的ga跟踪代码没有跟踪器的,需要向多个媒体资源发送数据的是直接通过跟踪代码硬编码的形式,现在GTM360提供了另一种方式去实现向多个媒体资源发送数据的解决方案。