如何在用户访问站点过程中留存referral推荐码直至用户完成注册
推荐码全链路留存方案
下面是几种不同场景下的可行实现方案,可以根据你的站点技术栈和需求选择:
- 本地存储方案(localStorage/sessionStorage)
逻辑很简单:用户首次进入站点时,先解析URL Query判断是否存在合法的referral参数,如果有就直接写入localStorage(可以长期留存,直到用户手动清理浏览器缓存)或者sessionStorage(仅当前浏览器会话有效,关闭窗口就失效)。后续用户跳转到www.example.com/signup注册页时,直接从存储中读取对应值即可。
优点:前端几行代码就能实现,完全不需要服务端参与,不会影响页面加载和跳转性能。
注意:要做好参数合法性校验,避免写入恶意内容;如果需要跨子域名共享推荐码,这个方案不适用,得换cookie。 - Cookie存储方案
实现逻辑:检测到URL中的referral参数后,把值写入站点根域名的cookie,设置合适的过期时间(比如7天、30天都可以),同时把path设为/保证全站所有页面都能访问到。用户进入注册页时,前端可以直接读取cookie取值,服务端渲染的页面也能直接从请求头里的Cookie字段拿到参数。
优点:支持跨子域名共享,前后端都能直接读取,适配所有渲染场景。
注意:如果你的站点有用户隐私合规要求,要确保符合cookie授权的相关规则。 - URL全局携带方案
实现逻辑:对站内所有的跳转链接、路由跳转逻辑做统一封装,只要当前访问路径下检测到合法的referral参数,就自动给所有站内跳转的URL拼接上这个参数。用户进入注册页时直接从当前URL的Query字段取值就行。
优点:不依赖任何本地存储能力,即使用户禁用了cookie和本地存储也能正常生效,用户分享站内链接的时候也会自带推荐码。
注意:需要统一管控所有站内跳转逻辑,避免出现遗漏的跳转路径;如果要同时携带多个参数要注意URL长度限制。
内容的提问来源于stack exchange,提问作者Jan Horčička
相关产品推荐
相关产品推荐

