分析与测试
如何为Google Analytics(分析)编写和测试正则表达式过滤器(包含示例)
像我在这里的许多文章一样,我为客户做一些研究,然后在这里写。 老实说,为什么有两个原因……首先是我的记忆力很差,经常在我自己的网站上搜索信息。 第二是帮助可能也在搜索信息的其他人。
什么是正则表达式(Regex)?
正则表达式是一种开发方法,用于搜索和识别文本中的字符模式以匹配或替换文本。 所有现代编程语言都支持正则表达式。
我喜欢正则表达式(正则表达式),但学习和测试可能会令人沮丧或恼怒。 Google Analytics(分析)具有一些惊人的功能……您可以在其中使用正则表达式创建视图或在正则表达式中过滤数据。
例如,如果我只想查看标签页面上的点击量,则可以使用以下方法在我的永久链接结构中过滤/ tag /:
/tag\/
那里的语法很关键。 如果我只是使用“标签”,我将获得所有带有标签标签的页面。 如果我使用“ / tag”,则将包含以tag开头的所有URL,例如 /标签管理 因为Google Analytics(分析)默认在正则表达式之后包含任何字符。 因此,我需要确保包含以下斜杠…,但是必须在上面加上转义符。
正则表达式语法基础
句法 | 产品描述 |
^ | 开始于 |
$ | 以。。结束 |
. | 任何字符的通配符 |
* | 零个或多个上一个项目 |
.* | 匹配中的任何字符 |
? | 上一项的零次或一次 |
+ | 上一项的一次或多次 |
| | OR运算子 |
[ABC] | A或b或c(可以是任意数量的字符) |
[az] | a到z的范围(可以是任意数量的字符) |
[AZ] | A到Z的范围(大写) |
[0-9] | 0到9的范围(可以是任何数字) |
[a-zA-Z] | a到Z或A到Z的范围 |
[a-zA-Z0-9] | 所有字母数字字符 |
1 {} | 恰好1个实例(可以是任意数量) |
{1-4} | 范围为1到4个实例(可以是任意数量) |
{1,} | 1个或更多实例(可以是任意数量) |
() | 分组规则 |
\ | 转义特殊字符 |
\d | 数字字符 |
\D | 非数字字符 |
\s | 空格 |
\S | 非空白 |
\w | Word |
\W | 非单词(标点符号) |
Google Analytics(分析)的正则表达式示例
所以让我们举一些例子 自定义过滤器. 我的一位同事向我寻求帮助,以识别带有路径的内部页面 /指数 除了永久链接中与该年一起写的所有博客文章外:
我对过滤器字段Request Url的定制过滤器模式:
^/(index|[0-9]{4}\/)
这基本上表明要查找/ index或任何以斜杠结尾的4位数字路径。 我在Google Analytics(分析)中创建了一个视图,并将其添加为过滤器:
以下是一些示例:
- 您的博客永久链接路径中包含年份,并且您希望将列表过滤为任何年份。 所以我想要任何4个数字后跟一个斜杠。 请求URl过滤器模式:
^/[0-9]{4}\/
- 您想比较标题所在的所有页面 证书 or 认证 在它。 页面标题过滤器模式:
(.*)certificat(.*)
- 您要根据在登录中传递的两个着陆页的广告系列媒介来进行比较 Google Analytics(分析)广告系列网址 作为utm_medium = 直邮 or 付费搜索.
(direct\smail|paid\ssearch)
- 您要根据URL路径比较所有男式衬衫产品。 请求URl过滤器模式:
^/mens/shirt/(.*)
- 您要比较所有编号为以数字结尾的URL路径的页面。 请求URl过滤器模式:
^/page/[1-9]*/$
- 您要排除一个IP地址范围。 排除IP地址过滤器模式:
123\.456\.789\.[0-9]
- 您要包括一个thankyou.html页面,其中基于querystring success = true提交成功。 请求URl过滤器模式:
thankyou\.html\?success=true
如何测试您的正则表达式
与其在Google Analytics(分析)中反复试验,不如说我经常跳到 正则表达式101,这是测试您的正则表达式的绝佳工具。 它甚至可以为您分解语法,并提供正则表达式的详细信息: