แชทเข้ามาทุกวันไม่เคยขาด แต่ยอดขายกลับไม่ขยับตามเลย

สรุปสั้น ๆ
จำนวนข้อความที่เข้ามาไม่เท่ากับคุณภาพของ Lead LINE Webhook Message Event ช่วยให้ระบบหลังบ้านรับรู้ทุกครั้งที่มีข้อความเข้า แต่ต้องนำไปวิเคราะห์ร่วมกับสถานะการตอบกลับและการอัปเดต Lead ถึงจะเห็นว่าแชทที่เข้ามาเยอะนั้นมีคุณภาพจริงหรือแค่ปริมาณ
ร้านขายอุปกรณ์เสริมมือถือแห่งหนึ่งเห็นจำนวนแชทเข้ามาเพิ่มขึ้นทุกเดือนต่อเนื่องสามเดือน จาก 80 เป็น 150 เป็น 210 ข้อความต่อวัน เจ้าของร้านดีใจมากคิดว่าธุรกิจกำลังโตแรง แต่พอเปิดดูยอดขายจริงในรอบเดียวกันกลับเห็นว่ายอดขายแทบไม่ขยับเลย ยังอยู่ที่ระดับใกล้เคียงเดิมทุกเดือน
คำถามที่เจ้าของร้านถามคือ ‘แชทเยอะขึ้นขนาดนี้ ทำไมยอดขายไม่โตตาม’ ซึ่งเป็นคำถามที่ตอบไม่ได้ถ้าดูแค่ตัวเลขจำนวนข้อความรวม เพราะจำนวนข้อความบอกแค่ว่ามีคนพิมพ์เข้ามาเท่าไหร่ ไม่ได้บอกว่าคนเหล่านั้นเป็นใคร ถามอะไร แล้วท้ายที่สุดปิดการขายได้กี่คน
บทความนี้จะพาดูว่า LINE Webhook Message Event ทำงานยังไง ช่วยเก็บอะไรได้บ้าง และต้องเอาไปวิเคราะห์ร่วมกับอะไรเพิ่มถึงจะตอบคำถามว่าแชทที่เข้ามาเยอะนั้นมีคุณภาพจริงหรือเป็นแค่ตัวเลขที่ดูดี
Message Event บอกอะไรได้บ้าง และบอกอะไรไม่ได้
Message Event คือเหตุการณ์ที่ LINE ส่งมาให้ระบบหลังบ้านทุกครั้งที่มีข้อความเข้ามาในแชทของ LINE OA ไม่ว่าจะเป็นข้อความตัวอักษร รูปภาพ สติกเกอร์ หรือประเภทอื่น ข้อมูลที่ได้จะมี User ID เนื้อหาข้อความ ประเภทข้อความ และเวลาที่ส่ง ซึ่งเป็นข้อมูลดิบระดับเหตุการณ์เท่านั้น
สิ่งที่ Message Event บอกไม่ได้คือ ‘คุณภาพ’ ของข้อความนั้น มันไม่รู้ว่าข้อความนี้เป็นคำถามจริงจังเรื่องราคา หรือเป็นแค่สติกเกอร์ทักทายเฉย ๆ และไม่รู้ว่าท้ายที่สุดคนที่ส่งข้อความนี้จะกลายเป็น Lead ที่ปิดการขายได้หรือไม่ การตัดสินคุณภาพต้องมาจากการวิเคราะห์เพิ่มเติมนอกเหนือจากตัว Event เอง
ทำไมจำนวนข้อความที่เพิ่มขึ้นถึงหลอกให้เข้าใจผิดได้
สาเหตุแรกคือแคมเปญที่จับกลุ่มเป้าหมายกว้างขึ้นมักดึงคนที่ยังไม่พร้อมซื้อเข้ามาทักมากขึ้นตามไปด้วย คนกลุ่มนี้อาจแค่ถามข้อมูลทั่วไปแล้วหายไป ทำให้จำนวนข้อความสูงขึ้นโดยที่สัดส่วน Lead คุณภาพต่อข้อความทั้งหมดกลับลดลง
สาเหตุที่สองคือคนคนเดียวสามารถส่งข้อความหลายครั้งในการสนทนาเดียวกัน เช่น ถามราคา ถามสี ถามวิธีสั่ง ซึ่งนับเป็นสาม Message Event แต่เป็นแค่หนึ่ง Lead จริง ถ้านับแค่จำนวน Event รวมโดยไม่แยกตามผู้ใช้ ตัวเลขจะดูสูงเกินจำนวนคนจริงมาก
ต้องผูก Message Event เข้ากับสถานะ Lead ถึงจะเห็นคุณภาพ
การแก้ปัญหานี้ต้องเอา Message Event มาผูกกับระบบสถานะ Lead ของทีมขาย เช่น New, Contacted, Qualified หรือ Lost เพื่อดูว่าคนที่ส่งข้อความเข้ามาถูกจัดสถานะเป็นแบบไหน ถ้าพบว่าสัดส่วน Qualified Lead ต่อจำนวนคนที่ทักลดลงในช่วงที่แชทเพิ่มขึ้น นั่นคือสัญญาณว่าปริมาณที่เพิ่มมาไม่ได้มาพร้อมคุณภาพ
อีกมุมที่ต้องดูคือความเร็วในการตอบกลับของแอดมิน ถ้าจำนวนข้อความเพิ่มขึ้นเร็วกว่ากำลังของทีม แอดมินอาจตอบช้าลงจนลูกค้าที่พร้อมซื้อจริงเปลี่ยนใจไปก่อน ปัญหาจึงอาจไม่ได้อยู่ที่คุณภาพ Lead อย่างเดียว แต่อยู่ที่ Sales Capacity ที่ตามไม่ทันปริมาณที่เข้ามาด้วย
ตัวอย่างเปรียบเทียบปริมาณข้อความกับคุณภาพ Lead รายเดือน (ตัวอย่างสมมติ)
ตารางนี้แสดงให้เห็นว่าปริมาณข้อความที่เพิ่มขึ้นไม่ได้แปลว่า Qualified Lead จะเพิ่มตามเสมอไป ตัวเลขเป็นตัวอย่างประกอบกรอบวิเคราะห์เท่านั้น
| เดือน | จำนวนข้อความ/วัน | Qualified Lead | สัดส่วน Qualified/ข้อความ |
|---|---|---|---|
| เดือน 1 | 80 | 22 | 27% |
| เดือน 2 | 150 | 28 | 19% |
| เดือน 3 | 210 | 24 | 11% |
วางระบบรับ Message Event ให้เอาไปวิเคราะห์คุณภาพได้จริง
ลำดับต่อไปนี้ช่วยให้ Message Event ที่เก็บมาเอาไปใช้วิเคราะห์คุณภาพ ไม่ใช่แค่เก็บไว้เป็นยอดรวม
- รับ Message Event ผ่าน Webhook แล้วผูกกับ User ID เพื่อจัดกลุ่มเป็นรายบุคคล ไม่นับแยกทีละข้อความ
- เชื่อม User ID เข้ากับระบบสถานะ Lead ของทีมขาย เพื่อให้รู้ว่าคนที่ทักแต่ละคนถูกจัดสถานะอะไร
- ติดตาม First Response Time ของแอดมินควบคู่ไปด้วย เพื่อแยกปัญหาเรื่องคุณภาพ Lead ออกจากปัญหาเรื่องความเร็วในการตอบ
- สรุปสัดส่วน Qualified Lead ต่อจำนวนคนที่ทักเป็นรายสัปดาห์หรือรายเดือน แทนการดูแค่ยอดข้อความรวม
ถ้าปริมาณขึ้นแต่คุณภาพลง ควรทำอะไรก่อน
ควรกลับไปดูก่อนว่ากลุ่มเป้าหมายของแคมเปญเปลี่ยนไปจากเดิมหรือไม่ เช่น ขยายอายุหรือพื้นที่กว้างเกินไปจนดึงคนที่ไม่ตรงกลุ่มเข้ามาทักเยอะขึ้น ถ้าใช่ ควรปรับกลุ่มเป้าหมายให้แคบลงก่อนเพิ่มงบต่อ ไม่ใช่เพิ่มงบไปเรื่อย ๆ ตามจำนวนข้อความที่ดูเหมือนโตดี
ถ้ากลุ่มเป้าหมายไม่ได้เปลี่ยน แต่สัดส่วนคุณภาพยังลดลง ควรตรวจที่ Sales Capacity และความเร็วในการตอบแทน เพราะบางครั้งปัญหาไม่ได้อยู่ที่ต้นทางโฆษณาเลย แต่อยู่ที่ทีมขายรับมือปริมาณที่เพิ่มขึ้นไม่ทัน ควรอ่านแนวทางความเร็วในการตอบกลับที่ส่งผลต่อการปิดการขายประกอบด้วย
โครงสร้าง Payload จริงของ Message Event ที่ต้องอ่านให้เป็น
Message Event ที่ Messaging API ส่งเข้ามาทาง Webhook มี `type` เป็น `"message"` เสมอ ตามด้วย `source.userId` ที่เป็น User ID เฉพาะตัวของคนที่ส่งข้อความในบริบทของ LINE OA นั้น ส่วนตัวข้อความเองจะอยู่ในออบเจกต์ `message` ซึ่งมี `message.id` เป็นรหัสเฉพาะของข้อความนั้น และ `message.type` บอกว่าเป็นข้อความประเภทไหน เช่น `text`, `image` หรือ `sticker`
อีกสองฟิลด์ที่ต้องเช็คทุกครั้งก่อนบันทึกลงระบบวิเคราะห์คุณภาพคือ `webhookEventId` ซึ่งเป็นรหัสของ Event การส่งข้อมูลครั้งนั้นจาก LINE และ `deliveryContext.isRedelivery` ที่เป็น boolean บอกว่า Event นี้คือการส่งซ้ำหรือไม่ ถ้าไม่เช็คสองฟิลด์นี้ก่อน ระบบอาจนับข้อความเดียวกันซ้ำสองครั้งเวลาที่เซิร์ฟเวอร์ตอบ LINE ช้าในช่วงที่มีคนแชทเข้ามาพร้อมกันเยอะ ทำให้ตัวเลขจำนวนข้อความต่อวันพองขึ้นเกินจริง และไปกระทบสัดส่วน Qualified Lead ต่อข้อความที่คำนวณได้ในตารางเปรียบเทียบด้านบนโดยตรง
ตัวอย่างเดินระบบจริง จากข้อความแรกถึงจัดกลุ่มเป็น Lead
สมมติลูกค้าคนหนึ่งพิมพ์ ‘สนใจรุ่นนี้ราคาเท่าไหร่คะ’ เข้ามาในแชท Messaging API จะส่ง Message Event ที่มี `source.userId` เป็น `Ub8f2210a4c...` พร้อม `message.id` และ `message.text` เป็นข้อความนั้น ระบบหลังบ้านที่รับ Webhook นี้ควรเช็คก่อนว่า `webhookEventId` เคยประมวลผลมาแล้วหรือยัง ถ้ายังไม่เคย ให้บันทึกลงตารางข้อความโดยผูกกับ `userId` เดียวกันนี้
ขั้นต่อไปคือเช็คว่า `userId` นี้เคยมีประวัติในระบบสถานะ Lead หรือยัง ถ้ายังไม่มีให้สร้างเป็น Lead ใหม่สถานะ New ถ้ามีอยู่แล้วให้อัปเดตเวลาข้อความล่าสุด เมื่อแอดมินตอบกลับและคุยต่อจนลูกค้าตัดสินใจซื้อ ทีมขายจะอัปเดตสถานะเป็น Qualified หรือ Won ในระบบหลังบ้าน ซึ่งข้อมูลนี้จะถูกนำไปคำนวณสัดส่วน Qualified Lead ต่อจำนวนคนที่ทักในแต่ละเดือนตามที่อธิบายไว้ก่อนหน้า
ทำแบบนี้แล้วพัง เพราะ… นับข้อความซ้ำจนสัดส่วนคุณภาพดูแย่กว่าความจริง
ร้านหนึ่งตั้ง Webhook รับ Message Event แล้วบันทึกทุกข้อความที่เข้ามาทันทีโดยไม่เช็ค `webhookEventId` ซ้ำ ปกติไม่มีปัญหา แต่ในวันที่มีแคมเปญ Flash Sale ทำให้แชทเข้ามาพร้อมกันหลายร้อยข้อความในเวลาไม่กี่นาที เซิร์ฟเวอร์ตอบ LINE ช้าเกินเวลาที่กำหนดในบางจังหวะ ทำให้ LINE ส่ง Event บางตัวซ้ำมาอีกครั้งพร้อม `deliveryContext.isRedelivery` เป็น true ระบบที่ไม่เช็คฟิลด์นี้บันทึกข้อความซ้ำเป็นสองรายการ
ผลคือจำนวนข้อความต่อวันของวันนั้นสูงผิดปกติ แต่จำนวน Qualified Lead จริงไม่ได้เพิ่มตาม ทำให้สัดส่วนคุณภาพในรายงานลดฮวบจนทีมการตลาดเข้าใจผิดว่าแคมเปญ Flash Sale ดึงคนคุณภาพต่ำเข้ามาเยอะ ทั้งที่ความจริงเป็นปัญหาการนับซ้ำทางเทคนิคล้วน ๆ กว่าจะรู้ตัวก็ต้องไล่เทียบยอดข้อความกับยอดที่เห็นในแอป LINE OA เองทีละวันจนพบว่าตัวเลขไม่ตรงกัน การแก้คือเพิ่มการเช็ค `webhookEventId` ซ้ำก่อนบันทึกทุกครั้ง เหมือนหลักการเดียวกับที่ใช้ป้องกันการนับ Lead ซ้ำในระบบ Tracking หลายแคมเปญ
สรุป
จำนวนข้อความที่เข้ามาไม่ใช่ตัวชี้วัดคุณภาพ Lead LINE Webhook Message Event ช่วยให้ระบบรับรู้ทุกครั้งที่มีข้อความเข้า แต่ต้องนำไปผูกกับสถานะ Lead ของทีมขายและความเร็วในการตอบกลับ ถึงจะเห็นว่าแชทที่เพิ่มขึ้นนั้นเป็นปริมาณที่มีคุณภาพหรือไม่
เมื่อเจอปัญหาว่าแชทเยอะขึ้นแต่ยอดขายไม่ขยับตาม ให้แยกก่อนว่าปัญหาอยู่ที่กลุ่มเป้าหมายของแคมเปญ หรืออยู่ที่ทีมขายรับมือปริมาณไม่ทัน เพราะทั้งสองสาเหตุนี้แก้คนละวิธีกัน
- Message Event บอกแค่ว่ามีข้อความเข้ามา ไม่บอกคุณภาพของคนที่ส่งข้อความนั้น
- ต้องผูกกับสถานะ Lead ของทีมขายเพื่อดูสัดส่วน Qualified Lead ต่อจำนวนคนที่ทักจริง
- แยกปัญหาเรื่องกลุ่มเป้าหมายแคมเปญออกจากปัญหาเรื่อง Sales Capacity ก่อนตัดสินใจปรับงบ
คำถามที่พบบ่อย
Message Event นับข้อความสติกเกอร์ด้วยไหม
นับ เพราะ Message Event ครอบคลุมทุกประเภทข้อความที่ส่งเข้ามาในแชท ไม่ว่าจะเป็นตัวอักษร รูปภาพ หรือสติกเกอร์ ธุรกิจจึงควรกรองหรือจัดกลุ่มตามประเภทข้อความเพิ่มเติมถ้าต้องการดูเฉพาะข้อความที่มีเนื้อหาจริงจัง
ทำไมต้องผูก Message Event กับสถานะ Lead ด้วย
เพราะ Message Event บอกแค่ว่ามีข้อความเข้ามา ไม่บอกว่าคนคนนั้นเป็น Lead คุณภาพแค่ไหน การผูกกับสถานะ Lead ที่ทีมขายอัปเดตทำให้เห็นภาพว่าปริมาณข้อความที่เพิ่มขึ้นมาพร้อมคุณภาพหรือไม่
แชทเยอะขึ้นแต่ยอดขายเท่าเดิม แปลว่าแคมเปญล้มเหลวไหม
ไม่จำเป็นเสมอไป อาจเป็นเพราะกลุ่มเป้าหมายกว้างเกินไปจนดึงคนไม่ตรงกลุ่มเข้ามา หรืออาจเป็นเพราะทีมขายตอบไม่ทันปริมาณที่เพิ่มขึ้น ต้องแยกสาเหตุให้ชัดก่อนสรุปว่าแคมเปญมีปัญหา
ควรนับ Lead จากจำนวนคนที่ทักหรือจำนวนข้อความ
ควรนับจากจำนวนคนที่ทักที่ไม่ซ้ำกัน ไม่ใช่จำนวนข้อความ เพราะคนคนเดียวสามารถส่งหลายข้อความในการสนทนาเดียวได้ ถ้านับจากข้อความจะทำให้ตัวเลข Lead สูงเกินจำนวนคนจริง
ต้องเก็บเนื้อหาข้อความทั้งหมดไว้เพื่อวิเคราะห์คุณภาพไหม
ไม่จำเป็นต้องเก็บเนื้อหาทั้งหมด การวิเคราะห์คุณภาพส่วนใหญ่ใช้สถานะ Lead ที่ทีมขายอัปเดตแทนได้ การเก็บเนื้อหาข้อความควรพิจารณาเรื่องความเป็นส่วนตัวของลูกค้าประกอบด้วยเสมอ
webhookEventId ของ Message Event ต้องเก็บไว้นานแค่ไหน
ควรเก็บอย่างน้อยให้ครอบคลุมช่วงที่มีความเสี่ยงเซิร์ฟเวอร์ตอบช้า เช่น ช่วงแคมเปญใหญ่ เพื่อให้เช็คการส่งซ้ำได้ครบ ปกติเก็บไว้ 7-14 วันก็เพียงพอสำหรับกันการนับซ้ำในทางปฏิบัติ
message.type ต่างประเภทกัน ควรให้น้ำหนักคุณภาพต่างกันไหม
ควรพิจารณาต่างกัน ข้อความประเภท text ที่มีเนื้อหาถามราคาหรือรายละเอียดสินค้ามักบ่งบอกความตั้งใจมากกว่าสติกเกอร์หรือรูปภาพเปล่า ๆ แต่ไม่ควรตัดสินคุณภาพจากประเภทข้อความเพียงอย่างเดียวโดยไม่ดูบริบทการสนทนา
ควรแจ้งเตือนทีมยังไงถ้าพบว่า Message Event นับซ้ำผิดปกติ
ควรตั้งเกณฑ์เปรียบเทียบยอดข้อความที่บันทึกในระบบกับยอดที่เห็นในแดชบอร์ดของ LINE OA เองเป็นประจำ ถ้าต่างกันเกินสัดส่วนที่ยอมรับได้ ให้แจ้งเตือนทีมเทคนิคทันทีเพื่อตรวจสอบการเช็ค webhookEventId ก่อนตัวเลขจะถูกนำไปใช้สรุปผลแคมเปญ
ควรตรวจสอบความถูกต้องของ Message Event บ่อยแค่ไหน
ควรตรวจสอบเทียบยอดกับแดชบอร์ดของ LINE OA เป็นประจำอย่างน้อยสัปดาห์ละครั้ง และตรวจถี่ขึ้นในช่วงที่มีแคมเปญใหญ่หรือ Flash Sale ที่มีความเสี่ยงเซิร์ฟเวอร์โหลดสูงกว่าปกติ
ลองตรวจด้วยตัวเอง
LINE Webhook Payload Inspector
วาง JSON payload จาก LINE แล้วดูว่าเป็น event ชนิดไหน มี field ครบตาม schema ปัจจุบันหรือไม่
ตรวจ payload ฟรี →ใช้ฟรี ไม่ต้องสมัคร ไม่เก็บข้อมูลที่คุณกรอก
อ่านต่อแบบเจาะลึก
รู้ว่าโฆษณาเข้า LINE ทำยอดขายจริงแค่ไหน
linli ติดตามลูกค้าตั้งแต่คลิกโฆษณา กดเพิ่มเพื่อน ทักแชท จนปิดการขาย พร้อมส่ง Conversion กลับแพลตฟอร์มโฆษณา เริ่มฟรี 14 วัน
ทดลองใช้ฟรี 14 วันบทความที่เกี่ยวข้อง

ทำไมยอด Click ใน LIFF ถึงเยอะกว่ายอด Add Friend ใน LINE OA เสมอ

เช็กให้ชัดว่าใครล็อกอินเข้า LIFF จริง ก่อนเชื่อตัวเลขในรายงาน
