访客漏填邮箱,点了‘发送’,表单显示错误,GA4 却多出一条线索。问题通常出在触发条件:按钮被点过,不等于询盘已提交。应在表单插件返回成功时发送 generate_lead,再确认失败提交和刷新页面不会重复计数。
GA4 是 Google 的网站分析工具;GTM 是 Google Tag Manager,负责按条件发送分析事件。下面用 Contact Form 7(简称 CF7)表单和 GTM4WP 插件演示一条完整路线。其他表单插件的成功事件不同,不能照搬名称。generate_lead 是 Google 推荐的线索事件,表示发起询问,不代表销售已经认定它是有效商机。
表单成功提交后,只产生一条 GA4 事件,再去查对应的询盘消息。这三件事要能对上;只有报表数字上涨,还不能证明配置正确。
先确认表单能正常发送
在 WordPress 后台进入‘联系 → 联系表单’,找到要追踪的表单,记下编号和所在页面。下面假设编号是 123;设置时换成自己表单的真实编号。
打开前台表单,先留空一个必填项,点击发送。此时应出现校验提示,没有成功提示。再用不含客户信息的测试内容提交一次,观察成功提示,并检查能否找到对应邮件或发送记录。CF7 本身不保证保存后台提交条目;如果站点没有另装保存插件,就用已配置的发送日志或收件记录核对。
CF7 的成功事件表示插件完成了邮件发送流程,邮件进入收件箱还受投递环节影响。测试表单本身不能稳定成功时,先处理表单邮件送达问题,否则分析配置也难以判断。
还要确认当前站点已有正确的 GTM 容器和 GA4 Google 标签,并且容器代码出现在表单页面。已有 Site Kit 或其他安装方式时,先查GA4 基础安装,别再装一套重复标签。后面的操作需要 GTM 容器编辑权限和对应 GA4 属性权限。
在 GTM4WP 打开这张表单的事件
先到 WordPress 的‘插件 → 已安装插件’,确认 CF7 和 GTM4WP 都已启用。再进入‘设置 → Google Tag Manager’,确认插件配置里填的是当前站点的 GTM 容器 ID,通常以 GTM- 开头。如果容器代码已经由主题或其他插件安装,让维护者按现有安装方式设置 GTM4WP,保留一套容器代码,不要重复输出。
以下入口按 GTM4WP 2.0 及之后的官方说明:在上面的设置页打开 Contact Form 7 面板,启用集成并保存。1.x 版本通常在 Integration 标签中勾选 CF7 集成,界面和选项会不同。
2.0 的‘Submitted field values’决定向数据层放多少表单字段。这里选 None,保留表单编号等识别信息,不推送客户填写的姓名、邮箱或电话。数据层可以理解为网页给 GTM 的一组消息;消息出现后,还需要标签把指定信息发给 GA4。Google 也明确要求不要向 Analytics 发送可识别个人身份的信息。
本例使用 gtm4wp.contactForm7MailSent,它对应成功发送。不要选 gtm4wp.contactForm7Submitted 代替:后者在失败等结果下也可能出现。成功时这两个事件都会出现,如果两个都绑定线索标签,就可能记两笔。
‘Also push GA4 recommended events’可以另外推送推荐事件到数据层。本例使用上面的 MailSent 路线,先不启用这条额外路线,也不要为同一成功提交配置两套发送。
在 GTM 配好变量、触发器和标签
先在 GTM 工作区打开‘变量 → 用户定义的变量 → 新建’,变量类型选择‘数据层变量(Data Layer Variable)’。数据层变量名称填 formid,保存名称可写 DLV - formid。这里的 formid 来自 GTM4WP;它和 CF7 后台的表单编号对应。
进入 GTM 的‘触发器 → 新建’,选择‘自定义事件(Custom Event)’,事件名称填 gtm4wp.contactForm7MailSent。选择‘部分自定义事件’,添加条件:DLV - formid 等于 123。保存为‘联系表单123成功’。这样,同站另一张下载表单成功时,不会误记进这张询盘表单。
接着进入‘标签 → 新建’,选择‘Google Analytics:GA4 事件’,填当前网站数据流的衡量 ID,事件名称填 generate_lead。衡量 ID 要与已经安装的 Google 标签使用同一数据流,通常以 G- 开头;不要填 GTM 容器编号。
在‘事件参数’中新增一行:参数名称填 form_id,值选择刚才的 DLV - formid。触发器选择‘联系表单123成功’,保存标签。参数 form_id 用于分辨是哪张表单,不能把邮箱、电话或整个表单内容一并发送。标签类型、预览与发布入口可对照 Google 的 GA4 事件标签步骤。
预览时做三次操作,再发布
点 GTM 右上角‘预览(Preview)’,输入表单页面的完整地址并连接。Tag Assistant 会打开测试页面,左侧显示发生的事件;点击事件可以看哪些标签已触发。
在 GA4 打开‘管理 → 数据显示 → DebugView’,选择当前测试设备,点开 generate_lead 查看 form_id。GTM 预览可帮助开启当前设备的调试;更完整的入口与调试条件见 DebugView 官方说明。
依次完成下面三次操作,不要一次连续提交多笔:
- 留空必填项发送。页面报错,Tag Assistant 不应出现 MailSent,线索标签不应触发。
- 补全字段,成功发送一次。应出现一次 MailSent,该事件下线索标签触发一次,DebugView 收到一条
generate_lead,form_id是这张表单的编号。 - 刷新成功后的页面。没有重新受理表单,就不应新增一条线索事件。
第二步没有事件时,按顺序查:MailSent 有没有进入 Tag Assistant;标签有没有触发;GA4 有没有接收。如果前两处正常,检查衡量 ID、测试设备、调试状态、分析同意设置或浏览器拦截。未允许分析 Cookie 等隐私设置可能使 DebugView 看不到事件,不要改成按钮点击来补数。
第二步出现两条时,展开两次标签发送,找是否同时监听了 MailSent 和 Submitted,或插件、感谢页和 GTM 各发了一次。第三步也新增时,查是否另有按页面浏览触发的标签。修完后重新做这三次操作。
预览通过后,回 GTM 点‘提交(Submit)’,选择发布并创建版本,填写如‘联系表单成功计数’,再发布。预览中的未发布配置不会自动生效给全部访客。发布后再做一笔授权测试,确认实际页面使用当前容器版本。
需要在 GA4 的关键事件报告中看询盘时,打开‘管理 → 数据展示(Data display)→ 事件(Events)’,在‘近期事件(Recent events)’中找到已验证的 generate_lead,点旁边星标,标为关键事件。已经标好的保留;没权限就请管理员处理,找不到事件先查采集,不要重复新建事件。当前按钮见Google 标记步骤,特定表单关键事件说明可帮助理解为什么只统计这张表单。新标记只影响之后的数据,等报告更新后再看生效后的完整时段,不能期待补算过去的关键事件。
别把事件数当成有效商机数
同一笔测试应当能找到成功提示、一条 GA4 事件和对应询盘消息。GA4 有事件而表单没有成功,先修触发条件;表单成功但销售没收到邮件,查邮件投递;消息收到但内容是垃圾询盘,由销售或客户管理系统(CRM)另作判定。不能通过重命名浏览器事件,把它变成‘有效商机数’。Google 站长工具(GSC)的搜索查询也不能与每条提交建立原生的一对一对应。
如果本站使用成功后跳转的感谢页,需要限定这张表单,并有只在成功后生成、使用一次就失效的标识或等效条件。单纯打开 /thank-you/ 就发事件,会把直接访问和刷新也算进去。缺少一次性条件时,让维护者实现,或改用插件成功事件。
使用 WPForms 等其他插件时,按各自表单追踪说明找成功条件,再走同样的失败、成功、刷新检查。CF7 的事件名只适用于本例。
需要协助串起表单、GTM 和收件流程,可把表单插件、页面地址及三次测试结果提交给跨境YOUNG。
常见问题
GA4 没看到 form_submit,是不是无法追踪询盘?
可以追踪。通用 form_submit 不一定能准确识别异步表单,也不一定代表成功。先在 Tag Assistant 看本站插件的成功事件是否出现,再用它发送 generate_lead。失败不计、成功只计一次,才是这张表单需要的结果。
同一次提交在 GA4 里出现两条线索,先查哪里?
在 Tag Assistant 点开该次成功前后的事件,看有几次线索标签触发。优先查 MailSent 与 Submitted 是否都绑定、插件自带追踪是否另发,以及成功跳转的感谢页是否再发。保留一条成功路线,然后重做成功一次和刷新一次,分别应新增 1 和 0。
表单后台有提交记录,GA4 却没有线索事件怎么办?
先用对应时间和表单编号找到这次操作,在预览里依次查成功事件、GA4 标签和接收。没有成功事件,查插件集成;有事件但标签不触发,查编号条件;标签触发而 GA4 没收到,查数据流、调试、同意设置和拦截。每一层的处理不同,不要用点击计数覆盖故障。