规范:常见的字段

在段规范所有的API调用有一个共同的结构,和一些共同的字段。

但是,并非所有目的地都接受规范中包含的所有字段。不确定目的地接受哪个字段?请参阅目标文档页面,或者查看GitHub上的开源目标代码

结构

每个API调用都具有相同的核心结构和字段。这些字段描述了API版本的用户身份,时间戳和机械助手。

这是原始JSON中这些公共字段的示例:

{“anonymousId”“507 f191e810c19729de860ea”“语境”{“积极的”真正的“应用程序”{“名称”“InitechGlobal”“版本”“545”“构建”“3.0.1.545”“名称”“com.production.segment”},“活动”{“名称”“TPS创新时事通讯”“源”“通讯”“媒介”“电子邮件”“术语”“tps报告”“内容”“图片链接”},“设备”{“id”“B5372DB0-C21E-11E4-8DFC-AA07A5B093DB”“advertisingid”“7 a3cbea0-bdf5-11e4-8dfc-aa07a5b093db”“adTrackingEnabled”真正的“制造商”“苹果”“模型”“iPhone7 2”“名称”“maguro”“类型”“苹果”“令牌”“ff15bc0c20c4aa6cd50854ff165fd265c838e5405bfeb9571066395b8c9da449”},“知识产权”“8.8.8.8”“图书馆”{“名称”“analytics.js”“版本”“2.11.1”},“场所”“en - us”“位置”{“城市”“旧金山”“国家”“美国”“人肉搜索”40.2964197“经”-76.9411617“速度”0.},“网络”{“蓝牙”“航母”“t - mobile我们”“细胞”真正的“无线上网”},“操作系统”{“名称”“iPhone操作系统”“版本”“8.1.3”},“页面”{“路径”“/学院/”“referrer””““搜索””““标题”“分析学院”“url”“//www.asianminres.com/academy/”},“referrer”{“id”“ABCD582CDEFFFF01919”“类型”“dataxu”},“屏幕”{“宽度”320“高度”568“密度”2},“groupId”“12345”“时区”“欧洲/阿姆斯特丹”“userAgent”“Mozilla / 5.0 (iPhone;AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1”},“集成”{“所有”真正的“Mixpanel年”“Salesforce”},“消息id”“022 bb90c-bbac-11e4-8dfc-aa07a5b093db”“receivedAt”“2015 - 12 - 10 - t04:08:31.909z”“sentat”“2015 - 12 - 10 - t04:08:31.581z”“时间戳”“2015 - 12 - 10 - t04:08:31.905z”“类型”“跟踪”“标识”“97980CFEA0067”“版本”2}

更详细地详细介绍每个API呼叫的这些常见字段是:

类型 描述
匿名 如果设置了userID则是可选的 细绳 用户ID的伪唯一替代,用于没有绝对唯一标识符的情况。需要用户ID或AnonymousID。
看看身份文档为更多的细节。
上下文 可选的 对象 提供有关消息的有用上下文的额外信息字典,但与类似的API调用不直接相关知识产权地址或地区看看上下文字段文档为更多的细节。
集成 可选的 对象 要启用或禁用的目标字典参见目的地领域文档为更多的细节。
MessageId. 隐式的 细绳 由Segment自动收集,每个消息的唯一标识符,允许您跨API找到单个消息。
公认者 隐式的 日期 由段自动设置,当消息被段接收时的时间戳iso - 8601日期字符串。看看时间戳字段的文档更多的细节。
sentAt 可选的 日期 消息被发送到段的时间戳,用于时钟偏差校正。它是由段跟踪库自动设置的。这是一个iso - 8601日期字符串。看看时间戳字段的文档更多的细节。
时间戳 可选的 日期 消息本身发生的时间戳,由段跟踪API默认为当前时间,作为iso - 8601格式化日期字符串。如果事件刚刚发生,请将其留出,我们将使用服务器的时间。如果您正在从过去导入数据,请确保您提供一个时间戳花瓶的时间戳字段的文档更多的细节。
类型 隐式的 细绳 消息类型,对应于API方法:'确认'“集团”“跟踪”“页面”“屏幕”'别名'
用户身份 如果设置了anonymousID则可选 细绳 数据库中用户的唯一标识符。需要用户ID或AnonymousID。看看身份文档为更多的细节。
版本 隐式的 数量 接收消息的跟踪API版本,由分段自动设置。

除了这个通用结构之外,每个API调用都添加了一些专门的顶级字段。

上下文

上下文是一个额外信息的字典,它提供关于数据点的有用上下文,例如用户的知识产权地址或地区。你应该只使用上下文字段的预期含义。

类型 描述
活跃的 布尔 用户是否激活

这通常用于标记.identify ()打电话只更新特征,而不是“最后一次看到”。
应用程序 对象 关于当前应用程序的信息字典,包含的名字版本构建

尽可能自动收集此移动库。
运动 对象 关于导致API调用的活动的信息字典,包含的名字中等的术语内容,以及任何其他自定义UTM参数。

这张地图直接到公共UTM广告系列参数。
设备 对象 有关设备的信息词典,包含idadvertisingId制造商模型的名字类型版本
知识产权 细绳 当前用户的IP地址。
图书馆 对象 关于向API发出请求的库的信息字典,包含的名字版本
地区 细绳 例如,当前用户的区域设置字符串en - us
位置 对象 关于用户当前位置的信息字典,包含城市国家纬度经度地区速度
网络 对象 关于当前网络连接的信息字典,包含蓝牙航空公司蜂窝无线网络
操作系统 对象 关于操作系统的信息字典,包含的名字版本
页面 对象 关于浏览器中当前页面的信息字典,包含路径推荐人搜索标题url。这是由Analytics.js.
推荐人 对象 关于用户被引用到网站或应用程序的方式的信息字典,包含类型的名字url链接
屏幕 对象 包含有关设备屏幕信息的字典,包含密度高度宽度
时区 细绳 例如,时区作为Tzdata字符串发送,以添加可能从时间戳中剥离的用户时区信息美国/ New_York
groupId 细绳 组/帐户ID。

这在B2B用例中非常有用,在B2B用例中,您需要将非组调用归于一个公司或帐户。新万博app2.0下载它依赖于一些客户成功和CRM工具。
特征 对象 字典的特征当前用户

这在您需要的情况下是有用的跟踪一个事件,但也从一个先前的信息确认调用。你应该像填充trait一样填充这个对象确定电话
userAgent 细绳 请求设备的用户代理

自动收集的字段

下面是一个图表,显示了哪些上下文变量是由我们的iOS, Android和analytics.js库自动填充的。

其他图书馆只收集context.Library.,必须手动发送任何其他上下文变量。

上下文字段 Analytics.js. Analytics-ios Analytics-android
app.name
app.version
app.build.
campaign.name.name.
campaign.source.
campaign.medium
campaign.term
campaign.content
device.type
device.id
device.advertisingId
device.adTrackingEnabled
device.manufacturer
device.model
device.name
library.name
图书馆
ip *
地区
地点
location.longitude
location.speed
network.bluetooth
network.carrier.
network.cellular
network.wifi
os.name
os.version.
page.path
PAGE.REFERRER.
page.search
page.title
page.url
screen.density
screen.height
回答
特征
userAgent
时区
  • IP地址不是由我们的图书馆收集,而是由我们的服务器,当它收到的消息客户端事件
  • 我们的Android库收集screen.density这种方法

集成

一个包含消息应该发送到的目标名称的字典。'全部'是在没有找到特定目的地的密钥时应用的特殊密钥。

集成默认为以下内容:

{全部真正的销售队伍}

这是因为销售队伍对API调用有严格的限制,我们不想意外地超过您的限制。

将数据发送到我们的其他目的地是选择性退出的,所以如果在这个对象中没有指定目的地为false,它将被发送到能够接受它的其他目的地。

时间戳

每个API调用都有四个时间戳,originalTimestamp时间戳sentAt公认的。它们的用途非常不同。

所有的时间戳iso - 8601日期字符串。

时间戳的概述

时间戳 计算 描述
originalTimestamp 调用时客户端设备上的时间
或者
时间戳值手动通过服务器端库传入。
由Segment用于计算时间戳

笔记:originalTimestamp由于它并不总是值得信赖性的,因此无法互相调整和受时钟偏斜的影响。
sentAt 客户端设备上发送呼叫的时间
或者
sentAt手动传入的值。
由Segment用于计算时间戳

笔记:sentAt由于它并不总是值得信赖性的,因此无法互相调整和受时钟偏斜的影响。
公认者 time on收到呼叫时段服务器时钟 由Segment用于计算时间戳,并在仓库中用作排序键。

笔记:为了达到最大查询速度,公认者当年表不重要(因为年表不能保证)时,建议用于分析的时间戳。
时间戳 按Segment计算,以纠正客户端-设备的时钟偏差,使用如下公式:
公认者- (sentAt-originalTimestamp
由Segment使用发送到下游目的地,并用于历史回放。

笔记:推荐时间戳进行分析,当时表是否物质。

originalTimestamp

originalTimestamp告诉您何时在客户端设备上调用了call或的值时间戳你手动通过了。

笔记:originalTimestamp时间戳对于任何分析都没有用处,因为它并不总是值得信赖的,因为它可以很容易地被时钟倾斜所调整和影响。

sentAt

sentAttimestamp指定网络请求发送给Segment API时客户端设备的时钟时间。对于发送批处理请求的库和系统,数据点之间可能有一个很长的间隔时间戳sentAt。结合公认者,我们可以使用sentAt修改原文时间戳在用户的设备时钟不可信的情况下(移动电话和浏览器)。这sentAt公认者时间戳假定是同时发生的(最多几百毫秒),因此差异是用户的设备时钟偏差,可以应用该偏差来纠正时间戳

笔记:sentAt时间戳对于任何分析都没有用处,因为它受到了用户时钟偏差的影响。

公认者

公认者时间戳将在传入消息到达我们的API时立即添加到它们。它与……结合使用sentAt纠正时钟偏差,并帮助调试批量交付事件的库和系统。

公认者时间戳是我们的仓库产品中最重要的排序键。当从仓库中检索数据时,使用此方法以获得最大查询速度!

笔记:事件的时间顺序不能用公认者

时间戳

时间戳时间戳指定数据点发生的时间,纠正了客户端-设备时钟偏差。这是传递到下游目的地并用于历史回放的时间戳。使用这个时间戳将历史数据导入到API是很重要的。

如果您使用的是段服务器源库,或直接将呼叫传递给HTTP API端点,则可以手动设置时间戳字段。如果您在设备模式下使用段源,则生成库时间戳并且您无法在呼叫有效载荷中手动设置一个。

最后更改:2021年3月11日



开始分段

细分是将你的网站和手机应用数据整合到300多个分析和增长工具中的最简单方法。
创建免费帐户