最初gaタグは以下のような記述になっているかと思います。
<script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-xxxxx-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>
ga.jsのダミーとして同じディレクトリにtest.jsを作ります。
test.js
console.log(obj[0]);
test.php
objの配列にidを入れて、test.phpからtest.jsを呼び込みます。
<script type="text/javascript"> var obj = obj || []; obj.push('id:1'); (function() { var sa = document.createElement('script'); sa.type = 'text/javascript'; sa.async = true; sa.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://') + '192.168.33.10:8000/test.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sa, s); })(); </script>
配列のid:1がtest.jsに渡されて、console.logが実行されます。
test.jsの中身を以下に書き換えると
console.log(obj[0]); console.log(location.pathname);
test.phpのlocation.pathnameが表示されます。
つまり、setAccountとtrackPageviewを配列としてga.jsに渡して、対象ページのユーザー情報、挙動やcookieをga.jsでcollectしているということですね。
_gaq.push([‘_setAccount’, ‘UA-xxxxxx-x’]);
_gaq.push([‘_trackPageview’]);
あれ、もしかして、アフィリエイトのコンバージョンタグも同じ仕組み?? マジ?