J'ai ajouté le code JavaScript dont j'ai besoin au bas de mes pages afin de pouvoir utiliser Google Analytics. Le seul problème est que je suis sûr qu'il compte tout mon travail de développement comme des hits. Étant donné que je vois probablement certaines de ces pages cent fois par jour, cela faussera vraiment mes lectures. Existe-t-il un moyen de le désactiver à partir d'une adresse IP particulière ou est-ce quelque chose qui devrait être intégré à mon processus de génération afin qu'il ne soit ajouté que lorsque je crée pour le déploiement?
Oui, vous allez dans les paramètres Analytics, modifiez votre site et + Ajouter un filtre pour définir un filtre qui exclut votre adresse IP.
Les données antérieures ne sont pas régénérées avec des filtres appliqués, vous n'aurez donc que l'avantage d'avancer.
J'aime l'approche simple de l'utilisation de javascript. Cela fonctionne partout.
<script type="text/javascript">
if (document.location.hostname.search("myproductiondomainname.com") !== -1) {
//google analytics code goes here
}
</script>
Nous sommes en 2014 et je ne suis toujours pas satisfait de toutes les solutions existantes ...
J'ai donc créé ma propre extension de navigateur ... https://chrome.google.com/webstore/detail/lknhpplgahpbindnnocglcjonpahfikn
Cela fonctionne en gardant un "cookie développeur" sur votre machine à tout moment juste pour les domaines que vous choisissez. Il vous suffit ensuite de rechercher ce cookie dans votre script avant d'envoyer des données à Analytics. Vous personnalisez vos propres NOM et VALEUR uniques pour les cookies dans les paramètres de l'extension. Cela peut facilement être utilisé par une équipe de personnes, de sorte que les développeurs, les créateurs de contenu, les relecteurs et toute autre personne de votre organisation peuvent tous afficher des pages sans gonfler les statistiques.
Exemples de comment mettre le code dans vos pages ...
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
}
}
La vérification que le nom d'hôte est égal au domaine de votre site en direct ("mydomain.com") garantit que les données d'analyse ne seront jamais envoyées par N'IMPORTE QUEL visiteur lors de la visualisation à partir d'un domaine de test tel que "localhost" ou "beta.mydomain.com" . Dans les exemples ci-dessus, "www.mydomain.com" et "mydomain.com" sont les deux domaines valides où nous voulons que les visites soient enregistrées.
Le site en direct envoie des données à l'analyse comme prévu, À MOINS QU'UN cookie de développeur ne soit trouvé avec des valeurs correspondantes. S'il voit ce cookie unique défini sur votre appareil, votre visite ne sera pas prise en compte dans vos totaux dans Google Analytics ou tout autre outil d'analyse que vous préférez utiliser.
N'hésitez pas à partager ma solution et à utiliser mon extension pour conserver ces cookies.
Si vous n'utilisez pas d'IP statique, définir des filtres IP sur GA ne peut pas vous aider.
Définissez une variable d'environnement et affichez-la de manière conditionnelle. Prenez le Ruby on Rails code, par exemple:
<% unless Rails_ENV == "development" %>
<!-- your GA code -->
<% end %>
Vous pouvez étendre ce comportement à chaque langue/framework que vous utilisez sur n'importe quel système d'exploitation. Sur PHP, vous pouvez utiliser la fonction getenv . Consultez-le sur la page Wikipedia sur Variables d'environnement pour savoir comment procéder sur votre système.
Nous avons configuré un deuxième code de suivi Google Analytics pour le développement et le travail d'assurance qualité - est en fait utile lorsque vous souhaitez tester votre intégration analytique, garantit également que l'on n'a pas de débordement dans les statistiques de production.
Si vous êtes derrière NAT ou si vous ne pouvez pas, pour toute autre raison, donner votre adresse IP à Google Analytics, la méthode la plus simple consiste à définir le domaine google analytics sur localhost (127.0.0.1), à partir de maintenant lorsque vous ouvrez votre navigateur, toutes les demandes adressées à Google Analytics seront dirigées vers votre poste de travail, à l'insu de Google Analytics.
Vous pouvez utiliser ce code
<script>
var Host = window.location.hostname;
if(Host != "localhost")
{
// your google analytic code here
}
</script>
La solution consiste à utiliser Google Tag Manager (GTM) pour gérer votre Google Analytics. Cela vous permettra de ne déclencher que Google Analytics sur votre domaine de production sans avoir à écrire de conditions dans le code de votre site. Voici comment procéder:
Dans GTM, définissez un déclencheur qui ne se déclenche que lorsque le nom d'hôte de la page contient votre domaine de production.
Ensuite, définissez un tag pour Universal Analytics et faites de son déclencheur celui que vous venez de créer.
Il existe quelques Chrome qui le font pour vous, comme https://chrome.google.com/webstore/detail/fadgflmigmogfionelcpalhohefbnehm
Très pratique si votre adresse IP n'est pas statique.
Ajoutez cette ligne avant l'exécution de votre code asynchrone Google Analytics pour désactiver le suivi de cet ID de propriété Web:
window['ga-disable-UA-XXXXXX-Y'] = true;
UA-XXXXXX-Y
correspond à l'ID de propriété Web sur lequel vous souhaitez désactiver le suivi.
De: https://developers.google.com/analytics/devguides/collection/gajs/
J'utilise Ad Blocker pour Firefox, il peut spécifiquement bloquer le script de suivi Google Analytics. Étant donné que Firefox est mon navigateur de développement principal, il fonctionne très bien jusqu'à ce que je doive tester mon travail dans d'autres navigateurs.
Utilisez un métrique personnalisée pour filtrer tout ce trafic.
Lorsque vous lancez GA dans votre application, définissez un indicateur personnalisé pour suivre les développements:
// In your header, after the GA code is injected
if( <your_code_to_check_if_is_dev> ) {
ga('set', 'is_developer', 1 );
}
Ajoutez ensuite un filtre dans votre compte GA pour supprimer ces résultats.
Admin> Compte> Tous les filtres> Ajouter un filtre> Défini par l'utilisateur
Probablement pas utile pour vous, mais j'ai résolu ce problème en écrivant un contrôle serveur ASP.NET personnalisé qui injecte le JavaScript requis. J'ai ensuite ajouté l'URL en direct à web.config, puis rendu le contrôle visible uniquement lorsque le nom d'hôte correspondait à l'URL en direct dans web.config.
Je sais que ce message est super ancien, mais aucune des solutions n'a répondu à mes besoins. Non seulement je voulais supprimer le travail de développement de GA (et FB), mais je voulais aussi que certaines personnes au sein de l'entreprise ne soient pas comptabilisées dans GA et FB. Je voulais donc une méthode relativement facile pour ces gens de s'exclure des analyses sans plugin, ou d'exclure une adresse IP de domaine (comme les gens avec des ordinateurs portables errent).
J'ai créé une page Web à laquelle les utilisateurs peuvent accéder et cliquer sur un lien pour désactiver le suivi GA et FB. Il place un cookie pour le site. Ensuite, je vérifie ce cookie pour déterminer si nous devons envoyer des données à GA et FB.
J'ai à l'origine mis cela en place sur un site appelé Dahlia, qui est un fabricant de boutique d'articles pour les mariages et les baptêmes orthodoxes grecs .
Voici le code:
J'ai mis le code suivant dans l'en-tête de toutes les pages 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>
Assurez-vous d'ajouter vos GA et ID de suivi FB dans les espaces fournis. Cela a été initialement écrit pour un site Weebly (shopping CMS). Donc, si vous n'êtes pas sur Weebly, vous pouvez supprimer la ligne qui mentionne weebly.
Ensuite, j'ai créé un nouveau page Web appelée "ne pas suivre" avec le code suivant dans l'en-tête:
<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>
Et le code suivant dans le corps:
<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>
Voici mon complet rédaction pour le site Weebly
J'espère que cela aide quelqu'un!
Comme les gens le mentionnent, vous pouvez héberger le domaine google-analytics.com localement ou configurer une fonction pour voir si vous travaillez dans votre réseau de développement.
Gardez à l'esprit si http://www.google-analytics.com/ga.js ne se charge pas et que vous utilisez les fonctions javascript onclick pour aider à suivre les clics sur les éléments de la page.
IE: onclick = "javascript: pageTracker._trackPageview ('/ made/up/folder/reference');
Vous allez avoir des erreurs JavaScript qui empêcheront jQuery ou d'autres fonctions JavaScript robustes de fonctionner.
Juste comme une option supplémentaire pour cela, j'ai un serveur de développement avec beaucoup de sites et de développeurs différents. Cela signifie que je n'étais pas particulièrement satisfait des 3 options principales
Plutôt que de mettre en œuvre les différentes options dans les autres réponses ici, j'ai abordé le problème de la manière suivante. Dans le httpd.conf global (plutôt que spécifique au site), j'ai utilisé le module Apache mod_substitute pour simuler l'effet du correctif du fichier hosts dans une autre réponse, mais pour chaque site de développement et chaque développeur automatiquement .
Activer le module
CentOS : Ouvrez /etc/conf/httpd.conf
et ajoutez la ligne suivante
LoadModule substitute_module modules/mod_substitute.so
Ubuntu/Debian : exécutez la commande suivante
Sudo a2enmod substitute
Une fois le module activé, ajoutez les lignes suivantes à votre fichier de configuration globale 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"
Redémarrez ensuite Apache
CentOS : service httpd restart
Ubuntu/Debian : /etc/init.d/Apache2 restart
Cela remplace tout le texte correspondant à .google-analytics.com par .127.0.0.1 lorsque Apache diffuse la page afin que votre page s'affiche avec un code analytique similaire à l'exemple ci-dessous
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);
})();
J'ai un PHP ensemble de variables pour mon développement local qui me donne un terminal pour fournir des données/commentaires, etc. lorsque je travaille sur des choses.
J'utilise XAMPP pour avoir une variable env pour tmp qui est la suivante:
$isLocal = (getenv("tmp") == '\xampp\tmp') ? true : false;
Cela n'existe pas sur mon serveur de production car xampp n'est pas utilisé
if($isLocal){
// do something, eg. load my terminal
}
... Spécifique à cette question:
<?php if(!$isLocal){ ?>
<!-- Insert Google Analytics Script Here -->
<?php } // end google analytics local check ?>
Aujourd'hui, alors que sur un ordinateur différent du mien, j'ai remarqué μBlock Origin pour Chrome bloquait Google AdSense par défaut. Après quelques recherches sur Google, j'ai trouvé ceci article . Il note également que μBlock Origin Firefox, μ Adblock pour Firefox et Ad Muncher pour Windows bloquent AdSense par défaut. La plupart des autres options sont répertoriées comme étant configurables pour bloquer AdSense.
Cela semble fonctionner et est utile car mon IP est souvent dynamique, donc l'extension Chrome peut me suivre aussi longtemps que je suis connecté à Chrome.
obtenir la variable Host request.
Enveloppez donc une instruction if autour du javascript d'analyse comme celui-ci (pseudocode Ruby-esque):
<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>