web-dev-qa-db-ja.com

開発作業をヒットとしてカウントするGoogleアナリティクスを停止する方法はありますか?

Googleアナリティクスを利用できるように、ページの下部に必要なJavaScriptを追加しました。唯一の問題は、すべての開発作業をヒットとしてカウントしていると確信していることです。おそらくこれらのページの一部を1日に100回表示すると、実際の読み取り値が歪んでしまいます。特定のIPアドレスからそれをオフにする方法はありますか、これは私のビルドプロセスに組み込む必要があるので、展開用にビルドするときにのみ追加されますか?

134
uriDium

そう、アナリティクスの設定に入り、サイトを編集し、+フィルターを追加してIPアドレスを除外するフィルターを定義します。

過去のデータはフィルターが適用された状態では再生成されません。そのため、それらの利点は前進することだけです。

96
chaos

JavaScriptを使用する簡単なアプローチが好きです。どこでも動作します。

<script type="text/javascript">
if (document.location.hostname.search("myproductiondomainname.com") !== -1) {

//google analytics code goes here

}
</script>
191
keza

2014年であり、既存のすべてのソリューションにまだ満足していません...

  • IPフィルターには静的IPアドレスが必要です。自宅またはコーヒーショップで働いている場合はどうなりますか?
  • ホスト名を確認すると、開発環境からのヒットが排除されますが、ライブサイトをデバッグしている場合はどうなりますか?
  • サーバー構成の編集は煩わしい/高度であり、複数のドメインは複雑です。
  • オプトアウト拡張機能は、尋ねる人に応じて、すべてのWebサイトでヒットをブロックするか、まったくブロックしないかのいずれかです。

そこで、独自のブラウザ拡張機能を作成しました... https://chrome.google.com/webstore/detail/lknhpplgahpbindnnocglcjonpahfikn

  • どこへ行っても
  • 開発環境とライブ/パブリックドメインで動作します
  • 私と私が開発しているサイトにのみ影響します
  • ワンクリックでオン/オフします
  • 分析にデータを送信していないことを簡単に確認できます

これは、選択したドメインのみに対して常に「開発者Cookie」をマシンに設定しておくことで機能します。次に、Analyticsにデータを送信する前に、スクリプトでこのCookieを確認するだけです。拡張機能の設定で、Cookie用に独自の一意のNAMEとVALUEをカスタマイズします。これは人々のチームが簡単に使用できるため、開発者、コンテンツ作成者、校正者、および組織内のだれでも、統計を膨らませることなくすべてのページを表示できます。

コードをページに挿入する方法の例...

JavaScript

if (window.location.Host==="mydomain.com" || window.location.Host==="www.mydomain.com") {
   if (document.cookie.indexOf("COOKIENAME=COOKIEVALUE") === -1) {
      // Insert Analytics Code Here
   }
}

[〜#〜] php [〜#〜]

if ($_SERVER['HTTP_Host']==="mydomain.com" || $_SERVER['HTTP_Host']==="www.mydomain.com") {
   if (@$_COOKIE["COOKIENAME"] !== "COOKIEVALUE") {
      // Insert Analytics Code Here
   }
}

ホスト名がライブサイトのドメイン( "mydomain.com")と等しいことを確認することで、 "localhost"や "beta.mydomain.com"などのテストドメインから表示しているときに、分析データがどの訪問者からも送信されないようにします。 。上記の例では、「www.mydomain.com」と「mydomain.com」が、訪問を記録したい2つの有効なドメインです。

ライブサイトは、開発者のCookieに一致する値が見つからない限り、期待どおりにデータを分析に送信します。デバイスに設定された一意のCookieが見つかった場合、訪問はGoogleアナリティクスまたはその他の使用したい分析ツールの合計にカウントされません。

ソリューションを共有し、拡張機能を使用してこれらのCookieを設定してください。

31
seebigs

静的IPを使用していない場合、GAでIPフィルターを設定しても役に立ちません。

環境変数を設定し、条件付きで表示します。たとえば、次のRuby on Railsコード、

<% unless Rails_ENV == "development" %>
    <!-- your GA code -->
<% end %>

任意のオペレーティングシステムで使用するすべての言語/フレームワークで、この動作を拡張できます。 PHPでは、 getenv 関数を使用できます。 環境変数 のウィキペディアのページをチェックして、システムでの処理方法を確認してください。

25
Nando Vieira

開発とQA作業のために、2番目のGoogleアナリティクストラッキングコードを設定します。アナリティクスの統合をテストする場合に実際に役立ちます。また、実稼働統計への流出がないことを確認します。

15
Wyatt Barnett

あなたがNATであるか、他の理由であなたのIPをGoogleアナリティクスに渡すことができない場合、最も簡単な方法は、Googleアナリティクスドメインをローカルホスト(127.0.0.1)に設定することです。ブラウザを開くと、Googleアナリティクスへのすべてのリクエストは、Googleアナリティクスの知識なしで作業ステーションに送信されます。

15
astropanic

このコードを使用できます

<script>
var Host = window.location.hostname;
if(Host != "localhost")
{
    // your google analytic code here
}
</script>
14
prawito hudoro

解決策は、 Googleタグマネージャー (GTM)を使用してGoogleアナリティクスを処理することです。これにより、サイトのコードに条件を記述することなく、本番ドメインでのみGoogle Analyticsを起動できます。方法は次のとおりです。

GTMで、ページホスト名に運用ドメインが含まれている場合にのみ起動するトリガーを設定します。

enter image description here

次に、ユニバーサルアナリティクスのタグを設定し、そのトリガーを作成したタグにします。

enter image description here

10

https://chrome.google.com/webstore/detail/fadgflmigmogfionelcpalhohefbnehm のような、これを行ういくつかのChrome拡張機能があります

IPアドレスが静的でない場合に非常に便利です。

6
Uri

Googleアナリティクスの非同期コードを実行する前に次の行を追加して、そのウェブプロパティIDのトラッキングを無効にします。

window['ga-disable-UA-XXXXXX-Y'] = true;

UA-XXXXXX-Yは、トラッキングを無効にするウェブプロパティIDに対応します。

From: https://developers.google.com/analytics/devguides/collection/gajs/

5
AJP

Firefox用Ad Blockerを使用します。Googleアナリティクストラッキングスクリプトをブロックできます。 firefoxは私の主要な開発用ブラウザであるため、他のブラウザで作業をテストする必要があるまではうまく機能します。

3
Adrian

カスタムメトリックを使用して、このトラフィックをすべてフィルタリングします。

アプリでGAを初期化する場合、開発者を追跡するカスタムフラグを設定します。

// In your header, after the GA code is injected
if( <your_code_to_check_if_is_dev> ) {
  ga('set', 'is_developer', 1 );
}

次に、GAアカウントにフィルターを追加して、これらの結果を削除します。

管理者>アカウント>すべてのフィルター>フィルターの追加>ユーザー定義

enter image description here

3
Joseph Lust

おそらく役に立たないかもしれませんが、必要なJavaScriptを挿入するカスタムASP.NETサーバーコントロールを記述することで、この問題を解決しました。次に、ライブURLをweb.configに追加し、ホスト名がweb.configのライブURLと一致したときにのみコントロールを表示しました。

2
Dan Diplo

私はこの投稿が非常に古いことを知っていますが、私のニーズを満たすソリューションはありませんでした。開発作業をGA(およびFB)から削除しただけでなく、社内の一部のユーザーをGAですから、それらの人々がプラグインなしで分析から自分自身を除外したり、ドメインIPを除外したりする比較的簡単な方法が必要でした(ラップトップを持っている人々はさまよう)。

webpage を作成し、ユーザーがリンクにアクセスして、GAおよびFBトラッキングからオプトアウトすることができます。サイトのCookieを配置します。このCookieを使用して、データをGAおよびFB。

私はもともと、このサイトを ダリア、ギリシャ正教会の結婚式と洗礼のアイテムのブティックメーカーです と設定しました。

コードは次のとおりです。

すべてのWebページのヘッダーに次のコードを配置します。

<script>
//put in your google analytics tracking id below:
var gaProperty = 'UA-XXXXXXXX-X';

// Disable tracking if the opt-out cookie exists.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
  window[disableStr] = true;
  window['ga-disable-UA-7870337-1'] = true;  //This disables the tracking on Weebly too.
} else {
   //put in your facebook tracking id below:
  fbq('init', 'YYYYYYYYYYYYYYY');
  fbq('track', 'PageView');
}
</script>

必ずGAおよびFBトラッキングIDを提供されたスペースに追加してください。これはもともとWeebly(ショッピングCMS)サイト用に書かれたものです。 weeblyに言及しています。

次に、新しい "do-not-track"というWebページ を作成し、ヘッダーに次のコードを追加しました。

<script>
//put in your own google analytics tracking id below:
var gaProperty = 'UA-XXXXXXXX-X';
var disableStr = 'ga-disable-' + gaProperty;

// Opt-out function
function gaOptout() {
  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
  window[disableStr] = true;
  gaOptoutCheck();
}

// Check Opt-out function
function gaOptoutCheck() {
    var name = "ga-disable-"+gaProperty+"=";
    var ca = document.cookie.split(';');
    var found = "false";
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) == 0) found = "true";
    }
    if (found == "true") alert("Cookie is properly installed");
    else alert("COOKIE NOT FOUND");
}
</script>

本体の次のコード:

<a href="javascript:gaOptout()">Click here to opt-out of Google and Facebook Analytics</a>
<br><br>
Please visit this page on every computer, laptop, phone, tablet, etc. that you use; 
and for all browser you use on each of those devices.
<br><br>
If you ever remove cookies from browser, you will need to repeat this process for that browser.
<br><br><br>
<a href="javascript:gaOptoutCheck()">
Click to check if cookie is set</a>
<br><br>

ここに私の完全な Weeblyサイトの記事

これが誰かを助けることを願っています!

1
furnaceX

人々が言及しているように、google-analytics.comドメインをローカルでホストするか、開発ネットワークで作業しているかどうかを確認する機能をセットアップできます。

http://www.google-analytics.com/ga.js がロードされず、onclick javascript関数を使用してページ要素のクリックを追跡する場合に留意してください。

IE:onclick = "javascript:pageTracker._trackPageview( '/ made/up/folder/reference');

JavaScriptエラーが発生し、jQueryまたはその他の堅牢なJavaScript関数が機能しなくなります。

1
gegere

このための追加オプションとして、多くの異なるサイトと開発者がいる開発サーバーがあります。これは、3つの主なオプションに特に満足していなかったことを意味します

  • ホストファイル-多くの開発者に問題があり、人為的ミスにさらされている
  • すべてのサイトなどのif/else開発ブロック
  • GAウェブサイト-一部のクライアントは独自のGAアカウント; すべてのサイトで完了する必要があります)忘れられる/見落とされる可能性がある

ここで他の回答でさまざまなオプションを実装するのではなく、次の方法で問題に取り組みました。グローバルなhttpd.conf(サイト固有のものではなく)で、Apacheモジュール mod_substitute を使用して、別の回答のhostsファイル修正の効果をシミュレートしましたが、すべての開発サイトおよびすべての開発者に対して自動的に。

モジュールを有効にする

CentOS /etc/conf/httpd.confを開き、次の行を追加します

LoadModule substitute_module modules/mod_substitute.so

Ubuntu/Debian :次のコマンドを実行します

Sudo a2enmod substitute

モジュールを有効にしたら、httpdグローバル構成ファイルに次の行を追加します

CentOS /etc/conf/httpd.conf

Ubuntu/Debian /etc/Apache2/httpd.conf

# Break Google Analytics
AddOutputFilterByType SUBSTITUTE text/html 
Substitute "s|.google-analytics.com|.127.0.0.1|n"

次に、Apacheを再起動します

CentOS service httpd restart

Ubuntu/Debian /etc/init.d/Apache2 restart

これは、Apacheがページを提供するときに.google-analytics.comに一致するすべてのテキストを.127.0.0.1に置き換えて、ページが以下の例のような分析コードでレンダリングされるようにします

var _gaq = _gaq || [];
_gaq.Push(['_setAccount', '']);
_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') + '.127.0.0.1/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
1
Ben Swinburne

ローカル開発用に設定されたPHP変数を持っています。

XAMPPを使用して、tmpのenv変数を次のようにします。

$isLocal = (getenv("tmp") == '\xampp\tmp') ? true : false;

Xamppが使用されていないため、これは本番サーバーには存在しません

if($isLocal){
  // do something, eg. load my terminal
}

...この質問に固有:

<?php if(!$isLocal){ ?>
  <!-- Insert Google Analytics Script Here -->
<?php } // end google analytics local check ?>
0
shanehoban

今日、自分のコンピューターとは別のコンピューターで、ChromeがデフォルトでGoogle AdSenseをブロックしているため、μBlockOriginが見つかりました。グーグルで調べたところ、これは article です。また、μBlockOrigin Firefox、Firefox用μAdblock、Windows用Ad MuncherはデフォルトでAdSenseをブロックしますが、他のほとんどのオプションはAdSenseをブロックするように構成可能としてリストされています。

私のIPは多くの場合動的であるため、これは機能しているようで便利です。したがって、Chromeにログインしている限り、Chrome=拡張機能を使用できます。

0
RationalDev

リクエストのホスト変数を取得します。

そのため、次のような分析JavaScriptをifステートメントで囲みます(Ruby風の擬似コード):

<body>
<shtuff>dfsfsdf</shtuff>
if not (request.Host == 'localhost')
  #analytics code here
elsif (request.Host == the server's ip/domain)
  #analytics code here
else
  #do nothing
end
</body>
0
user94154