สรุปสั้น ๆ
conversion ซ้ำคือยอดหนึ่งการขายที่ถูกนับหลายครั้ง เกิดจากลูกค้าทักหลายรอบ กด event ซ้ำ หรือปิดดีลแล้วยังยิง event เดิม พอยอดเฟ้อ ROAS ก็ดูสวยเกินจริง แล้วพาคุณเทงบผิดที่ ทางแก้คือตั้งรหัสอ้างอิงต่อการขายและกรองซ้ำก่อนคำนวณเสมอ
มีคำถามหนึ่งที่ผมชอบถามเจ้าของร้านเวลาเขาโชว์ ROAS สวย ๆ ให้ดู — ‘ตัวเลข conversion ที่เอามาหารนี่ กรองซ้ำหรือยังครับ’ ส่วนใหญ่จะนิ่งไปสองวินาที เพราะไม่เคยคิดว่ายอดที่เห็นอาจถูกนับซ้ำ
เรื่องนี้อันตรายกว่าที่คิด เพราะ ROAS คือตัวเลขที่คุณใช้ตัดสินใจว่าจะเทงบไปทางไหน เพิ่มแคมเปญไหน หยุดแคมเปญไหน ถ้าตัวหารมันเฟ้อ ทุกการตัดสินใจที่ตามมาก็เอียงไปหมด คุณอาจกำลังเทเงินเพิ่มให้แคมเปญที่จริง ๆ แล้วไม่ได้ดีอย่างที่ตัวเลขบอก
บทความนี้ผมจะเจาะว่ายอดซ้ำมันแอบเข้ามาในระบบได้ยังไง จะจับมันเจอด้วยวิธีไหน และทำไมการกรองต้องเกิด ‘ก่อน’ คำนวณ ไม่ใช่มารู้ตัวทีหลังตอนที่ตัดสินใจผิดไปแล้ว
ยอดซ้ำมันโผล่มาจากไหนได้บ้าง
ก่อนจะกรองได้ ต้องรู้ก่อนว่าซ้ำมันเกิดตรงไหน ในธุรกิจที่ปิดการขายใน LINE ผมเจอยอดซ้ำโผล่มาจากหลายจุดที่คนมักมองข้าม
จุดแรกคือลูกค้าคนเดียวทักเข้ามาหลายรอบ เขาทักถามวันจันทร์ หายไป กลับมาทักใหม่วันศุกร์แล้วปิดการขาย ถ้าระบบนับ ‘การทัก’ เป็น conversion ทั้งสองครั้ง แต่จริง ๆ มันคือคนเดียวที่ซื้อครั้งเดียว ยอดก็เฟ้อทันที
จุดที่สองคือ event ยิงซ้ำจากฝั่งเทค เช่น หน้าขอบคุณโหลดสองรอบ หรือแอดมินกดบันทึกการปิดการขายซ้ำเพราะไม่แน่ใจว่ากดไปหรือยัง และจุดที่สามคือส่งยอดทั้งจาก pixel และ S2S พร้อมกันโดยไม่มีตัวจับคู่ ทำให้ยอดเดียวเข้าระบบสองทาง
ทำไมยอดซ้ำถึงหลอก ROAS ได้เนียนขนาดนี้
ลองดูตัวอย่างเลขจริงกัน สมมติค่าแอดเดือนนี้ 50,000 บาท ปิดการขายได้จริง 40 ดีล ดีลละเฉลี่ย 2,500 บาท เท่ากับรายได้จริง 100,000 บาท ROAS จริงคือ 2 เท่า
แต่ถ้าระบบนับซ้ำจนกลายเป็น 60 ดีล รายได้ในรายงานพองเป็น 150,000 บาท ROAS เด้งขึ้นเป็น 3 เท่าทั้งที่เงินเข้ากระเป๋าเท่าเดิม คุณเห็นเลข 3 เท่าแล้วดีใจ เทงบเพิ่มเข้าไปอีก ทั้งที่ของจริงมันแค่ 2 เท่า พอเทเพิ่มแล้วกำไรไม่ขึ้นตามก็งงว่าทำไม
นี่คือเหตุผลที่ผมบอกว่ายอดซ้ำอันตรายกว่ายอดขาด เพราะยอดขาดทำให้คุณ ‘ระวังเกินไป’ แต่ยอดซ้ำทำให้คุณ ‘กล้าเกินไป’ ในทางที่ผิด และมันพันกับตัวเลขการเงินอื่นด้วย ทั้งอัตราส่วน LTV ต่อ CACและระยะเวลาคืนทุนที่จะเพี้ยนตามกันไปหมดถ้าฐานยอดผิด
วิธีจับยอดซ้ำแบบทำได้จริงหน้างาน
การจับยอดซ้ำไม่ต้องใช้เครื่องมือหรูหรา เริ่มจากหลักคิดง่าย ๆ ว่า ‘หนึ่งการขายควรมีหนึ่งรหัส’ แล้วไล่ตรวจตามนี้:
- กำหนดรหัสอ้างอิงต่อหนึ่งการขาย — ทุกดีลที่ปิดต้องมีรหัสไม่ซ้ำ เช่นเลขออเดอร์ ใช้รหัสนี้เป็นตัวตัดสินว่าอันไหนคือยอดเดียวกัน
- จับคู่ด้วยตัวลูกค้า ไม่ใช่จำนวนครั้งที่ทัก — รวมทุกการทักของลูกค้าคนเดียวให้เหลือหนึ่งเส้นทาง แล้วนับ conversion ที่ปลายทางครั้งเดียว
- ตรวจ event ที่เข้ามาในช่วงเวลาใกล้กันผิดปกติ — ยอดสองรายการที่ลูกค้าคนเดียว มูลค่าเท่ากัน ห่างกันไม่กี่วินาที มักคือยอดซ้ำจาก event ยิงสองรอบ
- ถ้าส่งยอดหลายทาง ต้องใส่รหัสเดียวกันทุกทาง — เวลาส่งทั้ง pixel และเซิร์ฟเวอร์ ให้แนบรหัสอ้างอิงเดียวกันเพื่อให้แพลตฟอร์มจับคู่แล้วนับครั้งเดียว
- ล้างข้อมูลก่อนเข้าสูตรคำนวณเสมอ — กรองซ้ำให้จบก่อนเอาไปหาร ROAS ไม่ใช่กรองหลังจากตัดสินใจไปแล้ว
ทำไมต้องกรอง ‘ก่อน’ คำนวณ ไม่ใช่หลัง
จุดที่คนพลาดกันมากคือ กรองยอดซ้ำก็จริง แต่ไปกรองตอนทำรายงานสิ้นเดือน ทั้งที่ระหว่างเดือนคุณตัดสินใจเทงบไปหลายรอบแล้วโดยดูตัวเลขที่ยังไม่ได้กรอง ความเสียหายมันเกิดไปตั้งแต่ตอนนั้น
การกรองซ้ำจึงควรเป็นขั้นตอนที่ฝังอยู่ในระบบ ให้ยอดถูกล้างตั้งแต่ตอนบันทึก ไม่ใช่มานั่งล้างทีหลัง เรื่องนี้ไปในทางเดียวกับการทำ Data Cleansing ล้างสลิปปลอมและยอดซ้ำที่ควรทำก่อนข้อมูลไหลเข้าสูตรทุกครั้ง
ผมสรุปเสมอว่า ROAS ที่คำนวณจากข้อมูลดิบไม่ได้กรอง ไม่ใช่ ROAS มันคือความรู้สึกที่ใส่ทศนิยม ตัวเลขจะมีความหมายก็ต่อเมื่อตัวหารสะอาดจริง
สรุป
conversion ซ้ำคือศัตรูเงียบของการวัดผล เพราะมันไม่ได้ทำให้ระบบพัง แต่ทำให้ตัวเลขดูดีเกินจริงจนคุณตัดสินใจผิดด้วยความมั่นใจ ต้นตอมาจากการนับการทักหลายรอบ event ยิงซ้ำ และการส่งยอดหลายทางโดยไม่มีตัวจับคู่
ทางแก้ไม่ซับซ้อน ตั้งรหัสอ้างอิงต่อหนึ่งการขาย จับคู่ด้วยตัวลูกค้า และล้างซ้ำให้จบก่อนเข้าสูตรคำนวณเสมอ ROAS จะมีค่าก็ต่อเมื่อตัวหารมันสะอาดจริง
- ยอดซ้ำทำ ROAS เฟ้อ แล้วพาเทงบผิดที่ด้วยความมั่นใจ
- หนึ่งการขาย = หนึ่งรหัสอ้างอิง แนบให้ครบทุกช่องทางส่ง
- กรองซ้ำก่อนคำนวณเสมอ ไม่ใช่มารู้ตัวหลังตัดสินใจไปแล้ว
คำถามที่พบบ่อย
ยอดซ้ำกับยอดขาดต่างกันยังไง อันไหนแย่กว่า
ยอดขาดทำให้รายงานต่ำกว่าจริงจนคุณอาจหยุดแคมเปญที่จริง ๆ ดี ส่วนยอดซ้ำทำให้รายงานสูงกว่าจริงจนคุณกล้าเทงบผิดที่ ทั้งคู่แย่คนละแบบ แต่ยอดซ้ำมักหลอกได้เนียนกว่าเพราะตัวเลขดูดีขึ้น คนเลยไม่ค่อยสงสัย
ลูกค้าคนเดียวทักหลายรอบควรนับเป็นกี่ conversion
ควรนับเป็นหนึ่ง เพราะเป้าหมายคือวัดการขายไม่ใช่วัดจำนวนครั้งที่ทัก วิธีที่ดีคือรวมทุกการทักของลูกค้าคนเดียวให้เหลือเส้นทางเดียว แล้วนับ conversion ที่ปลายทางตอนปิดการขายเพียงครั้งเดียว
ตั้งรหัสอ้างอิงต่อการขายยากไหม
ไม่ยาก ถ้าคุณมีเลขออเดอร์หรือเลขใบเสร็จอยู่แล้วก็ใช้ตัวนั้นเป็นรหัสได้เลย ขอแค่มันไม่ซ้ำกันในแต่ละดีล ระบบจะใช้รหัสนี้ตัดสินว่ายอดไหนคืออันเดียวกันและไม่นับซ้ำ
ถ้าส่งยอดทั้ง pixel และเซิร์ฟเวอร์จะซ้ำแน่ไหม
จะซ้ำถ้าไม่มีตัวจับคู่ ทางแก้คือแนบรหัสอ้างอิงเดียวกันไปกับทั้งสองทาง แพลตฟอร์มส่วนใหญ่จะเห็นว่าเป็นยอดเดียวกันแล้วนับครั้งเดียว จึงควรวางเรื่องนี้ตั้งแต่ตอนตั้งระบบ ไม่ใช่มาแก้ทีหลัง
จะรู้ได้ยังไงว่ายอดในรายงานตอนนี้ซ้ำอยู่หรือเปล่า
ลองสุ่มดึงยอดที่มูลค่าเท่ากันของลูกค้าคนเดียวที่เข้ามาห่างกันไม่กี่วินาที ถ้าเจอเยอะแปลว่ามี event ยิงซ้ำ อีกวิธีคือเทียบจำนวนดีลในรายงานกับจำนวนออเดอร์จริงในระบบหลังบ้าน ถ้าตัวเลขต่างกันมากคือสัญญาณของยอดซ้ำ
กรองซ้ำแล้ว ROAS ลดลง ควรตกใจไหม
ไม่ต้องตกใจ นั่นแปลว่าคุณเพิ่งเห็นตัวเลขจริงเป็นครั้งแรก ROAS ที่ลดลงหลังกรองซ้ำคือ ROAS ที่เชื่อถือได้มากกว่าเดิม ใช้ตัวเลขนี้ตัดสินใจต่อจะแม่นกว่าการยึดตัวเลขเฟ้อที่ทำให้กล้าเกินตัว
บทความที่เกี่ยวข้อง


