実現したいこと
client_idの値を別システムに使い回すために、値自体を取得したいと思っております。
gtag.jsのみを利用した実例がネットを探しても見つからず、
analytics.jsを利用した実装例(getAllを使用したり等)に行き着いてしまいます。
JavaScript
1<!-- Global site tag (gtag.js) - Google Analytics --> 2<script async src="https://www.googletagmanager.com/gtag/js?id=UA-123456789-1"></script> 3<script> 4window.dataLayer = window.dataLayer || []; 5function gtag(){dataLayer.push(arguments);} 6gtag('js', new Date()); 7gtag('config', 'UA-123456789-1', { 8 'custom_map' : { 9 'dimension1' : 'clientId' 10 } 11}); 12</script>
現状、GAのレポート内でカスタムディメンションとしてclient_idを閲覧できる状態にはできたのですが、
これを先述の通り、別システムに使い回すために値を取得するためのコードにするにはどうしたら良いのでしょうか?
補足
Analytics.jsを利用すると、下記のようにトラッカーのデータを取得できます。
同じようにgtag.jsのリファレンスを見ると同一項目がごっそり抜けている状態です。
トラッカー データを取得および設定する(Analytics.js)
追加1 (2019/02/18)
リファレンスには確か非推奨と載っていましたが、(ここにも載ってました→Googleアナリティクスの計測の仕組みを理解しよう)
クライアントIDは_ga
という名前でcookieに保存されます。
cookieの値をそのまま使うのはダメと書いてありますが、他に方法がわからなかったので直接触りました。
というのが下記のコードです。
JavaScript
1function getCookieArray(){ 2 var arr = new Array(); 3 if(document.cookie != ''){ 4 var tmp = document.cookie.split(';'); 5 for(var i=0;i<tmp.length;i++){ 6 var data = tmp[i].split('='); 7 arr[data[0]] = decodeURIComponent(data[1]); 8 } 9 } 10 return arr; 11} 12var arr = getCookieArray(); 13// クライアントID部分だけを抜き取る 14var clientIdArr = arr["_ga"].split(".").slice(2); 15var strClientId = clientIdArr.join(".");
関数getCookieArray()
に関してはこちらの記事のコードをコピペしてます。
[JavaScript] cookieから値を取得する - コピペで使えるJavaScript逆引きリファレンス
変数strClientId
をconsole.log()
で出力すると、1234567.1234567
のような形で値が見れます。
これがクライアントIDとなります。
別の方法がありましたらぜひご教授をば...。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/12 14:38