Hotdry.

Article

ChatGPT广告归因循环技术拆解:从SSE流到转化回传的全链路解析

深入拆解ChatGPT广告归因系统的工程实现细节,涵盖SSE流广告单元结构、Fernet加密token链路、上下文定向机制与OAIQ SDK闭环流程。

2026-04-29web

当 ChatGPT 在对话界面中展示广告时,其背后是一套精密设计的归因系统。与传统搜索广告不同,ChatGPT 的广告单元通过服务端推送事件(SSE)实时注入对话流,用户点击后的转化回传则依赖 OAIQ SDK 与多层级加密 token 的协同工作。本文从工程视角完整拆解这一闭环链路的关键技术细节。

一、SSE 流中的广告单元注入机制

ChatGPT 的广告展示并非独立于对话响应之外,而是深度嵌入在模型输出的 SSE 流中。当用户发送消息后,客户端与后端建立 SSE 连接, endpoint 位于 chatgpt.com/backend-api/f/conversation。在这个持续推送的数据流中,除了模型生成的文本增量(delta),还会穿插结构化的广告单元对象。

广告单元采用类型化 schema single_advertiser_ad_unit,包含以下核心字段:广告请求 ID(ads_request_id)、广告商品牌信息(advertiser_brand,含名称、URL、favicon 和 32 位十六进制的账户标识adacct_<hex>)、以及轮播卡片数组(carousel_cards)。每张卡片定义标题、正文、图片和目标跳转 URL,其中target.open_externally: false参数表明链接在 ChatGPT 内置 Webview 中打开,这一设计使 OpenAI 能够持续观测用户点击后的页面行为,而不仅依赖商户侧像素信号。

值得注意的是,广告素材(包括品牌图标和创意图片)统一托管于bzrcdn.openai.com,这意味着 OpenAI 对广告呈现拥有完全控制权,商户仅能通过 API 提交素材而非自行托管。

二、四层 Fernet 加密 token 的归因链路

ChatGPT 广告归因的核心在于四个 Fernet 加密 token 的协同运作,每个 token 承担独立职责,共同构成完整的点击 - 转化追踪链条。

第一个 token 是ads_spam_integrity_payload,它被嵌入 SSE 数据内部而非点击 URL 中,主要用于服务端完整性校验,防止伪造广告点击攻击。第二个 token 称为oppref(forward attribution token),它同时出现在点击 URL 和商户页面中,被 OAIQ SDK 读取后写入第一方 Cookie __oppref,有效期为 720 小时(30 天),并伴随后续所有商户像素事件一同回传。第三个 tokenolrefoppref成对出现在点击 URL 中,但 SDK 并未将其持久化,推测用于 OpenAI 服务端记录外链点击日志。第四个 token 是 base64 包装的ad_data_token,携带在 SSE 载荷内,可能用于点击时的服务端校验与对账。

Fernet 加密方案采用 AES-128-CBC 配合 HMAC-SHA256 完整性校验,密钥仅由服务端掌握。其加密数据前九个字节包含版本标识(0x80)和 8 字节大端序 Unix 时间戳,因此即便无密钥也能解析 token 的生成时间。实测数据显示,一个 Home Depot 广告点击 URL 的 token 生成时间为 11:30:08,而浏览器实际请求商户页面的时间为 11:31:43,间隔 95 秒,这一延迟可能源于用户决策时间或客户端预处理开销。

三、上下文感知的广告定向逻辑

ChatGPT 广告的显著特征是高度上下文相关。实测数据表明,同一测试账号在不同话题的六次对话中收到了六个截然不同的广告:当对话涉及北京行程规划时展示 Grubhub 外卖广告,讨论北京景点门票时出现 GetYourGuide tour 推荐,涉及北京航班搜索时推送 Axel 机票广告,NBA 季后赛相关对话中展示 Gametime 票务广告,春季时尚话题对应 Aritzia 品牌,而生产力工具讨论则出现 Canva 广告。

这种定向机制显然基于当前对话的语义内容,但目前尚未发现系统是否同时利用历史会话记录进行更长期的兴趣建模。无论如何,上下文定向决定了广告填充发生在模型响应生成阶段,而非传统的广告位竞拍模式,这为工程实现带来了独特的挑战 —— 广告候选必须在 SSE 流的关键节点插入,且不能打断用户的对话体验。

四、OAIQ SDK 的转化回传闭环

用户点击广告卡片后,点击 URL 携带opprefolref参数跳转至商户页面。商户页面加载时,浏览器会请求https://bzrcdn.openai.com/sdk/oaiq.min.js(当前版本 0.1.3),随后通过以下代码初始化跟踪:

oaiq('init', { pid: '<merchant pixel ID>' });
oaiq('measure', 'contents_viewed', { ... });

SDK 在初始化时从 URL 参数中提取oppref值,写入第一方 Cookie __oppref,设置 TTL 为 720 小时,同时创建探测 Cookie __oaiq_domain_probe。此后每次调用measure方法(用于上报商品浏览、加购、下单等事件)都会向https://bzr.openai.com/v1/sdk/events发起 POST 请求,携带商户标识(pid)、SDK 类型(st=oaiq-web)和版本信息(sv=0.1.3)。

这意味着转化归因的闭环需要两方协同:OpenAI 负责在点击时生成并传递 token,商户侧通过 OAIQ SDK 在每个关键行为节点回传事件,OpenAI 服务端则通过 token 关联点击与转化,实现归因分析。

工程实践要点

对于希望在 ChatGPT 广告体系中投放的商户而言,理解这套归因机制意味着几个关键工程决策点:首先,需要接入 OAIQ SDK 并确保measure调用覆盖所有核心转化事件;其次,由于oppref Cookie 有效期长达 30 天, Attribution Window 设计应覆盖此周期;最后,考虑到target.open_externally: false的内置 Webview 设计,商户外链落地页应避免强制跳转或弹窗干扰,以免影响用户体验和归因准确性。

对于隐私合规团队,建议关注的两个域名是bzrcdn.openai.combzr.openai.com,两个关键 Cookie 是__oppref__oaiq_domain_probe,这些是 ChatGPT 广告跟踪的技术入口。


资料来源:本文技术细节基于 Buchodi 威胁情报报告的流量观测分析,原始发布于 2026 年 4 月 28 日。

web