- DM Hub数据采集概览
- DM Hub身份和事件模型
- DM Hub数据采集SDK
- DM Hub数据采集API
- 隐私保护声明
1. DM Hub事件概览
在传统网站盛行的年代,人们通常使用PV(即Page View,页面访问量)来对网页的热度进行统计。随着互联网的飞速发展,特别是移动互联网的兴起和智能手机普及,人们可以随时随地接入或联网,互联网上产生的数据也迎来了爆发式增长,同时专用的上网设备也使得对人的识别更加精准。在这样的背景下,单纯的访问量明显不能满足需求,对客户进行精细化运营的需要,对用户行为数据的质和量提出了更高的要求。
DM Hub使用“事件”来建模和存储用户行为数据。从各个渠道收集到的用户行为数据,通过统一的模型进行规范化,同时也提供了一定的灵活性来满足各渠道和各客户的数据多样性需求。
2. 事件的五要素
一个事件就是描述了一个用户在某个时间点、某个地方,以某种方式完成了某个具体的事情。从这可以看出,一个完整的事件应该包含如下的几个关键因素:
Who:即参与这个事件的用户是谁。在我们的数据接口中,使用 DM Hub 中的客户ID(customerId)或客户身份来标识一个客户。一个事件支持传入多个客户身份,并按照优先级来进行匹配。对身份模型的详细介绍可参考DM Hub客户身份模型章节。
When:即这个事件发生的实际时间。在我们的数据接口中,使用 date 字段来记录精确到毫秒的事件发生时间。如果调用者不主动设置,服务器会在事件入库时取当前时间进行记录。
What:描述用户所做的具体事件名称,例如浏览网页,提交表单,扫描二维码等。除了具体的事件,事件作用的对象也是必不可少的部分,在DM Hub的事件模型中,使用targetId和targetName来进行标识。
Where:即事件发生的地点。DM Hub在采集用户行为时,会根据用户的IP来解析获得用户当时所在的省市信息。
How:即用户触发这个事件的方式,通过事件模型中的一些额外字段进行记录。具体可以参考下文中的事件模型定义。
3. DM Hub中的事件模型
DM Hub中的事件通过以下字段来进行建模和储存:
参数 | 类型 | 说明 | |
---|---|---|---|
customerId | Long | 客户ID | |
event | String | 事件ID,最长32个英文字符。可在设置中心>客户事件页面设置 | |
date | String | 行为所发生的时间,格式为:"2020-06-01T12:12:12Z"为UTC时间,可支持到毫秒级 | |
externalId | String | 如果传入externalId,系统会根据externalId处理重复事件;如果未指定externalId的情况下分两种情况,第一种情况:创建客户事件请求体中增加externalIdGenerator字段(例:{"externalIdGenerator": "md5"}), 用事件内容的md5值作为externalId;第二种情况: externalIdGenerator为空或为date或不填,externalId取事件date字段的unix毫秒数 | |
identityType | String | 身份类型 | |
identityValue | String | 身份值 | |
referrer | String | 推广人ID | |
tag | String | 事件发生后为客户添加的内容标签,多个标签可以用逗号隔开; 事件中用到的内容标签,需要在DMHub-系统设置-内容标签管理中先配置 | |
targetId | String | 行为所关联的目标ID,比如如果事件为关注公众号,targetId为公众号在DM Hub系统中的ID | |
targetName | String | 行为所关联的目标名称,比如如果事件为关注公众号,targetName为公众号的名字 | |
campaign | String | 营销活动code,DM Hub创建的营销活动代码 | |
campaignName | String | 营销活动名称,DM Hub创建的营销活动的名称 | |
source | String | 来源,预先设定的来源,比如订单是从淘宝来的,则来源可以设置为淘宝 | |
contentName | String | 来源对应的内容 | |
score | Integer | 客户活跃度,发送该事件会给客户增加多少活跃度 | |
summary | String | 摘要 | |
longitude | BigDecimal | 地理位置,经度 | |
latitude | BigDecimal | 地理位置,纬度 | |
country | String | 地理位置,国家 | |
province | String | 地理位置,省份 | |
city | String | 地理位置,城市 | |
county | String | 地理位置,区县 | |
location | String | 地理位置,详细地址 | |
attr1~attr40 | String | 自定义字段-字符型。可在设置中心>客户事件页面设置 | |
amount1~amount10 | BigDecimal | 自定义字段-数值型。可在设置中心>客户事件页面设置 | |
date1~date10 | String | 自定义字段-日期型,格式为:"2020-06-01T12:12:12Z"为UTC时间。可在设置中心>客户事件页面设置 | |
source1~source8 | String | 自定义来源。可在设置中心>来源管理页面设置; 字段ID的映射关系如下:medium对应source1, term对应souce2, customersource1对应source3, coustomersource2对应source3... coustomersource6对应source8; 字段ID的映射关系如下:medium对应source1, term对应souce2, customersource1对应source3, coustomersource2对应source3... coustomersource6对应source8 |
4. DM Hub系统事件
DM Hub内置了一些系统级别的事件,这些事件会在DM Hub各个功能模块中生成,可以直接用于分析和客户圈群。系统事件不支持修改或增加自定义属性。
全部系统事件的定义可以在DM Hub的【设置中心】->【事件】中进行查看。
5. 设置自定义事件
系统事件也可以在数据采集代码中使用。如果要进一步明确用户行为对应的业务需求,可以通过定义自定义事件的方式来进行。
自定义事件的使用方法和系统事件一致,具体参考前文中的事件模型。自定义事件可以在【设置中心】->【事件】页面进行添加和编辑。除了系统预设的属性之外,每个自定义事件还可以创建40个自定义文本属性,10个数值属性,10个日期或日期时间属性。
6. 匿名事件和匿转实
如DM Hub用户身份模型中所描述,DM Hub通过身份模型来进行用户行为数据的匹配。如果数据采集时传递的身份和系统中某个客户的身份相匹配,则该事件会记录在该客户身上。如果匹配不成功,则该事件会记录为匿名事件。匿名事件可用于分析(例如基于次数的分析),但是不能用于生成客户画像(标签或群组等)。后续如果客户添加了匿名事件关系的身份并匹配成功,则会将该匿名事件转换为实名事件并记录在对应的客户身上。事件在匿转实时属性不会发生任何变更,所以事件发生时间还是原来的时间。注意,匿名事件只会保留一个月,超过一个月的匿名事件无法进行匿转实。