ส่ง Conversion เข้า LINE Ads จากฝั่งเซิร์ฟเวอร์ เมื่อปิดการขายในแชทไม่มีหน้าเว็บให้ติดแท็ก
สรุปสั้น ๆ
เมื่อการปิดการขายเกิดในแชท ไม่มีหน้าเว็บให้ LINE Tag ยิง ต้องส่ง Conversion จากเซิร์ฟเวอร์ของคุณหลังรู้ว่าขายสำเร็จ โดยแนบตัวระบุที่จับกลับไปถึงคลิกโฆษณา (click id ที่เก็บไว้ตอนลงหน้า หรือข้อมูลติดต่อที่เข้ารหัสตามที่แพลตฟอร์มกำหนด) กับรหัสกันซ้ำ ส่วนที่จับคู่ไม่ได้มีเสมอ จึงต้องวัด coverage
ลูกค้าคลิกแอด LINE เข้ามา เพิ่มเพื่อน ทักแชท คุยราคา โอนเงินผ่านแชท ทีมขายปิดออเดอร์ 2,400 บาท ตลอดเส้นทางนี้ไม่มีหน้าเว็บสักหน้าที่แท็กจะยิง ใน LINE Ads Manager ยอดของแคมเปญนั้นจึงเป็นศูนย์ ระบบประมูลก็ไม่เคยได้เรียนรู้ว่าคลิกแบบไหนที่ลงเอยด้วยเงินจริง
ทางออกคือให้เซิร์ฟเวอร์ของคุณส่ง Conversion เองเมื่อรู้ว่าขายสำเร็จ รายละเอียดของ endpoint ชื่อฟิลด์ การยืนยันตัวตน และสิทธิ์การใช้งานของบัญชี ตรวจจากเอกสาร LINE Ads Conversion API ล่าสุดหรือถามตัวแทน LINE Ads ผมจึงใช้ชื่อกลาง ๆ เช่น click_id แทนชื่อฟิลด์จริงในบทความนี้
ทำไมแท็กมองไม่เห็นการปิดการขายในแชท
LINE Tag ทำงานเมื่อมีหน้าเว็บโหลดในเบราว์เซอร์ แต่การปิดการขายในแชทเกิดในห้องสนทนา ผู้ขายกดบันทึกใน CRM หรือเงินเข้าบัญชีแล้วระบบแจ้ง ไม่มีหน้าเว็บเกี่ยวข้อง ปัญหานี้ต่างจากเรื่องคุกกี้ถูกบล็อกที่เล่าไว้ใน Server-to-Server Tracking เข้า LINE เพราะที่นี่ต่อให้คุกกี้ครบ แท็กก็ไม่มีหน้าให้ยิงอยู่ดี
ลำดับตั้งแต่คลิกถึงการส่ง Conversion
- ตอนลงหน้าโฆษณา เก็บ click id ที่ LINE ต่อท้าย URL (ตรวจชื่อพารามิเตอร์จริงในเอกสาร LINE Ads) พร้อม UTM ลงระเบียนฝั่งเซิร์ฟเวอร์ทันที
- พาคนเข้า LINE OA พร้อมรหัสสั้นที่อ้างถึงระเบียนนั้น วิธีส่งต่อรหัสอยู่ใน ส่งต่อ Click ID เข้า LINE
- เมื่อ webhook แจ้งว่ามีคนเพิ่มเพื่อนหรือทัก ผูก LINE userId กับระเบียนคลิก
- เมื่อทีมขายปิดออเดอร์ (สถานะใน CRM หรือ webhook การชำระเงิน) ดึงระเบียนคลิกของลูกค้าคนนั้นมา
- เช็กความยินยอมก่อนส่ง แล้วส่ง Conversion จากเซิร์ฟเวอร์พร้อมเวลาที่ปิดจริง มูลค่า สกุลเงิน รหัสกันซ้ำ และตัวระบุ
- บันทึกคำตอบที่ได้กลับมา ทั้งสำเร็จและถูกปฏิเสธพร้อมเหตุผล แล้วตรวจยอดใน Ads Manager
ตัวระบุที่ใช้จับคู่ได้ และเมื่อไหร่ที่หายไป
ลำดับความน่าเชื่อถือโดยทั่วไป click id มักตรงที่สุดเพราะผูกกับคลิกครั้งเดียว ส่วนข้อมูลติดต่อเป็นตัวเสริมสำหรับคนที่ไม่มี click id ขั้นตอนเข้ารหัสและเงื่อนไขการใช้ให้ทำตามเอกสารของแพลตฟอร์ม
| ตัวระบุ | เก็บตอนไหน | หายเมื่อไหร่ |
|---|---|---|
| click id จากโฆษณา | ตอนผู้ใช้ลงหน้าเว็บหรือ LIFF ปลายทาง | โฆษณาแบบเพิ่มเพื่อนตรง ๆ ที่ไม่มีหน้าเว็บให้ลง |
| อีเมลหรือเบอร์ที่เข้ารหัส | ตอนลูกค้าแจ้งในแชทหรือฟอร์ม | ลูกค้าไม่ให้ หรือยังไม่ได้ขอความยินยอม |
| ตัวระบุอื่นที่แพลตฟอร์มรองรับ | ตามที่เอกสารกำหนด | ต้องตรวจก่อนว่าบัญชีของคุณรองรับหรือไม่ |
สิ่งที่ข้อมูลที่ส่งต้องมีในเชิงหลักการ
- ชื่อเหตุการณ์: ต้องตรงกับ Conversion ที่ตั้งไว้ใน Ads Manager ถ้าชื่อไม่ตรง ยอดจะไม่ไปอยู่ที่เดียวกัน
- เวลาที่เกิดจริง: ใช้เวลาที่ปิดการขาย ไม่ใช่เวลาที่เซิร์ฟเวอร์ส่ง และตรวจกรอบเวลาที่ LINE ยอมรับ Conversion ย้อนหลัง ตามแนวคิดใน Conversion ที่มาช้ากว่าหน้าต่าง
- มูลค่าและสกุลเงิน: ส่งยอดที่ใช้คำนวณ ROAS ในรายงานของคุณ เพื่อให้ตัวเลขสองฝั่งเทียบกันได้
- รหัสกันซ้ำ: ใช้ order id เป็นฐาน เพราะ webhook ส่งซ้ำได้ ดูวิธีออกแบบใน Idempotency Key ของ CAPI
- ตัวระบุ: ตัวใดตัวหนึ่งหรือหลายตัวจากตารางข้างบนตามที่เอกสารอนุญาต
วัด coverage ว่าส่งได้กี่ส่วนของยอดที่ปิดจริง
จากตัวอย่าง coverage คือ 85% ของยอดที่ปิด ซึ่งต่างจาก match rate ที่ LINE จับคู่ได้จริง ตัวหลังดูใน Ads Manager หรือจากคำตอบของ API ถ้าเปลี่ยนรูปแบบการเก็บข้อมูลแล้ว coverage ขยับจาก 85% เป็น 92% นั่นคือหลักฐานว่าการแก้ได้ผล ไม่ต้องรอดูยอดในแคมเปญที่ผันผวนตามฤดูกาล
15 ออเดอร์ที่ไม่มีตัวระบุ ให้เก็บไว้ในรายงานภายในเป็น unattributed และใช้วิเคราะห์ว่ามาจากเส้นทางไหน เช่น โฆษณาแบบเพิ่มเพื่อนตรงที่ไม่มีหน้าลง อย่ายัดให้แคมเปญใดแคมเปญหนึ่ง
สี่จุดที่ท่อส่งพังโดยไม่มีใครเห็น
- ส่งช้าเกินกรอบเวลา: คิวค้างหรือทีมขายบันทึกสถานะย้อนหลังเป็นสัปดาห์ ทำให้ Conversion เลยหน้าต่างที่ยอมรับ
- Credential หมดอายุ: ส่งแล้วถูกปฏิเสธแต่ไม่มีใครดู log ตั้งการแจ้งเตือนเมื่ออัตราปฏิเสธขึ้น
- ส่งซ้ำ: webhook retry ทำให้ออเดอร์เดียวถูกส่งสองครั้ง ถ้าไม่มีรหัสกันซ้ำ
- ส่งโดยไม่เช็กความยินยอม: ลูกค้าไม่ได้อนุญาตให้ใช้ข้อมูลเพื่อการโฆษณา ออกแบบประตูตรวจตาม Consent Gate ก่อนยิง CAPI
สรุป
เริ่มจากวัด coverage ให้เห็นก่อนลงทุนต่อ ถ้าออเดอร์ที่ปิดในแชทเกินครึ่งไม่มีตัวระบุเลย ปัญหาอยู่ที่ต้นทางการเก็บ click id ไม่ใช่ที่ท่อส่ง การสร้างระบบส่งที่สวยแต่ป้อนข้อมูลว่างให้มัน จะได้ Conversion เท่าเดิม
- การปิดการขายในแชทไม่มีหน้าให้แท็กยิง ต้องส่งจากเซิร์ฟเวอร์
- เก็บ click id ตอนลงหน้า ผูกกับ userId แล้วดึงกลับมาตอนปิดการขาย
- วัด coverage ทุกเดือน และเก็บส่วนที่จับคู่ไม่ได้เป็น unattributed
คำถามที่พบบ่อย
ทุกบัญชี LINE Ads ใช้ช่องทางนี้ได้ไหม?
ความพร้อมใช้งานและเงื่อนไขของบัญชีแต่ละประเภทตรวจได้จากเอกสาร LINE Ads หรือสอบถามตัวแทนโดยตรง ผมไม่ยืนยันว่าทุกบัญชีใช้ได้ทันที
ถ้าใช้ทั้ง LINE Tag และส่งจากเซิร์ฟเวอร์ จะนับซ้ำไหม?
เสี่ยงนับซ้ำถ้าการขายเดียวกันถูกส่งสองทาง ให้เลือกแหล่งเดียวต่อประเภท Conversion หรือใช้รหัสกันซ้ำที่เอกสารรองรับ และทดสอบด้วยออเดอร์จริงจำนวนน้อยก่อนเปิดใช้เต็มระบบ
ต้องส่งเฉพาะออเดอร์ที่มี click id หรือเปล่า?
ส่งทุกออเดอร์ที่มีตัวระบุที่ใช้ได้ตามเอกสาร ส่วนที่ไม่มีเลยเก็บไว้ในรายงานภายในว่า unattributed การไม่ส่งออเดอร์ที่จับคู่ได้ทำให้ระบบเรียนรู้จากข้อมูลน้อยกว่าที่ควร
มูลค่าที่ส่งควรเป็นยอดก่อนหรือหลังหักส่วนลด?
ใช้ยอดเดียวกับที่คุณใช้คำนวณ ROAS ในรายงานภายใน ส่วนใหญ่คือยอดที่เก็บเงินจริงหลังส่วนลด เพื่อให้ตัวเลขใน Ads Manager กับรายงานของคุณเทียบกันได้
ออเดอร์ที่ลูกค้าคืนสินค้าต้องทำอย่างไร?
ถ้าเอกสารของ LINE รองรับการปรับยอดย้อนหลัง ให้ส่งตามนั้น ถ้าไม่รองรับ ทางปลอดภัยคือรอให้พ้นช่วงคืนสินค้าก่อนค่อยส่ง Conversion ซึ่งแลกด้วยความช้ากว่า
อ่านต่อแบบเจาะลึก
รู้ว่าโฆษณาเข้า LINE ทำยอดขายจริงแค่ไหน
linli ติดตามลูกค้าตั้งแต่คลิกโฆษณา กดเพิ่มเพื่อน ทักแชท จนปิดการขาย พร้อมส่ง Conversion กลับแพลตฟอร์มโฆษณา เริ่มฟรี 14 วัน
ทดลองใช้ฟรี 14 วัน