iFrameを用いたクロスドメイントラッキングで、
セッションが引き継がれない、ということがあったので調べてみたところ、
ドメインが変わるとき、読込先のURLに?ga_=9999~~といった
GA管理のセッション情報(パラメータ)を付加しないと
セッションが引き継がれない、ということでした。
マニュアル通りに試してみたら良さそうだったので備忘録として。
●親ページ(aaa.com/parent.html)
——————————————-
<html>
<head>
<title>親ページ</title>
</head>
<body>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'auto', {'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['aaa.com','bbb.com']);
ga('send', 'pageview');
</script>
<div id="myiFrame"></div>
<script>
var linker;
function addiFrame(divId, url, opt_hash) {
return function(tracker) {
window.linker = window.linker || new window.gaplugins.Linker(tracker);
var iFrame = document.createElement('iFrame');
iFrame.src = window.linker.decorate(url, opt_hash);
document.getElementById(divId).appendChild(iFrame);
};
}
// Dynamically add the iFrame to the page with proper linker parameters.
ga(addiFrame('myiFrame', '子ページのURL'));
</script>
</body>
</html>
——————————————-
divで、iframeの読み込みを一旦保留させます。
var linker;~のスクリプトで、srcにパラメータを付加したiframeを
動的に生成しています。
※ga(addiFrame(‘myiFrame’, ‘子ページのURL’));で子ページのURLを指定
●子ページ(bbb.com/child.html)
——————————————-
<html>
<head>
<title>子ページ</title>
</head>
<body>
<div style="background-color:#ffe3ef;">子ページです</div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'auto', {'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['aaa.com','bbb.com']);
ga('send', 'pageview');
</script>
</body>
</html>
——————————————-
上記でテストしてみたところ、
●親ページのiframeのsrcに?ga_=~~~~~~が付加された
●GAの管理画面から
・サイトコンテンツ>すべてのページ
親ページ、子ページともカウントされる
・サイトコンテンツ>ランディングページ
親ページのみカウントされる
となりました。
●参考サイト
iframeを使ったフォームのGAのクロスドメイントラッキングについて
クロスドメイン トラッキング – ウェブ トラッキング(analytics.js)
Googleアナリティクスでiframeはどういう扱いになるのか | cly7796.net