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)をご参照ください)
※すべてのタグで代入する必要はありません。ユーザーがログインしているなど、メールアドレスが取得可能な状態でのみタグに代入してください。取得できない場合はパラメータを省略、または空文字を指定して実装してください。
ホームページタグ (トップページタグ)¶
- ホームページタグ (トップページタグ)はウェブサイトのトップページに実装してください。
<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”等を置き換えてください)。
<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"]}
);
</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: "ハッシュ化されたメールアドレス", hash_method: "sha256" },
{ event: "viewItem", item: "商品ID" }
);
</script>
カート・申込みページタグ¶
- カート・申込みページタグはサイトの買い物カゴ・申込みページに実装してください。
- カートに追加されたすべての商品について、カタログフィードと一致する「商品ID (
id)」と、「商品単価 (price)」「個数 (quantity)」を必ず含めてください(計測可能な商品数に上限はありません)。
<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: "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)」を含めてください。
- ※申込みや資料請求など、単価や個数の概念がない商品の場合は、固定で
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: "trackTransaction", id: "トランザクションID", item: [
{ id: "商品ID1", price: 商品ID1の商品単価, quantity: 商品ID1の個数},
{ id: "商品ID2", price: 商品ID2の商品単価, quantity: 商品ID2の個数}
]}
);
</script>
タグ補足説明¶
タグ補足 1 - ページの種類¶
下記の表を参照の上、取り扱い商材に応じて、各タグを適切なページへ実装してください。
| タグの種類 | EC | 不動産 | 求人 | 旅行-航空券 | 旅行-ツアー | 式場 | 車 |
|---|---|---|---|---|---|---|---|
| 商品タグ | 商品詳細 | 物件詳細 | 求人詳細 | 航空券詳細 | ツアー詳細 | 式場詳細 | 車詳細 |
| 一覧ページタグ | 商品一覧 | 物件一覧 | 求人一覧 | 航空券一覧 | ツアー一覧 | 式場一覧 | 車一覧 |
| カート・申込みページタグ | カート | 申込み開始 資料請求開始 |
申込み開始 | 予約開始 | 予約開始 | 申込み開始 資料請求開始 |
問合せ開始 |
申込みや資料請求など、商品の単価/個数が動的に代入できない、または必要のない場合は、
単価(price)、個数(quantity)の箇所には固定で’1’と代入し実装してください。
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: "trackTransaction" , id: "Transaction ID", item: [
{ id: "物件ID1", price: 1, quantity: 1 },
{ id: "物件ID2", price: 1, quantity: 1 } // など
]});
タグ補足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: "trackTransaction", id: "order1234",
item: [ { id: "1", 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: "trackTransaction", id: Math.floor(Math.random()*99999999999),
item: [ { id: "1", 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 | 注文番号など、各トランザクションにおいて重複しない値を代入してください | コンバージョンタグ |
タグ補足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