1. 产品概述:什么是全域采集与增长分析
全域采集与增长分析(Quick Tracking)是阿里云推出的企业级流量统计分析产品。该产品提供APP、小程序、H5、Web、IoT等数字应用终端的行为采集分析、私域标签画像、性能体验监控、隐私采集授权管理等数据采集与洞察服务,助力企业实现全域数据采集、用户增长和体验提升。
Quick Tracking的核心价值在于将分散在多端的用户行为数据进行统一采集、清洗和分析,帮助企业构建完整的用户洞察体系。产品提供阿里云SAAS和私有化部署两种模式。SAAS模式为订阅制,可按时间周期订购采集与分析服务;私有化部署则依托阿里云生态,支持多种云环境的灵活部署,企业可根据自身数据体量和稳定性要求灵活选择云资源。
产品提供极速版、标准版和专业版三个版本。极速版提供标准化数据采集服务;标准版新增行为分析模块,包含用户路径分析、漏斗模型、留存分析等多种分析模型;专业版在此基础上增加用户行为标签系统,面向需要精细化运营与精准营销的成熟企业。
产品包含四大功能模块:采集管理、行为分析、用户画像和性能体验。采集管理助力高效构建流量采集埋点体系;行为分析提供看数(统计)和取数(分析)两种能力;用户画像支持创建行为标签并圈选人群;性能体验提供移动端三端应用性能监控能力。同时,原始采集日志支持二次开发,可对接到数据加工平台、BI可视化平台和营销平台。
需要先登录阿里云控制台,点击:阿里云控制台
2. 对接前的准备工作
2.1 开通服务与创建组织
使用Quick Tracking的第一步是开通服务并创建组织。组织是企业或团队在Quick Tracking中的管理单元,用于统一管理成员、应用和数据权限。登录阿里云控制台后,进入全域采集与增长分析产品页面,按提示开通服务。首次使用时,系统会引导创建组织,填写组织名称并完成成员邀请。
2.2 创建应用
在组织下需要为每个具体的项目创建独立的应用。应用是数据采集和分析的基本单元,不同应用之间的数据相互隔离。创建应用时需填写应用名称、选择应用类型(iOS、Android、Web、小程序等),系统会为每个应用自动生成唯一的AppKey和收数域名,这些信息在后续SDK集成中至关重要。
2.3 权限管理
Quick Tracking支持基于RAM的权限管理体系。默认情况下,RAM子账户访问Quick Tracking控制台时会报系统错误,需要主账户给子账户授权后才能正常访问。主账号可在控制台点击\"同步RAM账号\",将RAM中配置的子账号信息同步到Quick Tracking后台,然后由主账号或具有管理员权限的子账号为其他成员分配具体的功能权限。
3. 埋点方案设计
3.1 需求梳理与指标体系设计
埋点方案设计是整个数据采集体系的核心环节。首先需要从核心目标、KPI、用户旅程、用户群体和产品功能等维度进行需求梳理,明确业务目标和核心需求。梳理完业务需求后,需要定义关键业务指标并搭建指标框架,明确最终需要看到哪些数据。
3.2 事件与属性设计
基于业务需求和指标进行场景事件设计。事件设计应结合业务流程和界面内容,每个事件需要明确定义触发条件、事件参数和上报时机。Quick Tracking的事件管理模块用于统一事件与参数规范,准确描述用户操作路径。属性管理用于添加事件相关的属性信息以丰富数据维度,包括事件属性、全局属性、用户属性和渠道属性等。
3.3 方案录入与审核
埋点方案经业务和技术各方审核一致后,需要登录Quick Tracking后台进行事件管理。方案管理可以理解为事件的文件夹,用于对事件进行归纳整理。事件管理用于定义用户行为事件及其触发条件。必须按照埋点方案设计进行管理,才能和技术上报的事件完成映射,进而在分析模块中选择事件进行分析。
4. SDK集成:多端接入实战
4.1 Web端集成
Web端集成是最常见的接入场景。打开Quick Tracking控制台,进入管理控制台 -> 应用列表 -> 对应项目 -> 去采集,平台会自动生成SDK代码。
首先在HTML文件的head中引入SDK:
<script> (function(w, d, s, q, i) { w[q] = w[q] || []; var f = d.getElementsByTagName(s)[0], j = d.createElement(s); j.async = true; j.src = 'https://您的收数域名/sdk.js'; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'aplus_queue'); </script>
SDK代码最好放到head最上面,避免被其他引入覆盖。确认SDK地址是否正确,如果是\"webSdkAddress\"这样的占位符,说明SDK代码集成有误。
然后是初始化SDK,将平台生成的初始化代码放在引入SDK代码片段的后面:
<script> aplus_queue.push({ action: 'aplus.setMetaInfo', arguments: ['appKey', '您的AppKey'] }); aplus_queue.push({ action: 'aplus.setMetaInfo', arguments: ['trackDomain', '您的收数域名'] }); aplus_queue.push({ action: 'aplus.sendPV', arguments: [{ is_auto: false }, {}] }); </script>
初始化时需要对照控制台tab上的appKey和收数域名,如果代码中的值和tab上的不一致,需要将代码中的替换掉。
4.2 集成校验与调试
集成完成后需要进行埋点校验。在控制台的埋点验证页面输入埋点首页网址,开发阶段通常是本地首页路径(如http://localhost:xxx)。
如果校验失败,可以在SDK代码片段后添加调试代码开启控制台输出:
aplus_queue.push({ action: 'aplus.setMetaInfo', arguments: ['DEBUG', true] });
打开页面控制台即可看到埋点输出日志。控制台有埋点输出但集成校验不成功时,可以尝试:校验网址可能写错了需要更换;QT控制台多刷新几次;检查appKey和收数域名是否正确。
4.3 自定义事件埋点
页面浏览事件默认自动采集,但业务自定义事件需要手动埋点。Quick Tracking的事件类型分为三种:曝光事件(EXP)、点击事件(CLK)和其他自定义事件(OTHER)。
自定义事件上报示例:
aplus_queue.push({ action: 'aplus.record', arguments: [ '事件编码', // 在事件管理中定义的事件编码 'CLK', // 事件类型:CLK点击、EXP曝光、OTHER其他 { // 事件属性,平铺的简单对象,不能多层嵌套 'product_id': '123456', 'category': '电子产品', 'price': 99.9 }, {} ] });
页面浏览事件配置示例:
aplus_queue.push({ action: 'aplus.setMetaInfo', arguments: [ 'pageEventConfig', { 'page_name': 'home_page', // 页面编码 'page_title': '首页', // 页面标题 'is_auto': false // 非自动采集 }, { // 页面扩展参数 'user_type': 'vip', 'source': 'direct' } ] });
4.4 Android端集成
Android端集成需要在build.gradle中添加依赖:
dependencies { implementation 'com.aliyun.quicktracking:qt-android-sdk:最新版本' }
在Application的onCreate方法中初始化:
import com.aliyun.quicktracking.QT; import com.aliyun.quicktracking.QTConfig; public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); QTConfig config = new QTConfig.Builder(this) .setAppKey("您的AppKey") .setTrackDomain("您的收数域名") .setChannel("应用商店") .build(); QT.init(config); } }
自定义事件上报:
QT.getInstance().recordEvent("事件编码", "CLK", new HashMap<String, Object>() {{ put("product_id", "123456"); put("category", "电子产品"); }});
4.5 iOS端集成
iOS端通过CocoaPods集成:
pod 'QT-iOS-SDK', '~> 最新版本'
在AppDelegate中初始化:
import QT_iOS_SDK func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { let config = QTConfig(appKey: "您的AppKey", trackDomain: "您的收数域名") QT.sharedInstance().start(with: config) return true }
自定义事件上报:
QT.sharedInstance().recordEvent("事件编码", type: "CLK", properties: ["product_id": "123456", "category": "电子产品"])
4.6 小程序端集成
小程序端需要在app.js中引入SDK并初始化:
const qt = require('./utils/qt-sdk.min.js'); App({ onLaunch() { qt.init({ appKey: '您的AppKey', trackDomain: '您的收数域名' }); } });
页面中上报自定义事件:
const qt = require('../../utils/qt-sdk.min.js'); Page({ onLoad() { qt.recordEvent('事件编码', 'OTHER', { product_id: '123456', category: '电子产品' }); } });
4.7 多端框架支持
Quick Tracking还支持uniapp、Flutter、React Native等跨平台框架。React Native SDK封装了QT埋点常用的API,如全局属性、页面属性、自定义事件等,需要分别在RN、Android、iOS三端进行集成和配置。Flutter插件同样提供了完整的统计功能支持。
5. 埋点验证与发布
5.1 埋点验证
技术上报数据后,需要核对上报的信息是否和采集的信息一致。Quick Tracking支持App、Web、小程序三端埋点可视化验证,提供单个设备的实时埋点验证能力,帮助快速排查埋点问题。验证方式包括日志验证、埋点验证和分析验证等多种方式。
5.2 生产发布
经过技术和业务双重校验之后,技术人员可以将代码发布到生产环境。发布时需要注意切换到生产环境的appKey和收数域名。开发环境和生产环境通常使用不同的appKey,确保数据隔离。
6. 数据分析与洞察
6.1 分析模型概述
Quick Tracking提供9种常用的流量分析模型。所有分析模型都可做到秒级数据返回,大大提升数据获取时效。支持的模型包括事件分析、留存分析、漏斗分析、用户洞察、分布分析、间隔分析、Session分析、路径分析和归因分析等。
6.2 事件分析
事件分析是基于事件的指标统计分析,在分组、筛选等条件下进行下钻分析,帮助企业了解用户使用产品的情况,进一步挖掘影响指标变化的主要因素。通过事件分析进行查询后,可以保存为报表添加到自制看板中进行展示和统计。
6.3 漏斗分析
漏斗分析帮助企业了解用户在行为步骤中的转化或流失情况。通过分析各步骤间的转化率,可以定位流失最严重的环节,进而通过优化产品或开展运营活动提升转化率。
6.4 留存分析与路径分析
留存分析衡量用户在一定时间周期内的持续使用情况,是评估产品黏性的核心指标。路径分析帮助企业验证产品运营策略、优化产品设计思路。留存指从某步骤(事件)向后继续访问其他步骤(事件)。
6.5 看板搭建
看板分为两种类型:预置看板供所有拥有相应数据访问权限的用户共享查看,实现组织内关键指标的标准化监控与协同分析;我的看板由用户独立创建与管理,仅限创建者本人查看或授权给他人查看,满足个性化数据洞察需求。
7. 用户画像与标签体系
7.1 标签创建
用户画像模块支持按照首末次、用户偏好等5种规则创建用户标签。通过标签体系生成的标签可用于自定义筛选人群,生成的人群可应用于其他用户运营场景,也可作为人群洞察时的维度(含有多个标签值的标签),洞察用户行为价值。
7.2 人群圈选与洞察
人群管理模块提供人群管理和人群圈选两个功能,支持跨端或单端人群圈选。人群洞察主要由用户概览、报告管理、洞察分析和个体细查四个部分构成。结合标签能力,对存量人群提供丰富、灵活的洞察分析能力,可实现全量人群和细分人群的多维度、多形态分析。
8. 性能体验监控
性能体验模块提供移动端(App、Web、小程序)三端应用性能监控能力。通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,以及卡顿分析、启动分析、内存分析、网络分析等性能监测能力。支持多场景、多通道智能告警监测,帮助开发者高效还原异常和卡顿用户的访问路径和业务现场,缩短故障排查时间。
9. 隐私合规管理
9.1 合规要求
为保证应用在集成Quick Tracking统计SDK后能够满足工信部相关合规要求,应确保应用在用户阅读隐私政策并取得用户授权之后,才调用正式初始化函数初始化统计SDK。只有在用户授权后SDK才会真正采集设备信息并上报数据。
9.2 合规功能
隐私合规管理模块支持隐私条款管理、同意偏好管理、同意场景管理和同意场景推送。用户隐私条款授权采集和同意数据统计,支持用户授权查询。Quick Tracking提供应用隐私合规检测及隐私协议撰写支持,助力数据采集合法合规。
10. 数据主体与数据模型
10.1 分析主体
Quick Tracking使用三种分析主体来跨平台识别和追踪用户:设备ID、账号ID和实体ID。设备ID是Quick Tracking为每个设备生成的应用级唯一ID。实体ID通过ID-Mapping将设备ID和账号ID进行关联,实现用户登录前后行为的打通。
10.2 用户属性
用户属性是针对账号ID的属性。例如账号ID为\"testdemo@111\"的用户,其\"生日\"为\"1999-02-13\"、\"会员等级\"为\"铂金\"等,这些\"生日\"和\"会员等级\"就是用户属性。埋点上报的日志中事件编码为\"$$_user_profile\"时,该事件的事件属性会作为用户属性存入用户表。
10.3 数据表结构
Quick Tracking提供直接使用SQL查询底层数据的能力,可查询三张表:事件表存储原始日志;Session表存储按Session规则处理后的日志;用户表存储当前平台中存在的所有用户ID及其用户属性。
11. 二次开发与生态集成
11.1 数据消费模式
Quick Tracking支持数据的二次开发,提供实时和离线两种消费模式。实时日志可直接通过SLS(日志服务)消费,秒级延迟;离线数据通过MaxCompute每15分钟增量同步一次,小时级延迟。
11.2 OpenAPI使用
Quick Tracking提供OpenAPI供开发者进行二次开发。由于数据敏感,API ID和API Secret只在主账号中可见,具体位置为\"管理控制台\" > \"采集信息\"。开发者可通过OpenAPI获取应用的数据采集详情、进行数据查询等操作。
OpenAPI调用示例(使用阿里云SDK for Python):
from aliyunsdkcore.client import AcsClient from aliyunsdkquicktracking.request.v20220801 import DescribeDataCollectionRequest client = AcsClient( '您的AccessKeyId', '您的AccessKeySecret', 'cn-hangzhou' ) request = DescribeDataCollectionRequest.DescribeDataCollectionRequest() request.set_accept_format('json') request.set_AppId('您的应用ID') response = client.do_action_with_exception(request) print(response)
12. 常见问题与最佳实践
12.1 版本选择建议
Quick Tracking提供极速版、标准版和专业版三个版本。初创企业或仅需基础数据采集的场景可选择极速版;需要行为分析能力的建议选择标准版;需要进行精细化用户运营和精准营销的成熟企业建议选择专业版。
12.2 埋点方案设计原则
埋点方案设计应遵循以下原则:围绕核心业务指标设计事件,避免过度采集;统一事件命名规范,便于后续分析;区分公共事件和业务事件,提高复用性;在设计阶段就考虑用户ID体系,确保登录前后行为可打通。
12.3 数据安全与合规
数据安全方面应注意:使用RAM子账号进行最小权限授权;生产环境和开发环境使用不同的AppKey;定期轮换AccessKey。合规方面应注意:在用户授权后再初始化SDK;在隐私政策中明示数据采集范围和用途;提供用户数据查询和删除的渠道。
13. 总结
阿里云全域采集与增长分析(Quick Tracking)为企业提供了一站式的多端行为数据采集与分析解决方案。从产品架构来看,它覆盖了数据采集、行为分析、用户画像和性能体验四大核心模块,形成了从数据采集到洞察的完整闭环。在采集层,支持WEB、iOS、Android、小程序等多平台及各类开发环境,提供代码埋点、服务端埋点、全埋点和可视化圈选埋点等多种埋点方式。在分析层,提供9种分析模型和灵活的看板搭建能力。在画像层,支持标签创建、人群圈选和洞察分析。在性能层,提供全面的应用性能监控能力。
通过本文的详细指南,开发者可以快速完成从开通服务、创建应用到多端SDK集成、埋点验证再到数据分析的全流程对接。无论是初创企业还是大型企业,都可以根据自身需求选择合适的版本和部署方式,构建符合业务需求的全域数据采集与分析体系。
问与答
问1:Quick Tracking支持哪些端的数据采集?
答:Quick Tracking支持APP(iOS/Android)、小程序(微信/支付宝等)、H5、Web、IoT等多端数据采集。同时支持uniapp、Flutter、React Native等跨平台框架。
问2:如何获取AppKey和收数域名?
答:登录Quick Tracking控制台,进入\"管理控制台\" > \"应用列表\",选择对应项目后点击\"去采集\"即可看到AppKey和收数域名。SDK初始化时必须使用正确的AppKey和收数域名。
问3:全埋点和代码埋点有什么区别?
答:全埋点是预置上报的事件,主要覆盖页面浏览、按钮点击、启动、退出等常规基础分析事件。初始化SDK后自动生效,无需额外开发。代码埋点需要开发者在业务关键节点手动调用API上报自定义事件,灵活性更高但需要额外开发工作量。
问4:如何实现用户登录前后行为的打通?
答:Quick Tracking通过实体ID(Entity ID)实现ID-Mapping,将设备ID和账号ID进行关联。用户登录后,通过上报账号ID即可将登录前的设备行为与登录后的账号行为关联起来。
问5:数据存储和保留有什么政策?
答:分析服务到期后,如未在15天内续费,系统会释放底层分析资源,历史数据将被清除。建议在到期前及时续费或导出重要数据。
问6:如何保证数据采集的合规性?
答:应确保应用在用户阅读隐私政策并取得用户授权后才调用SDK初始化函数。Quick Tracking提供隐私条款管理、同意偏好管理和用户授权管理等合规功能。同时应在隐私政策中明示数据采集范围和用途。