先明确一个前提:这里说的“对齐一天”,不是把两个报表的时间列都改成同一个时区再相减,而是先决定你要的是“同一个绝对时间窗口”,还是“同一个业务日”。如果两个报表分别按 UTC 和北京时间切日,直接按时区换算后对齐,边界那几小时仍会落在不同日期里。可行做法是:保留原始时间戳,按你选定的基准时区重新切日,再核对链接分析中的点击、展示或会话是否落在同一窗口内;对不上的部分不要急着合并,先当成待解释差异处理。
时区对齐有三种取舍,适用前提不同。
如果只是偶尔对一次数,保留原时区、只对齐绝对窗口通常够用;如果要长期做链接分析的日趋势,改写基准时区更省事,代价是历史数据要统一重切。
不要一上来就断言“是时区导致的”。先做三步核对。
假设某链接分析报表 A 按 UTC 切日,报表 B 按 UTC+8 切日。你在 A 中看到 3 月 1 日有 100 次点击,在 B 中看到 3 月 1 日有 130 次。把 A 的 3 月 1 日窗口换算成 UTC+8,实际覆盖的是北京时间 3 月 1 日 08:00 到 3 月 2 日 08:00,与 B 的自然日窗口只重叠 16 小时。差异可能来自这 8 小时,也可能来自过滤规则不同。这个例子只说明比较方法,不代表任何真实报表的数值。
做完这一步,你才能决定下一步是重切日期,还是先去查过滤条件。
决定统一基准时区后,动作要成套,否则链接分析的对齐只做了一半。
完成重切后,重新跑一次差异核对。如果边界小时的差异消失、剩余差异集中在特定链接或特定来源,说明时区问题已处理,接下来该查的是归因或过滤规则。如果差异仍在边界小时附近,说明基准时区选错了,或者其中一个报表的时间戳本身不是事件发生时间。
有两种信号提示日粒度不值得继续硬对。
一是两个报表的切日逻辑无法从文档或导出字段中确认,你只能靠猜。此时继续按日对齐,等于把不确定性藏进汇总里。更稳的做法是改用小时粒度或滚动 24 小时窗口,让边界差异显式暴露。
二是业务本身跨时区运行,比如投放覆盖多个地区,任何单一时区的自然日都不能代表完整业务周期。这时强行统一成某一个时区,只是换了一种失真。退出日粒度、改用滚动窗口,反而更贴近链接分析要回答的问题。
对齐时区的目的不是让两个数字相等,而是让差异可解释。能说清“这 8 小时不在同一窗口内”,比强行凑出一个总数更有用。下一步动作取决于差异是否收敛到边界:收敛则重切日期,不收敛则转去核对归因和过滤条件。