如何使用新的 Google Analytics 4 (gtag.js) 跟踪和发送自定义事件?

Mar*_*zzo 18 javascript google-analytics google-analytics-4

我有一个旧网站,使用的是过去十年的旧 Google Analytics(分析)代码,我需要使用新 GA4 的帮助。

旧代码 (2016)

要将自定义事件和综合浏览量发送到 Google,我将使用ga()<script>代码片段中的全局函数:

// Event
ga('send', 'event', {
    eventAction: 'click',
    eventCategory: 'social',
    eventLabel: 'twitter'
});

// Pageview
ga('send', {
    hitType: 'pageview',
    page: 'Video page',
    title: 'Intro video'
});
Run Code Online (Sandbox Code Playgroud)

新准则 (2022)

Google Analytics 表示所有旧属性将于 2023 年 7 月 1 日停止工作,因此我们需要切换到新的 Google Analytics 4 属性,<script>标头中的代码段发生了一些变化,现在它创建gtag()

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=X-XXX123456"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'X-XXX123456');
</script>
Run Code Online (Sandbox Code Playgroud)

但当我尝试像以前一样使用时gtag("send"),似乎没有任何内容再传输到谷歌。我尝试查找它,但所有教程/文章仍然演示旧方法。如何使用新 GA4 发送自定义事件?

Mar*_*zzo 29

"send"推荐的名称是"event" 官方文档,而不是使用。此外,推荐的参数应使用下划线,例如event_category

// Send custom event
gtag("event", "click", {
    "event_category": "social",
    "event_label": "twitter"
});

// Pageview event
gtag('event', 'page_view', {
    "page_title": "landing-page",
});
Run Code Online (Sandbox Code Playgroud)

如果您手动发送自定义综合浏览量,请确保在登陆时禁用初始综合浏览量,以避免计数两次,如“手动综合浏览量”部分中所述,通过添加send_page_view: false到标头中的初始配置调用<script>

gtag('config', 'TAG_ID', {
    send_page_view: false
});
Run Code Online (Sandbox Code Playgroud)

collect您可以通过打开“网络”选项卡并查看每个网络请求的负载来检查是否正在本地发送某些内容:

在此输入图像描述

资料来源:


小智 7

这是使用 GA4 发送事件的语法:

gtag('event', <action>, {
  'event_category': <category>,
  'event_label': <label>,
  'value': <value>
});
Run Code Online (Sandbox Code Playgroud)

在这里您可以查看事件的文档。

或者,如果您想测试命中以及事件是否使用哪些数据发送,您可以使用Google Tag Assistant进行查看。

  • 这看起来工作正常,但是你如何在 GA4 中看到 event_category 和 event_label 呢?似乎只有动作名称随处可见。 (2认同)