私たちの組織ではGoogle Analyticsを使用する予定で、私が設定を担当しています。複数の環境にどう対処するか迷っていました。開発中やQA中にはデータを収集したくない(あるいは、別の分析アカウントにデータを収集したい)ことは確かにありませんが、サイトが本稼働に移行したとき(明らかに)はそうしたいと考えています。
重要な場合は、ASP.NET 2.0を使用しています。
これが私が最後にやったことです(私はJavaScriptに.Netコードを埋め込むという考えが好きではなかった):
したがって、展開先の環境に応じて、正しいアカウントIDを含むweb.configファイルのいずれかのバージョンを使用します。
少し複雑ですが、.NETからJavaScriptを生成する必要はなく、jQueryを使用すると非常に簡単です。
これが最終的なコードです:
var setupGoogleAnalytics = function (clientNumber) {
var gaq = gaq || [];
gaq.Push(['_setAccount', clientNumber]);
gaq.Push(['_setDomainName', 'none']);
gaq.Push(['_trackPageview']);
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);
}
$(document).ready(function(){
$.ajax({
url: "GetGAClientNumber.aspx",
success: function(data) {
setupGoogleAnalytics(data);
}
});
});
そして、それは完全に機能します!
別のオプションは、Google Analytics profiles です。すべての環境で同じアカウントを使用しますが、各プロファイルで ホスト名フィルターを追加 を使用して、それぞれの環境からのトラフィックのみを含めます。
たとえば、内部QA環境がqa.example.com
の場合、^qa\.example\.com$
に一致するホスト名のみを含めるカスタムフィルターを使用して、Googleアナリティクスで「QA」プロファイルを作成します。 「プロダクション」プロファイルで、反対のことを行い、内部ホスト名からのトラフィックを除外します。
最も簡単な答えは「はい」です。環境ごとに複数のアカウントをセットアップします。次に、プロファイルID(「UA-XXXXX-X」のように表示されるテキスト here を参照)を、目的の環境の正しいIDに置き換えます。
ASP.NETを使用しているため、プロファイルIDをweb.configに保存できます。これにより、JavaScript内に.NETコードを埋め込む必要が生じます(問題がある場合とない場合があります)。プロダクション構成を、トラッキングコードを出力する唯一の構成に構成することもできますが、その場合、テストされていないコードがリリースされます。
サイトのホスト方法(dev.domain.tld、test.domain.tld、www.domain.tld)に応じて、単一のプロファイルを使用し、サブドメイン/フォルダー/ urlに基づいて結果をフィルター処理できます。 Googleには、さまざまな 追跡シナリオ に関するかなり良い記事があります。
開発およびQA中に、サイトが社内ネットワークのマシンから内部的にのみアクセスされることを確認できますか?
はいの場合は、本番環境で使用するのと同じアナリティクスアカウントを使用できます そして、組織内からのすべてのトラフィックを除外します 。
リンクからの引用:
レポートに表示されないように内部トラフィックを除外する場合は、特定のIPアドレスまたはIPアドレスの範囲を除外できます。 Cookieを使用して、特定のユーザーからの訪問を除外することもできます。以下にその方法を説明します。