统计代码与转化追踪部署
数据不准,后面的判断全是错的
装了统计代码,不等于有数据。常见的三种情况:代码装了两遍,访问量翻倍;表单提交没埋事件,只知道有人来不知道有没有询盘;广告平台和站内统计对不上,差了三四成。这一页讲清 GA4 与百度统计分别放在哪、事件和转化目标怎么配、GTM 容器怎么组织。
代码放在哪里
三种方式,各有代价
WordPress 没有唯一正确的装法,取决于你会不会改代码、以后要不要频繁调。三种方式的核心差别是:改动成本、出错概率、以及换主题时会不会丢。
写进子主题
在子主题的 functions.php 里挂 wp_head 钩子,优先级设成 1,让代码尽量靠前。换主题时只要换子主题,代码跟着走。缺点是每次加事件都要改代码,运营自己动不了。
- 必须用子主题,别改父主题
- 代码前加判断,避免后台也加载
用页眉页脚插件
在”插入页眉和页脚”这类插件的代码框里粘贴,不用碰文件。上手最快,适合只有一两个统计代码的站。缺点是代码和主题分离,换人接手时容易忘了这里还挂着东西。
- 只在前台加载,勾选对应选项
- 插件停用后代码即失效,做好记录
Google Tag Manager
页面里只放一段容器代码,其余标签都在 GTM 后台配置。加事件、改参数不用再动网站,适合投放多、平台多的站。代价是多一层依赖,调试要用预览模式。
- 容器代码放 head,noscript 放 body 开头
- 改完必须发布,草稿不生效
一个高频事故:插件里装了一次 GA4,主题代码里又写了一次,两个属性 ID 相同,导致每次访问被记两次,转化率被算成一半。用浏览器的标签检查工具看一眼,网络请求里出现两条 collect 请求基本就能确认。
两套代码,各管一段
并存不冲突,但别重复
做外贸的站基本要同时装 GA4 和百度统计:前者看海外流量与广告效果,后者看国内访问与百度来的词。两者互不干扰,可以放在同一位置。
GA4 的关键三行
先异步引入 gtag.js,地址里带测量 ID,形如 id=G-XXXXXXXXXX;然后初始化 dataLayer 数组;最后一行 gtag(‘config’, ‘G-XXXXXXXXXX’) 完成页面浏览上报。三行的顺序不能颠倒,配置行必须在最后。
- 测量 ID 在”管理 → 数据流”里找
- 开启增强测量,出站点击与文件下载自动记
百度统计的位置
代码形如 hm.baidu.com/hm.js 加一串 32 位标识,同样放在 head 末尾。它和 GA4 抢的是同一个位置,谁先加载影响不大,但都要在首屏渲染前完成,否则会漏掉跳出页面的访问。
- 标识在”管理 → 代码获取”里复制
- 开了 CDN 或缓存后要清一次缓存再验证
验证是否真的在工作
GA4 用”实时”报告,自己打开一个页面看有没有出现 1 个活跃用户。百度统计用”实时访客”,看得到来源与落地页。两个都看不到,先查缓存插件和 CDN 是否把 head 缓存成了旧版本。
别忽略国内访问
GA4 的资源在部分网络环境下加载慢,页面会等到超时才渲染后续脚本。如果国内访问是重要来源,把 GA4 改成异步加载并加超时处理,或者干脆用 GTM 延迟触发。
事件与转化目标
先定义”什么算一次成功”
GA4 里所有交互都是事件,只有被标记为”关键事件”的才进入转化报告。百度统计则用”转化设置”单独定义。两边口径要对齐,否则同一周的询盘数会对不上。
建议追踪的六个动作
- 表单提交成功,跳转感谢页
- 点击电话链接 tel:
- 点击 WhatsApp 或在线客服
- 下载 PDF 目录或规格书
- 查看报价页或价格区间
- 提交样品申请
命名要统一
事件名一律小写加下划线:form_submit、tel_click、file_download、quote_view。参数带上 form_name、page_type、industry,方便后面按页面类型或行业拆分。命名混乱三个月后就没人看得懂报表。
注意表单的实现方式
Contact Form 7、WPForms 这类插件多用 ajax 提交,页面不跳转,GA4 收不到”页面浏览”。要在提交成功的回调里手动推事件,或统一跳到感谢页再统计。这条不做,询盘数据会一直是零。
百度统计那边更简单:在”转化设置”里新建一个目标,类型选”访问 URL”,填感谢页地址;电话点击这类没有页面跳转的动作,用”事件转化”配合点击埋点。定义完之后,两边的”转化数”应该在同一量级,差一倍以上就说明有一边配错了。
GTM 容器的组织方式
命名规范比功能更重要
一个容器里放十几个标签很常见,半年后接手的人能不能看懂,全看当初怎么命名。下面这套规则是我们交付时的默认做法。
分三层结构
配置标签(GA4 配置、百度统计)只跑一次,放在所有页面;事件标签按动作分,各自挂触发器;转化标签单独一组,方便对照。不要把所有东西塞进一个自定义 HTML。
统一命名前缀
标签写成”GA4 – 事件 – 表单提交”,触发器写成”Click – tel 链接”,变量写成”DLV – form_name”。前缀标平台,中间标类型,后面标具体动作。搜索框一输就能筛出来。
表单提交用自定义监听
GTM 自带的表单触发器只认原生 submit 事件,遇到 ajax 表单不触发。做法是让开发在提交成功后 push 一个 dataLayer 事件,GTM 用”自定义事件”触发器接住,参数一起带过去。
改完先预览再发布
用预览模式打开站点,逐项点一遍按钮,看每个标签是否按预期触发、参数是否带上。确认无误再发布版本,并在版本说明里写清改了什么。线上出问题时,能一眼看出是哪次改动带来的。
三种部署方式对比
按团队情况选,不按潮流选
没有技术人员的站,选插件;有长期投放和多平台的,选 GTM;只装一两个代码、又不想多装插件的,写进子主题最干净。
| 方式 | 改动难度 | 换主题影响 | 适合场景 | 主要风险 |
|---|---|---|---|---|
| 子主题 functions.php | 需要开发 | 随子主题迁移,不受影响 | 代码少、追求干净 | 改错会白屏,需先备份 |
| 页眉页脚插件 | 最低,粘贴即可 | 插件在则代码在 | 无技术人员的中小站 | 插件停用或冲突时代码失效 |
| Google Tag Manager | 中等,需理解触发器 | 容器代码需重放一次 | 多平台投放、事件多 | 忘记发布,改动不生效 |
| GTM 加服务端容器 | 较高,需服务器 | 同上 | 对数据合规要求高的站 | 维护成本高,小站不划算 |
不管选哪种,上线后必须做一次端到端验证:从广告链接点进来,走完整个询盘流程,然后在后台确认这条记录能对上来源、关键词、落地页。只验证”代码加载成功”是不够的,加载成功但事件没触发的情况非常普遍。数据看板怎么搭,见WordPress 数据统计与分析。
统计部署常见五问
先看差异来源。GA4 默认按会话去重,百度统计按访客;两者对跳出、时长的定义也不同。差 20% 到 30% 属于正常,差一倍以上要查是不是有一边装了两次,或者某一边被缓存插件拦掉了。
页面缓存通常会把 head 一起缓存,代码本身仍在,正常上报。真正的问题出在页面级缓存把”感谢页”也缓存了,导致每次访问都算一次转化。感谢页、表单结果页要加进缓存排除列表。
面向欧盟访客的站需要,而且要真正做到”拒绝后不加载”。常见错误是横幅只是摆设,代码照旧在页面加载时执行。做法是在 GTM 里加同意模式控制,未同意前只发必要信号。具体条款建议请法务确认。
按三步走:先用浏览器开发者工具看提交时有没有发出事件请求;再看 GTM 预览里触发器有没有被触发;最后看 GA4 实时报告里事件有没有到达。多数问题卡在第一步——表单是 ajax 提交,根本没有页面跳转。
正常。广告平台按点击归因,窗口通常七到三十天;GA4 按会话归因,跨设备也做了模型估算。两边差 10% 到 20% 可以接受。差得离谱时,先检查像素有没有重复安装,再核对转化动作的定义是否一致。
报表上的询盘数
和邮箱里的对得上吗
提供站点地址与统计账号的只读权限,我们核对代码是否重复、事件是否漏埋、转化口径是否一致,并把 GA4 与百度统计的关键指标对齐成一张周报。相关阅读:落地页转化优化、WordPress 数据统计与分析。
电话/微信 13280692153 邮箱 web@wordpressx.com 地址 山东省淄博市张店区电子产业创新园 B 座