一般来说,短信验证码这一块,很多产品经理都不会特别在意,简单几个东西处理下就够了,比如能有几个可以切换的优质短信通道,最多加一点自动路由策略,撑死特殊情况加一个语音验证码,用图形验证码加一下接口限制,到天了。毕竟这个东西,只要短信能正常发,监控下发送的情况,没有太大差异,万年都不会有啥变化。
昨天晚上十一点,有个小哥哥通过微信加了我,然后跟我聊起了这件事情,问我如何提升短信验证码的回填率。因为他们的产品是最终要通过运营商话费支付的,如果手机号码这里处理不好,后面转化率提升不上去,所以非常在乎这个东西,而且他们这个是基于H5的方式里做的,本身局限性就更大了(无法使用更加便捷的比如运营商提供的本机号码一键登录)。这是我之前也没有太在意的部分,毕竟一年的产品,手机号码对我们无非就是召回的一种方式,不太需要对登录这里做那么精细化的处理。突然问到我,还有一点点懵逼。
当我仔细想了想,其实这里还真是可以有很多很多可以提升的方面。从最开始用户输入手机号码到最后完成输入验证码提交成功,可以有太多提升的地方。
——进入到这个页面光标自动定位到手机输入框里,并唤起数字键盘,不可切换那种。
——前端手机号码格式校验。一般来说国内手机号码都是标准的1打头的,如果是国际产品,需要在号码前面给一个选择国家代码的地方。通常情况下大家给的都是比如+86什么的,但是最合理的方式,应该是在选择的页面,将+86数字和国家的国旗以及国家名称,甚至国家首字母快速定位导航仪器加进去,满足不同类型用户快速找到国家代码并完成。
——手机号码收入直接调起数字键盘,最好不能切换那种;
——手机号码和验证码输入框,再填写了以后最好有一个右侧的X,能够快速重新填写;
——将手机号码页面和验证码页面放在一个页面里,但分两个步骤呈现。一般大家设计的时候,会有两种方式,一种是一个页面两行,一行手机号码,一行验证码,旁边一个点击获取验证码的按钮。另一种就是一页输入手机号码,点击下一步(或自动处理)再跳转到验证码页面,自动发送验证码,用户输入后点击提交(或自动处理)完成注册。但是由于他这个是H5,那么面临的问题更加复杂:两个页面需要请求两次,用户等待时间变长;所以改为两个页面同时加载,省去分布加载还需要面对更复杂的网络环境和更长的等待。而短信验证码最好采用自动发送的策略。
——填写手机号码做一下本地缓存,h5用cookie的方式,app用本地缓存。
——缩短重复验证码的等待时间。好些短信验证码第二次点击时长甚至需要180秒等,如果不是强刚需产品,估计早就吓跑了。一般45-90秒比较好。
——做好报表监控,自动切换路由。比如监控接口调用和回填完成的比率,设置一个比例,低于某个值的时候自动切换,并报人工预警处理。
——缩短验证码的长度。很早以前见过数字加字母的验证码,简直要人命。后来开始用纯数字的,但即便是这样,我也发现出错率也挺高的,尤其是六位纯数字的,虽然人的短时间记忆是很好的,但毕竟中间要来回切换短信和app,加上只是匆匆看了一眼,可能就搞混了或者忘了,这对于用户体验就会差很多,那么四位纯数字就是更好的选择。
——数字验证码的规则。可能很多产品经理在这里都没有在意,说我直接用四位随机数字就好了嘛,这里有啥讲究的。不是的,毕竟现实生活中,靓号是非常好的一种商业模式,大家也更容易记得住那些666、888、1234之类的号码,所以这里怎么去处理这个就有一定的策略可以去优化。比如8888肯定好于1234好于8889好于8882,好于8890好于8808,好于8804好于8854等等,大家可以总结出来一堆规律出来,怎么方便用户记忆和输入,就怎么来。
那么一个问题来了,为啥很少见到XXXX模式的验证码,是不是这样的验证码不可行?其实也不是,但相对来说,风险确实更大,毕竟只有10种可能,给黑产提供了一定的便利。但也要看你怎么处理,比如数字键盘是特殊定制的,数字的排序不是完全固定的,甚至是机器无法识别的,那么这个成本就上来了,但对于一个正常人来说却不会,那么目的就达到了。
——语音验证码。在收不到短信验证码的时候,可以在一定的时间内接受用户点击语音验证码,效果也比单一的短信验证码要好很多。
——在可能的情况下,尽可能的延长验证码的有效期。如果运营商有些许的延迟,这也很正常,一般都是先进先出的策略,高峰期一定会有一定的延迟。这样也能降低一定的用户损失。
——验证码输入框不要用文本输入那种形式,最好用一个一个的方格区隔开,输入和未输入的情况做好去个,这样用户能够有比较明显的感知。
如果再往下拆,可能还有更多可以提升的细节,毕竟这么点儿东西,我们就已经探讨了十余个优化的方向,还没有牵扯到技术的细节,比如有一些技术在发短信这里用批量轮询模式去触发短信接口,那么就可以考虑增加轮询的频次来做到尽可能的实时发送。
至于怎么做会更好,还需要结合到业务的实际情况以及发展阶段来考虑,比如是否真的需要这种验证方式,阻断的节点是否更加符合用户的预期等等,都可以是提升的点。
总之,作为产品经理,对业务要有深刻的了解,对技术细节流程也需要有全局的把控,对用户更要做到知根知底。
那么关于短信验证码这一块,大家还有什好的建议呢,欢迎加我的微信一起探讨:xnffmwq