积分发出去一堆,用户还是不来第二次

用户签到 使用文档
用户签到 使用文档

积分体系最常见的死法:活动上线,发了一波积分,用户领完就走,因为积分没地方用,也没有理由天天来。

签到是成本最低的「每天来一次」的理由。这个模块把签到做成一条 7 天的周期:连着签,奖励递增,断了从头算。

规则是「每天一个区间」

后台「用户签到 → 奖励设置」里,是一张按天的表:第 1 天到第 7 天,再加一行「超过 7 天」。

每一行配两样东西,各自是一个区间:

  • 积分:最小值 ~ 最大值
  • 红包:最小值 ~ 最大值(发到账户余额)

签到的时候在这个区间里随机取一个数。填 0 或留空表示这一项不启用,两个可以同时配。

为什么给区间而不是固定值:用户签到之后看到「获得 18 积分」,和看到「获得 10 积分」的体感不一样。随机的小惊喜是签到留存的一部分,虽然期望值完全一样。

第 7 天之后怎么算:走「超过 7 天」那一行,不再递增。想做成「签得越久给得越多」,把第 7 天配高一点,之后维持住。

一个实际的配法参考:

天积分红包
15~10—
25~10—
310~15—
410~15—
515~20—
615~20—
730~500.5~1
超过 7 天10~15—

第 7 天给红包,是因为整周的门槛感最强的一天需要一点额外的理由。金额别大,一两块钱的刺激足够,量大了会被羊毛党盯上。

签到成功页:顶部红色卡片写着「签到成功」和「获得积分奖励 18 分 ¥19.65 红包」,下面是「明天再接再厉」按钮和签到说明入口,再往下是当月签到日历,已签的日期标红

签到任务

除了每日签到,还有一层「任务」:一次性任务、周期性任务,以及逻辑更复杂的。

每个任务是一个独立的提供者(MemberSignTaskProvider),后台能看到它的开关、标题、描述、图标,以及自己的积分和红包区间。开哪个、叫什么名字、给多少,都在这里配。

任务和签到的关系是:任务完成也算「今日已签」,或者反过来,签到之后顺便完成某些任务。具体行为看各个任务提供者的实现。装完之后后台「签到任务」那一栏里有什么,取决于站里装了哪些模块。

前台页面

/member_sign 是一个独立页面,结构很清晰:

  • 顶部一张大卡片,签之前显示「今日签到」按钮,签完变成「签到成功」和当天的奖励;
  • 中间是「明天再接再厉」和「签到说明」,说明里写规则;
  • 下面是一整个月的日历,已签的日期是红色圆点,没签的是灰字。

日历这个设计比「已连续签到 3 天」的文字更有用:用户一眼能看到自己这个月断了几天,断开的位置很清楚。断签的心理成本,往往比奖励的吸引力更能驱动连续行为。

页面上的文案有两项可配:「签到标题」(默认「签到有好礼」)和「签到副标题」(默认「每日签到领取奖励」)。默认文案能用,但换成跟站点业务相关的会好一点。

和积分体系的关系

签到发的积分,进的是会员模块的积分账户,流水里的备注是签到奖励。红包进的是余额,可以直接消费或提现(能不能提现看会员模块的配置)。

所以它必须装在 Member 之上。积分和余额这两个账户没配好,签到会出现「签到成功但积分没变」的情况。

几个要注意的地方

奖励要算总账。 一天 10 积分,一千个日活,一个月就是三十万积分。这些积分迟早要在站里被消费掉(兑换商品、解锁内容),换算成钱是多少,上线前算一遍。签到是最容易被刷的积分来源。

连续签到的判定在服务端。 换设备、清缓存都不该影响,但「当天」的边界要按服务器时区算。跨时区部署时确认一下时区配置,否则会出现「刚签完又能签」。

别把奖励设成必得大奖。 100% 有奖的活动,用户三天就腻;全空签,第二天就没人来了。区间随机的设计本身就是为了避免这两种极端。

和会员等级联动。 如果站里有 VIP 等级,可以给高等级用户配更高的签到奖励(这需要在会员侧做,不在签到模块里)。签到是留存工具,不是增长工具,别指望它拉新。

更新: 2026-11-13 18:07:16
QQ
微信
客服