行业观察

行业观察|73% 的访客从微信进来,
报表里 98% 却记成「直接访问」:渠道口径已经不能用来做决定

我们把官网上 252 位外部真人访客的来路核了一遍:184 位(73.0%)在微信内置浏览器里打开页面,而这 184 位里有 181 位(98.4%)的 referrer 是空的——在多数统计工具里,他们会被统一记成「直接访问」。同窗口来自百度的只有 6 位、谷歌 2 位。这不是我们的站特别,是微信内置浏览器的结构性行为,所以这篇写的是行业共性问题,只是用我们自己的数据把量级算出来了。

浩瀚数据晟财 · 行业观察 发布于 2026-10-18 更新于 2026-10-25 阅读约 6 分钟

先说结论:渠道来源这个字段不能用来做决定了

这一篇讲一个做投放、做内容、看报表的人都会撞上、但很少有人正面处理的问题:渠道来源(referrer)这个字段,在国内企业站上已经大面积失效。

先说结论:我们把官网上 252 位外部真人访客的来路核了一遍,184 位(73.0%)是在微信内置浏览器里打开页面的;而这 184 位里有 181 位(98.4%)的 referrer 是空的——在多数统计工具里,这批人会被统一记成「直接访问」。也就是说,报表里那一列「直接访问」,在我们的站上约等于「从微信里点进来」。同一个统计窗口里,来自百度的访客只有 6 位、谷歌 2 位,合计 占 3.2%。

需要先讲清楚:这不是我们的站特别,而是微信内置浏览器的结构性行为。所以这篇写的是行业共性问题,只是我们恰好有自建埋点、能把它算成具体数字。凡是按「渠道来源」分配预算、评价内容效果、判断该不该加大搜索投入的团队,都该先过一遍这一关——因为这个字段缺的不是 5%,是 90% 以上。

指标数值它意味着什么
外部真人访客(按身份去重)252 位全文的分母
其中用微信内置浏览器打开184 位(73.0%)真实主入口
其中 referrer 为空181 位(98.4%)会被统计工具记成「直接访问」
来路明确指向公众号的3 位(1.6%)剩下的 1.6% 才是"能被看见"的微信来客
搜索引擎来路合计8 位(3.2%)百度 6 位、谷歌 2 位

口径先说清楚,全文数字都能按同一口径复算:统计窗口 2026-09-18 至 2026-10-18;数据来自官网自建埋点库的行为事件表;剔除自家 IP 段与程序化访问(含爬虫、自动化脚本、无头浏览器);访客按身份去重,同一人多次打开算 1 位;「微信内」按浏览器标识含微信内置浏览器特征识别;「来路」取该访客首个事件的 referrer 字段。全文比例的分母是 252 位外部真人访客,超过我们内部定的报比例门槛(到达数 100 以上);涉及不足 100 位的分组,只报绝对数,比例仅作方向参考。

三个数:184 位在微信里,181 位「没有来路」

把 252 位访客按「打开时用的浏览器环境」切成两群,再把各自的 referrer 摊开,问题的形状就出来了:

对照项微信内置浏览器微信外(普通浏览器等)
访客数184 位68 位
其中 referrer 为空181 位(98.4%)58 位
其中来路可识别3 位10 位
读过至少一篇文章48 位12 位
在站内看过第二个页面43 位16 位
发生过转化类动作2 位4 位

看第一、二行就够了:微信内的 184 位里,181 位没有来路;微信外的 68 位里,58 位也没有来路。这意味着「直接访问」这一列其实是个混合池——里面既有从公众号点进来的读者,也有自己输网址、从书签、从别人私聊转发的链接进来的人。而这两种人的运营含义完全不同:前者是你推送带来的(你停了就没有),后者是主动找你(说明品牌有沉淀)。合在一列里,两种判断都会出错。

按事件级看,缺口更极端:微信浏览器的 358 条行为事件里,referrer 含微信域名的只有 3 条,占 0.8%。也就是说,即便个别请求带了来路,也不足以支撑归因——缺失不是零星的噪声,是系统性的空白。

为什么会没有来路:不是统计工具坏了

这里必须把「我们看到的」和「我们推断的」分开写,避免把一个现象讲成一条定律。

  • 现象(一手,可复算):在上述窗口内,微信内置浏览器访客的 referrer 空值率 98.4%;事件级 99.2% 不带微信域名来路。这是我们自己埋点库里查出来的,同一条件任何人都能复算。
  • 机制解释(行业普遍现象,建议自行验证):微信内置浏览器在打开外部链接时,对 Referer 的传递并不可靠——多数情况下不携带,或只携带极简信息;同时站点自身若启用了较严格的 referrer 策略(如 strict-origin-when-cross-origin 或 no-referrer),跨域时也会进一步削减。两者叠加,微信场景下的 referrer 归因天然缺一大块。我们不对第三方产品的具体实现做断言,只陈述我们观测到的结果与常见解释。
  • 推论(对决策有意义的那一层):既然缺口是结构性的,那么任何以 referrer 为唯一输入的报告都不可信——不是"精度差一点",而是"主要来源整个不见了"。

怎么在 5 分钟内验证自己是不是同样情况?不用换统计工具,加一段埋点就够:

  1. 在每个页面加载时,把 navigator.userAgent 与 document.referrer 同时记下来(只记 referrer 是大多数统计工具的默认做法,也正是问题所在)。
  2. 连跑 3 天,按「UA 是否含 MicroMessenger」分两群。
  3. 比较两群里「referrer 为空」的占比。如果微信那群超过 90%,你的站和我们是同一个情况,接下来任何按渠道做的结论都要重算。

我们自己的埋点还多记了两件事,这也是后面能换口径的前提:访客身份(同一人跨会话可合并)与落地页路径。没有这两样,即使知道「他在微信里」,你也不知道他从哪一篇、哪个页面进来。

后果一:预算会被导向搜索

把 252 位访客按「统计工具会怎么归类」摆一遍,就能看到报表长什么样:

统计工具里的渠道访客数占比真实构成(按 UA 与来源拆开)
直接访问239 位94.8%微信内 181 位 + 普通浏览器无来路 58 位
百度自然搜索6 位2.4%www 5 位 + 移动端 1 位
谷歌自然搜索2 位0.8%—
公众号(能识别出的)3 位1.2%其余 181 位已被并入"直接访问"
站内跳转1 位0.4%—
其它外链1 位0.4%—

这张表会推出两个都很危险、但方向相反的结论:

  • 误判一:「搜索几乎没量,得加大投入。」看到自然搜索只有 3.2%,很自然的反应是买关键词、做 SEO、投信息流。但如果 73% 的真实来源是微信,你花在搜索上的钱是在抢那 3% 的池子,而真正的池子没被看见。
  • 误判二:「94.8% 是直接访问,说明品牌很强。」这更常见。把微信推送带来的读者记成"主动找上门",会让团队误以为品牌已经形成自传播,从而减少推送频次——而下面第 6 节的数据会说明,那恰恰是唯一在持续供给的渠道。

这两个误判的共同点是:它们都建立在一个 98% 空白的字段上,却都以精确的百分比呈现。报表本身不会提醒你「这一列不可用」。

后果二:微信里的读者更愿意读长文,但报表看不见

第二个被口径掩盖的事实,是两群人的行为差异。微信内的读者更愿意点开文章,却更不愿意做动作:

行为微信内(184 位)微信外(68 位)读法
读过至少一篇文章48 位(26.1%)12 位(17.6%)微信内读者更愿意读长文
看过站内第二个页面43 位(23.4%)16 位(23.5%)两群几乎一致——都不是"逛网站"的心智
发生过转化类动作2 位4 位主动搜索来的更愿意动
开始答成熟度自测题2 位1 位绝对数极小,只作方向参考

注意第二行:两群的「站内第二页」比例几乎完全一样(23.4% vs 23.5%)。这个巧合很有价值——它说明「读完就走」不是微信带来的习惯,而是所有人在企业官网上的一致行为:他们来是为了解决一个具体问题,不是来逛的。这和我们前几期的结论是同一条:需要读者做的下一步,必须写在他正在读的那一页里,不能指望他点导航。

而在 referrer 归因下,这 48 位真实读者里有 47 位会被算进「直接访问」——于是"内容有没有人读"这个问题,在报表上永远得不到答案。这是我们见过的、内容团队最普遍的挫败感来源:明明写了、也发了,数据却一片空白。

统计边界说明:微信外这一组只有 68 位,低于我们内部报比例的门槛(100 位),所以上表右列的比例仅用于判断方向,不作为精确指标引用;两组之间的差异是否稳定,还需要更长窗口复算。

后果三:停止推送,微信内 4 天归零

第三个事实来自一个意外:10-16 到 10-18 这三天,我们的公众号没有新的图文发出(草稿建好了,但没人点"发表")。这三天正好成了一个天然实验:

日期外部访客其中当天首访且在微信内
10-116 位2 位
10-1214 位6 位
10-1311 位3 位
10-142 位1 位
10-151 位0 位
10-168 位0 位
10-176 位0 位
10-184 位0 位

再补一个更硬的对照:10-16 我们做上一期盘点时,外部访客是 237 位、微信内 184 位;到 10-18 变成 252 位、微信内还是 184 位。两天里新增了 15 位访客,微信内一位都没加——新增全部来自微信外(浏览器直访与零星搜索)。

结论很直白:我们的流量是「推送型」,不是「检索型」。发一篇,来一批;不发,归零。这不是微信的问题,而是所有生态内分发的共同特征——它不给你搜索式的长尾,它只给你当期曝光。认清这一点之后,运营动作会变得非常具体:

  • 草稿不等于发布。我们过去的流程停在「双号草稿已建」,但读者看不到草稿。这一步必须由人点"发表",且要写进上线检查项——这是我们在这一轮里实际改掉的一个流程漏洞。
  • 把"每周至少一篇真正发出"定成硬指标,而不是"每周至少写一篇"。写了不发,等于没写。
  • 停止用"站内自然流量"评估内容效果。在推送型结构里,站内自然流量本来就该接近零;用它评估,只会得出"内容没用"的错误结论。

换口径:UA + 落地路径 + 会话行为

问题定位清楚,改法也就清楚了:不要再把 referrer 当第一判据,用浏览器标识(UA)优先,referrer 只作补充。下面是我们已经在自己周报里执行的口径定义:

渠道判据(按优先级从高到低)本窗口读数
微信内UA 含微信内置浏览器标识(不看 referrer)184 位(73.0%)
搜索引擎referrer 域名为 baidu / google / bing / sogou 等8 位(3.2%)
站内跳转referrer 域名为本站1 位(0.4%)
浏览器直访 / 待定以上都不命中59 位(23.4%)

最后一列的四类相加正好是 252 位,不重不漏。关键是第一行的判据里没有 referrer——因为 UA 不会丢,而 referrer 会。同时要接受「待定」这一档存在:那 59 位里既有真正自己输网址来的,也有从私聊、朋友圈、邮件转发来的,目前无法再拆,就如实标"待定",不要硬塞进某一个渠道凑满 100%。

更进一步的第二层,是把渠道和落地页做成交叉表——这一层能直接指导页面改造。我们的读数是:数据能力页的 56 位首访访客,100% 来自微信内(微信外一位都没有);成熟度自测页 20 位、开发者页 20 位,同样高度集中在微信内。这意味着这些页面本质上是"公众号文章的落点",而不是"首页的分支",它们的第一屏应该按"我刚读完一篇文章,还想看看你们能做什么"来设计。

我们据此已经落地的三件事:①周报把「直接访问」拆成「微信内 / 浏览器直访与待定」两列,固定用同一支查询脚本复算;②增加「渠道 × 落地页」交叉表,任何页面改版前先看它的渠道构成;③停止把"直接访问占比"当品牌指标,改用「微信内读者数」和「微信内读者的下一步动作数」两个数并排看。

自查:10 分钟判断你的站是不是同样情况

这套检查不需要采购任何工具,只要你的站能加埋点(哪怕只是一段记录 UA 与 referrer 的脚本):

#动作判据
1每页同时记录 navigator.userAgent 与 document.referrer,连跑 3 天大多数统计工具默认只记后者,这正是盲区来源
2按 UA 是否含微信标识分两群微信群里 referrer 空值 > 90% → 你的渠道报表已经失效
3把报表的「直接访问」替换成「微信内 / 直访与待定」,重看最近 30 天的页面排名页面排位通常会大幅变化,这才是真实的内容落点分布

最后一句判断,也是这一篇唯一想讲的一件事:先修口径,再谈优化。口径没修好,所有 A/B 测试、投放复盘、内容评估都建立在沙子上——而且它们看起来都很科学,因为每个数字都有小数点。

顺带说清一个边界:这篇不是主张"别做搜索"。搜索和 GEO 依然要做,但顺序要改——先把已经在给你流量的那扇门(微信)接住,再去找新的门;而不是在看不见 73% 的情况下,把预算投向看得见的那 3%。

常见问题

referrer 为空,就一定是微信来的吗?

不一定,这正是不能用 referrer 反推渠道的原因。空值至少有四种来源:微信等内置浏览器不传、用户从书签或直接输入网址进入、隐私设置或浏览器插件屏蔽、以及从部分 App 内打开时被抹掉。所以在我们的口径里,判「微信内」只看浏览器标识,不看 referrer;而那 59 位既不命中微信、也没有可识别来路的访客,我们如实标为「浏览器直访 / 待定」,不硬塞进任何一个渠道。判断标准很简单:宁可留一档「不知道」,也不要用一个看起来完整的百分比掩盖掉 23% 的不确定性。

百度统计、Google Analytics 不是能自动识别微信流量吗?

能识别,但要看它识别的是什么。主流工具里的「渠道 / 来源」分组默认是按 referrer 与 UTM 归因的,微信场景下这两个输入都缺,于是流量落进「直接访问」;而「浏览器 / 设备」维度是按 UA 归因的,才认得出微信。这两套维度在报表里是两个不同的表,很多人只看渠道表,于是 73% 的真实来源就消失了。可执行的做法是:不要看渠道分组的默认结论,改为按「浏览器」维度筛选出微信,再看这个子集的页面、停留和转化。我们自己的做法是服务端直接记录 UA,两层都不依赖第三方归类。

252 位访客的样本量,结论站得住吗?

分两层看。第一层,「184 位里 181 位 referrer 为空」这条比例(98.4%)在机制上可解释,而且任何人都能在自己站上用 3 天数据复现,方向不会因样本变大而反转。第二层,微信内与微信外的行为差异(读过文章 26.1% vs 17.6%)就不是硬结论了——微信外只有 68 位,低于我们内部报比例的门槛,所以文中把它标注为方向参考、并只报绝对数。我们对自己的规矩是:分母不足 100 只报绝对数、不报比例;这条规矩写在我们每一篇数据类文章里,也包括这一篇。样本小不是问题,用小样本算精确比例才是问题。

那还要不要做搜索引擎优化和 GEO(让 AI 引擎能引用你)?

要做,但要改顺序和预期。本窗口内搜索引擎来路只有 8 位(3.2%),而微信内是 184 位(73.0%)——按投入产出排序,先接住已经在给你流量的渠道,再去找新的。同时要认清两件事:一是微信内流量属于「推送型」,发就有、停就归零,它不产生搜索式的长尾;二是国内 AI 引擎的答案池里有相当一部分来自生态内内容(比如公众号、视频号这类生态内信源),这意味着把同一篇内容发进对应生态,本身就是 GEO 的一部分,而不是"官网做好结构化数据就够了"。结论:搜索和 GEO 是第二优先级,不是可以不做,而是不该在看不见主渠道的情况下先做。

我们公司没有埋点系统,从哪一步开始?

从最小的一步开始:找一段能记录三件事的脚本——页面地址、浏览器标识(UA)、来源(referrer),一天能上线。跑满 3 天后做两个数的对比:微信群的空来路占比、以及各落地页的访客数与下一步动作数。这套最小方案不需要第三方工具、不需要预算,我们第一版埋点也是这样起步的。真正要注意的不是技术,而是纪律:一旦发现「直接访问」是混合池,就不要再拿它做汇报和决策依据,否则后面所有的优化动作都会追着一个不存在的目标跑。

宋运奎 — 浩瀚数据晟财创始人
宋运奎
浩瀚数据晟财 · 创始人 / CEO
原小米之家数据负责人国际数据和人工智能管理协会中国分会理事中国电子信息行业联合会数据治理专委会委员工信人才大模型应用创新与数据要素高级人才

原小米新零售小米之家数据负责人,主导搭建业内领先的智能数据体系;曾任金山软件核心数据产品负责人,主导研发业内最早的移动端数据产品 KBOSS 平台。专注 AI 场景化应用与企业数据资产化运营,本文由其主笔并负责内容审核。

RELATED · 相关阅读

继续往下看

生长日记

生长日记 4|六类文章写满一轮后,我们终于看清分发枢纽在哪:237 位访客里 184 位在微信里

六种内容类型我们轮完了一整轮。这一期是做一轮总账:237 位外部访客里 184 位(78%)来自微信内;内容中心列表页只有 9 位访客,而文章页有 58 位;读完文章的人里只有 3 位点过站内按钮。结论有点反直觉——枢纽不是内容中心,也不是官网内链,是微信。我们说清怎么算出来的、以及据此改了什么。

方法论

方法论|89% 的访客只看一屏就走:让页面留人的不是文案,是第一屏里的「下一步」

同一个站点、同一批访客来源,把页面按「第一屏有没有明确动作」分成两组,「只看一页就走」的比例差出 30 多个百分点:有闭环动作的自测页与长文是 50%–55%,只有「往下看」的数据页与服务页是 89%。数据能力页是全站访客最多的页面,80 次页面事件里却有 0 次点击。我们把承接页拆成三层——结论层、证据层、下一步层,并据此重做了数据能力页首屏。

你的报表,能分清「微信来的」和「搜来的」吗?

与其猜渠道,不如先把自己的位置测清楚。3 分钟做一遍 AI 成熟度自测:10 道题、一份五维雷达图,拿到的是一份可以直接拿去内部对话的判断依据——也顺便看看我们把「下一步」放在了页面哪个位置。

开始免费自测 看内容中心