数据采集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事件  

最后更新于