wake-up-neo.com

Gibt es eine Möglichkeit, Google Analytics davon abzuhalten, Entwicklungsarbeit als Treffer zu zählen?

Ich habe das benötigte JavaScript am Ende meiner Seiten hinzugefügt, damit ich Google Analytics verwenden kann. Das einzige Problem ist, dass ich mir sicher bin, dass meine gesamte Entwicklungsarbeit als Treffer gewertet wird. Da ich wahrscheinlich einige dieser Seiten hundert Mal am Tag sehe, kann das meine Lesungen wirklich verzerren. Gibt es eine Möglichkeit, es von einer bestimmten IP-Adresse aus zu deaktivieren, oder sollte dies in meinen Erstellungsprozess integriert werden, damit es nur hinzugefügt wird, wenn ich es für die Bereitstellung erstelle?

134
uriDium

Ja, Sie rufen die Analytics-Einstellungen auf, bearbeiten Ihre Site und definieren mit + Filter hinzufügen einen Filter, der Ihre IP-Adresse ausschließt.

Vergangene Daten werden mit angewendeten Filtern nicht neu generiert, sodass Sie nur den Vorteil haben, dass sie weiterentwickelt werden.

96
chaos

Mir gefällt der einfache Ansatz, Javascript zu verwenden. Es funktioniert überall.

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

//google analytics code goes here

}
</script>
191
keza

Es ist 2014 und ich bin immer noch unzufrieden mit allen vorhandenen Lösungen ...

  • IP-Filter erfordern eine statische IP-Adresse. Was ist, wenn ich von zu Hause aus oder in einem Café arbeite?
  • Wenn Sie den Hostnamen überprüfen, werden Treffer aus einer Entwicklungsumgebung entfernt. Was passiert jedoch, wenn ich die Live-Site debugge?
  • Das Bearbeiten von Serverkonfigurationen ist ärgerlich/fortgeschritten und mehrere Domänen sind kompliziert.
  • Opt-Out-Erweiterungen blockieren entweder Treffer auf allen Websites oder gar keine, je nachdem, wen Sie fragen.

Also habe ich meine eigene Browser-Erweiterung erstellt ... https://chrome.google.com/webstore/detail/lknhpplgahpbindnnocglcjonpahfikn

  • Es folgt mir, wohin ich gehe
  • Es funktioniert in einer Entwicklungsumgebung und auf Live-/öffentlichen Domänen
  • Es betrifft nur mich und die Sites, die ich entwickle
  • Es schaltet sich mit einem Klick ein/aus
  • Es ist einfach zu überprüfen, ob tatsächlich keine Daten an Analytics gesendet werden

Es funktioniert, indem Sie jederzeit ein "Entwickler-Cookie" für die von Ihnen ausgewählten Domains auf Ihrem Computer speichern. Sie überprüfen dann einfach, ob dieses Cookie in Ihrem Skript vorhanden ist, bevor Sie Daten an Analytics senden. Sie können Ihren eigenen eindeutigen NAMEN und WERT für die Cookies in den Einstellungen der Erweiterung anpassen. Dies kann leicht von einem Team von Personen verwendet werden, sodass Entwickler, Inhaltsersteller, Korrektoren und alle anderen Mitarbeiter in Ihrem Unternehmen Seiten anzeigen können, ohne die Statistik aufzublähen.

Beispiele, wie Sie den Code in Ihre Seiten einfügen können ...

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
   }
}

Wenn Sie sicherstellen, dass der Hostname mit der Domain Ihrer Live-Site übereinstimmt ("mydomain.com"), wird sichergestellt, dass die Analysedaten von KEINEM Besucher gesendet werden, während sie von einer Test-Domain wie "localhost" oder "beta.mydomain.com" angezeigt werden. . In den obigen Beispielen sind "www.mydomain.com" und "mydomain.com" die beiden gültigen Domänen, in denen Besuche aufgezeichnet werden sollen.

Die Live-Site sendet Daten erwartungsgemäß an Analytics, es sei denn, ein Entwickler-Cookie mit übereinstimmenden Werten wurde gefunden. Wenn dieses eindeutige Cookie auf Ihrem Gerät gespeichert ist, wird Ihr Besuch in Google Analytics oder einem anderen von Ihnen bevorzugten Analysetool nicht für Ihre Gesamtsummen berücksichtigt.

Sie können gerne meine Lösung teilen und meine Erweiterung verwenden, um diese Cookies zu aktivieren.

31
seebigs

Wenn Sie keine statische IP-Adresse verwenden, können Sie die IP-Filter nicht auf GA einstellen.

Setzen Sie eine Umgebungsvariable und zeigen Sie sie bedingt an. Nehmen Sie zum Beispiel den folgenden Ruby on Rails code:

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

Sie können dieses Verhalten für jede Sprache/jedes Framework erweitern, das Sie auf jedem Betriebssystem verwenden. Unter PHP können Sie die Funktion getenv verwenden. Lesen Sie die Wikipedia-Seite unter mgebungsvariablen , um zu erfahren, wie Sie auf Ihrem System vorgehen müssen.

25
Nando Vieira

Wir richten einen zweiten Google Analytics-Tracking-Code für die Entwicklung und die Qualitätssicherung ein - praktisch, wenn Sie Ihre Analytics-Integration testen möchten.

15
Wyatt Barnett

Wenn Sie NAT oder aus anderen Gründen nicht in der Lage sind, Ihre IP an Google Analytics weiterzugeben, ist es die einfachste Methode, ab sofort die Google Analytics-Domain auf localhost (127.0.0.1) zu setzen Wenn Sie Ihren Browser öffnen, werden alle Anfragen an Google Analytics ohne Kenntnis von Google Analytics an Ihre Arbeitsstation weitergeleitet.

15
astropanic

Sie können diesen Code verwenden

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

Die Lösung besteht darin, Google Tag Manager (GTM) zu verwenden, um Google Analytics zu verwalten. Auf diese Weise können Sie nur Google Analytics in Ihrer Produktions-Domain starten, ohne Bedingungen in den Code Ihrer Site schreiben zu müssen. So geht's:

Legen Sie in GTM einen Auslöser fest, der nur ausgelöst wird, wenn der Seitenhostname Ihre Produktionsdomäne enthält.

enter image description here

Legen Sie dann ein Tag für Universal Analytics fest und setzen Sie den Trigger auf den gerade erstellten.

enter image description here

10

Es gibt einige Chrome Erweiterungen, die dies für Sie erledigen, z. B. https://chrome.google.com/webstore/detail/fadgflmigmogfionelcpalhohefbnehm

Sehr praktisch, wenn Ihre IP-Adresse nicht statisch ist.

6
Uri

Fügen Sie diese Zeile hinzu, bevor Ihr Google Analytics-Async-Code ausgeführt wird, um das Tracking für diese Web-Property-ID zu deaktivieren:

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

UA-XXXXXX-Y entspricht der Web-Property-ID, für die Sie das Tracking deaktivieren möchten.

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

5
AJP

Ich verwende den Ad Blocker für Firefox. Er kann speziell das Google Analytics-Tracking-Skript blockieren. Da Firefox mein primärer Entwicklungsbrowser ist, funktioniert es hervorragend, bis ich meine Arbeit in anderen Browsern testen muss.

3
Adrian

Verwenden Sie eine benutzerdefinierte Metrik, um den gesamten Datenverkehr zu filtern.

Wenn Sie in Ihrer App GA einleiten, setzen Sie ein benutzerdefiniertes Flag, um die Entwickler zu verfolgen:

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

Fügen Sie dann einen Filter in Ihr Konto GA ein, um diese Ergebnisse zu entfernen.

Admin> Konto> Alle Filter> Filter hinzufügen> Benutzerdefiniert

enter image description here

3
Joseph Lust

Wahrscheinlich nicht hilfreich für Sie, aber ich habe dieses Problem gelöst, indem ich ein benutzerdefiniertes ASP.NET-Serversteuerelement geschrieben habe, das das erforderliche JavaScript einfügt. Ich habe dann die Live-URL zu web.config hinzugefügt und das Steuerelement dann nur sichtbar gemacht, wenn der Hostname mit der Live-URL in web.config übereinstimmt.

2
Dan Diplo

Ich weiß, dass dieser Beitrag sehr alt ist, aber keine der Lösungen hat meine Anforderungen erfüllt. Ich wollte nicht nur Entwicklerarbeit aus GA (und FB) entfernen, sondern auch, dass einige Leute innerhalb des Unternehmens nicht in GA) gezählt wurden und FB. Also wollte ich diesen Leuten eine relativ einfache Methode bieten, um sich ohne Plugin von der Analyse auszuschließen oder eine Domain-IP-Adresse auszuschließen (wenn Leute mit Laptops umherwandern).

Ich habe eine Webseite erstellt, auf die Benutzer zugreifen und auf einen Link klicken können, um das GA und FB-Tracking zu deaktivieren. Es legt ein Cookie für die Site ab. Dann überprüfe ich dieses Cookie, um festzustellen, ob wir Daten an GA und FB senden sollen.

Ich habe dies ursprünglich auf einer Website für Dahlia eingerichtet, eine Boutique, die Gegenstände für griechisch-orthodoxe Hochzeiten und Taufen herstellt .

Hier ist der Code:

Ich habe den folgenden Code in die Kopfzeile aller Webseiten eingefügt:

<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>

Stellen Sie sicher, dass Sie Ihre GA und FB-Tracking-IDs in die dafür vorgesehenen Felder einfügen. Diese wurden ursprünglich für eine Weebly-Site (Shopping-CMS) geschrieben. Wenn Sie also nicht bei Weebly sind, können Sie die entsprechende Zeile entfernen erwähnt weebly.

Dann habe ich eine neue Webseite namens "do-not-track" mit dem folgenden Code in der Kopfzeile erstellt:

<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>

Und der folgende Code im Körper:

<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>

Hier ist meine vollständige Beschreibung für die Website von Weebly

Hoffe das hilft jemandem!

1
furnaceX

Wie bereits erwähnt, können Sie entweder die Domain google-analytics.com lokal hosten oder eine Funktion einrichten, um festzustellen, ob Sie in Ihrem Entwicklungsnetzwerk arbeiten.

Denken Sie daran, wenn http://www.google-analytics.com/ga.js nicht geladen wird und Sie Javascript-Funktionen verwenden, um Klicks auf Seitenelemente zu verfolgen.

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

Sie werden JavaScript-Fehler haben, die dazu führen, dass jQuery oder andere robuste JavaScript-Funktionen nicht mehr funktionieren.

1
gegere

Als zusätzliche Option habe ich einen Entwicklungsserver mit vielen verschiedenen Sites und Entwicklern. Dies bedeutete, dass ich mit den 3 Hauptoptionen nicht besonders zufrieden war

  • hosts dateiproblematisch mit vielen Entwicklern und offen für menschliches Versagen
  • if/else Entwicklungsblock auf jeder Site etc
  • konfiguration auf GA Website - einige Kunden haben ihre eigenen GA Konten; müssten auf jeder Website ausgefüllt werden mit dem Potenzial, vergessen/übersehen zu werden

Anstatt die verschiedenen Optionen in den anderen Antworten hier zu implementieren, ging ich das Problem folgendermaßen an. In der globalen httpd.conf (anstatt einer Site-spezifischen) habe ich das Apache-Modul mod_substitute verwendet, um den Effekt zu simulieren, den die Korrektur der Hosts-Datei in einer anderen Antwort hat, jedoch für jede Entwicklungs-Site und jeden Entwickler automatisch .

Aktivieren Sie das Modul

CentOS : Öffnen Sie /etc/conf/httpd.conf und füge die folgende Zeile hinzu

LoadModule substitute_module modules/mod_substitute.so

Ubuntu/Debian : Führen Sie den folgenden Befehl aus

Sudo a2enmod substitute

Sobald Sie das Modul aktiviert haben, fügen Sie die folgenden Zeilen zu Ihrer globalen httpd-Konfigurationsdatei hinzu

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"

Starten Sie dann Apache neu

CentOS : service httpd restart

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

Das bedeutet, dass der gesamte Text, der mit .google-analytics.com übereinstimmt, durch .127.0.0.1 ersetzt wird, wenn Apache die Seite bereitstellt, sodass Ihre Seite mit Analytics-Code ähnlich wie im folgenden Beispiel gerendert wird

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

Ich habe eine PHP Variable für meine lokale Entwicklung gesetzt, die mir ein Terminal für die Bereitstellung von Daten/Feedback usw. gibt, wenn ich an Sachen arbeite.

Ich benutze XAMPP, damit es eine env-Variable für tmp gibt:

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

Dies ist auf meinem Produktionsserver nicht vorhanden, da xampp nicht verwendet wird

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

... speziell für diese Frage:

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

Heute, als ich mich auf einem anderen Computer befand als ich, bemerkte ich, dass μBlock Origin für Chrome blockierte standardmäßig Google AdSense. Nach einigem Googeln fand ich dies Artikel Beachten Sie auch, dass μBlock Origin Firefox, μ Adblock für Firefox und Ad Muncher für Windows standardmäßig AdSense blockieren. Die meisten anderen Optionen können so konfiguriert werden, dass sie AdSense blockieren.

Dies scheint zu funktionieren und ist nützlich, da meine IP-Adresse häufig dynamisch ist. Die Erweiterung Chrome kann mir folgen, solange ich in Chrome angemeldet bin.

0
RationalDev

holen Sie sich die Anfrage Host-Variable.

Umschließen Sie also das Analytics-Javascript wie folgt mit einer if-Anweisung (Ruby-esque-Pseudocode):

<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