ユニバーサルアナリティクス、iFrameのクロスドメイントラッキング

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

コメントをどうぞ

Popular Posts

Sorry. No data so far.