阻止 gtag / 全局站点代码跟踪初始页面加载
Prevent gtag / global site tag from tracking initial page load
我们有一个使用 Gtag(全局站点标签)的单页应用程序,我们手动管理页面跟踪以提供我们要跟踪的正确页面名称。所以我们调用
gtag('config', gaPropertyId, gtagPageConfig)
每次都有路线变化。
这意味着我们不希望 gtag 自动为我们跟踪页面,因为我们目前正在对所有初始页面进行两次跟踪。第一次是当 gtag 通过发送浏览器标题和 URL 自动触发页面跟踪时,第二次是当我们从代码触发页面视图时,为我们提供的页面标题希望在 Google 分析中看到。
经过大量的研究和调试,我将其缩小到设置屏幕,其中“页面加载”被选中,并且无法禁用,请参见此图:
我们像这样加载我们的脚本:
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-xxx-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-xxx', { 'send_page_view': false });
</script>
当我删除行 gtag('js', new Date());
时,它不再跟踪该页面,但这可能会导致一些不需要的行为。
我们有没有办法阻止初始页面加载跟踪?我到处搜索,但找不到解决方案。
有关衡量综合浏览量的文档:
To disable the default pageview hit, set the send_page_view parameter to false in the gtag.js snippet.
gtag('config', 'GA_MEASUREMENT_ID', {
send_page_view: false
});
https://developers.google.com/analytics/devguides/collection/gtagjs/pages
简单地说,您不应该在不想向其发送任何数据的页面上包含那些字段 Google:
gtag('js', new Date());
gtag('config', 'G-xxx');
你的代码片段应该看起来像这样,没有日期和配置:
<script async src="https://www.googletagmanager.com/gtag/js?id=G-xxx"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}
发送数据
SPA(即 Vue、React 等)
如果您正在使用 SPA(即 Vue、React),您可以 运行 gtag
路由更新后的功能:
gtag('js', new Date());
gtag('config', 'G-xxx', { page: path: route.path, page_title: route.meta.title })
PHP
您可以有条件地显示日期和配置:
<?php if (/* suits my needs*/): ?>
gtag('js', new Date());
gtag('config', 'G-xxx');
<?php endif; ?>
我们有一个使用 Gtag(全局站点标签)的单页应用程序,我们手动管理页面跟踪以提供我们要跟踪的正确页面名称。所以我们调用
gtag('config', gaPropertyId, gtagPageConfig)
每次都有路线变化。
这意味着我们不希望 gtag 自动为我们跟踪页面,因为我们目前正在对所有初始页面进行两次跟踪。第一次是当 gtag 通过发送浏览器标题和 URL 自动触发页面跟踪时,第二次是当我们从代码触发页面视图时,为我们提供的页面标题希望在 Google 分析中看到。
经过大量的研究和调试,我将其缩小到设置屏幕,其中“页面加载”被选中,并且无法禁用,请参见此图:
我们像这样加载我们的脚本:
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-xxx-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-xxx', { 'send_page_view': false });
</script>
当我删除行 gtag('js', new Date());
时,它不再跟踪该页面,但这可能会导致一些不需要的行为。
我们有没有办法阻止初始页面加载跟踪?我到处搜索,但找不到解决方案。
有关衡量综合浏览量的文档:
To disable the default pageview hit, set the send_page_view parameter to false in the gtag.js snippet.
gtag('config', 'GA_MEASUREMENT_ID', {
send_page_view: false
});
https://developers.google.com/analytics/devguides/collection/gtagjs/pages
简单地说,您不应该在不想向其发送任何数据的页面上包含那些字段 Google:
gtag('js', new Date());
gtag('config', 'G-xxx');
你的代码片段应该看起来像这样,没有日期和配置:
<script async src="https://www.googletagmanager.com/gtag/js?id=G-xxx"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}
发送数据
SPA(即 Vue、React 等)
如果您正在使用 SPA(即 Vue、React),您可以 运行 gtag
路由更新后的功能:
gtag('js', new Date());
gtag('config', 'G-xxx', { page: path: route.path, page_title: route.meta.title })
PHP
您可以有条件地显示日期和配置:
<?php if (/* suits my needs*/): ?>
gtag('js', new Date());
gtag('config', 'G-xxx');
<?php endif; ?>