网址中的不必要数据 Google 分析

Unnecessary data in the urls Google Analytics

我在我的项目中设置了 Google 分析跟踪代码。 现在,我想检查有多少用户点击了我网站上的某个 url。 url 参数因用户而异。我想将它们归为一个主要子 url.

我尝试设置 Google Analytics 将排除的所有参数,同时收集此信息:使用 排除 URL 查询参数 文本盒子.

假设这是我的 URL:

www.example.com/petDetails?petType=Cat&PetColor=Black similarly

www.example.com/petDetails?petType=Dog&PetColor=white

所以将上面的 urls 分组到

'/petDetails'

这对少数 url 来说效果很好。但是我发现了一些奇怪的数据,比如

www.example.com/petDetails#1102petType=Cat&PetColor=Black

www.example.com/petDetails#45654petType=Dog&PetColor=white

请注意#someNumber部分。在代码的任何地方,我都添加了带有# 的此类数字。

在 GA 的报告中有大量这样的 urls,这些没有在

中分组

'/petDetails'

从而为每个创建唯一的条目。

如何消除这个问题。 任何帮助将不胜感激。如果您需要更多这方面的数据,请随时询问。

Nowhere in the code, I add such kind of number with # appended.

看起来您的网站上有指向 hashtags/fragments 的锚标记。它用于能够导航到页面上的特定点。

也许你没有在你的页面上明确地建立指向它们的链接,尽管你没有这样做的可能性很小。

但是,对于访问者来说也很容易,例如查看您页面的 section/header 并看到有一个 id='foo' 属性,然后只需添加“#foo”到URL直接去吧。

但这比第一种情况的可能性要小得多,您实际上拥有这样的链接(或利用它进行导航的框架)。

无论如何,如果你想确保报告的 URI 只有路径,没有查询字符串或哈希,我建议你创建一个过滤器来去除它们。

进入 Google Analytics 并导航到视图的 Admin/Config 并单击 Filters,然后单击红色 + 新过滤器 按钮。

选择创建新过滤器单选按钮。

对于 过滤器名称 将其命名为 "URI - strip query,hash"

对于过滤器类型,select 自定义然后select 高级单选按钮。

For Field A -> Extract A, select "Request URI" 然后在文本字段中,输入以下内容:^([^?#]+)

字段 B -> 提取 B 留空;你不需要它。

For Output To -> Constructor, select "Request URI" 然后在文本字段中,输入以下内容:$A1

在那之后的复选框中,确保选中以下内容: 需要字段 A,并且覆盖输出字段

最后,保存 过滤器。

编辑:

Thanks a ton @Crayon, for the detailed steps. It worked!. But will you be please kind to explain the Output To-> Constructor field? I can't seem to understand it.

好的,高级自定义过滤器 是一种将内容从一个项目推送到另一个项目的方法。它使您能够在不更改站点代码的情况下填充(或覆盖)内容。所以在上面的场景中,它是用来修改上报的URI。另一种常见情况是在 URI 前加上主机名,用于在多个域上具有页面的视图。

所以基本上你可以做的是在Field AField B,使用正则表达式从指定的匹配你想要的资源。正则表达式语法的一部分是对模式的一部分(或全部)进行分组(通过在模式部分周围放置括号),您可以稍后引用捕获的组。

由于其 interface/setup 约定,GA 有特殊的语法来引用它。所以 $A 是引用 字段 A 中捕获的组的前缀。那么之后的数字就是捕获的组,例如$A1 引用 字段 A 中的第一个捕获组。在您上面的场景中,我们只使用一个字段并且我们只有一个捕获的组。

最终,所有这些都将进入 Overwrite to 字段,这是您要使用值(在本例中为 URI)弹出(或覆盖)的字段,而 Constructor 就是您要覆盖它的内容。

总的来说,我们采用当前 URI,使用正则表达式模式 ^([^?#]+) 只匹配第一个 ?(查询字符串定界符)或 #(hash/fragment定界符)以先到者为准并将其捕获为组 $A1。然后我们用那个值覆盖 URI,这有效地去除了那些东西的 URI。

旁注:我看到很多人(包括我自己,当我刚接触它时)对高级自定义过滤器感到困惑。 IMO 如果 GA 将表单字段的 foo->bar 标签更改为正确对齐的标签,并将它们重新标记为某些东西,例如"New Value" 而不是 "Constructor".