テストと検証
開始前検証チェックリスト
技術統合
- API :
POST /ads/v3/brand-pagesreturns 200 withcontentData. - Rendering : Content modules render correctly on your site in the correct order.
- Theme:
themefields are applied correctly;nullvalues fall back to retailer style guide defaults. - Optional fields: Renderer and tracking logic must tolerate omitted, null, or empty optional module fields, as well as omitted tracking nodes, without errors (validate using multiple live templates, not just a single demo brand page).
- Styling : Brand page matches your site's design system.
- Mobile : Brand page displays correctly on mobile devices.
- Cache-busting :
{TS}value changes on every request.
トラッキング検証
- Impression pixel (C2S) : Every entry in
trackingTemplates.client.impressionPixelUrlsfires and returns 200image/gif - Impression notification (S2S) : Composed server impression URL; GET or POST direct to Epsilon tracking host returns 204 No Content.
- Click tracking (C2S) : Either the composed
client.clickRedirectURL returns 302 to the correct destination, or the composedclient.clickEventreturns 204 No Content (whichever option your flow uses - not both) - Click notification (S2S) : GET or POST direct to the composed server URL returns 204 No Content
- Add-to-cart (C2S) : Composed
client.addToCartEventfired as event beacon returns 204 No Content - Add-to-cart (S2S) : Composed
server.addToCartEventcalled direct to tracking host returns 204 No Content
インフラストラクチャーとプライバシー
- Reverse proxy : C2S tracking requests forwarded through your domain; S2S is not sent through the proxy
- Headers :
RP-Host,X-Forwarded-For,X-Forwarded-Request-Path,Refererare present on proxied requests - プライバシー:どのパラメータやURLにもPIIが含まれない
- HTTPS:すべてのリクエストは安全な接続を使用する
- 商品ページ:クリックリダイレクト後にページが正しく表示される
推奨ツール
- ブラウザ開発者ツール:ピクセルの読み込みとリダイレクトを検査するためのネットワークタブ。
- FiddlerまたはCharles Proxy:リバースプロキシの動作とヘッダー転送を確認します。
トラブルシューティング
| 問題 | 確認 |
|---|---|
| ピクセルが読み込まれない | Verify DNS/SSL, confirm proxy path rewrite, check reachability to the Epsilon tracking host. |
| リダイレクトが転送されない | Ensure {RURL} is URL-encoded, verify proxy preserves query string. |
| APIがコンテンツを返さない | Verify catalogId and urlSlug match an active brand page campaign. |
| 広告ブロッカーによってトラッキングがブロックされた | Confirm reverse proxy is configured - tracking should route through your domain. |
| カートに追加しても追跡ない | Ensure you fire the composed client or server add-to-cart URL after the cart action. |
| Page throws when loading some brand pages | Likely treating doc/example fields as always required. Log raw module JSON, add guards for optional keys and missing tracking, and confirm the template allows or disables those fields. |
| Theme colors not applying correctly | Check that null theme fields fall back to your style guide defaults, rather than being rendered as literal null values or empty strings. |
用語集
ブランドページ統合のための重要な用語
| 期間 | 定義 | 例 |
|---|---|---|
| APIキー | Epsilonサービス用の認証情報 | Basic abc123xyz... |
| ブランドページ | サイト上のブランディングされたランディングページ体験 | yoursite.com/brands/nike |
| C2Sトラッキング | Client-to-Server: Browser-based tracking. Impressions use 1x1 pixels; clicks use a 302 redirect or an event beacon; add-to-cart uses an event beacon. | <img src="impression-pixel">, navigator.sendBeacon(clickEvent) |
| S2Sトラッキング | サーバー間:バックエンドトラッキング(作成されたトラッキングURLへのGETまたはPOST) | お客様のサーバー → Epsilonサーバー |
| コンテンツモジュール | 個々のコンテンツブロック(ヒーロー、テキスト、製品など) | ヒーローバナー、製品グリッド |
| Module Tags | Optional string labels on a module (e.g., ["header"]) set in the template. Used by retailers for layout routing, analytics, or mapping to their own components. Omitted from the response when empty. | "tags": ["header"] |
| Theme | Always present on success in the API response: nested colors (background + seven text roles) and buttons (primary / secondary with background and text). All theme color fields are required (hex6). See Theme Object. | "theme": {"colors": { ... }, "buttons": { ... }} |
| インプレッション | ユーザーがブランドページを閲覧したとき | ページ読み込み=1インプレッション |
| クリック | ユーザーがブランドページのコンテンツをクリックしたとき | CTAボタンのクリック |
| コンバージョン | ユーザーがブランドページから商品をカートに追加したとき | カートに追加アクション |
| リバースプロキシ | 広告ブロッカーを回避するためにトラッキングをドメイン経由でルーティング | yoursite.com/epsilon/ → Epsilon |
| URLスラッグ | URLパスにあるブランド識別子 | nike で /brands/nike |
| catalogId | お客様固有の商品カタログ識別子 | Epsilon提供 |
| マクロ | Response placeholders ({TS}, {RURL}) in tracking.params that you replace at runtime; | {TS} → 1737485823910 |
| IAB TCF | Interactive Advertising Bureau Transparency & Consent Framework | GDPRコンプライアンス基準 |
| PII | 個人を特定できる情報(絶対に送信しないでください) | メールアドレス、電話番号、本名 |
| キャッシュバスティング | キャッシュされた応答を防ぐためにタイムスタンプを追加 | ?ts=1737485823910 |
技術的な略語
| 頭字語 | 正式名称 | 意味 |
|---|---|---|
| RMN | リテールメディアネットワーク | Epsilonの広告プラットフォーム |
| CTA | Call To Action | クリック可能なボタン/リンク |
| JSON | JavaScript Object Notation | APIリクエスト/レスポンスのデータ形式 |
| HTTPS | HTTP Secure | 暗号化ウェブプロトコル |
| GDPR | General Data Protection Regulation | EUのプライバシー法 |
| TLS | トランスポート層セキュリティ | 暗号化プロトコル |
| DNS | ドメインネームシステム | インターネットアドレスシステム |
| SSL | Secure Sockets Layer | 暗号化プロトコル |
| RFC | Request for Comments | Technical standards documents |

