← กลับไปหน้าบทความ
ส่ง Conversion กลับ

Pixel กับ CAPI ยิง Event เดียวกัน ทำยังไงไม่ให้ Meta นับซ้ำ

ทีมบรรณาธิการ linli12 ส.ค. 04:51อัปเดต 12 ส.ค. 04:51อ่าน 3 นาที
Pixel กับ CAPI ยิง Event เดียวกัน ทำยังไงไม่ให้ Meta นับซ้ำ
บทความนี้จัดทำเพื่อความรู้ ชื่อธุรกิจ ตัวเลข หรือบทสนทนาที่ไม่มีแหล่งอ้างอิงกำกับเป็นกรณีตัวอย่างเพื่ออธิบายแนวคิด ดูรายละเอียดที่ นโยบายกองบรรณาธิการ

สรุปสั้น ๆ

เมื่อธุรกิจส่ง Event Lead ทั้งจาก Pixel บนเว็บและจาก Conversions API จากระบบหลังบ้านพร้อมกันโดยไม่ทำ Deduplication เหตุการณ์เดียวกันอาจถูกนับเป็นสอง Lead ทำให้ตัวเลขใน Ads Manager สูงเกินจริง และดูเหมือน Lead เพิ่มขึ้นทั้งที่จำนวนคนจริงไม่ได้เพิ่มตาม การแก้คือใช้ Event ID และ Action Source ให้ถูกต้องเพื่อให้ Meta ตัด Event ซ้ำออก

เจ้าของธุรกิจฟิตเนสรายหนึ่งสังเกตเห็นว่ารายงาน Lead ใน Ads Manager เพิ่มขึ้นทุกเดือนติดต่อกันสามเดือน จากหลักสิบเป็นหลักร้อยต่อเดือน แต่ยอดสมัครสมาชิกจริงกลับนิ่งอยู่ที่ตัวเลขเดิม เขาเริ่มตั้งคำถามกับทีมขายว่าทำไมได้ Lead เยอะขนาดนี้แล้วปิดไม่ได้

ทีมขายยืนยันว่าจำนวนคนที่ทักเข้ามาจริงไม่ได้เพิ่มขึ้นมากเท่ากับที่ตัวเลขในรายงานแสดง พอไล่ตรวจระบบย้อนหลัง พบว่าธุรกิจนี้ติดทั้ง Pixel บนหน้าเว็บและเชื่อม Conversions API จากระบบบันทึก Lead ไปพร้อมกัน โดยไม่มีการตั้งค่า Deduplication ให้ถูกต้อง เหตุการณ์เดียวกันจึงถูกส่งไปหา Meta สองครั้งจากสองช่องทาง

ปัญหานี้พบได้บ่อยกว่าที่คิด เพราะหลายทีมเชื่อมต่อ CAPI เพิ่มเข้าไปโดยไม่รู้ว่า Pixel เดิมยังทำงานคู่ขนานอยู่ บทความนี้จะพาตรวจสอบว่าจะรู้ได้อย่างไรว่า Lead ถูกนับซ้ำ และจะแก้ไขให้ถูกต้องอย่างไร

Conversion ซ้ำเกิดขึ้นได้อย่างไรโดยที่ไม่มีใครตั้งใจ

ในขั้นตอนปกติ เมื่อลูกค้าคลิกปุ่ม LINE จากหน้าเว็บไซต์ Pixel จะจับ Event นี้ได้ทันทีเพราะเกิดขึ้นบน Browser ในเวลาเดียวกัน ถ้าระบบหลังบ้านก็ถูกตั้งค่าให้ส่ง Event เดียวกันนี้ผ่าน Conversions API ทันทีที่มีการบันทึกข้อมูลลูกค้าใหม่ในระบบด้วย Meta จะได้รับข้อมูลสองชุดที่พูดถึงเหตุการณ์เดียวกัน

ถ้า Meta ไม่สามารถระบุได้ว่าสอง Event นี้คือเหตุการณ์เดียวกัน มันจะนับเป็น Lead สองรายการแทนที่จะเป็นหนึ่งรายการ ยิ่งธุรกิจมีปริมาณคนทักเข้ามาเยอะเท่าไหร่ ความคลาดเคลื่อนสะสมก็ยิ่งมากขึ้นเท่านั้น จนกลายเป็นตัวเลขที่ดูเหมือนเติบโตต่อเนื่องทั้งที่ความจริงไม่ได้เป็นแบบนั้น

จะรู้ได้อย่างไรว่า Lead ที่เห็นถูกนับซ้ำ

วิธีตรวจสอบเบื้องต้นที่ทำได้เร็วที่สุดคือเปรียบเทียบจำนวน Lead ใน Ads Manager กับจำนวนแถวข้อมูลลูกค้าใหม่จริงในระบบหลังบ้านหรือ CRM ในช่วงเวลาเดียวกัน ถ้าตัวเลขใน Ads Manager สูงกว่าอย่างสม่ำเสมอในสัดส่วนใกล้เคียงกันทุกเดือน เช่น สูงกว่าประมาณสองเท่าตลอด เป็นสัญญาณที่ชัดว่าน่าจะมีการนับซ้ำเกิดขึ้น

อีกวิธีคือใช้เครื่องมือตรวจสอบ Event ของ Meta เพื่อดูว่า Event เดียวกันถูกส่งเข้ามาจากกี่แหล่ง ถ้าเห็นทั้ง Browser และ Server ส่ง Event Lead ในเวลาใกล้เคียงกันสำหรับ Session เดียวกัน แสดงว่ากำลังเกิดการนับซ้ำจริง และต้องรีบแก้ไขก่อนที่ตัวเลขจะสะสมมากขึ้นเรื่อย ๆ

กลไก Deduplication ทำงานอย่างไร

การทำ Deduplication ไม่ได้ซับซ้อน แต่ต้องมีองค์ประกอบครบตามที่ Meta กำหนด เพื่อให้ระบบรู้ว่า Event ไหนคือเหตุการณ์เดียวกัน

องค์ประกอบต้องเหมือนกันระหว่าง Pixel กับ CAPI ไหมหน้าที่
Event Nameต้องเหมือนกันบอกว่าเป็น Event ประเภทเดียวกัน
Event IDต้องเหมือนกันสำหรับเหตุการณ์เดียวกันกุญแจหลักที่ Meta ใช้จับคู่และตัด Event ซ้ำ
Action Sourceต่างกันได้ตามช่องทางจริงบอกว่า Event มาจาก Browser หรือ Server
Event Timeควรใกล้เคียงกันช่วยยืนยันว่าเป็นช่วงเวลาเดียวกันจริง

ขั้นตอนแก้ไขเมื่อพบว่า Lead ถูกนับซ้ำ

  1. ตรวจสอบทุกจุดที่ระบบส่ง Event Lead ทั้งจาก Pixel บนเว็บและจาก Conversions API จากระบบหลังบ้าน ว่ามีจุดไหนส่ง Event เดียวกันซ้ำกันบ้าง
  2. กำหนดให้ทั้งสองช่องทางใช้ Event ID เดียวกันสำหรับเหตุการณ์เดียวกัน โดยสร้าง ID นี้จากข้อมูลที่ทั้งฝั่ง Browser และฝั่งระบบหลังบ้านเข้าถึงได้ตรงกัน เช่น ผูกกับ Session หรือ Transaction เดียวกัน
  3. ระบุ Action Source ให้ถูกต้องตามความเป็นจริงของแต่ละช่องทาง ไม่ใช้ค่าเดียวกันทั้งสองฝั่งโดยไม่ตรวจสอบ
  4. ทดสอบด้วยเครื่องมือตรวจสอบ Event ของ Meta เพื่อยืนยันว่า Deduplication ทำงานถูกต้อง ก่อนปล่อยให้ทำงานกับข้อมูลจริงเต็มรูปแบบ
  5. เปรียบเทียบตัวเลข Lead ใน Ads Manager กับจำนวนจริงใน CRM อีกครั้งหลังแก้ไข เพื่อยืนยันว่าช่องว่างที่เคยเห็นแคบลงจริง

ทำไมการนับซ้ำถึงกระทบมากกว่าแค่ตัวเลขในรายงาน

ผลกระทบของการนับซ้ำไม่ได้หยุดแค่ตัวเลขในรายงานดูสูงเกินจริง แต่กระทบไปถึงการเรียนรู้ของระบบโฆษณาด้วย เพราะ Meta ใช้ข้อมูล Lead เพื่อหาว่ากลุ่มคนแบบไหนมีแนวโน้มทำ Event นี้ ถ้าน้ำหนักของบาง Session ถูกนับซ้ำ ระบบจะให้ความสำคัญกับลักษณะของคนกลุ่มนั้นมากเกินสัดส่วนที่ควรจะเป็น

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

ป้องกันปัญหานี้ไม่ให้เกิดซ้ำเมื่อเพิ่ม Integration ใหม่

  • ทุกครั้งที่เพิ่มการเชื่อมต่อ Event ใหม่ ต้องตรวจสอบก่อนว่ามีช่องทางอื่นส่ง Event ประเภทเดียวกันอยู่แล้วหรือไม่
  • เก็บเอกสารรายการ Event ทั้งหมดที่ธุรกิจส่งไปให้แต่ละแพลตฟอร์ม พร้อมระบุว่าส่งจากช่องทางไหนบ้าง เพื่อให้ทีมใหม่ที่เข้ามาดูแลต่อเข้าใจภาพรวมได้เร็ว
  • ตั้งรอบตรวจสอบ Deduplication เป็นระยะ ไม่ใช่ตรวจครั้งเดียวตอนติดตั้งแล้วไม่แตะอีกเลย เพราะการเปลี่ยนแปลงระบบหลังบ้านในอนาคตอาจทำให้การตั้งค่าเดิมเสียหายโดยไม่มีใครรู้ตัว

ทำไมยิ่งพบปัญหานี้ช้า ยิ่งเสียเวลาแก้มากกว่าที่คิด

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

การแก้ไขหลังจากปล่อยไว้นานจึงไม่ใช่แค่การแก้การตั้งค่า Event ID ให้ถูกต้อง แต่ต้องใช้เวลาให้ระบบเรียนรู้ข้อมูลที่ถูกต้องใหม่อีกรอบ ซึ่งอาจทำให้ผลลัพธ์แคมเปญแกว่งไปช่วงหนึ่งก่อนจะกลับมานิ่ง เหมือนเริ่มต้นแคมเปญใหม่บางส่วนทั้งที่จริงแล้วแคมเปญเดินมานานแล้ว

ด้วยเหตุนี้ การตรวจสอบ Deduplication ตั้งแต่ช่วงแรกที่เชื่อมต่อ Integration ใหม่ทุกครั้ง จึงคุ้มค่ากว่าการปล่อยให้ปัญหาสะสมแล้วมาแก้ทีหลังมาก ทั้งในแง่เวลาที่ใช้แก้ไขและในแง่งบโฆษณาที่อาจถูกใช้ไปอย่างไม่มีประสิทธิภาพระหว่างที่ยังไม่รู้ตัวว่ามีปัญหาเกิดขึ้น

ถ้าธุรกิจยิงแอดหลายแพลตฟอร์มพร้อมกัน ต้องระวังอะไรเพิ่ม

ธุรกิจที่ยิงแอดทั้ง Meta และแพลตฟอร์มอื่นพร้อมกัน เช่น Google Ads หรือ TikTok Ads มักเชื่อมระบบหลังบ้านเดียวกันเข้ากับหลายแพลตฟอร์มพร้อมกัน ซึ่งเพิ่มความซับซ้อนของการทำ Deduplication ขึ้นไปอีกชั้น เพราะแต่ละแพลตฟอร์มมีกลไกและข้อกำหนดของตัวเองที่ไม่จำเป็นต้องเหมือนกัน

ปัญหาที่พบได้คือทีมตั้งค่า Event ID ชุดเดียวใช้ร่วมกันทุกแพลตฟอร์มโดยคิดว่าจะช่วยให้จัดการง่ายขึ้น แต่บางแพลตฟอร์มอาจตีความ ID ชุดนั้นต่างไปจากที่ตั้งใจ ทำให้เกิดการจับคู่ผิดพลาดหรือ Deduplication ไม่ทำงานอย่างที่ควร แนวทางที่ปลอดภัยกว่าคือแยกการตั้งค่า Event ID ตามแพลตฟอร์ม แม้จะมาจาก Transaction เดียวกันในระบบหลังบ้านก็ตาม

การมีเอกสารบันทึกไว้ชัดเจนว่าแพลตฟอร์มไหนรับ Event อะไรจากช่องทางไหนบ้าง ช่วยให้เมื่อเกิดปัญหาตัวเลขผิดปกติในแพลตฟอร์มใดแพลตฟอร์มหนึ่ง ทีมสามารถไล่ตรวจสอบได้เร็วโดยไม่ต้องเดาว่าปัญหาน่าจะมาจากตรงไหน ซึ่งสำคัญมากเมื่อธุรกิจขยายไปใช้หลายแพลตฟอร์มพร้อมกันมากขึ้นเรื่อย ๆ

ตัวอย่างสร้าง Event ID ที่ใช้งานได้จริง และจุดที่มักทำพลาด

ตัวอย่างที่ใช้ได้จริงคือสร้าง Event ID จากรหัสอ้างอิงที่ไม่ซ้ำ เช่น 'line-lead-8823' โดยอิงจาก Lead ID ที่ระบบหลังบ้านสร้างขึ้นตอนบันทึกข้อมูลลูกค้าใหม่ ค่านี้ต้องถูกส่งไปพร้อมกันทั้งสองฝั่ง ฝั่ง Pixel ยิงผ่านพารามิเตอร์ eventID พร้อม Event Name 'Lead' ส่วนฝั่ง Conversions API ก็ส่ง event_id เป็นค่าเดียวกันเป๊ะ พร้อม event_name 'Lead' ให้ตรงกันทุกตัวอักษร ตัวพิมพ์เล็กพิมพ์ใหญ่ก็ต้องเหมือนกันด้วย

ทำแบบนี้แล้วพัง เพราะ... ทีมหนึ่งให้ทั้ง Pixel และ CAPI สร้าง Event ID ของตัวเองแยกกันโดยอิง Timestamp ขณะยิง Event ฝั่ง Pixel ใช้เวลาที่ Browser ยิง Event ส่วน CAPI ใช้เวลาที่ Server ประมวลผลเสร็จ ซึ่งต่างกันไปสองสามวินาที ทำให้ Event ID ที่ได้ไม่ตรงกัน Meta จึงจับคู่ Event ทั้งสองไม่ได้ว่าเป็นเหตุการณ์เดียวกัน Deduplication จึงไม่ทำงานทั้งที่ตั้งค่า Event Name และ Event Time ถูกต้องหมดแล้ว

วิธีแก้ที่ถูกต้องคือสร้าง Event ID เพียงครั้งเดียวตอนที่ระบบรู้ว่ามี Lead ใหม่เกิดขึ้น แล้วส่งค่าเดียวกันนั้นให้ทั้งฝั่งที่ยิง Pixel บน Browser และฝั่งที่ยิง CAPI จาก Server ใช้ร่วมกัน เช่น ฝัง ID นี้ไว้ใน Hidden Field ของฟอร์มที่ลูกค้ากรอกก่อนเข้าไปในห้องแชท หรือให้ทั้งสองฝั่งเรียกใช้ค่าจาก API เดียวกันแทนที่จะสร้างขึ้นเองคนละจุด

สรุป

ก่อนสรุปว่าทีมขายปิดการขายได้แย่ลง ควรตรวจให้แน่ใจก่อนว่าตัวเลข Lead ที่เห็นในรายงานเป็นตัวเลขจริง ไม่ใช่ผลจากการนับซ้ำระหว่าง Pixel กับ Conversions API เพราะสองปัญหานี้มีทางแก้ที่ต่างกันอย่างสิ้นเชิง

การทำ Deduplication ให้ถูกต้องด้วย Event ID และ Action Source ที่ครบถ้วน ไม่ใช่แค่เรื่องเทคนิคเบื้องหลัง แต่เป็นรากฐานที่ทำให้ทุกตัวเลขที่ใช้ตัดสินใจงบโฆษณาน่าเชื่อถือได้จริง

  • เปรียบเทียบ Lead ใน Ads Manager กับจำนวนจริงใน CRM เป็นประจำ เพื่อจับสัญญาณการนับซ้ำ
  • ใช้ Event ID เดียวกันสำหรับเหตุการณ์เดียวกัน และระบุ Action Source ให้ถูกต้องตามช่องทางจริง
  • ทุกครั้งที่เพิ่ม Integration ใหม่ ต้องตรวจสอบว่าไม่มีช่องทางอื่นส่ง Event ประเภทเดียวกันซ้ำซ้อนอยู่แล้ว

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

ทำไมต้องใช้ทั้ง Pixel และ CAPI ในเมื่อเสี่ยงนับซ้ำ

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

Lead ที่นับซ้ำ ส่งผลต่อค่าโฆษณาที่จ่ายจริงไหม

ไม่ได้ทำให้ธุรกิจจ่ายเงินเพิ่มโดยตรง แต่ทำให้ต้นทุนต่อ Lead ที่คำนวณได้ต่ำกว่าความเป็นจริง และทำให้การตัดสินใจเพิ่มงบหรือประเมินผลแคมเปญคลาดเคลื่อนจากสิ่งที่เกิดขึ้นจริง

จะรู้ได้อย่างไรว่า Event ID ที่สร้างขึ้นใช้งานได้ถูกต้อง

ใช้เครื่องมือตรวจสอบ Event ของ Meta ดูว่า Event ที่ส่งจาก Pixel และ CAPI สำหรับเหตุการณ์เดียวกันถูกจับคู่และแสดงเป็นรายการเดียวหรือไม่ ถ้ายังเห็นแยกเป็นสองรายการ แสดงว่า Deduplication ยังไม่ทำงาน

ปัญหานี้เกิดกับ Event Purchase ได้เหมือนกันไหม

เกิดได้เช่นเดียวกัน และมักส่งผลรุนแรงกว่า Lead เพราะ Purchase มักมี Value แนบไปด้วย การนับซ้ำจะทำให้ยอดขายที่ระบบเห็นสูงกว่าความเป็นจริงไปด้วย ไม่ใช่แค่จำนวนเหตุการณ์

ต้องแก้ Deduplication ที่ Meta อย่างเดียว หรือแพลตฟอร์มอื่นก็ต้องตรวจด้วย

ควรตรวจทุกแพลตฟอร์มที่รับ Event ทั้งจาก Pixel และ Server พร้อมกัน เพราะแต่ละแพลตฟอร์มมีกลไก Deduplication ของตัวเองที่ต้องตั้งค่าแยกกัน ไม่ได้ใช้ค่าเดียวกันข้ามแพลตฟอร์มโดยอัตโนมัติ

ระบบอย่าง linli ช่วยป้องกันการนับ Lead ซ้ำได้ไหม

linli ช่วยจัดการการส่ง Event ผ่าน Integration ที่เชื่อมต่อไว้ตามการตั้งค่าที่กำหนด ซึ่งช่วยลดความเสี่ยงจากการตั้งค่าด้วยมือผิดพลาด แต่ทีมยังต้องตรวจสอบว่าไม่มีช่องทางอื่นส่ง Event ประเภทเดียวกันซ้ำซ้อนอยู่นอกระบบด้วย

ลองตรวจด้วยตัวเอง

Event Deduplication Debugger

ใส่ browser event กับ server event ของคุณ แล้วดูว่าแพลตฟอร์มจะจับคู่ dedup ให้หรือนับซ้ำ

เช็ก dedup ฟรี

ใช้ฟรี ไม่ต้องสมัคร ไม่เก็บข้อมูลที่คุณกรอก

รู้ว่าโฆษณาเข้า LINE ทำยอดขายจริงแค่ไหน

linli ติดตามลูกค้าตั้งแต่คลิกโฆษณา กดเพิ่มเพื่อน ทักแชท จนปิดการขาย พร้อมส่ง Conversion กลับแพลตฟอร์มโฆษณา เริ่มฟรี 14 วัน

ทดลองใช้ฟรี 14 วัน

บทความที่เกี่ยวข้อง

ยิงแอด TikTok วันละหลักพัน แต่ไม่รู้ว่ากี่คนทักเข้า LINE จริง

ยิงแอด TikTok วันละหลักพัน แต่ไม่รู้ว่ากี่คนทักเข้า LINE จริง

TikTok Events API คือช่องทางที่ธุรกิจส่งเหตุการณ์กลับไปหาระบบโฆษณาโดยตรงจากฝั่งเซิร์ฟเวอร์ บทความนี้อธิบายว่ามันช่วยธุรกิจที่ปิดการขายในแชท LINE อย่างไร และควรวางระบบตรงไหนก่อน
CAPI กับ Pixel ส่ง Lead จาก LINE กลับ TikTok ต่างกันตรงไหน

CAPI กับ Pixel ส่ง Lead จาก LINE กลับ TikTok ต่างกันตรงไหน

ทีมการตลาดหลายทีมถกกันว่าจะส่ง Lead จาก LINE กลับ TikTok ผ่าน Pixel หรือฝั่งเซิร์ฟเวอร์ดี บทความนี้เทียบสองทางแบบเห็นภาพ พร้อมบอกว่าธุรกิจแบบไหนควรใช้ทางไหน
ทำไมต้องเลือกระหว่างส่ง Lead, Qualified Lead หรือ Purchase กลับ TikTok

ทำไมต้องเลือกระหว่างส่ง Lead, Qualified Lead หรือ Purchase กลับ TikTok

ธุรกิจที่ปิดการขายใน LINE มักสงสัยว่าจะส่ง Lead, Qualified Lead หรือ Purchase กลับ TikTok ดีที่สุด บทความนี้อธิบายว่าทำไมคำตอบไม่ใช่สัญญาณเดียวตายตัว แต่ขึ้นกับปริมาณและความสม่ำเสมอของข้อมูล