Event Dedup / Idempotency Debugger

ดีบัก Event ซ้ำจาก Webhook (Dedup) ฟรี

วางรายการ Event ID หรือ Delivery Context ที่ได้รับจาก Webhook หลายครั้ง แล้วเครื่องมือจะตรวจว่ารายการไหนคือ Event เดิมที่ถูกส่งซ้ำจากกลไก Retry ของ LINE เพื่อป้องกันการนับ Conversion ซ้ำ

  • ใช้ฟรี
  • ไม่ต้องสมัคร
  • ไม่ต้องกรอกอีเมล
  • คำนวณในเบราว์เซอร์
แพลตฟอร์ม
Browser Event (Pixel/gtag)
Server Event (Conversions API / Events API)

กรอกข้อมูล Event อย่างน้อยฝั่งละ 1 ค่าเพื่อดูผล

แยก Event ซ้ำได้แล้ว ที่เหลือคือไม่ต้องทำมือ

linli เก็บ Event ID ของทุก Webhook ที่รับจาก LINE OA และกันการประมวลผลซ้ำให้อัตโนมัติ เพื่อให้ตัวเลข Conversion ที่ส่งกลับแพลตฟอร์มโฆษณาไม่บวมเกินจริง

เครื่องมือนี้ตรวจอะไร

วางรายการ Event ID, Delivery Context หรือ Timestamp ของ Webhook หลายรายการที่ได้รับ เครื่องมือจะจัดกลุ่มรายการที่มีค่าซ้ำกัน แล้วชี้ว่ารายการไหนน่าจะเป็น Event เดิมที่ถูกส่งซ้ำมาจากกลไก Retry ของ LINE ไม่ใช่ Event ใหม่ที่เกิดขึ้นจริง

นอกจากตรวจ ID ที่ซ้ำตรง ๆ เครื่องมือยังช่วยดูรูปแบบที่บ่งชี้การส่งซ้ำ เช่น Event หลายรายการที่มีเนื้อหาเหมือนกันทุกอย่างยกเว้นเวลาที่รับ ซึ่งมักเป็นสัญญาณของ Retry มากกว่าการที่ผู้ใช้ส่งข้อความเดิมสองครั้งจริง ๆ

ทำไมถึงสำคัญ

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

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

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

ใช้อะไรเป็น Key สำหรับกัน Event ซ้ำได้บ้าง

ตัวที่แม่นที่สุดคือ Event ID หรือ Delivery Context ที่ LINE แนบมากับแต่ละ Event ถ้าไม่มี ให้ลองใช้ชุดของ userId บวก Timestamp บวกประเภท Event เป็น Key รอง แต่ควรระวังกรณีที่ผู้ใช้ส่งข้อความเดิมจริง ๆ ในเวลาใกล้กันมาก

ควรกัน Event ซ้ำนานแค่ไหน

อย่างน้อยควรครอบคลุมช่วงเวลาที่ LINE อาจ Retry ซึ่งมักอยู่ในหลักนาทีถึงชั่วโมง แต่ถ้าระบบรองรับได้ การเก็บ Event ID ไว้เป็นวันจะปลอดภัยกว่า โดยเฉพาะถ้ามีการประมวลผลย้อนหลังหรือ Reprocess ข้อมูลเก่า

ถ้าพบว่ามี Event ซ้ำในระบบไปแล้ว แก้ย้อนหลังได้ไหม

แก้ได้ถ้ายังมี Log หรือข้อมูลดิบเก็บไว้ ให้ไล่หา Event ที่มี ID ซ้ำกัน ลบรายการที่ประมวลผลซ้ำออก แล้วปรับยอดในระบบ CRM หรือ Conversion ที่ส่งไปแล้วให้ตรงกับความเป็นจริง ก่อนตั้งกลไกป้องกันไม่ให้เกิดซ้ำอีก

อ่านต่อ

อยากให้ระบบเก็บและตรวจข้อมูลนี้ให้อัตโนมัติ

linli เก็บ Click ID, Webhook Event และ Journey ของลูกค้าตั้งแต่คลิกโฆษณาจนถึงยอดขายที่ปิดใน LINE ให้อัตโนมัติ ทดลองฟรี 14 วัน ไม่ต้องใช้บัตรเครดิต