← กลับไปหน้าบทความ
LINE Tracking

ลูกค้ากดสั่งซื้อใน LINE แล้วข้อมูลหาย: ปัญหา Session ขาดตอนใน In-App Browser และวิธีแก้ด้วย Deep Link

02 ส.ค. 04:12 · อ่าน 2 นาที
ลูกค้ากดสั่งซื้อใน LINE แล้วข้อมูลหาย: ปัญหา Session ขาดตอนใน In-App Browser และวิธีแก้ด้วย Deep Link

สรุปสั้น ๆ

In-App Browser ของ LINE ไม่ใช่เบราว์เซอร์เต็มรูปแบบ มันตัดขาด session และคุกกี้บางส่วนที่แอปภายนอกคาดหวังไว้ deep link ที่ตั้งค่าถูกวิธีคือทางที่ทำให้ข้อมูลสำคัญอย่าง Click ID เดินทางข้ามจาก LINE ไปยังเว็บชำระเงินได้โดยไม่หลุดหาย

ร้านขายคอร์สเรียนออนไลน์แห่งหนึ่งพบว่ายอดคลิกลิงก์ชำระเงินจากในแชท LINE สูงมาก แต่ยอดชำระเงินจริงกลับต่ำกว่าที่ควรจะเป็นเกือบครึ่ง ทั้งที่ราคาคอร์สไม่ได้แพงและลูกค้าก็ยืนยันความสนใจในแชทชัดเจนแล้ว

พอไล่ดูพฤติกรรมจริง พบว่าปัญหาไม่ได้อยู่ที่ราคาหรือความสนใจ แต่อยู่ที่ตัว In-App Browser (IAB) ของ LINE เอง ซึ่งเป็นเบราว์เซอร์ขนาดเล็กที่ฝังอยู่ในแอป LINE เวลาลูกค้ากดลิงก์จากในแชท มันจะเปิดหน้าเว็บภายในกรอบของแอป LINE แทนที่จะเปิดเบราว์เซอร์เต็มรูปแบบอย่าง Chrome หรือ Safari ซึ่ง IAB นี้มีข้อจำกัดหลายอย่างที่ทำให้ระบบชำระเงินหรือระบบ tracking บางตัวทำงานไม่สมบูรณ์

บทความนี้จะอธิบายว่า session ขาดตอนแบบนี้เกิดขึ้นตรงไหน แล้ว deep link ที่ตั้งค่าถูกวิธีช่วยแก้ปัญหานี้ได้อย่างไร

ทำไม In-App Browser ถึงทำให้ session ขาด

IAB ของ LINE ถูกออกแบบมาให้เบาและเร็ว เหมาะกับการเปิดดูหน้าเว็บสั้น ๆ ไม่ได้ออกแบบมาให้รองรับระบบที่ซับซ้อนอย่างเกตเวย์ชำระเงินหรือสคริปต์ tracking หลายชั้น มันมีการจัดการคุกกี้และ local storage ที่ต่างจากเบราว์เซอร์เต็มรูปแบบ บางกรณีคุกกี้ที่เว็บชำระเงินตั้งไว้ก่อนหน้าจะไม่ถูกจดจำ หรือถูกล้างทิ้งเร็วกว่าปกติ

อีกปัญหาที่พบบ่อยคือ IAB บางเวอร์ชันบล็อกการ redirect กลับของธนาคารหรือ payment gateway บางเจ้า ทำให้หลังจากลูกค้าจ่ายเงินเสร็จ หน้าเว็บไม่สามารถ redirect กลับมายืนยันได้ตามที่ตั้งไว้ ผลคือระบบไม่รู้ว่าการชำระเงินสำเร็จ ทั้งที่เงินเข้าบัญชีจริงแล้ว

Deep link คือลิงก์ที่ถูกออกแบบมาให้เปิดแอปที่กำหนดโดยตรง แทนที่จะเปิดผ่านเบราว์เซอร์ในตัว ในบริบทนี้ เทคนิคที่ใช้บ่อยคือการสร้างลิงก์ที่บังคับให้ระบบเปิดผ่านเบราว์เซอร์ภายนอก (external browser) ของเครื่อง แทนที่จะปล่อยให้ IAB เปิดเอง เพราะเบราว์เซอร์ภายนอกรองรับคุกกี้และ redirect ได้เต็มรูปแบบกว่ามาก

หลักการคือ แทนที่จะให้ปุ่มในแชทลิงก์ตรงไปหน้าชำระเงินเลย ให้ลิงก์นั้นผ่านหน้ากลางเล็ก ๆ ก่อน (landing bounce page) ที่มีหน้าที่ตรวจจับว่าเปิดจาก IAB หรือไม่ ถ้าใช่ ให้เด้งเปิดเบราว์เซอร์ภายนอกโดยอัตโนมัติพร้อมแนบ Click ID และพารามิเตอร์สำคัญทั้งหมดต่อท้าย URL ไปด้วย

วิธีตั้งค่าแบบคร่าว ๆ

  1. สร้างหน้ากลาง (bounce page) เล็ก ๆ ที่โฮสต์บนโดเมนของธุรกิจเอง มีหน้าที่แค่ตรวจจับ user agent ว่าเป็น LINE IAB หรือไม่
  2. ถ้าตรวจพบว่าเปิดจาก IAB ให้ใช้สคริปต์เด้งเปิดผ่านเบราว์เซอร์ภายนอก เช่นผ่าน scheme พิเศษที่ระบบปฏิบัติการรองรับ
  3. แนบ Click ID, UTM, และรหัสอ้างอิงลูกค้าทั้งหมดต่อท้าย URL ก่อนเด้งออกไป เพื่อไม่ให้ข้อมูลเหล่านี้หายระหว่างการสลับเบราว์เซอร์
  4. ที่หน้าชำระเงินปลายทาง ตั้งให้ดึงค่าพารามิเตอร์เหล่านี้มาบันทึกทันทีที่โหลดหน้า ก่อนที่ผู้ใช้จะเริ่มกรอกข้อมูลชำระเงิน เผื่อกรณีที่ปิดหน้าไปกลางคันโดยไม่จ่ายเงินสำเร็จ
  5. ทดสอบบนอุปกรณ์จริงทั้ง iOS และ Android เพราะพฤติกรรมการเด้งเบราว์เซอร์ของสองระบบปฏิบัติการนี้ต่างกัน บางเวอร์ชันของ iOS เข้มงวดกว่า Android มาก

กรณีที่อาจไม่จำเป็นต้องทำถึงขั้นนี้

ถ้าธุรกิจปิดการขายจบในแชทเลย ไม่มีการส่งลิงก์ออกไปหน้าชำระเงินภายนอก (เช่นรับโอนแล้วแจ้งสลิปในแชท) ปัญหา session ขาดตอนแบบนี้จะไม่ค่อยเกิดขึ้น เพราะไม่มีการสลับเบราว์เซอร์เลย ควรประเมินก่อนว่าธุรกิจตัวเองมีจุดที่ต้องส่งลิงก์ออกนอกแชทจริงหรือไม่ ก่อนลงทุนเวลาตั้งระบบนี้

แต่ถ้าธุรกิจมีระบบชำระเงินออนไลน์ผ่านลิงก์ หรือใช้ ฟอร์มเก็บข้อมูลก่อนเข้าแชท ที่ต้องเปิดนอกแอป LINE เรื่องนี้คุ้มค่าที่จะทำ เพราะกระทบยอด Conversion ที่นับได้โดยตรง

สรุป

ปัญหา session ขาดตอนใน In-App Browser เป็นเรื่องที่ธุรกิจส่วนใหญ่ไม่รู้ตัวจนกว่าจะมาไล่เทียบยอดเงินจริงกับยอดที่ระบบรายงาน เพราะมันไม่ได้ทำให้เกิด error ที่มองเห็นชัด แค่ทำให้ตัวเลขเงียบ ๆ หายไปทีละนิด

ถ้าธุรกิจมีจุดที่ต้องส่งลิงก์ออกจากแชทไปหน้าชำระเงินภายนอกเป็นประจำ การลงทุนเวลาทำหน้ากลางตรวจจับและเด้งเบราว์เซอร์นี้ คุ้มกว่าที่คิด เพราะมันแก้ปัญหาที่ต้นตอ ไม่ใช่แค่ปะรอยรั่วทีละจุด

  • In-App Browser ของ LINE มีข้อจำกัดเรื่องคุกกี้และการ redirect ที่ต่างจากเบราว์เซอร์เต็มรูปแบบ
  • หน้ากลางที่ตรวจจับและเด้งเปิดเบราว์เซอร์ภายนอกคือทางแก้ที่ตรงจุดที่สุด
  • ควรทดสอบแยก iOS และ Android เพราะพฤติกรรมการเด้งเบราว์เซอร์ต่างกัน

คำถามที่พบบ่อย

ปัญหานี้เกิดกับ Android หรือ iOS มากกว่ากัน

โดยรวมพบทั้งสองระบบ แต่ iOS มักเข้มงวดเรื่องคุกกี้และการเด้งเบราว์เซอร์มากกว่า Android เล็กน้อย ควรทดสอบแยกทั้งสองระบบก่อนเปิดใช้งานจริง

ทำ deep link แล้วต้องแก้ไฟล์เว็บชำระเงินเดิมด้วยไหม

ส่วนใหญ่ไม่ต้องแก้เว็บชำระเงินเดิมทั้งหมด แค่เพิ่มหน้ากลางสำหรับตรวจจับและเด้งเบราว์เซอร์ก่อนเข้าสู่หน้าเดิม และปรับหน้าเดิมให้อ่านค่าพารามิเตอร์ที่แนบมาเพิ่มเติม

ถ้าไม่แก้ปัญหานี้ จะเสียหายมากแค่ไหน

ขึ้นอยู่กับสัดส่วนลูกค้าที่ชำระผ่านลิงก์ภายนอก บางธุรกิจพบว่า Conversion ที่ไม่ถูกนับอาจสูงถึง 20-40% ของยอดจ่ายจริง เพราะ redirect กลับไม่สำเร็จ

มีวิธีตรวจสอบง่าย ๆ ไหมว่าธุรกิจเรามีปัญหานี้อยู่หรือเปล่า

ลองเทียบยอดเงินที่เข้าบัญชีจริงในเดือนหนึ่ง กับยอด Conversion ที่ระบบ tracking รายงาน ถ้าต่างกันมากผิดปกติโดยเฉพาะช่วงที่ลูกค้าชำระผ่านลิงก์จากในแชท ควรสงสัยเรื่องนี้ไว้ก่อน

deep link นี้ใช้ได้กับแพลตฟอร์มแชทอื่นนอกจาก LINE ไหม

หลักการเดียวกันใช้ได้กับแอปแชทอื่นที่มี in-app browser เช่นเดียวกัน แต่รายละเอียดการตรวจจับ user agent และวิธีเด้งเบราว์เซอร์อาจต่างกันไปตามแต่ละแพลตฟอร์ม

ต้องทำร่วมกับ UID mapping ด้วยไหม

แนะนำให้ทำร่วมกัน เพราะ deep link ช่วยรักษา Click ID ให้รอดจากการเปิดผ่านเบราว์เซอร์ ส่วนการผูกกับ LINE UID ช่วยยืนยันว่าคนที่จ่ายเงินคือคนเดียวกับที่คุยในแชท ทั้งสองอย่างเสริมกัน ไม่ใช่ทำแทนกันได้

อยากวัดผลโฆษณาเข้า LINE ให้ถึงยอดขาย?

ทดลองใช้ linli ฟรี 14 วัน ไม่ต้องใช้บัตรเครดิต

เริ่มทดลองใช้ฟรี

บทความที่เกี่ยวข้อง

คู่มือเริ่มต้น LINE Conversion Tracking ในไทย ตั้งแต่ติดตั้งจนวัดยอดขายจริง
คู่มือเริ่มต้น LINE Conversion Tracking ในไทย ตั้งแต่ติดตั้งจนวัดยอดขายจริง
สำหรับคนที่เพิ่งเริ่มทำ LINE Conversion Tracking บทความนี้รวมทุกขั้นตอนตั้งแต่นิยาม Funnel ติดตั้งระบบ เชื่อมแพลตฟอร์ม จนถึงวางแผนช่วงทดลองใช้ให้ตัดสินใจได้จริงก่อนหมด Trial
LINE Tracking กับ PDPA ธุรกิจไทยควรเก็บข้อมูลอย่างไรให้เหมาะสม
LINE Tracking กับ PDPA ธุรกิจไทยควรเก็บข้อมูลอย่างไรให้เหมาะสม
ระบบ Tracking ไม่ได้ทำให้ธุรกิจผ่าน PDPA โดยอัตโนมัติ บทความนี้อธิบายว่าธุรกิจยังต้องรับผิดชอบอะไรเองบ้าง ตั้งแต่ Legal Basis ไปจนถึงการจำกัดข้อมูลที่ส่งไปแพลตฟอร์มโฆษณา
วิธีติดตั้ง Tracking Link และ Tracking Script สำหรับปุ่ม LINE บนเว็บไซต์
วิธีติดตั้ง Tracking Link และ Tracking Script สำหรับปุ่ม LINE บนเว็บไซต์
ก่อนติดตั้ง Tracking Link หรือ Script บนปุ่ม LINE ต้องเตรียมอะไรบ้าง บทความนี้เล่าขั้นตอนจริงตั้งแต่สิทธิ์เข้าถึงเว็บ ไปจนถึง Test Journey ก่อนเปิดใช้งาน ไม่ใช่แค่ก็อปโค้ดไปวาง