# 原理介绍
假如张三的用户编号是 1234 ,那么张三邀请的用户,如何和张三建立邀请关系呢?
用户之间的邀请关系是在注册那一刻建立的,建立后,不会因为任何原因发生改变;
新用户在注册的时候,所有的注册api接口,均支持 **referrer** 参数,用户的注册过程中,如果传了 **referrer** 参数,那么,新注册成功的用户将和该用户建立邀请和被邀请关系。
鉴于上面的简述,如果注册api接口中,传了 referrer=1234 ,那么该注册用户就是用户编号为1234的这个用户邀请注册的,如果后台设置了邀请奖励、三级分销关系、分享奖励等等,编号为1234 的用户(张三)将获得系统发放的奖励。
当然,上面所述都是基于 api接口原理上的陈述,那么在实际产品设计中,如何实现用户分享、转发来实现邀请注册呢?以下几个方向可供参考:
1. 转发 / 分享给好友/微信群/朋友圈的时候,带上自己的用户编号(1234);在对方打开分享链接的时候,提取到 1234 数据,保存在 cookie / storage 中,待注册的时候,将 1234 数据提交到 **referrer** 参数;
2. 注册界面上,提供一个输入框(邀请码),告知注册用户在注册的时候,将自己的用户编号(1234) 填写在邀请码输入框内,点击注册按钮的时候,将 1234 数据提交到 **referrer** 参数;
# 案例描述
## 不同渠道推广
小程序在不同渠道进行投放(比如抖音、视频号、论坛等),我需要知道某个用户是通过哪个渠道进来的。
这个就可以通过用户关系的方式进行跟踪:
第一步:后台,用户管理,为每个渠道创建一个用户,记录下每个渠道的邀请人用户编号:


第二步:为每个不同的渠道生成专属的渠道二维码:


页面路径填: `pages/index/index`
scene参数填: `inviter_id=渠道用户的用户编号`
**【这里是举例天使童装的小程序模板的信息,如果你自己的小程序,请和开发同学确认页面路径和参数】**
如果是其他方式推广的,而不是二维码方式,原理同上,只是可能通过传参的方式,比如: `?inviter_id=1234`