ใช้คู่มือนี้วัดผล Landing Page, หน้าสินค้า และ Checkout ของ Brand ที่เปิด Landing page measurement เพื่อหาว่าคนติดตรงไหน และเลือกสิ่งที่จะปรับต่อจากข้อมูลจริง
เริ่มจากเส้นทาง เข้าหน้า → กดซื้อ → เข้า Checkout → เริ่มกรอกชื่อ → สั่งซื้อสำเร็จ (Purchase) → ชำระแล้ว โดยแยกพฤติกรรมบนหน้าเว็บออกจากผลออเดอร์ที่ระบบบันทึกสำเร็จแล้ว
หน้านี้มี event หลักและ event รองอะไรบ้าง?
Mockup แบบโต้ตอบ · ทุก event ในกล่องนี้เป็นตัวอย่าง ไม่เชื่อมกับ GA4/Mixpanel และไม่สร้างออเดอร์จริง ใช้ข้อความสมมติในการทดลอง
- 1. Landing page
- 2. Checkout
- 3. สั่งซื้อสำเร็จ
เหตุการณ์ของหน้าจอนี้: Landing page
รายการเปลี่ยนตามหน้าจอที่ทดลอง บาง event เกิดเมื่อเข้าเงื่อนไขเท่านั้น
Event หลัก วัดเส้นทางและผลลัพธ์
page_viewเปิดหน้า Landing pagebuy_clickกดปุ่มสั่งซื้อเพื่อไป Checkout
Event รอง ช่วยวิเคราะห์จุดติดขัด
cta_viewเห็นปุ่ม ≥50% นาน ≥1 วินาทีcta_clickกด CTA เพื่อดูว่าปุ่มหรือตำแหน่งไหนถูกกด
Event หลัก วัดเส้นทางและผลลัพธ์
page_viewเปิดหน้า Checkoutinitiate_checkoutมาถึงฟอร์ม Checkoutcheckout_name_startช่องชื่อเริ่มมีข้อความครั้งแรก
Event รอง ช่วยวิเคราะห์จุดติดขัด
checkout_step_viewเริ่มปฏิสัมพันธ์กับขั้นข้อมูลติดต่อcheckout_field_interactionแตะหรือใช้งานช่องชื่อcheckout_validation_errorส่งฟอร์มทั้งที่ชื่อยังว่าง · เกิดเมื่อกรอกไม่ผ่านเท่านั้นcheckout_step_completeข้อมูลผ่านการตรวจของแต่ละขั้นก่อนส่ง
Event หลัก วัดเส้นทางและผลลัพธ์
purchaseระบบบันทึกออเดอร์สำเร็จ · ไม่ต้องรอร้านยืนยันorder_paidบันทึกชำระแล้ว · เกิดภายหลังได้ ไม่เกิดจากการส่งฟอร์มเฉย ๆ
Event รอง ช่วยวิเคราะห์จุดติดขัด
order_createdหลักฐานการสร้างออเดอร์เดียวกับ Purchase · ไม่ใช่ยอดซื้อเพิ่ม
หลัก/รองคือลำดับความสำคัญในการอ่าน CRO ของคู่มือนี้ ไม่ได้หมายความว่าทุก event หลักเป็น ad conversion · รายการนี้ครอบคลุมเฉพาะ mockup ส่วน event อื่นดูตารางด้านล่าง
สินค้า A สำหรับทุกวัน
รายละเอียดสินค้าและข้อเสนอที่ลูกค้าอ่านก่อนตัดสินใจกดซื้อ
cta_viewยืนยันคำสั่งซื้อ
แตะช่องเฉย ๆ ยังไม่ใช่ checkout_name_start
เริ่มมีข้อความจึงนับครั้งแรก ไม่ยิงทุกตัวอักษร
ย่อฟอร์มเพื่อสาธิต: ช่องอื่นถือว่าผ่านแล้ว ทดลองช่องชื่อและการส่งได้
กรอกชื่อสมมติก่อนส่งตัวอย่าง
ลองกดตอนชื่อว่าง เพื่อดู validation error
สั่งซื้อสำเร็จแล้ว
ระบบบันทึกออเดอร์สำเร็จ เกิด order_created และ purchase พร้อมกัน ไม่ต้องรอร้านยืนยัน
ปุ่มนี้สาธิตการบันทึกรับชำระ ไม่สร้างรายการชำระเงินจริง การส่งฟอร์มสำเร็จไม่เท่ากับชำระแล้ว
- GA4
- Mixpanel
- Meta
ชื่อปลายทางเป็นตัวอย่าง mapping เมื่อเปิดใช้งานและมี consent ที่กำหนด
แสดงเหตุการณ์สำคัญของ 1 attempt ไม่ใช่รายการ network requests ทั้งหมด ตัวอย่างนี้ถือว่าอนุญาต Analytics แล้ว กดเริ่มสาธิตใหม่เพื่อล้าง events
ภาพรวมเส้นทางและเหตุการณ์
01 / ก่อนเข้า Checkout
หน้าและข้อเสนอน่าสนใจแค่ไหน
- เข้าหน้า
page_viewเริ่มเส้นทางของ session
- กดซื้อ
buy_clickสนใจไปต่อกับข้อเสนอ
02 / ใน Checkout
เปิดฟอร์มแล้วเริ่มลงมือหรือยัง
- เข้า Checkout
initiate_checkoutมาถึงฟอร์มแล้ว
- เริ่มกรอกชื่อ
checkout_name_startมี input จริงครั้งแรกใน attempt
จุดวินิจฉัยเพิ่มเติม
03 / ผลออเดอร์
นับจากบันทึกออเดอร์สำเร็จ
- สั่งซื้อสำเร็จ
order_created + purchaseบันทึกออเดอร์แล้ว ไม่ต้องรอร้านยืนยัน
- ชำระแล้ว
order_paidเมื่อระบบบันทึกรับชำระเงินจริง
กรอบเส้นประ: เริ่มกรอกชื่อเป็น signal ช่วยหาจุดติดขัด ไม่ใช่เงื่อนไขบังคับของ funnel หลัก และไม่ใช่ conversion โฆษณา
ลำดับนี้เป็นเส้นทางตัวอย่าง ผู้เข้า Checkout โดยตรงอาจข้ามขั้นก่อนหน้า การสร้างออเดอร์สำเร็จเกิด order_created และ purchase จากออเดอร์เดียวกัน ยังไม่เท่ากับชำระแล้ว
เริ่มดูข้อมูลที่ไหน
| เครื่องมือ | ใช้ตอบคำถาม | สิ่งที่ควรเปิดดู |
|---|---|---|
| AdWaffle → Analytics → Website → Landing page performance | หน้า/แคมเปญไหนสร้างออเดอร์จริง และติดตรงไหน | Funnel, CTA CTR, Checkout completion, เริ่มกรอกชื่อ, เปรียบเทียบฟอร์มสั้น/ยาว, Field errors |
| Mixpanel | คนที่เข้า checkout แต่ไม่เริ่มกรอกชื่อหรือส่งออเดอร์ อยู่แคมเปญ/อุปกรณ์ไหน | Events และ Funnel ตามวิธีตั้ง Funnel ด้านล่าง |
| GA4 | Traffic และพฤติกรรมเว็บไซต์ตาม source / medium / campaign | Realtime สำหรับ QA และ Explorations สำหรับ funnel |
| Clarity | คนติดขัดกับเนื้อหาหรือปุ่มก่อนเข้า checkout อย่างไร | Recordings / heatmaps ของหน้า public ที่อนุญาต replay |
| Meta Events Manager | Pixel / Gateway ส่งสัญญาณโฆษณาถูกต้องหรือไม่ | Test Events, Diagnostics และ deduplication |
เลือก Brand, หน้า, เวอร์ชันที่เผยแพร่, ช่วงวัน และ source/campaign ให้ตรงกันก่อนเทียบตัวเลข เวลาใน AdWaffle อิงประเทศไทย และรายงานรีเฟรชทุกหนึ่งนาที
อย่าคาดว่าตัวเลขทุกเครื่องมือต้องเท่ากัน: consent, ad blocker, นิยาม session และเวลาส่งข้อมูลต่างกัน รายงาน AdWaffle แยก browser behavior ออกจากผลออเดอร์ที่ server ยืนยัน
เมื่อไรจึงนับ Purchase
สำหรับออเดอร์ public ที่เริ่มใช้การวัดผลแบบใหม่นี้ ส่งฟอร์มแล้วระบบบันทึกออเดอร์สำเร็จ = Purchase ไม่ต้องรอร้านยืนยัน และไม่ต้องรอชำระเงิน
order_createdและpurchaseเป็นสองชื่อ event ของการบันทึกออเดอร์เดียวกัน ไม่ใช่สองยอดซื้อ; นับ distinct order ID- การกดปุ่มก่อนบันทึกสำเร็จ, validation error หรือ API ล้มเหลวไม่ใช่ Purchase
order_paidเกิดเมื่อบันทึกชำระแล้ว เช่น COD อาจเกิดภายหลัง การยกเลิก/คืนเงินมี event แยก- เริ่มใช้กับออเดอร์ใหม่หลัง deploy ไม่เปลี่ยนเวลา Purchase หรือสร้าง event ย้อนหลังให้ออเดอร์เก่า ช่วงที่มีข้อมูลสองรุ่นควรแยกวิเคราะห์ตามวันเริ่มใช้งาน
Events ที่ใช้ตัดสินใจ
| Event ใน AdWaffle / Mixpanel | เกิดเมื่อใด | ใช้ทำอะไร |
|---|---|---|
page_view | เข้าหน้าหรือ navigation ใหม่ | จุดเริ่ม funnel; refresh นับเป็น view ใหม่ |
view_content | เปิดหน้าที่มี product context | แยกการดูสินค้าออกจาก landing ทั่วไป |
cta_view | เห็น CTA อย่างน้อย 50% นานอย่างน้อย 1 วินาที | เป็นฐานสำหรับ CTR ของ CTA; ครั้งเดียวต่อ CTA/ตำแหน่งใน page view |
cta_click | กด CTA | เปรียบเทียบปุ่มและตำแหน่ง เช่น inline / sticky |
buy_click | กดปุ่มเพื่อไปเส้นทางซื้อ รวมปุ่มเลือกแพ็กเกจที่ checkout | วัดความสนใจซื้อ; ไม่ได้หมายถึงสร้างออเดอร์หรือเพิ่มลง cart แล้ว |
initiate_checkout | เข้าหน้า checkout | วัดผู้มาถึงฟอร์ม; ไม่ได้หมายถึงเริ่มพิมพ์ |
checkout_name_start | ช่องชื่อใน checkout เริ่มมีข้อความจาก input เช่น พิมพ์ วางข้อความ หรือ autofill ที่เกิด input event | วัดการเริ่มลงมือกรอก แยกจากผู้เปิด checkout เฉย ๆ |
checkout_field_interaction | เริ่มมีปฏิสัมพันธ์กับแต่ละช่อง | หาช่องที่คนแตะ/ใช้งาน; focus อย่างเดียวอาจทำให้เกิด event นี้ได้ |
checkout_validation_error / checkout_submit_error | กรอกไม่ผ่าน / ส่งฟอร์มไม่สำเร็จ | แยกปัญหาการกรอกจากปัญหาการส่งคำขอ |
order_created | Server สร้างออเดอร์จากฟอร์มสำเร็จ | Checkout completion; เกิดพร้อม purchase ใน flow นี้ ยังไม่เท่ากับชำระแล้ว |
purchase | Server บันทึกออเดอร์จากฟอร์มสำเร็จ | นับการสั่งซื้อทันที ไม่ต้องรอร้านยืนยัน; กดปุ่มเฉย ๆ หรือส่งไม่สำเร็จยังไม่นับ |
order_paid | Server บันทึกชำระแล้ว | วิเคราะห์การชำระเงินจริงแยกจากการสั่งซื้อ |
order_cancelled / order_refunded | ออเดอร์ยกเลิก / คืนเงิน | ตรวจคุณภาพยอดขายหลัง conversion |
scroll_depth | ผ่านระดับ 25 / 50 / 75 / 90% | ดูความลึกของการเลื่อนโดยไม่ต้องเก็บ view ทุกบล็อก |
offer_select / content_interaction | เปลี่ยนข้อเสนอ หรือใช้งาน FAQ / gallery / วิดีโอที่รองรับ | ตรวจพฤติกรรมเฉพาะที่เกี่ยวกับการตัดสินใจ |
form_start, form_step_view, form_step_complete, form_submit | เริ่ม/ผ่านขั้น/ส่ง lead form สำเร็จ | ใช้กับ lead form; อย่าปนกับ checkout funnel |
ระบบเก็บ exposure ของ CTA แทนการเก็บ view ของทุกบล็อก จึงไม่มี block_view และตาราง Block Reach ในการวัดผลรูปแบบนี้ ข้อมูลเก่าไม่ได้ถูกลบ จึงอาจยังพบชื่อ event นี้ในช่วงย้อนหลังของเครื่องมือภายนอก
ขอบเขตของ “เริ่มกรอกชื่อ”
- นับเมื่อช่องมีข้อความที่ไม่ใช่ช่องว่าง การแตะช่องอย่างเดียวไม่นับ
- ครั้งเดียวต่อ
checkout_attempt_idใน session/ขอบเขต checkout เดิม การพิมพ์ต่อ ลบแล้วพิมพ์ใหม่ เปลี่ยน focus หรือ reload ไม่เพิ่ม count; การเก็บ marker ข้าม reload ต้องใช้ sessionStorage ได้ - การเริ่ม attempt ใหม่ รวมการเปลี่ยนหน้า/บล็อกข้อเสนอ/รูปแบบฟอร์ม/เวอร์ชัน หรือเริ่ม session ใหม่ นับใหม่ได้ การสลับแพ็กเกจในบล็อกเดิมไม่จำเป็นต้องเป็น attempt ใหม่ การถอน consent แล้วให้ใหม่เริ่มชุดการวัดใหม่
- Autofill ที่ไม่เกิด input event และค่าที่ระบบใส่ไว้ตั้งแต่แรกไม่นับเป็นการเริ่มกรอกที่สังเกตได้
- ไม่ส่งชื่อ ตัวอักษร ความยาวข้อความ หรือค่าฟิลด์ไปใน analytics ส่งเพียง
field_key: nameกับรหัส attempt/session และบริบทหน้า - ต้องให้ Analytics consent และเปิด measurement v2; event นี้ไม่ใช่ Meta Lead, Subscribe หรือ Purchase และไม่ส่งเป็น ad conversion ใหม่
- ไม่มีข้อมูลย้อนหลังจากก่อนเปิดใช้ event นี้ อย่าเทียบศูนย์ของช่วงก่อนเริ่มเก็บว่าเป็น abandonment
Metrics และตัวหาร
ตัวเลขสมมติเพื่ออธิบายสูตร ไม่ใช่ข้อมูลแคมเปญจริง
เห็นตามเกณฑ์ exposure แล้วจึงกด
เข้า Checkout แล้วเริ่มลงมือแค่ไหน
join attempt เดียวกันและเรียงตามลำดับ
Views, Sessions, Attempts และ Orders เป็นคนละหน่วย อย่านำจำนวน events ทั้งหมดมาหารกัน
| Metric | วิธีอ่าน | นำไปปรับอะไร |
|---|---|---|
| CTA CTR | Views ที่เห็น CTA ตามเกณฑ์แล้วกด ÷ Views ที่เห็น CTA ตามเกณฑ์ แยก CTA/placement | Copy ปุ่ม ข้อเสนอ และตำแหน่ง; click ก่อนครบเกณฑ์ exposure แสดงแยก |
| Buy rate | Sessions ที่มี buy_click ÷ Sessions | ความน่าสนใจของหน้า/ข้อเสนอ; หนึ่ง session อาจกดหลายครั้ง |
| เริ่มกรอกชื่อ (attempts) | จำนวน checkout attempts ที่มี checkout_name_start เชื่อมกับการเข้า checkout ใน session เดียวกัน | ดูว่าผู้เปิดฟอร์มเริ่มลงมือหรือยัง; รายงานแสดง count แยก ไม่เปลี่ยนนิยาม funnel หลัก |
| Name-start rate (สร้างใน Mixpanel) | Checkout attempts ที่เข้า checkout แล้วเริ่มกรอกชื่อ ÷ Checkout attempts ที่เข้า checkout | แพ็กเกจ ราคา ความเชื่อมั่น และความชัดเจนเหนือช่องชื่อ |
| Checkout completion | Attempts ที่สร้างออเดอร์สำเร็จ ÷ Attempts ที่เข้า checkout | ความยาวฟอร์ม ข้อมูลที่บังคับกรอก การตรวจที่อยู่ และปัญหาการส่ง |
| Completion หลังเริ่มกรอกชื่อ (สร้างใน Mixpanel) | Attempts ที่เริ่มกรอกชื่อแล้วสร้างออเดอร์ ÷ Attempts ที่เริ่มกรอกชื่อ | หาความติดขัดหลังเริ่มกรอก; ใช้ attempt เดียวกันและลำดับเหตุการณ์ |
| Field error rate | Attempts ที่เจอ error ของช่องนั้น ÷ Attempts ที่มีปฏิสัมพันธ์กับช่องนั้น | ข้อความแนะนำ รูปแบบ input และ validation |
| Purchase CVR | Sessions ที่มี purchase ÷ Sessions ใน cohort | คุณภาพ traffic ที่พาคนมาสั่งซื้อสำเร็จ |
| Purchase value / AOV | มูลค่าออเดอร์ที่เกิด purchase และปัจจุบันไม่ยกเลิก/คืนเงิน ÷ จำนวนออเดอร์กลุ่มเดียวกัน | คุณภาพข้อเสนอและยอดเฉลี่ย; รวมค่าส่ง ไม่ใช่กำไรหรือยอดรับเงิน |
ใช้ชนิดตัวหารให้ตรงกันเสมอ: Views, Sessions, Attempts และ Orders เป็นคนละหน่วย การเอาจำนวน events ที่ยิงทั้งหมดมาหารกันอาจทำให้ rate เกินจริง
วิธีทำงานใน AdWaffle
- เลือกวันที่เริ่ม session, หน้า/เวอร์ชัน และแคมเปญที่ต้องการวิเคราะห์
- ดู funnel หลัก
page_view → buy_click → initiate_checkout → purchaseเพื่อเลือกจุดที่ควรตรวจ - ดูการ์ด “เริ่มกรอกชื่อ (attempts)” ประกอบกับจำนวนเข้า checkout “—” หมายถึงยังไม่มี metric นี้ในรายงานที่ใช้อยู่
- เปรียบเทียบ CTA CTR แบบ inline / sticky แล้วตรวจ scroll depth ก่อนตัดสินใจย้ายเนื้อหา
- เปิดเปรียบเทียบฟอร์มสั้น/ยาว ดูทั้ง completion, errors และเวลาของ attempts ที่ส่งสำเร็จ แยก service
contact_onlyและรูปแบบเก่า/ไม่ทราบรูปแบบออก - Drill down ใน Mixpanel เพื่อดูขั้นเริ่มกรอกชื่อ และใช้ Clarity ตรวจประสบการณ์ก่อน checkout
Funnel ใน AdWaffle นับ sessions ตามลำดับที่กำหนด ผู้เข้า checkout โดยตรงอาจไม่ผ่านขั้นกดซื้อของ funnel แต่ยังอยู่ใน checkout attempts การเพิ่ม name-start ไม่บังคับให้ historical orders ต้องมี event ใหม่นี้จึงจะนับสำเร็จ
รายงานเป็น cohort ตามวันเริ่ม session และแสดงผลออเดอร์ที่เชื่อมกันถึงเวลาปัจจุบัน ช่วงล่าสุดอาจยังรอชำระหรือยกเลิกภายหลังได้ อย่าเทียบ cohort ใหม่กับ cohort เก่าที่มีเวลาปิดยอดนานกว่าราวกับมีเวลาติดตามเท่ากัน
ตั้ง Funnel ใน Mixpanel
ตรวจว่าใช้ Project Token และ region ที่ถูกต้องก่อนสร้างรายงาน เก็บชื่อรายงานให้ระบุหน้า/ช่วงหลังเริ่มเก็บข้อมูลและหน่วยนับ
Landing funnel: page_view → buy_click → initiate_checkout → purchase ตั้ง session แบบ property-based ด้วย session_id และ hold session_id constant ระบุ conversion window ให้ชัด เช่น 1 วันสำหรับการสั่งซื้อใน session นี้ และแยกการติดตาม order_paid ที่อาจเกิดภายหลังเป็นอีกรายงาน ผลอาจต่างจาก cohort ใน AdWaffle ที่ดูผลถึงปัจจุบัน
Checkout funnel: initiate_checkout → checkout_name_start → purchase ใช้ session/attempt เดียวกัน โดย hold session_id และ checkout_attempt_id constant เลือกตัวเลือกนับ conversion ต่อ session/attempt ที่โปรเจกต์รองรับ ตรวจว่า 1 คนเปิด 2 attempts นับได้ 2 ครั้ง; ถ้า UI นับได้เพียง unique users อย่าเรียกผลนั้นว่า attempt rate ให้ใช้จำนวน distinct attempts จากข้อมูล events หรือรายงาน AdWaffle แทน
Breakdown ทีละมิติ: checkout_form_mode, entry_campaign, entry_content, device, browser หรือเวอร์ชันหน้า หลีกเลี่ยงการแบ่งหลายมิติพร้อมกันจนแต่ละกลุ่มมีข้อมูลน้อย
การเทียบฟอร์มสั้น/ยาวที่คนละหน้า/คนละ campaign เป็น observational comparison ยังสรุปไม่ได้ว่าฟอร์มเป็นสาเหตุของความต่าง หากต้องการพิสูจน์ควรออกแบบ A/B test แยก
ดู GA4, Clarity และ Meta อย่างไร
| ความหมาย | GA4 | Mixpanel | Meta |
|---|---|---|---|
| ดูหน้า | page_view | page_view | PageView |
| ดูสินค้าที่มี context | view_item | view_content | ViewContent |
| เข้า checkout | begin_checkout | initiate_checkout | InitiateCheckout |
| เริ่มกรอกชื่อ | checkout_name_start | checkout_name_start | ไม่เพิ่ม ad event |
| สั่งซื้อสำเร็จ | Server Purchase destination ตาม config | purchase จาก server outbox | Server Purchase destination ตาม config |
GA4: ใช้ Realtime ตรวจรับ event หรือ DebugView เมื่อเปิด debug device แล้ว สร้าง Exploration begin_checkout → checkout_name_start สำหรับ behavior ของผู้ใช้ตามวิธีนับของ GA4 อย่าเรียก user funnel ว่า attempt funnel หากไม่ได้ join attempt IDs และอย่าสร้าง checkout_attempt_id เป็น custom dimension เพื่อใช้ breakdown ปกติ เพราะมีค่าจำนวนมาก
Clarity: ใช้ดู landing/product public ที่เปิด replay ได้ ฟอร์มถูก mask และระบบหยุด replay ก่อน checkout รวมถึงไม่บันทึก receipt/slip/bind routes จึงไม่ใช้ Clarity ดูชื่อที่กรอกหรืออธิบายว่าผู้ใช้แก้ช่องไหนใน checkout ให้ใช้ events/error codes ที่ไม่เก็บค่าแทน
Meta: เปิด marketing consent เพื่อ QA การส่ง Pixel/Gateway และตรวจ event ID ของสำเนาเดียวกันให้ตรงกัน HTTP 200 เป็นหลักฐานว่า endpoint ตอบรับ แต่ยังต้องดู Events Manager เพื่อยืนยันการประมวลผล/การนับใน Meta อย่านับ request จาก Browser กับ Gateway เป็นสอง conversions โดยดูจำนวน requests อย่างเดียว
ปิด overlapping automatic events ใน Meta และใช้ mapping ที่ระบบตั้งใจส่ง SubscribedButtonClick ไม่ใช่หลักฐานสมัครสมาชิกหรือยอดซื้อ ตรวจให้แน่ใจว่าตัวโหลด Pixel ใช้เฉพาะ event ที่กำหนดไว้ และทดสอบ event ที่รับจริงหลังเปลี่ยนการตั้งค่า
ขั้นตอนปรับ CRO รายสัปดาห์
กดแต่ละช่วงเพื่อดูสิ่งที่ควรตรวจ นี่คือสมมติฐานสำหรับหาสาเหตุ ไม่ใช่ข้อสรุปจากตัวเลขอย่างเดียว
เห็น CTA แล้วไม่กดcta_viewcta_click
ดูประกอบ: CTA CTR
- ข้อความปุ่มสื่อว่ากดแล้วจะได้อะไร
- ราคาและข้อเสนอน่าสนใจหรือไม่
- ดู Clarity ประกอบกับตำแหน่งปุ่ม
เข้า Checkout แต่ไม่เริ่มกรอกinitiate_checkoutcheckout_name_start
ดูประกอบ: Name-start rate
- ราคาและแพ็กเกจตรงกับหน้าก่อนหน้าหรือไม่
- มีค่าจัดส่งหรือเงื่อนไขที่เพิ่งปรากฏหรือไม่
- หน้าโหลดครบและอธิบายขั้นตอนชัดเจนหรือไม่
เริ่มกรอกแล้วไม่ส่งออเดอร์checkout_name_startorder_created
ดูประกอบ: Completion + field errors
- ช่องไหนเกิด validation error บ่อย
- แยกฟอร์มสั้น/ยาวและอุปกรณ์
- แยกการกรอกไม่ผ่านออกจาก submit error
สั่งซื้อสำเร็จ แต่ยังชำระน้อยpurchaseorder_paid
ดูประกอบ: Paid orders + อายุ cohort
- ให้เวลาติดตาม cohort เท่ากันก่อนเปรียบเทียบ
- แยกวิธีชำระ เช่น COD กับโอนเงิน
- ตรวจการยกเลิกและขั้นตอนติดตามการชำระ
| สิ่งที่เห็น | ตรวจเพิ่ม | การทดลองที่เหมาะสม |
|---|---|---|
| CTA CTR ต่ำ แต่คนเลื่อนถึงข้อเสนอ | Copy/ราคา/ความชัดเจนของปุ่ม และ Clarity ก่อน checkout | เปลี่ยนข้อความหรือการนำเสนอข้อเสนอครั้งละประเด็น |
| เข้า checkout มาก แต่เริ่มกรอกชื่อน้อย | ราคาและแพ็กเกจตรงกับหน้าเดิมหรือไม่, ค่าจัดส่ง, ความเชื่อมั่น, การโหลดหน้า | ลดความไม่แน่ใจก่อนฟอร์มและอธิบายขั้นตอนให้ชัด |
| เริ่มกรอกชื่อแล้วส่งออเดอร์น้อย | Field errors, submit errors, device และฟอร์มสั้น/ยาว | ปรับคำแนะนำ/validation/ช่องกรอกที่มีปัญหา |
| สั่งซื้อสำเร็จมาก แต่ชำระน้อย | อายุ cohort, วิธีชำระ, การยกเลิก และขั้นตอนติดตามการชำระ | ปรับการติดตามและคุณภาพ traffic แยกจากปัญหาหน้าเว็บ |
จดสมมติฐาน, สิ่งที่เปลี่ยน, หน้า/เวอร์ชัน, วันเริ่ม และ metric หลักก่อนเปลี่ยน ใช้ completion/purchase value เป็นผลลัพธ์ และใช้ name-start/CTR/errors เป็นข้อมูลช่วยวินิจฉัย ไม่ optimize ให้คนเริ่มกรอกชื่อมากขึ้นอย่างเดียว
เช็กลิสต์ก่อนใช้ตัดสินใจงบ
- เปิด measurement v2 และ provider IDs/region ของ Brand ถูกต้อง มี banner และ consent ทำงาน
- ทดลองเปิดหน้าใหม่: ไม่มี
block_view, CTA view ยังส่ง, focus ชื่ออย่างเดียวไม่ส่ง name-start, input ครั้งแรกส่งหนึ่งครั้ง และแก้/โหลดใหม่ไม่ยิงซ้ำใน attempt เดิม - ทดสอบไม่มี consent / ถอน consent: analytics ต้องหยุด; ไม่กรอกข้อมูลลูกค้าจริงเพื่อ QA
- ตรวจ GA4/Mixpanel ว่ารับ name-start จริง และไม่สร้าง Meta Subscribe/Lead/Purchase จากการเริ่มกรอกชื่อ
- ทดสอบสร้างออเดอร์ใน staging แยกจาก production และยืนยัน server outcomes/มูลค่า/การป้องกันซ้ำก่อนนับเป็นยอดขาย
- เลือกช่วงหลังเริ่มเก็บ event ใหม่ ใช้ UTM และตัวกรองตรงกัน ระบุหน่วยและ conversion window ทุกครั้ง
การเก็บ raw events ตามสิทธิ์ปัจจุบัน: Free/Starter 30 วัน, Pro/Agency 90 วัน รายงาน query ได้สูงสุด 90 วัน หากข้อมูลเก่าหมด retention จะไม่สร้าง uniques ย้อนหลังทดแทน