Google Analyticsを利用できるように、ページの下部に必要なJavaScriptを追加しました。唯一の問題は、それが私のすべての開発作業をヒットとしてカウントしていることを確信しているということです。おそらく私がそれらのページのいくつかを1日に100回見ているように見ると、それは私の測定値を本当に歪めます。特定のIPアドレスからそれをオフにする方法はありますか?これは私のビルドプロセスに組み込む必要があるため、展開用にビルドしたときにのみ追加されますか?
Google Analyticsを利用できるように、ページの下部に必要なJavaScriptを追加しました。唯一の問題は、それが私のすべての開発作業をヒットとしてカウントしていることを確信しているということです。おそらく私がそれらのページのいくつかを1日に100回見ているように見ると、それは私の測定値を本当に歪めます。特定のIPアドレスからそれをオフにする方法はありますか?これは私のビルドプロセスに組み込む必要があるため、展開用にビルドしたときにのみ追加されますか?
回答:
ええ、Analytics設定に移動し、サイトを編集し、+ Add Filterを使用して、IPアドレスを除外するフィルターを定義します。
過去のデータはフィルターを適用しても再生成されないので、フィルターを前進させるだけのメリットがあります。
localhost
。通常、サブドメインの下にテスト環境がある場合は、それを除外します。
私はJavaScriptを使用する単純なアプローチが好きです。それはどこでも機能します。
<script type="text/javascript">
if (document.location.hostname.search("myproductiondomainname.com") !== -1) {
//google analytics code goes here
}
</script>
if (document.location.hostname == "example.com") { /* ga code */ } else { _gaq = {push: function(arg) {console.log("ga:", arg)}}}
これにより、コード内の任意の場所で一部のイベントトラッカーとカスタム_gaq呼び出しを安全に使用でき、同時に開発環境でGA呼び出しをデバッグできます。
if(/example\.com/.test(window.location.hostname)) { /* GA code */ }
var ga; if (document.location.hostname == "example.com") { /* GA script here */ } else { console.log("Running non-production google analytics replacement now"); ga = function(arg) { console.log("ga:", arguments);};} ga('create', 'UA-xxxxx', 'auto'); ga('send', 'pageview');
それは2014年であり、私はまだすべての既存のソリューションに満足していません...
そこで、独自のブラウザ拡張機能を作成しました... https://chrome.google.com/webstore/detail/lknhpplgahpbindnnocglcjonpahfikn
これは、選択したドメインに対してのみ、常にマシンに「開発者cookie」を設定しておくことで機能します。次に、アナリティクスにデータを送信する前に、スクリプトでこのCookieを確認するだけです。拡張機能の設定で、Cookieの独自の名前と値をカスタマイズします。これはチームで簡単に使用できるため、開発者、コンテンツ作成者、校正者、および組織内の他の誰もが、統計を膨らませることなくすべてのページを表示できます。
コードをページに配置する方法の例...
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を設定しておいてください。
静的IPを使用していない場合、GAでIPフィルターを設定しても効果がありません。
環境変数を設定し、条件付きで表示します。たとえば、次のRuby on Railsコードを見てください。
<% unless RAILS_ENV == "development" %>
<!-- your GA code -->
<% end %>
この動作は、任意のオペレーティングシステムで使用するすべての言語/フレームワークを拡張できます。PHPでは、getenv関数を使用できます。環境変数の Wikipediaページをチェックして、システムの処理方法を確認してください。
NATの背後にいる場合、または他の理由でIPをGoogleアナリティクスに提供できない場合、最も簡単な方法は、Googleアナリティクスドメインをlocalhost(127.0.0.1)に設定することです。これから、ブラウザーを開いたときに、すべてのリクエストにGoogle Analyticsは、Google Analyticsの知識がなくても作業ステーションに転送されます。
開発とQA作業用に2番目のGoogleアナリティクストラッキングコードを設定します。アナリティクスの統合をテストしたい場合に実際に役立ちます。また、本番の統計に漏れないようにします。
解決策は、Googleタグマネージャー(GTM)を使用してGoogleアナリティクスを処理することです。これにより、サイトのコードに条件を記述しなくても、本番ドメインでのみGoogleアナリティクスを起動できます。方法は次のとおりです。
GTMで、ページのホスト名に本番ドメインが含まれている場合にのみ起動するトリガーを設定します。
次に、ユニバーサルアナリティクスのタグを設定し、そのトリガーを先ほど作成したものにします。
これを行うChrome拡張機能がいくつかあります。 https://chrome.google.com/webstore/detail/fadgflmigmogfionelcpalhohefbnehmのます
IPアドレスが静的でない場合に非常に便利です。
Googleアナリティクスの非同期コードが実行される前に次の行を追加して、そのウェブプロパティIDのトラッキングを無効にします。
window['ga-disable-UA-XXXXXX-Y'] = true;
UA-XXXXXX-Y
追跡を無効にするWebプロパティIDに対応します。
From:https : //developers.google.com/analytics/devguides/collection/gajs/
人々が言及しているように、ローカルでgoogle-analytics.comドメインをホストするか、開発ネットワークで作業しているかどうかを確認する関数を設定できます。
http://www.google-analytics.com/ga.jsが読み込まれず、onclick JavaScript関数を使用してページ要素のクリックを追跡できるかどうかに注意してください。
IE:onclick = "javascript:pageTracker._trackPageview( '/ made / up / folder / reference');
jQueryまたはその他の堅牢なJavaScript関数が機能しなくなるJavaScriptエラーが発生します。
このための追加オプションと同様に、さまざまなサイトや開発者が多数いる開発サーバーがあります。これは私が3つの主要なオプションに特に満足していなかったことを意味しました
ここで他の回答のさまざまなオプションを実装するのではなく、次の方法で問題に取り組みました。グローバルな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);
})();
私はこの投稿が非常に古いことを知っていますが、どの解決策も私のニーズを満たしていません。GA(およびFB)から開発作業を削除するだけでなく、社内の一部のユーザーをGAおよびFBに含めないようにしたいと考えました。そのため、プラグインなしで分析から除外する、またはドメインIPを除外する(ラップトップを使用する人々がぶらぶらするような)比較的簡単な方法が必要でした。
ユーザーがリンクをクリックしてGAおよびFBトラッキングをオプトアウトできるWebページを作成しました。サイトの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を使用していない場合は、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サイトの私の完全な記事です
これが誰かに役立つことを願っています!
ローカル開発用のPHP変数セットを持っています。これにより、データやフィードバックなどを提供するためのターミナルが提供されます。
XAMPPを使用して、tmpの環境変数を次のようにします。
$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 ?>
今日、私とは別のコンピューターを使用しているときに、μBlockOrigin for ChromeがデフォルトでGoogle AdSenseをブロックしていることに気付きました。いくつかのグーグル検索の後、私はこの記事を見つけました。また、μBlockOrigin Firefox、μAdblock for Firefox、Ad Muncher for Windowsは、デフォルトでAdSenseをブロックすることにも注意しています。他のほとんどのオプションは、AdSenseをブロックするように構成可能としてリストされています。
これは機能しているように見え、私のIPは動的であることが多いので便利です。Chromeにログインしている限り、Chrome拡張機能を使用できます。