0

我为 Angular SPA 设置了 Google 全球站点标签。我想覆盖传递给 Google 的页面引荐来源网址。

用例:登录后(使用 oAuth2),用户被重定向到应用程序。此时,url 包含敏感的授权数据(授权码)。然后这个 url 会被记录到谷歌分析中,当然应该避免这种情况。

我将Angulartics2库与GST 提供程序一起使用,它在内部使用以下代码向 Google 发送页面跟踪事件(根据 Google关于 SPA 路由跟踪的文档):

gtag('config', trackingId, params);

通过包含以下行,我可以在查询参数中覆盖引用者 (dr):

params.page_referrer = 'https://my-custom-referrer.com';

索引.html:

<script async src="https://www.googletagmanager.com/gtag/js"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag() {
    dataLayer.push(arguments);
  }
  gtag('js', new Date());
</script>

跟踪页面浏览事件的代码:

gtag('config', 'G-XXXXXXXXXX', {
  page_location: 'http://localhost:4200',
  page_path: '',
  page_referrer: 'https://my-custom-referrer.com',
});

这会导致将以下请求发送到 google(注意 dr 属性,其中包含引用者):

在此处输入图像描述

如你看到的:

  • 查询字符串使用正确的引荐来源网址
  • 但是,请求负载仍然包含包含敏感数据的原始引荐来源网址

我尝试使用以下代码行设置页面引荐来源网址:

gtag('set', { page_referrer: 'https://my-custom-referrer.com' });

但这会导致相同的行为。

如何确保请求正文也使用覆盖的引荐来源网址?分析仪表板中曾经有一个设置来排除某些引荐来源网址,但在新版本(Google Analytics for properties)中它已经消失了。

4

2 回答 2

0

不是解决方案,而是解决方法。它将当前页面(不带路径或查询参数)推送到历史记录,然后谷歌将其用作页面引荐来源。至少它允许您将敏感信息排除在 Google Analytics 之外。

history.pushState({ page: 1 }, '', window.location.origin);
于 2021-01-26T15:27:25.230 回答
0

你检查过推荐排除列表吗?

通常,如果它重定向您的域以进行身份​​验证,您真的不想将其视为推荐,因为那样它将替换您的用户的真实获取数据。您想将其排除在外,以便会话保持不变。

此外,您说您使用的是谷歌标签管理器 (GTM),但您的代码和文档链接适用于 gtag.js,它不是 GTM。

referrer 在 GTM 中设置字段,您需要找到 GA 标签或 GA 设置标签,然后在“要设置的referrer字段”区域下,根据自己的喜好设置字段。像这样:

在此处输入图像描述

尽管要小心,如果您对所有内容都覆盖它,可能会出现数据准确性问题,因此您希望根据数据的来源有条件地覆盖它。

于 2021-01-25T16:34:45.993 回答