数据采集API

设置登录用户ID

当用户登录之后,可以通过 setUserId 接口上报登录用户ID,用于在 GrowingIO 平台标记登录用户,后续可使用该登录用户ID分析这个登录用户的行为数据。
接口定义
gio('setUserId', userId)
参数说明
名称
类型
是否必须
说明
userId
string
登录用户ID
示例代码
gio('setUserId', 'test_userId');

清除登录用户ID

当用户退出登录之后调用clearUserId,清除已经设置的登录用户ID。
gio('clearUserId');

预置自定义事件

GrowingIO 预置了两个小程序的标准自定义事件:分享到群聊或好友信息和程序错误,接入SDK即可以使用。
微信小程序分享到好友或群聊信息
程序错误

设置访问用户变量

当用户未登录时,定义用户属性变量。在添加所需要发送的事件代码之前,需要在GrowingIO”数据中心 > 数据管理 > 变量 > 用户变量的访问用户变量页签下置用户变量。
接口定义
gio('setVisitor', properties: object);
参数说明
名称
类型
是否必须
说明
properties
Object
访问用户级变量,用户额外的信息参数
代码示例
变量value的数据类型需与【数据中心/数据管理】定义保持一致,否则上报数据将无法正确解析,导致数据丢失。
// 假设初始化后把 gio 对象放在 App 的 globalData 里面
// 比如在针对不同的用户做某个 Campaign 的 A/B 测试
getApp().globalData.gio('setVisitor', {
campaign_id: 3,
campaign_group: 'A 组用户'
});

设置登录用户变量

发送登录用户的信息。在添加所需要发送的事件代码之前,需要在GrowingIO”数据中心 > 数据管理 > 变量 > 用户变量的登录用户变量页签下置用户变量。
接口定义
gio('setUser', properties: object)
参数说明
名称
类型
是否必须
说明
properties
Object
登录用户变量,用户额外的信息参数
代码示例
变量value的数据类型需与【数据中心/数据管理】定义保持一致,否则上报数据将无法正确解析,导致数据丢失。
// 假设初始化后把 gio 对象放在 App 的 globalData 里面
getApp().globalData.gio('setUser', {
age: 30,
level: '高级用户',
company: 'GrowingIO',
title: '工程师'
});

设置页面级变量

发送页面级别的信息。在添加所需要发送的事件代码之前,需要在GrowingIO”数据中心 > 数据管理 > 变量 > 事件变量的页面级变量页签下设置页面级变量。
接口定义
gio('setPage', properties: object)
参数说明
名称
类型
是否必须
说明
properties
Object
页面级变量,页面额外的信息参数
代码示例
变量value的数据类型需与【数据中心/数据管理】定义保持一致,否则上报数据将无法正确解析,导致数据丢失。
// 假设初始化后把 gio 对象放在 App 的 globalData 里面
// 推荐在 Page#onShow 处理这个事件
// 下面假设我在 GrowingIO 后台已经配置了两个页面级变量 pageName 和 type
Page({
onShow() {
getApp().globalData.gio('setPage', {
pageName: '电影列表页',
type: this.data.type
});
}
}

设置转化变量

发送一个转化变量用于高级归因分析。在添加所需要发送的事件代码之前,需要在GrowingIO”数据中心 > 数据管理 > 变量 > 转化变量下配置转化变量。
设置一个转化信息用于高级归因分析,目前支持归因方式有最初归因、最终归因和线性归因。
举个例子,如果一个用户是先后通过活动A活动B活动C来访问小程序,最后在某次后续几天后的访问购买了某个商品。如果把活动A/B/C分别设置为转化变量campaign的值,那么:
  • 最初归因:这个购买行为是由 A 贡献的;
  • 最终归因:这次购买行为是 C 贡献的;
  • 线性归因:这次购买行为是 A/B/C 各占 1/3 贡献。
接口定义
gio('setEvar', properties: object)
参数说明
参数名称
类型
是否必须
说明
properties
Object
转化级变量和转化信息
代码示例
变量value的数据类型需与【数据中心/数据管理】定义保持一致,否则上报数据将无法正确解析,导致数据丢失。
// 假设初始化后把 gio 对象放在 App 的 globalData 里面
getApp().globalData.gio('setEvar', {
campaign: '活动A'
});

设置埋点事件和事件级变量

手动发送一个自定义事件。在添加所需要发送的事件代码之前,需要在GrowingIO”数据中心 > 数据管理 > 事件 > 埋点事件“下配置埋点事件,在变量 > 事件变量下配置事件级变量。
接口定义
gio('track', eventName: string, properties: object);
参数说明
名称
类型
是否必须
说明
eventName
string
事件标识符。
properties
Object
事件级变量,即事件发生时所伴随的维度信息参数。
代码示例
变量value的数据类型需与【数据中心/数据管理】定义保持一致,否则上报数据将无法正确解析,导致数据丢失。
// 假设初始化后把 gio 对象放在 App 的 globalData 里面
// 在 Page 的 clickBanner 函数里添加以下代码
Page({
clickBanner(e) {
getApp().globalData.gio('track', 'clickBanner', {
id: movie.id,
title: movie.title,
index: e.currentTarget.dataset.index
});
}
})

设置位置信息

3.7.6+版本支持
当用户访问至某一功能需要位置信息时,可以调用小程序Api获取地理位置接口,将获取到的经纬度数据通过调用SDK setLocation API 进行上报,发送VISIT事件携带经纬度数据。位置信息可以提升用户地域分布的分析准确性。同时您需要配置项目的permission字段参考文档和对应的权限申请参考文档
2022年4月18日起,微信官方对getLocation进行了权限限制,因此SDK废弃了与getLocation有关的逻辑,并新增setLocation来代替此功能。
接口定义
gio('setLocation', latitude, longitude);
参数说明
名称
类型
说明
latitude
number
必填;纬度,范围为 -90~90,负数表示南纬
longitude
number
必填;经度,范围为 -180~180,负数表示西经
示例
gio('setLocation', 30.23902949389956, 120.14519080902102);
// 调用后会自动补发带位置信息的vst事件