"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ỏ và 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 để:
- Hiểu bao nhiêu % users complete mỗi step
- Identify steps nào có drop-off rate cao nhất
- Tìm ra root causes của drop-offs
- 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:
| Step | Users | Conversion from previous | Drop-off |
|---|---|---|---|
| Product page view | 10,000 | - | - |
| Add to cart | 2,000 | 20% | 80% |
| Checkout started | 800 | 40% | 60% |
| Payment info entered | 600 | 75% | 25% |
| Order completed | 540 | 90% | 10% |
| Overall | 540 | 5.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:
| step | step_order | users | conversion_from_previous | drop_off |
|---|---|---|---|---|
| Product View | 1 | 10,000 | null | null |
| Add to Cart | 2 | 2,000 | 20.0% | 80.0% |
| Checkout | 3 | 800 | 40.0% | 60.0% |
| Purchase | 4 | 540 | 67.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:
| Segment | Overall Conversion |
|---|---|
| Desktop | 8.5% |
| Mobile | 2.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:
| Cohort | Overall Conversion |
|---|---|
| Jan 2025 | 3.2% |
| Feb 2025 | 3.8% |
| Mar 2025 | 5.1% |
| Apr 2025 | 6.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:
| Step | Users | Conversion | Drop-off |
|---|---|---|---|
| Product view | 50,000 | - | - |
| Add to cart | 10,000 | 20% | 80% |
| Checkout | 3,000 | 30% | 70% |
| Payment | 2,400 | 80% | 20% |
| Success | 2,200 | 92% | 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:
| Step | Before | After | Improvement |
|---|---|---|---|
| Add to cart → Checkout | 30% | 55% | +83% |
| Mobile conversion | 20% | 45% | +125% |
| Desktop conversion | 50% | 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:
| Step | Conversion | Absolute drop-off (users) |
|---|---|---|
| A → B | 50% | 50,000 users lost |
| B → C | 80% | 10,000 users lost |
| C → D | 30% | 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:
- Define clear funnel stages (5-7 steps)
- Track events consistently (user_id, timestamp, context)
- Segment, segment, segment (device, channel, cohort)
- Identify bottlenecks (highest drop-off stages)
- Optimize systematically (reduce friction, clear value prop, A/B test)
- Re-engage drop-offs (emails, retargeting)
- Combine quant + qual data (analytics + user research)
Next steps:
Nếu bạn chưa có funnel analysis:
- Start với 1 critical funnel (purchase hoặc sign-up)
- Setup event tracking (GA4 hoặc Amplitude)
- Build funnel report trong BI tool
- Identify top bottleneck
- Run 1 A/B test để optimize bottleneck đó
- 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:




