微信小程序 SDK 预置属性

最后更新于:2019-11-29 10:47:01

1、预置属性
2、utm 相关的渠道参数介绍

1 预置属性

获取预置属性:

在根目录的 app.js 中使用该方法

------app.js
    var sa = require('./utils/sensorsdata.min.js');
    sa.setPara({
        name: 'sensors',
        server_url: '数据接收地址',
    });
    sa.init();

------index.js
    var app = getApp();
    Page({
        onShow: function(){
            console.log(app.sensors.getPresetProperties());
        }
    });

此方法可获取 SDK 版本、操作系统、操作系统版本、设备型号、网络类型、屏幕宽高、页面路径、最近一次渠道来源的相关属性。需要在获取完网络状态与设备信息、页面加载完成后调用此方法。

1.1 所有事件都有的预置属性:

字段名称 类型 说明 SDK 版本
$lib 字符串 SDK 类型
$lib_version 字符串 SDK 版本
$screen_height 数值 小程序屏幕高度
$screen_width 数值 小程序屏幕宽度
$model 字符串 设备型号
$manufacturer 字符串 设备制造商 1.11.1 支持
$network_type 字符串 网络类型
$os 字符串 操作系统
$os_version 字符串 操作系统版本
$is_first_day 布尔类型 是否首日访问(从新用户第一次访问到当天的凌晨十二点之间的值都为真,之后都为假,标识存在 storage 缓存中)
$ip 字符串 SDK 发送数据请求携带的属性
$country 字符串 由 IP 解析得到
$province 字符串 由 IP 解析得到
$city 字符串 由 IP 解析得到
$latest_utm_source 字符串 最近一次付费广告系列来源(参考本章文档 2.1-2.4 的解释) 1.3 支持
$latest_utm_medium 字符串 最近一次付费广告系列媒介(参考本章文档 2.1-2.4 的解释) 1.3 支持
$latest_utm_term 字符串 最近一次付费广告系列字词(参考本章文档 2.1-2.4 的解释) 1.3 支持
$latest_utm_content 字符串 最近一次付费广告系列内容(参考本章文档 2.1-2.4 的解释) 1.3 支持
$latest_utm_campaign 字符串 最近一次付费广告系列名称(参考本章文档 2.1-2.4 的解释) 1.3 支持
$latest_scene 字符串 最近一次启动场景值 1.9 支持

1.1.1 UserAgent 相关的预置属性

这一系列的属性从浏览器的 UserAgent 中进行解析。

字段名称 类型 说明
$bot_name 字符串 爬虫名称(如果是爬虫)

注意:
1.$screen_height 在 1.11.1 版本之前字段名称为‘小程序窗口高度’,取的值是小程序可使用窗口高度
2.$screen_width 在 1.11.1 版本之前字段名称为‘小程序窗口宽度’,取的值是小程序可使用窗口宽度
3.wx.getSystemInfo 微信小程序提供的接口获取系统信息。

1.2 $MPLaunch (小程序启动)事件的预置属性:

字段名称 类型 说明 SDK 版本
$scene 字符串 启动场景 1.0以上
$url_path 字符串 页面路径
$utm_source 字符串 广告系列来源(参考本章文档 2.1-2.4 的解释) 0.9以上
$utm_medium 字符串 广告系列媒介(参考本章文档 2.1-2.4 的解释) 0.9以上
$utm_term 字符串 广告系列字词(参考本章文档 2.1-2.4 的解释) 0.9以上
$utm_content 字符串 广告系列内容(参考本章文档 2.1-2.4 的解释) 0.9以上
$utm_campaign 字符串 广告系列名称(参考本章文档 2.1-2.4 的解释) 0.9以上
$is_first_time 布尔类型 是否首次访问,新用户首次触发这个事件标识为真 1.8以上
$share_distinct_id 字符串 分享时的 distinct_id 1.9以上
$share_depth 数值 分享次数 1.9以上
$share_url_path 字符串 分享时的页面路径 1.9以上
$url_query 字符串 页面参数 1.10.4以上

其中场景值的概念及取值可以参考微信小程序的官方介绍场景值

1.3 $MPShow (小程序显示)事件的预置属性:

字段名称 类型 说明 SDK 版本
$scene 字符串 启动场景 1.0以上
$url_path 字符串 页面路径
$utm_source 字符串 广告系列来源(参考本章文档 2.1-2.4 的解释) 0.9以上
$utm_medium 字符串 广告系列媒介(参考本章文档 2.1-2.4 的解释) 0.9以上
$utm_term 字符串 广告系列字词(参考本章文档 2.1-2.4 的解释) 0.9以上
$utm_content 字符串 广告系列内容(参考本章文档 2.1-2.4 的解释) 0.9以上
$utm_campaign 字符串 广告系列名称(参考本章文档 2.1-2.4 的解释) 0.9以上
$share_distinct_id 字符串 分享时的 distinct_id 1.9以上
$share_depth 数值 分享次数 1.9以上
$share_url_path 字符串 分享时的页面路径 1.9以上
$url_query 字符串 页面参数 1.10.4以上

1.4 $MPHide (小程序进入后台)事件的预置属性:

字段名称 类型 说明 SDK 版本
$event_duration NUMBER 从本次小程序显示 $MPShow 到 $MPHide 小程序进入后台或者关闭的时间 1.1及以上
$url_path 字符串 页面路径 1.5及以上

1.5 $MPViewScreen (小程序页面浏览)事件的预置属性:

字段名称 类型 说明 SDK 版本
$url_path 字符串 页面路径 0.9版本之前为 $url
$url_query 字符串 页面参数,比如小程序页面路径为 page/index/index?ceshi=bar,那么页面参数为 ceshi=bar 1.10.4以上
$referrer 字符串 前向页面地址 0.9以上
$utm_source 字符串 广告系列来源 0.9以上,1.12.10版本以下,1.13.7以上
$utm_medium 字符串 广告系列媒介 0.9以上,1.12.10版本以下,1.13.7以上
$utm_term 字符串 广告系列字词 0.9以上,1.12.10版本以下,1.13.7以上
$utm_content 字符串 广告系列内容 0.9以上,1.12.10版本以下,1.13.7以上
$utm_campaign 字符串 广告系列名称 0.9以上,1.12.10版本以下,1.13.7以上

1.6 $MPShare (小程序分享)事件的预置属性:

字段名称 类型 说明 SDK 版本
$share_depth 数值 分享次数 1.9以上
$url_path 字符串 分享时的页面路径 1.9以上

1.7 预置的用户属性

字段名称 类型 说明 SDK 版本
$first_visit_time Datetime 首次访问时间,新用户第一次来到嵌有神策 SDK 微信小程序的客户端时间 1.12.9 及以上版本
$utm_source 字符串 首次广告系列来源 (参考本章文档 2.3 的解释) 1.0 及以上版本
$utm_medium 字符串 首次广告系列媒介 (参考本章文档 2.3 的解释) 1.0 及以上版本
$utm_term 字符串 首次广告系列字词 (参考本章文档 2.3 的解释) 1.0 及以上版本
$utm_content 字符串 首次广告系列内容 (参考本章文档 2.3 的解释) 1.0 及以上版本
$utm_campaign 字符串 首次广告系列名称 (参考本章文档 2.3 的解释) 1.0 及以上版本

2 渠道相关属性介绍

如何使用神策微信小程序 SDK 进行渠道追踪请参考此文档:小程序渠道追踪

2.1 渠道相关属性

在小程序 App 实例生命周期函数 onLaunch 和 onShow ,还有页面的生命周期函数 onShow 中,我们会自动解析启动参数对象与页面参数对象中的渠道相关参数(包含通过 source_channel 自定义的渠道参数以及预置的 utm 渠道参数)作为这三个预置事件的渠道属性,见截图

2.2 最近一次渠道相关属性

在小程序 App 实例生命周期函数 onLaunch 和 onShow 中,我们会将从启动参数对象中解析出来的渠道参数保存在 $latest_utm 相关属性或 _latest 自定义渠道相关属性变量中;

默认情况下,即 is_persistent_save 设置为 false 的情况下

当下次启动,热启动时,如果启动参数中带有 utm 渠道参数,会将上次启动的$latest_utm 渠道相关属性重置,只保留本次热启动解析出来的 $latest_utm 渠道相关属性;如果启动参数中没有 utm 渠道参数,会保留上次内存中保存的 $latest_utm 相关属性;

冷启动时,$latest_utm 渠道相关属性会自动重置;

最近一次自定义渠道属性(通过 source_channel 设置采集的那些渠道属性)在小程序生命周期(从冷启动到退出)有效,下次冷启动时,会被重置;

is_persistent_save 设置为 true 的情况下
我们会将从启动参数对象中解析出来的渠道参数赋值给 $latest_utm 渠道相关属性或 _latest 自定义渠道相关属性,并将$latest_utm 渠道相关属性或 _latest 自定义渠道相关属性保存到 storage 中;

当下次启动(无论热启动或者冷启动)时,如果启动参数中带有 utm 渠道参数,会将上次启动的 $latest_utm 渠道相关属性重置,只保留本次启动解析出来的 $latest_utm 渠道相关属性;如果启动参数中没有 utm 渠道参数,会保留上次启动解析出来的 $latest_utm 相关属性;

最近一次自定义渠道属性(通过 source_channel 设置采集的那些渠道属性)会一直有效,直到小程序被删除;

2.3 首次渠道的相关属性

在小程序 SDK 发现设备之前没有加载过 SDK ,且冷启动时在小程序 App 实例生命周期函数 onLaunch 中能解析到渠道相关参数(包含通过 souce_channel 自定义的渠道参数以及预置的 utm 渠道参数) 时,会通过 setOnceProfile 来设置用户属性

2.4 特殊处理

扫描普通链接二维码时,会去解析参数对象 query 中的 q 属性;
扫描 getUnlimited() 接口生成的小程序码时,会去解析参数对象 query 中的 scene 属性;