我在使用高级过滤器时遇到了问题,应该可以识别过滤器和搜索并创建适当的搜索类别。
用于过滤的网址: example.com/search/category:searchTerm
搜索网址: example.com/search/searchTerm
过滤器:
/search/(.*):(.*)$
Output to -> Constructor: Filter: $A1
这很好。我在分析报告的“网站搜索”类别中看到了 Filter:Category 。
现在,我想用':'分隔搜索词,这意味着用户将其放入搜索字段,并且未使用过滤器。没有':'的任何内容都应该是 Search 类别。
/search/((?!:).)*$
Output to -> Constructor: Search
这不起作用,网站搜索类别未设置为 Search 。知道错误在哪里吗?甚至可以为同一输出设置多个过滤器吗?
答案 0 :(得分:1)
如果您检查有关正则表达式的Google Analytics(分析)support page,则不会发现否定的超前语法。因此,它没有明确说明,但是很可能您正在尝试使用Google Analytics(分析)不支持的语法。如果您在“行为”>“内容”>“所有页面”中的任何一个报告中使用相同的正则表达式作为过滤器,则还会收到语法错误:
所以这应该是您出错的原因。关于可能的解决方案,您可能希望使用没有冒号的特定字符串类型:
\/search\/([\w-%]*)[\?|$]
请注意,我已转义了斜杠,还允许(但不包括)字符串中出现的任何参数。工作示例:https://regex101.com/r/viTcb1/2