trusty — Website Trust Platform
Cookies & Consent

ตัวอย่างและ Template ปุ่ม Reject All สำหรับ SaaS พร้อมโครงสร้าง Consent Mode

ทีม Product และ Engineering ของ SaaS ที่อยากได้จุดเริ่มต้นสำหรับปุ่ม Reject All ที่ถูกต้องตามหลัก Symmetry สามารถใช้ตัวอย่างโครงสร้างในบทความนี้เป็นฐานได้

📅 เผยแพร่ 11 สิงหาคม 2569อัปเดตล่าสุด 11 สิงหาคม 2569✍️ เขียนโดย trusty Editorial Team⏱ อ่าน 7 นาที
Detailed view of a power button on a sleek laptop, emphasizing technology design.
ภาพโดย energepic.com จาก Pexels

💬 สรุปสั้น ๆ

Template ปุ่ม Reject All ที่ใช้ได้จริงสำหรับ SaaS ต้องมีปุ่ม Reject All อยู่ระดับเดียวกับ Accept All ตั้งแต่หน้าจอแรก ไม่ต้องกดเข้าเมนูย่อย และต้องผูกกับ Consent Mode ที่ Default เป็น denied ก่อนผู้ใช้เลือก

ทีม Product ที่กำลังออกแบบแบนเนอร์คุกกี้ใหม่สำหรับผลิตภัณฑ์ SaaS มักถามหาตัวอย่างที่จับต้องได้มากกว่าหลักการทั่วไป บทความนี้จึงรวบรวมโครงสร้างของปุ่ม Reject All ที่ทีม Engineering นำไปปรับใช้กับ Design System และ Tag Manager ของตัวเองได้ทันที โดยยึดหลัก Symmetry คือการปฏิเสธต้องทำได้ง่ายเท่ากับการยอมรับ

โครงสร้างปุ่มในแบนเนอร์ชั้นแรก

แบนเนอร์ชั้นแรกที่ผ่านหลัก Symmetry ควรมีปุ่มหลักสามปุ่มอยู่ในระดับสายตาเดียวกัน คือ Accept All, Reject All และ Customize โดยปุ่ม Reject All ต้องไม่ถูกซ่อนเป็นลิงก์ตัวเล็กสีจางกว่า หรือฝังอยู่หลังคำว่า Cookie Settings เพียงอย่างเดียว ตัวอย่างลำดับที่ใช้ได้จริงคือวางปุ่ม Reject All กับ Accept All คู่กันในแถวเดียว ส่วนปุ่ม Customize วางไว้เป็นตัวเลือกที่สาม

ขนาดตัวอักษร สีปุ่ม และระยะห่างจากขอบจอควรเท่ากันทั้งสองปุ่ม ทีม Design ที่เคยทำ Accept All เป็นปุ่มสีเข้มขนาดใหญ่ แต่ Reject All เป็นตัวอักษรสีเทาไม่มีกรอบ ถือว่ายังไม่ผ่านหลัก Symmetry แม้ปุ่มจะ 'มีอยู่' ก็ตาม เพราะน้ำหนักภาพที่ต่างกันโน้มน้าวให้ผู้ใช้เลือก Accept All โดยไม่ตั้งใจ

โครงสร้างพื้นฐานที่ทีม Engineering ควรตั้งก่อน Tag ใดๆ ทำงาน คือกำหนดค่า Default Consent State ให้ทุกหมวดเป็น denied ยกเว้นหมวดที่จำเป็นต่อการทำงานของเว็บไซต์จริง เช่น Security หรือ Load Balancing จากนั้นเมื่อผู้ใช้กด Reject All ให้ยิงคำสั่ง Update Consent State ไปยังทุกหมวดเป็น denied ซ้ำอีกครั้งเพื่อความชัดเจน แม้ Default จะเป็น denied อยู่แล้วก็ตาม

ตัวอย่างการ Map หมวดคุกกี้ที่ใช้ได้จริงคือ หมวด Necessary ของ CMP ผูกกับ Consent Type ที่ไม่ต้องขอความยินยอม หมวด Analytics ผูกกับ Consent Type ที่ควบคุม Google Analytics 4 หมวด Marketing ผูกกับ Consent Type ที่ควบคุม Google Ads Conversion Tracking และ Meta Pixel การ Map ผิดหมวดเป็นสาเหตุอันดับต้นที่ทำให้ Reject All ดูเหมือนทำงานแต่จริง ๆ ควบคุมได้ไม่ครบ

ตัวอย่างการจัดหมวดคุกกี้สำหรับ SaaS onboarding flow

ผลิตภัณฑ์ SaaS มักมีขั้นตอน Onboarding ที่ใช้เครื่องมือ Product Analytics แยกจาก Marketing Analytics เช่น เครื่องมือติดตามการใช้งานฟีเจอร์ภายในแอปหลัง Sign in ควรถูกจัดเป็นหมวด Analytics เช่นเดียวกับ Google Analytics 4 ไม่ใช่ถูกมองว่าเป็น 'ระบบภายใน' ที่ไม่ต้องขอ Consent เพราะพฤติกรรมคือการเก็บข้อมูลการใช้งานของผู้ใช้เหมือนกัน

ตัวอย่างที่ควรหลีกเลี่ยงคือการใช้ Session Replay Tool บันทึกหน้าจอผู้ใช้ระหว่าง Onboarding โดยจัดเป็นหมวด Necessary เพราะทีม Product มองว่าจำเป็นต่อการปรับปรุงผลิตภัณฑ์ เครื่องมือประเภทนี้ควรจัดเป็นหมวด Analytics หรือ Functional ตามลักษณะการเก็บข้อมูลจริง และต้องถูกบล็อกได้เมื่อผู้ใช้กด Reject All เช่นเดียวกับเครื่องมืออื่น

ตัวอย่าง Preference Center ที่เชื่อมกับปุ่ม Reject All

นอกจากแบนเนอร์ชั้นแรก ทีม Engineering ควรมีจุดที่ผู้ใช้กลับมาเปลี่ยนใจภายหลังได้ เช่น ลิงก์ 'ตั้งค่าคุกกี้' ที่ Footer ซึ่งเปิด Preference Center เดิม และต้องมีปุ่ม Reject All อยู่ใน Preference Center นี้ด้วยเช่นกัน ไม่ใช่มีเฉพาะในแบนเนอร์แรกครั้งเดียว เพราะผู้ใช้ที่เคยกด Accept All ไปแล้วต้องเปลี่ยนใจภายหลังได้โดยไม่ยากไปกว่าตอนกด Accept ครั้งแรก

ตัวอย่างข้อความบนปุ่มและป้ายกำกับที่ไม่ชวนสับสน

ข้อความบนปุ่มควรสั้นและตรงไปตรงมา ตัวอย่างที่ใช้ได้จริงคือ 'ยอมรับทั้งหมด' คู่กับ 'ปฏิเสธทั้งหมด' ไม่ใช่ 'ยอมรับ' คู่กับ 'จัดการการตั้งค่า' เพราะข้อความแบบหลังไม่ได้บอกผู้ใช้ตรง ๆ ว่ากดแล้วจะปฏิเสธได้ทันที ทำให้ผู้ใช้ต้องเสียเวลาเข้าไปอีกขั้นตอนหนึ่งทั้งที่ควรเลือกปฏิเสธได้จากหน้าจอแรก

หมวดหมู่คุกกี้ที่แสดงใน Customize ควรมีคำอธิบายสั้น ๆ กำกับแต่ละหมวดว่าเก็บอะไรและเพื่ออะไร เช่น หมวด Marketing ควรระบุว่าใช้สำหรับวัดผลโฆษณาและ Remarketing ไม่ใช่เขียนกว้าง ๆ ว่า 'เพื่อปรับปรุงประสบการณ์การใช้งาน' ซึ่งไม่ช่วยให้ผู้ใช้ตัดสินใจได้จริง

เมื่อผู้ใช้กด Reject All ระบบควรบันทึก Consent ID, เวลาที่กด, เวอร์ชันของ Banner และหมวดคุกกี้ที่ถูกปฏิเสธไว้เป็นหลักฐาน ตัวอย่างโครงสร้างข้อมูลที่ใช้ได้จริงคือเก็บเป็นแถวต่อการกดหนึ่งครั้ง ไม่ใช่เขียนทับค่าล่าสุดเพียงค่าเดียว เพราะถ้าผู้ใช้เปลี่ยนใจภายหลัง ต้องมีประวัติย้อนหลังให้ตรวจสอบได้ว่าผู้ใช้เคยเลือกอะไรมาก่อน

ทีม Engineering ควรเก็บ Log เท่าที่จำเป็นต่อการพิสูจน์ว่าผู้ใช้เคยเลือกอะไร ไม่ควรผูก Log นี้กับข้อมูลระบุตัวตนที่ไม่จำเป็น เช่น ชื่อเต็มหรืออีเมลที่ไม่เกี่ยวกับการ Consent เอง การมี Log ไว้เป็นเพียงหลักฐานประกอบ ไม่ใช่สิ่งที่ยืนยันว่าการขอความยินยอมถูกต้องตามกฎหมายเสมอไป

พร้อมตรวจสอบความน่าเชื่อถือของเว็บไซต์คุณหรือยัง?

ทดลองใช้งาน trusty ฟรี ไม่ต้องใช้บัตรเครดิต เริ่มสแกนได้ทันที

ทดลองใช้งานระบบฟรี

ตัวอย่างการทดสอบ Template ก่อนขึ้น Production

ก่อนนำ Template นี้ไปใช้จริง ทีม Engineering ควรทดสอบด้วย Incognito Window อย่างน้อยสามรอบ คือรอบแรกดูหน้าตาแบนเนอร์ตอนโหลดครั้งแรก รอบที่สองกด Reject All แล้วตรวจ Network Tab ว่าไม่มี Request ไปยังโดเมน Analytics หรือ Marketing หลงเหลือ และรอบที่สาม Reload หน้าซ้ำเพื่อดูว่า Consent ที่เลือกไว้ยังคงอยู่ ไม่ถูกรีเซ็ตกลับไปแสดงแบนเนอร์ใหม่ทุกครั้ง

หากผลิตภัณฑ์มีหลาย Domain หรือ Subdomain ควรทำซ้ำขั้นตอนเดียวกันนี้กับทุก Domain แยกกัน แล้วบันทึกวันที่ทดสอบและเวอร์ชันของ Tag Manager Container ไว้เป็นหลักฐานประกอบการตรวจสอบภายในทีมเอง

ตัวอย่างการปรับ Template ตามขนาดหน้าจอ Mobile

บนหน้าจอ Mobile ที่พื้นที่จำกัด ปุ่ม Accept All และ Reject All ควรวางซ้อนกันในแนวตั้งแทนแนวนอน แต่ยังต้องรักษาขนาดและสีให้เท่ากันทั้งสองปุ่ม ตัวอย่างที่ผิดพลาดบ่อยคือทีม Design ย่อปุ่ม Reject All ให้เล็กลงเพื่อประหยัดพื้นที่ แต่ปุ่ม Accept All ยังคงขนาดเดิม ซึ่งถือว่าเสียหลัก Symmetry ไปเช่นเดียวกับบนหน้าจอ Desktop

ควรทดสอบ Template บนอุปกรณ์จริงอย่างน้อยหนึ่งรุ่น ไม่ใช่ดูแค่ Responsive Preview ในเบราว์เซอร์ เพราะบางครั้งปุ่มที่ดูปกติใน Preview อาจถูกคีย์บอร์ดหรือแถบเมนูของอุปกรณ์จริงบดบังจนผู้ใช้กด Reject All ไม่ถึงในบางรุ่น

คำถามที่พบบ่อย

ปุ่ม Reject All ควรอยู่ตำแหน่งไหนในแบนเนอร์คุกกี้ของ SaaS ควรอยู่ระดับเดียวกับปุ่ม Accept All ตั้งแต่แบนเนอร์ชั้นแรก ขนาด สี และตำแหน่งต้องมีน้ำหนักภาพเท่ากัน ไม่ซ่อนเป็นลิงก์ตัวเล็กหรือฝังในเมนูย่อยเพียงอย่างเดียว

Default Consent State ของ Google Tag Manager ควรตั้งเป็นอะไรก่อนผู้ใช้เลือก ควรตั้งเป็น denied สำหรับทุกหมวดที่ไม่จำเป็นต่อการทำงานของเว็บไซต์ แล้วค่อย Update เป็น granted เฉพาะหมวดที่ผู้ใช้กด Accept เท่านั้น

Session Replay Tool ควรจัดอยู่ในหมวดคุกกี้ใด ควรจัดเป็นหมวด Analytics หรือ Functional ตามลักษณะการเก็บข้อมูลจริง ไม่ควรจัดเป็น Necessary เพียงเพราะทีม Product มองว่าจำเป็นต่อการปรับปรุงผลิตภัณฑ์

Preference Center ต้องมีปุ่ม Reject All ด้วยหรือไม่ ต้องมี เพราะผู้ใช้ที่เคยกด Accept All ไปแล้วต้องสามารถเปลี่ยนใจภายหลังได้ง่ายเท่ากับตอนกด Accept ครั้งแรก ไม่ใช่มีปุ่ม Reject All เฉพาะในแบนเนอร์แรกเท่านั้น

เช็กลิสต์ปฏิบัติ

  • จัดปุ่ม Reject All ให้อยู่ระดับเดียวกับ Accept All ตั้งแต่แบนเนอร์ชั้นแรก
  • ตั้ง Default Consent State ของ Google Tag Manager เป็น denied สำหรับทุกหมวดที่ไม่จำเป็น
  • ตรวจ Mapping ระหว่างหมวดคุกกี้ของ CMP กับ Consent Type ของ Google Tag Manager ให้ตรงกัน
  • จัดหมวดเครื่องมือ Product Analytics และ Session Replay ตามพฤติกรรมเก็บข้อมูลจริง ไม่ใช่ตามชื่อทีมที่ใช้งาน
  • เพิ่มปุ่ม Reject All ใน Preference Center ที่เข้าถึงได้จาก Footer ไม่ใช่มีเฉพาะแบนเนอร์แรก
  • ทดสอบสีและขนาดปุ่ม Accept All กับ Reject All ให้มีน้ำหนักภาพเท่ากันก่อนเผยแพร่จริง

ข้อผิดพลาดที่พบบ่อย

  • วางปุ่ม Reject All เป็นลิงก์ตัวเล็กสีจางกว่าปุ่ม Accept All ที่เป็นปุ่มสีเข้มขนาดใหญ่
  • ตั้ง Default Consent State เป็น granted ทำให้สคริปต์ยิงก่อนผู้ใช้เลือก
  • จัดเครื่องมือ Session Replay หรือ Product Analytics เป็นหมวด Necessary ทั้งที่เก็บข้อมูลผู้ใช้จริง
  • ไม่ใส่ปุ่ม Reject All ใน Preference Center ทำให้ผู้ใช้ที่เคย Accept All เปลี่ยนใจภายหลังยาก

สรุป

Template ปุ่ม Reject All ที่ใช้ได้จริงสำหรับ SaaS ต้องเริ่มจากโครงสร้างแบนเนอร์ที่ให้น้ำหนักภาพเท่ากันระหว่าง Accept All กับ Reject All ต่อด้วย Consent Mode ที่ Default เป็น denied และ Mapping หมวดคุกกี้ที่ถูกต้อง ก่อนขยายไปถึง Preference Center ที่ให้ผู้ใช้เปลี่ยนใจภายหลังได้เช่นเดียวกัน

แหล่งข้อมูลอ้างอิง

คำถามที่พบบ่อย

ปุ่ม Reject All ควรอยู่ตำแหน่งไหนในแบนเนอร์คุกกี้ของ SaaS

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

Default Consent State ของ Google Tag Manager ควรตั้งเป็นอะไรก่อนผู้ใช้เลือก

ควรตั้งเป็น denied สำหรับทุกหมวดที่ไม่จำเป็นต่อการทำงานของเว็บไซต์ แล้วค่อย Update เป็น granted เฉพาะหมวดที่ผู้ใช้กด Accept เท่านั้น

Session Replay Tool ควรจัดอยู่ในหมวดคุกกี้ใด

ควรจัดเป็นหมวด Analytics หรือ Functional ตามลักษณะการเก็บข้อมูลจริง ไม่ควรจัดเป็น Necessary เพียงเพราะทีม Product มองว่าจำเป็นต่อการปรับปรุงผลิตภัณฑ์

Preference Center ต้องมีปุ่ม Reject All ด้วยหรือไม่

ต้องมี เพราะผู้ใช้ที่เคยกด Accept All ไปแล้วต้องสามารถเปลี่ยนใจภายหลังได้ง่ายเท่ากับตอนกด Accept ครั้งแรก ไม่ใช่มีปุ่ม Reject All เฉพาะในแบนเนอร์แรกเท่านั้น

เนื้อหานี้จัดทำขึ้นเพื่อให้ข้อมูลทั่วไปเท่านั้น ไม่ถือเป็นคำแนะนำทางกฎหมาย กรุณาปรึกษาผู้เชี่ยวชาญด้านกฎหมายหรือ Data Protection Officer ของหน่วยงานท่านก่อนนำไปปฏิบัติจริง

พร้อมตรวจสอบความน่าเชื่อถือของเว็บไซต์คุณหรือยัง?

ทดลองใช้งาน trusty ฟรี ไม่ต้องใช้บัตรเครดิต เริ่มสแกนได้ทันที