Criteo タグ仕様書 トラベル

Criteo タグのコンセプト

Criteoタグは、以下の2つの要素で構成されています:

  1. ローダースクリプト - すべてのタグを動作させるためのベースとなるJavaScript
  2. タグ(トラッカー) - ページの種類に応じて、ユーザーの行動情報を送るJavaScript

特徴:

  • ページの種類(トップページ、商品詳細など)に応じて、実装するタグが異なります。
  • サイトのレイアウトを変更したり、閲覧者の目に見える形でバナー等を表示することはありません。
  • 非同期で読み込まれるため、基本的にはサイトの表示速度に影響を与えることはありません。

ローダースクリプト

ローダースクリプトとは

  • すべてのCriteoタグを動作させるための土台となるスクリプトです。
  • 各タグで取得した情報を、Criteoのサーバへ送信する役割を担っています。

ローダースクリプトの実装方法

  • サイトのヘッダー部分などに実装し、全ページで読み込まれるようにしてください。
  • 下記のスクリプトを利用します:
<script type="text/javascript" src="//dynamic.criteo.com/js/ld/ld.js?a={{accountid}}" async="true"></script>

ページ固有のタグ(トラッカー)概要

Criteoのパーソナライズ広告(バナー等)は、各タグから送られるデータ(閲覧履歴やカート追加など)をもとに生成されます。 広告のレコメンド精度を最大化するため、全種類のタグを適切なページへ漏れなく実装してください。

5つのタグと役割

  • ホームページタグ: トップページへの訪問を記録
  • 一覧ページタグ: 検索結果やカテゴリページで表示された複数の商品IDを記録
  • 航空券/ツアー詳細タグ: 詳細ページで閲覧された単一の商品IDを記録
  • 予約開始・申込みページタグ: 予約開始・申込みページへのアクセスを記録
  • コンバージョンタグ: 購入・申込み完了した商品ID、単価、個数を記録・送信

全タグ共通で設定される項目

  • SiteType(自動判定) ユーザーの利用デバイス(PC:"d", スマホ:"m", タブレット:"t")をタグ内のJavaScriptが自動で判定・代入します。

  • Email(推奨) クロスデバイスでの識別精度向上のため利用します。SHA-256でハッシュ化した値を email に、 "sha256"hash_method に代入してください。(メールアドレスの設定方法の詳細はこちら(補足4)をご参照ください)
    ※すべてのタグで代入する必要はありません。ユーザーがログインしているなど、メールアドレスが取得可能な状態でのみタグに代入してください。取得できない場合はパラメータを省略、または空文字を指定して実装してください。

タグで収集されるトラベル固有の情報

チェックイン/チェックアウト: サイトでユーザーが検索した出発日時 / 到着日時情報を取得します。

  • checkin_date : "YYYY-MM-DD" チェックイン日付/往路出発日
  • checkout_date : "YYYY-MM-DD" チェックアウト日付/復路出発日

予約人数(大人・子供)/予約部屋数: サイトでユーザーが検索した予約情報を取得します。

  • nbra : 大人人数。値のフォーマットはinteger型(例:大人1人の場合 1
  • nbrc : 子供人数。値のフォーマットはinteger型(例:子供2人の場合 2
  • nbrr : 部屋数。値のフォーマットはinteger型(例:1室の場合 1

ホームページタグ (トップページタグ)

  • ホームページタグ (トップページタグ)はウェブサイトのトップページに実装してください。
<script type="text/javascript">
    window.criteo_q = window.criteo_q || [];
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q.push(
            { event: "setAccount", account: {{accountid}} },
            { event: "setSiteType", type: deviceType },
            { event: "setEmail", email: "ハッシュ化されたメールアドレス", hash_method: "sha256" },
            { event: "viewHome" }
    );
</script>

一覧ページタグ

  • 一覧ページタグは、商品のカテゴリページや検索結果の一覧ページに実装してください。
  • ページ上部に表示されている商品ID(カタログフィードと一致するもの)を3件セットしてください(タグ内の"商品ID1"等を置き換えてください)。
  • ※トラベル固有パラメータ(viewSearch)の設定方法はこちらを参照してください。使用しない場合はviewSearch行をタグから削除してください。
<script type="text/javascript">
    window.criteo_q = window.criteo_q || [];
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q.push(
            { event: "setAccount", account: {{accountid}} },
            { event: "setSiteType", type: deviceType },
            { event: "setEmail", email: "ハッシュ化されたメールアドレス", hash_method: "sha256" },
            { event: "viewList", item: ["商品ID1", "商品ID2", "商品ID3"]},
            { event: "viewSearch", checkin_date: "YYYY-MM-DD", checkout_date: "YYYY-MM-DD", nbra: 大人人数, nbrc: 子供人数, nbrr: 部屋数 }
    );
</script>

航空券/ツアー詳細タグ

  • 航空券/ツアー詳細タグはサイト内のすべての商品詳細ページに実装してください。
  • カタログフィードと一致する「商品ID」を、タグ内で取得できるように実装してください。
  • ※トラベル固有パラメータ(viewSearch)の設定方法はこちらを参照してください。使用しない場合はviewSearch行をタグから削除してください。
<script type="text/javascript">
    window.criteo_q = window.criteo_q || [];
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q.push(
            { event: "setAccount", account: {{accountid}} },
            { event: "setSiteType", type: deviceType },
            { event: "setEmail", email: "ハッシュ化されたメールアドレス", hash_method: "sha256" },
            { event: "viewItem", item: "商品ID" },
            { event: "viewSearch", checkin_date: "YYYY-MM-DD", checkout_date: "YYYY-MM-DD", nbra: 大人人数, nbrc: 子供人数, nbrr: 部屋数 }
    );
</script>

予約開始・申込みページタグ

  • 予約開始・申込みページタグはサイトの予約開始・申込みページに実装してください。
  • カートに追加されたすべての商品について、カタログフィードと一致する「商品ID (id)」と、「商品単価 (price)」「個数 (quantity)」を必ず含めてください(計測可能な商品数に上限はありません)。
  • ※トラベル固有パラメータ(viewSearch)の設定方法はこちらを参照してください。使用しない場合はviewSearch行をタグから削除してください。
  • 商品の単価が動的に代入できない、または必要のない場合は、単価(price)の箇所には固定で'1'と代入し実装してください。
<script type="text/javascript">
    window.criteo_q = window.criteo_q || [];
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q.push(
            { event: "setAccount", account: {{accountid}} },
            { event: "setSiteType", type: deviceType },
            { event: "setEmail", email: "ハッシュ化されたメールアドレス", hash_method: "sha256" },
            { event: "viewSearch", checkin_date: "YYYY-MM-DD", checkout_date: "YYYY-MM-DD", nbra: 大人人数, nbrc: 子供人数, nbrr: 部屋数 },
            { event: "viewBasket", item: [
                { id: "商品ID1", price: 商品ID1の商品単価, quantity: 商品ID1の個数},
                { id: "商品ID2", price: 商品ID2の商品単価, quantity: 商品ID2の個数}
                ]}
            );
</script>

コンバージョンタグ

  • コンバージョンタグは購入完了(サンクス)ページに実装してください。
  • トランザクションIDと商品情報の2つをタグに代入する必要があります:
    1. トランザクションID (id): 購入ごとに発行される一意の注文番号(トランザクションID)を代入してください(詳細はこちら)。
    2. 購入された商品情報 (item): 購入されたすべての商品の「商品ID (id)」「商品単価 (price)」「個数 (quantity)」を含めてください。
  • 購入された商品別に全ての商品情報を取得してください。計測可能な商品数に上限はありません。
  • ※申込みや資料請求など、単価や個数の概念がない商品の場合は、固定で 1 を代入してください(詳細はこちら)。
  • ※トラベル固有パラメータ(viewSearch)の設定方法はこちらを参照してください。使用しない場合はviewSearch行をタグから削除してください。
<script type="text/javascript">
    window.criteo_q = window.criteo_q || [];
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q.push(
            { event: "setAccount", account: {{accountid}} },
            { event: "setSiteType", type: deviceType },
            { event: "setEmail", email: "ハッシュ化されたメールアドレス", hash_method: "sha256" },
            { event: "viewSearch", checkin_date: "YYYY-MM-DD", checkout_date: "YYYY-MM-DD", nbra: 大人人数, nbrc: 子供人数, nbrr: 部屋数 },
            { event: "trackTransaction", id: "トランザクションID", item: [
                { id: "商品ID1", price: 商品ID1の商品単価, quantity: 商品ID1の個数},
                { id: "商品ID2", price: 商品ID2の商品単価, quantity: 商品ID2の個数}
                ]}
            );
</script>

タグ補足説明

タグ補足 1 - ページの種類

下記の表を参照の上、取り扱い商材に応じて、各タグを適切なページへ実装してください。

タグの種類 旅行-航空券 旅行-ツアー
ホームページタグ トップページ トップページ
一覧ページタグ 航空券一覧 ツアー一覧
航空券/ツアー詳細タグ 航空券詳細 ツアー詳細
予約開始・申込みページタグ 予約開始 予約開始
コンバージョンタグ 購入完了(サンクス)ページ 購入完了(サンクス)ページ

申込みや資料請求など、商品の単価/個数が動的に代入できない、または必要のない場合は、 下記のように単価(price)、個数(quantity)の箇所には固定で 1 と代入し実装してください。

<script type="text/javascript">
    window.criteo_q = window.criteo_q || [];
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q.push(
            { event: "setAccount", account: {{accountid}} },
            { event: "setSiteType", type: deviceType },
            { event: "setEmail", email: "ハッシュ化されたメールアドレス", hash_method: "sha256" },
            { event: "viewSearch", checkin_date: "YYYY-MM-DD", checkout_date: "YYYY-MM-DD", nbra: 大人人数, nbrc: 子供人数, nbrr: 部屋数 },
            { event: "trackTransaction", id: "Transaction ID", item: [
                { id: "商品ID1", price: 1, quantity: 1 },
                { id: "商品ID2", price: 1, quantity: 1 }
                ]}
            );
</script>

タグ補足 2 - Transaction ID

  • コンバージョンタグで取得するTransaction IDは、トランザクションごとに一意の値を取得する必要があります。
  • 通常は注文完了番号などのコンバージョンごとに生成される一意のIDをセットしますが、一意のIDの取得が困難な場合は、コード側でランダムな値を生成して代入してください。

Transaction IDのセット例

<script type="text/javascript">
    window.criteo_q = window.criteo_q || [];
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q.push(
            { event: "setAccount", account: {{accountid}} },
            { event: "setSiteType", type: deviceType },
            { event: "setEmail", email: "973dfe463ec85785f5f95af5ba3906eedb2d931c24e69824a89ea65dba4e813b", hash_method: "sha256" },
            { event: "viewSearch", checkin_date: "2025-12-22", checkout_date: "2025-12-27", nbra: 2, nbrc: 2, nbrr: 1 },
            { event: "trackTransaction", id: "order1234",
            item: [{ id: "flight1", price: 1, quantity: 1 }]}
    );
</script>

ランダムIDの自動生成関数を使った例

<script type="text/javascript">
    window.criteo_q = window.criteo_q || [];
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q.push(
            { event: "setAccount", account: {{accountid}} },
            { event: "setSiteType", type: deviceType },
            { event: "setEmail", email: "973dfe463ec85785f5f95af5ba3906eedb2d931c24e69824a89ea65dba4e813b", hash_method: "sha256" },
            { event: "viewSearch", checkin_date: "2025-12-22", checkout_date: "2025-12-27", nbra: 2, nbrc: 2, nbrr: 1 },
            { event: "trackTransaction", id: Math.floor(Math.random()*99999999999),
            item: [{ id: "flight1", price: 1, quantity: 1 }]}
    );
</script>

タグ補足 3 - タグパラメータ一覧

パラメータキー名 (対象イベント) 値の指定ルール 代入例 注意事項 使用タグ
email (setEmail内) 半角英数のみ(スペース不可) 973dfe463ec85785f5f95af5ba3906eedb2d931c24e69824a89ea65dba4e813b SHA-256でハッシュ化された小文字を代入してください。ハッシュ化をする前の原本のメールアドレスでは、前後等のスペースが無いこと・UTF-8でエンコードされているかを確認してください。 全タグ共通
hash_method 半角英数のみ sha256 全タグ共通
type (setSiteType内) 自動判定(JS利用) (基本的には自動代入) サンプルのタグ内に含まれるJSでnavigator.userAgentを判定し、PC("d") / モバイル("m") / タブレット("t") を自動で代入します。 全タグ共通
item (viewItem等) 半角英数のみ(ハイフン可能) ["pid111", "pid112"] または "pid111" カタログフィードのIDと完全に一致させてください。複数ある場合は配列を用います。 航空券/ツアー詳細タグ、一覧ページタグ
id (item配列内) 半角英数のみ(ハイフン可能) pid1111 カタログフィードのIDと完全に一致させてください。 予約開始・申込みページタグ、コンバージョンタグ
price (item配列内) 半角英数のみ(記号、カンマ不可) 1000 合計の値段ではなく、商品単価を代入してください。 予約開始・申込みページタグ、コンバージョンタグ
quantity (item配列内) 半角英数のみ(記号、カンマ不可) 3 購入した個数を代入してください。(3個購入の場合は"3"にします) 予約開始・申込みページタグ、コンバージョンタグ
id (trackTransaction内) 半角英数のみ(ハイフン使用可能) tid12345 注文番号など、各トランザクションにおいて重複しない値を代入してください コンバージョンタグ
checkin_date (viewSearch内) "YYYY-MM-DD" "2025-12-22" トラベル専用。一桁の数字は0を入れてください。例:"2025-01-01" 航空券/ツアー詳細タグ、一覧ページタグ、予約開始・申込みページタグ、コンバージョンタグ
checkout_date (viewSearch内) "YYYY-MM-DD" "2025-12-27" トラベル専用。一桁の数字は0を入れてください。例:"2025-01-01" 航空券/ツアー詳細タグ、一覧ページタグ、予約開始・申込みページタグ、コンバージョンタグ
nbra (viewSearch内) 数字のみ(記号、カンマ不可) 2 トラベル専用。大人人数を代入してください。 航空券/ツアー詳細タグ、一覧ページタグ、予約開始・申込みページタグ、コンバージョンタグ
nbrc (viewSearch内) 数字のみ(記号、カンマ不可) 2 トラベル専用。子供人数を代入してください。 航空券/ツアー詳細タグ、一覧ページタグ、予約開始・申込みページタグ、コンバージョンタグ
nbrr (viewSearch内) 数字のみ(記号、カンマ不可) 1 トラベル専用。部屋数を代入してください。 航空券/ツアー詳細タグ、一覧ページタグ、予約開始・申込みページタグ、コンバージョンタグ

タグ補足 4 - タグにsetEmailを代入する場合

メールアドレスをタグに代入することで、複数端末を跨いだユーザー識別(クロスデバイス機能)の精度が向上します。

⚠️ 重要:メールアドレスの取り扱いに関する注意事項

平文のメールアドレス(ハッシュ化前の状態)はタグへ代入しないでください。
(NG例: { event: "setEmail", email: "john@company.com" }

事前に必ず以下のルールでハッシュ化をおこなった値を代入してください。

  • 小文字のみ使用(大文字は小文字に変換)
  • 前後のスペースを削除
  • UTF-8でエンコード
  • SHA-256でハッシュ化

【代入パターンの例】

  1. ハッシュ化して代入する場合
    { event: "setEmail", email: "973dfe463ec85785f5f95a...", hash_method: "sha256" }
  2. メールアドレスが取得できないページの場合(空文字を指定)
    { event: "setEmail", email: "" }

【JavaScriptでのハッシュ化 実装サンプル】

JavaScriptを利用して動的にハッシュ化をおこなう場合の実装コードサンプルは、以下のCriteo公式ヘルプページ内でご確認いただけます。
- Criteo OneTag Advanced Settings - Email Hashing

実装についてご不明な点がございましたら、担当営業までお問い合わせください。