ウェブサイトはcookieを使用してコンテンツと広告をパーソナライズし、ソーシャルメディア機能を強化し、サイトのトラフィックを監視します。Cookieにより、ウェブサイトはサイトの使用方法に関する情報をソーシャルメディア、広告、分析パートナーと共有できます。
ウェブサイトは、GDPRやCCPAなどのプライバシーおよびセキュリティ法に準拠するために、お客様の情報を使用する許可またはcookie consentを取得する必要があります。
Cookie Consentを使用すると、ウェブサイトでcookieを使用していることをユーザーに警告できます。Osanoは無料のJavaScript pluginを提供しています。
Osanoは、顧客データを共有するすべてのvendorを管理するデータプライバシープラットフォームです。数分と1行のJavaScriptで、Osanoはウェブサイトがcomply GDPRやCCPAなどの法律に準拠するのに役立ちます。
幅広いレイアウトとカラースキームから選択できます。

Osano wizardとconfiguratorをダウンロードします。または、Javascript API documentationを使用できます。
テスト用のサンプルランディングページHTMLファイルを定義します。 たとえば、以下のtest.mdコードを使用できます。
サンプルコードの以下のfieldを置き換えます:
<TD_write_only_API_key><write_your_db_name><write_your_table_name>
<html>
<head>
<script>
!function(t,e){if(void 0===e[t]){e[t]=function(){e[t].clients.push(this),this._init=[Array.prototype.slice.call(arguments)]},e[t].clients=[];for(var r=function(t){return function(){return this["_"+t]=this["_"+t]||[],this["_"+t].push(Array.prototype.slice.call(arguments)),this}},s=["addRecord","blockEvents","fetchServerCookie","fetchGlobalID","fetchUserSegments","resetUUID","ready","setSignedMode","setAnonymousMode","set","trackEvent","trackPageview","trackClicks","unblockEvents"],n=0;n<s.length;n++){var c=s[n];e[t].prototype[c]=r(c)}var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=("https:"===document.location.protocol?"https:":"http:")+"//cdn.treasuredata.com/sdk/2.5/td.min.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)}}("Treasure",this);
// Configure an instance for your database
var td = new Treasure({
host: 'in.treasuredata.com',
writeKey: '<TD_write_only_API_key>',
database: '<write_your_db_name>',
startInSignedMode: true
});
// Enable cross-domain tracking
td.set('$global', 'td_global_id', 'td_global_id');
// Track pageview information to a table
td.trackPageview('<write_your_table_name>');
</script>
<!-- =======================================================
Start https://cookieconsent.insites.com/ tag
======================================================= -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script>
<script>
window.addEventListener("load", function(){
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "#3c404d",
"text": "#d6d6d6"
},
"button": {
"background": "#8bed4f"
}
},
"type": "opt-out",
"revokable": true,
onStatusChange: function(status) {
this.hasConsented() ? td.setSignedMode() : td.setAnonymousMode();
},
})
});
</script>
</head>
</body>
</html>- 簡単なHTTPサーバーをセットアップします: たとえばMacの場合:
sudo apachectl start
sudo cp test.md /Library/WebServer/Documents
# setup owner and permission same with other files in copy destination folder above
# sudo chown
# sudo chmod以下のURLを使用してbrowserからアクセスしてみてください: http://127.0.0.1/test.md
または、このライブデモを参照できます: https://treasure-data.github.io/js-examples/consensus-management/index.md
下部にバーが表示された空白のページが表示されます。Allow cookiesを選択しないでください。

- ページを数回更新し、tracking情報が送信される宛先tableを確認します。
最大で数分後には、宛先tableでstreamingデータが表示され始めるはずです。SELECT TABLE statementを実行して確認できます。
select td_ip,td_client_id,td_global_id from <db name>.<tbl name>
test.mdページでDeclineを選択します。
ページを更新します。 更新後、consent promptは表示されなくなります。

- web trackingの宛先tableを再度確認します。 最大で数分後には、宛先tableで新しいstreamingデータが表示され始めるはずです。SELECT TABLE statementを実行して確認できます。
select td_ip,td_client_id,td_global_id from <db name>.<tbl name>ご覧のとおり、td_ip、td_client_id、td_global_id columnがTDに送信されたstreamingデータから除外されています。

- テストをクリーンアップするには、ローカルPCで実行されているHTTPサーバーを停止します。
sudo apachectl stop- test.mdファイルを削除します。
sudo rm -f Library/WebServer/Documents/test.mdユーザーが初めてwebページにアクセスすると、デフォルトで以下の情報が保存されたcookieに含まれます(td_ip、td_client_id、td_global_id):

ユーザーがcookie consent promptでDeclineを選択した場合、以下のfield(td_ip、td_client_id、td_global_id)は、このユーザーによる後続のページ訪問では送信されません:
