减少重复计算的关键不是把归因窗口调长,而是把“设备之间可继承的身份”和“只能单设备确认的身份”分开处理:能跨设备继承的部分用账号或登录态合并,不能继承的部分保留设备级去重,再在咨询完成节点做一次幂等判定。这样做的代价是部分跨设备路径无法被完整还原,但能避免同一真实咨询被计成多次,也不会因为强行合并而把两个不同的人算成一个。
用户从手机看到SEM竞价广告、点击进入落地页,之后在电脑上完成咨询,这条路径涉及至少两台设备和一次身份切换。要减少重复计算,先要判断哪些标识可以跨设备继承。
如果只用设备ID做去重,手机和电脑会被算成两个来源;如果强行把所有设备ID按时间窗口合并,又可能把同一台公共电脑上的两个不同用户算成一个人。因此合并的粒度要由身份类型决定,而不是由时间窗口决定。
当用户在咨询前已经登录,或表单提交时留下了手机号,跨设备路径可以用这个强身份作为合并主键。实施动作是:在咨询完成事件中带上该身份标识,后端先按身份标识查是否已有咨询记录,若已存在则更新而非新增。
这个动作的结果是:同一手机号在手机和电脑上各触发一次咨询,最终只产生一条咨询记录,重复计算被消除。下一步可以据此判断该咨询的首次广告点击来自哪台设备,用于渠道评估,而不影响咨询总数。
如果用户在咨询前既未登录,也未留下手机号,只有设备ID和点击标识,那么跨设备合并缺少可靠依据。此时更稳妥的选择是保留设备级去重,接受同一人可能被计为两次咨询。
实施动作是:在咨询完成节点按“设备ID+咨询会话ID”做幂等校验,同一设备同一会话内重复提交只记一次;跨设备不做强行合并。结果是咨询总数可能略高于真实人数,但不会把两个不同用户错误合并。
重复计算往往不发生在点击阶段,而发生在咨询完成阶段。用户可能在手机上提交一次表单,又在电脑上重复提交,或者在网络重试时触发多次完成事件。如果完成事件没有幂等键,后端每次都会新增一条记录。
可用的幂等键包括:咨询会话ID、提交请求ID、强身份标识。选择哪一个取决于上一步的身份条件。动作是:在写入咨询记录前先按幂等键查询,存在则跳过写入,只更新状态字段。结果是同一咨询不会因为重试或跨设备提交而变成多条。
需要说明的是,咨询量归零或重复量突然下降,不能单独证明去重逻辑正确。它也可能是埋点未触发、请求被拦截或数据延迟造成的。判断去重是否生效,应同时核对原始事件日志和去重后的记录数,而不是只看最终咨询总数。
假设某账户在同一天收到两条咨询记录:一条来自手机设备,点击了SEM竞价广告;一条来自电脑设备,没有广告点击标识,但提交了相同手机号。如果系统以手机号为合并主键,两条记录会合并为一条,广告来源归到手机点击。如果系统没有手机号,只能保留两条记录,电脑那条会被计为直接访问。
这个例子的数字仅用于说明比较方法:合并后咨询数为1,未合并为2。两种结果都不是绝对正确,取决于业务是否接受“同一人可能被计两次”或“两个不同人可能被合并”。
上述做法在个别样本上容易成立,规模化后会出现例外。例如,家庭共用设备、公司公共电脑、同一手机号被多人使用,都会让强身份合并产生误判。此时需要设置例外规则:对同一身份在短时间内的多设备咨询保留人工复核标记,而不是自动合并。
另外,付费广告与自然搜索是不同机制,投放SEM竞价广告不构成自然排名保证。跨设备去重只影响咨询计数和渠道评估,不改变广告平台自身的计费逻辑。平台当前的审核规则、界面和价格,应以官方说明为准,本文不代为断言。
最终要做的决定是:如果业务更在意咨询总数准确,优先用强身份合并;如果更在意不误合并,优先保留设备级去重并接受少量重复。两者之间的取舍,取决于你能否拿到稳定且唯一的强身份标识。