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


11

Google Analyticsを組織で使用することを計画しており、セットアップを担当しています。複数の環境に対処する方法について疑問に思っていました。開発中およびQA中にデータを収集する(または別の分析アカウントにデータを収集する)ことは避けたいのですが、サイトが運用環境に移行したとき(明らかに)にしたいのです。

  • 複数の環境とGoogle Analyticsにどのように対処しますか?
  • Googleアナリティクスに複数のアカウントを設定し、環境に応じていずれかを使用していますか?

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

回答:


7

最も簡単な答えはイエスです。各環境に複数のアカウントを設定します。次に、プロファイルID(「UA-XXXXX-X」のように見えますが、見られるようにすることをテキスト置き換えるここを所望の環境から正しいIDを持ちます)。

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

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


2
環境ごとに複数のアカウントが間違いなくここに行く方法です
ワイアットバーネット

7

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

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


これは非常に簡単で強力で、構成ファイル内で構成する変数が1つ少なくなります。

1

ここに私がついにやったことです(.Netコードをjavascriptに埋め込むという考えが好きではありませんでした):

  • 開発/テスト用と本番用の2つのGoogle Analyticsアカウントを設定します
  • (web.configからの)Googleアナリティクスアカウント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);
        }
    });
});

そして、それは完全に動作します!


6
アカウント番号を取得するためだけに、ページの読み込みごとにAJAXリクエストを行うのは無駄なようです。
ボブ・銀行

1
<%= ASP %>Javascript内にタグを埋め込むことには何の問題もありません。最小値をJS内に配置し、他のクエリ/ロジックを他の場所に配置するだけです。
サイモンイースト14年

0

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

「はい」の場合、実稼働に使用されるのと同じ分析アカウントを使用し、組織内からのすべてのトラフィックを除外できます

リンクから引用:

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


これは間違いなく機能しますが、イベントおよびその他のリアルタイムの追跡可能なデータの実装をテストしたい場合。孤立したプロファイルやビュー、またはその下で使用することなく、すべてを非常に困難にします。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.