旧-帮助文档
回到 GrowingIO
  • GrowingIO 帮助文档
  • 快速提交工单
  • 快速上手-Web
  • 快速上手-移动端
  • 快速上手-小程序
  • 产品更新日志
  • 分析工具
    • 事件分析
    • 用户分群
    • 用户细查
    • 漏斗分析
    • 活动分析
    • 落地页分析
    • 分布分析
    • 智能路径
    • 留存分析
    • 留存魔法师
    • 活跃用户分析
    • 热图分析
      • Web 端热图
      • App 热图
    • 单图
    • 微信应用用户分析
    • 小程序-分享分析
  • 看板
    • 自定义首页
    • 概览看板
    • KPI看板(企业版)
    • 小程序预置看板
    • 微信内嵌页预置看板
    • 实时监控模板
    • 业务场景
  • GIO 小程序看数助手
  • 广告监测
    • 创建监测链接
      • 推广 App
      • 推广网页
      • 推广小程序(微信)
    • 数据报表
      • 应用级数据
      • 深度数据分析
      • 数据指标说明
    • 推广管理
      • 监测链接
      • 广告活动
      • 推广渠道
    • 渠道配置指南
      • 腾讯社交广告
      • 今日头条
      • 百度原生信息流
      • 微博超级粉丝通
      • 爱奇艺
      • Inmobi
      • 微信广告平台
      • 凤羽广告平台
      • bilibili(B 站)
    • 其他功能
      • 日志导出
      • 维度配置
      • 权限配置
      • 反作弊规则
      • 深度链接配置
    • 相关知识
      • UTM 参数使用指南
      • 创建小程序的推广码
      • 移动端转化归因
      • 默认的渠道来源跟踪
      • DeepLink 启用新域名
    • 广告监测FAQ
  • SDK 文档
    • SDK 简介与安全性说明
    • 各平台 SDK 支持明细
    • SDK 更新日志
    • Web JS SDK
      • Web JS SDK API
      • Web JS SDK 常见问题
    • Android SDK
      • Android 无埋点 SDK
      • Android 无埋点 SDK API
      • Android 半自动采集浏览事件
      • Android 埋点 SDK
      • Android SDK 常见问题
    • iOS SDK
      • iOS 无埋点SDK
      • iOS SDK API
      • iOS 半自动采集浏览事件
      • iOS SDK 1.X旧版本升级指导
      • iOS 埋点SDK
      • iOS SDK 常见问题
    • Hybrid SDK (App内嵌H5)
    • 小程序、小游戏以及内嵌页 SDK
      • SDK 更新日志 - 小程序 & 内嵌页 & 快应用
      • 微信小程序 SDK
        • mpvue+第三方插件 添加代码
      • 微信小游戏 SDK
      • H5 内嵌页 SDK
      • 支付宝小程序 SDK
      • 百度小程序 SDK
      • QQ 小程序 SDK
      • 字节跳动小程序 SDK
      • 快应用 SDK
    • React Native 无埋点 SDK
      • ReactNative 埋点 SDK
    • Flutter 埋点 SDK
    • Cordova 埋点 SDK
    • Weex 埋点 SDK
    • API Cloud埋点 SDK
    • AppCan 埋点 SDK
    • Java 埋点 SDK
    • PHP 埋点 SDK
    • GrowingIO Debugger
      • 验证打点事件
  • 数据模型
    • 用户模型
      • 访问用户
      • 登录用户
      • 用户属性
    • 事件模型
      • 什么是事件
      • 无埋点事件
        • 访问事件及属性
        • 页面事件及属性
        • 动作事件及属性
      • 埋点事件
        • 埋点事件及属性
    • 统计模型
      • 指标--事件的度量
      • 维度--事件的属性
      • 预定义的指标和维度
  • 数据定义
    • 用户变量
      • 登录用户变量
      • 访问用户变量
    • 页面级变量
      • 查询条件直接设置成页面级变量
    • 无埋点圈选
      • Web 圈选
      • App 端圈选 App
      • 电脑端圈选 App
      • 小程序数据定义
      • 微信内嵌页数据定义
      • 圈选指标管理
        • 合并简单指标
        • 复合指标
    • 埋点事件
      • 埋点事件级变量
      • 转化变量
    • 小程序事件和变量
  • 数据管理
    • 新版数据管理功能说明
    • 无埋点事件管理
    • 埋点事件管理
    • 变量管理
    • 合并事件管理
    • 计算指标
  • 系统配置
    • 组织管理
    • 项目管理
    • 用户管理
    • 权限管理
    • 爬虫规则
    • 账号管理
    • UTM 映射管理
    • IP及域名数据过滤
  • API
    • GrowingIO API 认证
    • 广告监测链接创建服务 API
    • 微信小程序二维码创建服务 API
    • 原始数据导出 API
      • 原始数据导出字段说明
        • 无埋点事件
        • 埋点事件与变量
        • 广告相关数据
        • 通用字段说明
      • 原始数据导出 2.0 API
      • 原始数据导出 1.0 API(已废弃)
      • 原始数据导出 API 的升级迁移
      • 原始数据导出格式及处理建议
    • 统计数据导出 API
    • 埋点数据上传API
    • 用户变量上传 API
    • 项目管理 API
    • 数据管理 API (GDPR)
    • API 更新日志
  • 常见问题
    • 基本问题
    • SDK 集成
    • 圈选常见问题
    • 指标和维度
    • 数据安全
    • 产品使用
    • 数据统计差异
    • 无效指标清理说明
  • 内容贡献者
  • 帮助文档问题反馈
Powered by GitBook
On this page
  • 接入前准备
  • 在项目中接入一个新的小程序应用
  • 支付宝小程序SDK标准接入指南
  • 1、根据支付宝小程序框架选择SDK文件并添加跟踪代码
  • 2、进行SDK的配置设置
  • 3 添加请求服务器域名
  • 4 SDK支付宝用户属性设置
  • 5 检测数据
  • 6 进入数据校验模块,查看数据发送情况
  • 自定义事件和变量
  • 自定义事件配置
  • 访问用户变量
  • 注册用户变量
  • 页面级变量
  • 转化变量
  1. SDK 文档
  2. 小程序、小游戏以及内嵌页 SDK

支付宝小程序 SDK

PreviousH5 内嵌页 SDKNext百度小程序 SDK

Last updated 5 years ago

接入前准备

在项目中接入一个新的小程序应用

在你的 GrowingIO 项目页面点击右上角点击小齿轮,在弹出的列表中选择“应用管理“。在应用管理页面,点击“新建应用“来创建一个新应用。

然后会到达SDK集成页面,平台选择支付宝小程序,填写支付宝小程序的应用名称,和支付宝小程序的AppID ,点击“下一步”,即可以到达支付宝小程序SDK接入的页面。

目前仅支持小程序类应用集成在同一个项目下,暂不支持小程序产品和web\iOS\Android端产品集成在同一项目下。

如果需要集成其他端产品,或者需要在已有web/iOS/Andoird产品集成的情况下,集成小程序产品,请创建新的项目。

支付宝小程序SDK标准接入指南

选择”支付宝小程序“平台,填写”应用名称“ 和 "AppID",点击"下一步"。

1、根据支付宝小程序框架选择SDK文件并添加跟踪代码

参照小程序的开发框架,下载相应的SDK,并添加跟踪代码。

  • 原生框架

  • Taro 框架

  • mpvue / uni-app 框架

  • chameleon 框架

支付宝小程序原生框架

1 根据下载小程序采集SDK

下载 gio-alip.js 文件

curl --compressed https://assets.giocdn.com/sdk/gio-alip.js -o gio-alip.js

当下载到 gio-alip.js 文件以后,把文件放在支付宝小程序项目里,比如 utils 目录下。下面会假设 SDK 文件放在 utils 目录下。

2 添加跟踪代码

方式一:

在支付宝小程序项目根目录的 app.js 文件的顶部添加以下 JS 代码,请注意一定要放在 App() 之前:

var gio = require("utils/gio-alip.js").default;
// version 是你的小程序的版本号
gio('init', '你的项目ID', '你的支付宝小程序AppID', { version: '你的小程序版本'});

// 修改项目中的App和Page,如下:
// App({})改写为:
App($global.trackApp({

}))
// 所有的Page({})改写为:
$global.GioPage({

})

方式二:

步骤一:新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的 必要 配置参数

export default {
projectId: '你的 GrowingIO 项目ID',
appId: '你的小程序AppID',
version: '小程序版本'
...
}

步骤二:在根目录 app.js文件的顶部添加跟踪代码

var gio = require("utils/gio-alip.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);
// 修改项目中的App和Page,如下:
// App({})改写为:
App($global.trackApp({

}))
// 所有的Page({})改写为:
$global.GioPage({

})

Taro 框架

1.下载 gio-alip.js 文件,把文件放在支付宝小程序项目里,比如 utils 目录下。

curl --compressed https://assets.giocdn.com/sdk/gio-alip.js -o gio-alip.js

2、添加跟踪代码

方式一:

在根目录 app.js 文件的顶部添加跟踪代码

import Taro from '@tarojs/taro';
var gio = require("utils/gio-alip.js").default;
gio('init', '你的 GrowingIO 项目ID', '你的小程序AppID', { version: '小程序版本', taro: Taro });

方式二:

步骤一:新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的 必要 配置参数

import Taro from '@tarojs/taro';
export default {
projectId: '你的 GrowingIO 项目ID',
appId: '你的小程序AppID',
version: '小程序版本',
taro: Taro,
...
}

步骤二:在根目录 app.js文件的顶部添加跟踪代码

var gio = require("utils/gio-alip.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);

mpvue框架 / uni-app 框架

1.下载 gio-alip.js 文件,把文件放在支付宝小程序项目里,比如 utils 目录下。

curl --compressed https://assets.giocdn.com/sdk/gio-alip.esm.js -o gio-alip.js

2. 添加跟踪代码

方式一:在根目录 app.js 文件的顶部添加跟踪代码

import Vue from 'vue';
import App from './App';
App.mpType = 'app';
var gio = require("utils/gio-alip.js").default;
gio('init', '你的 GrowingIO 项目ID', '你的小程序AppID', { version: '小程序版本',vue: Vue });

方式二:

步骤一:新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的 必要 配置参数

import Vue from 'vue';
export default {
projectId: '你的 GrowingIO 项目ID',
appId: '你的小程序AppID',
version: '小程序版本',
vue: Vue,
...
}

步骤二:在根目录 app.js文件的顶部添加跟踪代码

var gio = require("utils/gio-alip.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);
import App from './App';
App.mpType = 'app';

Chameleon框架

1.下载 gio-alip.js 文件,把文件放在支付宝小程序项目里,比如 utils 目录下。

curl --compressed https://assets.giocdn.com/sdk/gio-alip.js -o gio-alip.js

2、添加跟踪代码

方式一:在根目录 app.js 文件的顶部添加跟踪代码

import Cml from 'chameleon-runtime';
var gio = require("utils/gio-alip.js").default;
gio('init', '你的 GrowingIO 项目ID', '你的小程序AppID', { version: '小程序版本', cml: Cml });

方式二:

步骤一:新建一个 gioConfig.js 文件,并且配置 gioConfig.js 文件中的 必要 配置参数

import Cml from 'chameleon-runtime';
export default {
projectId: '你的 GrowingIO 项目ID',
appId: '你的小程序AppID',
version: '小程序版本',
cml: Cml,
...
}

步骤二:在根目录 app.js文件的顶部添加跟踪代码

var gio = require("utils/gio-alip.js").default;
var gioConfig = require("你的 gioConfig.js 文件地址").default;
gio('setConfig', gioConfig);

2、进行SDK的配置设置

每次发布小程序新版本的时候,更新一下版本号 version,可以在 GrowingIO 分析不同版本的数据。除了 version 之外,还有以下额外参数可以使用。

参数

值

解释

getLocation

true | false

是否自动获取用户的地理位置信息。默认false

forceLogin

true | false

是否要用用户登陆支付宝获取 userid作为访问用户ID标识采集,建议你的小程序在打开强制要求用户登陆支付宝获取 userid时,才进行开启。默认 false

debug

true | false

是否开启调试模式,可以在调试体验版时看到采集的数据,默认 false

version

string

你的小程序的版本号

followShare

true | false

详细跟踪分享数据,开启后可使用分享分析功能统计分享带来的用户量。默认 false

followShare参数

转发分享小程序是小程序获客的重要场景,想要详细的进行转发分享的统计,需要在SDK参数中,设置如下参数,值为true

参数

值

解释

followShare

true | false

详细跟踪分享数据,开启后可使用分享分析功能统计分享带来的用户量。默认 false

即支付宝小程序项目根目录的 app.js 文件设置参数如下:

var gio = require("utils/gio-alip.js");
// version 是你的小程序的版本号,发版时请调整
gio('init', '你的项目ID', '你的支付宝小程序AppID', { version: '1.0', followShare: true });

getLocation 参数

根据微信最新的用户地理位置获取的规则,GrowingIO 小程序SDK 默认不会在小程序启动时获取用户的坐标信息。

  • 如果您的小程序在打开时就需要获取用户地理信息,就可以将这个参数配置为true。

  • 如果您的小程序在用户点击某些按钮时,才触发获取位置,则可以按照配置方式,进行用户位置的补发,从而增强用户地理位置的分析能力。

参数

值

解释

getLocation

true | false

是否自动获取用户的地理位置信息。默认false

GrowingIO SDK 默认不会在小程序启动时获取用户的坐标信息。当用户访问到某一功能时需要位置信息时,可以调用以下位置接口,补发vst,采集位置信息,提升用户地域分布的分析准确性。

gio('getLocation')

forceLogin 参数

设置forceLogin参数后,访问用户ID会被支付宝userid替换,但是风险是,如果小程序打开时并不要求立即授权上报支付宝userid,则在上报支付宝userid前的操作数据不会发送;如果在上报支付宝userid前,用户就退出了小程序,用户数据不会上报。

forceLogin 是一个需要特别注意的参数。GrowingIO 默认会在小程序里面设置用户标识符,存储在 Storage 里面。这个用户标识符潜在可能会被 clearStorage清除掉,所以有可能不同的用户标识符对应同一个支付宝用户的 userid。如果你的支付宝小程序在用户打开后会去做登陆并且获取 userid ,可以设置 forceLogin 为 true。当 forceLogin 为 true 的时候,用户标识符会使用 userid,潜在风险是如果用户没有授权,数据不会发送,所以请特别注意这个参数的设置,具体集成示例:

gio('init', '你的项目ID', '你的支付宝小程序AppID', { version: '1.0', forceLogin: true });
...
// 当获取到 userid 后,调用以下方法
gio("identify", userid);

3 添加请求服务器域名

要正常采集小程序的数据并发送给 GrowingIO,需要在支付宝小程序里事先设置一个通讯域名,允许跟 GrowingIO API 服务器进行网络通信。具体步骤如下:

  1. 登录支付宝小程序后台,进入配置

  2. 打开小程序详情/设置/开发设置

  3. 配置httpRequest接口请求域名白名单:https://wxapi.growingio.com

4 SDK支付宝用户属性设置

作为用户行为数据分析工具,用户信息的完善会给后续的分析带来很大的帮助。在小程序中,支付宝用户属性是非常重要的设置,只有完善了支付宝用户属性信息,支付宝的访问用户变量(如下表)才可以在分析工具中使用,交互数据定义、数据校验功能才会方便通过用支付宝相关的信息(支付宝姓名和头像)定位用户。

下面是专门针对用户的三个接口:

绑定支付宝用户ID

当用户在你的小程序上登陆获取到 userid 后,可以用过 identify 接口绑定支付宝用户ID,后续在 GrowingIO 中获取更准确的支付宝访问用户量。示例代码如下:

my.httpRequest({
    url: 'http://isv.com/auth', // 该url是自己的服务地址,实现的功能是服务端拿到authcode去开放平台进行token验证
    data: {
      authcode: res.authCode
    },
    success: (res) => {
      gio('identify', res.uid)
    }
  });

设置支付宝用户信息

当用户在你的小程序上绑定支付宝信息后,可以通过 setVisitor 接口设置支付宝用户信息,后续在 GrowingIO 中分析这个数据。示例代码如下:

my.getAuthUserInfo({
    success: (userInfo) => {
        gio('setVisitor', userInfo);
    }
    });

支付宝信息包含用户昵称、用户头像、性别、支付宝所填国家、支付宝所填省份、支付宝所填城市、用户类型、用户状态、是否通过实名认证、学生认证。

*注:用户画像中的部分数据,只有在设置支付宝用户信息后,才可以统计。

设置注册用户ID

当用户在你的小程序上注册以后,你的产品应用服务端会在CRM 用户数据库里添加一条记录并且分配一个 ID,可以通过 setUserId 接口设置注册用户ID,后续在 GrowingIO 中分析登录用户这个数据。示例代码如下:

gio('setUserId', YOUR_USER_ID); 

设置注册用户信息

当用户在你的小程序上传了注册用户ID后,可以通过 setUser 接口设置注册用户信息,例如用户会员等级,后续在 GrowingIO 中分析这个数据。示例代码如下,

    gio('setUserId', user.id);
    gio('setUser', {
        id: user.id,
        level: user.level
    });

5 检测数据

当集成成功后,需要回到 GrowingIO SDK 集成页面,点击右下角“检测数据”。请在添加了跟踪代码的支付宝小程序重新启动几次,发送数据给 GrowingIO,完成安装最后一步。

6 进入数据校验模块,查看数据发送情况

自定义事件和变量

自定义事件配置

手动发送一个自定义事件。在添加所需要发送的事件代码之前,需要在 GrowingIO 产品的自定义事件和变量管理页面配置事件以及事件级变量。

接口定义:

gio('track', eventName: string, properties: object)

参数说明:

参数名称

参数类型

是否必须

说明

eventName

string

是

事件标识符

properties

object

否

事件级变量,即事件发生时所伴随的维度信息参数

示例:

// 假设初始化后把 gio 对象放在 App 的 globalData 里面
// 在 Page 的 clickBanner 函数里添加以下代码
Page({
  clickBanner(e) {
    getApp().globalData.gio('track', 'clickBanner', { 
      id: movie.id, 
      title: movie.title, 
      index: e.currentTarget.dataset.index 
    });
  }
})

访问用户变量

给访问用户(未注册你的服务的账号的用户)附上额外的信息,便于后续做用户信息相关分析。在添加所需要设置的访问用户变量的代码之前,需要在 GrowingIO 产品的自定义事件和变量管理页面配置访问用户级变量。

接口定义:

gio('setVisitor', properties: object)

参数说明:

参数名称

参数类型

是否必须

说明

properties

object

是

用户级变量,用户额外的信息参数

示例:

// 假设初始化后把 gio 对象放在 App 的 globalData 里面
// 比如在针对不同的用户做某个 Campaign 的 A/B 测试
getApp().globalData.gio('setVisitor', { 
  campaign_id: 3, 
  campaign_group: 'A 组用户'
});

注册用户变量

给注册用户(crm 用户ID)附上额外的信息,便于后续做用户信息相关分析。在添加所需要设置的注册用户变量的代码之前,需要在 GrowingIO 产品的自定义事件和变量管理页面配置注册用户级变量。

接口定义:

gio('setUser', properties: object)

参数说明:

参数名称

参数类型

是否必须

说明

properties

object

是

用户级变量,用户额外的信息参数

示例:

// 假设初始化后把 gio 对象放在 App 的 globalData 里面
getApp().globalData.gio('setUser', { 
  age: 30, 
  level: '高级用户', 
  company: 'GrowingIO', 
  title: '工程师'
});

页面级变量

给当前页面附上更多的页面信息,可以作为维度拆分数据做分析。设置了页面级变量以后,这个页面的指标以及这个页面的行为指标,都可以继承使用这些维度信息做分析。在添加所需要设置的页面变量的代码之前,需要在 GrowingIO 产品的自定义事件和变量管理页面配置页面级变量。

接口定义:

gio('setPage', properties: object)

参数说明:

参数名称

参数类型

是否必须

说明

properties

object

是

页面级变量,页面额外的信息参数

示例:

// 假设初始化后把 gio 对象放在 App 的 globalData 里面
// 推荐在 Page#onShow 处理这个事件
// 下面假设我在 GrowingIO 后台已经配置了两个页面级变量 pageName 和 type
Page({
  onShow() {
    getApp().globalData.gio('setPage', { 
      pageName: '电影列表页', 
      type: this.data.type
    });
  }
}

转化变量

高级功能,设置一个转化信息用于高级归因分析,目前支持归因方式有最初归因、最终归因和线下归因。举个例子,如果一个用户是先后通过活动A、活动B、活动C来访问小程序,最后在某次后续几天后的访问购买了某个商品。如果把活动A/B/C分别设置为转化变量campaign的值,那么如果采用了最初归因,那么这个购买行为是由 A 贡献的;如果是最终归因,那么这次购买行为是 C 贡献的;如果是线性归因,那么这次购买行为是 A/B/C 各占 1/3 贡献。在添加所需要设置的转化变量的代码之前,需要在 GrowingIO 产品的自定义事件和变量管理页面配置转化级变量。

接口定义:

gio('setEvar', properties: object)

参数说明:

参数名称

参数类型

是否必须

说明

properties

object

是

转化级变量,转化信息

示例:

// 假设初始化后把 gio 对象放在 App 的 globalData 里面
getApp().globalData.gio('setEvar', { 
  campaign: '活动A'
});

检测成功后,可以使用,实时查看数据发送情况。

数据验证功能