小程序渠道追踪

最后更新于:2018-07-27 19:03:35

小程序的打开主要有三种方式: 扫描二维码,转发分享,跳转。

扫描二维码:普通链接二维码,小程序码,小程序二维码。

转发分享: 分为转发到群,转发到个人 等。

跳转: app跳转到小程序,小程序跳转小程序等, 公众号跳小程序, 广告跳转 等。

1. 普通链接二维码

  1. 进入微信小程序后台,主体必须是企业非个人,点击设置 -> 开发设置 -> 扫普通链接二维码打开小程序
  2. 添加二维码规则,(注意最后必须带 / ) 比如把这个目录 https://sensorsdata.cn/weixin/ec1/ 作为小程序ec1的地址
  3. 这样后面带参数就可以标志来源 https://sensorsdata.cn/weixin/ec1/?utm_source=wang

    下面我们拿电商小程序 ec1 来演示,标志来自于 王同学 的推广
    打开 渠道生成工具 https://sensorsdata.cn/tools/url_create.html

在上图中,首先根据上面的方式,生成 网站地址 例如 https://sensorsdata.cn/weixin/ec1/
给 广告系列来源 填入 wang
把生成二维码,右键复制给就 王同学 就可以拿去推广了

小程序 ec1 加载 0.9 版本以上的 小程序 SDK 后,会自动采集 $MPLaunch $MPShow 等事件,这个事件中会有 $utm_source 广告系列来源的属性来查看是 来自王同学。

2. 小程序码

微信小程序平台提供两个接口生成小程序码

2.1 小程序码接口 A

1.登录微信公众平台,通过网址 https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html 找到获取小程序码 API

2.获取 access_token ,使用 A 接口,在 path 中加入 utm 相关参数(如:"path":"pages/index/index?utm_source=baidu2345"),生成小程序码

3.在小程序冷启动或热启动时,会自动采集 $MPLaunch $MPShow 等事件,小程序 SDK 封装的 appLaunch 和 appShow 会根据 query 来解析 utm 相关参数。

2.2 小程序码接口 B

注意:不建议使用此接口,因为 scene 值最大只能传32个字符

1.登录微信公众平台,通过网址 https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html 找到获取小程序码 API

2.获取 access_token ,使用 B 接口,在 scene 中加入 utm 相关参数(如:"scene":"utm_source=bd&utm_content=demo",建议 scene 值中不要出现?等特殊符号),设置其他必填参数,生成小程序码

3.在小程序冷启动或热启动时,会自动采集 $MPLaunch $MPShow 等事件,小程序 SDK 封装的 appLaunch 和 appShow 会根据 query 中的 scene 值来解析 utm 相关参数。

3. 小程序二维码

1.登录微信公众平台,通过网址 https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html 找到获取小程序二维码 API

2.获取 access_token ,在 path 中加入 utm 相关参数(如:"path":"pages/index/index?utm_source=baidu2345"),生成小程序二维码

3.在小程序冷启动或热启动时,会自动采集 $MPLaunch $MPShow 等事件,小程序 SDK 封装的 appLaunch 和 appShow 会根据 query 来解析 utm 相关参数。

4. 小程序转发分享

我们知道小程序的转发分享,通过定义 Page.onShareAppMessage 来实现,其中 path 属性用来指定跳转的路径。

现在有两种方案来修改 path 路径的值达到追踪渠道的目的

4.1 自定义 utm 参数

path 后面带上 ?utm_source=wang&utm_content=beizi 这样来标志当前这个分享的人是 wang 分享的内容是 beizi

我们会自动解析 App.onLaunch App.onShow 里自动解析出 utm 的信息

4.2 自动采集分享

上面这种方式是自定义的方案,小程序 1.9 开始如果配置 allow_amend_share_path 为 true 的话,我们会自动给 path 后面增加如下属性

当前用户的 distinct_id , 当前的分享次数,当前的分享地址

我们会自动解析 App.onLaunch App.onShow 里自动解析出这些信息为 $share_distinct_id $share_depth $share_url_path

4.3 获取微信群 id

首先在小程序分享时的页面中,需要设置开启 share_id , 参考微信文档 https://developers.weixin.qq.com/miniprogram/dev/api/share.html#wxshowsharemenuobject

wx.showShareMenu({
  withShareTicket: true
})

然后在小程序打开时, 调用如下方法来获取 群 id ,参考微信文档 https://developers.weixin.qq.com/miniprogram/dev/api/share.html#wxgetshareinfoobject

if (opt.shareTicket) {
    wx.getShareInfo({
        shareTicket: opt.shareTicket;
        success: function(res){
            console.log(res.encryptedData);
        }
    })
}

如果想要把这个群 id 作为一个公共属性,可以使用代码 sa.registerApp({latest_share_group_id: group_id});

5. 小程序跳转小程序

我们同一公众号下的小程序可以相互跳转,通过设置 extraData 属性可以传递参数

extraData 是个 json 格式的字符串 JSON.stringify({utm_source:'wang',utm_content:'beizi'})

我们会自动解析 App.onLaunch App.onShow 里自动解析出 utm 的信息

6. 小程序广告

现在可以通过,公众号文章中间和底部的广告,朋友圈的广告,小程序里的广告等方式,点击直接跳转到小程序。

对于这些通过微信广告的投放,可以在配置广告中小程序的页面路径时,后面加 utm 参数,类似于上面第1节。

我们会自动记录这些 utm 参数