use*_*763 17 javascript google-analytics google-tag-manager google-analytics-4
我想以编程方式将自定义事件发送到新的 Google Analytics(分析),而不是先在 GTM 中定义它。
我正在使用 Google 跟踪代码管理器,根据这篇文章: https ://developers.google.com/analytics/devguides/collection/ga4/translate-events
这只能通过在 GTM 本身中定义事件来实现。我不能这样做,并且想继续使用旧方法执行此操作,您可以这样做:
if ("ga" in window) {
var tracker = ga.getAll()[0];
if (tracker) {
tracker.send("event", eventCategory, eventAction);
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用 JavaScript 和新的 Google Analytics (GA4) 来实现这种效果?
window.gtag未定义,因为我使用 GTM,并且window.ga未定义,因为我使用 GA4。GTM 中配置的唯一标签是“Google Analytics:GA4 配置”。
另一种方法(特别是如果您使用 GTM 配置标记在您的网站上部署 GA4,因为 gtag 要求您使用部署的 gtag.js)是通过 GTM dataLayer:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'aSpecificEventName',
'form_type_DL': 'contact_us'
});
Run Code Online (Sandbox Code Playgroud)
然后在 GTM 中配置一个新变量'form_type_DL',根据自定义事件配置一个新触发器,将事件名称定义为(在我的例子中)'aSpecificEventName',最后在 GTM 中设置一个新的 GA4 事件标记,并使用最近创建的新触发器发送该事件name 和 event 参数如您所愿,例如参数之一可以是 form_type ,其值是{{form_type_DL}},通过我们的 dataLayer 推送发送的参数将包含'contact_us'.
因此,正确的步骤顺序是:
为了进一步了解我们所做的事情,如果我们仔细查看 gtag.js 代码,建议我们手动安装:
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XYZXYZXYZ"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XYZXYZXYZ');
</script>
Run Code Online (Sandbox Code Playgroud)
我们应该用来推送 GA4 事件的 gtag() 函数会执行 dataLayer.push(),因此这是一种简化/自动化我首先解释的过程的方法。
https://developers.google.com/analytics/devguides/collection/ga4/events?client_type=gtag https://support.google.com/tagmanager/answer/7582054?hl=en
您必须使用此语法(并且必须在页面中使用 gtag 片段):
gtag('event', 'login', {
'method': 'Google'
});
Run Code Online (Sandbox Code Playgroud)
https://developers.google.com/analytics/devguides/collection/ga4/events?client_type=gtag