Quay lại Blog
Analytics19 phút đọc

Funnel analysis: tối ưu hóa conversion từng bước trong customer journey

Hướng dẫn chi tiết về cách xây dựng và phân tích funnels để tối ưu conversion rate. Từ acquisition funnel, purchase funnel đến onboarding funnel, kèm SQL queries và case studies thực tế từ thị trường Việt Nam.

Phạm Thu Hà

Phạm Thu Hà

Lead Analytics Engineer

Minh họa về funnel analysis với các stages và conversion rates
#Funnel Analysis#Conversion Optimization#Product Analytics#Growth Marketing#User Journey#A/B Testing

"Tại sao conversion rate của chúng ta chỉ có 2%? Trong khi competitor đạt 5%?"

Đây là câu hỏi mà mọi product manager, growth marketer đều phải đối mặt. Nhưng khi bạn chỉ nhìn vào tổng conversion rate, bạn đang bỏ lỡ 90% insights quan trọng.

Funnel analysis giúp bạn không chỉ biết conversion rate là bao nhiêu, mà còn biết ở đâu users đang rời bỏtại sao. Đó là sự khác biệt giữa "biết có vấn đề" và "biết cách fix."

Trong 3 năm qua, tại Carptech, chúng tôi đã giúp 15+ doanh nghiệp e-commerce, SaaS, và fintech tại Việt Nam tối ưu funnels của họ. Kết quả? Trung bình 30-50% improvement trong conversion rates.

Trong bài viết này, chúng tôi sẽ chia sẻ:

  • Funnel analysis là gì và tại sao nó quan trọng
  • Các loại funnels phổ biến (acquisition, purchase, onboarding)
  • Cách xây dựng funnel từ đầu (event tracking + SQL)
  • Techniques để phân tích và identify bottlenecks
  • Optimization strategies với case studies thực tế
  • Common mistakes cần tránh

Funnel analysis là gì?

Định nghĩa

Funnel analysis là phương pháp phân tích từng bước trong user journey để:

  1. Hiểu bao nhiêu % users complete mỗi step
  2. Identify steps nào có drop-off rate cao nhất
  3. Tìm ra root causes của drop-offs
  4. Optimize để tăng conversion

Analogy: Giống như một cái phễu (funnel) đổ nước:

  • Đầu vào rộng (nhiều users)
  • Mỗi stage, một phần users "rò rỉ" ra ngoài (drop off)
  • Cuối cùng chỉ một phần nhỏ đến đích (convert)

Goal: Minimize leaks, maximize users reaching the end.

Tại sao funnel analysis quan trọng?

Problem với chỉ nhìn tổng conversion rate:

Giả sử bạn có e-commerce site với overall conversion rate = 2%.

Nghe có vẻ thấp, nhưng không biết fix ở đâu. Là vì:

  • Landing page không hấp dẫn?
  • Product page thiếu info?
  • Checkout process phức tạp?
  • Payment methods hạn chế?

Funnel analysis giúp pinpoint exactly:

Landing page → Product page: 50% conversion (good!)
Product page → Add to cart: 40% conversion (okay)
Add to cart → Checkout: 20% conversion (PROBLEM!)
Checkout → Payment: 80% conversion (good!)
Payment → Success: 95% conversion (good!)

Bottleneck rõ ràng: Add to cart → Checkout (20% conversion).

Focus optimization effort ở đây sẽ có highest ROI.

Key metrics trong funnel analysis

1. Overall conversion rate

  • % users hoàn thành toàn bộ funnel
  • Formula: (Users at final step / Users at first step) × 100%

2. Step conversion rate

  • % users chuyển từ step N sang step N+1
  • Formula: (Users at step N+1 / Users at step N) × 100%

3. Drop-off rate

  • % users rời bỏ tại mỗi step
  • Formula: 100% - Step conversion rate

4. Time to convert

  • Thời gian trung bình để hoàn thành funnel
  • Important: Nếu quá dài → users lose interest

5. Completion rate by segment

  • So sánh conversion giữa segments (mobile vs desktop, organic vs paid, etc.)

Các loại funnels phổ biến

1. Acquisition funnel (from awareness to sign-up)

Stages:

Ad impression / SEO → Click → Landing page → Sign-up form → Email verification → Account created

Use case: Marketing teams measure campaign effectiveness.

Key questions:

  • Which channel có highest conversion? (Facebook ads vs Google ads vs Organic)
  • Landing page nào perform tốt nhất?
  • Tại sao users click ad nhưng không sign up?

Example metrics:

  • Ad impression: 100,000
  • Click: 5,000 (5% CTR)
  • Landing page load: 4,500 (90% - some bounced)
  • Sign-up form submitted: 900 (20%)
  • Email verified: 720 (80%)
  • Overall conversion: 0.72%

Insight: Drop-off lớn nhất ở "Landing page → Sign-up form" (20%). Có thể do:

  • Value proposition không rõ
  • Form quá dài
  • Trust issues (no social proof)

2. Purchase funnel (e-commerce)

Stages:

Homepage → Category page → Product page → Add to cart → Checkout → Payment → Order success

Use case: E-commerce teams optimize buying experience.

Typical conversion rates (industry benchmarks):

  • Product page → Add to cart: 10-30%
  • Add to cart → Checkout: 50-70%
  • Checkout → Payment: 60-80%
  • Payment → Success: 85-95%
  • Overall: 2-5%

Example from Vietnam e-commerce:

StepUsersConversion from previousDrop-off
Product page view10,000--
Add to cart2,00020%80%
Checkout started80040%60%
Payment info entered60075%25%
Order completed54090%10%
Overall5405.4%-

Insights:

  • Biggest leak: Product page → Add to cart (80%) - Need better product info, reviews, images
  • Second leak: Add to cart → Checkout (60%) - Cart abandonment, possibly due to unexpected shipping costs or complicated process

3. Onboarding funnel (SaaS)

Stages:

Sign-up → Profile creation → First action (e.g., create project) → Invite team → Feature usage → Upgrade to paid

Use case: SaaS products optimize user activation.

Key metric: "Aha moment" - The step where user realizes product value.

Example from project management SaaS:

Sign-up: 1,000
Complete profile: 700 (70%)
Create first project: 350 (50%)  ← Aha moment
Invite team member: 210 (60%)
Use 3+ features: 150 (71%)
Upgrade to paid: 45 (30%)

Insight: Biggest drop-off at "Complete profile → Create first project" (50%). Users không reach aha moment → don't see value → churn.

Fix: Reduce friction to first project creation - offer templates, onboarding wizard.

4. Trial-to-paid funnel (SaaS)

Stages:

Start trial → Activate feature → Use daily → Reach usage limit → Receive upgrade prompt → Upgrade to paid

Typical timeline: 7-day or 14-day trial.

Good conversion rate: 10-25% trial-to-paid.

Cách xây dựng funnel từ đầu

Step 1: Define funnel stages

Brainstorm critical steps trong user journey.

Tips:

  • Start với end goal (e.g., purchase, sign-up)
  • Work backwards: What must user do before that?
  • Limit to 4-7 stages (too many = hard to optimize)
  • Mỗi stage phải là meaningful action, không phải passive views

Bad funnel (too granular):

Homepage → Click menu → Hover product → Click product → Scroll down → Click size → Click color → Add to cart → ...

→ Quá nhiều steps, overwhelming.

Good funnel (actionable):

Homepage → Product page → Add to cart → Checkout → Payment → Success

Step 2: Set up event tracking

Tool options:

Product analytics tools:

  • Amplitude: Powerful funnel builder, cohort analysis
  • Mixpanel: Real-time funnels, A/B test integration
  • Google Analytics 4: Free, good for basic funnels
  • Heap: Auto-capture events (no code), retroactive analysis

BI tools + custom SQL:

  • Snowflake + dbt + Looker: Full control, custom logic
  • Good cho complex business logic
  • Requires more engineering effort

Implementation example (Google Analytics 4):

// Track product view
gtag('event', 'view_item', {
  items: [{
    item_id: 'SKU123',
    item_name: 'Áo thun nam',
    price: 299000
  }]
});

// Track add to cart
gtag('event', 'add_to_cart', {
  items: [{ item_id: 'SKU123', quantity: 1 }]
});

// Track checkout
gtag('event', 'begin_checkout', {
  items: [{ item_id: 'SKU123' }]
});

// Track purchase
gtag('event', 'purchase', {
  transaction_id: 'T12345',
  value: 299000,
  currency: 'VND'
});

Key principles:

  • Consistent user_id across events
  • Timestamps for time-to-convert analysis
  • Context: device, channel, campaign

Step 3: Build funnel query (SQL approach)

Example: E-commerce purchase funnel

Assume events table:

events (
  user_id,
  event_name,  -- 'view_product', 'add_to_cart', 'checkout', 'purchase'
  timestamp,
  session_id
)

Query to calculate funnel:

with

-- Step 1: Identify users who completed each step
product_views as (
  select distinct user_id
  from events
  where event_name = 'view_product'
    and date(timestamp) >= '2025-06-01'
    and date(timestamp) <= '2025-06-30'
),

add_to_cart as (
  select distinct user_id
  from events
  where event_name = 'add_to_cart'
    and date(timestamp) >= '2025-06-01'
    and date(timestamp) <= '2025-06-30'
),

checkout as (
  select distinct user_id
  from events
  where event_name = 'begin_checkout'
    and date(timestamp) >= '2025-06-01'
    and date(timestamp) <= '2025-06-30'
),

purchase as (
  select distinct user_id
  from events
  where event_name = 'purchase'
    and date(timestamp) >= '2025-06-01'
    and date(timestamp) <= '2025-06-30'
),

-- Step 2: Calculate funnel metrics
funnel as (
  select
    'Product View' as step,
    1 as step_order,
    count(distinct pv.user_id) as users,
    null as conversion_from_previous,
    null as drop_off
  from product_views pv

  union all

  select
    'Add to Cart' as step,
    2 as step_order,
    count(distinct atc.user_id) as users,
    round(100.0 * count(distinct atc.user_id) / count(distinct pv.user_id), 1) as conversion_from_previous,
    round(100.0 * (1 - count(distinct atc.user_id)::float / count(distinct pv.user_id)), 1) as drop_off
  from product_views pv
  left join add_to_cart atc on pv.user_id = atc.user_id

  union all

  select
    'Checkout' as step,
    3 as step_order,
    count(distinct co.user_id) as users,
    round(100.0 * count(distinct co.user_id) / count(distinct atc.user_id), 1) as conversion_from_previous,
    round(100.0 * (1 - count(distinct co.user_id)::float / count(distinct atc.user_id)), 1) as drop_off
  from add_to_cart atc
  left join checkout co on atc.user_id = co.user_id

  union all

  select
    'Purchase' as step,
    4 as step_order,
    count(distinct pur.user_id) as users,
    round(100.0 * count(distinct pur.user_id) / count(distinct co.user_id), 1) as conversion_from_previous,
    round(100.0 * (1 - count(distinct pur.user_id)::float / count(distinct co.user_id)), 1) as drop_off
  from checkout co
  left join purchase pur on co.user_id = pur.user_id
)

select * from funnel
order by step_order;

Output:

stepstep_orderusersconversion_from_previousdrop_off
Product View110,000nullnull
Add to Cart22,00020.0%80.0%
Checkout380040.0%60.0%
Purchase454067.5%32.5%

Step 4: Visualize funnel

Chart types:

1. Bar chart (stepped)

  • Mỗi bar = một stage
  • Height = số users hoặc %
  • Bars giảm dần from left to right

2. Sankey diagram

  • Shows flow từ stage to stage
  • Width of flow = số users
  • Rất intuitive cho non-technical stakeholders

3. Conversion line chart

  • X-axis: stages
  • Y-axis: conversion %
  • Shows "cliff" ở bottleneck stages

Tool recommendations:

  • Looker: Funnel visualization built-in
  • Tableau: Sankey diagrams
  • Amplitude/Mixpanel: Pre-built funnel charts
  • Google Sheets: Simple bar charts

Funnel analysis techniques

1. Time-based funnels

Concept: User phải complete funnel trong certain timeframe.

Example:

  • Strict funnel: User must complete all steps trong 1 session (30 minutes)
  • Flexible funnel: User có 7 ngày để complete

Use case:

  • Strict: Good cho high-intent flows (checkout trong e-commerce)
  • Flexible: Good cho longer journeys (B2B lead nurture)

SQL implementation (7-day window):

with first_step as (
  select user_id, min(timestamp) as first_timestamp
  from events
  where event_name = 'view_product'
  group by user_id
),

subsequent_steps as (
  select
    fs.user_id,
    fs.first_timestamp,
    max(case when e.event_name = 'add_to_cart'
            and e.timestamp <= fs.first_timestamp + interval '7 days'
        then 1 else 0 end) as reached_step2,
    max(case when e.event_name = 'purchase'
            and e.timestamp <= fs.first_timestamp + interval '7 days'
        then 1 else 0 end) as reached_step3
  from first_step fs
  left join events e on fs.user_id = e.user_id
  group by fs.user_id, fs.first_timestamp
)

select
  count(*) as started,
  sum(reached_step2) as reached_cart,
  sum(reached_step3) as purchased,
  round(100.0 * sum(reached_step2) / count(*), 1) as pct_to_cart,
  round(100.0 * sum(reached_step3) / count(*), 1) as pct_to_purchase
from subsequent_steps;

2. Segment comparison

Compare funnels across segments để identify which groups convert better.

Common segments:

  • Device: Mobile vs Desktop vs Tablet
  • Channel: Organic vs Paid vs Direct vs Social
  • Geography: Hà Nội vs Hồ Chí Minh vs other cities
  • User type: New vs Returning
  • Cohort: Users acquired Jan vs Feb vs Mar

Example insight:

SegmentOverall Conversion
Desktop8.5%
Mobile2.1%

Insight: Mobile conversion 4x worse than desktop. Dig deeper:

Mobile funnel:

Product view → Add to cart: 12% (Desktop: 25%)
Add to cart → Checkout: 35% (Desktop: 65%)

Root cause hypotheses:

  • Product images too small on mobile
  • "Add to cart" button hard to tap
  • Checkout form not mobile-optimized

Action: Prioritize mobile UX improvements.

3. Cohort funnels

Compare conversion của users acquired trong different time periods.

Use case: Measure if product improvements over time are working.

Example:

CohortOverall Conversion
Jan 20253.2%
Feb 20253.8%
Mar 20255.1%
Apr 20256.3%

Insight: Conversion improving monthly → product changes working!

4. Reverse funnel analysis

Normal funnel: Start từ first step, see how many reach end.

Reverse funnel: Start từ converters, see their full journey backwards.

Use case: Understand what successful users did differently.

Example:

Among users who purchased:

  • 95% added product to wishlist first
  • 80% read at least 3 product reviews
  • 70% visited from organic search

Hypothesis: Wishlist + reviews + organic = high-intent users.

Optimization idea: Encourage wishlist usage và emphasize reviews.

Optimization strategies

Sau khi identify bottlenecks, làm sao optimize?

Strategy 1: Reduce friction

Principle: Càng ít steps, càng ít effort → higher conversion.

Tactics:

1. Remove unnecessary steps

  • Bad: Homepage → Category → Subcategory → Product
  • Good: Homepage → Product (deep links từ ads)

2. Guest checkout

  • Đừng force sign-up before purchase
  • Stats: Guest checkout có thể tăng 30-50% conversion

3. Autofill

  • Use browser autofill cho form fields
  • Remember shipping address cho returning users
  • One-click checkout (Amazon style)

4. Reduce form fields

  • Only ask essential information
  • Example: Chỉ cần email + password để sign up, ask more info sau

5. Progress indicators

  • Show "Step 2 of 4" → users know how much longer

Strategy 2: Clear value proposition

At each stage, user phải understand: "Why should I continue?"

Tactics:

1. Product page:

  • High-quality images (360° view)
  • Detailed descriptions
  • Reviews & ratings
  • Social proof ("1,000 người đã mua")
  • Badges (Free shipping, 30-day returns)

2. Checkout page:

  • Display security badges (SSL, payment icons)
  • Reiterate free shipping / returns
  • Show total cost upfront (no surprises)

3. Sign-up page:

  • Benefit-oriented copy: "Join 50,000 users improving their ..."
  • Show sample of what they'll get access to

Strategy 3: A/B testing

Test variants của từng step, measure impact on conversion.

Example tests:

Product page:

  • Variant A: 1 large image
  • Variant B: Image gallery with zoom
  • Result: B increased Add-to-cart by 18%

Checkout:

  • Variant A: Single-page checkout
  • Variant B: Multi-step checkout with progress bar
  • Result: B increased completion by 12% (clearer, less overwhelming)

CTA button:

  • Variant A: "Buy Now"
  • Variant B: "Add to Cart"
  • Result: B performed 8% better (less pushy)

Tool recommendations:

  • Google Optimize (free)
  • Optimizely
  • VWO
  • AB Tasty

Strategy 4: Re-engagement

Users drop off? Bring them back.

Tactics:

1. Cart abandonment emails

  • Send email 1 hour sau khi user abandons cart
  • Include product image, price, "Complete your purchase" CTA
  • Stats: 10-15% users return and complete purchase

Example email:

Subject: You left something behind 😊

Hi [Name],

You have 1 item waiting in your cart:

[Product image]
Áo thun nam - 299,000 VND

[Complete Purchase Button]

Free shipping on orders over 500K!

2. Retargeting ads

  • Show ads của products users viewed
  • Facebook/Google retargeting

3. Push notifications (mobile app)

  • "Your cart is waiting!"
  • "Price dropped on item in your cart"

Strategy 5: Personalization

Tailor experience based on user segment.

Examples:

1. Returning users:

  • Skip onboarding screens
  • Show "Welcome back, [Name]"
  • One-click reorder previous purchases

2. High-value segment:

  • Show premium products first
  • Offer VIP support chat

3. Geographic:

  • Auto-select shipping region
  • Show products available in user's city

Case study: E-commerce giảm cart abandonment từ 70% xuống 45%

Company: Fashion e-commerce, 100K monthly visitors.

Problem: Overall conversion rate = 1.8%, industry average = 3-4%.

Funnel analysis:

StepUsersConversionDrop-off
Product view50,000--
Add to cart10,00020%80%
Checkout3,00030%70%
Payment2,40080%20%
Success2,20092%8%

Overall conversion: 4.4% (product view to success)

Bottleneck identified: Add to cart → Checkout (70% drop-off)

Deep dive analysis:

1. Segment by device:

  • Desktop: 50% drop-off
  • Mobile: 80% drop-off ← Much worse!

2. User research (surveys + session recordings):

  • Shipping cost surprise: "Why is shipping 50K when product is 200K?"
  • Complex form: 12 fields on checkout page
  • No guest checkout: Must create account
  • Page load slow: 5+ seconds on mobile

Optimization actions:

Week 1-2: Quick wins

  • ✅ Display shipping cost on product page
  • ✅ Reduce checkout form từ 12 fields → 6 fields (name, phone, address, email)
  • ✅ Enable guest checkout

Week 3-4: Mobile optimization

  • ✅ Redesign mobile checkout (larger buttons, single-column form)
  • ✅ Optimize page load (lazy loading, image compression)
  • ✅ Add progress indicator (Step 1 of 3)

Week 5-6: Re-engagement

  • ✅ Cart abandonment email (automated 1 hour later)
  • ✅ Facebook retargeting for cart abandoners

Results after 6 weeks:

StepBeforeAfterImprovement
Add to cart → Checkout30%55%+83%
Mobile conversion20%45%+125%
Desktop conversion50%60%+20%

Overall conversion: 1.8% → 3.1% (+72%)

Business impact:

  • Revenue increase: +$150K/month
  • Cart abandonment emails: 12% open rate, 8% conversion → $15K additional revenue/month
  • ROI: Spent $20K on optimization, gained $150K/month = 7.5x ROI in first month

Common mistakes to avoid

Mistake 1: Quá nhiều steps trong funnel

Problem: 15-step funnel impossible to optimize.

Solution: Consolidate vào 5-7 key stages.

Mistake 2: Không segment

Problem: Average funnel che giấu insights.

Example:

  • Overall conversion: 5%
  • But: Desktop = 10%, Mobile = 2%

→ Nếu chỉ nhìn overall, bạn miss insight rằng mobile is broken.

Solution: Always segment by device, channel, user type.

Mistake 3: Chỉ nhìn conversion rate, ignore time to convert

Problem: High conversion nhưng takes 14 days → users might forget.

Example:

  • Funnel A: 10% conversion, average 2 days
  • Funnel B: 12% conversion, average 10 days

→ Funnel A might be better (shorter, more engaged users).

Solution: Track median time to convert cho mỗi funnel.

Mistake 4: Optimize wrong bottleneck

Example:

StepConversionAbsolute drop-off (users)
A → B50%50,000 users lost
B → C80%10,000 users lost
C → D30%28,000 users lost

Wrong approach: Optimize C → D (lowest %) vì 30% conversion thấp nhất.

Right approach: Optimize A → B (highest absolute drop-off) vì 50K users lost.

Principle: Optimize stages với highest absolute impact, not just lowest %.

Mistake 5: Không A/B test optimizations

Problem: Make changes based on gut feeling, không measure impact.

Example: Redesign checkout page "to make it prettier". Conversion... drops 10%.

Solution: A/B test mọi changes. Control vs Variant. Measure statistical significance.

Mistake 6: Ignore qualitative data

Problem: Funnel analysis cho biết "where" users drop, nhưng không "why".

Solution: Combine với:

  • User surveys: "Why didn't you complete purchase?" (form sau khi abandon)
  • Session recordings: Watch actual users struggle
  • Heatmaps: See where users click (or don't click)
  • Customer support logs: Common complaints?

Tools: Hotjar, FullStory, Clarity (Microsoft, free).

Advanced: Multi-path funnels

Traditional funnel assumption: Users follow linear path A → B → C → D.

Reality: Users jump around.

Example:

Path 1 (50% users): Homepage → Product → Cart → Checkout → Purchase

Path 2 (30% users): Search → Product → Wishlist → Cart → Checkout → Purchase

Path 3 (20% users): Email link → Cart → Product (review) → Cart → Checkout → Purchase

Insight: 30% users use Wishlist. Maybe promote wishlist feature?

How to analyze: Sankey diagrams, sequence analysis, Markov chains (advanced).

Tools: Amplitude (Pathfinder), Mixpanel (Flows).

Kết luận

Funnel analysis là một trong những techniques mạnh mẽ nhất để tối ưu conversion. Nó giúp bạn không chỉ biết "conversion rate là bao nhiêu" mà còn ở đâu và tại sao users drop off.

Key takeaways:

  1. Define clear funnel stages (5-7 steps)
  2. Track events consistently (user_id, timestamp, context)
  3. Segment, segment, segment (device, channel, cohort)
  4. Identify bottlenecks (highest drop-off stages)
  5. Optimize systematically (reduce friction, clear value prop, A/B test)
  6. Re-engage drop-offs (emails, retargeting)
  7. Combine quant + qual data (analytics + user research)

Next steps:

Nếu bạn chưa có funnel analysis:

  1. Start với 1 critical funnel (purchase hoặc sign-up)
  2. Setup event tracking (GA4 hoặc Amplitude)
  3. Build funnel report trong BI tool
  4. Identify top bottleneck
  5. Run 1 A/B test để optimize bottleneck đó
  6. Measure impact, iterate

Trong 6-8 tuần, bạn sẽ thấy measurable improvement trong conversion rates.


Muốn được tư vấn về cách optimize funnels cho doanh nghiệp của bạn?

Tại Carptech, chúng tôi đã giúp 15+ companies tăng conversion rate trung bình 30-50% thông qua data-driven funnel optimization. Đặt lịch tư vấn miễn phí 60 phút để chúng tôi phân tích funnels hiện tại của bạn và đề xuất optimization roadmap.

Để tìm hiểu thêm về các techniques analytics khác, đọc:

Có câu hỏi về Data Platform?

Đội ngũ chuyên gia của Carptech sẵn sàng tư vấn miễn phí về giải pháp phù hợp nhất cho doanh nghiệp của bạn. Đặt lịch tư vấn 60 phút qua Microsoft Teams hoặc gửi form liên hệ.

✓ Miễn phí 100% • ✓ Microsoft Teams • ✓ Không cam kết dài hạn