Đo lường

Flow mở app → Home

Bao nhiêu phần trăm người mở app đi được tới màn hình chính, và drop ở step nào nhiều nhất. 9 step lần mở đầu tiên · 4 step các lần sau — mỗi step một event riêng, đánh số sẵn theo thứ tự nên dựng báo cáo chỉ việc kéo-thả.

📋 Bảng param → khai Custom definition loại nào
Mục lục trang

1 Funnel trả lời câu gì

Ba câu hỏi, tự mở Firebase là ra.

Tỉ lệ vào được app

Trong 100 người mở app, bao nhiêu người tới được màn hình chính.

= số người có on09_home ÷ số người có on01_app_open

Drop ở step nào

Step nào tụt số nhiều nhất so với step ngay trước — đó là chỗ sửa đầu tiên.

Báo cáo funnel tự tính sẵn cột "tỉ lệ drop".

Ads có làm mất người dùng không

Người bấm ads có quay lại app không, quay lại rồi có đi tiếp không.

= _ad_click_ad_back, xem mục 4.

🧭 Hai flow tách riêng, không trộn số
Lần đầu (vừa cài xong) đi 9 step — có Intro, Language, ChooseWallpaper, Hello. Các lần mở sau chỉ 4 step — qua Splash rồi vào thẳng màn hình chính. Tên event khác nhau hoàn toàn (on…rn…) nên số liệu không lẫn.
🔄 v1.0.15 đổi toàn bộ tên event funnel
ob01…ob17on01…on09 · rt01…rt05rn01…rn04.
Rút step vì onboarding bỏ 5 vị trí đo (màn Sub, inter sau Sub, native ở Splash, ads thứ hai ở Language), và 7 event cũ chỉ là bản sao thời điểm của event ngay trước — "màn A xong" với "màn B hiện" là cùng một giây. Quy tắc mới: một event cho một ranh giới màn.
Bộ cũ tụt về 0 ngay ngày phát hành — đổi tên có chủ ý, không phải mất tracking. Bảng dò tên cũ ↔ mới ở mục 3. Dashboard / cảnh báo treo vào tên cũ phải chuyển trước ngày phát hành.
⚠️ Funnel chỉ đếm lượt mở app chủ động
Ba lượt sau không bắn event nào, kể cả rn01_app_open — app biết trước lượt đó cố ý bỏ ads: vừa đặt iOS Launcher làm màn hình chính mặc định · bấm phím Home khi đã là mặc định · vừa đóng một ứng dụng trong app (Clock, Gallery…). Đếm vào chỉ phồng mẫu số bằng các lượt không bao giờ có ads.

Quy ước tên — nhìn tên là biết step thứ mấy, flow nào

PhầnNghĩaVí dụ
on / rnLần cài xong mở đầu tiên / các lần mở sauon04_intro_p2 · rn04_home
Số 2 chữ sốThứ tự step, luôn tăng theo thứ tự bắn thật — Firebase xếp alphabet ra đúng thứ tự funnel. Mỗi số = một ranh giới màn0109
_endStep của funnel ở màn có ads — bao nhiêu người rời được màn đó. Luôn bắn, kể cả lượt không có adson03_splash_end
_doneStep của funnel ở màn không có ads — rời màn đóon06_lang_done
_ad_showNhánh 1 — ads hiện ra trước mắt người dùngon03_splash_ad_show
_ad_not_showNhánh 2 — ads không hiện, kèm reasonon03_splash_ad_not_show
_ad_click / _ad_backBấm ads (rời app) / quay trở lại app sau khi bấmon05_intro_ad_click
🆕 Màn có ads = 2 nhánh rồi nhập lại ở _end
02 gdpr_done
        │
   ┌────┴────┐  màn Splash — vị trí ads full-screen
   │         │
_ad_show  _ad_not_show   (đúng 1 trong 2 — reason cho biết vì sao không hiện)
   │         │
   └────┬────┘
   on03_splash_end   ← bao nhiêu người RỜI ĐƯỢC màn Splash  = step 03
        │
   04 Intro (p2…p5) → 05 on05_intro_end (native đáy Intro, cũng 2 nhánh) → …
_end gánh hai vai: mốc "rời màn" của funnel mốc đóng vị trí ads của màn đó.
Step ads phải dùng _end, không dùng _ad_show_ad_show chỉ bắn khi ads hiện được thật, nên premium / Remote Config tắt / consent không cho / no-fill / timeout đều rỗng ở step đó và closed funnel xoá luôn họ ở mọi step sau.
Bất biến: _ad_show + _ad_not_show = _end · show rate = _ad_show ÷ _end.
✅ Không phải khai báo gì thêm để dựng funnel
Mỗi step là một tên event riêng nên báo cáo funnel kéo tên vào là chạy. Chỉ khai Custom definition khi muốn tách lý do ads không hiện (param reason) — bảng param mục 4.
onboarding_complete vẫn bắn cùng lúc với on09_home nhưng không có param nên không dùng dựng funnel.

2 Flow

Ô màu là chỗ có ads chen vào. Tới mỗi vị trí ads luồng tách hai nhánh — phải là thấy ads, trái là không thấy — rồi nhập lại đi tiếp. Điền số ở mục 5 thì sơ đồ hiện luôn số users từng nhánh; bấm Gọn để chỉ xem thứ tự step.

Lần mở đầu tiên — 6 màn hình, 9 step, đích on09_home

khối nền = một màn hình màn hình / step chính thấy native ads thấy full-screen ads không thấy ads = _ad_not_show (lý do đọc ở param reason) line xanh = ads hiện được line cam = ads không hiện đích

✅ Cả hai nhánh đều được funnel đếm
Số ở nhánh trái là "không thấy ads", không phải người bỏ app — cả hai nhánh nhập lại ở _end, không nhánh nào bị cắt. Drop thật ở màn có ads = users(step trước) − _end.
🚀
Cài xong, mở app lần đầu
9 step · 3 vị trí ads · đích on09_home
01 · Mở app
on01_app_open — vào màn Splash.
02 · Consent UMP (GDPR)
on02_gdpr_done — form consent của Google (UMP SDK) trả kết quả; ngoài vùng GDPR qua luôn trong tích tắc. Bỏ app lúc form đang hiện = on01on02.
03 · Rời màn Splash Full-screen ads
on03_splash_end — vị trí ads duy nhất của Splash đóng tại đây; hai nhánh on03_splash_ad_show / on03_splash_ad_not_show{reason} nhập lại vào chính event này. Kèm reason = normal/timeout + dur_ms. Remote Config đổi được AOA ↔ inter, param format cho biết loại thật.
04 · Màn Intro — trang 2→5
on04_intro_p2on04_intro_p5 — mỗi trang một event nên thấy được người bỏ ở trang thứ mấy. Trang 1 không có event riêng: thấy trang 1 = rời Splash = step 03, cùng một giây. Từ v1.0.15 vuốt / bấm được ngay từ giây đầu, không còn khoá 8 giây chờ ads.
05 · Rời màn Intro Native ads
on05_intro_end — bấm nút ở trang cuối. Ô native ghim đáy màn (hiện suốt 5 trang) đóng tại đây: on05_intro_ad_show / on05_intro_ad_not_show{reason} nhập lại vào event này. Đi thẳng sang Language (v1.0.15 bỏ màn Sub và inter ở giữa).
Lưu ý đọc số: nút Intro không còn bị khoá theo trạng thái ads, nên người bấm nhanh rời màn trước lúc native resolve → nhánh _ad_not_show{no_ad} cao hơn bản cũ. Đó là số thật, không phải hồi quy.
06 · Chốt ngôn ngữ
on06_lang_done — bấm Continue rời màn Language, kèm lang. Phụ: on06_lang_select bắn mọi lần user đổi ý (không phải step). Lần chọn đầu mở overlay "Applying language…" ~3 giây rồi bật nút Continue.
Màn này không có step riêng cho lượt vào màn (trùng step 05), và native_language_1 không có step — nó sống suốt màn nên không có mốc "rời vị trí"; impression đọc ở trang Events, đúng 1 impression mỗi lượt vào màn.
07 · Rời ChooseWallpaper
on07_wall_done — kèm action = chọn hình nền hay bỏ qua. Không có ads.
08 · Hello sẵn sàng
on08_hello_ready — nút "Let's Start" hiện ra, kèm ms = thời gian chờ nạp icon. Không có ads.
09 · 🎯 Home
on09_home — đích. Kèm tổng thời gian đi hết flow + số lần bấm ads trên đường đi.

Các lần mở sau — 1 màn hình, 4 step, đích rn04_home

Flow này chạy mọi lượt chủ động mở app nên vị trí ads ở đây ăn số nhiều hơn hẳn onboarding — sửa được ở đây là lợi mọi ngày, không riêng ngày cài.

🔁
Mở app các lần sau
4 step · 1 vị trí ads · đích rn04_home
01 · Mở app
rn01_app_open
02 · Consent UMP (GDPR)
rn02_gdpr_done — lượt mở app nào cũng chạy, không riêng lần đầu.
03 · Rời màn Splash Full-screen ads
rn03_splash_end — giống hệt step 03 của flow lần đầu, chỉ khác tên. rn03_splash_ad_show / rn03_splash_ad_not_show{reason} nhập lại vào đây.
04 · 🎯 Home
rn04_home — đích.
Không bắn event nào — không tính là một lượt mở app
App còn chạy nền rồi bật lại · đổi ngôn ngữ trong Cài đặt làm màn hình bị dựng lại · lượt mở app cố ý bỏ ads (vừa đặt làm màn hình chính mặc định · bấm phím Home khi đã là mặc định · vừa đóng một ứng dụng trong app). Ads lúc đó là loại khác, có capping riêng.

Hai flow đặt cạnh nhau

Ba step đầu trùng hình dạng (mở app → consent → rời Splash kèm ads full-screen) nhưng tên event khác nhau nên số liệu không bao giờ trộn. Từ step 04 tách đôi.

🚀 Lần đầuon… · 9 step
01 app_open 02 gdpr_done 03 splash_end 04 Intro p2–p5 05 intro_end 06 lang_done 07 wall_done 08 hello_ready 09 home 🎯
🔁 Lần saurn… · 4 step
01 app_open 02 gdpr_done 03 splash_end 04 home 🎯

có ở cả hai flow chỉ có ở lần đầu đích

⚠️ Số flow lần-mở-sau không so thẳng được với các tháng trước 08/2026
Ba lượt "cố ý bỏ ads" trước 08/2026 vẫn bắn app_open rồi chạy thẳng xuống home mà không bao giờ có ads → phồng mẫu số mọi step. Giờ chúng im hẳn nên số thấp hơn nhưng đúng hơn. Muốn so trước/sau thì so show rate (_ad_show ÷ _end).

3 Bảng event đầy đủ

29 event của hai flow — 21 on… + 8 rn…. Dòng in đậm STEP là step kéo vào funnel. Cột Event cũ (v1.0.14) là bảng dò — gõ tên cũ vào ô tìm cũng ra đúng dòng; tên cũ không còn bắn nữa.

EventEvent cũ (v1.0.14)NhómBắn khi nàoparams
on01_app_openob01_app_openLần đầuSTEP 01 — mở app lần đầu sau khi cài.Không có tham số
on02_gdpr_doneob02_gdpr_doneLần đầuSTEP 02 — consent UMP trả kết quả (đồng ý / từ chối / lỗi). Event gdpr_start cũ đã bỏ: nó bắn ngay sau step 01 nên hai dòng số luôn bằng nhau.
  • ms: mất bao lâu
  • can_ads: có được phép hiện ads không
  • error_code: mã lỗi nếu có
on03_splash_endob04_aoa_splash_end + ob05_splash_doneAds lần đầuSTEP 03 — rời màn Splash. Vừa là mốc "bao nhiêu người đi qua được vị trí ads full-screen", vừa là mốc rời màn (bộ cũ tách thành 2 event, nay gộp 1). Luôn bắn 1 lần/lượt.
  • reason: normal / timeout — rời màn bình thường hay bị cắt vì quá giờ
  • dur_ms: tổng thời gian ở màn Splash
on03_splash_ad_showob04_aoa_splash_showAds lần đầuNhánh 1 — ads full-screen ở màn Splash hiện ra.
  • format: aoa hoặc inter
on03_splash_ad_not_showob04_aoa_splash_not_showAds lần đầuNhánh 2 — ads full-screen không hiện được.
  • reason: vì sao không hiện
on03_splash_ad_clickob04_aoa_splash_clickAds lần đầuBấm vào ads đó.
  • format
on03_splash_ad_backob04_aoa_splash_backAds lần đầuQuay lại app sau khi bấm ads đó.
  • away_ms: đi vắng bao lâu
on04_intro_p2ob06_intro_p2Lần đầuSTEP 04 — xem trang Intro 2. Mỗi trang chỉ tính 1 lần. Trang 1 không có event — trùng step 03.Không có tham số
on04_intro_p3ob06_intro_p3Lần đầuXem trang Intro 3.Không có tham số
on04_intro_p4ob06_intro_p4Lần đầuXem trang Intro 4.Không có tham số
on04_intro_p5ob06_intro_p5Lần đầuXem trang Intro 5 (trang cuối).Không có tham số
on05_intro_endob07_nt_intro_end + ob08_intro_doneAds lần đầuSTEP 05 — rời màn Intro (bấm nút ở trang cuối). Vừa là mốc đóng vị trí native đáy Intro, vừa là mốc rời màn.Không có tham số
on05_intro_ad_showob07_nt_intro_showAds lần đầuNhánh 1 — native ads đáy màn Intro hiện ra.
  • format
on05_intro_ad_not_showob07_nt_intro_not_showAds lần đầuNhánh 2 — native đáy Intro không hiện được.
  • reason: vì sao không hiện
on05_intro_ad_clickob07_nt_intro_clickAds lần đầuBấm vào ads đó.
  • format
on05_intro_ad_backob07_nt_intro_backAds lần đầuQuay lại app sau khi bấm.
  • away_ms
on06_lang_doneob14_lang_doneLần đầuSTEP 06 — bấm Continue để chốt ngôn ngữ và rời màn Language.
  • lang: mã ngôn ngữ
on06_lang_selectob11_lang_selectLần đầuKhông phải step — chọn một ngôn ngữ, tính mọi lần: đổi qua đổi lại đếm hết, để biết người dùng phân vân bao nhiêu lần.
  • lang
on07_wall_doneob15_wall_doneLần đầuSTEP 07 — rời màn ChooseWallpaper.
  • action: set (có chọn) / skip (bỏ qua)
on08_hello_readyob16_hello_readyLần đầuSTEP 08 — nút "Let's Start" hiện ra, nạp icon xong.
  • ms: người dùng phải chờ bao lâu
on09_homeob17_homeLần đầuSTEP 09 · ĐÍCH — vào được màn hình chính, hoàn tất onboarding.
  • dur_ms: tổng thời gian từ lúc mở app
  • ad_clicks: đã bấm ads mấy lần trên đường đi
  • had_ad: có thấy ads nào không
rn01_app_openrt01_app_openLần sauSTEP 01 — mở app (đã hoàn tất onboarding từ trước). Chỉ bắn ở lượt người dùng chủ động mở app — lượt cố ý bỏ ads im hoàn toàn, xem mục 2.Không có tham số
rn02_gdpr_donert02_gdpr_doneLần sauSTEP 02 — consent UMP trả kết quả.
  • ms, can_ads, error_code
rn03_splash_endrt04_aoa_splash_endAds lần sauSTEP 03 — rời màn Splash + mốc đóng vị trí ads full-screen.
  • reason: normal / timeout
  • dur_ms
rn03_splash_ad_showrt04_aoa_splash_showAds lần sauNhánh 1 — ads full-screen ở màn Splash hiện ra.
  • format
rn03_splash_ad_not_showrt04_aoa_splash_not_showAds lần sauNhánh 2 — ads full-screen không hiện được.
  • reason
rn03_splash_ad_clickrt04_aoa_splash_clickAds lần sauBấm vào ads đó.
  • format
rn03_splash_ad_backrt04_aoa_splash_backAds lần sauQuay lại app sau khi bấm.
  • away_ms
rn04_homert05_homeLần sauSTEP 04 · ĐÍCH — dùng được màn hình chính.
  • dur_ms, ad_clicks, had_ad
🗑️ Event cũ đứng ở 0 từ v1.0.15 — hai lý do khác nhau A · Vị trí đo không còn tồn tại (mất hẳn, không có tên mới tương ứng):
  • ob03_nt_splash_* · rt03_nt_splash_* — bỏ ô native ở màn Splash.
  • ob09_sub_* · ob10_int_sub_* — bỏ màn Sub + inter sau nó khỏi onboarding (màn Sub vẫn còn, chỉ vào được từ Cài đặt).
  • ob12_nt_lang1_*native_language_1 vẫn chạy nhưng không còn step funnel; impression đọc ở trang Events.
  • ob13_nt_lang2_* — bỏ hẳn ads thứ hai ở màn Language.
B · Trùng thời điểm với event ngay trước nó — mốc đo vẫn còn, chỉ là đọc ở event khác:
Event cũ đã bỏGiờ đọc ở
ob02_gdpr_start · rt02_gdpr_starton01 / rn01_app_open
ob05_splash_done · ob06_intro_p1on03_splash_end
ob08_intro_done · ob11_lang_showon05_intro_end
ob15_wall_showon06_lang_done
ob16_hello_showon07_wall_done

4 Dựng báo cáo trên Firebase

Làm một lần, lưu lại là lần sau mở ra xem luôn. Không cần quyền Editor.

📊
Tạo báo cáo funnel (Funnel exploration)
Firebase Console → project chứa app com.hp.theme.homescreen.smart
1 · Mở Explore
Menu trái → Analytics → Explore (một số bản ghi là Khám phá) → chọn mẫu Funnel exploration.
2 · Thêm step
Khung Steps → bút chì ✏️ → mỗi step chọn Event name = <tên event>, kéo theo đúng số thứ tự:
on01_app_openon02_gdpr_doneon03_splash_endon04_intro_p2on04_intro_p3on04_intro_p4on04_intro_p5on05_intro_endon06_lang_doneon07_wall_doneon08_hello_readyon09_home.
Không cần chi tiết từng trang Intro thì bỏ p3/p4/p5, còn 9 step đúng bằng 9 số.
3 · Chọn kiểu funnel
Make open funnel = TẮT (closed funnel) — bắt buộc đi đúng thứ tự mới tính, đúng bản chất onboarding.
4 · Đọc số
Cột Abandonment rate = tỉ lệ drop từng step; cao nhất là chỗ mất người dùng nhiều nhất. Bật Show elapsed time nếu muốn biết mỗi step tốn bao lâu.
5 · Lưu + làm bản thứ hai
Đặt tên ("Funnel onboarding v1.0.15 — lần đầu") rồi lưu. Bản cho flow lần sau: rn01_app_openrn02_gdpr_donern03_splash_endrn04_home.
⛔ Ba lỗi làm funnel đọc sai
  • Đưa _ad_show vào step ads. Nó chỉ bắn khi ads hiện được → closed funnel cắt hết người không thấy ads. Luôn dùng _end; show rate tính riêng bằng _ad_show ÷ _end.
  • Đọc theo Event count. Máy thu hồi bộ nhớ rồi mở lại là có thêm một on01_app_open → tỉ lệ thấp giả tạo. Đọc theo Users (mặc định của Funnel exploration, đừng đổi).
  • Bật Make open funnel. Phải để TẮT — onboarding bắt buộc đi đúng thứ tự.
⛔ Dựng báo cáo MỚI, đừng sửa báo cáo cũ
Hai bộ tên không so được theo từng step — step thứ n của hai bên là hai chỗ khác nhau trong flow. Giữ báo cáo cũ (ob… / rt…) để tra dữ liệu v1.0.14 trở về trước, tạo báo cáo mới bên cạnh. Dashboard / cảnh báo treo vào tên cũ phải chuyển trước ngày phát hành.
Mốc duy nhất so trực tiếp được: tỉ lệ tới đích ob17_home ÷ ob01_app_open (v1.0.14 = 64,0%) ↔ on09_home ÷ on01_app_open (mục tiêu v1.0.15 = 72–78%).
⚠️ Một chỗ vẫn hụt event — phải né khi dựng báo cáo
Remote Config intro_isSkip bật → app vào thẳng màn Language, cả on04_intro_p2…p5on05_intro_end đều không bắn. Đang bật cờ đó thì bỏ hẳn step 04 + 05 khỏi funnel, nếu không mọi số từ step 04 trở đi đọc ra gần 0.
🔍 Xem nhanh không cần dựng funnel
Analytics → Events, gõ on0 rồi rn0 — toàn bộ step hiện ra đúng thứ tự kèm số users. on09_home ÷ on01_app_open = tỉ lệ hoàn thành. Ở màn có ads lấy dòng _end.
Báo cáo chính thức trễ 24–48 giờ. Bản debug / releaseDev gửi event dưới tên debug_<tên gốc> nên không lẫn số thật — xem nhanh bằng adb logcat -s Analytics hoặc DebugView.

Bấm ads xong có dùng tiếp app không

Trả lời bằng 2 event _ad_click / _ad_back của mỗi vị trí ads. Mất trắng = _ad_click_ad_back.

🎯
Funnel 2 step — đo riêng từng vị trí ads
Step 1 = _ad_click · Step 2 = on09_home
1 · Step 1
Event name = on05_intro_ad_click (hoặc on03_splash_ad_click · rn03_splash_ad_click).
2 · Step 2
Event name = on09_home (flow lần sau thì rn04_home).
3 · Đọc
Tỉ lệ chuyển tiếp = trong số người bấm ads ở vị trí đó, bao nhiêu phần trăm vẫn vào tới màn hình chính. So giữa các vị trí để biết vị trí nào "ăn" mất người dùng nhiều nhất.
away_ms nói lên điều gì
Đi vắng rất ngắn (vài giây) thường là bấm nhầm; đi vắng lâu mà vẫn quay lại là user thật sự quan tâm nội dung ads. Rời app dưới 0,7 giây không tính — tránh đếm nhầm hộp thoại xin quyền hay màn khoá chớp qua.

Bảng param — khai Custom definition loại nào

Cột Khai Firebase là loại chọn ở Analytics → Admin ⚙️ → Custom definitions. Bắt buộc khai reason (Dimension) — đó là chỗ đọc lý do ads không hiện. Custom definition chỉ tính dữ liệu từ lúc khai trở đi, không hồi tố.

ParamKiểu dữ liệu thậtÝ nghĩaKhai FirebaseEvent dùng param này
reasonTextTrên 3 event _ad_not_show: rc_off (Remote Config tắt ads ở vị trí đó) · no_fill (xin ads nhưng không có) · timeout (hết giờ chờ) · no_consent (consent không cho ads) · not_init (SDK ads chưa sẵn sàng) · premium (thuê bao / tắt toàn bộ ads) · loaded_no_show (có ads nhưng không kịp hiện) · capped (chặn vì giãn cách) · no_ad (đã xin nhưng cuối cùng không hiện được).
Trên on03/rn03_splash_end nghĩa KHÁC: normal/timeout = rời màn Splash bình thường hay bị cắt vì quá giờ. Hai event khác nhau, đừng gộp lại khi đọc.
Lượt mở app cố ý bỏ ads không xuất hiện ở đây — từ bản 08/2026 cả lượt đó im, không bắn _ad_not_show nào.
Dimensionon03/rn03_splash_ad_not_show, on05_intro_ad_not_show, on03/rn03_splash_end
formatTextLoại ads thật đang chạy: native / aoa / interDimensionmọi *_ad_show / *_ad_click
away_msNumberSố mili-giây user đi vắng trước khi quay lại (dưới 700ms không tính là rời app)Metricmọi *_ad_back
msNumberThời gian chờ một tác vụ cụ thể (consent UMP, hoặc nạp icon ở màn Hello)Metricon02/rn02_gdpr_done, on08_hello_ready
can_adsText ("true"/"false")Sau consent có được phép request ads khôngDimensionon02/rn02_gdpr_done
error_codeNumber (null nếu không lỗi)Mã lỗi UMP nếu consent trả lỗiDimensionon02/rn02_gdpr_done
dur_msNumberTổng thời gian tính từ on01/rn01_app_open tới lúc bắn event nàyMetricon03/rn03_splash_end, on09_home, rn04_home
langTextMã ngôn ngữ đang chọn/đã chốtDimensionon06_lang_select, on06_lang_done
actionTextset (có chọn hình nền) / skip (bỏ qua)Dimensionon07_wall_done
ad_clicksNumberSố lần đã bấm ads trên toàn đường đi, tính tới lúc vào HomeMetricon09_home, rn04_home
had_adText ("true"/"false")Có thấy ads nào không trên toàn đường điDimensionon09_home, rn04_home
⚠️ Boolean lên Firebase thành chữ, không phải số
can_ads/had_adBoolean trong code nhưng SDK ghi lên Firebase dưới dạng chữ "true"/"false" — khai Dimension (Text), KHÔNG khai Metric, khai Metric sẽ không lọc được giá trị.

5 Bảng tính tỉ lệ

Điền số Users lấy từ Firebase vào từng step — bảng tự tính % giữ so với step trước, % còn lại từ đầu, và bôi đỏ dòng drop nhiều nhất. Cột Event count không bắt buộc. Tính trong trình duyệt, không gửi số đi đâu.
Ô phụ nhánh _ad_show ở dòng ads chỉ để sơ đồ vẽ hai nhánh — không tham gia phép tính funnel.

Số giả để test bảng chạy đúng chưa — không phải số thật.

Import từ Firebase — không cần gõ tay

  • Dán bảng. Mở Explore → Funnel exploration hoặc Analytics → Events → bôi đen cả bảng kèm dòng headerCtrl+C → dán vào ô dưới → Import vào bảng.
  • Hoặc chọn file CSV. Firebase → Export ⬇️Download CSV → bấm 📄 Chọn file CSV, hoặc kéo thẳng file thả vào ô dán. Nhận cột theo tên header, thứ tự cột không quan trọng; dòng ghi chú Firebase chèn đầu file và dấu phẩy ngăn nghìn tự xử lý. File chỉ đọc trong trình duyệt, không tải lên đâu cả.

Lần mở đầu tiên (9 step)

#EventUsersEvent count(không bắt buộc)% giữ so với step trước% còn lại từ đầuGhi chú
01on01_app_open
02on02_gdpr_done
03on03_splash_end
nhánh _ad_show:
04on04_intro_p2
05on05_intro_end
nhánh _ad_show:
06on06_lang_done
07on07_wall_done
08on08_hello_ready
09on09_home

Các lần mở sau (4 step)

#EventUsersEvent count(không bắt buộc)% giữ so với step trước% còn lại từ đầuGhi chú
01rn01_app_open
02rn02_gdpr_done
03rn03_splash_end
nhánh _ad_show:
04rn04_home

Kết luận & biểu đồ — tự sinh từ số vừa điền

Vẽ lại ngay mỗi khi số ở hai bảng trên đổi. Khối đầu là kết luận: xếp hạng 3 chỗ nên sửa trước kèm ước lượng thêm được bao nhiêu users vào Home. Trỏ chuột vào cột/thanh để xem số chi tiết.

🧮 Đọc kết quả sao cho đúng
% còn lại từ đầu ở dòng cuối = tỉ lệ hoàn thành cả flow. Dòng bôi đỏ là step tụt nhiều nhất — sửa chỗ đó trước. Cả hai cột % luôn tính theo Users; Event count chỉ để tham khảo qua cột Ghi chú.
Ở dòng ads, % giữ là drop thật; muốn biết show rate thì lấy _ad_show của vị trí đó (Analytics → Events) chia cho _end ở bảng này.
Mốc so với bản trước: v1.0.14 vào Home 64,0% (ob17_home ÷ ob01_app_open) → mục tiêu v1.0.15 72–78% (on09_home ÷ on01_app_open). Con số duy nhất so trực tiếp được giữa hai bộ.
📝 Ghi chú tự sinh khi có Event count
  • Khớp Users — Event count ≈ Users (chênh dưới 2%), số liệu sạch.
  • Có lặp nhẹ / lặp nhiều — Event count cao hơn Users đáng kể: thường do _ad_click bấm nhiều lần, on06_lang_select (cố ý đếm mọi lần đổi ý), hoặc on01/rn01_app_open bắn lại vì app bị hệ thống thu hồi rồi mở lại. Không phải lỗi, nhưng đừng lấy Event count để tính funnel.
  • Bất thường — Event count < Users: về lý thuyết không xảy ra. Thấy dòng này thì kiểm lại số đã nhập trước khi báo cáo.
➡️ Funnel dừng ở Home — chuyện sau đó đọc ở đâu
Ngay sau on09_home / rn04_home, v1.0.15 có một dialog promo trên màn hình chính, chạy ở 2 mode: mode FULL (carousel 6 card — set_default · Theme · Cài đặt · Control center · Chat AI · mua gói) và mode SET_DEFAULT_ONLY (chỉ card set_default). Nó không nằm trong funnel này — bộ event riêng (promo_carousel_shown / _page_picked / _dismissed) và luật hiện riêng, mô tả ở trang Thay đổi v1.0.15 — mục 5.
🔗 Liên quan
Toàn bộ event khác của app → trang Events · Vòng đời từng loại ads → trang Ads · Công tắc bật/tắt ads từ server → trang Remote Config.