คุณสามารถทดสอบ Google Analytics บนที่อยู่ localhost ได้หรือไม่?


279

ฉันต้องทดสอบบัญชี GA ใหม่ของฉันในเครื่องของฉัน

มันจะใช้งานได้เพียงแค่คัดลอกข้อมูลโค้ดมาตรฐานที่จัดทำโดย Google ไปยังหน้า?

ฉันไม่ต้องการใช้เวลา 24 ชั่วโมงเพื่อรอดูว่ามันจะทำงานหรือไม่

คำตอบ:


345

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

Google Analytics Classic - ไวยากรณ์แบบอะซิงโครนัส - ga.js

ไวยากรณ์ปัจจุบันสำหรับการตั้งค่าโดเมนการติดตามเป็น none บน Google Analytics ดูเหมือนว่า:

_gaq.push(['_setDomainName', 'none']);

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

อัปเดต 2013 สำหรับ Universal Analytics - analytics.js

Google เปิดตัวรุ่นใหม่ของการวิเคราะห์ที่เรียกว่า "Universal Analytics" (ปลายปี 2012 หรือต้นปี 2013) ตามที่ฉันเขียนโปรแกรมนี้ยังอยู่ใน BETA ดังนั้นจึงแนะนำให้ใช้รหัสข้างต้นสำหรับผู้ใช้ส่วนใหญ่ที่มีการติดตั้ง Google Analytics อยู่ในปัจจุบัน

อย่างไรก็ตามสำหรับการพัฒนาใหม่โดยใช้analytics.jsรหัสใหม่Google Analytics การกำหนดค่าขั้นสูง - เอกสารการติดตามเว็บแสดงให้เห็นว่าเราสามารถทดสอบ Universal Analytics บน localhost ด้วยรหัสใหม่นี้:

ga('create', 'UA-XXXX-Y', {
  'cookieDomain': 'none'
});

ตรวจสอบเอกสารที่เชื่อมโยงเพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับการกำหนดค่าขั้นสูงของ Universal Analytics

อัปเดต 2019

ทั้งแท็กไซต์ทั่วโลกgtag.jsและ Universal Analytics analytics.jsจะตรวจจับlocalhostโดยอัตโนมัติ คุณไม่จำเป็นต้องทำการเปลี่ยนแปลงใด ๆ กับการกำหนดค่า

หาก gtag.js ตรวจพบว่าคุณกำลังใช้เซิร์ฟเวอร์ในประเทศ (เช่นlocalhost) มันจะกำหนดไปcookie_domain'none'

- developers.google.com


5
เพิ่งช่วยฉันได้มากเวลา ขอบคุณ
atmd

4
เมี่ยงคำตอบของเบน: คุณต้องเพิ่มบรรทัดนี้หลังจากที่ก่อน_gaq.push(['_setAccount', 'UA-XXXXXXX-XX']); _gaq.push(['_trackPageview']);เพิ่มเติม: ลิงค์
dmmd

2
@JamesMcMahon Google Analytics ไม่มีเวอร์ชันเป็นปี (ไม่มีสิ่งเช่น "การวิเคราะห์ Google 2013") บางทีคุณอาจอ้างถึง "Universal Analytics" ที่เป็น BETA ในปัจจุบัน
BenSwayne

1
@JamesMcMahon ทดลองใช้วันนี้ (ด้วยรุ่น "คลาสสิค" ไม่ใช่เบต้า "Universal Analytics") และใช้งานได้
Liran Brimer

21
คุณไม่ได้ตั้งค่าให้เป็นnoneอีกต่อไป เอกสารระบุว่า: "นอกจากนี้หาก analytics.js ตรวจพบว่าคุณกำลังใช้งานเซิร์ฟเวอร์ในพื้นที่ (เช่น localhost) ระบบจะตั้งค่า cookieDomain เป็น 'none' โดยอัตโนมัติ"
mert

60

อัปเดตสำหรับปี 2014

noneตอนนี้สามารถทำได้โดยเพียงการตั้งค่าโดเมน

ga('create', 'UA-XXXX-Y', 'none');

ดู: https://developers.google.com/analytics/devguides/collection/analyticsjs/domains#localhost


6
พารามิเตอร์ที่สามควรจริงจะกำหนดให้แทน'none' 'auto'
Stephen M. Harris

สิ่งนี้ใช้ได้กับโดเมนระดับบนสุดอื่น ๆ หรือไม่ ฉันทดสอบซอฟต์แวร์ในพื้นที่ด้วยโดเมน * .dev และสิ่งเหล่านี้ดูเหมือนจะไม่ทำงานเช่นกัน
แบรดลีย์

4
นอกจากนี้ไม่มีใครรู้วิธีตั้งค่านี้หากคุณกำหนดค่า GA ผ่าน Google เครื่องจัดการแท็ก
แบรดลีย์

การตั้งค่านี้เป็น 'ไม่มี' จะทำงานในสภาพแวดล้อมการผลิตหรือไม่
vanzylv

9
ตัวเลือก'auto'จะกำหนด'none'ให้คุณโดยอัตโนมัติในlocalhostสภาพแวดล้อม: Automatic cookie domain configuration sets the _ga cookie on the highest level domain it can. For example, if your website address is blog.example.co.uk, analytics.js will set the cookie domain to .example.co.uk. In addition, if analytics.js detects that you're running a server locally (e.g. localhost) it automatically sets the cookieDomain to 'none'. ดูที่นี่
reinaldoluckman

15

ฉันมีปัญหาเดียวกันและวิธีแก้ปัญหาทั้งหมดไม่ทำงานจนกว่าฉันจะทำสองสิ่ง:

รหัสที่ชัดเจน:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXXX-X']);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);   
_gaq.push(['_trackPageview']);

และ

ฉันเพิ่ม localhost FQDN อื่น - ชื่อโดเมน ฉันทำสิ่งนี้ในระบบ Windows โดยการแก้ไข:

C:\Windows\System32\drivers\etc\hosts

ไฟล์และฉันใส่ต่อไปนี้:

127.0.0.1   my.domain.org

จากนั้นฉันก็ไปยังที่อยู่http://my.domain.org/WebAppที่ให้บริการหน้าเว็บที่มี Google Analytics รวมอยู่ด้วย

หากคุณใช้ระบบยูนิกซ์ให้แก้ไข / etc / hosts เพื่อผลลัพธ์เดียวกัน

คิดว่า Google ควรกำหนดค่าอินทราเน็ตในคำถามที่พบบ่อยของ GA พวกเขาแค่บอกว่าคุณต้องการ FQDA ใช่คุณทำ แต่ไม่ใช่เพื่อให้พวกเขาเข้าถึงคุณคุณต้องการเพียงแค่มีแอตทริบิวต์ Host ในคำขอ HTTP

ฉันคิดว่าอีกเหตุผลสำหรับ FQDN ก็คือคุกกี้! คุกกี้ถูกใช้เพื่อติดตามข้อมูลและหากคุณไม่มี FQDN จะไม่สามารถตั้งค่าคุกกี้ได้และรหัส JS หยุดและไม่ได้รับ gif


15

คำตอบสำหรับปี 2019

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

ดังที่ได้กล่าวไปแล้วตอนนี้ Google Analytics มีการติดตามแบบเรียลไทม์และหากคุณต้องการติดตามแคมเปญหรือธุรกรรมความล่าช้าจะอยู่ที่ประมาณ 1 นาทีจนกว่าข้อมูลจะปรากฏบนหน้าเว็บตราบใดที่คุณเลือกวันปัจจุบัน

ตัวอย่างเช่นคุณสามารถสร้างเว็บไซต์และทดสอบเว็บไซต์และแต่ละคนฮ่าUA-XXXX-Yรหัส

ในตรรกะแอปพลิเคชันของคุณที่ซึ่งคุณให้บริการ JavaScript การวิเคราะห์ตรวจสอบสภาพแวดล้อมของคุณและสำหรับการผลิตใช้ไซต์UA-XXXX-Y ของคุณและสำหรับการจัดเตรียม / พัฒนาใช้การทดสอบไซต์

คุณสามารถมีการตั้งค่านี้ได้จนกว่าคุณจะได้เรียนรู้เกี่ยวกับ ins และ outs of GA แล้วลบมันออกหรือเก็บไว้หากคุณต้องการเปลี่ยนแปลงอย่างต่อเนื่อง (ซึ่งคุณจะต้องทดสอบการพัฒนา / การเตรียมการก่อน)

ที่มา: ประสบการณ์ส่วนตัวบทความต่างๆ


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

14

ตอนนี้คำตอบสำหรับคำถามของคุณคือใช่มันจะทำงานได้โดยการคัดลอกข้อมูลโค้ดมาตรฐาน ตามเอกสารตอนนี้ข้อมูลมาตรฐานมีการกำหนดค่าโดเมนคุกกี้อัตโนมัติga('create', 'UA-XXXXX-Y', 'auto');ที่โดเมนคุกกี้ถูกกำหนดโดยอัตโนมัติ

นอกจากนี้หาก analytics.js ตรวจพบว่าคุณกำลังใช้งานเซิร์ฟเวอร์ในพื้นที่ (เช่น localhost) ระบบจะตั้งค่า cookieDomain เป็น 'none' โดยอัตโนมัติ


ฉันตรวจสอบสิ่งนี้และดูเหมือนว่า cookieDomain ของฉันจะถูกตั้งค่าเป็น "localhost" แทนที่จะเป็นไม่มี
Shyamal Parikh


6

หลังจากใช้เวลาประมาณสองชั่วโมงในการพยายามหาวิธีแก้ปัญหาฉันรู้ว่าฉันมี adblockers บล็อกการโทรไปยัง GA เมื่อฉันปิดพวกเขาฉันก็ไปได้ดี


5

เครื่องมือที่ง่ายกว่าในการตรวจสอบแท็กติดตามคือการใช้ส่วนขยาย Chrome (อาจมีให้ใช้งานหรือเทียบเท่ากับเบราว์เซอร์อื่น ๆ ) - Google Tag Assistant สิ่งนี้จะแสดงว่าแท็กใดถูกเผาสิ่งที่พบปัญหาและแม้แต่แบ่งสิ่งต่าง ๆ เช่นค่าอีคอมเมิร์ซสำหรับการอ่านง่าย ใช้งานได้กับ Google เครื่องจัดการแท็กและสามารถจัดการแท็กได้หลายชุดในหน้าเว็บ


3

ฉันแค่อยากจะเพิ่มสิ่งที่พูดไปมันอาจช่วยให้คุณปวดหัวมากคุณไม่ต้องรอ 24 ชั่วโมงเพื่อดูว่ามันทำงานใช่ภาพรวมทั้งหมดใช้เวลา 24 ชั่วโมง แต่ในแท็บการรายงานมี ลิงก์ทางซ้ายไปยังผลลัพธ์แบบเรียลไทม์และจะแสดงว่ามีใครเข้าเยี่ยมชมไซต์ของคุณหรือไม่และฉันไม่จำเป็นต้องตั้งค่า'cookieDomain': 'none'ให้ทำงานบน localhost การตั้งค่าของฉันเปิดอยู่'auto'และทำงานได้ดี (ฉันใช้ MVC 5) ยิ่งกว่านั้นฉันได้เพิ่มสคริปต์ที่ท้ายแท็ก head ตามที่ Google ระบุไว้ในหน้านี้ :

วางข้อมูลโค้ดของคุณ (ไม่เปลี่ยนแปลงทั้งหมด) ลงในหน้าเว็บทุกหน้าที่คุณต้องการติดตาม วางไว้ข้างหน้า</head>แท็กปิด

นี่คือข้อมูลเพิ่มเติมเกี่ยวกับวิธีตรวจสอบเพื่อดูว่าการวิเคราะห์ทำงานอย่างถูกต้องหรือไม่


3

ต่อจากคำตอบของ Tuong Lu Kim:

สมมติว่า:

ga('create', 'UA-XXXXX-Y', 'auto');

... ถ้า analytics.js ตรวจพบว่าคุณกำลังใช้งานเซิร์ฟเวอร์ภายใน (เช่น localhost) ระบบจะตั้งค่า cookieDomain ให้เป็น 'none' โดยอัตโนมัติ ...

ตัดตอนมาจาก:

การกำหนดค่าโดเมนคุกกี้อัตโนมัติตั้งค่า _ga cookie ในโดเมนระดับสูงสุดที่สามารถทำได้ ตัวอย่างเช่นหากที่อยู่เว็บไซต์ของคุณคือ blog.example.co.uk, analytics.js จะตั้งค่าโดเมนคุกกี้เป็น. example.co.th นอกจากนี้หาก analytics.js ตรวจพบว่าคุณกำลังใช้งานเซิร์ฟเวอร์ในพื้นที่ (เช่น localhost) ระบบจะตั้งค่า cookieDomain เป็น 'none' โดยอัตโนมัติ

ตัวอย่างข้อมูลการติดตาม JavaScript ที่แนะนำตั้งค่าสตริง 'อัตโนมัติ' สำหรับฟิลด์ cookieDomain:


ที่มา: https://developers.google.com/analytics/devguides/collection/analyticsjs/cookies-user-id#automatic_cookie_domain_configuration


2

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


0

สำหรับผู้ที่ใช้ google tag manager เพื่อรวมเข้ากับเหตุการณ์การวิเคราะห์ของ Google คุณสามารถทำสิ่งที่คนเหล่านี้พูดถึงเพื่อตั้งค่าสถานะคุกกี้เป็นไม่มีจาก GTM

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

เปิด GTM> ตัวแปร> ตัวแปรการวิเคราะห์ของ Google> และตั้งค่าแท็กคุกกี้เป็น none

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