มีวิธีที่จะหยุดการพัฒนาการนับของ Google Analytics หรือไม่


151

ฉันได้เพิ่ม JavaScript ที่ฉันต้องการที่ด้านล่างของหน้าของฉันเพื่อให้ฉันสามารถใช้ Google Analytics ปัญหาเดียวคือฉันแน่ใจว่ามันนับงานพัฒนาทั้งหมดของฉันเป็นเพลงฮิต การได้เห็นอย่างที่ฉันอาจเห็นบางส่วนของหน้าเหล่านั้นร้อยครั้งต่อวันมันจะบิดเบือนการอ่านของฉันจริงๆ มีวิธีปิดใช้งานจากที่อยู่ IP ที่เฉพาะเจาะจงหรือเป็นสิ่งที่ควรสร้างไว้ในกระบวนการสร้างของฉันดังนั้นจะได้รับเพิ่มเมื่อฉันสร้างเพื่อปรับใช้เท่านั้น


6
คุณกำลังพัฒนาภาษา / เทคโนโลยีอะไร เนื่องจากคุณสามารถทำบางสิ่งได้ถ้าหาก hostname = 127.0.0.1หรือlocalhost (หรืออินสแตนซ์ในเครื่องของคุณ) ไม่แสดงบล็อกสคริปต์การวิเคราะห์ ควรจะเป็นหนึ่งบรรทัดของรหัสด้านเซิร์ฟเวอร์ ...
davewasthere

4
ฉันไม่รู้ว่าทำไมบางคนต้องการย้ายสิ่งนี้ไปยัง SuperUser - เป็นคำถามที่ชัดเจนเกี่ยวกับการเขียนโปรแกรม / การพัฒนา
Thomas Owens

ฉันใช้ asp.net, vs2005 และเป็นโครงการเว็บ
uriDium

คุณ clould ใช้เป็นสคริปต์ป้องกันเช่นumatrixหรือuBlock มันจะปิดกั้นสคริปต์โฆษณาทั้งหมดรวมถึงสคริปต์วิเคราะห์ของ Google
Simon

คำตอบ:


102

ใช่คุณเข้าสู่การตั้งค่า Analytics แก้ไขเว็บไซต์ของคุณและ + เพิ่มตัวกรองเพื่อกำหนดตัวกรองที่ไม่รวมที่อยู่ IP ของคุณ

ข้อมูลในอดีตจะไม่ได้รับการสร้างใหม่โดยใช้ตัวกรองดังนั้นคุณจะได้รับประโยชน์จากการใช้ตัวกรองเหล่านี้เท่านั้น


17
ตัวกรอง [สร้างขึ้นใหม่] จะใช้กับข้อมูลในอนาคตเท่านั้น
viam0Zah

1
ที่สมบูรณ์แบบ ฉันกำลังทำสิ่งนี้ในเชิงรุก ฉันยังไม่ได้เพิ่มจาวาสคริปต์ที่ Google Analytics ต้องการ ฉันจะใส่ตัวกรองเข้าที่แล้วปรับใช้
uriDium

7
เพิ่งเจอคำถามนี้แบบสุ่ม ... ฉันแค่ใช้ UA-ID อื่นสำหรับสภาพแวดล้อมการพัฒนาของฉัน นั่นคือสิ่งที่ฉันทำตอนนี้ ฉันคิดว่านี่จะเป็นวิธีที่ดีกว่าการปิดกั้นที่อยู่และสิ่งของ
karry

3
จริงๆแล้วมีวิธีที่ง่ายยิ่งขึ้น เทคนิคนี้จะใช้ได้กับข้อมูลในอนาคตเท่านั้นเช่นกัน เมื่อเริ่มต้นวัตถุ ga เพียงแค่ตั้งค่าโดเมนคุกกี้ที่ชัดเจน ข้อมูลอ้างอิง: developers.google.com/analytics/devguides/collection/…
Darren

2
คุณสามารถยกเว้นชื่อโฮสต์ได้ทั้งนี้ขึ้นอยู่กับสภาพแวดล้อมการพัฒนาของคุณ ผมพัฒนากับ asp.net localhostดังนั้นผมจึงได้รับการยกเว้นชื่อโฮสต์ทั้งหมดที่มี หากคุณมักจะมีสภาพแวดล้อมการทดสอบภายใต้โดเมนย่อยเพียงแค่แยกออก
CularBytes

205

ฉันชอบวิธีการง่ายๆในการใช้จาวาสคริปต์ มันทำงานได้ทุกที่

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

//google analytics code goes here

}
</script>

3
วิธีแก้ปัญหาที่สง่างามมาก :)
Sushant Gupta

28
ขอบคุณ ฉันใช้เป็นส่วนตัวif (document.location.hostname == "example.com") { /* ga code */ } else { _gaq = {push: function(arg) {console.log("ga:", arg)}}}- สิ่งนี้ช่วยให้ฉันใช้ตัวติดตามเหตุการณ์และการโทร _gaq ที่กำหนดเองได้อย่างปลอดภัยทุกที่ในรหัสของฉันและในขณะเดียวกันก็อนุญาตให้ฉันดีบักการโทร GA บนสภาพแวดล้อม dev
seriyPS

1
อีกวิธีแก้ปัญหาที่อ่านง่ายขึ้นเล็กน้อยคือการใช้ตัวอักษร regex:if(/example\.com/.test(window.location.hostname)) { /* GA code */ }
mjswensen

ฉันชอบวิธีนี้มากขึ้นเพราะช่วยให้คุณสามารถดูหน้าเว็บทั้งในแบบ dev และการผลิตหากคุณมีเว็บไซต์สีฟ้า (หรือตั้งค่าที่คล้ายกัน) IE เมื่อคุณไปที่xxxxx.azurewebsites.netมันไม่ได้เลือกเซสชัน ขอบคุณ! การแก้ไขที่เรียบง่ายเช่นกันใช้เวลา 5 นาทีในการผลิต
Jhayes2118

11
แสดงตัวอย่างการแก้ปัญหาที่ให้ไว้ด้านบน (สมมติว่า ga เป็นชื่อวัตถุ): 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');
ไบรอัน

34

มันคือปี 2014 และฉันยังคงไม่พอใจกับโซลูชั่นที่มีอยู่ทั้งหมด ...

  • ตัวกรอง IP ต้องการที่อยู่ IP แบบคงที่ ถ้าฉันทำงานจากบ้านหรือจากร้านกาแฟล่ะ
  • การตรวจสอบชื่อโฮสต์กำจัดความนิยมจากสภาพแวดล้อม dev แต่จะเกิดอะไรขึ้นถ้าฉันกำลังดีบักไซต์สด
  • การแก้ไขการกำหนดค่าเซิร์ฟเวอร์นั้นน่ารำคาญ / ขั้นสูงและหลายโดเมนนั้นซับซ้อน
  • ส่วนขยายการเลือกไม่ใช้จะบล็อกการเข้าชมในเว็บไซต์ทั้งหมดหรือไม่เลยขึ้นอยู่กับว่าคุณถามใคร

ดังนั้นฉันจึงสร้างส่วนขยายเบราว์เซอร์ของตัวเอง ... https://chrome.google.com/webstore/detail/lknhpplgahpbindnnocglcjonpahfikn

  • มันติดตามฉันทุกที่ที่ฉันไป
  • มันทำงานบนสภาพแวดล้อมที่ dev และในโดเมนสด / สาธารณะ
  • มันมีผลกับฉันและเว็บไซต์ที่ฉันพัฒนาเท่านั้น
  • มันเปิด / ปิดได้ด้วยคลิกเดียว
  • ง่ายต่อการตรวจสอบว่าไม่ได้ส่งข้อมูลใด ๆ ไปยังการวิเคราะห์อย่างแท้จริง

ใช้งานได้โดยเก็บ "ผู้พัฒนาคุกกี้" ไว้ในเครื่องของคุณตลอดเวลาสำหรับโดเมนที่คุณเลือก จากนั้นคุณเพียงตรวจสอบคุกกี้นี้ในสคริปต์ของคุณก่อนที่จะส่งข้อมูลใด ๆ ไปยัง Analytics คุณปรับแต่ง 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") ทำให้แน่ใจได้ว่าผู้เข้าชม ANY จะไม่ส่งข้อมูลการวิเคราะห์ใด ๆ ในขณะที่ดูจากโดเมนทดสอบเช่น "localhost" หรือ "beta.mydomain.com" . ในตัวอย่างข้างต้น "www.mydomain.com" และ "mydomain.com" เป็นสองโดเมนที่ถูกต้องซึ่งเราต้องการให้มีการบันทึกการเข้าชม

เว็บไซต์สดส่งข้อมูลไปยังการวิเคราะห์ตามที่คาดไว้เว้นแต่คุกกี้นักพัฒนาซอฟต์แวร์จะพบกับค่าที่ตรงกัน หากเห็นว่ามีการตั้งค่าคุกกี้ที่ไม่ซ้ำกันในอุปกรณ์ของคุณการเข้าชมของคุณจะไม่นับรวมใน Google Analytics หรือเครื่องมือวิเคราะห์อื่น ๆ ที่คุณต้องการใช้

อย่าลังเลที่จะแบ่งปันโซลูชันของฉันและใช้ส่วนขยายของฉันเพื่อตั้งค่าคุกกี้เหล่านั้น


นี่เป็นทางออกที่ดี ขอบคุณ!
เนท

1
สวัสดีคุณสามารถทำขั้นตอนนี้ต่อไปและแทนที่จะต้องการให้นักพัฒนาเปลี่ยนรหัสการวิเคราะห์ของพวกเขาเพียงแค่หาวิธีที่จะสกัดกั้นและแทนที่วัตถุ ga ด้วยวัตถุจำลองแทนหรือไม่ ในทางทฤษฎีคุณสามารถทำเช่นนั้นได้หลังจากโหลด JS แต่ก่อนที่รหัสการวิเคราะห์จะทำงาน .... นั่นคือchrome.google.com/webstore/detail/analytics-blocker/ ...... แต่ดูเหมือนว่ามันจะเสียหายและไม่ได้รับการสนับสนุน
jmort253

25

หากคุณไม่ได้ใช้ IP แบบคงที่การตั้งค่าตัวกรอง IP ใน GA ไม่สามารถช่วยคุณได้

ตั้งค่าตัวแปรสภาพแวดล้อมและแสดงตามเงื่อนไข ยกตัวอย่าง Ruby on Rails ต่อไปนี้:

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

คุณสามารถขยายพฤติกรรมนี้ได้ทุกภาษา / กรอบงานที่คุณใช้กับระบบปฏิบัติการใด ๆ บน PHP คุณสามารถใช้ฟังก์ชันgetenv ลองดูที่หน้า Wikipedia เกี่ยวกับตัวแปรสภาพแวดล้อมเพื่อทราบวิธีดำเนินการต่อในระบบของคุณ


การใช้งานนี้มีข้อ จำกัด เนื่องจากจะใช้เฉพาะในกรณีที่เครื่องพัฒนาและระบบภายใต้การทดสอบเป็นเครื่องเดียวกัน
JoshJordan

1
คิดว่านี่น่าจะเป็นทางออกที่ใช้กันอย่างแพร่หลาย แต่แทนที่จะเปรียบเทียบกับ ´"การพัฒนา" you คุณเปรียบเทียบกับ´ "การผลิต" ´- ความหมายตราบใดที่เว็บไซต์ทำงานในสภาพแวดล้อมการผลิตเราแสดงสคริปต์ GA ไม่เช่นนั้น (เช่นเซิร์ฟเวอร์ staging เซิร์ฟเวอร์พัฒนาหรือเซิร์ฟเวอร์ทดสอบ) เห็นได้ชัดว่านี่ไม่ได้จัดการกรณีของคุณในการดีบักสภาพแวดล้อมแบบสด ๆ แต่ก็ดีสำหรับ ppl ส่วนใหญ่
miphe

2
คุณสามารถถ้า ENV ["RAILS_ENV"] == "การผลิต"
moeabdol

17

คุณสามารถใช้รหัสนี้

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

16

หากคุณอยู่หลัง NAT หรือคุณไม่สามารถให้ IP ของคุณกับ Google Analytics ด้วยเหตุผลอื่นวิธีที่ง่ายที่สุดคือการตั้งค่าโดเมน Google Analytics เป็น localhost (127.0.0.1) นับจากนี้เมื่อคุณเปิดเบราว์เซอร์ขอทั้งหมดเพื่อ Google Analytics จะถูกส่งไปยังสถานีงานของคุณโดยที่ไม่รู้ Google Analytics


3
นี่สินี่เป็นทางออกที่ง่ายที่สุดที่ฉันเคยเห็นมาแล้วในปัญหานี้! +1 จากฉัน
Nir Levy

ฉันไม่แนะนำวิธีการนี้เนื่องจากคุณกำลังจะพัฒนาโค้ด (อาจมีการเปิดตัว) ที่อาจขัดแย้งกับ GA และคุณจะได้รับ 404 พยายาม dl สคริปต์อาจบล็อก
webXL

@webXL โซลูชันของฉันใช้สำหรับไม่ดาวน์โหลดสคริปต์ทั้งหมดเป็นเครื่องพัฒนาและไม่ใช่สำหรับการใช้งานจริง (โฮสต์การปรับใช้) โปรดชี้ให้เห็นสิ่งที่อาจขัดแย้งกันในกรณีนี้เมื่อไม่ได้ใช้ GA เลย เครื่องพัฒนาบนแอปพลิเคชันที่พัฒนาแล้ว ...
astropanic

@ astropanic, GA ประกาศอย่างน้อยหนึ่งทั่วโลกดังนั้นจึงเป็นไปได้ที่จะเขียนทับหรือเขียนทับมัน โดยการแยกออกในการพัฒนาคุณแสดงความเสี่ยง อาจเป็นความเสี่ยงเล็กน้อย แต่ก็เสี่ยงที่จะหลีกเลี่ยงได้ นอกจากนี้ชื่อโฮสต์ไม่จำเป็นต้องตรงกันเพื่อให้ GA ติดตามหรือไม่
webXL

คุณสามารถใช้0.0.0.0 แทน 127.0.0.1
Goyllo

16

เราตั้งค่ารหัสติดตามการวิเคราะห์ google ครั้งที่ 2 สำหรับการพัฒนาและการทำงานคุณภาพ - จริง ๆ แล้วมีประโยชน์เมื่อคุณต้องการทดสอบการรวมการวิเคราะห์ของคุณและยังมั่นใจได้ว่าไม่มีการพรั่งพรูออกมาเป็นสถิติการผลิต


ฉันไม่เคยคิดว่าการทำเช่นนี้ แต่ยิ่งผมทำมากขึ้นผมชอบมัน :)
เบนคัด

สิ่งนี้ต้องการค่าใช้จ่ายจำนวนมากหรือไม่? ความประทับใจของฉันคือทีมงาน dev เพิ่งเผยแพร่ตัวอย่างและ staging โดยตรงไปยังการผลิตสดโดยไม่ต้องทำการเปลี่ยนแปลงรหัสใด ๆ
MXMLLN

2
@MXMLLN - ขึ้นอยู่กับว่าคุณจัดการการกำหนดค่าได้ดีเพียงใด ในกรณีของเรามันเป็นอีกหนึ่งบรรทัดในไฟล์กำหนดค่าที่เราจัดการอยู่แล้ว ymmv
ไวแอตต์บาร์เน็ตต์

@WyattBarnett - ขอบคุณฉันจะเห็นสิ่งที่พวกเขาคิด
MXMLLN

14

ทางออกคือการใช้Google เครื่องจัดการแท็ก (GTM) เพื่อจัดการ Google Analytics ของคุณ สิ่งนี้จะช่วยให้คุณเริ่มการทำงานของ Google Analytics บนโดเมนการผลิตของคุณโดยไม่ต้องเขียนเงื่อนไขใด ๆ ในรหัสของไซต์ของคุณ นี่คือวิธีการ:

ใน GTM ให้ตั้งค่าทริกเกอร์ที่จะยิงเมื่อชื่อโฮสต์ของหน้ามีโดเมนที่ใช้งานจริงเท่านั้น

ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นตั้งค่าแท็กสำหรับ Universal Analytics และทำให้ Trigger เป็นแท็กที่คุณเพิ่งสร้างขึ้น

ป้อนคำอธิบายรูปภาพที่นี่


6

มีนามสกุลของ Chrome สองสามอย่างที่ทำเพื่อคุณเช่น https://chrome.google.com/webstore/detail/fadgflmigmogfionelcpalhohefbnehm

สะดวกมากถ้าที่อยู่ IP ของคุณไม่คงที่


1
ฉันใช้สิ่งต่อไปนี้และทำงานได้อย่างยอดเยี่ยมสำหรับการพัฒนาบนเบราว์เซอร์ igorware.com/extensions/block-yourself-from-analytics
rainabba

6

เพิ่มบรรทัดนี้ก่อนที่โค้ด async Google Analytics ของคุณจะทำงานเพื่อปิดการติดตามรหัสพื้นที่เว็บนั้น:

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

UA-XXXXXX-Y สอดคล้องกับรหัสพื้นที่เว็บที่คุณต้องการปิดการติดตาม

จาก: https://developers.google.com/analytics/devguides/collection/gajs/


ฉันกำลังทำงานในไซต์ที่มีหลายหน้าซึ่งแต่ละหน้ามีรหัส GA JS ของตัวเอง ในที่สุดฉันจะสร้างไดนามิกนี้ในส่วนท้าย แต่ในระหว่างนี้ฉันจะเพิ่มสูงขึ้นในส่วนหัวของหน้าและจะปิดการโทรทั้งหมดไปยัง GA หรือไม่
codecowboy

ใช่ตราบใดที่คุณให้รหัสพื้นที่เว็บเดียวกับที่ใช้ลงในหน้าถัดไป
AJP

5

หากต้องการปิดใช้งานการโฮสต์ localhost เพียงแค่สร้างตัวกรองเพื่อยกเว้น localhost ไปที่ผู้ดูแลระบบ -> คุณสมบัติ -> ดูการตั้งค่าเพื่อทำเช่นนั้น ตรวจสอบภาพหน้าจอต่อไปนี้สำหรับความช่วยเหลือ

มุมมอง ga ไม่รวม localhost

หากต้องการปิดใช้งาน URL การผลิตสำหรับตัวคุณเองหากคุณเข้าชมโดยใช้ IP ไม่คงที่คุณสามารถใช้ส่วนขยาย Chrome เช่นคุกกี้นักพัฒนาซอฟต์แวร์เพื่อข้ามการเรียกใช้รหัส Google Analytics หากเป็นของคุณ

ฉันไม่ได้ทำสิ่งนี้เป็นการส่วนตัวเนื่องจากฉันใช้ Ad Blocker ซึ่งบล็อก Google Analytics บนเบราว์เซอร์ของฉันอยู่แล้ว


4

ใช้เมตริกที่กำหนดเองเพื่อกรองทราฟฟิกทั้งหมดนี้

เมื่อคุณเริ่มต้น GA ในแอปให้ตั้งค่าสถานะที่กำหนดเองเพื่อติดตามนักพัฒนา:

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

จากนั้นเพิ่มตัวกรองในบัญชี GA ของคุณเพื่อลบผลลัพธ์เหล่านี้

ผู้ดูแลระบบ> บัญชี> ตัวกรองทั้งหมด> เพิ่มตัวกรอง> กำหนดโดยผู้ใช้

ป้อนคำอธิบายรูปภาพที่นี่


3

ฉันใช้ Ad Blocker สำหรับ Firefox มันสามารถบล็อกสคริปต์ติดตามการวิเคราะห์ของ Google โดยเฉพาะ เนื่องจาก firefox เป็นเบราว์เซอร์หลักในการพัฒนาของฉันมันใช้งานได้ดีจนกระทั่งฉันต้องทดสอบงานของฉันในเบราว์เซอร์อื่น


2

อาจไม่เป็นประโยชน์กับคุณ แต่ฉันแก้ไขปัญหานี้ด้วยการเขียนตัวควบคุมเซิร์ฟเวอร์ ASP.NET แบบกำหนดเองที่แทรกจาวาสคริปต์ที่จำเป็น ฉันเพิ่ม URL สดลงใน web.config จากนั้นทำให้การควบคุมปรากฏเฉพาะเมื่อชื่อโฮสต์ตรงกับ URL สดใน web.config


1

เช่นเดียวกับผู้คนพูดถึงคุณสามารถโฮสต์โดเมน google-analytics.com ในพื้นที่หรือตั้งค่าฟังก์ชั่นเพื่อดูว่าคุณกำลังทำงานในเครือข่ายการพัฒนาของคุณหรือไม่

โปรดทราบว่าhttp://www.google-analytics.com/th/th/th/ga.jsจะไม่โหลดและฟังก์ชั่น onclick javascript ของคุณจะช่วยติดตามคลิกบนองค์ประกอบของหน้าเว็บ

IE: onclick = "javascript: pageTracker._trackPageview ('/ ทำ / ขึ้น / โฟลเดอร์ / อ้างอิง');

คุณจะมีข้อผิดพลาด JavaScript ที่จะหยุด jQuery หรือฟังก์ชัน JavaScript ที่มีประสิทธิภาพอื่น ๆ


1

เช่นเดียวกับตัวเลือกเพิ่มเติมสำหรับสิ่งนี้ฉันมีเซิร์ฟเวอร์สำหรับการพัฒนาที่มีเว็บไซต์และนักพัฒนามากมาย นั่นหมายความว่าฉันไม่มีความสุขโดยเฉพาะกับ 3 ตัวเลือกหลัก

  • โฮสต์ไฟล์ - มีปัญหากับนักพัฒนาจำนวนมากและเปิดรับข้อผิดพลาดของมนุษย์
  • if / else บล็อกการพัฒนาในทุก ๆ ไซต์เป็นต้น
  • การกำหนดค่าบนเว็บไซต์ GA - ลูกค้าบางรายมีบัญชี GA ของตนเอง จะต้องทำให้เสร็จในทุกไซต์ที่มีศักยภาพที่จะลืม / มองข้าม

แทนที่จะใช้ตัวเลือกต่าง ๆ ในคำตอบอื่น ๆ ที่นี่ฉันเข้าหาปัญหาด้วยวิธีต่อไปนี้ ใน httpd.conf ทั่วโลก (แทนที่จะเป็นเว็บไซต์ที่เฉพาะเจาะจง) ฉันใช้โมดูล apache mod_substituteเพื่อจำลองผลกระทบที่ไฟล์โฮสต์แก้ไขในคำตอบอื่นมี แต่สำหรับทุกเว็บไซต์พัฒนาและนักพัฒนาทุกคนโดยอัตโนมัติ

เปิดใช้งานโมดูล

CentOS : เปิด/etc/conf/httpd.confและเพิ่มบรรทัดต่อไปนี้

LoadModule substitute_module modules/mod_substitute.so

Ubuntu / Debian : เรียกใช้คำสั่งต่อไปนี้

sudo a2enmod substitute

เมื่อคุณเปิดใช้งานโมดูลแล้วให้เพิ่มบรรทัดต่อไปนี้ในไฟล์ httpd global config ของคุณ

CentOS :/etc/conf/httpd.conf

อูบุนตู / เดเบียน :/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

อูบุนตู / เดเบียน :/etc/init.d/apache2 restart

สิ่งนี้ทำอะไรได้แทนที่การจับคู่ข้อความทั้งหมด. google-analytics.com ด้วย. 129.0.0.1 เมื่อ apache ให้บริการหน้าเว็บเพื่อให้หน้าของคุณแสดงผลด้วยรหัสการวิเคราะห์คล้ายกับตัวอย่างด้านล่าง

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

ฉันรู้ว่าโพสต์นี้เก่ามาก แต่ไม่มีวิธีใดที่ตรงกับความต้องการของฉัน ไม่เพียง แต่ฉันต้องการที่จะลบงาน dev ออกจาก GA (และ FB) แต่ฉันยังต้องการมีคนจำนวนหนึ่งภายใน บริษัท ที่ไม่ได้นับใน GA และ FB ดังนั้นฉันจึงต้องการวิธีที่ค่อนข้างง่ายสำหรับคนเหล่านั้นที่จะแยกตัวเองออกจากการวิเคราะห์โดยไม่ต้องใช้ปลั๊กอินหรือตัดทอนโดเมนไอพี (ในฐานะคนที่มีแล็ปท็อปหลง)

ฉันสร้างหน้าเว็บที่ผู้ใช้สามารถไปที่และคลิกลิงก์เพื่อยกเลิกการติดตาม GA และ FB มันวางคุกกี้สำหรับเว็บไซต์ จากนั้นฉันตรวจสอบคุกกี้นั้นเพื่อพิจารณาว่าเราควรส่งข้อมูลไปยัง GA และ FB หรือไม่

เดิมทีฉันเคยตั้งค่านี้ในเว็บไซต์ที่เรียกว่าDahlia ซึ่งเป็นผู้ผลิตบูติกของรายการสำหรับงานแต่งงานกรีกออร์โธดอกซ์และบัพติศมา

นี่คือรหัส:

ฉันใส่รหัสต่อไปนี้ในส่วนหัวของหน้าเว็บทั้งหมด:

<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 ในช่องว่างที่ให้ไว้ สิ่งนี้ถูกเขียนขึ้นสำหรับเว็บไซต์ Weebly (shopping CMS) ดังนั้นหากคุณไม่ได้อยู่บน Weebly คุณสามารถลบบรรทัดที่ระบุถึง weebly

จากนั้นฉันสร้างเว็บเพจใหม่ที่ชื่อว่า "do-not-track"ด้วยรหัสต่อไปนี้ในส่วนหัว:

<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

หากคุณมีแอปพลิเคชันตอบโต้และคุณได้นำแอปออกมา (สิ่งนี้สามารถใช้กับ CRA ได้เช่นกัน) คุณสามารถใช้ข้อมูลโค้ดด้านล่างในindex.htmlหน้า

<script type="text/javascript">
  if("%NODE_ENV%"==="production"){
  //your analytics code
  }

0

รับตัวแปรโฮสต์คำขอ

ดังนั้นให้ห่อคำสั่ง if รอบ ๆ จาวาสคริปต์ในการวิเคราะห์เช่นนี้ (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

ฉันมีชุดตัวแปร PHP สำหรับการพัฒนาในท้องถิ่นของฉันซึ่งให้เทอร์มินัลสำหรับให้ข้อมูล / ข้อเสนอแนะ ฯลฯ เมื่อฉันทำงานกับสิ่งต่าง ๆ

ฉันใช้ XAMPP เพื่อให้มีตัวแปร env สำหรับ 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 ?>

วิธีการแก้ปัญหานั้นสามารถทำให้เหตุการณ์และรหัสการติดตามการเปลี่ยนแปลงใน JS ของคุณเป็นจริงได้เนื่องจากคุณไม่มีออบเจ็กต์ "ga" ที่จะเรียก วิธีการที่ JS ทั้งหมดอาจล้มเหลวและทำให้เกิดปัญหาอื่น ๆ มากมาย
omgitsdrobinoha

0

วันนี้ในขณะที่อยู่บนคอมพิวเตอร์เครื่องอื่นที่ไม่ใช่ของฉันเองฉันสังเกตว่าμBlock Origin สำหรับ Chrome กำลังบล็อก Google AdSense โดยค่าเริ่มต้น หลังจาก Googling ฉันพบบทความนี้บทความมันยังบันทึกμBlock Origin Firefox, μ Adblock สำหรับ Firefox และ Ad Muncher สำหรับ Windows บล็อก AdSense โดยค่าเริ่มต้น ตัวเลือกอื่น ๆ ส่วนใหญ่มีการระบุว่าสามารถกำหนดค่าให้บล็อก AdSense ได้

ดูเหมือนว่าจะใช้งานได้และมีประโยชน์เพราะ IP ของฉันมักเป็นแบบไดนามิกดังนั้นส่วนขยายของ Chrome สามารถติดตามฉันได้ตราบใดที่ฉันยังลงชื่อเข้าใช้ Chrome

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.