我为 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)中它已经消失了。