web-dev-qa-db-ja.com

複数の環境でのGoogleアナリティクス

私たちの組織ではGoogle Analyticsを使用する予定で、私が設定を担当しています。複数の環境にどう対処するか迷っていました。開発中やQA中にはデータを収集したくない(あるいは、別の分析アカウントにデータを収集したい)ことは確かにありませんが、サイトが本稼働に移行したとき(明らかに)はそうしたいと考えています。

  • 複数の環境とGoogle Analyticsをどのように扱いますか?
  • Google Analyticsに複数のアカウントを設定し、環境に応じていずれかを使用していますか?

重要な場合は、ASP.NET 2.0を使用しています。

11
marco-fiset

これが私が最後にやったことです(私はJavaScriptに.Netコードを埋め込むという考えが好きではなかった):

  • 2つのGoogleアナリティクスアカウントをセットアップしました。1つは開発/テスト用、もう1つは本番用です
  • 本体として(web.configからの)Google AnalyticsアカウントIDを返すページを作成します。
  • $(document).readyで、ページに対してajax呼び出しを行います
  • Ajaxが完了したら、応答(アカウントIDを含む)を指定してGoogleアナリティクススクリプトを呼び出します。

したがって、展開先の環境に応じて、正しいアカウント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);
        }
    });
});

そして、それは完全に機能します!

1
marco-fiset

別のオプションは、Google Analytics profiles です。すべての環境で同じアカウントを使用しますが、各プロファイルで ホスト名フィルターを追加 を使用して、それぞれの環境からのトラフィックのみを含めます。

たとえば、内部QA環境がqa.example.comの場合、^qa\.example\.com$に一致するホスト名のみを含めるカスタムフィルターを使用して、Googleアナリティクスで「QA」プロファイルを作成します。 「プロダクション」プロファイルで、反対のことを行い、内部ホスト名からのトラフィックを除外します。

8
Matthew

最も簡単な答えは「はい」です。環境ごとに複数のアカウントをセットアップします。次に、プロファイルID(「UA-XXXXX-X」のように表示されるテキスト here を参照)を、目的の環境の正しいIDに置き換えます。

ASP.NETを使用しているため、プロファイルIDをweb.configに保存できます。これにより、JavaScript内に.NETコードを埋め込む必要が生じます(問題がある場合とない場合があります)。プロダクション構成を、トラッキングコードを出力する唯一の構成に構成することもできますが、その場合、テストされていないコードがリリースされます。

サイトのホスト方法(dev.domain.tld、test.domain.tld、www.domain.tld)に応じて、単一のプロファイルを使用し、サブドメイン/フォルダー/ urlに基づいて結果をフィルター処理できます。 Googleには、さまざまな 追跡シナリオ に関するかなり良い記事があります。

7
Fammy

開発およびQA中に、サイトが社内ネットワークのマシンから内部的にのみアクセスされることを確認できますか?

はいの場合は、本番環境で使用するのと同じアナリティクスアカウントを使用できます そして、組織内からのすべてのトラフィックを除外します

リンクからの引用:

レポートに表示されないように内部トラフィックを除外する場合は、特定のIPアドレスまたはIPアドレスの範囲を除外できます。 Cookieを使用して、特定のユーザーからの訪問を除外することもできます。以下にその方法を説明します。

0