网址中的不必要数据 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 A和Field 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".
我在我的项目中设置了 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 A和Field 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".