Tray เป็นผู้ให้บริการระบบจัดการเนื้อหา (CMS) สําหรับอีคอมเมิร์ซที่มีประสบการณ์กว่า 20 ปีในตลาดค้าปลีกของบราซิล ผู้ขายดำเนินการร้านค้าออนไลน์บนโครงสร้างพื้นฐานของ Tray's ซึ่งให้บริการและการผสานรวมเพื่อจัดการโลจิสติกส์ การชำระเงิน โปรโมชัน และการรายงานทางธุรกิจ
Tray เป็นสมาชิกของกลุ่ม LWSA และเป็นแรงขับเคลื่อนในภาคอีคอมเมิร์ซ Tray ได้รับความไว้วางใจจากลูกค้ากว่า 180,000 ราย ซึ่งสร้าง GMV รวมกันกว่า 3 พันล้านดอลลาร์สหรัฐในไตรมาสแรกของปี 2024

การพึ่งพาคุกกี้ของบุคคลที่สาม
สถาปัตยกรรมทางเทคนิคของ Tray's ใช้คุกกี้ของบุคคลที่สาม (3PC) เพื่อให้บริการฟังก์ชันการทำงานของบุคคลที่สามแก่เว็บไซต์ของผู้ขาย โดยเฉพาะแผงการดูแลระบบแบ็กออฟฟิศของผู้ขายที่ใช้สำหรับการจัดการร้านค้า คุกกี้เหล่านี้มีความสําคัญต่อการแสดงผลเนื้อหาที่แสดงจากแอปพลิเคชันของบุคคลที่สามซึ่งโฮสต์ในโดเมนอื่นที่ไม่ใช่โดเมนของผู้ขาย Tray's พบว่าการเปลี่ยนแปลงที่วางแผนไว้เกี่ยวกับวิธีที่เบราว์เซอร์จัดการ 3PC อาจส่งผลต่อความสามารถนี้ เนื่องจาก Tray เป็นโครงสร้างพื้นฐานที่สำคัญสำหรับผู้ค้าปลีกออนไลน์จำนวนมาก ธุรกิจจึงต้องดำเนินต่อไปได้ตามปกติ แม้ว่าจะมีการเปลี่ยนแปลงที่สำคัญเกี่ยวกับวิธีที่ Chrome และเบราว์เซอร์อื่นๆ จัดการ 3PC
กรณีศึกษานี้จะอธิบายการค้นพบการหยุดชะงักที่อาจเกิดขึ้นของ Tray's การประเมินโซลูชันที่เป็นไปได้ และโซลูชันที่ประสบความสำเร็จซึ่งนำมาใช้เพื่อให้เว็บไซต์พร้อมรับการเปลี่ยนแปลงใน 3PC
สถาปัตยกรรมทางเทคนิค
บริการขนาดเล็ก
Tray โฮสต์แอปพลิเคชันหน้าร้านและหลังบ้านทั้งหมดในโดเมน tray.com.br และผู้ขายสามารถใช้ CNAME เพื่อแสดงแอปพลิเคชันเหล่านี้จากโดเมนที่กำหนดเองได้ การตั้งค่านี้จะทำให้ผู้เลือกซื้อเห็นเฉพาะโดเมนของร้านค้า เช่น merchant.example Tray ใช้ประโยชน์จากสถาปัตยกรรมไมโครเซอร์วิสเพื่อมอบฟีเจอร์และความสามารถ แนวทางนี้ใช้แอปพลิเคชันอิสระที่ทำงานได้ด้วยตัวเองซึ่งแต่ละแอปมุ่งเน้นที่ฟังก์ชันหนึ่งๆ โดยเฉพาะ จากนั้นระบบจะจัดกลุ่มไมโครเซอร์วิสเหล่านี้เป็นขอบเขตตามความสามารถด้านฟังก์ชันการทำงาน ดังนี้
- Store: ครอบคลุมแอปพลิเคชันที่รับผิดชอบสำหรับฟีเจอร์หน้าร้าน เช่น การแสดงผลิตภัณฑ์ การค้นหา และการจัดการธีม
- ขั้นตอนการซื้อ: จัดการรถเข็นช็อปปิ้ง ขั้นตอนการชำระเงิน และการโต้ตอบกับลูกค้าระหว่างเส้นทางการซื้อ
- การจัดการร้านค้า: มีแอปพลิเคชันแบ็กออฟฟิศสำหรับงานต่างๆ เช่น การดูแลระบบ การรายงาน และการนำเข้าข้อมูล
- การผสานรวม: อำนวยความสะดวกในการเชื่อมต่อกับแพลตฟอร์มภายนอกเพื่อแสดงข้อมูลผลิตภัณฑ์ในหลายแพลตฟอร์ม จัดการโลจิสติกส์ และอื่นๆ
แอปพลิเคชันแบ็กออฟฟิศ
แบ็กออฟฟิศเป็นแอปพลิเคชันหลักในการจัดการร้านค้า ซึ่งทำหน้าที่เป็นแผงการดูแลระบบส่วนกลางสำหรับร้านค้าเสมือนจริงของผู้ขายใน Tray ผู้ขายสามารถทำสิ่งต่อไปนี้ผ่านแผงควบคุมนี้
- ลงทะเบียนผลิตภัณฑ์
- กำหนดค่าวิธีการจัดส่งและการชำระเงิน
- สร้างโปรโมชัน
- จัดการการออกอากาศสด
- ดูแลขั้นตอนการสั่งซื้อ
- ตรวจสอบรายงานการขาย
เนื่องจากแบ็กออฟฟิศรวบรวมไมโครเซอร์วิสหลายรายการเข้าด้วยกัน ซึ่งบางรายการดำเนินการโดย Tray และบางรายการดำเนินการโดยบุคคลที่สาม ไว้ในอินเทอร์เฟซเดียว จึงมีแนวโน้มที่จะหยุดชะงักเนื่องจากการเปลี่ยนแปลงวิธีจัดการคุกกี้ของบุคคลที่สาม
CNAME สําหรับการปรับแต่งของผู้ขาย
Tray ใช้ระเบียน CNAME เพื่อผสานรวมหน้าร้านได้อย่างราบรื่น
เมื่อตั้งค่าร้านค้าใหม่ ผู้ขายสามารถตั้งค่า CNAME เพื่อส่งคำขอไปยังแอปพลิเคชันที่โฮสต์ในโดเมน Tray's ซึ่งก็คือ tray.com.br ซึ่งหมายความว่าเมื่อลูกค้าเข้าชมเว็บไซต์ของผู้ขาย (เช่น example.com
) ระเบียน CNAME จะเปลี่ยนเส้นทางลูกค้าไปยังโดเมน Tray's ขณะยังคงแสดง URL ของผู้ขายในแถบที่อยู่ วิธีนี้ทำให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ราบรื่นเนื่องจากเนื้อหาจะปรากฏขึ้นจากเว็บไซต์ของผู้ขายโดยตรง
ทำความเข้าใจ CNAME
ระเบียน CNAME ทำงานคล้ายกับการโอนสายในโทรศัพท์ ลองนึกภาพว่าคุณโทรหาเพื่อนที่หมายเลข 555-0199 แต่เพื่อนไม่รับสาย การโทรอาจได้รับการโอนไปยังข้อความเสียงที่หมายเลขอื่น เช่น 555-0100 อย่างไรก็ตาม คุณจะไม่ทราบถึงการเปลี่ยนเส้นทางนี้ โทรศัพท์จะเชื่อมต่อคุณได้อย่างราบรื่น และข้อความแจ้งรับฝากเสียงจะยังคงแสดงหมายเลขเดิมของเพื่อน (555-0199)
CNAME จะทํางานในลักษณะเดียวกันสําหรับเว็บไซต์ เมื่อผู้ใช้เข้าชมเว็บไซต์ของผู้ขาย (เช่น example.com
) ระเบียน CNAME อาจเปลี่ยนเส้นทางคำขอของผู้ใช้ไปยังเซิร์ฟเวอร์อื่น เช่น assets.example.com
โดยที่ผู้ใช้ไม่รู้ตัว แต่จากมุมมองของผู้ใช้และเบราว์เซอร์ ทุกอย่างจะเกิดขึ้นใน example.com
แถบที่อยู่จะแสดง URL ของผู้ขาย และผู้ใช้โต้ตอบกับเว็บไซต์ราวกับว่าเนื้อหามาจากโดเมนนั้นโดยตรง
การประเมินการหยุดชะงักที่อาจเกิดขึ้น
Tray's การวิเคราะห์การเปลี่ยนแปลงที่วางแผนไว้สำหรับการจัดการ 3PC แสดงให้เห็นถึงการหยุดชะงักในแอปพลิเคชันแบ็กออฟฟิศ เมื่อบล็อก 3PC ไว้ ปัญหาจะปรากฏขึ้นเมื่อโหลดหน้าเว็บจากโดเมนอื่นภายใน iframe ที่ฝังอยู่ในหน้าแบ็กเอนด์ ซึ่งมีผลกับโดเมนภายในซึ่งเป็นของบริการของบริษัทเอง รวมถึงพาร์ทเนอร์ภายนอกที่พัฒนาแอปพลิเคชันที่ผสานรวมกับ Tray โดยใช้ API ของ Tray
ตัวอย่างเช่น ลองจินตนาการถึงหน้าใน backoffice.merchant.example
ที่ฝังเนื้อหาที่โฮสต์โดย tray.com.br และบุคคลที่สามอื่นๆ
เบราว์เซอร์จะถือว่าเนื้อหาที่ฝังนี้เป็นของบุคคลที่สามเนื่องจากความแตกต่างของโดเมน ซึ่งอาจจํากัดเนื้อหาภายใต้ข้อจํากัดของบุคคลที่สาม
การตั้งค่านี้อาจทำให้เกิดปัญหาหลายประการ
- เซสชันขัดข้อง: 3PC ที่บล็อกอาจทําให้เซสชันที่ได้รับผลกระทบขัดข้อง ซึ่งทำให้ประสบการณ์ของผู้ใช้แตกกระจัดกระจายเนื่องจากต้องลงชื่อเข้าใช้หลายครั้ง หรืออาจทําให้เกิดความขัดข้องหรือเกิดความไม่สอดคล้องภายในหน้า Backoffice เนื่องจาก iframe ทำงานผิดปกติ
- ปัญหาการผสานรวม: แอปพลิเคชันพาร์ทเนอร์และบริการภายในที่ผสานรวมกับแบ็กเอนด์ Tray's โดยใช้ API อาจพบปัญหาที่คล้ายกันเนื่องจากข้อจำกัดของ 3PC
รูปภาพต่อไปนี้แสดงสถานการณ์นี้
- ผู้ใช้เข้าถึงแอปพลิเคชันแบ็กออฟฟิศที่โฮสต์ใน
merchant.example
- แอปพลิเคชันที่ฝังจะอยู่ในโดเมนต่างๆ บางแอปพลิเคชันอยู่ใน
tray.com.br
ซึ่ง Tray เป็นเจ้าของ และบางแอปพลิเคชันอยู่ในโดเมนของผู้ให้บริการบุคคลที่สาม (third-party.example
) - ความแตกต่างของโดเมนนี้จะทริกเกอร์ข้อจํากัด 3PC ซึ่งอาจทําให้เกิดปัญหากับแอปพลิเคชันที่ฝัง

การวิเคราะห์การพึ่งพาและโซลูชันคุกกี้ของบุคคลที่สาม
การทดสอบเส้นทางของผู้ใช้ที่สําคัญ
Tray'sการทดสอบและการวิเคราะห์มีจุดมุ่งหมายเพื่อปรับปรุงประสิทธิภาพของเว็บไซต์และประสบการณ์ของผู้ใช้ โดยมุ่งเน้นที่การผสานรวมกับบุคคลที่สามและการเตรียมพร้อมสําหรับอนาคตที่ผู้ใช้จํานวนมากจะท่องเว็บโดยไม่ใช้ 3PC
Tray ใช้เครื่องมือวิเคราะห์ของ Privacy Sandbox (PSAT) และเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome เพื่อวิเคราะห์เส้นทางของผู้ใช้ที่สําคัญสําหรับลูกค้าและผู้ขาย ซึ่งรวมถึงการทดสอบการโหลดหน้าเว็บภายใน iframe, การตรวจสอบว่าเซสชันของผู้ใช้ยังคงใช้งานได้อยู่ และตรวจสอบว่าแอปพลิเคชันของบุคคลที่สามยังคงทำงานต่อไปได้ตามที่คาดไว้ การทดสอบครอบคลุมบทบาทของผู้ใช้ อุปกรณ์ และเบราว์เซอร์ที่หลากหลาย (รวมถึง Chrome, Firefox และ Safari) เพื่อระบุปัญหาความเข้ากันได้ของเบราว์เซอร์ต่างๆ ที่อาจเกิดขึ้น Tray ใช้ PSAT และเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Chrome เพื่อจัดหมวดหมู่คุกกี้และประเมินผลกระทบต่อประสบการณ์ของผู้ใช้
การวิเคราะห์นี้เป็นขั้นตอนสําคัญในการสร้างความมั่นใจว่าผู้ใช้จะได้รับประสบการณ์การใช้งานที่ราบรื่นและสอดคล้องกัน เพื่อปรับตัวให้เข้ากับอนาคตที่คุกกี้ของบุคคลที่สามอาจถูกจํากัดหรือไม่พร้อมใช้งาน
การวิเคราะห์โซลูชัน Privacy Sandbox
Storage Access API
แม้ว่า Storage Access API (SAA) อาจช่วยแก้ปัญหาการหยุดชะงักของ Tray's ได้และเบราว์เซอร์หลักทั้งหมดรองรับ แต่ก็ไม่เหมาะกับธุรกิจเนื่องจากเหตุผลหลัก 2 ข้อต่อไปนี้
- เนื้อหาที่ฝังจำเป็นต้องเข้าถึงคุกกี้ในต้นทางที่ฝังเท่านั้น ไม่ใช่เพื่อเข้าถึงคุกกี้เดียวกันในหลายเว็บไซต์
- ข้อความแจ้งของเบราว์เซอร์ที่เชื่อมโยงกับ SAA นั้นไม่เหมาะอย่างยิ่ง โดยเฉพาะอย่างยิ่งเมื่อไม่ได้ใช้คุกกี้เพื่อติดตามผู้ใช้ในเว็บไซต์ต่างๆ
CHIPS
CHIPS นำเสนอโซลูชันที่มีประสิทธิภาพพร้อมประสบการณ์การใช้งานที่ยอดเยี่ยมสำหรับการฝังข้ามเว็บไซต์ แอตทริบิวต์ Partitioned
ติดตั้งใช้งานได้ง่ายและไม่ส่งผลต่อลักษณะการโต้ตอบของผู้ใช้อย่างชัดเจนใน Chrome เบราว์เซอร์หลักอื่นๆ ไม่รองรับ CHIPS เมื่อ Tray กำลังทำการเปลี่ยนแปลงบริการ ดังนั้นจึงเลือกย้ายการฝังที่ตนเป็นเจ้าของและดำเนินการไปยังเว็บไซต์เดียวกับแอปพลิเคชันระดับบนสุดเพื่อให้ประสบการณ์การใช้งานสอดคล้องกันในทุกเบราว์เซอร์ เนื้อหาที่ฝังของบุคคลที่สามจะอาศัย CHIPS ใน Chrome และเปิดหน้าต่างใหม่ (บริบทของบุคคลที่หนึ่ง) ในเบราว์เซอร์อื่นๆ อย่างไรก็ตาม นับตั้งแต่Tray'sการติดตั้งใช้งานครั้งแรก Firefox ได้ยืนยันแผนที่จะเปิดตัว CHIPS เร็วๆ นี้ และ Safari ก็เริ่มเพิ่มการรองรับสำหรับแอตทริบิวต์ที่มีการแบ่งพาร์ติชัน โดยเริ่มจากเวอร์ชันตัวอย่างเทคโนโลยี
เราคิดว่า CHIPS เป็นโซลูชันที่ยอดเยี่ยมและยินดีที่ได้เห็นการนำไปใช้ในเบราว์เซอร์หลายรายการ เราตัดสินใจที่จะใช้โซลูชัน CHIPS ต่อไปนอกเหนือจากการย้ายข้อมูลไปยังเว็บไซต์ของบุคคลที่หนึ่ง เพื่อให้เรารองรับเบราว์เซอร์ทั้งหมดได้ก่อนที่จะนำ CHIPS มาใช้
— Takashi Tanaka หัวหน้าฝ่ายเทคโนโลยีของ Tray
ความเข้ากันได้กับเบราว์เซอร์, W3C และมาตรฐาน
Chrome มีบทบาทสำคัญในชุมชนมาตรฐาน การมีส่วนร่วมอย่างสม่ำเสมอในคณะทำงานและกลุ่มชุมชนของ W3C เช่น PrivacyCG มีความสำคัญอย่างยิ่งในการโน้มน้าวให้ระบบนิเวศเบราว์เซอร์ในวงกว้างนำเทคโนโลยีเว็บใหม่ๆ มาใช้
Privacy Sandbox ทํางานร่วมกับระบบนิเวศของเว็บเพื่อพัฒนา API เช่น CHIPS อย่างต่อเนื่องตามความคิดเห็นและการมีส่วนร่วมของอุตสาหกรรม แนวทางที่โปร่งใสและยึดตามมาตรฐานนี้ช่วยกระตุ้นการนำ CHIPS ไปใช้ในเบราว์เซอร์หลักอื่นๆ
แก้ปัญหาการพึ่งพาคุกกี้ของบุคคลที่สามอย่างยั่งยืน
Tray รองรับผู้ขายและลูกค้าในอุปกรณ์และเบราว์เซอร์ทุกประเภท เราควรใช้แนวทางที่อิงตาม CHIPS เพียงอย่างเดียว แต่ก็ได้ทําการเปลี่ยนแปลงเพิ่มเติมเพื่อรองรับเบราว์เซอร์อื่นๆ ที่ไม่รองรับ CHIPS ในตอนนั้นด้วย
Tray's แนวทางในการแก้ไขปัญหาการหยุดชะงักที่เกิดขึ้นเมื่อ 3PC ไม่พร้อมใช้งาน มี 2 กลยุทธ์หลัก
1. แอปพลิเคชันภายใน
เราได้อัปเดตTrayไมโครเซอร์วิสที่ทำงานอย่างเต็มรูปแบบ ซึ่งรวมถึง Live Shop, Dropshipping และ Issuer ใบแจ้งหนี้ เพื่อให้แหล่งที่มาของเนื้อหาที่ฝังรับค่า CNAME ที่ผู้ขายตั้งค่าไว้ กล่าวอย่างง่ายคือ เนื้อหาที่ฝังได้รับการอัปเดตให้เป็นเนื้อหาของบุคคลที่หนึ่งกับหน้าที่ฝังเนื้อหานั้น เพื่อให้มั่นใจว่าจะไม่มีการรบกวนเนื่องจากการเปลี่ยนแปลงคุกกี้ของบุคคลที่สาม
2. แอปพลิเคชันของบุคคลที่สาม
สําหรับแอปพลิเคชันของบุคคลที่สามที่เข้าถึงผ่านแบ็กออฟฟิศ Tray ใช้แนวทางที่ยืดหยุ่นมากขึ้น วิธีการมีดังนี้
- การติดตั้งใช้งานแอตทริบิวต์ที่มีการแบ่งพาร์ติชัน: การติดตั้งใช้งานแอตทริบิวต์คุกกี้
Partitioned
ได้รับการบำรุงรักษาสำหรับผู้ให้บริการที่เชื่อถือได้ ซึ่งทำให้แอปพลิเคชันของบุคคลที่สามสามารถตั้งค่าคุกกี้ในเบราว์เซอร์ที่รองรับ CHIPS ได้อย่างมีประสิทธิภาพ - เมื่อคุกกี้ของบุคคลที่สามถูกบล็อก: หากเบราว์เซอร์ของผู้ใช้บล็อกคุกกี้ของบุคคลที่สาม แอปพลิเคชันของบุคคลที่สามจะเปิดในหน้าต่างใหม่ (ของบุคคลที่หนึ่ง) วิธีนี้จะช่วยหลีกเลี่ยงปัญหาในการเปิดและช่วยให้ดำเนินการต่อไปได้แม้จะมีข้อจำกัด 3PC
- เมื่ออนุญาตคุกกี้ของบุคคลที่สาม: หากเบราว์เซอร์ของผู้ใช้อนุญาต 3PC แอปพลิเคชันจะเปิดภายใน iframe ต่อไปตามปกติ
การจําลองโซลูชัน
รูปภาพต่อไปนี้แสดงวิธีแก้ปัญหา การรับค่าจากโดเมนหลัก (merchant.example
) ของ Store จะทำให้แอปพลิเคชันที่ฝังทั้งหมดดูเหมือนว่ามาจากแหล่งที่มาเดียวกัน ซึ่งทำให้วิดเจ็ตทั้งหมดเป็นบุคคลที่หนึ่งต่อกัน ซึ่งหมายความว่าข้อจำกัดของบุคคลที่สามจะไม่เป็นปัจจัย เนื่องจากเฟรมทั้งหมดเหล่านี้จะกลายเป็นบุคคลที่หนึ่งสำหรับกันและกัน หลักการด้านความเป็นส่วนตัวจึงเหมือนกับหลักการของคุกกี้ของบุคคลที่หนึ่งอื่นๆ กล่าวคือ เข้าถึงได้เฉพาะในบริบทของบุคคลที่หนึ่งและจำกัดโอกาสในการติดตามข้ามเว็บไซต์
บริการของบุคคลที่สามที่ Tray ไม่ได้เป็นเจ้าของจะใช้แอตทริบิวต์ Partitioned
เพื่อตั้งค่าคุกกี้ CHIPS ซึ่งหมายความว่าจะมีสิทธิ์เข้าถึงได้เฉพาะในบริบทที่ตั้งค่าไว้และจำกัดโอกาสในการติดตามข้ามเว็บไซต์

สรุป
- ความเป็นส่วนตัวบนเว็บไม่ได้มีวิธีแก้ปัญหาแบบ "เหมาะกับทุกคน" แต่มีหลายวิธีที่จะทำให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ราบรื่นไปพร้อมกับการรักษาความเป็นส่วนตัว
- การรวมทรัพยากรไว้ในโดเมนระดับบนสุดเดียวกันจะช่วยให้คุกกี้ทํางานได้แม้จะมีข้อจํากัดเกี่ยวกับคุกกี้ของบุคคลที่สาม
- CHIPS อาจเป็นโซลูชันที่ง่ายกว่าการย้ายข้อมูลทรัพยากรทั้งหมดไปยังเว็บไซต์ระดับบนสุดเดียวกัน
- โซลูชัน Tray's ใช้งานได้อย่างยาวนานและใช้ได้กับเบราว์เซอร์ต่างๆ เมื่อเบราว์เซอร์อื่นๆ รองรับ CHIPS มากขึ้น ก็จะถือเป็นโซลูชันข้ามเบราว์เซอร์ที่เชื่อถือได้สำหรับสถานการณ์ต่างๆ เช่น Tray's