Inlineキャンペーンは、メッセージをページに直接挿入し、既存のコンテンツを置き換えることでシームレスなネイティブ体験を提供します。セールバナー、カートクーポンリマインダー、商品別プロモーションなど、ページの自然なフローとして表示するコンテンツに活用してください。
In-Browser MessagingはBeta版です。一般提供前に機能やSDKの仕様が変更される場合があります。アクセス方法については、カスタマーサクセス担当までご相談ください。
キャンペーンを作成する前にセットアップと前提条件を完了してください。ターゲットとするペアレントセグメント用のRT PersonalizationとセクションがAudience Studioに存在することを確認してください。また、ページのターゲットDOM要素を特定済み、またはWeb Message Previewer Chrome Extensionを使って視覚的に選択する予定であることを確認してください。
- Engage Studioで In-Browser Messaging に移動し、Create をクリックします。
- ターゲティングを設定します。

| フィールド | 説明 |
|---|---|
| Target Parent Segment | 対象ユーザーを定義するRT 2.0のペアレントセグメント。 |
| Personalization | 既存のRT 2.0 Personalization。Preview をクリックして内容を確認するか、Create Personalization をクリックしてAudience Studioで設定できます。 |
| Personalization Section | このキャンペーンのコンテンツを格納するPersonalization内のセクション。セクションが存在しない場合は Create Section をクリックして追加します。 |
| フィールド | 必須 | 説明 |
|---|---|---|
| Message ID | — | 自動生成された一意の識別子。読み取り専用。 |
| Name | ✅ | キャンペーン一覧に表示される名前。最大100文字。 |
| Description | — | 社内向けメモ。最大1,000文字。 |
| Message Type | ✅ | Inline を選択します。キャンペーン保存後は変更できません。 |

CSS selectorフィールドに、SDKがコンテンツを注入するターゲットDOM要素を識別するCSSセレクターを入力します。セレクターは実行時にdocument.querySelector()で照合されます。
Web Message Previewer Chrome Extensionをインストールすると、Webページ上で要素を視覚的に選択し、CSSセレクターとReplacement HTMLフィールドを自動入力できます。
- InlineキャンペーンあたりZone IDは1つのみサポートされます。
- 実行時にセレクターがページ上の要素と一致しない場合、メッセージはエラーなくスキップされます(エンドユーザーにはエラーは表示されません)。
- デフォルトの注入動作は**
innerHTMLの差し替え**です:一致した要素の既存コンテンツがキャンペーンのHTMLに置き換えられます。
| パターン | 例 | 説明 |
|---|---|---|
| IDセレクター | #product-banner-area | 特定のid属性を持つ要素 |
| クラスセレクター | .promo-slot | 特定のクラスを持つ要素 |
| データ属性(値) | [data-id="product-123"] | 特定のdata-*属性値を持つ要素 |
| データ属性(存在確認) | [data-role="banner"] | data-*属性を持つ要素 |
| 子結合子 | div > p > span | 直接の子要素パス |
| nth-child | ul > li:nth-child(3) | インデックスによる特定の子要素 |
| 複合 | section[data-role="main"] > div.content | 上記の組み合わせ |
推奨:最も安定したセレクターにはid属性または安定したdata-testidやdata-*属性を使用してください。ビルド時に変わるCSS-in-Jsライブラリ(styled-components、Emotion)が生成するクラス名は避けてください。
Replacement HTMLフィールドに、一致したZone要素のinnerHTMLを置き換えるHTMLコンテンツを入力します。直接HTMLを入力するか、Web Message Previewerで生成したコンテンツを貼り付けます。
以下のHTMLタグと属性はLaunch時に拒否されます(バリデーションエラーが返されます)。
| 禁止タグ | 理由 |
|---|---|
<script>、<noscript>、<iframe>、<object>、<embed>、<applet> | JavaScript実行およびサンドボックス回避の経路 |
<form>、<input>、<textarea>、<select>およびその他のフォーム要素 | フォームキャプチャは非対応 |
<base>、<meta>、<link>、<title>、<head>、<html>、<body> | 注入されたフラグメント内では無効なページレベルのタグ |
<svg>、<math> | <script>要素を埋め込める可能性がある |
<style> | グローバルCSS注入によるUIなりすましやフィッシングオーバーレイの可能性 |
| 禁止属性 | 理由 |
|---|---|
on*(onclick、onloadなどすべてのインラインイベントハンドラー) | インラインイベントハンドラーによるJavaScript実行 |
href="javascript:..." (すべての要素) | URIスキームを経由したJavaScript実行。on*フィルターを回避する可能性がある |
srcdoc | インラインドキュメントの埋め込み |
contenteditable | UIのなりすまし |
HTMLエディターでCDPプロフィール属性を参照し、Liquidテンプレート構文を使用してインラインコンテンツをパーソナライズできます。
<div class="sale-banner">
{% if rt_profile.imported.loyalty_tier == "gold" %}
<p>Gold member exclusive: 20% OFF</p>
{% else %}
<p>Limited-time offer — Shop now!</p>
{% endif %}
<p>Hi {{rt_profile.imported.first_name}}, this deal is just for you.</p>
</div>変数とLiquid構文の全リファレンスはメッセージコンテンツのパーソナライズを参照してください。
編集内容はローカルセッションに保持されます。Save as Draft をクリックしてサーバーに保存してください。保存せずに画面を離れると確認ダイアログが表示されます。
- キャンペーンの詳細とZone IDを確認します。
- Launch をクリックしてキャンペーンを Draft から Live に移行します。
連携しているRT 2.0 Personalizationセクションにキャンペーンペイロードが反映されます。TD Web SDKは対象ユーザーのZone要素をキャンペーンHTMLに差し替えます。
| 操作 | 使用タイミング | 結果 |
|---|---|---|
| Pause | 配信を一時停止して編集する場合。 | ステータスが Paused に変わります。自由に編集してから Resume してください。 |
| Resume | 一時停止中のキャンペーンを再開する場合。 | ステータスが Live に戻ります。 |
| Complete | キャンペーンを恒久的に終了する場合。 | ステータスが Finished に変わります。ペイロードはRT 2.0から削除され、再アクティベートはできません。 |
キャンペーンが Live または Finished になると、メッセージタイプとZone IDは読み取り専用になります。コンテンツを編集するには、先にキャンペーンを一時停止してください。
Zone IDを視覚的に特定し、Launchする前に差し替えHTMLをプレビューするには、Engage Studio — Web Message Previewer Chrome Extensionを使用します。
- Chromeでウェブサイトを開きます。
- Extensionのサイドパネルを開きます。
- Selectタブの Select Element をクリックし、ページ上のターゲット要素をクリックします。
- 生成されたCSSセレクターをコピーし、Engage Studioの Zone ID フィールドに貼り付けます。
- Previewタブで差し替えHTMLが実際のページにどう表示されるか確認します。