CRO แบบสายงาน: จากการวิเคราะห์สู่รายได้
เดือนมีนาคม 2025 เจ้าของร้านอุปกรณ์เอาต์ดอร์ในเมืองปอร์ตูโทรหาฉันเรื่องหน้าชำระเงิน ทีมของเขาขายเต็นท์ กระเป๋าเป้ ถุงนอน ผ่านร้าน Shopify กับแลนดิ้งบน Next.js ทราฟฟิกนิ่งแถว 9,000 visits ต่อเดือน อัตราชำระเงินสำเร็จอยู่ที่ 1.9 เปอร์เซ็นต์ สี่เดือนก่อนหน้านั้นเขารันเทสต์ปุ่มซื้อสิบเอ็ดครั้ง สีเขียว สีส้ม ระยะห่างปุ่มใหญ่ขึ้น ตัวหนังสือหนาขึ้น ปุ่มติดขอบจอบนมือถือ ผลกระทบต่อรายได้รวมคือศูนย์ เขาขอให้ฉันรันเทสต์ครั้งที่สิบสอง ฉันขอให้เขาพักเทสต์ใหม่หนึ่งเดือน แล้วมาเปิดสตรีมอีเวนต์ด้วยกัน แปดสัปดาห์ถัดมาอัตราชำระเงินสำเร็จขึ้นถึง 3.1 เปอร์เซ็นต์บนทราฟฟิกเท่าเดิม คิดเป็นรายได้เพิ่มราวเดือนละ €14,000 ด้วยออร์เดอร์เฉลี่ย €85 ผลนี้มาจากสี่ขั้น ฉันรันตามลำดับในทุกโปรเจกต์รายได้คือวิเคราะห์ ตั้งสมมติฐาน ส่งมอบ วัดผล แต่ละขั้นจับความล้มเหลวคนละแบบที่ขั้นอื่นมองข้าม
กับดักสีปุ่ม
เทสต์ปุ่มล้มด้วยเลขคณิตก่อนล้มด้วยไอเดีย ที่ 9,000 visits ต่อเดือนกับฐาน 1.9 เปอร์เซ็นต์ ร้านเห็นออร์เดอร์ราว 171 ต่อเดือน ลิฟต์สัมพัทธ์ 10 เปอร์เซ็นต์คือ 19 ออร์เดอร์เพิ่ม การจับลิฟต์ระดับนี้ด้วยความมั่นใจ 95 เปอร์เซ็นต์ต้องมีผู้เยี่ยมชมราว 30,000 คนต่อฝั่ง ที่ทราฟฟิกของเขาเทสต์หนึ่งครั้งลากเจ็ดเดือน เขารันแต่ละเทสต์สิบวัน อ่านสัญญาณรบกวน ประกาศผู้ชนะ แล้วดูรายได้ทรงตัว ฉันเห็นทรงนี้ทุกที่ ทราฟฟิกเล็ก อ่านผลสั้น ประกาศมั่นใจ รายได้แบน
ปุ่มอยู่ปลายโซ่ยาว ฟันเนลของเขาโชว์ว่าผู้เยี่ยมชมหน้าสินค้า 62 เปอร์เซ็นต์ไม่เคยเริ่มเช็กเอาต์ ในกลุ่มที่เริ่ม 41 เปอร์เซ็นต์ออกตรงขั้นค่าส่ง ปุ่มสีเขียวแตะไม่ถึงทั้งสองกลุ่ม มันพูดกับผู้เยี่ยมชม 3 เปอร์เซ็นต์ที่ตัดสินใจซื้อแล้ว ลังเลแค่เรื่องสี กลุ่มนี้แทบไม่มีตัวตน เทสต์ตรงปลายแคบของฟันเนลขยับคนกลุ่มเล็กสุด สายงานด้านล่างย้ายเทสต์ขึ้นต้นน้ำ ไปที่ที่คนอยู่
ขั้นที่ 1 การวิเคราะห์ที่เลี้ยงตัวเอง
ฉันปิดเครื่องมือเทสต์ แล้วเปิด PostHog กับเขา เรากำหนดห้าอีเวนต์ชื่อเคร่งคือ view_item add_to_cart start_checkout enter_shipping purchase ทุกอีเวนต์แบก session_id ประเภทอุปกรณ์ แหล่งทราฟฟิก ตัวที่ขาดฉันเติมผ่านพิกเซล Shopify กับเราต์ Next.js เล็กๆ ที่ส่งยอดซื้อฝั่งเซิร์ฟเวอร์ด้วย session_id เดียวกัน ข้อมูลสะอาดหนึ่งสัปดาห์แทนการเดาสี่เดือน
รอยรั่วสามจุดโผล่ จุดแรกหน้าตารางไซส์กลืนผู้เยี่ยมชม 54 เปอร์เซ็นต์ รีเพลย์เซสชันโชว์นักช็อปเปิดไกด์ เลื่อนตารางแน่นๆ แล้วออก จุดที่สองค่าส่งโผล่ช้า นักซื้อต่างประเทศถึงขั้นสาม เจอชาร์จเพิ่ม €18 แล้ว 41 เปอร์เซ็นต์ออกในหนึ่งนาที จุดที่สามฟอร์มมือถือถามเก้าช่อง รวมชื่อบริษัทกับแฟกซ์ อัตราจบบนมือถือเหลือครึ่งหนึ่งของเดสก์ท็อป
ฉันตีราคาขั้นนี้สามวันทำงาน วันหนึ่งตั้งชื่ออีเวนต์กับติดตาม วันหนึ่งดูรีเพลย์สี่สิบอัน อ่านฟันเนลแยกอุปกรณ์กับแหล่งที่มา วันหนึ่งเขียนผลสามข้อพร้อมภาพ การวิเคราะห์เลี้ยงตัวเองเมื่อมันชี้จอชัดๆ ว่าจุดไหนเงินหยุด
ขั้นที่ 2 สมมติฐานพร้อมกฎฆ่า
รอยรั่วแต่ละจุดกลายเป็นสมมติฐานลายลักษณ์อักษรหนึ่งข้อ มีกลไก ตัวชี้วัด กฎฆ่า สมมติฐานข้อหนึ่ง นักช็อปที่เห็นตัวช่วยหาไซส์ในหน้าสินค้าหยิบลงตะกร้าบ่อยขึ้น ตัวชี้วัดคืออัตรา add_to_cart บนทราฟฟิกตารางไซส์ กฎฆ่าคือหยุดเทสต์เมื่อเซสชันตารางไซส์ครบ 1,000 โดยไม่มีลิฟต์ หรือทักเก็ตซัพพอร์ตเรื่องไซส์เพิ่ม สมมติฐานข้อสอง นักซื้อที่เห็นค่าส่งตั้งแต่หน้าสินค้าเริ่มเช็กเอาต์บ่อยขึ้น ตัวชี้วัดคืออัตรา start_checkout ของทราฟฟิกต่างประเทศ กฎฆ่าคือหยุดเมื่อรายได้ต่อผู้เยี่ยมชมตกเกิน 5 เปอร์เซ็นต์หลัง 500 เซสชันต่างประเทศ สมมติฐานข้อสาม นักซื้อมือถือที่เจอสี่ช่องจ่ายเงินจบบ่อยขึ้น ตัวชี้วัดคืออัตราซื้อบนมือถือ กฎฆ่าคือหยุดเมื่อยอดจ่ายล้มเหลวเกินฐาน 1.2 เปอร์เซ็นต์
ฉันจัดสามข้อตามความกว้าง ค่าส่งแตะ 38 เปอร์เซ็นต์ของทราฟฟิก ช่องมือถือแตะ 61 เปอร์เซ็นต์ของเช็กเอาต์ ตัวช่วยไซส์แตะ 9 เปอร์เซ็นต์ ค่าส่งไปก่อน
ทุกสมมติฐานแบกหนึ่งประโยคที่ฆ่ามัน ฉันเขียนกฎฆ่าก่อนเปิดเอดิเตอร์ เทสต์ไร้กฎฆ่ารันจนคนลืม เทสต์ที่ถูกลืมเน่ากลายเป็นของครึ่งสำเร็จติดค้างในโค้ด กฎนี้ปกป้องปฏิทินกับโค้ดเบส
ขั้นที่ 3 ส่งมอบโดยไม่พังความไว้ใจ
ทุกฝั่งฉันส่งหลังธงใน LaunchDarkly ผูกด้วยแฮชของ customer id ธงเสิร์ฟคอนโทรลหรือตัวแปรครึ่งต่อครึ่ง ทุกการเปลี่ยนฉันปล่อย 5 เปอร์เซ็นต์ของทราฟฟิกหนึ่งวันเต็ม แล้วเฝ้าราวกันตกสามอัน อัตราเออเร่อร์เช็กเอาต์ใน Sentry ยอดจ่ายล้มในเว็บฮุก Stripe เธรดซัพพอร์ตใหม่ติดแท็ก checkout จากนั้นค่อยเปิดเทสต์เต็มทราฟฟิก
งานตัวช่วยไซส์โชว์เหตุผล รุ่นหนึ่งทับปุ่ม Apple Pay บน Safari กดไม่ได้ Sentry จับยอดเออเร่อร์คลิกพุ่งในหนึ่งชั่วโมง ธงฆ่าฝั่งนั้นสำหรับผู้ใช้ Safari ในยี่สิบนาที มีเซสชันแค่ 3 เปอร์เซ็นต์เห็นบั๊ก ไร้ธงบั๊กนี้รันทั้งสุดสัปดาห์
ฝั่งต่างๆ ฉันเก็บเล็กพอลบ แต่ละฝั่งอยู่ไฟล์คอมโพเนนต์เดียว ชื่อธงบนสุด เทสต์จบสาขาแพ้ออกจากโค้ดในวันเดียวกัน เจ้าของร้านไว้ใจกระบวนการเพราะงานพังไม่เคยถึงคนดูทั้งหมด ความไว้ใจมาจากธง ราวกันตก กับการลบวันจบงาน
ขั้นที่ 4 อ่านผลอย่างซื่อตรง
ฉันอ่านผลตามปฏิทินตายตัว 21 วันรวมสามสุดสัปดาห์ ไม่มีเรียกผลก่อน นักซื้อวันธรรมดาต่างจากนักซื้อสุดสัปดาห์ สัดส่วนสุดสัปดาห์ของเขาอยู่ 44 เปอร์เซ็นต์ แอบดูวันที่ห้าแล้วชูผู้นำคงมงสัญญาณรบกวนสองรอบในงานนี้
ตัวชี้วัดหลักยืนหนึ่งคือรายได้ต่อผู้เยี่ยมชม ตัวรองตามอัตราชำระเงินสำเร็จกับออร์เดอร์เฉลี่ย ราวกันตกตามอัตราคืนเงินกับทักเก็ตซัพพอร์ตต่อร้อยออร์เดอร์ ฝั่งที่ดันคอนเวอร์ชันขึ้นพร้อมดันคืนเงินขึ้นด้วยกันแพ้ ฉันเขียนกฎนี้ก่อนเปิดตัว เพื่อชัยชนะไม่ล่อตาล่อใจฉันวันอ่านผล
ความโปร่งใสค่าส่งชนะ อัตรา start_checkout ทราฟฟิกต่างประเทศขึ้นจาก 22 เป็น 34 เปอร์เซ็นต์ อัตราชำระเงินสำเร็จขยับจาก 1.9 เป็น 3.1 เปอร์เซ็นต์ทั้งเว็บ รายได้ต่อผู้เยี่ยมชมขึ้น 41 เปอร์เซ็นต์ อัตราคืนเงินทรงที่ 2.1 เปอร์เซ็นต์ ทักเก็ตเรื่องส่งของร่วงจากสิบเอ็ดต่อสัปดาห์เหลือสาม ฟอร์มมือถือสี่ช่องชนะถัดมา เติมอีก 0.4 จุด ตัวช่วยไซส์เสมอหลัง 1,000 เซสชัน กฎฆ่าถอนมันตามตาราง
ทุกการตัดสินใจฉันลงตารางเดียว วัน สมมติฐาน ผลอ่าน ทางไป สี่แถวปิดงาน แต่ละขั้นในสายงานจับความล้มเหลวของตัวเอง วิเคราะห์จับการเดา สมมติฐานจับเทสต์ไม่รู้จบ ส่งมอบจับงานพัง อ่านผลซื่อตรงจับชัยชนะจอมปลอม เปิดสตรีมอีเวนต์สัปดาห์นี้ แล้วลิสต์สามทางออกที่แพงสุดของคุณ