ตั้งค่า Purchase Event ใน X Ads ให้ส่งยอดขายจริงกลับไปแม่นขึ้น

สรุปสั้น ๆ
Purchase Event ใน X Ads ที่รายงานได้แม่น ต้องมีอย่างน้อยสามส่วนครบถ้วนคือ Identifier ที่จับคู่กับคลิกต้นทางได้ Value ที่ตรงกับยอดขายจริง และ Currency ที่สอดคล้องกันทุกรายการ ขาดส่วนใดส่วนหนึ่งไป ตัวเลขที่รายงานออกมาจะคลาดเคลื่อนจากยอดขายจริงทันที
ทีมการตลาดจำนวนไม่น้อยตั้งค่า Purchase Event ใน X Ads ตามคู่มือครบทุกขั้นตอน ยิงทดสอบแล้วเห็นอีเวนต์เข้ามาจริง แต่พอเทียบกับยอดขายจริงในระบบบัญชีปลายเดือน ตัวเลขสองฝั่งกลับไม่ตรงกันเลย บางเดือนยอดใน X Ads สูงกว่าความเป็นจริง บางเดือนต่ำกว่าอย่างชัดเจน
สาเหตุส่วนใหญ่ไม่ได้อยู่ที่การตั้งค่าอีเวนต์ผิดขั้นตอน แต่อยู่ที่ฟิลด์ข้อมูลที่ส่งไปพร้อมกับอีเวนต์นั้นไม่ครบหรือไม่สอดคล้องกัน เช่นส่ง Value เป็นค่าเฉลี่ยแทนยอดจริง หรือส่งสกุลเงินไม่ตรงกันในแต่ละรายการ ซึ่งเป็นรายละเอียดเล็ก ๆ ที่ส่งผลกับความแม่นยำของรายงานทั้งก้อน
บทความนี้จะพาไปดูว่า Purchase Event ที่สมบูรณ์ควรมีฟิลด์อะไรบ้าง แต่ละฟิลด์สำคัญยังไง และธุรกิจที่ปิดการขายผ่านแชทซึ่งไม่มีระบบตะกร้าสินค้าแบบอีคอมเมิร์ซทั่วไป ควรหาค่า Value มาจากไหน
ทำไม Purchase Event ถึงสำคัญกว่าอีเวนต์อื่นในสายตาธุรกิจ
อีเวนต์ต้นทางอย่างการคลิกหรือการดูหน้าเว็บบอกได้แค่ว่ามีความสนใจเกิดขึ้น แต่ Purchase Event คืออีเวนต์ที่ยืนยันว่าเงินเข้าจริง เป็นจุดที่ธุรกิจใช้ตัดสินใจเรื่องงบโฆษณาได้ตรงที่สุด เพราะสะท้อนผลลัพธ์ปลายทางจริง ไม่ใช่แค่สัญญาณความสนใจระหว่างทาง
เมื่อ Purchase Event ถูกส่งกลับไปอย่างแม่นยำ ระบบโฆษณาจะสามารถใช้ข้อมูลนี้ปรับการหากลุ่มเป้าหมายที่มีแนวโน้มจ่ายเงินจริงได้ดีขึ้น แต่ถ้าข้อมูลที่ส่งไปคลาดเคลื่อน ระบบก็จะเรียนรู้จากข้อมูลที่ผิดเพี้ยน ซึ่งอาจทำให้ผลลัพธ์ในระยะยาวแย่ลงแทนที่จะดีขึ้น
อีกเหตุผลที่ธุรกิจควรให้ความสำคัญกับอีเวนต์นี้เป็นพิเศษคือ Purchase มักถูกใช้เป็น Conversion หลักในการตั้งเป้าหมายประมูล เมื่อธุรกิจสั่งให้ระบบพยายามหาคนที่มีแนวโน้มสร้าง Purchase ให้มากที่สุด ความแม่นยำของข้อมูลที่ป้อนเข้าไปจึงส่งผลโดยตรงต่อคุณภาพของกลุ่มเป้าหมายที่ระบบเลือกแสดงโฆษณาให้ในรอบถัดไป
ฟิลด์ที่ Purchase Event ควรมีให้ครบ
| ฟิลด์ | ความสำคัญ | ผลถ้าขาดหรือผิด |
|---|---|---|
| Identifier (twclid) | จับคู่อีเวนต์กับคลิกต้นทาง | ระบบไม่รู้ว่ายอดขายนี้มาจากแคมเปญไหน |
| Value | บอกมูลค่าที่แท้จริงของการขาย | รายงาน ROAS คลาดเคลื่อนทั้งสูงและต่ำกว่าจริง |
| Currency | กำหนดหน่วยเงินให้ตรงกับ Value | ตัวเลขรวมสับสนเมื่อมีหลายสกุลเงินปนกัน |
| Event Time | เวลาที่เกิดการซื้อจริง | อีเวนต์อาจตกไปอยู่นอกช่วง Attribution Window |
| Order Reference | ใช้กันการนับซ้ำ | ยอดขายเดียวกันอาจถูกส่งซ้ำหลายครั้ง |
ธุรกิจที่ปิดการขายในแชท ค่า Value มาจากไหน
ธุรกิจอีคอมเมิร์ซที่มีระบบตะกร้าสินค้าจะได้ค่า Value มาจากยอดรวมในคำสั่งซื้อโดยอัตโนมัติ แต่ธุรกิจที่ปิดการขายผ่านการพูดคุยในแชท เช่นคลินิก บริการ หรือสินค้าที่ต้องต่อรองราคา ไม่มีระบบแบบนั้นให้พึ่งพา จำเป็นต้องมีจุดที่บันทึกยอดขายจริงหลังปิดดีลแต่ละครั้งเอาไว้ก่อน
ขั้นตอนที่ใช้ได้จริงคือให้แอดมินหรือทีมขายบันทึกยอดขายที่ปิดได้ลงในระบบหลังบ้าน ไม่ว่าจะเป็นสเปรดชีตที่มีโครงสร้างชัดเจนหรือระบบที่ออกแบบมาสำหรับงานนี้โดยเฉพาะ แล้วดึงค่านั้นมาใช้เป็น Value ตอนส่งอีเวนต์กลับไปหา X พร้อมกับ Identifier ที่ผูกไว้กับ Lead รายนั้นตั้งแต่ต้น
สิ่งที่ต้องระวังคือห้ามใช้ยอดขายเฉลี่ยของสินค้าเป็นค่า Value แทนยอดจริงทุกรายการ เพราะถ้าธุรกิจมีสินค้าหลายราคาหรือมีส่วนลดที่ต่างกันในแต่ละดีล การใช้ค่าเฉลี่ยจะทำให้ระบบโฆษณาเข้าใจผิดว่าลูกค้าทุกคนมีมูลค่าใกล้เคียงกัน ทั้งที่ความจริงอาจต่างกันมาก
ปัญหาสกุลเงินไม่ตรงกันที่มักถูกมองข้าม
ธุรกิจที่ขายทั้งในประเทศและต่างประเทศ หรือรับชำระผ่านหลายช่องทางที่มีสกุลเงินต่างกัน ต้องระวังเรื่องความสอดคล้องของ Currency เป็นพิเศษ เพราะถ้าส่ง Value เป็นตัวเลขเดียวกันแต่ไม่ได้ระบุสกุลเงินให้ตรงในแต่ละรายการ ระบบอาจตีความยอดขายผิดไปหลายเท่าตัว
แนวทางที่ปลอดภัยคือกำหนดสกุลเงินหลักที่ธุรกิจใช้รายงานเป็นมาตรฐาน แล้วแปลงยอดขายทุกรายการให้อยู่ในสกุลเงินเดียวกันก่อนส่งอีเวนต์ หรือถ้าจำเป็นต้องส่งหลายสกุลเงินจริง ต้องแนบค่า Currency ที่ถูกต้องไปพร้อมกับทุกรายการโดยไม่มีข้อยกเว้น
ขายแบบผ่อนชำระหรือเก็บมัดจำก่อน ควรส่ง Value ตอนไหน
ธุรกิจหลายประเภทไม่ได้รับเงินก้อนเดียวจบในครั้งเดียว เช่นคลินิกที่เก็บค่ามัดจำก่อนแล้วเก็บส่วนที่เหลือวันทำหัตถการ หรือบริการที่ลูกค้าผ่อนชำระเป็นงวด กรณีแบบนี้เป็นจุดที่ทีมมักสับสนว่าควรส่ง Purchase Event ตอนไหนและใช้ Value เท่าไหร่ ถ้าส่งตอนรับมัดจำโดยใช้ยอดเต็มทั้งดีล ตัวเลขที่รายงานจะสูงกว่าเงินที่เข้าจริง ณ ขณะนั้น แต่ถ้ารอจนกว่าจะได้รับครบทุกงวดถึงค่อยส่ง อีเวนต์อาจตกนอกกรอบ Attribution Window ที่ X กำหนดไว้จนจับคู่กับคลิกต้นทางไม่ได้เลย
แนวทางที่ใช้งานได้จริงและสอดคล้องกับสิ่งที่เกิดขึ้นจริงมากที่สุดคือส่ง Purchase Event ทันทีที่มีการยืนยันดีลอย่างเป็นทางการ เช่นตอนลูกค้าจ่ายมัดจำ เพราะเป็นจุดที่ธุรกิจมั่นใจแล้วว่าดีลนี้เกิดขึ้นจริง แล้วใช้ Value เป็นยอดมัดจำที่ได้รับจริง ณ เวลานั้น ไม่ใช่ยอดเต็มทั้งก้อน จากนั้นเมื่อลูกค้าชำระส่วนที่เหลือครบ ค่อยส่งอีเวนต์เพิ่มเติมอีกรายการหนึ่งพร้อม Order Reference ที่ต่างจากรายการแรก แต่ผูกกับ Identifier เดิมของคลิกต้นทาง เพื่อให้ระบบเห็นว่ามีเงินเข้าเพิ่มจากดีลเดียวกันโดยไม่ปนกับ Order Reference เดิมจนเข้าใจผิดว่าเป็นการนับซ้ำ
ธุรกิจที่ขายแบบผ่อนชำระผ่านบัตรเครดิตหรือผู้ให้บริการสินเชื่อภายนอก ควรใช้ยอดขายเต็มของสินค้าเป็น Value ตั้งแต่วันที่อนุมัติวงเงินสำเร็จ เพราะถือว่าธุรกิจได้รับเงินเต็มจำนวนจากผู้ให้บริการสินเชื่อไปแล้ว ต่างจากกรณีมัดจำที่เงินยังไม่เข้าครบ จุดนี้ต้องแยกให้ชัดเพราะสองรูปแบบนี้มีเงื่อนไขทางบัญชีต่างกัน การใช้หลักการเดียวกันปนกันจะทำให้ตัวเลข Value ผิดเพี้ยนได้ง่าย
ผูก Identifier กับ Purchase และป้องกันการนับซ้ำ
ทุกครั้งที่ส่ง Purchase Event ควรแนบ Order Reference หรือรหัสอ้างอิงที่ไม่ซ้ำกันของดีลนั้นไปด้วย เพื่อให้ระบบใช้เป็นตัวกันซ้ำ เพราะในทางปฏิบัติมีความเสี่ยงที่ทีมขายจะกดส่งข้อมูลซ้ำโดยไม่ตั้งใจ หรือระบบส่งอัตโนมัติทำงานผิดพลาดจนยิงอีเวนต์เดียวกันสองครั้ง
ถ้าไม่มีตัวกันซ้ำ ยอดขายก้อนเดียวกันอาจถูกนับเป็นสองหรือสามครั้งในรายงาน ทำให้ตัวเลข ROAS ดูดีเกินจริงและอาจนำไปสู่การตัดสินใจเพิ่มงบผิดพลาด ทั้งที่ยอดขายจริงไม่ได้มากขนาดนั้น
อีกจุดที่ควรวางระบบไว้ตั้งแต่ต้นคือกำหนดรูปแบบ Order Reference ให้เป็นมาตรฐานเดียวกันทั้งทีม เช่นใช้รหัสที่ระบบหลังบ้านสร้างขึ้นเองแบบอัตโนมัติ แทนที่จะให้แอดมินแต่ละคนตั้งรหัสเองตามใจ เพราะถ้าแต่ละคนใช้รูปแบบไม่เหมือนกัน โอกาสที่จะเกิดรหัสซ้ำกันโดยไม่ตั้งใจจะสูงขึ้น และยากต่อการตรวจสอบย้อนหลังเมื่อพบว่าตัวเลขไม่ตรงกับยอดขายจริง
ทดสอบก่อนใช้งานจริงให้มั่นใจว่าฟิลด์ถูกต้อง
- จำลองการซื้อทดสอบสักหนึ่งรายการ แล้วตรวจว่าอีเวนต์ที่ส่งไปมี Identifier, Value, Currency และ Order Reference ครบทุกฟิลด์
- ตรวจสอบว่าค่า Value ที่ส่งไปตรงกับยอดขายจริงของรายการทดสอบ ไม่ใช่ค่าเริ่มต้นหรือค่าคงที่ที่ตั้งไว้เฉย ๆ
- ยิงอีเวนต์ทดสอบซ้ำด้วย Order Reference เดิม แล้วดูว่าระบบกันซ้ำทำงานถูกต้องหรือไม่ ไม่นับเป็นสองรายการ
- ตรวจสอบว่า Event Time ที่ส่งไปตรงกับเวลาที่ธุรกรรมเกิดขึ้นจริง ไม่ใช่เวลาที่กดส่งอีเวนต์ซึ่งอาจห่างจากเวลาขายจริงหลายชั่วโมงหรือหลายวัน
- หลังใช้งานจริงสักหนึ่งสัปดาห์ ให้สุ่มตรวจรายการที่ส่งไปเทียบกับบันทึกยอดขายจริง เพื่อยืนยันว่าระบบยังทำงานถูกต้องต่อเนื่อง
ข้อผิดพลาดที่พบบ่อยตอนตั้ง Purchase Event
- ส่ง Value เป็นค่าว่างหรือศูนย์เพราะระบบหลังบ้านยังไม่ได้บันทึกยอดขายไว้ตอนที่ยิงอีเวนต์
- ลืมแนบ Identifier ที่เก็บไว้ตั้งแต่ตอนคลิก ทำให้อีเวนต์เข้าไปแต่จับคู่กับแคมเปญต้นทางไม่ได้
- ใช้ Order Reference ซ้ำกันโดยไม่ตั้งใจ เช่นใช้เลขวันที่แทนรหัสเฉพาะของแต่ละดีล ทำให้ระบบกันซ้ำทำงานผิดพลาด
- ส่ง Event Time เป็นเวลาปัจจุบันเสมอ ทั้งที่ธุรกรรมจริงเกิดขึ้นก่อนหน้านั้นหลายวัน ทำให้ Attribution คลาดเคลื่อนจากพฤติกรรมจริง
สรุป
Purchase Event ที่รายงานยอดขายได้แม่นยำไม่ได้ขึ้นอยู่กับว่าตั้งค่าอีเวนต์ถูกขั้นตอนหรือไม่เพียงอย่างเดียว แต่ขึ้นอยู่กับว่าฟิลด์ข้อมูลที่แนบไปด้วยครบถ้วนและสอดคล้องกันแค่ไหน โดยเฉพาะ Identifier, Value และ Currency ที่เป็นหัวใจของความแม่นยำทั้งหมด
สำหรับธุรกิจที่ปิดการขายผ่านแชท สิ่งที่ควรทำก่อนคือวางระบบบันทึกยอดขายจริงให้เป็นนิสัยของทีมขาย เพราะถ้าไม่มีข้อมูลนี้ตั้งแต่ต้น ต่อให้ตั้งค่าอีเวนต์ถูกต้องแค่ไหน ก็ยังไม่มีตัวเลขจริงให้ส่งกลับไปอยู่ดี
- Purchase Event ที่สมบูรณ์ต้องมี Identifier, Value, Currency, Event Time และ Order Reference ครบ
- ธุรกิจที่ปิดการขายในแชทต้องมีจุดบันทึกยอดขายจริงก่อนจะส่งอีเวนต์ ไม่ใช้ค่าเฉลี่ยแทน
- ผูก Order Reference เพื่อกันการนับซ้ำ และตรวจสอบความสอดคล้องของสกุลเงินทุกรายการ
- ทดสอบเส้นทางเต็มรูปแบบก่อนใช้งานจริง แล้วสุ่มตรวจซ้ำเป็นระยะหลังเริ่มใช้งาน
คำถามที่พบบ่อย
ต้องส่ง Purchase Event ทุกครั้งที่ปิดการขายเลยไหม
ควรส่งทุกครั้งที่มีการปิดการขายจริง เพื่อให้ระบบโฆษณามีข้อมูลครบที่สุดสำหรับการวิเคราะห์และปรับการหากลุ่มเป้าหมาย การส่งไม่ครบทำให้เห็นภาพ ROAS ต่ำกว่าความเป็นจริง
ธุรกิจที่ไม่มีระบบตะกร้าสินค้า จะหาค่า Value มาจากไหน
ต้องมีจุดที่ทีมขายหรือแอดมินบันทึกยอดขายที่ปิดได้ลงในระบบหลังบ้านเอง แล้วดึงค่านั้นมาใช้ตอนส่งอีเวนต์ อาจเป็นสเปรดชีตที่มีโครงสร้างชัดเจนหรือระบบที่ออกแบบมาสำหรับงานนี้
ใช้ยอดขายเฉลี่ยแทนยอดจริงได้ไหมถ้าไม่สะดวกบันทึกทุกดีล
ไม่แนะนำ เพราะจะทำให้ระบบเข้าใจผิดว่าลูกค้าทุกคนมีมูลค่าใกล้เคียงกัน ทั้งที่ความจริงอาจต่างกันมาก ควรลงทุนเวลาบันทึกยอดจริงแม้จะต้องใช้ความพยายามมากกว่าในช่วงแรก
ถ้าลูกค้าคืนสินค้าหรือขอเงินคืนหลังส่งอีเวนต์ไปแล้ว ต้องทำยังไง
ควรมีกระบวนการปรับปรุงหรือแจ้งกลับไปยังระบบว่ารายการนั้นถูกยกเลิก เพื่อไม่ให้รายงาน Conversion แสดงยอดขายที่ไม่ได้เกิดขึ้นจริงในระยะยาว ส่วนธุรกิจที่เก็บมัดจำก่อนแล้วรับเงินที่เหลือทีหลัง ควรส่งอีเวนต์แยกกันสองครั้งตามยอดที่รับจริงในแต่ละงวด ใช้ Order Reference ต่างกันแต่ผูกกับ Identifier เดิมของคลิกต้นทางเสมอ รายละเอียดวิธีการแจ้งคืนควรตรวจตามเอกสารล่าสุดของ X
ส่งอีเวนต์ Purchase ช้าไปหลังการขายเกิดขึ้นจริง จะยังใช้ได้ไหม
ขึ้นอยู่กับ Attribution Window ที่ X กำหนดในช่วงเวลานั้น ถ้าส่งช้าเกินกรอบเวลาที่ยอมรับ อีเวนต์อาจไม่ถูกจับคู่กับคลิกต้นทาง จึงควรส่งให้เร็วที่สุดหลังยืนยันยอดขายจริง
ต้อง Hash ข้อมูลอะไรบ้างตอนส่ง Purchase Event
ขึ้นกับว่ามีการแนบข้อมูลผู้ใช้เพิ่มเติมหรือไม่ ถ้ามีต้อง Hash ตามรูปแบบที่ X รองรับและมี Legal Basis รองรับการใช้ข้อมูลนั้น ส่วน Identifier อย่าง twclid ไม่จำเป็นต้อง Hash เพราะเป็นรหัสอ้างอิงคลิกอยู่แล้ว
อ่านต่อแบบเจาะลึก
รู้ว่าโฆษณาเข้า LINE ทำยอดขายจริงแค่ไหน
linli ติดตามลูกค้าตั้งแต่คลิกโฆษณา กดเพิ่มเพื่อน ทักแชท จนปิดการขาย พร้อมส่ง Conversion กลับแพลตฟอร์มโฆษณา เริ่มฟรี 14 วัน
ทดลองใช้ฟรี 14 วันบทความที่เกี่ยวข้อง

เก็บ Lead จากแบบฟอร์มใน X กับเก็บจากเว็บไซต์ตัวเอง ตั้ง Goal ต่างกันยังไง

ทำไมยอดขายที่นับใน X Ads ถึงสูงกว่ายอดโอนจริงทุกเดือน
