🧭 OpenAI Ads GTM 新手配置教程

从创建容器到发布 Page View、订单和自定义事件,按步骤照着做即可完成。

开始前先理解

一个容器,三个 Tag,三个触发条件

GTM Container ID 和 OpenAI Ads Pixel ID 都必须使用你自己账号中的值。本教程不会预填测试账号 ID,避免复制错环境。

1创建容器安装 GTM
2导入模板选择 OpenAI Tag
3配置事件Page / Order / Custom
4预览发布事件流验收

先输入你自己的配置

下面两个值只在当前页面中用于生成示例,不会发送到服务器。填写后,后续代码和截图式示意图会自动更新。

打开 Google Tag Manager 官网 ↗打开 OpenAI Ads Pixel 页面 ↗
⚠️不要复制别人的 Container ID 或 Pixel ID。每个客户、网站和环境都应该使用归属于自己的配置。

第 1 步:准备账号和 ID

先把下面的信息放在手边,配置时不会来回找。

Container ID 在 GTM 哪里?

https://tagmanager.google.com/
GTM-XXXXXXX
方法一:进入容器后看页面顶部
账号你的公司或客户账号
容器你的正式网站
页面顶部蓝色 IDGTM-XXXXXXX
方法二:所有账号列表
名称类型容器 ID
你的正式网站网站GTM-XXXXXXX
1复制以 GTM- 开头的值。它不是账号 ID、网站名称,也不是 Pixel ID。
GTM Container ID 位置示意图:容器页面顶部和“所有账号”列表的“容器 ID”列都可以找到。

Pixel 在哪里创建并获取 Pixel ID?

https://openai-ads.tec-do.cn/assets/pixels
Pixel+ 创建 Pixel

为广告账户配置站点数据源,用于转化事件与 CAPI 上报归因。

创建 Pixel
归属账户选择实际广告账户
Pixel 名称例如:官网 Pixel
Client TypeWeb
关闭提交
创建成功后,在名称下方复制 ID
官网 PixelYOUR_PIXEL_ID
操作查看代码
2直接打开上方地址,点击创建 Pixel。提交成功后,列表中 Pixel 名称下方的一串字符就是 Pixel ID。
OpenAI Ads Pixel 创建与 Pixel ID 位置示意图:必须选择事件实际归属的广告账户。
⚠️测试时可以把按钮点击映射成 order_created;正式上线必须绑定真实下单成功动作,不能绑定“查看商品”或普通按钮。

第 2 步:创建并安装 GTM 容器

  1. 打开 Google Tag Manager 官网,点击创建账号
  2. 填写账号名称、国家/地区和容器名称。
  3. 目标平台选择 网页,创建后接受服务条款。
  4. 创建完成后,在页面顶部复制你自己的 GTM-XXXXXXX
  5. 复制 GTM 提供的两段安装代码,添加到网站每个页面。
https://tagmanager.google.com/
创建账号
创建容器时这样填写
账号名称你的公司或客户名称
国家/地区选择实际地区
容器名称你的正式网站域名
目标平台网页
1创建后,页面顶部会显示你的 Container ID:GTM-XXXXXXX。把它复制到本教程顶部输入框。
GTM 容器创建界面示意图:按钮和字段按当前中文版绘制,实际排版可能随 Google 更新略有变化。

第一段:放在 <head> 内尽可能靠前

HTML · 自动使用你输入的 Container ID

第二段:紧跟起始 <body> 标记之后

HTML · 自动使用你输入的 Container ID
ℹ️Google Sites 的 HTML 嵌入会运行在多层 iframe 中。Tag Assistant 顶层显示 0 个标签,不等于嵌入页里的 GTM 没有执行;最终应以实际网络请求和 OpenAI 事件流为准。

第 3 步:添加 OpenAI Ads Tag 模板

  1. 在 GTM 左侧打开 模板
  2. 在“代码模板”区域点击搜索模板库
  3. 搜索 OpenAI Ads Measurement Pixel
  4. 确认发布者为 openai,点击添加到工作区并确认权限。
Google Tag Manager · 工作区
代码模板搜索模板库
搜索社区模板库
搜索OpenAI Ads Measurement Pixel
模板OpenAI Ads Measurement Pixel
发布者:openai · Web
2先核对模板名称和发布者,再点击添加到工作区
Tag 模板导入界面示意图:不要选择名称相近但发布者不同的第三方模板。
检查项正确状态
模板名称OpenAI Ads Measurement Pixel
发布者openai
容器类型Web
不要随便选择名称相近的第三方模板。模板可以执行网络请求,应确认来源和权限。

第 4 步:创建 Event ID 变量

进入 变量 → 新建 → 自定义 JavaScript,变量命名为 JS - OpenAI Click Event ID

GTM 自定义 JavaScript
function() {
  return 'oai_' + new Date().getTime().toString(36)
    + '_' + Math.random().toString(36).slice(2, 10);
}
Event ID 是可选的事件去重标识。教程中的随机变量适合纯 Pixel 点击演示;订单等关键事件应优先使用稳定且唯一的业务 ID。
⚠️生产环境 Pixel + CAPI 双发:Event ID 必须由业务事件生成一次,并同时传给 GTM 和后端 CAPI;前端和后端各自随机生成,无法去重。

生产双发建议

dataLayer 示例
window.dataLayer.push({
  event: 'purchase_success',
  openai_event_id: order.id,
  amount: order.amountMinor,
  currency: order.currency
});
// 后端 CAPI 请求同时使用同一个 order.id 作为 event_id

第 5 步:配置 page_viewed

  1. 进入 代码 → 新建,命名 OpenAI Ads - Page Viewed
  2. 代码类型选择 OpenAI Ads Measurement Pixel
  3. 填写 Pixel ID,保持“发送事件”勾选。
  4. Event name 选择 Page viewed
  5. 触发器选择 All Pages,保存。
📘需要继续学习各事件支持哪些参数、参数含义和填写方式,请打开 OpenAI Ads 回传接入指南首页:在步骤四选择事件后,进入步骤五查看完整参数
Google Tag Manager · 代码配置
OpenAI Ads - Page Viewed保存
代码配置
代码类型OpenAI Ads Measurement Pixel
Pixel IDYOUR_PIXEL_ID
发送事件☑ 已勾选
Event namePage viewed
Event ID{{DLV - page view event id}}(若配置)
触发条件All Pages
3先确认 Pixel ID 是你自己的,再保存 Tag。页面加载后 SDK 上报事件名为 page_viewed
Page View Tag 配置示意图:最适合用来验证 GTM、模板和 Pixel 是否连通。
Pixel IDYOUR_PIXEL_ID(你自己的 Pixel ID)
Event namePage viewed(SDK 上报为 page_viewed
Event ID可选的去重 ID;若同一 Page View 还会由 CAPI 或另一系统发送,Pixel 与服务端必须使用同一个值。是否配置由你的接入方案决定。
TriggerAll Pages

oppref 如何进入归因链路?

🔗oppref 是 OpenAI 广告点击引用,不是 Event ID。OpenAI 会把它附加到落地页 URL。Pixel SDK 会捕获该值并保存到第一方 Cookie,因此 OpenAI GTM Tag 中没有单独的 oppref 输入框。
① 广告点击落地页 URL 带 oppref
② Pixel 初始化读取并保存 oppref
③ GTM 事件发送页面或转化事件
④ CAPI 双发服务端回传原始 oppref
字段作用在 GTM 中怎么处理
oppref把转化与 OpenAI 广告点击关联不映射到 Event ID;确保 Pixel 初始化前不要从 URL 中删除它
Event IDPixel 与 CAPI 对同一事件去重双发时两端使用同一个业务事件 ID
CAPI 接入提醒:如果后端也回传转化,需要从首次落地页 URL 读取 oppref,在跳转、登录、结账和订单链路中原样保存,并作为 CAPI 事件对象的顶层字段发送。
ℹ️页面加载触发最简单,适合先验证 Pixel ID、SDK 和 GTM 是否连通。

第 6 步:配置标准事件 order_created

订单参数不是 GTM 自动猜出来的。网站必须在真实下单成功时,把订单对象推入 dataLayer,GTM 再通过数据层变量读取。

📘需要查询 order_created 的完整事件参数,请打开 OpenAI Ads 回传接入指南首页:在步骤四选择订单事件后,进入步骤五查看完整参数
① 订单系统产生订单 ID、金额和商品
② dataLayer网页推送 purchase_success
③ GTM 变量按路径读取每个字段
④ OpenAI Tag映射到 order_created

第一步:在真实下单成功处推送订单数据

商品名称从哪里来?从你网站的真实订单对象、支付成功回调或后端返回结果中读取,例如 order.items[0].name。不要优先从页面文字中抓取,因为页面文案可能变化,也可能与最终订单不一致。
网站代码 · purchase_success dataLayer 示例
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  event: 'purchase_success',
  openai: {
    event_id: order.id
  },
  order: {
    amount: 4200,          // 订单总额,最小货币单位:42.00 USD
    currency: 'USD',
    items: [{
      content_type: 'product',
      id: 'sku_123',
      name: 'Test Product',
      quantity: 2,
      amount: 2100,       // 单件金额:21.00 USD
      currency: 'USD'
    }]
  }
});
ℹ️order 只是示例变量名。开发人员应将它替换为网站实际的订单对象;Shopify、Shoplazza、自建商城的字段名称都可能不同。

第二步:在 GTM 创建数据层变量

Google Tag Manager · 变量 → 新建 → 数据层变量
DLV - item 0 name保存
变量配置
变量类型数据层变量
数据层变量名称order.items.0.name
数据层版本版本 2
3路径中的 0 表示第一件商品。创建其他变量时只替换最后的字段名,例如 idquantityamount
GTM 数据层变量配置示意图:变量名称是读取 dataLayer 对象的路径,不是随便填写的标签。
GTM 变量名数据层变量名称读取到的值
DLV - openai event idopenai.event_id订单 ID,用于 Pixel/CAPI 去重
DLV - order amountorder.amount订单总额,整数最小货币单位
DLV - order currencyorder.currencyUSD、CNY 等三位货币码
DLV - item 0 typeorder.items.0.content_typeproduct
DLV - item 0 idorder.items.0.idSKU 或商品 ID
DLV - item 0 nameorder.items.0.name商品名称
DLV - item 0 quantityorder.items.0.quantity购买数量,整数
DLV - item 0 amountorder.items.0.amount单件金额,整数最小货币单位
DLV - item 0 currencyorder.items.0.currency商品币种

第三步:把变量填进 Order Created Tag

Google Tag Manager · OpenAI Ads Measurement Pixel
OpenAI Ads - Order Created保存
Pixel IDYOUR_PIXEL_ID
Event nameOrder created
Event ID{{DLV - openai event id}}
Amount{{DLV - order amount}}
Currency{{DLV - order currency}}
Contents · Add content item
Content type{{DLV - item 0 type}}
ID{{DLV - item 0 id}}
Name{{DLV - item 0 name}}
Quantity{{DLV - item 0 quantity}}
Amount{{DLV - item 0 amount}}
Currency{{DLV - item 0 currency}}
4Amount、Quantity 必须是整数;金额使用最小货币单位。顶层 Amount 是订单总额,Contents 中 Amount 是单件商品金额。
Order Created 完整参数配置示意图:官方模板的 Contents 一行包含 Content type、ID、Name、Quantity、Amount、Currency。

第四步:创建真实下单成功触发器

Google Tag Manager · 触发器配置
CE - purchase_success保存
触发器类型自定义事件
事件名称purchase_success
此触发器的触发条件所有自定义事件
5这里的事件名称必须与 dataLayer.push({event:'purchase_success'}) 完全一致。
正式订单触发器示意图:以 dataLayer 自定义事件触发,不使用普通按钮点击。
⚠️多商品订单:当前模板的 Contents 是逐行配置。可以继续添加第 2、3 件商品的变量行;如果商品数量完全动态且没有合理上限,优先由后端使用 CAPI 发送完整商品数组。

第 7 步:配置自定义事件

  1. 新建 Tag,命名为业务动作,例如 OpenAI Ads - Guide Pixel Method Clicked
  2. Event name 选择 Custom event
  3. Custom event name 填稳定的小写下划线名称,例如 guide_pixel_method_clicked
  4. Event ID 选择唯一 ID 变量。
  5. 创建只命中目标元素的点击触发器。
📘需要学习自定义事件及其他事件的参数内容,请打开 OpenAI Ads 回传接入指南首页:在步骤四选择事件后,进入步骤五查看完整参数
Google Tag Manager · 自定义事件与触发器
OpenAI Ads - Guide Pixel Method Clicked保存
Pixel IDYOUR_PIXEL_ID
Event nameCustom event
Custom event nameguide_pixel_method_clicked
Event ID{{JS - OpenAI Click Event ID}}
触发器配置
触发器类型点击 - 所有元素
触发条件Click Element 与 CSS 选择器相符 #choicePixel, #choicePixel *
5点击卡片中的标题、图标或说明文字时,实际 Click Element 可能是子元素,因此选择器要同时覆盖目标元素及其子元素。
Custom Event 与点击触发器配置示意图:事件名称使用稳定的小写下划线格式。

Click Element、HTML 元素、CSS 选择器是什么关系?

HTML 元素页面中的真实节点,例如卡片、图标、标题。开发者工具 Elements 面板里看到的每一行标签都是元素。
Click ElementGTM 内置变量,值是用户这一次真正点击到的 HTML 元素。
CSS 选择器用来描述“哪些元素算目标”的匹配规则,例如 #choicePixel *
<div id="choicePixel">
<span class="icon">📊</span>
<div class="title">Measurement Pixel</div> ← 用户点这里
<p>适合追踪前端事件</p>
</div>
① 用户点击标题实际节点是 .title
② Click Element保存这个 div 节点
③ CSS 匹配#choicePixel * 命中子元素
④ Tag 触发发送 custom 事件
写法能命中什么注意
#choicePixel只命中卡片最外层元素点到标题或图标时可能不命中
#choicePixel *命中卡片里面的所有子元素不能单独覆盖外层本身
#choicePixel, #choicePixel *同时覆盖外层和所有子元素本教程点击卡片推荐写法
GTM 配置路径:触发器 → 新建 → 点击 - 所有元素 → 某些点击 → Click Element → 与 CSS 选择器相符,最后填入选择器。
Custom event nameguide_pixel_method_clicked
Trigger variableClick Element
CSS selector#choicePixel, #choicePixel *
ℹ️使用 Click Element 加 CSS 选择器,可以让卡片本身、图标、标题和说明文字都命中;只判断 Click ID 时,点到子元素可能不会触发。
页面浏览page_viewed

标准事件

创建订单order_created

标准事件

业务交互guide_pixel_method_clicked

自定义事件

第 8 步:预览、验收并发布

  1. 点击 GTM 右上角预览,输入测试网址并连接。
  2. 分别加载页面、点击订单动作和自定义动作。
  3. 在 Tag Assistant 确认对应 Tag 已触发。
  4. 到 OpenAI Ads 资产设置 → 事件流查询 Pixel。
  5. 确认来源为 web、渠道为 Pixel SDK,事件名称正确。
  6. 回到 GTM 点击提交 → 发布及创建版本,填写版本名称和说明。
  • page_viewed 在页面加载后出现
  • order_created 只在下单成功动作后出现
  • 自定义事件名称与后台定义完全一致
  • 广告点击落地页中的 oppref 没有在 Pixel 初始化前被跳转或脚本删除
  • CAPI 回传使用业务链路保存的原始 oppref,且没有把它误当成 Event ID
  • Pixel + CAPI 双发使用相同 Event ID
  • 发布版本名称能说明本次改动
事件流可能有数秒延迟。立即查不到时等待 5–15 秒再查询;事件已接收不代表已经完成广告归因或进入报表。
🎉完成标准:GTM 已发布、真实页面动作可触发、OpenAI 事件流能看到正确事件类型。