You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery绑定多表单gform_confirmation_loaded事件追踪Gravity Forms

解决多Gravity Forms表单的GTM追踪问题

你当前的事件监听代码本身就支持追踪所有表单,不需要额外为每个表单单独绑定事件,原因如下:

  • 你的代码是把gform_confirmation_loaded事件绑定在全局的document对象上,属于事件委托模式,不管页面上有多少个表单,只要表单提交后触发了这个事件并传入对应的formID,回调函数都会捕获到。
  • 回调函数里的formID参数会自动接收触发时传入的表单ID值(比如你测试的5或38),并将其推入dataLayer,GTM可以通过这个参数区分不同表单的提交行为。

若其他表单未触发追踪,排查方向:

  1. 确认表单提交方式:gform_confirmation_loaded事件仅在Gravity Forms使用AJAX提交时触发。如果某个表单是页面刷新式提交,这个事件不会执行,需要改用其他追踪方式(比如监听页面加载时的URL表单提交参数)。
  2. 检查动态表单加载情况:如果表单是通过JS动态渲染到页面的,你当前绑定在document上的监听逻辑依然有效,但要确保你的代码在DOM就绪后执行(你已经用jQuery(document).ready包裹,这一点没问题)。

代码优化建议(可选)

jQuery 1.7+版本推荐用on方法替代bind,写法更规范,功能一致:

jQuery(document).ready(function(){
    jQuery(document).on("gform_confirmation_loaded", function(event, formID){
        window.dataLayer = window.dataLayer || [];
        window.dataLayer.push({
            'event': "dn_form_submit",
            'formID': formID
        });
    });
});

GTM配置补充

在GTM中创建触发器时:

  • 选择「自定义事件」,事件名填dn_form_submit
  • 如果需要单独追踪特定表单,可添加触发条件:formID等于目标表单的ID(比如38)

内容的提问来源于stack exchange,提问作者Dinizworld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 17:13:33