最近味付けたまご作りにこってます。ago(@kyo_ago)です。
先日mixiアプリで使用しているGoogle AnalyticsのPVを別の計測数と比較する機会があり、その際Google Analytics側の数字が非常に小さく出ていることに気づきました。
そこで調査したところ、IEはドメインが違うクッキーを送らない仕様があり、そのためmixiアプリでは以下のような方法ではIEユーザのPVをカウントできないようです。
<Module>
<ModulePrefs author_email="ago@kayac.com">
<Require feature="analytics" />
</ModulePrefs>
<Content type="html"><![CDATA[
<script type="text/javascript">
_IG_Analytics('<ID>', '<仮想パス>');
</script>
]]></Content>
</Module>
これに関してはGoogleの資料でも触れられており、P3Pヘッダーを送信すれば解決できるとのことです。
ログインまたは Cookie を要求するガジェットの作成
今回は以下のようなP3Pヘッダを出力するphpを設置し、mixiアプリ内から<iframe src="ga.php?/仮想パス/" />のようの呼び出すことでIEユーザのPVは取得できるようになりましたが、safariユーザはこの方法でもPVを取得することができないため、safariユーザのPVは取得できていません。
<?php header('P3P: CP="設定したP3Pヘッダの内容"'); ?>
<html>
<head><title>ga</title></head>
<body>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '<ID>']);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</body>
</html>
mixiが公開しているUAの比率と著しく乖離がある(特にIEユーザが少ない)場合、P3Pヘッダを疑ってみてください。
mixiユーザーのブラウザ利用比率のご案内