在Google Analytics中,我查看了一个网站,其中我正在尝试使用高级过滤器来编码“请求URI”字段中的转换:
当我查看网站内容...所有页面报告中的流量时,我不希望在“页面”列的URI中看到“/ [productid]”的任何值 - 我想要所有访问在“/ product / warranty”或“/ product / description”之类的URI下汇总到特定产品页面。
不幸的是,我发现很难自己尝试解决这个问题,因为在进行更改之后看到谷歌分析中的结果滞后,以及我对高级过滤器中如何使用正则表达式的不稳定把握。
答案 0 :(得分:1)
假设您的[product id]
是3个或更多连续数字,即:/product/123456789/someproductscreen
那么这将有效:
Field A
:Request URI
:^/product/\d{3,}(.*)
Field B
:Request URI
:/product/{id}$A1
Field A Required
和Override Output Field
以上配置将重写Request URI
:
/产品/ 123456789 / someproductscreen
/产品/ 12345
/一些/其他/ URL
为:
/产品/ {ID} / someproductscreen
/产品/ {ID}
/一些/其他/ URL
你提到你想要/product/warranty
。这会使编辑模糊不清。我的建议是留下编辑的占位符。我使用{id}
但它可以是任何字符串,即。 <product id>
GA过滤器使用正则表达式,在上面的示例中,我们使用正则表达式来匹配所有数字的产品ID。我们使用正则表达式执行此操作:
^(/.*/)(\d{3,})(.*)
当Request URI的根文件夹(/.*/)
后跟三个或更多数字时,情况就是这样:(\d{3,})
最后,我们使用(.*)
捕获URI的其余部分。我们使用了组,因此我们可以在后面的步骤中访问这些值。
GA高级过滤器可以保留Field A
和Field B
的群组提取。我们使用此功能使用Request URI
重建Output To -> Constructor
。下面是将动态ID压缩为静态字符串的示例:
$ A1 {ID} $ A3
$A1
将从Field A
中提取第一组。 $A3
将从Field A
中提取第三个组,如果它存在的话。 {id}
是一个静态字符串,它是动态值的占位符。
如果您的产品ID是字母数字的混合,那么我们只需要找到匹配的模式。您没有提供任何ID示例,因此以下是网址中常见ID模式的一些示例:
[A-Z]-\d+ // matches Z-764537389
\d{4}-\d{3}-\d{2} // matches 1234-123-12
简易模式吧?如果您需要匹配的URL中符合RFC4122的UUID怎么办?没问题:
[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}
// matches 0df98a02-c438-4c57-8d1c-2f6041804e2c
注意:默认情况下,GA Advanced Filter正则表达式不区分大小写,这可以在过滤器设置中覆盖。
答案 1 :(得分:0)
此处https://regex101.com/r/kRUJnU/1
开始使用此工具它将对未来真正有所帮助,因为具有正则表达式匹配和捕获组的个性化过滤器在GA中非常重要。
编辑:如何从regex101转到GA。
在下面的图片中,您可以看到我删除网址的最后部分的方式如下:
www.mysite.com/vuelos/carrito/checkout/46787654567898765
或类似的东西:
www.mysite.com/vuelos/carrito/46787654567898765