更新时间:2026年6月9号
不少网站会使用第三方表单系统(如 Gravity Forms、Typeform 等),但并非所有第三方表单都支持通过 GTM 进行跟踪。Gravity Forms 的优势在于它原生提供了 JavaScript API,能够无缝对接 GTM 的数据层。
本文以官方示例页面 https://www.gravityforms.com/open-support-ticket/general/ 为参考,手把手教您完成从代码部署到 GA4 事件上报的全流程。
跟踪逻辑简介
Gravity Forms 在表单成功提交并显示确认消息时,会触发名为 gform_confirmation_loaded 的 JavaScript 事件。我们只需监听该事件,并将其转化为 GTM 可识别的 dataLayer.push,即可完成跟踪。
代码如下:
接下来看如何在GTM上设置
Step 1 :部署Gravity Forms监听代码(自定义 HTML)
在GTM中点击「代码」—「新建」—「选择一个代码类型以开始设置」——「自定义HTML」,做如下设置:

gform_confirmation_loaded 是 Gravity Forms 官方提供的标准事件,在 Ajax 提交成功或页面重定向刷新后触发,能够稳定捕获有效提交,自动过滤掉验证失败的请求。
Step 2 :设置表单提交触发器
既然我们在 dataLayer 中推送了 event: ‘gravityFormSubmission’,就需要在 GTM 中创建一个自定义事件触发器来捕获它。
在GTM中点击「触发器」—「新建」—「选择一个触发器类型以开始设置」——「自定义事件」,做如下设置:
Step 3 :设置GA4 事件代码
现在将捕获到的表单提交数据发送到GA4。
在GTM中点击「代码」—「新建」—「选择一个代码类型以开始设置」——「Google Analytics(分析):GA4 事件」,做如下设置:
注意:如需要区分,请自行设置事件参数。
Step 4 :预览调试
在 GTM 中点击「预览」进入 Tag Assistant 调试模式
- 先不输入内容,直接点击提交,这时候应该不触发。
- 然后输入内容,点击提交,提交成功,应该是触发。
常见问题排查
- 事件未触发:检查主题中是否存在 jQuery 冲突,建议将监听代码放在页脚(
</body>前),或使用setTimeout延迟 1-2 秒再绑定事件,确保 Gravity Forms 脚本已完全加载。 - form_id 显示 unknown:说明
e.detail.formId在当前版本中不可用,可改用e.target.id或直接解析 URL 参数,亦可在代码中固定赋值并逐一区分。 - 重复触发:如表单支持 Ajax 且设置了重定向,
gform_confirmation_loaded可能触发两次,可在dataLayer.push前添加防重逻辑(如使用一个全局标志位)。
如果您使用的是自己开发的自建表单,或者需要跟踪其他不支持原生 dataLayer 的第三方工具,可参考以下通用实现思路:Google Analytics 4 上做表单提交跟踪
