ปุ่มใน Flex Message ควรใช้ Postback หรือ URL ถ้าอยากรู้ว่าใครกดอะไร
สรุปสั้น ๆ
ปุ่มแบบ Postback ส่ง event กลับมาที่ webhook พร้อม userId ของคนกด จึงรู้รายคนว่าใครกดอะไร ส่วนปุ่มแบบ URL พาคนออกนอกแชทโดยไม่ส่งอะไรกลับมา จะวัดได้ก็ต่อเมื่อลิงก์พกรหัสติดตามไปเอง ปุ่มที่เป้าหมายอยู่ในแชทควรใช้ Postback ปุ่มที่ต้องไปหน้าเว็บใช้ URL ที่ผ่านหน้ากลางจดการกดก่อน
สมมติร้านส่ง Flex Message โปรโมชันหาลูกค้า 3,000 คน มีสามปุ่มคือ ‘ดูโปร’ ‘จองคิว’ ‘คุยกับแอดมิน’ และตั้งทั้งสามเป็นลิงก์ URL หมด วันรุ่งขึ้นหัวหน้าทีมขายถามว่า ‘ใครกดจองคิวบ้าง จะได้โทรตาม’ หน้าสถิติบอกได้แค่ว่าปุ่มนี้ถูกกด 212 ครั้ง ไม่บอกว่าใคร
ตัวเลข 212 ครั้งไม่ช่วยให้ใครโทรหาใครได้ และไม่ช่วยให้รู้ว่าปุ่มไหนพาไปถึงยอดขาย ปัญหาไม่ได้อยู่ที่ข้อความ แต่อยู่ที่ชนิดของปุ่มที่เลือกตั้งแต่แรก เพราะปุ่มแต่ละชนิดทิ้งร่องรอยไว้ไม่เท่ากัน
ลองดูว่าปุ่มแต่ละแบบเกิดอะไรขึ้นหลังลูกค้ากด แล้วออกแบบให้ตอบคำถามของหัวหน้าทีมขายได้ทันทีเมื่อบรอดแคสต์ออกไป
ปุ่มใน Flex Message ทำอะไรได้สามแบบ และทิ้งร่องรอยต่างกัน
ตารางสรุปปุ่มที่ใช้บ่อยสามแบบ ยังมีชนิดอื่นอยู่อีก (เช่นตัวเลือกวันเวลา) ซึ่งชนิดและฟิลด์ที่รองรับให้ตรวจกับสเปก Messaging API ฉบับล่าสุดก่อนออกแบบ
| ชนิดปุ่ม | ลูกค้ากดแล้วเกิดอะไร | webhook ได้อะไร | วัดรายคนได้ไหม |
|---|---|---|---|
| Postback | ไม่มีข้อความโผล่ในแชทเอง เว้นแต่ตั้งให้แสดง | postback event พร้อม userId และ data ที่เรากำหนด | ได้ทันที |
| Message | ข้อความถูกส่งเหมือนลูกค้าพิมพ์เอง | message event พร้อมข้อความนั้น | ได้ และเห็นในแชทด้วย |
| URI | เปิด URL ในเบราว์เซอร์หรือ LIFF | ไม่มี event เข้า webhook | ได้เมื่อลิงก์พกรหัสเฉพาะคนหรือผ่าน LIFF |
ออกแบบ data ของ Postback ให้ยังอ่านออกในหกเดือนข้างหน้า
ฟิลด์ data คือข้อความที่คุณฝังไว้ในปุ่ม แล้วส่งกลับมาตรง ๆ เมื่อกด ความยาวสูงสุดมีเพดาน ตรวจตัวเลขล่าสุดในเอกสาร จึงควรสั้นและมีรูปแบบคงที่ ผมใช้คู่ key=value ต่อกันด้วย & ตามตัวอย่างสมมติ a=book&c=nov_promo&b=2&v=1
- a คือการกระทำที่ลูกค้าต้องการ เช่น book, quote, talk ตั้งเป็นคำสั้นที่ทีมอ่านแล้วเข้าใจตรงกัน
- c คือแคมเปญหรือรหัสบรอดแคสต์ เพื่อให้แยกโปรเดือนนี้ออกจากเดือนก่อน
- b คือตำแหน่งปุ่มในการ์ด ใช้เทียบว่าปุ่มบนหรือล่างถูกกดมากกว่า
- v คือเวอร์ชันของดีไซน์ ถ้าเปลี่ยนรูปแบบ data ในอนาคต ตัวนี้บอกให้ฝั่งรับรู้ว่าต้องอ่านแบบไหน
ปุ่ม Postback ที่กดแล้วไม่มีอะไรเกิดขึ้น ทำให้ลูกค้ากดซ้ำ
ถ้าตั้งปุ่มให้เงียบ ลูกค้าไม่เห็นผลอะไรเลยและมักกดซ้ำสองสามรอบ ผลคือ event เดียวเข้ามาซ้ำและรายงานคลิกเฟ้อ ตัวอย่างที่เห็นบ่อยในแชทคือ ‘กดจองแล้วนะคะ ไม่เห็นมีอะไรขึ้นเลย’ ซึ่งแอดมินต้องมานั่งตอบว่า ‘ระบบรับแล้วค่ะ’
แก้สองชั้น ชั้นแรกให้ฝั่งรับตอบกลับทันทีด้วยข้อความยืนยัน เช่น ‘รับคิวแล้ว เดี๋ยวแอดมินทักเรื่องวันเวลา’ โดย reply token ใช้ได้ครั้งเดียวและหมดอายุเร็ว ตรวจรายละเอียดในเอกสาร ชั้นที่สองให้ตัดซ้ำที่ฝั่งเก็บข้อมูล นับ userId กับ data เดียวกันที่เข้ามาในช่วงสั้น ๆ เป็นหนึ่งครั้ง รายละเอียด event อยู่ในการติดตาม postback ผ่าน webhook
ปุ่ม URL วัดได้ถ้าลิงก์พกตัวตนไปด้วย
- ใส่ utm และรหัสปุ่มลงในลิงก์ เช่น utm_content=btn2_book วิธีตั้งชื่อให้ไม่ยุ่งอยู่ในการสร้าง URL ติดตาม
- ถ้าส่งข้อความเดียวกันให้ทุกคน ลิงก์จะเท่ากันทุกคน จึงวัดได้ระดับกลุ่มเท่านั้น ถ้าต้องรู้รายคน ให้เปิดผ่านหน้า LIFF ที่อ่าน userId ของคนกดได้ ดูวิธีในการวัดคลิกผ่าน LIFF
- ทางเลือกสุดท้ายคือส่งแยกรายคนพร้อมลิงก์เฉพาะ แต่การส่งแยกอาจนับโควตาข้อความตามจำนวนที่ส่ง ตรวจเงื่อนไขนับของแผนบัญชีคุณก่อนตัดสินใจ
- ให้หน้าตัวกลางจดคลิกลงฐานข้อมูลก่อนส่งต่อ (redirect) แล้วค่อยพาไปปลายทาง วิธีนี้ทำให้ได้ตัวเลขคลิกของคุณเอง ไม่ต้องพึ่งหน้าสถิติของแพลตฟอร์มอย่างเดียว
เลือกชนิดปุ่มตามปลายทางของมัน
- จองคิว ขอใบเสนอราคา ปลายทางอยู่ในแชท ใช้ Postback แล้วให้แอดมินหรือบอตตอบต่อ ได้ userId มาครบ
- ดูสินค้าหรือโปรบนเว็บ ปลายทางอยู่นอกแชท ใช้ URI ที่ผ่านหน้ากลางจดการกด
- ถามคำถามที่เจอบ่อย ใช้ Message เพราะลูกค้าเห็นว่าตัวเองถามอะไร และคำถามค้างอยู่ในประวัติแชท
- โทรหาร้าน ใช้ลิงก์โทรศัพท์ การวัดจะต้องไปดูฝั่งสายเข้า ซึ่งแอดแยกให้ไม่ได้ ดูแนวคิดในการแท็กแชทเพื่อบันทึกว่าใครมาจากช่องทางไหน
ต่อ Postback เข้ากับยอดขายด้วย userId
เก็บทุก postback ลงตารางพร้อม userId, data และเวลา จากนั้นเทียบกับใบสั่งซื้อด้วย userId ตัวอย่างสมมติ ส่งโปร 3,000 คน ปุ่มจองคิวถูกกดโดย 210 คน ในนั้น 90 คนคุยต่อกับแอดมิน และ 40 คนจองจริง ตัวเลขชุดนี้ตอบหัวหน้าทีมขายได้ว่าควรโทรตามใคร คือ 120 คนที่กดแล้วไม่คุยต่อ
สรุป
ให้เลือกชนิดปุ่มจากคำถามที่ต้องตอบหลังส่ง ถ้าต้องรู้รายคนว่าใครกดอะไร ใช้ Postback หรือ Message ถ้าปลายทางต้องไปนอกแชท ใช้ URI พร้อมรหัสติดตามหรือหน้าตัวกลาง ไม่มีปุ่มชนิดไหนวัดได้ทุกอย่างโดยไม่ต้องออกแบบอะไรเพิ่ม
ก่อนส่งบรอดแคสต์ครั้งหน้า ให้เขียนลงกระดาษก่อนว่าปุ่มแต่ละปุ่มต้องตอบคำถามอะไรหลังส่ง ถ้าตอบไม่ได้ว่าจะวัดอย่างไร ให้เปลี่ยนชนิดปุ่มก่อนกดส่ง
- Postback ให้ userId และ data รายคน URI ไม่ส่งอะไรกลับ
- ออกแบบ data เป็นรูปแบบคงที่ มีแคมเปญ ตำแหน่งปุ่ม และเวอร์ชัน
- ตอบยืนยันทันทีหลัง Postback และตัดซ้ำที่ฝั่งเก็บข้อมูล
- ปุ่ม URI ต้องพกรหัสหรือผ่าน LIFF จึงจะวัดรายคนได้
- เทียบ userId ของคนกดกับใบสั่งซื้อ เพื่อบอกได้ว่าปุ่มไหนพาไปถึงยอด
คำถามที่พบบ่อย
Postback ต่างจาก Message action ตรงไหนในทางวัดผล
Message action ทำให้ข้อความปรากฏในแชทเหมือนลูกค้าพิมพ์เอง จึงเห็นได้ทั้งฝั่งแอดมินและฝั่งลูกค้า ส่วน Postback ส่งข้อมูลกลับโดยไม่ต้องมีข้อความ ทำให้แชทสะอาดกว่า แต่ลูกค้าอาจไม่รู้ว่าระบบรับคำสั่งแล้ว จึงควรตอบยืนยันกลับ
ปุ่มใน Flex Message ใส่ UTM ได้ไหม
ปุ่มชนิด URI ใส่พารามิเตอร์ต่อท้ายลิงก์ได้ตามปกติ แต่ UTM จะเก็บข้อมูลได้แค่ฝั่งเว็บหลังคลิก และไม่ผูกกับตัวบุคคลในแชทเอง ถ้าต้องผูกกับ userId ต้องผ่านหน้า LIFF หรือหน้ากลางที่อ่านตัวตนได้
ควรเก็บข้อมูลส่วนตัวไว้ใน data ของ Postback ไหม
ไม่ควร เพราะ data ถูกฝังในเนื้อข้อความที่ส่งออกไป ให้ใส่แค่รหัสสั้น ๆ แล้วหาข้อมูลจริงจากฐานข้อมูลฝั่งคุณโดยใช้ userId ที่ webhook ส่งมาให้แยกต่างหาก
ทำไมจำนวนกดใน webhook ไม่ตรงกับหน้าสถิติของ OA
สองแหล่งนับต่างกัน หน้าสถิติอาจนับตามหน่วยของแพลตฟอร์ม ส่วน webhook นับทุก event ที่เข้ามาถึงเซิร์ฟเวอร์ รวมถึงการกดซ้ำและ event ที่ตกหล่นเมื่อเซิร์ฟเวอร์ล่ม ถ้าตัวเลขต่างกันมาก ให้ตรวจการตัดซ้ำและบันทึกความล้มเหลวของ webhook ก่อน
ควรมีกี่ปุ่มในหนึ่งการ์ด
ยิ่งมีปุ่มมาก ยิ่งแยกไม่ออกว่าอะไรคือการกระทำหลัก ผมแนะนำหนึ่งปุ่มหลักและอีกหนึ่งปุ่มรอง ปุ่มที่สามมักได้คลิกน้อยจนข้อมูลไม่พอสรุปอะไร
เทียบปุ่มสองตำแหน่งได้อย่างไร
ใส่ค่า b ใน data ต่างกันและสลับตำแหน่งปุ่มระหว่างสองรอบส่งที่กลุ่มผู้รับเทียบกันได้ เพื่อแยกผลของตำแหน่งออกจากผลของข้อความ ควรสุ่มผู้รับเข้าสองกลุ่มด้วยกฎเดียวกัน
อ่านต่อแบบเจาะลึก
รู้ว่าโฆษณาเข้า LINE ทำยอดขายจริงแค่ไหน
linli ติดตามลูกค้าตั้งแต่คลิกโฆษณา กดเพิ่มเพื่อน ทักแชท จนปิดการขาย พร้อมส่ง Conversion กลับแพลตฟอร์มโฆษณา เริ่มฟรี 14 วัน
ทดลองใช้ฟรี 14 วัน