ยิงแอดวันละ 2 พันผ่าน Facebook แต่ Event ที่นับได้กลับสูงกว่ายอดขายจริงเกือบเท่าตัว

สรุปสั้น ๆ
Event ซ้ำใน Meta CAPI ส่วนใหญ่เกิดจากการส่งข้อมูล Event เดียวกันผ่านทั้ง Pixel บนหน้าเว็บและ CAPI ฝั่งเซิร์ฟเวอร์โดยไม่มี Event ID ที่สอดคล้องกัน ทำให้ Meta นับเป็นสอง Event แยกกันทั้งที่เป็นเหตุการณ์เดียวกันจากผู้ใช้คนเดียว
ทีมการตลาดที่ยิงโฆษณา Facebook วันละหลายพันบาทมักตั้งข้อสังเกตแปลก ๆ เมื่อดูรายงาน Event ใน Meta Events Manager แล้วพบว่าตัวเลข Conversion ที่นับได้สูงกว่ายอดขายจริงที่ทีมขายบันทึกไว้เกือบเท่าตัว ทั้งที่ไม่มีเหตุผลว่าทำไมยอดจะสูงกว่าความเป็นจริงได้
หลังจากไล่ตรวจสอบ หลายทีมพบว่าสาเหตุไม่ได้อยู่ที่ระบบนับผิดพลาดหรือมีคนสั่งซื้อซ้ำจริง แต่เป็นเพราะ Event เดียวกันถูกส่งเข้า Meta สองครั้งจากสองช่องทางที่ต่างกัน คือผ่าน Pixel บนหน้าเว็บไซต์และผ่าน CAPI ฝั่งเซิร์ฟเวอร์พร้อมกัน โดยไม่มีกลไกบอก Meta ว่าเป็น Event เดียวกัน
บทความนี้อธิบายว่าทำไม Event ถึงถูกนับซ้ำได้ และควรออกแบบระบบยังไงเพื่อลด Missing Data ระหว่างข้อมูลจากเว็บไซต์กับข้อมูลที่มาจากการปิดการขายผ่าน LINE ให้สอดคล้องกัน
ทำไม Event ถึงถูกนับซ้ำเมื่อใช้ทั้ง Pixel และ CAPI
หลายธุรกิจเลือกใช้ทั้ง Pixel บนหน้าเว็บไซต์และ CAPI ฝั่งเซิร์ฟเวอร์ควบคู่กัน เพราะแต่ละช่องทางมีจุดแข็งต่างกัน Pixel จับพฤติกรรมผู้ใช้บนหน้าเว็บได้ละเอียด ในขณะที่ CAPI ช่วยจับ Event ที่เกิดขึ้นนอกเว็บไซต์ เช่น การปิดการขายผ่าน LINE ได้ครบถ้วนกว่า
แต่หากทั้งสองช่องทางส่ง Event สำหรับเหตุการณ์เดียวกันโดยไม่มีตัวระบุร่วมกัน Meta จะไม่มีทางรู้ได้เลยว่า Event ที่ได้รับจาก Pixel กับ Event ที่ได้รับจาก CAPI เป็นเหตุการณ์เดียวกัน ระบบจึงนับเป็นสอง Conversion แยกกัน ทำให้ตัวเลขที่รายงานสูงกว่าความเป็นจริงอย่างมีนัยสำคัญ
กลไก Event ID ที่ใช้ป้องกันการนับซ้ำ
Meta มีกลไกที่เรียกว่า Deduplication ซึ่งเป็นแนวคิดเดียวกับการป้องกัน Event ซ้ำที่ใช้กันทั่วไปในระบบ Conversion Tracking โดยใช้ Event ID เป็นตัวระบุว่า Event ที่ส่งมาจากสองช่องทางเป็นเหตุการณ์เดียวกันหรือไม่ หากทั้ง Pixel และ CAPI ส่ง Event พร้อมกับ Event ID เดียวกันสำหรับเหตุการณ์เดียวกัน ระบบจะรวมเป็น Event เดียวโดยอัตโนมัติ ไม่นับซ้ำ
การสร้าง Event ID ที่ถูกต้องต้องอาศัยการออกแบบระบบให้สร้างรหัสเฉพาะสำหรับแต่ละเหตุการณ์ตั้งแต่ต้น แล้วส่งรหัสเดียวกันนี้ไปพร้อมกับทั้ง Pixel และ CAPI หากสองช่องทางสร้างรหัสแยกกันเองโดยไม่ใช้รหัสร่วม ปัญหา Event ซ้ำจะยังคงเกิดขึ้นต่อไปแม้จะตั้งค่า Event ID ไว้แล้วก็ตาม
ข้อผิดพลาดที่พบบ่อยในการตั้งค่าป้องกัน Event ซ้ำ
- สร้าง Event ID แยกกันระหว่าง Pixel และ CAPI แทนที่จะใช้รหัสเดียวกันสำหรับเหตุการณ์เดียวกัน
- ตั้งค่า Event ID เฉพาะบาง Event เช่น Purchase แต่ลืมตั้งให้ครบทุก Event ที่ส่งผ่านทั้งสองช่องทาง
- ใช้เวลา (Timestamp) เป็นส่วนหนึ่งของ Event ID โดยที่เวลาที่ Pixel กับ CAPI บันทึกไม่ตรงกันเป๊ะ ทำให้รหัสที่สร้างขึ้นต่างกัน ซึ่งเป็นรูปแบบหนึ่งของปัญหา Deduplication Key ไม่ตรงกันที่พบได้บ่อยในหลายแพลตฟอร์ม
- ไม่ทดสอบผ่าน Test Events ก่อนเปิดใช้งานจริง ทำให้ไม่รู้ว่าการตั้งค่า Deduplication ทำงานถูกต้องหรือไม่
วิธีตรวจสอบว่าระบบ Deduplication ทำงานถูกต้อง
- เข้าไปที่ Meta Events Manager แล้วดูรายละเอียด Event แต่ละรายการว่ามีการระบุว่าเป็น Event ที่ถูก Deduplicate หรือไม่ในหน้ารายละเอียด
- ทดสอบส่ง Event ตัวอย่างพร้อม Event ID เดียวกันผ่านทั้ง Pixel และ CAPI ในโหมด Test Events แล้วตรวจสอบว่า Meta รวมเป็น Event เดียวหรือไม่
- เปรียบเทียบจำนวน Event รวมกับยอดขายจริงในช่วงเวลาเดียวกัน หากตัวเลขยังคงสูงกว่าความเป็นจริงมาก ควรตรวจสอบว่ามี Event ใดที่ยังไม่มี Event ID ครบถ้วน
- ตรวจสอบ Log การส่งข้อมูลฝั่งเซิร์ฟเวอร์ว่า Event ID ที่สร้างขึ้นสอดคล้องกับที่ Pixel ส่งไปจริงหรือไม่ในทุกกรณี
ตัวอย่างสมมติ: เปรียบเทียบก่อนและหลังตั้งค่า Event ID
ตัวเลขในตารางนี้เป็นตัวอย่างสมมติเพื่อประกอบกรอบวิเคราะห์เท่านั้น ไม่ใช่ข้อมูลจริงจากลูกค้ารายใด แต่สะท้อนรูปแบบที่พบได้บ่อยเมื่อทีมงานแก้ปัญหา Event ซ้ำได้สำเร็จ ตัวเลขที่เหลือหลังแก้ไขมักยังไม่ตรงเป๊ะ 100% เพราะยังมีปัจจัยอื่นเช่นการซื้อซ้ำจริงของลูกค้าบางราย แต่จะใกล้เคียงความจริงมากขึ้นอย่างชัดเจน
| ช่วงเวลา | ยอดขายจริง | Event ที่นับได้ใน Meta (ตัวอย่างสมมติ) |
|---|---|---|
| ก่อนตั้งค่า Event ID (ตัวอย่างสมมติ) | 150 รายการ/เดือน | 280 รายการ (สูงกว่าความจริงเกือบเท่าตัว) |
| หลังตั้งค่า Event ID (ตัวอย่างสมมติ) | 150 รายการ/เดือน | 158 รายการ (ใกล้เคียงความจริงมากขึ้น) |
ลด Missing Data ระหว่างข้อมูลเว็บกับข้อมูลจาก LINE
นอกจากปัญหา Event ซ้ำแล้ว อีกด้านหนึ่งที่ต้องดูแลคือช่องว่างของข้อมูลระหว่างสิ่งที่เกิดขึ้นบนเว็บไซต์กับสิ่งที่เกิดขึ้นในการสนทนา LINE เพราะบางครั้งลูกค้าอาจเข้าเว็บไซต์ก่อนแล้วค่อยย้ายไปคุยต่อใน LINE โดยไม่มีการเชื่อมโยงข้อมูลระหว่างสองจุดนี้ ทำให้ Event จาก LINE ที่ส่งผ่าน CAPI ไม่มีข้อมูลบริบทจากการเข้าเว็บไซต์ครั้งแรกเลย
การลดช่องว่างนี้ทำได้โดยออกแบบให้มีจุดเชื่อมโยงระหว่างสองช่องทาง ซึ่งใกล้เคียงกับหลักการการป้องกัน Conversion ซ้ำฝั่งเซิร์ฟเวอร์ เช่น ส่งพารามิเตอร์ที่ระบุตัวตนชั่วคราวของผู้ใช้ไปพร้อมกับลิงก์ที่นำไปสู่ LINE เพื่อให้ระบบหลังบ้านสามารถเชื่อมโยงข้อมูลการเข้าเว็บไซต์กับการสนทนาใน LINE ของผู้ใช้รายเดียวกันได้ ลดทั้งปัญหา Event ซ้ำและปัญหาข้อมูลขาดหายไปพร้อมกัน
ทีมที่ทำเรื่องนี้ได้ดีมักออกแบบให้ตัวระบุตัวตนชั่วคราวนี้มีอายุการใช้งานที่เหมาะสม ไม่สั้นเกินไปจนหมดอายุก่อนที่ผู้ใช้จะปิดการขาย และไม่ยาวเกินไปจนกลายเป็นความเสี่ยงด้านความเป็นส่วนตัว โดยทั่วไปมักกำหนดไว้ในช่วงหลายวันถึงหลายสัปดาห์ขึ้นอยู่กับวงจรการตัดสินใจซื้อของธุรกิจแต่ละประเภท
มุมมองจากทีมที่ดูแลการตั้งค่า Deduplication ให้ลูกค้าหลายราย
ทีมที่ดูแลการเชื่อมต่อ Meta CAPI ให้ลูกค้าหลายรายและเข้าใจหลักการการจัดการข้อมูลซ้ำเป็นอย่างดี มักตั้งข้อสังเกตว่าปัญหา Event ซ้ำเป็นปัญหาที่ตรวจพบยากกว่าปัญหา Event ไม่ขึ้น เพราะตัวเลขในรายงานดูเหมือนมีข้อมูลเข้ามาปกติ ไม่มีสัญญาณผิดปกติชัดเจนเหมือนกรณีที่ Event หายไปเลย ทีมงานจึงต้องอาศัยการเทียบยอดขายจริงกับตัวเลข Event เป็นประจำเพื่อจับความผิดปกตินี้ให้ได้
บทเรียนที่ได้จากทีมเหล่านี้คือควรกำหนดมาตรฐานการสร้าง Event ID ตั้งแต่เริ่มออกแบบระบบ ไม่ใช่เพิ่มเข้ามาทีหลังเมื่อพบปัญหาแล้ว เพราะการแก้ไขระบบที่ใช้งานจริงอยู่แล้วมักซับซ้อนกว่าการออกแบบให้ถูกต้องตั้งแต่ต้น และมีความเสี่ยงที่จะกระทบข้อมูลย้อนหลังที่เคยส่งไปแล้วด้วย เมื่อพบปัญหานี้ในบัญชีลูกค้าใหม่ ทีมงานจึงมักตรวจสอบการตั้งค่า Event ID เป็นขั้นตอนแรกก่อนดำเนินการอย่างอื่นเสมอ
ผลกระทบของ Event ซ้ำต่อการตัดสินใจงบโฆษณา
Event ที่ถูกนับซ้ำไม่ใช่แค่ทำให้ตัวเลขในรายงานดูสวยกว่าความเป็นจริง แต่ยังส่งผลโดยตรงต่อระบบประมูลราคาอัตโนมัติของ Facebook Ads ที่ใช้ข้อมูล Conversion เป็นสัญญาณหลักในการเรียนรู้ หากระบบเข้าใจว่าแคมเปญหนึ่งมีอัตราการปิดการขายสูงกว่าความเป็นจริงเกือบเท่าตัวเพราะ Event ซ้ำ ระบบอาจเพิ่มการเสนอราคาให้กับกลุ่มเป้าหมายของแคมเปญนั้นมากเกินความจำเป็น ทำให้ต้นทุนต่อ Conversion ที่แท้จริงสูงกว่าที่ทีมงานคาดการณ์ไว้มาก
ตัวอย่างสมมติ หากทีมการตลาดตัดสินใจเพิ่มงบให้แคมเปญที่ดูเหมือนมีต้นทุนต่อ Conversion ต่ำที่สุดในบรรดาแคมเปญทั้งหมด แต่ตัวเลขที่ต่ำนั้นเกิดจาก Event ซ้ำเพียงอย่างเดียว การเพิ่มงบครั้งนี้จะทำให้ธุรกิจเสียงบไปกับแคมเปญที่ประสิทธิภาพจริงไม่ได้ดีอย่างที่คิด ในขณะที่แคมเปญอื่นที่อาจมีประสิทธิภาพจริงดีกว่ากลับไม่ได้รับงบเพิ่มเพราะตัวเลขที่รายงานดูด้อยกว่า
การสื่อสารระหว่างทีมเทคนิคกับทีมการตลาดเมื่อพบความผิดปกติ
เมื่อทีมการตลาดสังเกตเห็นว่าตัวเลข Event สูงผิดปกติเทียบกับยอดขายจริง สิ่งสำคัญคือต้องสื่อสารกับทีมเทคนิคหรือนักพัฒนาที่ดูแลการเชื่อมต่อ CAPI ทันที พร้อมกับข้อมูลตัวอย่างที่ชัดเจน เช่น ช่วงเวลาที่พบความผิดปกติและตัวเลขที่เปรียบเทียบกัน เพื่อให้ทีมเทคนิคสามารถไล่ตรวจสอบได้ตรงจุดโดยไม่ต้องเดา
ในทางกลับกัน ทีมเทคนิคก็ควรอธิบายให้ทีมการตลาดเข้าใจหลักการทำงานของ Deduplication อย่างคร่าว ๆ เพื่อให้ทั้งสองฝ่ายสามารถทำงานร่วมกันได้อย่างมีประสิทธิภาพเมื่อเกิดปัญหาลักษณะนี้ในอนาคต แทนที่จะต้องอธิบายรายละเอียดทางเทคนิคใหม่ทุกครั้งที่มีปัญหาเกิดขึ้น
ทำแบบนี้แล้วพัง เพราะ… บทเรียนจากทีมที่เจอปัญหาซ้ำ
- สร้าง Event ID แยกกันระหว่าง Pixel และ CAPI โดยไม่ใช้รหัสร่วม — พังเพราะ Meta ไม่สามารถรู้ได้ว่าเป็นเหตุการณ์เดียวกัน จึงนับเป็นสอง Event
- ตั้งค่า Deduplication เฉพาะบาง Event แล้วคิดว่าครอบคลุมทั้งระบบ — พังเพราะ Event ที่เหลือยังคงถูกนับซ้ำต่อไปโดยไม่มีใครรู้ตัว
- ไม่เทียบยอดขายจริงกับตัวเลข Event เป็นประจำ — พังเพราะปัญหา Event ซ้ำไม่มีสัญญาณเตือนชัดเจน กว่าจะรู้ตัวก็สะสมมานานหลายเดือน
- เพิ่มงบให้แคมเปญตามตัวเลข Conversion โดยไม่ตรวจสอบว่ามี Event ซ้ำหรือไม่ — พังเพราะการตัดสินใจงบผิดพลาดจากข้อมูลที่สูงเกินความเป็นจริง
สรุป
Event ที่นับได้สูงกว่ายอดขายจริงมักไม่ได้เกิดจากระบบนับผิด แต่เกิดจากการส่ง Event เดียวกันซ้ำผ่านทั้ง Pixel และ CAPI โดยไม่มี Event ID ที่สอดคล้องกันเพื่อให้ Meta รู้ว่าเป็นเหตุการณ์เดียวกัน
การแก้ปัญหาต้องเริ่มจากออกแบบระบบสร้าง Event ID ให้ถูกต้องตั้งแต่ต้น และทดสอบผ่าน Test Events ก่อนเปิดใช้งานจริงทุกครั้ง พร้อมทั้งเทียบยอดขายจริงกับตัวเลข Event เป็นประจำเพื่อจับความผิดปกติได้ทันก่อนที่จะกระทบการตัดสินใจงบโฆษณาในภาพรวม
- Event ซ้ำเกิดจากการส่งข้อมูลเดียวกันผ่านสองช่องทางโดยไม่มี Event ID ร่วมกัน
- ควรสร้าง Event ID ตั้งแต่จุดแรกที่เหตุการณ์เกิดขึ้น แล้วใช้รหัสเดียวกันในทุกช่องทางที่ส่ง
- ควรเทียบยอดขายจริงกับตัวเลข Event เป็นประจำเพราะปัญหานี้ไม่มีสัญญาณเตือนชัดเจน
- อย่าตัดสินใจปรับงบโฆษณาตามตัวเลข Conversion โดยไม่ตรวจสอบว่ามี Event ซ้ำปนอยู่หรือไม่
คำถามที่พบบ่อย
Event ID ต้องสร้างยังไงให้ถูกต้อง
ควรสร้างเป็นรหัสเฉพาะสำหรับแต่ละเหตุการณ์ตั้งแต่จุดแรกที่เหตุการณ์เกิดขึ้น แล้วส่งรหัสเดียวกันนี้ไปพร้อมกับทั้ง Pixel และ CAPI ไม่ควรให้แต่ละช่องทางสร้างรหัสแยกกันเอง
ถ้าใช้ CAPI อย่างเดียวไม่มี Pixel เลย จำเป็นต้องตั้ง Event ID ไหม
หากใช้ช่องทางเดียวไม่มีความเสี่ยงเรื่องนับซ้ำจากสองช่องทาง แต่ยังควรตั้ง Event ID ไว้เผื่อกรณีที่ระบบส่งข้อมูลซ้ำเองโดยไม่ตั้งใจ เช่น การส่งซ้ำเมื่อระบบพยายามส่งใหม่หลังเชื่อมต่อล้มเหลวชั่วคราว
Deduplication ทำงานข้ามบัญชีโฆษณาได้ไหม
ไม่ได้ กลไก Deduplication ทำงานภายในขอบเขตของ Pixel หรือบัญชีโฆษณาเดียวกันเท่านั้น หากส่ง Event ไปยังบัญชีที่ต่างกัน ระบบจะไม่สามารถรวม Event ให้อัตโนมัติได้เลย
ตรวจสอบยังไงว่า Event ถูกนับซ้ำจริงไม่ใช่ลูกค้าซื้อซ้ำจริง
ควรเทียบรายชื่อลูกค้าหรือหมายเลขคำสั่งซื้อระหว่างข้อมูลที่ส่งผ่าน Pixel กับ CAPI หากพบหมายเลขคำสั่งซื้อเดียวกันปรากฏสองครั้งในสอง Event แยกกัน เป็นสัญญาณชัดเจนว่าเกิดการนับซ้ำ ไม่ใช่การซื้อซ้ำจริง
ทีมเล็กที่ไม่มีนักพัฒนาควรเริ่มตรวจสอบยังไง
เริ่มจากเปรียบเทียบยอดขายจริงกับตัวเลข Event ใน Meta Events Manager เป็นประจำทุกสัปดาห์ หากพบว่าตัวเลขต่างกันมากผิดปกติ ค่อยขอความช่วยเหลือจากนักพัฒนาภายนอกเพื่อตรวจสอบการตั้งค่า Event ID โดยละเอียดต่อไป
ลองตรวจด้วยตัวเอง
Meta Ads → LINE Checker
ตรวจว่า fbclid, Pixel และเส้นทางเข้า LINE ของคุณพร้อมให้ Meta วัด Conversion หรือยัง
ตรวจความพร้อมฟรี →ใช้ฟรี ไม่ต้องสมัคร ไม่เก็บข้อมูลที่คุณกรอก
อ่านต่อแบบเจาะลึก
รู้ว่าโฆษณาเข้า LINE ทำยอดขายจริงแค่ไหน
linli ติดตามลูกค้าตั้งแต่คลิกโฆษณา กดเพิ่มเพื่อน ทักแชท จนปิดการขาย พร้อมส่ง Conversion กลับแพลตฟอร์มโฆษณา เริ่มฟรี 14 วัน
ทดลองใช้ฟรี 14 วันบทความที่เกี่ยวข้อง

ยอดขายที่นับได้จาก LINE สูงกว่าจำนวนออเดอร์จริงในระบบร้านเกือบสองเท่า

ลูกค้าถามว่าทำไมยอดขายไปติดเครดิตให้แคมเปญที่ไม่เกี่ยวข้องเลย
