欢迎访问我的博客,有问题可以在任意文章底部留言评论

如何使用 gtag.js 在 GA4 中跟踪自定义事件

事件 Haran 10年前 (2017-01-24) 24558次浏览 4个评论

更新时间:2025年6月18号

如果网站直接在网页源代码中安装了 Google tag(gtag.js),而没有使用GTM,那么可以通过 gtag() 方法向GA4发送自定义事件。

这种方法通常被称为硬编码事件跟踪。

例如,当用户点击“下载报告”链接时,可以通过 JavaScript 发送一个 download_report 事件,并同时记录被点击的链接名称和URL。

不过,在添加代码之前,需要先确认网站使用的是哪种GA4部署方式。

GA4部署方式 推荐的事件跟踪方法
直接在网页中安装 gtag.js 使用 gtag() 发送事件
通过GTM安装GA4 使用GTM的GA4事件标签
同时安装GTM和独立的gtag.js 先检查现有架构,避免重复采集

如果GA4已经通过GTM部署,通常不建议再把事件代码直接写进网页。混合使用两种方法会增加维护难度,也可能导致同一个用户操作被重复发送。

gtag.js硬编码事件如何工作?

整个数据发送过程如下:

  • 用户在网页中点击目标链接;
  • JavaScript监听到点击行为;
  • gtag()向GA4发送事件和参数;
  • GA4收集并处理数据;
  • 自定义参数注册为自定义维度后,可用于报告和探索。

需要注意的是,点击事件只能证明用户点击了链接。

如果链接指向文件下载、表单提交或购买页面,点击并不能证明文件已经成功下载、表单已经提交或订单已经完成。需要根据实际业务结果选择更准确的触发条件。

开始之前:确认网站已经安装gtag.js

网站源代码中通常可以看到类似以下代码:

<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>

其中,G-XXXXXXXXXX是GA4网站数据流的衡量ID。

你可以打开网页,点击鼠标右键并选择「查看网页源代码」,然后搜索gtag/js或者搜索G-

如果代码由GTM注入,你在网页源代码中可能看到的是GTM-XXXXXXX。这种情况下,应优先通过GTM配置事件跟踪。

事件跟踪示例

下面通过一个完整示例介绍如何实现。

如何使用 gtag.js 在 GA4 中跟踪自定义事件

 

Step 1:确定事件名称和事件参数

GA4使用以下基本格式发送事件:

gtag('event', 'event_name', {
  parameter_name: 'parameter_value'
});

其中:

  • 第一个参数event表示发送事件;
  • 第二个参数是事件名称;
  • 第三个参数对象中包含事件参数及其值。

例如:

gtag('event', 'hard_code_event', {
  parameter1: 'GA4硬编码事件跟踪'
});

这个事件包含:

字段 示例值 作用
事件名称 hard_code_event 识别发生了什么行为
link_text GA4硬编码事件跟踪 记录被点击的链接文字

建议使用能够说明业务含义的参数名,不要使用parameter1、parameter2等难以理解的名称。

GA4目前允许每个事件携带最多25个事件参数,事件名称最长40个字符,参数名称最长40个字符。

Step 2:在网页中添加事件跟踪代码

将鼠标移动到需要跟踪的位置,点击鼠标右键——检查:

如何使用 gtag.js 在 GA4 中跟踪自定义事件

假设网页中需要跟踪的链接如下:

<span style="font-size: 12pt;"><a href="links">GA4硬编码事件跟踪</a></span>

可以在链接下方或网站的JavaScript文件中添加:

<a  href="links" onclick="gtag('event', 'hard_code_event ', { 'parameter1': 'GA4硬编码事件跟踪' });">GA4硬编码事件跟踪</a>

当用户点击链接时,代码会发送hard_code_event 事件。

 

Step 3:启用调试模式

事件代码添加完成后,不要马上等待正式报告。应该先确认浏览器是否真的向GA4发送了事件。

即使网站没有安装GTM,可以使用Google Analytics Debugger浏览器插件,或者通过浏览器开发者工具开启 Debug Mode,然后点击「GA4硬编码事件跟踪」,然后返回到GA4里,点击「配置」——「DebugView」:

 

如何使用 gtag.js 在 GA4 中跟踪自定义事件

如果配置正确,就可以在 DebugView 中看到hard_code_event事件,说明事件已经成功发送。

 

Step 4:注册事件参数

GA4能够收到事件参数,并不代表这个参数会自动成为报告中可以选择的维度。

如果希望在报告或探索中使用link_text,需要将它注册为事件范围的自定义维度。

在GA4中点击「管理」——「自定义设置」——「创建自定义维度」,然后做如下设置:

如何使用 gtag.js 在 GA4 中跟踪自定义事件

这里最重要的是,事件参数名称必须与代码完全一致,包括大小写。

 

Step 5:验证事件数据

正式报告通常需要等待一段时间才会出现数据,一般在 24~48 小时 内可见

在GA4中点击「报告」——「生命周期」——「互动度」——「事件」,可以在事件报告中找到事件“hard_code_event”:

如何使用 gtag.js 在 GA4 中跟踪自定义事件

硬编码事件跟踪的局限

使用gtag()发送事件本身并不复杂,但随着跟踪需求增加,硬编码方式会暴露出明显不足:

  • 每增加或修改一个事件都可能需要开发人员参与;
  • 修改代码后需要重新测试和发布网站;
  • 跟踪逻辑可能分散在不同页面和JavaScript文件中;
  • 事件名称和参数容易出现不一致;
  • 缺少GTM提供的工作区、版本记录和发布管理;
  • 营销或分析人员无法独立调整大部分跟踪规则;
  • 同时存在硬编码和GTM标签时,重复采集风险更高。

对于只有少量固定事件、已经直接部署gtag.js且不准备使用标签管理系统的网站,硬编码方式仍然可以使用。

但如果网站需要持续添加广告转化、电商、表单、视频或其他复杂事件,GTM通常更容易管理。

小结

使用gtag()跟踪GA4自定义事件的完整流程是:

  • 确认GA4通过gtag.js直接部署;
  • 设计具有明确含义的事件名称和参数;
  • 使用JavaScript监听真实的用户行为;
  • 通过DebugView和Network请求验证事件;
  • 将需要分析的参数注册为自定义维度;
  • 等待数据处理后在事件报告或探索中查看结果。

硬编码事件跟踪适合规模较小、变化不频繁的实现。如果网站已经使用GTM,建议继续通过GTM管理GA4事件,不要在没有检查现有部署的情况下混合两种跟踪方式


有疑问可以在底部留言
喜欢 (9)
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(4)个小伙伴在吐槽
  1. 请问大神gtag如何改呢
    ytkah2020-04-29 14:17 回复 Windows 10 | Chrome 81.0.4044.122
    • Haran
      参考页面硬编码的形式,直接在需要跟踪的位置添加事件跟踪代码
      GA小站2020-04-29 16:22 回复 Mac OS X | Chrome 81.0.4044.122
      • 可以举个例子吗
        ytkah2020-05-06 14:51 回复 Windows 10 | Chrome 81.0.4044.129
        • Haran
          https://www.ichdata.com/docs/ga-practice-guide/chap2/event-tracking
          GA小站2020-05-06 22:25 回复 Mac OS X | Chrome 81.0.4044.129