Treasure Dataは、本番環境で使用を開始する前に、サイトでTreasure Data JavaScript SDK version 3を使用した新機能や機能の実装を検証することをお勧めします。cookieの管理方法が異なります。これらの記事のほとんどを参照する際は、提案されたeventコレクターとTreasure Data JavaScript SDK version 3の呼び出しをソリューション内で定義する必要があることに注意してください。たとえば、//cdn.treasuredata.com/sdk/2.5/td.min.jsを//cdn.treasuredata.com/sdk/3.0.0/td.min.jsに変更します。
通常、GTMは"pageview" triggerによってトリガーされるPVをTreasure Dataのtableに送信するために使用できます。
SPA(Single Page Application)サイト(WWD JAPAN.com(https://www.wwdjapan.com)など)の場合、"pageview" triggerによってトリガーされるPVはTDに正しく送信できません。
loadPageとchangePage triggerを使用します。
![]()
loadPage trigger(data layer上のevent push)
SPAページは一度だけロードされ、その後server-side APIを使用してコンテンツを生成します。"loadPage"は、初期ページロードが完了してHTMLタイトルが設定された後にトリガーされます。
loadPage triggerを使用すると、PVを一度だけTDのtableに送信します。
サンプル:
<script type="text/javascript">
!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);
var td = new Treasure({
host: '<< host >>',
writeKey: '<< writeKey >>',
database: '<< DB >>',
startInSignedMode: true
});
td.set('$global', 'td_global_id', 'td_global_id');
// 会員IDなどをセット
td.set('pageviews', { '<< カスタム変数 >>': "{{<< カスタムバリュー >>}}" });
td.trackPageview('pageviews');
</script>