trusty — Website Trust Platform
Tracking & MarTech

ตัวอย่างและ Template Google Tag Manager Consent สำหรับร้านค้าออนไลน์และ E-commerce

รวมตัวอย่างและ Template การตั้งค่า Google Tag Manager Consent สำหรับร้านค้าออนไลน์และ E-commerce ตั้งแต่ Consent Initialization Tag ไปจนถึง Trigger ที่ต้องรอ Consent ก่อนยิง

📅 เผยแพร่ 12 สิงหาคม 2569อัปเดตล่าสุด 12 สิงหาคม 2569✍️ เขียนโดย trusty Editorial Team⏱ อ่าน 6 นาที
Person working on a laptop with business analytics displayed on the screen.
ภาพโดย Shoper .pl จาก Pexels

💬 สรุปสั้น ๆ

Template GTM Consent สำหรับ E-commerce เริ่มจากตั้ง Consent Initialization Tag ให้ยิงก่อน Tag อื่นทุกตัว กำหนด Default Consent State เป็น denied แล้วอัปเดตตามที่ผู้ใช้เลือกในแบนเนอร์ ก่อนแม็ปหมวด Cookie กับ Consent Type ของ Google และทดสอบด้วย Preview Mode ทุกครั้งก่อน Publish Container จริง

ร้านค้าออนไลน์ที่ยิงโฆษณาผ่าน Google Ads และวัดผลด้วย GA4 มักตั้งค่า GTM Consent แบบเดาทาง — ก็อป Container จากร้านอื่นมาปรับชื่อ แล้วเข้าใจว่า Reject All จะบล็อก Tag ทุกตัวโดยอัตโนมัติ ความจริงคือ Consent Mode ทำงานตาม Configuration ที่ตั้งไว้ในแต่ละ Tag เท่านั้น ถ้า Trigger หรือ Consent Setting ผิด Tag ก็ยังยิงได้แม้ผู้ใช้กด Reject

บทความนี้รวบรวมโครงสร้าง Template ที่ทีม E-commerce ใช้เป็นจุดตั้งต้นได้จริง พร้อมระบุว่าส่วนไหนต้องปรับตามธุรกิจ และส่วนไหนต้องทดสอบซ้ำก่อนเผยแพร่ Container Production

Google Consent Mode กำหนด Consent Type หลักที่ Tag ของ Google อ่านค่า ได้แก่ ad_storage, analytics_storage, ad_user_data และ ad_personalization ทีมต้องแม็ปหมวด Cookie ที่แบนเนอร์ของ trusty ใช้ (Necessary, Functional, Analytics, Marketing) เข้ากับ Consent Type เหล่านี้ให้ตรงกัน

หมวด CookieConsent Type ที่เกี่ยวข้องตัวอย่าง Tag
Necessaryไม่ต้องขอ ConsentSession, Cart, Consent Preference
Analyticsanalytics_storageGA4 Configuration Tag
Marketingad_storage, ad_user_data, ad_personalizationGoogle Ads Conversion, Remarketing, Meta Pixel

Tag แรกที่ Container ต้องมีคือ Consent Initialization Tag ซึ่งตั้ง Default Consent State ก่อนที่ Tag อื่นจะประมวลผล ตัวอย่าง Firing Sequence ที่ใช้ได้จริงในร้านค้าออนไลน์:

  • Tag Type: Google Tag หรือ Consent Initialization Tag ตามที่ Google Tag Platform รองรับปัจจุบัน
  • Trigger: Consent Initialization - All Pages (ต้องยิงก่อน Tag อื่นเสมอ)
  • Default State: ad_storage=denied, analytics_storage=denied จนกว่าผู้ใช้จะเลือก
  • Region: ระบุตามประเทศที่ต้องบังคับใช้ Default แบบ denied หากธุรกิจให้บริการหลายประเทศ

ตัวอย่างนี้เป็นโครงร่างเชิงแนวคิดสำหรับให้ทีม Dev ปรับใช้จริงในบัญชี GTM ของตนเอง ไม่ใช่โค้ดสำเร็จรูปที่ก็อปแล้วใช้ได้ทันทีในทุก Container

Tag ที่เกี่ยวข้องกับ Marketing และ Analytics ควรตั้งเงื่อนไข Consent โดยตรงในหน้า Consent Settings ของ Tag นั้น ไม่ใช่พึ่ง Trigger เพียงอย่างเดียว วิธีที่แนะนำคือเปิด Additional Consent Checks แล้วเลือก Consent Type ที่จำเป็นสำหรับ Tag นั้นโดยเฉพาะ

ตัวอย่างที่พบบ่อยในร้านค้าออนไลน์ — Tag ยิง Remarketing ไปยัง Google Ads ต้องรอทั้ง ad_storage และ ad_user_data ถ้าตั้งรอแค่ตัวเดียว Tag จะยิงก่อนผู้ใช้กด Accept ครบทุกหมวด

กรณีเฉพาะของร้านค้าออนไลน์ที่ Template ทั่วไปมักไม่ครอบคลุม

Checkout อยู่คนละโดเมนกับหน้าร้าน

ร้านค้าที่ใช้ Checkout Platform แยกโดเมน (เช่น ระบบชำระเงินของผู้ให้บริการภายนอก) ต้องตรวจว่า Consent ที่ผู้ใช้เลือกไว้บนหน้าร้านถูกส่งต่อไปยังโดเมน Checkout หรือไม่ ถ้าไม่มีการส่งต่อ Consent ผู้ใช้อาจต้องเลือกใหม่ หรือ Tag บนหน้า Checkout อาจยิงโดยไม่มี Consent เลย

แอปเสริมจากผู้ให้บริการภายนอกยิง Pixel เอง

แอปตะกร้าสินค้า รีวิว หรือแชทที่ติดตั้งผ่าน App Store ของแพลตฟอร์มร้านค้า บางตัวฝัง Script ตรงในธีมโดยไม่ผ่าน GTM เลย กรณีนี้ Consent Mode ใน Container ควบคุมไม่ได้ ทีมต้องตรวจแยกว่า Script ใดมาจาก GTM และ Script ใดฝังตรงในธีม

Retargeting ตะกร้าสินค้าที่ถูกทิ้งไว้

ฟีเจอร์ Cart Abandonment ที่ส่งอีเมลหรือ Retargeting Ad มักต้องเก็บพฤติกรรมผู้ใช้ก่อนเช็คเอาต์ ทีมมาร์เก็ตติ้งต้องยืนยันว่า Tag ที่เกี่ยวข้องรอ Consent หมวด Marketing ก่อนเก็บข้อมูลนี้ ไม่ใช่ถือว่าเป็น Necessary เพราะ “ธุรกิจต้องการข้อมูลนี้”

GA4 Configuration Tag

Tag นี้ควรตั้งเงื่อนไข Consent ให้รอ analytics_storage เป็นอย่างน้อย ถ้าธุรกิจเปิดใช้ Google Signals หรือ Advertising Features ใน GA4 ต้องเพิ่มเงื่อนไขรอ ad_storage ด้วย เพราะข้อมูลจะถูกใช้เพื่อการโฆษณาไม่ใช่แค่การวัดผลทั่วไป

Tag วัด Conversion เมื่อลูกค้าสั่งซื้อสำเร็จควรรอทั้ง ad_storage และ ad_user_data เพราะ Google ใช้ค่านี้กำหนดว่าจะส่งข้อมูล Conversion แบบเต็มรูปแบบหรือแบบ Modeled Data เมื่อผู้ใช้ยังไม่ให้ Consent ครบ ทีมควรรู้ว่า Modeled Data ไม่ใช่ตัวเลข Conversion จริงที่กู้กลับมาได้ครบทุก Session

Meta Pixel หรือ Third-party Pixel ผ่าน GTM

Pixel จากแพลตฟอร์มโฆษณาอื่นนอกเหนือ Google ไม่ได้อยู่ภายใต้ Google Consent Mode โดยตรง ทีมต้องสร้างเงื่อนไข Trigger แยกเองโดยอ้างอิงค่าที่แบนเนอร์ของ trusty บันทึกไว้ (เช่น Custom Event หรือ Data Layer Variable ที่บอกว่าโปรดใช้หมวด Marketing) แล้วผูก Trigger ของ Tag นี้ให้ตรวจสอบค่านั้นก่อนยิงทุกครั้ง

Live Chat และ Chatbot สำหรับตอบคำถามลูกค้า

วิดเจ็ตแชทบางตัวส่งข้อมูลพฤติกรรมผู้ใช้ไปยังผู้ให้บริการภายนอกทันทีที่โหลดหน้าเว็บ แม้จะดูเหมือนเป็นฟีเจอร์สนับสนุนลูกค้ามากกว่า Marketing แต่ถ้ามีการใช้ข้อมูลเพื่อ Retargeting ทีมต้องจัดเป็นหมวด Marketing และรอ Consent เช่นเดียวกับ Pixel โฆษณา

ตารางทดสอบ Trigger ตามสถานการณ์จริง

สถานการณ์ผลที่คาดหวังวิธีตรวจ
ยังไม่กด Consent ใด ๆTag Marketing และ Analytics ไม่ยิงเปิด Preview Mode ก่อน Interact กับแบนเนอร์
กด Reject Allเฉพาะ Tag Necessary ยิงตรวจ Tag ที่ยิงใน Preview Mode หลังกด Reject
กด Accept AllTag ทุกหมวดที่เกี่ยวข้องยิงตามลำดับตรวจว่า Consent State อัปเดตก่อน Tag ยิง
เลือกเฉพาะ Analyticsเฉพาะ GA4 ยิง ส่วน Marketing ไม่ยิงตรวจ Consent Setting ของแต่ละ Tag แยกกัน

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

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

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

ทดสอบ Template ก่อน Publish Container จริง

หลังวาง Template แล้ว ต้องทดสอบด้วย Preview Mode และเครื่องมือ Tag Assistant อย่างน้อย 3 สถานการณ์ ได้แก่ ก่อนผู้ใช้เลือกใด ๆ, หลังกด Reject All และหลังกด Accept All แล้วรีเฟรชหน้าใหม่เพื่อยืนยันว่า Consent ที่บันทึกไว้ยังถูกอ่านค่าถูกต้อง

ทีมควรตรวจ แนวทางแก้ปัญหา Google Tag Manager Consent สำหรับ E-commerce ควบคู่กันหากพบว่า Tag ยังยิงผิดเงื่อนไขหลังตั้ง Template แล้ว เพราะสาเหตุมักมาจากรายละเอียดที่ Template เดียวไม่ครอบคลุมทุกกรณี

trusty ช่วยส่วนไหนของกระบวนการนี้ได้บ้าง

แบนเนอร์ของ trusty บล็อก Tracking Script ตาม Consent ที่ผู้ใช้เลือกได้เมื่อธุรกิจตั้งค่าหมวด Cookie และเชื่อม Tag ให้ตรงกับ Category จริง — เป็นความสามารถที่ต้องกำหนดค่า (Status B) ไม่ใช่ทำงานอัตโนมัติทันทีที่ติดตั้งโดยไม่ตรวจ Tag ที่มีอยู่เดิม ส่วน Consent Log บันทึกเวลาและตัวเลือกที่ผู้ใช้กดไว้เป็นหลักฐานประกอบ แต่ไม่ยืนยันว่า Tag ทุกตัวใน Container ถูกตั้งค่าให้เคารพ Consent นั้นจริง ทีมยังต้องตรวจ Tag แต่ละตัวด้วยตนเองหรือผ่าน PDPA Readiness Scan ซึ่งเป็นการตรวจเบื้องต้น ไม่ใช่การตรวจสอบเชิงลึกทุก Tag ในทุกหน้า

อ่านภาพรวมเพิ่มเติมได้ที่ คู่มือ Google Tag Manager Consent สำหรับร้านค้าออนไลน์ และดูหัวข้ออื่นในกลุ่ม Tracking และ MarTech

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

  • ตรวจว่า Consent Initialization Tag ยิงก่อน Tag อื่นทุกตัวใน Container
  • แม็ปหมวด Cookie ของแบนเนอร์กับ Consent Type ของ Google ให้ครบทั้งสี่ตัว
  • ตั้ง Additional Consent Checks ในแต่ละ Tag ที่เกี่ยวกับ Marketing และ Analytics
  • ตรวจว่า Consent ถูกส่งต่อไปยังโดเมน Checkout หากใช้ระบบแยกโดเมน
  • ทดสอบด้วย Preview Mode ทั้งกรณี Accept All, Reject All และยังไม่เลือก
  • ตรวจสอบว่าแอปเสริมจาก App Store ไม่ได้ฝัง Pixel นอกเหนือการควบคุมของ GTM
  • รีเฟรชหน้าใหม่หลังเลือก Consent เพื่อยืนยันว่าค่าที่บันทึกไว้ถูกอ่านซ้ำถูกต้อง

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

  • ก็อป Container จากร้านอื่นทั้งชุดโดยไม่ตรวจ Tag ที่มีอยู่จริงในเว็บของตัวเอง
  • ตั้ง Consent Check ไว้ที่ Trigger แต่ลืมตั้งใน Consent Settings ของ Tag เอง
  • เข้าใจว่า Cart Abandonment Tracking เป็น Necessary เพราะธุรกิจต้องการข้อมูล
  • ไม่ทดสอบ Checkout ที่อยู่คนละโดเมนหลังตั้ง Consent Mode เสร็จ
  • Publish Container โดยไม่ผ่าน Preview Mode เพราะรีบเปิดแคมเปญ

สรุป

Template ในบทความนี้เป็นจุดเริ่มต้นสำหรับตั้งค่า Consent Initialization Tag, การแม็ปหมวด Cookie และ Trigger ที่ต้องรอ Consent ในร้านค้าออนไลน์ แต่ทุก Container มีรายละเอียดต่างกันตามแอปเสริมและระบบ Checkout ที่ใช้ ทีมควรทดสอบด้วย Preview Mode ทุกครั้งก่อน Publish และให้ผู้เชี่ยวชาญด้าน MarTech ทบทวน Container จริงเป็นระยะ

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

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

Template Consent ที่ใช้กับร้านอื่นเอามาใช้กับร้านค้าตัวเองได้เลยไหม

ใช้เป็นจุดตั้งต้นได้ แต่ต้องตรวจ Tag ที่มีอยู่จริงในเว็บก่อนเสมอ เพราะแอปเสริมและระบบ Checkout ของแต่ละร้านไม่เหมือนกัน Template เดียวจึงไม่ครอบคลุมทุก Container

Consent Initialization Tag ต้องยิงก่อน Tag อื่นเสมอหรือไม่

ใช่ Tag นี้ต้องตั้ง Default Consent State ก่อน Tag อื่นจะประมวลผล ถ้าลำดับผิด Tag ตัวอื่นอาจยิงโดยยังไม่มี Default Consent กำกับไว้

ทำไม Reject All แล้ว Tag บางตัวยังยิงอยู่

ส่วนใหญ่เกิดจาก Tag นั้นไม่ได้ตั้ง Consent Check ไว้ในหน้า Consent Settings ของตัว Tag เอง หรือ Script ถูกฝังตรงในธีมนอกเหนือการควบคุมของ GTM

Consent ที่เลือกบนหน้าร้านจะส่งต่อไปหน้า Checkout คนละโดเมนได้อัตโนมัติไหม

ไม่เสมอไป ต้องตรวจสอบเป็นกรณีไปว่าระบบ Checkout รับค่า Consent ต่อจากโดเมนหลักหรือไม่ หากไม่มีการส่งต่อ ผู้ใช้อาจต้องเลือกใหม่บนโดเมนนั้น

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

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

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