做活动发码,最怕两种情况:一个人反复扫同一个码,或者有人把码截图扔进羊毛群,几百人涌进来把名额薅光。活码限制扫码次数,核心要设两个维度——总次数上限和单人次数限制,缺一个都会留漏洞。下面直接说操作步骤,以及几个容易踩的坑。
先确认你用的码是不是活码
普通静态二维码印出来规则就定死了,后台改不了任何东西。只有活码才能在后台随时调整限制规则——码的物理外观不变,规则实时生效。如果你不确定自己用的是哪种,去看一下管理后台:能改跳转目标的就是活码,不能改的就是静态码。
另外要确认你的平台是否同时支持”总次数上限”和”单人限扫”。这是两个独立功能,不是同一个开关。只有总次数、没有单人限制,防不住同一个人反复扫;只有单人限制、没有总次数,控不住整体名额消耗。两个都要有。
具体操作步骤
第一步:进入编辑页,先配好跳转目标
找到对应活动的活码,进入编辑页。如果是新建,先把跳转目标(微信号、群链接、小程序链接等)配置好,再去处理限制规则。顺序反了容易漏设,这个细节别忽视。
第二步:找”扫码规则”或”访问限制”模块
不同平台叫法不一样,有的叫”访问控制”,有的叫”扫码上限”。要找的核心参数只有两个:总扫码次数上限和单用户扫码次数。
第三步:设置总次数上限
按活动名额填数字。100个名额就填100,不建议留余量——后面会说为什么。
第四步:设置单人扫码次数限制(这步最容易被跳过)
把单人限制设为1次。这一步是防薅羊毛最核心的设置。同一个微信账号扫第二次,不会再触发领取流程。如果你的活动是”每天可以领一次”,才改成对应的数字,不是所有场景都无脑设1。
第五步:配置超限后的提示页
总次数达到上限后,用户扫码不能看到404或空白页,要有明确提示。一句话就够,比如:“本次活动名额已满,关注我们获取下期活动通知。”——既告知了结果,也给了一个继续触达的入口,别浪费这个位置。
第六步:设置有效时间段
活动结束时间设好,码到时间自动失效,不用手动下线。时间维度和次数维度叠加,防护更稳。
第七步:上线前测试完整流程
用自己微信扫一次,确认跳转正常;换另一个微信账号再扫一次,确认单人限制触发;把总次数临时调到1,测试超限提示页是否正确显示,验证完再改回正式数字。整个测试五分钟之内能完成,别省这一步。
一个真实踩坑案例
某亲子教育机构线下搞体验课报名,活码印在易拉宝上,设了50个名额,只设了总次数上限,没有设单人限制。活动开始两小时,后台扫码量到了320次,但实际报名只有41人。
问题出在两处:一是有家长扫了之后跳转到填表链接,以为没成功,反复扫了七八次;二是有人把码截图发到班级群,几十个家长都扫了一遍,真正愿意来的没几个,但名额消耗量已经很大。
后来的处理:单人限制改为1次,超限提示页加了一句”您已成功提交,我们会在24小时内联系您”,解决了反复扫的问题。易拉宝上的码换成新码,旧码直接在后台关闭。整个操作不超过10分钟,易拉宝不用重新印——活码物理外观没变,只是后台规则更新了。
总次数要不要留余量?
100个名额,设100还是110?建议卡死在100。留余量看起来保险,实际上你没法控制多出来的那10个人是否真的能兑现。超发名额后无法兑现带来的投诉,比让第101个人看到”已满”提示代价大得多。用户对”名额已满”的接受度,远高于”承诺没兑现”的愤怒。
一个必须知道的技术限制
单人限制的识别依据是微信OpenID,不是手机号或姓名。同一个人用两个微信号扫,系统会识别为两个不同用户,限制不会生效。这个漏洞靠扫码限制本身很难彻底堵死,但可以在后续承接环节加一层验证——比如加好友后要求填写手机号,后台做去重处理。
扫码次数限制能解决80%的普通重复行为,剩下有意薅羊毛的,靠人工审核兜底。不要指望单靠这一个功能万无一失。
上线前检查清单
- 总次数上限已填写,数字与活动名额一致
- 单人扫码次数已设为1(或符合业务需要的数字)
- 超限提示页文案已配置,内容清晰且有后续引导
- 有效时间段已设置,结束时间与活动一致
- 已用至少两个不同微信账号完成全流程测试
如果你现在用的工具没有这些功能
如果后台看不到单人限制选项,或者扫码记录无法导出(看不到数据就没法判断有没有被薅),可以了解一下码云活码——支持总次数、单人次数、时间段的组合控制,扫码记录可以导出,方便活动结束后核查真实参与情况。

