Google アナリティクスを使用し、多数のドメインを使用するサイトがあります。これを行うことで、クロスドメイントラッキングを追加するように求められました:
1) 非同期トラッカーを追加する
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21602333-1']);
_gaq.push(['_setDomainName', 'domain.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);
})();
2) 他のドメインのいずれかに移動するすべてのリンクに次のコードを追加します。
<a href="http://www.domain-aanvraag.nl[rest van de link]" onclick="_gaq.push(['_link', 'http://www.domain.com']); return false;">Go!</a>)
_link オプションは、google によると次のことを行います。
このメソッドは、_setDomainName() および _setAllowLinker() メソッドと連携して動作し、クロスドメイン ユーザー トラッキングを有効にします。_link() メソッドは、URL パラメータ (HTTP GET) を介して、GATC Cookie をこのサイトから別のサイトに渡します。また、document.location を変更し、ユーザーを新しい URL にリダイレクトします。
Ok。これはすべて、通常の発信リンクでは正常に機能します。
これが問題です。ユーザーが2つのラジオボタンのいずれかを選択できるフォームがあり、1つを選択した後、送信ボタンを押します。最初のラジオ ボタンが選択されている場合、fancybox ポップアップが開き、その中に別のドメインのページを指す iframe が表示されます。2 番目のラジオ ボタンを開くと、現在のウィンドウがこのドメインの別のページにリダイレクトされます。
_gaq_push(['_link', ...])
ユーザーが最初のオプションを選択してボタンをクリックしたときにのみ、やりたいことがあります。
したがって、これには2つの問題があります。
- onclick はどこに配置すればよいですか。
- fancybox を使用してこのコードを使用するにはどうすればよいですか? ファンシーボックスのiframeではなく、常にメイン画面のdocument.locationを設定しているようで、画面が完全に更新されます。
これまでのコードの作業例を簡略化したものを次に示します: https://www.domain.com/test/analytics.html