Criteo タグ仕様書 トラベル¶
Criteo タグのコンセプト¶
Criteoタグは、以下の2つの要素で構成されています:
- ローダースクリプト - すべてのタグを動作させるためのベースとなるJavaScript
- タグ(トラッカー) - ページの種類に応じて、ユーザーの行動情報を送る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つをタグに代入する必要があります:
- トランザクションID (
id): 購入ごとに発行される一意の注文番号(トランザクションID)を代入してください(詳細はこちら)。 - 購入された商品情報 (
item): 購入されたすべての商品の「商品ID (id)」「商品単価 (price)」「個数 (quantity)」を含めてください。
- トランザクションID (
- 購入された商品別に全ての商品情報を取得してください。計測可能な商品数に上限はありません。
- ※申込みや資料請求など、単価や個数の概念がない商品の場合は、固定で
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でハッシュ化
【代入パターンの例】
- ハッシュ化して代入する場合
{ event: "setEmail", email: "973dfe463ec85785f5f95a...", hash_method: "sha256" } - メールアドレスが取得できないページの場合(空文字を指定)
{ event: "setEmail", email: "" }
【JavaScriptでのハッシュ化 実装サンプル】
JavaScriptを利用して動的にハッシュ化をおこなう場合の実装コードサンプルは、以下のCriteo公式ヘルプページ内でご確認いただけます。
- Criteo OneTag Advanced Settings - Email Hashing
実装についてご不明な点がございましたら、担当営業までお問い合わせください。