การส่งข้อความในแอปเป็นหนึ่งในวิธีที่ดีที่สุดในการเข้าถึงผู้ใช้ขณะที่พวกเขากำลังอยู่ในแอปของคุณ ทางเลือกเดิมที่ใช้กันมานานคือ HTML in-app editor แบบคลาสสิก เหมาะกับดีไซน์ที่กำหนดเองและซับซ้อน แต่ค่อนข้างหนักสำหรับการทดสอบไอเดียเร็ว ๆ ที่ทีมการตลาดต้องทำแทบทุกวันครับ
ตอนนี้ ข้อความในแอปแบบ native ให้ทีมการตลาดอิสระเต็มที่ เลือกเลย์เอาต์สำเร็จรูปในตัวแก้ไขได้เลย ปรับแต่งเฉพาะบุคคล แล้วยิงแคมเปญได้ในไม่กี่นาที โดยไม่ต้องรอดีไซเนอร์หรือทีมพัฒนา
คู่มือนี้ครอบคลุมว่า native in-app คืออะไร ปรับแต่งอย่างไร และเลือกเลย์เอาต์ที่เหมาะกับงานแต่ละแบบยังไง — ไม่ว่าจะเป็น onboarding, conversion, winback หรือ retention
📖 เพิ่งรู้จักช่องทางนี้ใช่ไหม เริ่มจาก ข้อความในแอปคืออะไรและทำไมถึงได้ผล
7 เลย์เอาต์ ไม่ต้องเขียนโค้ด พรีวิวสดได้ทันที
native in-app message คืออะไร
มี 2 วิธีในการสร้างข้อความในแอป
HTML in-app แบบคลาสสิก คือหน้าเว็บที่กำหนดเองซึ่ง SDK แสดงเป็น overlay ทับ UI ของแอปคุณ ควบคุมดีไซน์ได้เต็มที่และ render แบบเว็บ เหมาะเมื่อคุณต้องการสิ่งที่เลย์เอาต์สำเร็จรูปทำไม่ได้ เช่น ฟอร์ม feedback หรือแบบสอบถาม, เนื้อหาแบบ interactive ที่กำหนดเอง หรือดีไซน์เฉพาะทั้งหมดที่อัปโหลดเป็นไฟล์ ZIP
ส่วน native in-app ต่างออกไป: SDK วาดขึ้นด้วยคอมโพเนนต์ของแพลตฟอร์มเองจากเลย์เอาต์สำเร็จรูปที่คุณกรอกในตัวแก้ไข ไม่มี HTML ไม่มี web view เปิดได้เร็วกว่า เคลื่อนไหวลื่นกว่า และดูเหมือนเป็นส่วนหนึ่งของแอปจริง ๆ
7 รูปแบบ native in-app และเวลาที่ควรใช้แต่ละแบบ
Pushwoosh มีเลย์เอาต์ native ให้เลือก 7 แบบในตัวแก้ไข in-app แล้วจะรู้ได้ยังไงว่าควรใช้แบบไหน
การเลือกเลย์เอาต์คือคำถามเรื่องการขัดจังหวะ: ข้อความนี้ควรกินพื้นที่หน้าจอและความสนใจของผู้ใช้มากแค่ไหนในตอนนั้น ตอบคำถามนี้ก่อน แล้วเลย์เอาต์จะเลือกตัวเองครับ
- ไม่ขัดจังหวะ: banner แถบกะทัดรัดติดด้านบนหรือด้านล่าง ผู้ใช้ทำสิ่งที่ตั้งใจมาต่อได้เลย ข้อความแค่ปรากฏอยู่ตรงนั้น เหมาะกับการเตือนที่รอได้อีกสักแตะสองแตะ เช่น ขั้นตอนที่ยังทำไม่เสร็จ ฟีเจอร์ใหม่ หรือรางวัลเล็ก ๆ
- ขัดจังหวะนิดเดียว: sheet แผงเลื่อนขึ้นจากด้านล่าง มี handle ให้ลากปิดได้ มันบอกว่า “มีเรื่องเล็ก ๆ เกี่ยวกับสิ่งที่คุณกำลังดูอยู่” action ที่เกี่ยวกับ context ในเซสชันนั้นเหมาะกับที่นี่ เช่น บันทึกไอเทมนี้ เปิดใช้ setting นี้ ยืนยันตัวเลือกนี้
- ขัดจังหวะสั้น ๆ: modal การ์ดอยู่กึ่งกลางเหนือหน้าจอที่หรี่ลง หยุดผู้ใช้ไว้ แต่แค่เพื่อการตัดสินใจครั้งเดียว เหมาะกับข้อเสนอ, อัปเดต และช่วงเวลาที่ต้องตอบใช่/ไม่ใช่
- กินเต็มจอ: fullscreen, stories, carousel, video สำหรับช่วงเวลาที่ผู้ใช้ยินดีจะหยุดดู เช่น onboarding, โปรโมชันใหญ่ หรือ walkthrough สินค้า ใช้เมื่อผลลัพธ์ที่ได้คุ้มกับการหยุดผู้ใช้เต็มจอ ไม่ใช่เพราะเลย์เอาต์ดูสวยในตัวแก้ไข
บันไดนี้บอกว่าควรกินพื้นที่หน้าจอแค่ไหน ต่อไปมาดูแต่ละเลย์เอาต์แยกกัน: มันคืออะไร เหมาะกับช่วงไหน อยู่ใน lifecycle stage ไหน และควรดู KPI ตัวไหนครับ
| เลย์เอาต์ | คืออะไร | ช่วงเวลาที่เหมาะ | Lifecycle stage | KPI ที่ควรดู |
|---|---|---|---|---|
| Banner | แถบกะทัดรัด ด้านบนหรือล่าง ไม่บล็อกการใช้งาน | การเตือนที่ไม่ควรตัดจังหวะเซสชัน | Engagement, retention | CTR |
| Sheet | แผงด้านล่างพร้อม drag handle | action ที่เกี่ยวกับ context บนหน้าจอปัจจุบัน | Engagement, conversion | Interaction rate, journey goal |
| Modal | การ์ดกึ่งกลางเหนือพื้นหลังที่หรี่ลง | ข้อเสนอหรืออัปเดตที่ต้องตัดสินใจครั้งเดียว | Conversion, winback | CTR, journey goal |
| Fullscreen | ภาพปกเต็มจอพร้อมข้อความและปุ่ม | Onboarding หรือโปรโมชันใหญ่ | Onboarding, conversion | Journey goal (activation, purchase) |
| Stories | สไลด์เต็มจอต่อเนื่องพร้อม progress bar | ชุดขั้นตอนหรือฟีเจอร์ต่อเนื่อง | Onboarding, feature adoption | Interactions, journey goal (feature used) |
| Carousel | การ์ดเต็มจอปัดได้พร้อมจุดแบ่งหน้า | การเลือกสินค้าหรือแคตตาล็อก | Engagement, conversion | CTR to product, journey goal |
| Video | เพลเยอร์ HLS หรือ MP4 เต็มจอ พร้อมข้อความและปุ่มซ้อนทับ | การสาธิตสินค้าหรือฟีเจอร์ | Onboarding, conversion | Interactions on the overlay button, journey goal |
ปรับแต่งข้อความในแอปของคุณ
เลย์เอาต์ native เป็นแค่ครึ่งหนึ่งของคุณค่า อีกครึ่งคือทุกฟิลด์ในนั้นเปลี่ยนได้ตามผู้ใช้แต่ละคน
3 เทคนิคการปรับแต่งเฉพาะบุคคลนี้ครอบคลุมสิ่งที่นักการตลาดส่วนใหญ่ต้องการ:
Dynamic content ดึงข้อมูลผู้ใช้ตัวไหนก็ได้มาใส่ในข้อความ เช่น ชื่อ, แพลน, เมือง, หมวดหมู่ที่เพิ่งซื้อล่าสุด พร้อม format modifier ให้ข้อมูลออกมาดูดี แล้วใช้ Liquid สำหรับ logic แบบมีเงื่อนไข เช่น โชว์ข้อเสนอหนึ่งให้ผู้ใช้ trial อีกข้อเสนอให้ subscriber หรือสลับ CTA ตาม segment
การแปลภาษา (Localization) native in-app เริ่มต้นด้วยภาษาเดียว เพิ่มภาษาอื่นเข้าไป Pushwoosh จะคัดลอกเนื้อหา default ทั้งข้อความ รูปภาพ และป้ายปุ่ม ไปยังทุกภาษาใหม่ให้คุณแปลต่อ ผู้ใช้แต่ละคนจะเห็นเวอร์ชันที่ตรงกับภาษาของอุปกรณ์ตัวเอง สำหรับตลาดไทยที่มีทั้งลูกค้าไทย ต่างชาติ และนักท่องเที่ยว ฟีเจอร์นี้ทำให้สร้างข้อความครั้งเดียวแต่พูดภาษาของทุกกลุ่มผู้ใช้ได้
ตัวสร้าง Barcode และ QR code ตัวแก้ไข native สร้าง barcode หรือ QR code ให้อัตโนมัติ และดึงค่าจาก device tag รูปแบบ {Coupon|String|} ได้ ผู้ใช้แต่ละคนได้โค้ดสแกนได้ของตัวเอง แสดงผลบนอุปกรณ์เลย ไม่ต้องโฮสต์อะไรเพิ่ม ไม่ต้องสร้างรูปแยก สำหรับผู้ใช้ไทยที่คุ้นเคยกับการสแกน QR จ่ายเงินผ่าน PromptPay อยู่แล้วในชีวิตประจำวัน คูปองแบบสแกนได้แทบไม่มีแรงเสียดทานเลยครับ
native in-app ใช้งานจริง: use case และตัวอย่าง
นี่คือหน้าตาจริงในแอปจริง แต่ละเคสด้านล่างเริ่มจากปัญหาที่คุณน่าจะเคยเจอใน funnel ของตัวเอง ระบุเลย์เอาต์ที่แก้ปัญหานั้น แล้วเดินผ่านขั้นตอนการตั้งค่าใน Pushwoosh
👋 Onboarding: ต้อนรับผู้ใช้ด้วย fullscreen หรือ stories
ปัญหา: ผู้ใช้ใหม่เปิดแอปครั้งแรกแล้วต้องหาคุณค่าของแอปเอาเอง เซสชันแรกส่วนใหญ่จบลงโดยที่ผู้ใช้ยังไม่เจอสิ่งนั้น สำหรับตลาดไทยที่ Android ครองส่วนแบ่งราว 60% และ iOS ราว 40% การออกแบบ onboarding ที่ใช้ได้ดีทั้งสองแพลตฟอร์มจึงสำคัญกว่าตลาดที่เอียงไปทางใดทางหนึ่ง
ความสามารถ: fullscreen ครองหน้าจอแรกเพื่อคำทักทายที่ชัดเจนหนึ่งข้อความและ action เดียว ส่วน stories พาผู้ใช้ไล่ดูฟีเจอร์หลักทีละสไลด์ที่แตะได้ พร้อม progress bar บอกว่าเหลืออีกกี่ขั้น
ใน Pushwoosh: ตั้งค่าให้ทริกเกอร์ fullscreen ตอน app_open ครั้งแรก แสดงคุณค่าหลักพร้อม CTA เดียว ตามด้วยข้อความแบบ stories หนึ่งสไลด์ต่อหนึ่งฟีเจอร์สำคัญ เพื่อดันให้ผู้ใช้ลองใช้งานจริงครั้งแรก
📖 อ่านเพิ่มเติม: ข้อความในแอปต้อนรับผู้ใช้
💸 Winback: modal พร้อมคูปองที่สแกนได้
ปัญหา: ลูกค้าที่หายไปนานต้องการเหตุผลจริง ๆ ที่จะกลับมา ไม่ใช่แค่ข้อความ “เราคิดถึงคุณ”
ความสามารถ: เทมเพลต native in-app ที่ตั้งเป็น click action ของ push notification เมื่อผู้ใช้แตะ จะเปิด modal ที่มี QR code เฉพาะบุคคลจาก device tag {Coupon|String|}
ใน Pushwoosh: แบ่งกลุ่มผู้ซื้อที่ไม่มีความเคลื่อนไหว 21 วันขึ้นไป แสดง modal ที่มีโค้ดส่วนตัวของแต่ละคน สแกนได้ที่เคาน์เตอร์เลย ไม่ต้องพึ่งรูปจากบุคคลที่สาม ช่วงก่อน 11.11 หรือ 12.12 Year-end Sale เป็นจังหวะที่แคมเปญ winback แบบนี้ได้ผลดีเป็นพิเศษ เพราะลูกค้าเก่าพร้อมกลับมาซื้อซ้ำอยู่แล้ว
📖 อ่านรายละเอียดฉบับเต็มเรื่อง scannable coupon: การตลาดด้วยคูปองสำหรับแอปมือถือ
🛍️ In-session: carousel ที่ทำงานเหมือนแคตตาล็อก
ปัญหา: ข้อเสนอเดียวที่ตายตัวมักไม่ตรงกับสิ่งที่ลูกค้าคนนั้นต้องการจริง ๆ
ความสามารถ: เลย์เอาต์ carousel การ์ดเต็มจอที่ปัดได้ โดย Liquid ดึงชื่อหมวดหมู่และข้อความมาจากหมวดหมู่ที่ผู้ใช้เพิ่งดูล่าสุด
ใน Pushwoosh: ทริกเกอร์เมื่อเกิด event ดูหมวดหมู่สินค้า แสดง carousel 4 การ์ด: “คัดมาเพื่อคุณในหมวด {LastCategory}” แต่ละการ์ดมีรูปสินค้า ราคา และปุ่มไปหน้าสินค้า ใช้ได้ดีเป็นพิเศษกับช่วงแคมเปญใหญ่อย่างสงกรานต์หรือ 11.11 ที่ลูกค้าเปิดแอปดูของหลายหมวดในเซสชันเดียว
💳 Retention nudge: banner ที่ไม่ขัดจังหวะ
ปัญหา: แอปการเงินหรือ budgeting มีผู้ใช้ที่สมัครแล้ว เชื่อมบัญชีไปหนึ่งบัญชี แล้วไม่เคยยืนยันตัวตนจนเสร็จ modal ทุกครั้งที่เปิดแอปมีแต่จะฝึกให้ผู้ใช้ปิด modal เป็นนิสัย
ความสามารถ: เลย์เอาต์ banner ติดด้านล่าง แสดงอยู่ทุกหน้าจนกว่าจะทำขั้นตอนนั้นเสร็จ ปิดได้โดยไม่เสียเซสชัน
ใน Pushwoosh: เมื่อผู้ใช้ยังยืนยันตัวตนไม่เสร็จ หรือยังไม่ได้ใช้ฟีเจอร์หนึ่ง แสดง banner — “ยืนยันตัวตนให้เสร็จเพื่อปลดล็อกการโอนเงิน” แตะครั้งเดียว ไม่ขัดจังหวะเลย แอปธนาคารไทยหลายเจ้าส่งการแจ้งเตือนแบบนี้ควบคู่กับ LINE Official Account อยู่แล้ว native in-app แบบ banner ก็ทำหน้าที่เดียวกันได้ในตัวแอปเอง โดยไม่ต้องพึ่งช่องทางนอกแอป
สร้าง native in-app แรกของคุณใน 5 ขั้นตอน
เส้นทางเต็มจากเทมเพลตไปจนถึงข้อความที่ใช้งานจริงใน Customer Journey Builder:
- 1
เลือกเลย์เอาต์ตามระดับการขัดจังหวะ
ตัดสินใจก่อนว่าข้อความนี้ควรกินพื้นที่หน้าจอแค่ไหน แล้วค่อยเลือกรูปแบบการแสดงผล
- 2
สร้างในตัวแก้ไข native
Content → In-apps → Create in-app → Create native rich media ฟิลด์ต่าง ๆ แบ่งเป็นกลุ่ม Content (ข้อความ, รูปภาพจาก URL หรือ Media storage), Config (สี, พื้นหลัง, พฤติกรรม) และ Actions (ปุ่มและสิ่งที่ปุ่มทำ) คู่มือแบบละเอียด ครอบคลุมทุกฟิลด์
- 3
เพิ่ม tag และ Liquid
ใส่ชื่อ, segment, ข้อเสนอ หรือรหัสคูปอง เพื่อให้ผู้ใช้แต่ละคนเห็นเวอร์ชันของตัวเอง
- 4
เช็ค live preview
ตัวแก้ไข render ข้อความออกมาเหมือนที่จะแสดงบนอุปกรณ์จริง เช็คตรงนี้ก่อนปล่อยออกไป
- 5
ยิงแคมเปญ
ตั้ง trigger และ audience วาง in-app node ไว้ใน flow แล้วเปิดใช้งานจริง
🚨 ข้อผิดพลาดที่มักทำให้ native in-app พังแบบเงียบ ๆ:
- ใช้ SDK เก่าเกินไป Sheet, carousel และ banner ต้องใช้ iOS 7.2.1+ / Android 6.10.1+ ส่วน video ต้องใช้ Android 6.11.0+ ต่ำกว่านี้จะไม่แสดงผลเลย
- คิดแบบ HTML native ไม่ใช่ web view คุณต้องสร้างจากบล็อกและออกแบบตามเลย์เอาต์ ไม่ใช่ตามหน้าเว็บ
- ยิงแคมเปญโดยไม่พรีวิวก่อน live preview มีไว้เพื่อไม่ให้ข้อความที่ render พังไปถึงผู้ใช้ ใช้มันทุกครั้งครับ
เพิ่ม engagement ผู้ใช้ระหว่างเซสชันด้วย native in-app ของ Pushwoosh
native in-app message ให้คุณเลือกเลย์เอาต์สำเร็จรูป 7 แบบ ปรับแต่งเฉพาะบุคคลได้ในทุกแบบ และมี live preview ที่จับปัญหาก่อนจะไปถึงผู้ใช้จริง — ไม่ต้องพึ่ง HTML ไม่ติดคอขวดเรื่องดีไซน์ เลือกช่วงเวลาที่สำคัญที่สุดสำหรับแอปของคุณ ไม่ว่าจะเป็นขั้นตอน onboarding, winback หรือ nudge กลางเซสชัน แล้วสร้าง in-app ที่รองรับช่วงเวลานั้นครับ
บทความที่เกี่ยวข้อง
ดูทั้งหมด