J'ai suivi les instructions de Google sur le suivi du contenu iframed sur un autre domaine ( http://code.google.com/apis/analytics/docs/tracking/gaTrackingSite.html#trackingIFrames ) du mieux que je peux, Pourtant, aucune donnée n'apparaît dans Analytics pour la page iframed.
Page parent ( 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>
Et la page 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>
Qu'est-ce que je fais mal? Pourquoi la page iframed n'apparaît-elle pas dans Analytics?
Intéressant. Vos scripts semblent faire trois choses:
Ce dont vous avez besoin pour le non-iframe est essentiellement ceci:
<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);
})();
et exactement la même chose sur votre page iframe (puisqu'elle ne se trouve pas sur 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);
})();
Toutefois, cela comptera pour deux pages vues dans votre configuration GA, car l’iframe déclenchera également une consultation de page. Vous devez configurer un filtre qui filtre les doubles pages vues.
Et oui, vous devez attendre quelques heures jusqu'à ce que les premiers résultats soient affichés. Généralement autour de 24 heures.