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)をご参照ください)
    ※すべてのタグで代入する必要はありません。ユーザーがログインしているなど、メールアドレスが取得可能な状態でのみタグに代入してください。取得できない場合はパラメータを省略、または空文字を指定して実装してください。

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

  • ホームページタグ (トップページタグ)はウェブサイトのトップページに実装してください。
<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つをタグに代入する必要があります:
  1. トランザクションID (id): 購入ごとに発行される一意の注文番号(トランザクションID)を代入してください(詳細はこちら)。
  2. 購入された商品情報 (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でハッシュ化

【代入パターンの例】

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

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

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

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