我正在尝试在我的React网站上设置Google Analytics 4。之前我使用了react-ga,但这个库还不支持Google Analytics 4。因此我将GA4标签直接粘贴到index.html文件中,没有使用外部库。我需要添加哪些额外的代码才能使GA4与React路由器配合使用呢?
提前感谢!
我正在尝试在我的React网站上设置Google Analytics 4。之前我使用了react-ga,但这个库还不支持Google Analytics 4。因此我将GA4标签直接粘贴到index.html文件中,没有使用外部库。我需要添加哪些额外的代码才能使GA4与React路由器配合使用呢?
提前感谢!
gtag
。只需在您的index.html <head>
中放置全局站点标记代码即可。<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>
今天我也遇到了同样的问题,最终放弃使用react-ga包,并采取了另一种方法。我保存了react-ga演示代码中的withTracker.js部分,并进行了如下修改。
export default function withTracker(WrappedComponent, options = {}) {
const trackPage = (page) => {
window.gtag('send', 'page_view', {
page_location: window.location.href,
page_path: window.location.pathname
});
};
...
你应该能够停止使用react-ga,只需像Cameron提到的那样在index.html中插入全局脚本标记。请记住,您可能需要确保您的应用程序更新window.location和document.title以使GA4正常工作。
Google文档提到:
“当向分析发送页面视图时,默认使用页面参数值,除非进行修改。这意味着如果在事件被发送之前更新了window.location(例如通过History API)和document.title,则不需要修改page_title或page_location参数。”。
我有一个简单的单页应用程序,在每次渲染时更新标题和位置后才收到详细的页面查看数据。
背景:Google Analytics的属性有两种类型:通用分析(UA-xxxxxxxxx-x
),该属性将在2023.07.01结束生命周期,已被弃用,以及Google Analytics 4属性(G-xxxxxxxxxx
),该属性是其替代品。
最简单的入门方法是遵循Google的指南:在页面上包含gtag
并将其用作window.gtag
。此方法适用于新旧标签,并且甚至还通过@types/gtag.js
支持TypeScript。建议异步加载脚本。
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<!-- ... -->
<script
async
src="https://www.googletagmanager.com/gtag/js?id=G-xxxxxxxxxx" >
</script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-xxxxxxxxxx')
</script>
<!-- ... -->
</head>
<body>
<!-- ... -->
</body>
</html>
HashRouter
或锚链接时,导航将无法被跟踪。要完全控制页面视图跟踪,您可以禁用自动跟踪。详细解释请参见:React(或其他任何内容)上Google Analytics(UA&GA4)的终极指南
手动页面跟踪:https://dev59.com/E1sW5IYBdhLWcg3wi36j#63249329
您可以在 cra-typescript-starter 中看到此功能的运作,我还从环境变量中设置了标签。
不需要额外的代码,只需将该标签粘贴到index.html中,Google Analytics就会跟踪所有您的URL。