
2020年3月18日
或Google跟踪代码管理器触发器中的条件:3个选项
在Google跟踪代码管理器中,您可以管理代码并定义必须触发代码的条件。但是,如果您有多个触发条件,并且想在其中任何一个条件上触发代码,则需要牢记一些注意事项。
换句话说,我将向您展示如何使用OR条件配置触发器。

目录
- 单个触发器中的多个条件与AND连接
- 一个例子
- 选项1:将多个触发器添加到同一标签
- 选项2:单触发+匹配正则表达式
- 选项#3:使用Regex(或查找)表变量的单触发器
- 荣誉奖:带有自定义JavaScript变量的单个触发器
- 最后的话
单个触发器中的多个条件与AND连接
初学者常见的错误是 不知道单个标签中所有条件之间的关系. 这里’s an example.
您想在三个页面中的任何一个上触发代码, / pricinc / page1 /,一种 / pricing / page2 /,一种 / pricing / page3 /。如果您刚刚开始学习如何使用GTM,您可能会认为以下触发器是一个不错的选择。
但是,不是。按照GTM的界面指示,必须满足同一触发器中的所有条件,因此,很有可能永远不会激活该触发器,因为网站的网址不可能包含所有3个选项(第1页,第2页,第3页)。
那么,如果满足任何条件,您如何指示Google跟踪代码管理器启动?让’看一下各种选择。
一个例子
首先,让’想象一个案例,我们’我会尝试解决。您有3个页面要在其中触发代码(标记的类型现在无关紧要)。这些页面的URL为:
- //www.example.com/pages/product1
- //www.example.com/pages/product2
- //www.example.com/pages/product3
以下所有选项都将处理同一案例。如果访客访问上述任何页面,我们’ll fire a tag.
选项1:将多个触发器添加到同一标签
免责声明:此实现OR条件的选项不是最佳选择,我不建议这样做。选项#2和#3更好。但是,选项#1仍然有效,因此,我决定也显示它。
您可能的选择之一是将多个触发器添加到同一标签。您’我需要为每个页面创建单独的触发器。如您所见,此解决方案的伸缩性非常差,您可以轻松地用不必要的触发器填充容器(想象一下您需要定位50页的情况)。
创建所有触发器后,将它们添加到同一标签。如果将鼠标悬停在触发器图标上,则可以一次选择多个触发器(然后将出现该复选框)。
如果这些触发器中的任何一个满足条件,您的标签就会被触发。
另一方面,如果您想组合多个不同的触发器并仅在满足所有触发器条件时才触发代码,请查看 触发组.
选项2:单触发+匹配正则表达式
一个更优雅的解决方案是选项2。不必为每个条件设置多个触发器,我们可以将所有触发器组合在一个触发器中。这有可能归功于 常用表达.
在本文中,我’我不会详细解释它。您现在只需要知道RegEx是一种用于在特定条件下检查文本的模式。 RegEx使用具有特定含义的特殊符号。
在这种情况下,我们’将使用一个非常简单的示例,管道|(垂直线)
RegEx中的此符号表示OR。因此,如果您要匹配多个不同的页面,则只需创建一个正则表达式 第1页|第2页|第3页 (显然,这只是一个例子)。
这种情况下真正的正则表达式看起来像这样
/ pages / product1 | / pages / product2 | / pages / product3
我们可以对其进行一些优化,并引入另一个符号,括号(用于对元素进行分组)。然后正确的正则表达式可能如下所示:
/页面/(产品1 |产品2 |产品3)
要么
/ pages / product(1 | 2 | 3)
没有一个正确的答案。每种情况都可以以不同的方式处理。
创建正则表达式后,让’将其包含在触发器中。
- 创建一个Pageview触发器并输入以下条件:
- 页面路径
- 匹配正则表达式 (ignore case)
- / pages / product(1 | 2 | 3)Â (您应该在此处输入实际的正则表达式)。
显然,如果要跟踪页面上的不同交互,则应选择其他触发器类型和条件。这只是一个例子。
那 ’是的!保存此触发器并添加到标签后,只要满足该RegEx条件,标签就会触发。就我们而言’s三个URL之一。
相关有用资源:
- 适用于Google Analytics(分析)和Google Tag Manage的Regex教程
- Regex101.com (可帮助您验证正则表达式的工具)
选项#3:使用Regex(或查找)表变量的单触发器
与实施例1相比,实施OR条件的实施例2更理想。但是,如果要匹配的页面太多(例如50个),它仍然会变得很混乱。
当然,您仍然可以使用我的方法’以上已经描述了,但是在GTM界面中管理/使用不是很方便。
您可能会使用很长的正则表达式,但是在GTM UI中可以看到的是:
那 ’在其中Lookup或Regex表变量可能变得非常方便。在这篇博客中,我’我将集中在正则表变量上。
正则表达式和查找表变量之间的唯一区别是 查找表始终在寻找完全匹配的项 (而Regex表则包含更复杂和灵活的规则)。
所以在这里’s the plan:
- We’ll create a 正则表达式Table Variable
- 每个条件(每页)将包含在单独的行中
- 如果满足特定条件,则变量将返回“true”
- 然后,我们将在网页浏览触发器中使用Regex表变量。条件:如果变量返回“true”,则触发器将被激活。
在Google跟踪代码管理器界面中,转到 变数> User-defined 变数> New > 正则表达式Table.
- 选择输入变量。在我们的例子中’因此,我必须选择它。
- 重要说明: 请点击 高级设置 然后取消选中:
- 忽略大小写
- 完全匹配
- 启用捕获组并替换功能
- 然后点击 添加行并添加条件。在左栏中输入 / pages / product1 (提醒:这只是一个例子。您需要在此处输入您的条件)。在右栏中— “true”(不带引号)
- 对每个条件/页面重复相同的过程。
这里’■Regex表变量的工作方式:它将开始检查从顶部到底部的条件。一旦满足条件,将不再检查其他行。
现在它’是时候创建Pageview触发器了(再次,这只是一个例子。如果要将这种技术应用于Click触发器,请继续执行此操作)。
添加条件: 正则表达式–非常重要的产品(我叫这个名字) 等于 真正
荣誉奖:带有自定义JavaScript变量的单个触发器
还有另一种选择,但是你’我需要动手才能使用它,因为该技术需要JavaScript知识。那’s why I’我会提一提。您需要编写一个自定义函数来检查您的变量(例如页面路径)并返回 真正 如果满足某些条件。
差不多’与RegEx Table变量相同,除了条件可能在Custom JS中复杂得多。但是,现在,我无法提出一个很好的例子。
对。一世’ve浪费了两段,没有说什么有用的ðŸ™,
有关GTM触发器中OR条件的最终决定
另一篇博客文章已经结束。在如何在Google跟踪代码管理器中创建“或”条件的3个选项中,我最喜欢的是#2和#3。我总是建议GTM用户不要为每个条件/页面/按钮创建多余的触发器,而不要将它们组合成一个触发器。
选项#2(单触发带“Matches Regex”)对于快速和小的条件很有用。
选项#3(带有Regex Table变量的单个触发器)对于需要与之关联的较长条件列表很有用“OR”.

很好的信息。谢谢
它确实帮助我了解了GTM的OR条件。
谢谢你
非常翔实的文章。非常感谢您编写它。我有一个问题-如果您实际上想使用Regex Contains,可以使用“选项#2:单触发器+匹配RegEx”吗?我正在学习Reg表达式,我需要一个触发器来触发包含“ CompanyA”和“ CompanyB”的外部网站链接,但完整的URL可能是CompanyAproductname1.com
只需使用CompanyA | CompanyB
您绝对应该花更多的时间学习正则表达式。非常有价值。
谢谢朱利叶斯(Julius)-我试过了,但不起作用-是不是如果URL'matched'CompanyA或CompanyB而不是URL包含CompanyA或CompanyB(例如CompanyAproductname),使用表达式CompanyA | CompanyB就会触发.com)?
除非您指定其他规则,否则Regex始终以“包含”模式运行。正则表达式区分大小写。检查这是否不是您的问题。