【定額案件用】Crib Notes導入マニュアル¶
JANetドメイン仕様¶
1.新トラッキングタグ提供の背景¶
- Apple社のオペレーティングシステムであるiOS | High Sierraに置いて、2017年9月のアップデート以降、Intelligent Tracking Prevention(以下、ITP)と呼ばれる、SafariでWebサイトを閲覧する際のプライバシー保護と利便性のバランスをとるための機能を実装
- これにより、従来3rd Party Cookieを用いて、計測を行っていた広告サービス がトラッカー判定され、ブロックないし、Cookieの削除を行われる為、新たな計測方法を使用しなければ、ブラウザ『Safari』のトラッキングが行えなくなる状況
2.ADWAYS DEEE社の"ITP対応"方針¶
- ADWAYS DEEE社では、WEB広告を対象としたJANet|Smart-C|adna等の自社サービスにおけるトラッキングのITP対応化をサービスを横断して、『Crib Notes(クリブノーツ)』として、トラッキング機能の開発を集約
- 『Crib Notes』は、他サービスの従来の3rd Party Cookieのトラッキング方法ではなく、1st Party Cookieでのトラッキングを行うことで、ITP対応化の機能を担う
3.切り替え方法¶
3-1.プロモーション情報の確認¶
『件名:【ITP対応に関してのご案内】ADWAYS DEEE』にて、
担当部署より、メール送付がございましたら、以下二点のご確認・ご対応をお願い致します。
- タグの設定内容の確認
- ドメインに過不足がないか
- JANetやSmart-C等で実施サービスに過不足がないか
- トリガー(成果タグ発火条件)に過不足がないか
3-2.Crib Notesタグを設置¶
3-2-1.導入前後のトラッキングイメージ¶
<<Before>> 3rd Party Cookieのトラッキングイメージ(例:JANet)
<<After>> 1st Party Cookieのトラッキングイメージ(例:Crib Notes x JANet)
- ※Crib Notes計測用パラメータは弊社のシステムにて自動付与致します
- ※Crib Notes管理画面の設定は弊社にて行います
3-2-2.Crib Notesタグの概要及び設置位置¶
Crib Notesタグの概要
- Crib Notesユニバーサルタグの概要
- 1st Party Cookieにて、流入元・ユーザーの情報を保存・取得する役割
- Crib Notesコンバージョンタグの概要
- Crib Notesユニバーサルタグを含む
- 成果結果情報と成果条件の補助情報などを元に、サービスタグを発火させる役割
貴社のページ | Crib Notesユニバーサルタグ | Crib Notesコンバージョンタグ |
---|---|---|
LPページ 〜 コンバージョンページ直前 | ◯ | ✕ |
コンバージョンページ | ✕ | ◯ |
3-2-3.定額案件へのCrib Notesタグのインストール方法¶
Crib Notesユニバーサルタグのサンプルコード(設置位置:LPページ 〜 コンバージョンページ直前)
<!-- ここから Crib Notesユニバーサルタグのサンプルコード -->
<script>(function (b, f, d, a, c) {var e = b.createElement(f);e.src = c + "/" + a + "/atm.js";e.id = d;e.async = true;b.getElementsByTagName(f)[0].parentElement.appendChild(e)})(document,"script","__cribnotesTagMgrCmd","コンテナID","https://tag-cribnotes.j-a-net.jp/container_manager");</script>
<!-- ここまで Crib Notesユニバーサルタグのサンプルコード -->
- サンプルコード上でカスタマイズ必要箇所
- 『コンテナID』を変更する
- 『コンテナID』は別途、弊社担当営業より送付します。
- 『コンテナID』を変更する
<head></head>
内への設置を推奨
Crib Notesコンバージョンタグのサンプルコード(設置位置:コンバージョンページ)
<!-- ここから Crib Notesコンバージョンタグのサンプルコード -->
<script src="https://tag-cribnotes.j-a-net.jp/support/ntm.js"></script>
<script>
window.crib.setItem('transaction_id', '成果結果情報');
window.crib.setItem('thanks_id', 'サンクスID');
</script>
<script>(function (b, f, d, a, c) {var e = b.createElement(f);e.src = c + "/" + a + "/atm.js";e.id = d;e.async = true;b.getElementsByTagName(f)[0].parentElement.appendChild(e)})(document,"script","__cribnotesTagMgrCmd","コンテナID","https://tag-cribnotes.j-a-net.jp/container_manager");</script>
<!-- ここまで Crib Notesコンバージョンタグのサンプルコード -->
- サンプルコード上でカスタマイズ必要箇所
- 『成果結果情報』を変更する。
- 貴社にて、動的に成果結果情報を返すように設定をお願い致します。
- 『コンテナID』を変更する
- 『コンテナID』は別途、弊社担当営業より送付します。
- 『サンクスID』を対象プロモーションのサンクスIDに置き換える
- 『サンクスID』は別途、弊社担当営業より送付します。
- 『成果結果情報』を変更する。
<head></head>
内への設置を推奨
4.コンバージョンテストを実施¶
タグが設置完了しましたら、メールに返信する形で、お知らせください。
尚、コンバージョンテスト実施に際して、テスト規定等ございましたら、
合わせてお知らせください。
テスト規定例
氏名:テスト テスト
※テストを実施する際にキャンセル対応等の為に、
実施時に考慮すべき内容がございましたら、お申し付けくださいませ。
5.テストの完了後、旧タグの削除¶
Crib Notesタグの実装完了ないし、切り替えが完了しましたら、
旧サービスタグの削除をお願い致します。
旧タグ削除目安のお知らせ
対応完了後、10日間以上の並行運用期間が必要な為、
対応完了時点で旧サービスタグ削除の目安日程をメールにてお知らせします。
Appendix. 成果結果情報の暗号化について¶
必要に応じて、以下方法にて、成果結果情報を暗号化してください。
構成 | 暗号化方式 | 暗号化キー |
---|---|---|
成果結果情報_暗号化後の値 | SHA-512 | 別途営業担当へご依頼くださいませ |
Crib Notesユニバーサルタグのサンプルコード(設置位置:LPページ 〜 コンバージョンページ直前)
<!-- ここから Crib Notesユニバーサルタグのサンプルコード -->
<script>(function (b, f, d, a, c) {var e = b.createElement(f);e.src = c + "/" + a + "/atm.js";e.id = d;e.async = true;b.getElementsByTagName(f)[0].parentElement.appendChild(e)})(document,"script","__cribnotesTagMgrCmd","コンテナID","https://tag-cribnotes.j-a-net.jp/container_manager");</script>
<!-- ここまで Crib Notesユニバーサルタグのサンプルコード -->
- サンプルコード上でカスタマイズ必要箇所
- 『コンテナID』を変更する
- 『コンテナID』は別途、弊社担当営業より送付します。
- 『コンテナID』を変更する
<head></head>
内への設置を推奨
Crib Notesコンバージョンタグのサンプルコード(設置位置:コンバージョンページ)
<!-- ここから Crib Notesコンバージョンタグのサンプルコード -->
<script src="https://tag-cribnotes.j-a-net.jp/support/ntm.js"></script>
<script>
window.crib.setItem('transaction_id', '成果結果情報_暗号化後の値');
window.crib.setItem('thanks_id', 'サンクスID');
</script>
<script>(function (b, f, d, a, c) {var e = b.createElement(f);e.src = c + "/" + a + "/atm.js";e.id = d;e.async = true;b.getElementsByTagName(f)[0].parentElement.appendChild(e)})(document,"script","__cribnotesTagMgrCmd","コンテナID","https://tag-cribnotes.j-a-net.jp/container_manager");</script>
<!-- ここまで Crib Notesコンバージョンタグのサンプルコード -->
- サンプルコード上でカスタマイズ必要箇所
- 『成果結果情報_暗号化後の値』を変更する。
- 貴社にて、動的に『成果結果情報_暗号化後の値』を返すように設定をお願い致します。
- 『コンテナID』を変更する
- 『コンテナID』は別途、弊社担当営業より送付します。
- 『サンクスID』を対象プロモーションのサンクスIDに置き換える
- 『サンクスID』は別途、弊社担当営業より送付します。
- 『成果結果情報_暗号化後の値』を変更する。
<head></head>
内への設置を推奨
補足
- 成果結果情報の部分は、プログラムにより動的にID(成果結果情報)が出力される様、クライアント様に設定していただく部分になります。
- 成果ごとにユニークな値を出力させてください。(値が重複するとカウントが発生しません)
- この値は必ずエンコード処理をして下さい。
- マルチバイト文字は使わずに、254バイド以内でお願いします。
- 数字の「0」から始まらない様にして下さい。(情報をExcelで扱うことができなくなるため)
- 暗号化後の部分には、エンコード処理をしていない成果結果情報に、暗号化キーを連結し、暗号化文字列を作成してしていただきます。
- 成果結果情報と暗号化後の値をアンダースコア(_)で連携したものを、transaction_idの部分に使用していただきます。
サーバーサイドの成果結果情報暗号化サンプルコード集¶
Perl¶
#!/usr/bin/perl
use strict;
use warnings;
use Digest::SHA qw(sha512_hex);
main();
sub main {
my $data = 'sample_data';
my $key = 'adways1234';
print sha512_hex($data . $key), "\n";
}
PHP¶
<?php
$input = "sample_data";
$key = 'adways1234';
echo hash('sha512', $input . $key), "\n";
?>
PHPのバージョン5.1.2以上の場合は、動作確認はしております。
Java¶
ロジック側
import java.security.NoSuchAlgorithmException;
public class Example{
public static void main(String[] args) throws NoSuchAlgorithmException{
String value= "sample_data";
String key= "adways1234";
String hash= Encrypter.getHash(value+key);
System.out.println(hash+"\n");
}
}
ハッシュ値生成機能を提供する(参照される側)
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Encrypter{
public static String getHash(String org) throws NoSuchAlgorithmException{
if (org== null){
return null;
}
MessageDigest md= null;
md= MessageDigest.getInstance("SHA-512");
md.reset();
md.update(org.getBytes());
byte[] hash= md.digest();
StringBuffer sb= new StringBuffer();
int cnt= hash.length;
for(int i= 0; i< cnt; i++){
sb.append(Integer.toHexString( (hash[i]>> 4) & 0x0F ) );
sb.append(Integer.toHexString( hash[i] & 0x0F ) );
}
return sb.toString();
}
}