企业微信活码统计怎么做?我用Go自建扫码计数器,跑通从扫码到进群的完整数据闭环

前言:企业微信活码统计只显示一半数据,扫码人数和流失详情官方后台看不到。本文拆解渠道活码的三条统计路径:原生后台、SCRM与自建方案,用Go服务加企微回调Webhook开发,记录扫码、进群与一周内退群数据,算出扫码转化率,并踩坑回调验证与企业认证等关键细节。

我给企业微信的二维码,装了个计数器

前两天跟一个做社群的朋友吃饭,他掏出手机给我看一张海报,健身房开业那种,右下角一个二维码,扫了进企微群领体验课。

他问我,你说这码贴出去俩月了,到底有多少人扫了?扫的人里,多少进群了?进群的人里,多少撑不过一个礼拜就退了?

我说你问企微后台啊。

他说后台就给我一个进群总数。扫了多少,不知道。退了多少,不知道。退的人是第几天退的,更不知道。

我当时筷子都没放下,跟他说这事儿有意思了,你等我两天,我给你扒一扒。

然后我真的花了一个周末,把这条链路从头到尾跑通了一遍。今天这篇,就讲讲我扒到了什么。

先说结论,企业微信的对外二维码,能统计,但官方只给你看一半。

这玩意儿在行话里叫活码。企微后台的「联系我」功能,可以给每个渠道单独生成一个二维码,官网一个,展会一个,海报一个,数据统计里能看到发起申请数和新增客户数。听着挺全对吧。

但你仔细品品,它统计的是走到企微服务器上的人。也就是扫了码、并且真的点了添加的人。

那些扫了一眼、觉得不对劲、默默退出去的人呢?

企微看不见他们。因为他们压根没走到企微的地盘上,扫完就散了,连个脚印都没留下。

可坦率的讲,这部分人恰恰是最值钱的数据。一千个人扫,一百个人加,和十个人扫,九个人加,是两张完全不同的海报。只看结果,你永远不知道你那张纸到底行不行。

贴出去的码,没人知道它经历了什么
贴出去的码,没人知道它经历了什么

那怎么办,我顺着往下扒,一共扒出三条路,一条比一条骚。

第一条路,原生后台。

免费,配置五分钟,适合完全不想折腾的人。但就像上面说的,扫码量是个黑盒,你只能看到漏斗的最底下一层。忍着用,可以,就是心里永远有个洞。

第二条路,上 SCRM。

LinkWeChat、MoChat 这些开源的,还有一堆商业的,都有「渠道活码」模块,扫码人数、新增人数、流失人数、自动打标签、自动发欢迎语,全给你封装好了。客户扫了「展会A」的码,系统自动给他贴上「2026深圳展会」的标签,再把产品 PDF 推过去,一气呵成。

听起来很美,但有两个坎。第一,你得部署一整套 Java 或者 PHP 系统,或者掏订阅费。第二,数据在别人手里,它给你看什么你就看什么。而且我扒资料的时候还看到一件挺离谱的事,2023年9月20号,企微把「客户群加入群聊」的第三方授权给关了,那之后新授权的商家,连无限群活码这种核心功能都用不了了。

平台说收回去就收回去,你一点脾气没有。

第三条路,自己干。

这也是我最后选的。倒不是它多省钱,是我单纯想知道,这事儿到底是怎么跑通的。

我用 Go 写了个百来行的小服务,SQLite 落库,Nginx 挂个 HTTPS,思路其实就两个动作。

第一个动作,在企微前面加一层「我」。

企微的原生二维码,用户一扫直达企微,中间没有任何人能截胡。那我不投企微的原生码,我自己生成一个普通链接,比如 qj.sbboy.com/api/scan?channel=poster_A,把它转成二维码印出去。

用户一扫,请求先打到我的服务器。SQLite 里 scan_count 加一。然后我的服务立刻返回一个 302 跳转,把人送到企微真实的活码链接上。

用户那边什么感觉?黑屏一闪,员工名片弹出来了。毫无感知。

但在我这边,他的脚印已经落库了。

黑屏一闪,数据已经落库
黑屏一闪,数据已经落库

第二个动作,让企微主动跟我汇报。

光知道多少人扫了还不够,得知道多少人真加了。企微的 API 里有个接口叫 add_contact_way,生成活码的时候可以塞一个自定义参数 state,比如 poster_A。然后在后台配置一个接收事件服务器,就是 Webhook。

之后每有一个人真的点了「添加到通讯录」,企微就会往我的接口推一条加密的 XML,里面带着 change_external_contact 和 add_external_contact,解开,取出 State 字段,poster_A,add_count 加一。

加群是同一套逻辑,事件换了个名字,叫 change_external_chat。UpdateDetail 是 add_member,进群一个。是 del_member,退群一个。进群的时候记一个时间,退群的时候记一个时间,SQL 里一句 where,退群时间减进群时间小于等于七天,一周内退群名单,连人带时间,直接拉出来。

你敢信???困扰我朋友仨月的问题,答案就是两条 UPDATE 语句。

两个数字一除,扫码转化率,躺在那了。

跑通闭环那一刻是真的爽。我用微信扫自己印的那张码,黑屏一闪,名片页出来。回数据库一查,scan_count,1。点添加,add_count,1。从一张纸上的黑白方块,到我 SQLite 里的两个数字,整条链路在我眼皮底下走了一遍。

当然,坑也是一个没少踩,愚钝如我。

第一个坑,回调验证。企微后台保存回调配置的时候,会先发一个 GET 请求,带一个 echostr,你得解密之后原样吐回去,验证通过才能保存。我第一版没处理这个,对着「URL验证失败」五个字,愣了得有十分钟。

第二个坑,POST 回调必须返回 success,就这七个字母,少一个都不行。不返回,企微就认为你没收到,开始不停重试,你的日志会被它刷到亲妈都不认识。

第三个坑,Secret 藏得深。路径是客户与上下游、客户联系、拉到最底下,有个 API 模块。而且它不在网页上明文给你,要点「获取」,然后 Secret 通过企微手机 App 推送给你。我第一次找的时候在后台翻了半天,一度怀疑是不是自己帐号没这个权限,= =

第四个坑,也是最大的一个,认证墙。

未认证的企微,客户联系相关的 API 是直接封掉的,你走到那一步点「查看 Secret」,弹窗直接拦你,提示需完成企业认证。而且未认证企微的外部联系人规模上限也就一两百人,根本没法正经投放。

认证,一年三百块。如果你的主体下已经有认证过的公众号,可以走授权快捷认证,这三百还能免掉。

怎么说呢,这三百块买的不是功能,是一张门票。

漏斗的每一层,都得自己搭
漏斗的每一层,都得自己搭

顺着认证这事再聊聊,我还扒到一个时间点。2023年12月1号起,企微不再给新企业提供基础应用的 Secret,客户联系这块得走自建应用的授权。也就是说网上很多两年前的教程,今天照着做,第一步就会卡住。

写到这里我一直在想我朋友会怎么骂我。你就发个二维码拉个群,至于搞一套服务器、写回调、解 XML 吗?

我非常理解这种感觉。你不是程序员,不需要维护什么回调接口。你就是开个店、办个活动、拉个社群的,你只想知道有多少人来了。那你就别碰方案三,要么用原生后台忍着,要么花点钱上 SCRM,三百认证费加一年订阅,比自己写代码省心多了。

自己搭,只适合两种人。一种本来就有服务器和技术底子,一种跟我一样,单纯想知道这事儿到底怎么转的。

对了,跑通之后我还盯着后台发了一会儿呆。

有一条渠道,scan_count 是 3,add_count 是 0。

三个人扫了,三个人都没加。我盯着这行数据想,这三个人里,可能有一个是展会现场人挤人,扫完还没看清就被人流带走了。有一个可能是扫完发现要加企微,犹豫了一下,退了。还有一个,可能就是单纯手滑。

以前这些人是「没转化」。现在他们是三个人,三个具体的、在某个下午掏出手机又放回去的人。

数据这个东西,粗看是报表,细看全是人。

一百年前,费城有个百货商店老板叫沃纳梅克,说过一句被广告圈念叨到现在的话,我在广告上的投资有一半被浪费掉了,可我不知道是哪一半。

这句话在报纸时代无解,在电视时代无解。到了二维码时代,它终于有解了。你贴出去的每一个二维码,都可以是一台计数器。

只是大部分人不知道,计数器,要自己装。

回到开头那个朋友。我把整套方案发给他,他回了三个字,太麻烦。

行吧。我说那你至少把认证交了,用原生后台,好歹看一半的数据。他说好。

昨天他又给我发消息,说海报重新印了,这回码后面挂上了他自己的跳转链接。我说你小子悟了。

你贴出去的从来不是一个二维码,是一台没插电的计数器。

现在,你知道电闸在哪了。

/ 注意,本项目仅在 SyncMein 的500人小群分享。
/ 谢谢你看完了我的文章,我们下次再见吧。
/ 作者:明察
/ 投稿或爆料,请联系邮箱:mingcha@gqmg.com

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容