การลบข้อมูลระบุที่อยู่ IP ใน Analytics

คำอธิบายทางเทคนิคเกี่ยวกับวิธีการลบข้อมูลระบุที่อยู่ IP ของ Google Analytics

ข้อมูลโดยย่อ

เมื่อลูกค้าของ Analytics ขอให้มีการลบข้อมูลระบุที่อยู่ IP ทาง Analytics จะลบข้อมูลระบุที่อยู่ IP ทันทีที่ทำได้ในทางเทคนิคตั้งแต่ขั้นตอนแรกๆ ของเครือข่ายเก็บข้อมูล ฟีเจอร์การลบข้อมูลระบุที่อยู่ IP ใน Analytics จะตั้งอ็อกเท็ตสุดท้ายของที่อยู่แบบ IPv4 ของผู้ใช้และ 80 บิตสุดท้ายของที่อยู่แบบ IPv6 ให้เป็น 0 หลังจากที่ส่งไปยังเครือข่ายเก็บข้อมูลของ Analytics เกือบจะทันที จึงจะไม่มีการบันทึกที่อยู่ IP ลงดิสก์เลยตั้งแต่แรก

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

เจาะลึก

ตั้งแต่วันที่ 25 พฤษภาคม 2010 ทาง Analytics ได้ให้บริการฟีเจอร์ _anonymizelp ในไลบรารี JavaScript "ga.js" (และหลังจากนั้นก็มี ga('set', 'anonymizeIp', true) ในไลบรารี analytics.js) เพื่อให้เจ้าของเว็บไซต์ขอให้มีการลบข้อมูลระบุที่อยู่ IP ของผู้ใช้ทุกคนภายในผลิตภัณฑ์นั้นๆ ได้ คุณลักษณะนี้ออกแบบมาเพื่อช่วยให้เจ้าของเว็บไซต์ปฏิบัติตามนโยบายความเป็นส่วนตัวของตนได้ หรือในบางประเทศ หน่วยงานคุ้มครองข้อมูลในท้องถิ่นอาจมีคำแนะนำว่าไม่ให้จัดเก็บข้อมูลที่อยู่ IP แบบเต็ม การลบ/มาสก์ข้อมูลระบุที่อยู่ IP จะเกิดขึ้นทันทีที่ข้อมูลส่งมาถึงเครือข่ายเก็บข้อมูลของ Analytics ก่อนที่จะมีการจัดเก็บหรือประมวลผล

กระบวนการลบข้อมูลระบุที่อยู่ IP ใน Analytics จะเกิดขึ้นใน 2 ขั้นตอนในไปป์ไลน์การเก็บข้อมูล ได้แก่ แท็ก JavaScript และเครือข่ายเก็บข้อมูล โดยจะอธิบายขั้นตอนเหล่านี้ด้านล่าง

แท็ก JavaScript ของ Analytics

เมื่อเว็บเบราว์เซอร์ที่เปิดใช้ JavaScript โหลดหน้าเว็บที่มีแท็ก Analytics (ga.js หรือ analytics.js) เบราว์เซอร์จะทำ 2 อย่างโดยไม่พร้อมกัน คือโหลดและประมวลผลคิวฟังก์ชันของ Analytics และส่งคำขอ JavaScript ของ Analytics คิวฟังก์ชันนี้คืออาร์เรย์ JavaScript ซึ่งมีการพุชฟังก์ชันการกำหนดค่าและเก็บข้อมูลของ Analytics ที่แตกต่างกัน ฟังก์ชันเหล่านี้ซึ่งเจ้าของเว็บไซต์เป็นผู้ตั้งค่าตอนที่ติดตั้ง Analytics อาจมีฟังก์ชันอย่างเช่น การระบุหมายเลขบัญชี Analytics และการส่งข้อมูลการดูหน้าเว็บไปยังเครือข่ายเก็บข้อมูลของ Analytics เพื่อประมวลผล

เมื่อ JavaScript ของ Analytics เรียกใช้ฟังก์ชันจากคิวฟังก์ชันที่ทำให้ระบบเริ่มส่งข้อมูลไปที่เครือข่ายเก็บข้อมูลของ Analytics (ฟังก์ชันนี้มักเป็น ga('send', 'pageview') ในไลบรารี JavaScript "analytics.js" และเป็น _trackPageview ในไลบรารี ga.js) ก็จะส่งข้อมูลเป็นพารามิเตอร์ของ URL ที่แนบไว้ไปยังคำขอ HTTP สำหรับ http://www.google-analytics.com/_utm.gif (สำหรับ ga.js) และ http://www.google-analytics.com/collect (สำหรับ analytics.js) หากมีการเรียกฟังก์ชันการลบข้อมูลระบุที่อยู่ IP ก่อนฟังก์ชันการติดตามหน้าเว็บ ระบบจะเพิ่มพารามิเตอร์เพิ่มเติมลงในคำขอพิกเซล พารามิเตอร์การลบข้อมูลระบุที่อยู่ IP จึงจะมีหน้าตาดังนี้ &aip=1

เครือข่ายเก็บข้อมูลของ Analytics

เครือข่ายเก็บข้อมูลของ Analytics เป็นชุดเซิร์ฟเวอร์ที่ให้บริการหลัก 2 อย่าง ได้แก่ การให้บริการ ga.js และ analytics.js (JavaScript ของ Analytics) และการเก็บข้อมูลที่ส่งผ่านคำขอ _utm.gif และ /collect

เมื่อคำขอสำหรับ ga.js, analytics.js, _utm.gif หรือ /collect มาถึง คำขอจะมีข้อมูลเพิ่มเติมในส่วนหัวของคำขอ HTTP (นั่นคือ ประเภทของเบราว์เซอร์ที่ใช้อยู่) และส่วนหัว TCP/IP (นั่นคือ ที่อยู่ IP ของผู้ส่งคำขอ)

ทันทีที่คำขอสำหรับ _utm.gif มาถึง ระบบจะจัดเก็บไว้ในหน่วยความจำเพื่อการลบข้อมูลระบุที่อยู่ IP หากพบพารามิเตอร์ &aip=1 ใน URL ของคำขอ (ตามที่ JavaScript ของ Analytics จะวางหลังจากประมวลผลฟังก์ชันการลบข้อมูลระบุที่อยู่ IP ใน ga.js หรือ analytics.js) ระบบจะตั้งค่าอ็อกเท็ตสุดท้ายของที่อยู่ IP เป็น 0 ขณะที่ยังอยู่ในหน่วยความจำ เช่น ที่อยู่ IP เท่ากับ 12.214.31.144 จะถูกเปลี่ยนเป็น 12.214.31.0 (หากที่อยู่ IP เป็นแบบ IPv6 เลข 80 บิตสุดท้ายจาก 128 บิตจะถูกตั้งเป็น 0) หลังจากที่กระบวนการลบข้อมูลระบุเสร็จสิ้นลง คำขอจะถูกเขียนลงดิสก์เพื่อประมวลผลต่อไป การลบข้อมูลระบุที่อยู่ IP ทำให้ไม่มีโอกาสที่ระบบจะบันทึกที่อยู่ IP แบบเต็มลงในดิสก์เลย เนื่องจากการลบข้อมูลระบุที่อยู่ IP จะเกิดขึ้นในหน่วยความจำหลังจากได้รับคำขอแทบจะทันที

ข้อมูลนี้มีประโยชน์ไหม
เราจะปรับปรุงได้อย่างไร