別のドメインでiframedコンテンツを追跡するGoogleの指示( http://code.google.com/apis/analytics/docs/tracking/gaTrackingSite.html#trackingIFrames )にできる限り従いました。それでも、iframeされたページのアナリティクスにはまだデータが表示されていません。
親ページ( http://www.blackangus.com/primeclub/ ):
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.Push(['_setAccount', 'UA-xxxxxxx-xx']);
_gaq.Push(['_setDomainName', 'blackangus.com']);
_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);
})();
var iframeLink = "http://www.fishbowl.com/clt/blckangus/lp/join/joinform.asp";
jQuery(function() {
_gaq.Push(function() {
var pageTracker = _gat._getTrackerByName();
iframeLink = pageTracker._getLinkerUrl(iframeLink);
jQuery("#joinform").attr("src", iframeLink);
});
});
</script>
Iframedページ( http://www.fishbowl.com/clt/blckangus/lp/join/joinform.asp ):
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.Push(['_setAccount', 'UA-xxxxxx-xx']);
_gaq.Push(['_setDomainName', 'blackangus.com']);
_gaq.Push(['_setAllowHash', 'false']);
_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>
何が間違っていますか? iframedページがAnalyticsに表示されないのはなぜですか?
興味をそそる。スクリプトは次の3つのことを行うようです。
基本的に、非iframeに必要なものは次のとおりです。
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.Push(['_setAccount', 'UA-XYZXYZ-XY']);
_gaq.Push(['_setDomainName', 'blackangus.com']);
_gaq.Push(['_setAllowHash', 'false']);
_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);
})();
iframeページとまったく同じです(blackangus.comにないため)。
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.Push(['_setAccount', 'UA-XYZXYZ-XY']);
_gaq.Push(['_setDomainName', 'blackangus.com']);
_gaq.Push(['_setAllowHash', 'false']);
_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);
})();
ただし、iframeはページビューもトリガーするため、これはGA設定で2ページビューとしてカウントされます。二重ページビューを除外するフィルターを設定する必要があります。
はい、最初の結果が表示されるまで数時間待つ必要があります。通常は約24時間です。