Google Analytics — пользовательское отслеживание iFrame

Я сделал маленькую игру в крестики-нолики, которая отлично работает на http://tic.cwoebker.com. Реальная игра в крестики-нолики загружается из (/tic) и встраивается в iframe.

Поэтому другие могли легко встроить игру на свой сайт, если бы захотели.

Крестики-нолики

Я делаю отслеживание событий внутри iframe. Прямо сейчас я настроил его, чтобы он запускал просмотр страницы как на главной странице, так и на фактическом коде игры внутри iframe.

Мне было интересно, могу ли я каким-то образом запускать просмотр страницы только для iframe, если он не встроен в http://tic.cwoebker.com, но на другом сайте.

Таким образом, все, что отслеживается в корневом каталоге (/), является трафиком моего сайта, а все, что отслеживается в i-frame (/tic), генерируется путем встраивания на другой сайт.

Прямо сейчас мой код аналитики в iframe выглядит так:

 <script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-xxxxxxxxx-x']);
    _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>

Заранее большое спасибо.


person cwoebker    schedule 17.10.2012    source источник


Ответы (2)


Поскольку вы находитесь в iFrame в отдельном домене, вы не можете получить доступ к родительскому окну, чтобы получить местоположение. Посмотрите эту демонстрацию и/или немного погуглите: http://jsfiddle.net/TomFuertes/RRB52 /2/

_gaq.push(['tictactoe._setAccount', 'UA-xxxxxxxxx-x']);
// Line below causes security issues, thus won't work
_gaq.push(['_setCustomVar', 1, 'Domain', window.parent.location.host, 3]);
_gaq.push(['tictactoe._trackPageview']);

Вы можете передать домен, используя строку запроса на своей странице iFrame, вам нужно будет изменить код включения, чтобы он выглядел следующим образом: https://stackoverflow.com/a/5697801/94668

<script type="text/javascript">
document.write('<iframe src="//tic.cwoebker.com/?url=' + window.location + '"></iframe>');
</script>

Затем вы должным образом отфильтруете свою Google Analytics.

person TomFuertes    schedule 17.10.2012

Вы можете использовать кампании Google Analytics для отслеживания трафика. Вам нужно будет распространить код для встраивания, который уже имеет параметры кампании, как часть исходного кода для встраивания iframe.

Надеюсь, это поможет.

Интересно услышать от других.

person Ravi Gidwani    schedule 07.01.2014