MrS*_*nge 2 regex google-analytics google-tag-manager
我正在尝试创建一个正则表达式,以在某些页面上的Google跟踪代码管理器中触发代码.
我遇到的问题是我不想在匹配其中的查询字符串的URL上触发此标记,因为它只是一个会话标识符,我不需要在具有查询字符串的页面上触发标记.这些基本上是重复的,它们不需要在第三方跟踪程序中进行跟踪.我知道如何在GA中排除它们,但我无法弄清楚如何为第三方跟踪做到这一点.
我将详细介绍下面的场景以及我尝试过的内容.
如果我查看GA,会在我的网址报告中显示的示例网页:
/页
/页/子页面?我帅的查询字符串和一些-其他数据
/页/子页面
/页/子页/ subsubpage
/页/?的查询字符串,再
所以我想做的是在没有查询字符串的页面上触发跟踪,这证明了问题.
如果我放入^/page.*[^\?]
它只是不起作用.我想我完全使用否定的字符类都错了?我不能让它工作,并需要一些协助如何设计一个更好的正则表达式.
我试过的其他一些是:
^/page/.*
但这个只匹配了一切,/page/
但没有/page
.
我对正则表达式不是很了解,所以我基本上想做的是匹配/page, /page/subpage, /page/subpage/subpage
等,但不是任何有查询字符串的URL.
在GTM中我无法创建两个规则"Include {{url path}} matching this" and "Exclude {{url path}} matching \?"
,所以这一切都需要在一个正则表达式中完成......而这完全让我感到茫然.
编辑:迈克给出了一个很好的答案来解决我的GTM部分,但我仍然有兴趣学习是否有可能做到上面但只有一个正则表达式?
您可以实际创建两个规则,如您所述.
在GTM中,标签可以同时具有触发规则和阻止规则.阻止优先.例如.
射击规则:
{{url}} matches ^page/.*
Run Code Online (Sandbox Code Playgroud)
阻止规则:
{{url}} does not contain ?
Run Code Online (Sandbox Code Playgroud)
另一个选择是使用自定义JavaScript宏.它的形式是function(){ }
可以检测查询字符串值window.location.search
并返回布尔值.然后有一个射击规则{{your custom fn}} equals 1
.
您还可以创建一个使用URL
宏类型和Query
组件类型的宏.该值设置为不带前导的查询字符串?
.如果网址是example.com?foo=bar
这个宏将包含foo=bar
.然后只需添加一个射击规则{{query}} matches Regex ^$
或{{query}} does not contain something-that-will-never-be-in-the-url-to-avoid-regex
归档时间: |
|
查看次数: |
5887 次 |
最近记录: |