Adobe Advertising の Creative Management - Dynamic Creative Optimization(DCO)は、ルールベースのターゲティングと機械学習を組み合わせ、10,000 以上の製品カタログからパーソナライズされた広告を 25 ms 未満でレンダリングします。これにより、2 層アーキテクチャを通じて、20~40%のパフォーマンス向上を実現します。
概要
オンラインで閲覧している際に、まさに興味を持っている製品の広告が目に飛び込んでくることを想像してみてください。これは、ランダムではなく、完全にカスタマイズされた広告です。一見シンプルなこの広告の背後には、ルールベースのターゲティングと機械学習を組み合わせて、25 ミリ秒未満でパーソナライズされた広告を配信する、高度な 2 層システムがあります。
Adobe Advertising Creative Management は、広告主がチャネルをまたいで広告を作成、管理、最適化することを実現します。標準の静的クリエイティブと、ターゲティング、ローテーション方法、パフォーマンス最適化機能を備えた動的フィード/カタログ広告をサポートしています。
Dynamic Creative Optimization(DCO)は、Creative Management のコア機能で、動的広告のリアルタイムパーソナライゼーションを強化します。Creative Management は、クリエイティブな設定、カタログのアップロード、エクスペリエンスの設定を処理しますが、広告のレンダリングに関しては水面下で、DCO がリアルタイムの意思決定エンジンを実行し、ユーザーの環境設定に合わせて最適な商品を選択します。この 2 層システム(決定論的なターゲティングルールと機械学習による最適化を組み合わせたもの)により、広告主は、プログラムによる広告に必要な速度と規模を維持しながら、大規模な製品カタログを活用できます。DCO は、静的クリエイティブテンプレートを、ユーザーの場所や環境設定にリアルタイムで適応する、パーソナライズされたコンテキスト認識広告に変換します。
これが Dynamic Creative Optimization(DCO)です。最適な方法を継続的に学習しながら、1 日に何百万もの意思決定を処理する、本番対応のアーキテクチャです。
図 1:入札獲得からターゲティング、製品選択、機械学習による最適化、最終的な広告レンダリングまで。
図 2:エンドツーエンドのクリエイティブ最適化ワークフロー
課題
パーソナライズされた広告を大規模に配信するには、次の 4 つの制約を同時に解決する必要があります。
-
規模:広告主ごとに 10,000 以上の製品カタログを処理する
-
速度:広告リクエストごとに 25 ミリ秒未満で判断する
-
関連性:ユーザーのコンテキスト(場所、興味、デバイス)に合わせて広告を一致させる
-
最適化:実際のユーザー行動から継続的に学習および改善する
従来のアプローチには限界があります。ランダムな選択では関連性が低くなります。数千もの製品を順番にスキャンするのは時間がかかりすぎます。静的スコアリングルールでは、コンバージョンにつながるものを学習できません。また、ビジネスロジックのない純粋な機械学習では、関連性の低い広告を配信したり、キャンペーンの制約に違反したりする場合があります。
クリエイティブのタイプ:標準と動的
ターゲティングシステムの詳細を学習する前に、クリエイティブの 2 つの主なタイプを理解しておくことが重要です。
標準クリエイティブ
標準クリエイティブは、事前に定義された固定コンテンツを含む 静的広告 です。クリエイティブアセット(画像、コピー、コールトゥアクション)は 1 回アップロードされ、誰が広告を表示したかに関係なく、変更されません。
-
ユースケース:パーソナライゼーションを必要としないブランド認知度向上やサブスクリプションプロモーション。
-
例:「概要を明確にする」や「クライアントがより多くのオプションを必要としている」などの機能をハイライト表示した Adobe Creative Cloud バナー。固定レイアウトとメッセージを含む事前にデザインされた広告テンプレートとクリエイティブツールを紹介し、すべての対象ユーザーに同じように表示します。
-
最適化:機械学習は、どの静的クリエイティブが最もパフォーマンスが高いかを最適化しますが、コンテンツ自体はユーザーごとに変更されません。
図 3:静的クリエイティブのバリアントの例
動的クリエイティブ
動的クリエイティブは、カタログフィードからリアルタイムの製品情報を取り込む テンプレートベースの広告 です。テンプレートによりレイアウトが定義され、製品データ(画像、タイトル、価格、説明)はユーザーコンテキストに基づいて配信時に挿入されます。
-
ユースケース:小売、旅行、自動車 - 大規模な製品カタログを持ち、各ユーザーに関連性の高い製品を表示することを望む広告主。
-
例:カリフォルニアで家電製品を閲覧しているユーザーには、その地域で 999 ドルで販売されているラップトップの動的広告が表示されます。一方、ニューヨークのユーザーには、閲覧履歴に基づいて異なる製品が表示されます。
-
最適化:機械学習は、製品とクリエイティブテンプレートの組み合わせを最適化し、ユーザーに対して最適な製品と最適な視覚的処理の両方を選択します。
クリエイティブグループと広告テーマ
Adobe Advertising Creative では、キャンペーンは エクスペリエンス に整理されます。ターゲットエクスペリエンスでは、意思決定ツリーを使用できます。各分岐はオーディエンスルール(地域、デバイス、セグメントなど)を適用し、そのツリーの 最終リーフノード は、この記事で 広告テーマ と呼ぶ、クリエイティブが関連付けられた特定のオーディエンスパスです。
クリエイティブグループとは、1 つの広告テーマに関連付けられたクリエイティブ(標準または動的)のコレクションです。階層 1 で現在のリクエストに対して広告テーマを選択した後、システムでは引き続き、そのクリエイティブグループから どのクリエイティブ を表示するかを決定する必要があります。この選択は、UI で設定した ローテーション方法 により制御されます。
アルゴリズムベース(Algo)
機械学習(特にトンプソンサンプリング)を使用して、最もパフォーマンスの高いクリエイティブを自動的に選択します。システムでは、各クリエイティブの成功指標(クリック数、コンバージョン数)を追跡し、代替案を模索しながら、勝者を優遇していきます。これは、キャンペーンのパフォーマンスを最大化するのに推奨される方法です。
加重
広告主が定義した割合に従って、クリエイティブをまたいでインプレッション数を配分します。例えば、広告主はインプレッション数の 70%をクリエイティブ A(プライマリメッセージ)、30%をクリエイティブ B(テストバリアント)に設定できます。制御された A/B テストや、特定のトラフィック配分が必須の場合に役立ちます。
順次
定義された順序でクリエイティブをローテーションし、各クリエイティブを循環させてから繰り返します。時間の経過と共に均等に配分されるので、すべてのクリエイティブに均等な公開が必要なキャンペーンに役立ちます。
ランダム
リクエストごとに、使用可能なクリエイティブから均等な確率でランダムに選択します。シンプルですが、学習や最適化は行われません。ベースラインテストや、真のランダム化が必要な際に役立ちます。階層 1:ターゲティングと広告テーマの選択
目的:適切なクリエイティブグループ(広告テーマ)を見つけます。これは、標準、動的、ビデオの すべて の広告タイプで行われます。
階層 1:ターゲティングと広告テーマの選択
目的:適切なクリエイティブグループ(広告テーマ)を見つけます。これは、標準、動的、ビデオの すべて の広告タイプで行われます。
2 つのターゲティングアプローチ
1. 意思決定ツリーのターゲティング
広告主は、意思決定ツリーエクスペリエンスの形式で複数のターゲティング層を設定し、ツリーの各分岐にクリエイティブを割り当てることができます。エクスペリエンスには広告タグが付属し、広告主は任意のディスプレイ広告(DSP)で使用できます。
仕組み
複数の条件を同時に評価し、セットの積集合を実行します。システムでは、ターゲティングディメンションごとに個別のインデックスを維持します。
-
地域:国、地域/都道府県、市区町村、郵便番号、DMA
-
デバイス:デバイスタイプ、ブラウザー、OS
-
データパス:カスタムパラメーター(t1~t5)
-
プロファイル:ユーザー属性(ut1~ut5)
-
セグメント:行動ターゲティング
-
広告スケジュール:日時範囲
2. タグベースのターゲティング
ユーザーは、意思決定ツリーではなく、広告サイズに応じて異なるタグ設定で機能するエクスペリエンスを設定できます。
リクエストに tag='4' が含まれている場合、システムではタグ 4 に関連付けられた広告テーマを直接取得します。意思決定ツリーより高速ですが、柔軟性は低くなります。
スコアリング:追加モデル
積集合により一致する広告テーマを特定した後、スコアリングには追加モデルを使用します。
例:
図 4:階層 1 ターゲティングフロー - 意思決定ツリーまたはタグベースのターゲティングを追加スコアリングにフィードし、リクエストに最適な広告テーマを選択します。
動的広告の場合:製品選択レイヤー
重要:製品の選択は、動的広告に対してのみ行われます。標準広告では、このレイヤーはスキップされます。
図 5:DCO の 4 つの柱 - ターゲティング、スコアリング、製品選択、機械学習の最適化がリアルタイムで連携します。
製品カタログファイル(MUP ファイル)
広告主は、製品フィード(UTF-8、タブ区切り)をアップロードします。各行は、製品を表し、製品 ID、タイトル、説明、価格、画像 URL、カテゴリ、ブランド、プロバイダー、地域可用性、カスタムターゲティングフィールドが含まれます。
フィードからインデックスへ:オフラインパイプライン
-
フィード解析:行を軽量製品ハンドルに解析します(初期スコア = 1.0)。
-
インデックス設定:インデックスになる列は設定駆動型(プロパティファイル)です。
-
反転インデックス作成:設定された列ごとに反転インデックスを作成します。多くの場合、圧縮ビットマップを使用します。
-
シリアル化とホットロード:バイナリインデックスをシリアル化し、アトミックアップデートにより提供するポッドにホットスワップします。
製品選択プロセス
手順 1 - インデックスベースのフィルタリング:条件(国、カテゴリ、セグメント)ごとに製品セットを取得します。
手順 2 - 乗算スコアリング(階層 1 とは異なります):
テーブルの例:
図 6:バリアント 1 - インデックスベースのフィルタリングと乗算スコアリング後の最高ランクの製品。これが選択した製品です。
図 7:バリアント 2 - ターゲティングは合格したが、最終スコアよりが低い、対象となる動的広告製品。
図 8:バリアント 3 - 比較対象として保持されているが選択されていない別の選定製品。
累積的なメモ:これらの図(図 6~8)は、製品フィードの異なる行から派生した、同じ動的広告の 3 つのバリアントを表しています。すべてのバリアントは、ターゲティングとスコアリングの制約を満たしていますが、最もスコアの高いバリアントのみが選択され、クリエイティブテンプレートにマッピングされます。
手順 3 - 上位 N 個の選択:上位 N 個の製品(例:上位 200)を返します。公平性を考慮し、カットオフ時点での同点製品も含まれます。
手順 4 - 最終製品クリエイティブ最適化アルゴリズム適用後、テンプレートにマッピングされる最終製品を返します。
パフォーマンスエンジニアリング:25 ミリ秒未満の達成
いくつかのエンジニアリング手法により、25 ミリ秒未満のターゲットが可能になります。
1. データのローカル性
-
起動時にポッドメモリにインデックスをプリロード
-
頻繁にアクセスする項目の製品詳細をキャッシュ
-
ダウンタイムなしのアップデートのホットロード
2. コンパクトなデータ構造
-
ハンドルセットの圧縮ビットマップ
-
文字列の重複を回避する辞書間接参照
-
効率的なセット操作
3. 結果のキャッシュ
-
繰り返しパターンの結果をメモリに保存
-
フィード変更時に無効化
-
TTL ベースの有効期限
4. 候補セットの制限
-
機械学習の高速化を維持するのに、上位 N 個に制限(クリエイティブごとに 10~50 個の製品)
-
対象となるサブセットでのみ機械学習を実行
-
統計情報のルックアップと製品詳細の取得を並列化
5. アトミックインデックススワップ
-
ダウンタイムなしでアトミックアップデートをサポート
-
大規模バッチ処理に最適化、ロールバック機能を搭載
図 9:25 ミリ秒未満の意思決定待ち時間を実現するインメモリインデックス、コンパクトなデータ構造、キャッシュ戦略。
階層 2:機械学習の最適化
目的:上位候補からのインテリジェントな選択。機械学習は、すべての広告タイプに対して実行しますが、対象となる「アーム」は異なります。
-
標準広告:アーム = 静的クリエイティブ
-
動的広告:アーム = 製品 × クリエイティブのペア
-
ビデオ広告:アーム = ビデオクリエイティブ
機械学習が実行するタイミング
機械学習は、競合オプションが複数ある場合や、探索が必要な場合に実行します。
シナリオ A - 明確な勝者(機械学習なし):
シナリオ B - 同点/競合オプション(機械学習が決定):
トンプソンサンプリング:機械学習エンジン
-
各バリアントの成功/失敗の履歴カウントを取得
-
ベータ分布からサンプリング(バリアントごとに 1 つ)
-
サンプリング確率が最も高いバリアントを選択
トンプソンサンプリングを使用する理由毎日のバッチアップデートと連携し、探索と利用のバランスを自然に取り、迅速に実行され、単純な選択と比較して 20~40%の改善が示されます。
図 10:DCO でのトンプソンサンプリング - 対象となるアームとアームごとのパフォーマンス統計がバンディットエンジンにフィードされ、現在のリクエストに最適なクリエイティブまたは製品 × クリエイティブが選択されます。
マルチアームバンディットでの「アーム」について
「アーム」という用語は、スロットマシン(片腕のバンディット)に由来しています。DCO の場合:
-
標準広告 - アーム = 静的クリエイティブ(例:5 つのクリエイティブ = 5 アーム)
-
動的広告 - アーム = 製品 × クリエイティブのペア(例:3 つのクリエイティブ × 10 製品 = 30 アーム)
コンテキストアームが重要な理由:アームのセットは、リクエストのコンテキスト(場所、可用性)に基づいて変更される場合があります。機械学習では現在有効なアームからのみサンプリングするので、すべての組み合わせを事前に計算することなく、動的な適応が実現します。
完全なフロー:リクエストから応答へ
標準広告の場合、フローは直接的です。階層 1がターゲティングルールに基づいて広告テーマを選択し、階層 2 の機械学習がトンプソンサンプリングを使用してそのグループから最適なクリエイティブを選択します。動的広告の場合、機械学習が最終的な製品とクリエイティブの組み合わせを決定する前に、追加のレイヤーで製品がフィルタリングおよびスコアリングされます。どちらの場合も、意思決定パイプライン全体は 25 ミリ秒未満で完了します。
図 11:標準広告リクエストフロー - ターゲティングと機械学習では、最適な静的クリエイティブを選択します。
図 12:動的広告リクエストフロー - 機械学習による最適化とレンダリングの前の製品選択を含みます。
広告以外にも:汎用的な適用
2 層パターン(ターゲティング + 機械学習)は、広告以外にも次に適用されます。
-
コンテンツのレコメンデーション - 評価/可用性でフィルタリングします。機械学習がエンゲージメントを最適化します。
-
e コマース検索ランキング - 在庫/価格でフィルタリングします。機械学習がコンバージョンを最適化します。
-
メールキャンペーンの最適化 - 環境設定を適用します。機械学習が件名/時間を選択します。
-
臨床試験の一致 - 実施要件を適用します。機械学習が登録成功率を最適化します。
パターン:ターゲット →スコア → 最適化。
このアーキテクチャが効果的である理由
ターゲティング + ルールのみ:高速で決定論的ですが、タイブレークがランダムになる場合があります。
機械学習のみ:学習は可能ですが、ビジネスロジックに違反し、プルーニングなしでは収束が遅くなる可能性があります。
ターゲティング + ルール + 機械学習:両方の長所(ビジネスロジックの適用、関連性スコアリング、継続的な改善の機械学習)を備えています。通常のメリット:単純なベースラインと比較して、25 ミリ秒未満の待ち時間、20~40%のパフォーマンス向上。
重要ポイント
-
2 層システム:最初にターゲティング/スコアリング(高速で決定論的)、次に機械学習最適化(適応型学習)。
-
様々なスコアリング:広告テーマの選択には加算、製品の選択には乗算。
-
動的 = 追加レイヤー:動的広告は、広告テーマの選択と機械学習の間に製品選択を追加します。
-
すべてのタイプに対する機械学習:トンプソンサンプリングは、標準、動的、ビデオで機能しますが、アームのみが異なります。
-
リアルタイムスケール:リクエストあたり 25 ミリ秒未満で、1 日あたり数百万の意思決定を行うことができます。
まとめ
Dynamic Creative Optimization(DCO)は、次の要素を組み合わせた強力なアーキテクチャパターンです。
-
階層 1:ルールベースのターゲティングとスコアリング(決定論的、高速)
-
製品選択:インデックスベースのフィルタリングと乗算スコアリング(動的広告)
-
階層 2:トンプソンサンプリングを使用した機械学習最適化(すべての広告タイプ)
重要なインサイト:ルール または 機械学習ではなく、両方を順番に活用することです。ターゲティングは関連性を、スコアリングは差別化を、機械学習は継続的な最適化を確保します。
DCO が広告のパフォーマンスを向上させる方法についてさらに詳しく学びたいですか?開始するには、Adobe Advertising Creative を参照してください。