多时区管理
神策数据可以帮助你处理跨时区的项目,比如用户分布在不同的地区或者业务涉及海外市场。它可以识别并记录每个事件发生的时间和时区,不会丢失时间差的信息。而且,你可以自由选择一个时区来展示和分析全球的数据,只要在配置中设置好就行了。比如说,如果你的项目运营团队位于北美,你想用北美的时间来看的数据,那么你就可以把展示时区设为北美的时区。
多时区设置
1、功能入口:项目设置》基本设置》多时区设置
注:必须满足以下两个条件,才能看到该功能入口:
- 开通了「多时区设置」的license,相关信息:
- 产品线:SBP
- 名称:多时区分析设置
- license-key: ANALYSIS_TIMEZONE_SETTING
- 当前账号有「多时区设置」的权限点
2、点击该功能入口,会进入到多时区的设置侧拉抽屉
- 多时区开关,默认关闭,可以进行开启;
- 开启后,需要设置”支持切换的时区“和”设置默认时区“
- 支持切换的时区:
- 默认选择服务器时区,且无法取消
- 可以选择多个时区
- 设置默认时区:
- 单选,必填
- 可以在“支持切换的时区”中选择的时区中进行选择
- 默认选中服务器时区
注意
打开多时区开关后,需慎重关闭,关闭时区后,相关的看板、报表、分群、标签的计算逻辑是否符合预期
由于时区被应用于分群、标签、报表、业务模型等资产的计算中,请不要随意删改时区配置。
多时区最佳实践
服务器时区设置
为了保持时间的统一标准,服务器上的硬件时钟和操作系统时钟应该设置为 UTC,而不是本地时区。任何涉及确切时刻的场合,都要按照 UTC 来表示。(注意,UTC 和 GMT 是等价的,但 UTC 是更常用的术语。)
如果你选择用本地时间属性来上报,你需要同时提供本地时间相对于 UTC 的偏移量,这个偏移量可能会因为夏令时而变化。这样才能确保时间戳能被准确地解释。
如果你要把时间戳存储为数值,你应该用 Unix 时间,即从 1970-01-01T00:00:00Z(不包括闰秒)开始计算的秒数。这个数值应该始终基于 UTC,不做任何时区调整。
统一数据口径到单一时区
为了统一数据指标,消除数据口径的歧义,你应该把出海产品产生的全球数据都用一个固定的时区来标准化,比如 UTC±00:00。
在此基础上,你还应该把服务器时区和项目默认时区都设为业务运营的统一时区,这样可以提高分析性能。
如果你在单集群多项目的环境下,不同项目有不同的运营时区,你最好把数据量较大的项目和服务器时区保持一致。
数据上报带上时区偏移量
对于不是从SDK自动采集入仓的数据,在导入etl过程中或者logagent上报时,最好加上事件的时区偏移量属性,否则无法按照事件发生的时区做筛选,也无法使用“客户端时区”分析。
在一些特殊情况下,比如说数据量很大,对于切换时区分析带来的开销比较敏感,可以在埋点设计中增加属性,比如“上午”,“下午”等可以在性能无损的情况下做当地时区下的分析。