Timothe AI(ティモシーAI)

ChatGPT 広告の効果測定 - ピクセルと Conversions API の使い方

ChatGPT 広告の効果測定を OpenAI Pixel と Conversions API で実現する方法を解説。設計・設置・重複除外・レポート確認・トラブルシューティングまで順を追って扱う。

Timothe AI
約8,464文字約17分
ChatGPT広告の効果測定 - ピクセルとConversions APIの使い方

ChatGPT 広告のコンバージョン計測は、 OpenAI Pixel と Conversions API という2つの手段で実現できる。 Pixel はブラウザ側、 Conversions API はサーバー側からイベントを送信し、両者を併用してevent_idで重複除外するのが最も堅牢な構成である。 Ads Manager での準備から Pixel 設置、 Conversions API 実装、レポート確認、トラブルシューティングまでを順に扱う。


ChatGPT 広告で計測できる指標と計測手段の全体像

Ads Manager Beta では、キャンペーン・広告グループ・広告の各レベルで以下の指標を確認できる。コンバージョン計測を設定すれば Conversions も表示される。

指標内容
Impressions広告の表示回数
Clicks広告のクリック数
Spend消化金額
CTRクリック率
Avg CPC平均クリック単価
Avg CPM平均インプレッション単価
Conversionsコンバージョン数(クリック経由)

パイロット初期には「インプレッションとクリックしか確認できない」とする情報が流通していた。だが現在の OpenAI 公式ヘルプでは、 OpenAI Pixel と Conversions API によるコンバージョン計測、イベント別の列表示、 CSV 出力が明確に案内されている(Measure Results | OpenAI Help Center)。古い記事の記述をそのまま信じてよい段階ではない。

注意すべきは、 Ads Manager のメイン Conversions 指標がクリック経由コンバージョンのみを含む点である。ビュースルーコンバージョン(広告を見たが直接クリックしなかったユーザーの後続コンバージョン)はVTA (1d)などの別指標として表示され、 CPA 算出や入札最適化には使われない(Conversion Measurement | OpenAI Help Center)。

ブラウザのPixelとサーバーAPIのイベントが同じIDで統合され、重複計上を防ぐ仕組み
ブラウザのPixelとサーバーAPIのイベントが同じIDで統合され、重複計上を防ぐ仕組み

Pixel と Conversions API の違い

OpenAI Pixel はブラウザ側で動作する JavaScript SDK である。ランディングページ URL に付加されるoppref(広告クリック参照値)を自動的に取得し、__opprefというファーストパーティ Cookie に保存する。設置が比較的簡単で、タグマネージャーからも導入できる。

Conversions API はサーバーから OpenAI のエンドポイントへ直接 POST リクエストでイベントを送信する仕組みである(Conversions API | OpenAI Developers)。ブラウザの制約や Cookie 規制の影響を受けにくい反面、opprefを広告主側で保持・送信する必要がある。

観点OpenAI PixelConversions API
実行環境ブラウザ( JavaScript )サーバー
opprefの扱い自動取得・ Cookie 保存広告主側で保持・送信
Cookie 規制の影響受ける受けにくい
導入の容易さ比較的簡単サーバー側の開発が必要
推奨される用途全ページのベース計測購入・リードなど確定イベント

Pixel は広く・軽く計測し、 Conversions API は重要なイベントをサーバー側で確実に送るという役割分担になる。併用する場合は、同じevent_idを両方に渡すことで、 OpenAI 側が1件に集約する(Measurement Pixel | OpenAI Developers)。


前提条件:計測を始める前に必要なもの

以下がそろっていれば、次のステップに進める。1つでも欠けていると途中で手が止まるため、事前に確認しておく。

  • OpenAI Ads Manager Beta へのアクセス。ログイン後にTools > Conversionsが表示されること
  • 計測対象 Web サイトの<head>を編集できる権限。 CMS の管理者権限、またはタグマネージャー( GTM 等)の編集権限
  • サーバー側のコード変更権限( Conversions API を使う場合)。バックエンドのデプロイフローを確認しておく
  • 計測したいコンバージョンイベントの定義。「何をコンバージョンとするか」を次のステップで決める

Ads Manager のアカウント開設がまだの場合は、ChatGPT Ads Manager の使い方|アカウント開設から出稿までの手順を先に参照してほしい。


ステップ1:コンバージョンイベントを設計する

Pixel や Conversions API を設置する前に、「どのユーザー行動を、どのイベント名で送るか」を決める。ここを曖昧にしたまま実装に入ると、後からイベント名の不一致や二重定義に悩まされることになる。

OpenAI が提供する標準イベントは以下のとおりである(Supported Events | OpenAI Developers)。

ユーザー行動標準イベント名
購入完了order_created
問い合わせ・資料請求lead_created
予約・相談予約appointment_scheduled
会員登録registration_completed
無料トライアル開始trial_started
サブスクリプション開始subscription_created
カート投入items_added
決済開始checkout_started
コンテンツ閲覧contents_viewed
ページ閲覧page_viewed

標準イベントで表現できるなら、それを使う。カスタムイベント(custom)は、標準イベントのどれにも該当しない場合にのみ利用する。たとえば BtoB SaaS で「デモ環境の利用開始」を計測したいとする。機能トライアルの性質に近いならtrial_startedで十分であり、無理にcustomを作る必要はない。

この段階で決めたイベント名とevent_idの発行ルール(注文 ID 、リード ID など自社の一意識別子と対応させる方針)をドキュメント化しておくと、 Pixel 側と Conversions API 側の実装者間で齟齬が生じにくい。


ステップ2: Ads Manager でデータソースとイベントを設定する

Ads Manager Beta 上での操作は、大きく5つのステップに分かれる(Conversion Measurement | OpenAI Help Center)。

  1. Tools > Conversionsを開く。左メニューまたは上部の Tools から Conversions ページへ遷移する
  2. Web データソースを作成し、 Pixel ID を取得する。データソース名を入力すると、 Pixel ID が発行される。この値は Pixel コードと Conversions API の両方で使う
  3. 計測するコンバージョンイベントを登録する。ステップ1で選定した標準イベント(order_createdlead_created等)を選択し、イベント設定として保存する
  4. キャンペーンまたは広告グループとイベント設定を関連付ける。どのキャンペーンでどのコンバージョンを最適化対象にするかを指定する
  5. 自動アドバンストマッチング( AAM )の設定を確認する。 AAM が有効な場合、 Pixel がサイト上の顧客情報をブラウザ内で SHA-256ハッシュ化し、イベントに含める。生のメールアドレス等が OpenAI へ送信されるわけではない

AAM の適用状況はアカウントや時期によって異なる。管理画面の現在の設定を実際に確認することを推奨する。


ステップ3: OpenAI Pixel をサイトに設置する

Pixel の設置は「ベースコードの設置」と「コンバージョンイベントの発火」の2段階で構成される。

ベースコードの設置

ステップ2で取得した Pixel ID を使い、計測対象の全ページ<head>内に以下のコードを追加する(Measurement Pixel | OpenAI Developers)。

<script>
  (function (w, d, s, u) {
    if (w.oaiq) return;
    var q = function () {
      q.q.push(arguments);
    };
    q.q = [];
    w.oaiq = q;
    var js = d.createElement(s);
    js.async = true;
    js.src = u;
    var f = d.getElementsByTagName(s)[0];
    f.parentNode.insertBefore(js, f);
  })(window, document, "script",
     "https://bzrcdn.openai.com/sdk/oaiq.min.js");

  oaiq("init", {
    pixelId: "<YOUR-PIXEL-ID>",
  });
</script>

Content Security Policy ( CSP )を使用しているサイトでは、script-srcconnect-srcbzrcdn.openai.comおよびbzr.openai.comを、img-srcにもbzr.openai.comを許可する必要がある。これを忘れると SDK の読み込みやイベント送信がサイレントにブロックされる。

コンバージョンイベントの発火

コンバージョンが発生するタイミング(サンクスページの表示、フォーム送信完了のコールバックなど)で、以下のようにイベントを送信する。

oaiq(
  "measure",
  "lead_created",
  {
    type: "customer_action",
  },
  {
    event_id: "lead_12345",
  }
);

event_idには自社の注文 ID やリード ID など、1つのコンバージョンに対して一意となる値を設定する。この値が Conversions API 側のidと一致していれば、重複除外が機能する。

GTM を使う場合

Google Tag Manager を利用する場合は、ベースコードを「カスタム HTML 」タグとして全ページ読み込みのトリガーで発火させる。コンバージョンイベントの発火は、サンクスページの Page View トリガーやカスタムイベントトリガーに紐づけた別のカスタム HTML タグで実装する。 GTM 経由でも CSP の許可設定は別途必要である。


ステップ4: Conversions API をサーバーから実装する

Pixel だけでも計測は開始できる。ただ、購入やリード獲得のようにビジネス上重要なイベントについては、サーバー側でも確定データを送る構成が望ましい。ブラウザの制約で Pixel が発火しないケースを補完できるからである。

以下の手順で実装する(Conversions API | OpenAI Developers)。

  1. Ads Manager で Conversions API キーを発行する。Tools > Conversionsのデータソース設定から取得する
  2. API キーをサーバー側のシークレット管理に保存する。環境変数、 AWS Secrets Manager 、 HashiCorp Vault など。ブラウザコードや公開リポジトリには絶対に置かない。クライアント側からの API リクエストは拒否される
  3. コンバージョン確定時にサーバーから POST リクエストを送信する
POST https://bzr.openai.com/v1/events?pid=<PIXEL-ID>
  1. 必須フィールドを含める。id( Pixel 側のevent_idと同じ値)、type(イベント名)、timestamp_ms(ミリ秒の Unix タイムスタンプ)、action_source"web"等)、source_url(コンバージョンが発生したページの URL )、data(イベントに付随するデータ)
  2. opprefを送信する。リダイレクト経由でランディングページ URL からopprefの値を取得・保持できている場合は、リクエストに含める。opprefはクリックとの関連付けに使われるため、保持できるかどうかが計測精度に直結する
  3. 初回はvalidate_only: trueで検証する。このフラグを付けてリクエストすると、実際にはイベントを記録せずバリデーション結果だけを返す。レスポンスでエラーがないことを確認してから本番送信に切り替える
  4. バッチ送信の制約を把握する。1リクエストあたり最大1,000イベントを送信できるが、1件でも不正なイベントが含まれるとバッチ全体が失敗する。大量送信時はバッチ分割とエラーハンドリングの仕組みが必要である
参照値を保持したサーバーイベントを検証し、Pixelと同じIDで重複を除外する流れ
参照値を保持したサーバーイベントを検証し、Pixelと同じIDで重複を除外する流れ

ステップ5: Pixel と Conversions API の重複除外を確認する

Pixel と Conversions API を併用する場合、同じコンバージョンが二重に計上されないか。この懸念は自然だが、event_idの設計さえ正しければ OpenAI 側で1件に集約される(Measurement Pixel | OpenAI Developers)(Conversions API | OpenAI Developers)。

重複除外に必要な条件は以下の4つである。

  • 同じ Pixel ID であること
  • 同じイベント名であること(例:order_created
  • 同じevent_id( Pixel 側)= 同じid( API 側)であること
  • カスタムイベントの場合はcustom_event_nameも一致させること

片方だけから送信されたイベントは、そのまま1件として計上される。両方から同一 ID で送信された場合にのみ、集約処理が行われる。

つまり、event_idの一意性と一貫性がこの仕組みの要である。注文 ID やリード ID のように、ビジネスロジック上すでに一意な値を使うのが最もシンプルだ。 UUID を別途生成して Pixel とサーバーの両方に渡す方法でも問題ないが、管理が一段複雑になる。


ステップ6: Ads Manager と GA4でレポートを確認する

計測が動き始めたら、数値を確認して運用に活かすフェーズに入る。 Ads Manager 内の確認と GA4での流入分析、そして両者の数値差の理由を把握しておきたい。

Ads Manager での確認

  1. キャンペーン/広告グループ/広告レベルで Conversions を確認する。コンバージョン計測を設定済みのキャンペーンでは、 Conversions 列にクリック経由コンバージョン数が表示される
  2. イベント列を編集し、個別イベントを表示する。order_createdlead_createdなど、イベントごとの内訳を確認できる場合がある(Measure Results | OpenAI Help Center
  3. 日次・累計の CSV を出力する。社内レポートやダッシュボードへの取り込みに活用する

GA4で ChatGPT 広告の流入を確認する

広告のランディング URL に UTM パラメータを付与する。たとえばutm_source=chatgpt&utm_medium=cpc&utm_campaign=summer_2026のように設定し、 GA4の「トラフィック獲得」レポートでソースchatgptをフィルタすると、流入数・エンゲージメント・コンバージョンを確認できる。

Ads Manager と GA4の数値が一致しない理由

両者の数値が一致することは、まずない。主な原因を整理する。

  • Ads Manager の「 Clicks 」は広告のクリック数であり、 GA4の「セッション」はサイト訪問数である。1クリックが複数セッションになることも、その逆もある
  • Ads Manager と GA4で設定タイムゾーンが異なると、日次集計の境界がずれる
  • Ads Manager のクリック経由コンバージョンのアトリビューション期間と、 GA4のアトリビューション設定は独立している
  • Cookie バナーの同意状況によっては、 GA4側でセッションが記録されない場合がある
  • 中間リダイレクトで UTM パラメータやopprefが消失するケースがある
  • Ads Manager の配信データは最大約7時間、コンバージョンは24〜48時間の反映遅延がありうる

比較する際は、期間・タイムゾーン・キャンペーン範囲・アトリビューション条件をそろえたうえで、「傾向が一致しているか」を見る姿勢が現実的である。ピクセル単位の数値合わせに時間をかけるより、週次の傾向で異常値がないかを監視するほうが実務的だろう。


コンバージョンが表示されないときのトラブルシューティング

設定を終えたのに Ads Manager の Conversions がゼロのまま、というのは珍しくない。焦る前に、以下のチェックリストを上から順に確認する(Troubleshooting Common Issues | OpenAI Help Center)。

  • [ ] Pixel ID が Ads Manager の値と一致しているか。コピー時の余計な空白やタイプミスを確認
  • [ ] Pixel ベースコードがコンバージョン対象ページの<head>に存在するか。ブラウザの開発者ツールで SDK (oaiq.min.js)のリクエスト成否を確認
  • [ ] イベント名が Ads Manager に登録した名前と一致しているか。lead_createdleadCreatedは別物である
  • [ ] Conversions API 側のidと Pixel 側のevent_idが同じ値か。重複除外が正しく機能するには一致が必要
  • [ ] opprefがリダイレクトの過程で消失していないか。ランディングページの URL パラメータを確認し、リダイレクト設定を見直す
  • [ ] API キーをブラウザ側に露出していないか。クライアント側からの Conversions API リクエストは拒否される
  • [ ] CSP が SDK (bzrcdn.openai.com)やイベント送信先(bzr.openai.com)をブロックしていないか。ブラウザのコンソールに CSP 違反のエラーが出ていないか確認
  • [ ] レポート反映を待ったか。配信データは最大約7時間、コンバージョンは24〜48時間の遅延がありうる。設定直後にゼロでも、翌日〜翌々日に再確認する
  • [ ] Ads Manager と GA4で比較期間やタイムゾーンをそろえているか。片方だけ前日までのデータになっている場合がある

多くの場合、原因はイベント名のタイプミス、 CSP によるブロック、反映遅延のいずれかである。validate_only: trueで Conversions API のレスポンスを確認し、 Pixel はブラウザの開発者ツールでネットワークリクエストを目視する。この2つの検証を先に済ませれば、問題の切り分けは速い。

Pixel読み込みからイベント、参照値、API検証、反映待機までを順に確認する切り分け手順
Pixel読み込みからイベント、参照値、API検証、反映待機までを順に確認する切り分け手順

FAQ

ChatGPT 広告の効果測定で個人の会話内容は広告主に見えるのか?

見えない。広告主が受け取るのは Impressions 、 Clicks 、 Conversions 等の集計済み指標のみである。ユーザーの個別チャット内容や個人情報にはアクセスできない。 OpenAI はこの点を公式に明言しており、広告がチャットの回答内容に影響を与えることもないとしている。

opprefとは何か?なぜ重要なのか?

OpenAI の広告クリック参照値であり、広告クリック後のランディングページ URL にパラメータとして付加される。 Pixel はこれを自動的に取得し、__opprefというファーストパーティ Cookie に保存する。後続のコンバージョンイベントとの関連付けに使われる仕組みだ。

Conversions API では広告主側で値を保持し、サーバーイベントに含めて送信する必要がある。opprefがなくても計測は試行されるが、広告クリックとコンバージョンの関連付け精度が下がる。リダイレクト等で消失しないよう経路を確認しておくことが重要である(Conversion Measurement | OpenAI Help Center)。

ビュースルーコンバージョンはメインの Conversions 指標に含まれるのか?

含まれない。 Ads Manager のメイン Conversions 指標はクリック経由コンバージョンのみである。ビュースルーコンバージョンはVTA (1d)等の別指標として表示され、 CPA 算出や入札最適化にも使われない(Measure Results | OpenAI Help Center)。

Conversions API だけで計測できるか? Pixel は必須か?

Conversions API 単独でもイベント送信は可能である。ただし Pixel を併用すると、opprefの自動取得やブラウザ側シグナルの補完ができるため、計測の堅牢性が高まる。特別な事情がない限り、併用が推奨される。

日本の広告主も Pixel と Conversions API を使えるのか?

日本でも ChatGPT 広告パイロットは2026年6月に開始されており、国内ローンチパートナーとして電通デジタル、 Hakuhodo DY ONE 、サイバーエージェントが参画している。ただし、 Ads Manager Beta や Conversion 設定の利用可否はアカウントや提供状況によって異なる場合がある。管理画面でTools > Conversionsが表示されるか確認し、不明な場合は国内ローンチパートナーへ問い合わせるのが確実である。

Growth Calendar

LLMO対応SEO記事の執筆から公開までAIエージェントで

LLMO対応SEO記事の執筆から公開までAIエージェントで

著者

Unbounded Pioneering株式会社
Timothe AI

ティモシーAIツールは、「Timothe AI」を提供する Unbounded Pioneering株式会社が開発・運営する無料ツール群です。

鈴木 凌介 (Ryosuke Suzuki)
鈴木 凌介 (Ryosuke Suzuki)創業者・代表取締役

「Timothe AI」を提供する Unbounded Pioneering株式会社の創業者・代表取締役。機械学習・AIプロダクト開発のエキスパート。大学在学中は研究室にて機械学習の研究に従事。その後、株式会社プレイド・楽天・リクルートにおいて、ソフトウェアエンジニアとして大規模プロダクトの設計・開発を手がけるとともに、新規事業開発を推進。現在は生成AI・AIプロダクト領域を専門とし、エンジニアリングと事業開発の両面から一貫してプロダクト開発に携わる。ウェブ技術領域における複数の特許を発明。

特許発明者(特許第6887648号・特許第7480958号)・Timothe AI関連技術で特許出願中