00Kết luận cho lãnh đạo
Bốn câu quan trọng nhất của cả tài liệu:
- eCPM không phải là biến số ta điều khiển. eCPM = IPM × CPI của advertiser. Nó do chất lượng user và mức cạnh tranh của thị trường quyết định. Việc của ta là không chặn nó (floor, consent, SKAdNetwork, độ trễ) và tăng số impression trên mỗi DAU một cách có thiết kế.
- Với hybrid casual, thiết kế game quyết định gấp 2–3 lần mediation. Dọn mediation đáng ~15–35% ad ARPDAU; thiết kế lớp rewarded quanh khan hiếm thật của economy đáng 40–100%.
- Với game thuần IAA thì tỷ lệ đó đảo lại. 100% doanh thu đi qua waterfall, nên mediation + reach + eCPM chiếm phần lớn upside, và LTV dồn vào D0–D3 nên mọi thứ phải monetize ngay session đầu. Hai mô hình cần hai bộ KPI và hai bộ guardrail khác nhau — xem §08.
- Hybrid chỉ được phép tối ưu net ARPU cohort D14; pure IAA tối ưu ARPU cohort D3–D7. Đọc một dòng doanh thu là cách kinh điển để "tăng 15% ARPDAU" và mất 20% LTV.
tài liệu = đọc trực tiếp từ tài liệu chính thức (AppLovin / Google / Unity / Amazon / GameAnalytics / Tenjin / Sensor Tower). ước lượng = dải benchmark thực chiến của ngành, chưa verify được từ nguồn công khai — dùng làm giả thuyết để test trên chính sản phẩm của mình, không dùng làm số liệu báo cáo.
01Từ điển thuật ngữ viết tắt
Chốt một lần, dùng chung cho cả công ty. Ba dòng đầu là ba định nghĩa bị hiểu sai nhiều nhất giữa các team.
| Viết tắt | Tên đầy đủ | Định nghĩa & công thức |
|---|---|---|
| IAA | In-App Advertising | Doanh thu từ quảng cáo hiển thị trong game. |
| IAP | In-App Purchase | Doanh thu từ người chơi mua hàng trong game. |
| eCPM | effective Cost Per Mille | Doanh thu trên 1.000 impression = revenue / impressions × 1000. "Mille" = nghìn. Không phải giá ta đặt, mà là giá thực nhận. |
| CPM | Cost Per Mille | Giá advertiser trả cho 1.000 impression. Phía publisher gọi là eCPM khi tính ngược từ doanh thu thực. |
| ARPDAU | Average Revenue Per Daily Active User | doanh thu ngày / DAU ngày. Chỉ số vận hành hằng ngày. |
| ARPU | Average Revenue Per User | tổng doanh thu / số user active trong kỳ. Khi nói "ARPU D7" là doanh thu tích luỹ trên mỗi install tới ngày 7 (theo cohort). |
| ARPPU | Average Revenue Per Paying User | doanh thu IAP / số người mua. Chỉ có nghĩa với mô hình có IAP. |
| LTV | Lifetime Value | Giá trị vòng đời một user: Σ Retention(d) × ARPDAU(d). Xem Tab 02. |
| pLTV | predicted LTV | LTV dự đoán bằng model từ hành vi 24–72h đầu, dùng để cá nhân hoá ad load và offer. |
| ROAS | Return On Ad Spend | doanh thu tích luỹ / chi phí UA. "D7 ROAS 35%" = tới ngày 7 thu về 35% tiền đã bỏ ra. |
| CPI | Cost Per Install | Chi phí mua một install. CPI = CPM / IPM. |
| IPM | Installs Per Mille | Số install trên 1.000 impression — chỉ số sức mạnh của creative phía advertiser. |
| DAU / MAU | Daily / Monthly Active Users | Số user hoạt động mỗi ngày / mỗi tháng. |
| D1 / D7 / D30 | Day-1 / 7 / 30 retention | % user quay lại đúng ngày thứ N sau ngày install (day 0). |
| pp | percentage point | Điểm phần trăm tuyệt đối. "D7 −2pp" = từ 12% xuống 10%, không phải giảm 2% tương đối. |
| Viết tắt | Tên đầy đủ | Định nghĩa |
|---|---|---|
| RV | Rewarded Video | Quảng cáo người chơi tự chọn xem để nhận thưởng. eCPM cao nhất, rủi ro UX thấp nhất. |
| RI | Rewarded Interstitial | Ad chen ngang có màn intro thông báo phần thưởng và nút skip. |
| Inter | Interstitial | Ad toàn màn hình cưỡng chế tại điểm chuyển màn. |
| MREC | Medium Rectangle | Banner cỡ 300×250 dp. |
| AO | App Open | Ad hiện khi mở app. Rủi ro retention cao nhất. |
| MAX | AppLovin MAX | Nền tảng mediation của AppLovin — chạy đấu giá hợp nhất giữa các network. |
| Mediation | — | Lớp trung gian gom nhiều ad network và chọn ra nguồn trả giá cao nhất cho từng ad request. |
| Waterfall | — | Danh sách nguồn quảng cáo giá cố định được gọi lần lượt theo thứ tự giá. Ta phải tự đặt/giữ giá. |
| Bidding | In-app bidding / header bidding | Các network trả giá realtime cho từng impression. Không phải đặt giá tay. |
| Floor | Price floor / bid floor | Giá sàn: bid dưới mức này bị loại khỏi phiên đấu giá. |
| Fill rate | — | ad_responses / ad_requests — tỷ lệ request có ad trả về. |
| Show rate | — | Tỷ lệ ad thực sự được hiển thị. MAX / LevelPlay / AdMob định nghĩa mẫu số khác nhau — phải chốt một định nghĩa nội bộ. |
| Imp/DAU | impressions per DAU | "Độ sâu quảng cáo" — số impression trung bình mỗi user mỗi ngày. Một nửa của phương trình doanh thu. |
| ILRD | Impression-Level Ad Revenue Data | Dữ liệu doanh thu theo từng impression, qua callback onAdRevenuePaid. Tài sản dữ liệu quan trọng nhất của monet. |
| S2S | Server-to-Server | Kết nối server–server: dùng cho bidder không có SDK, và cho việc validate reward. |
| RTB | Real-Time Bidding | Đấu giá realtime cho từng impression. |
| OpenRTB | — | Giao thức chuẩn IAB cho RTB. MAX dùng OpenRTB 2.5. |
| tmax | — | Thời hạn (ms) bidder phải trả lời, hết hạn thì bị loại. MAX và Google đều không công bố con số. |
| DSP | Demand-Side Platform | Hệ thống mua quảng cáo phía advertiser. |
| SSP | Supply-Side Platform | Hệ thống bán inventory phía publisher. |
| ALX | AppLovin Exchange | Sàn giao dịch của AppLovin — luôn tham gia với vai trò bidder trong MAX. |
| APS / TAM | Amazon Publisher Services / Transparent Ad Marketplace | Header bidding server-side của Amazon, mang demand brand vào waterfall. Fee 2,5%. |
| MMP | Mobile Measurement Partner | Đối tác đo lường attribution: AppsFlyer, Adjust, Singular. |
| UA | User Acquisition | Hoạt động mua người dùng bằng quảng cáo. |
| ATT | App Tracking Transparency | Cơ chế xin phép theo dõi của Apple. Từ chối → mất IDFA → eCPM iOS giảm mạnh. |
| IDFA / GAID | ID for Advertisers / Google Advertising ID | Định danh quảng cáo của thiết bị iOS / Android. |
| SKAN | SKAdNetwork | Cơ chế attribution ẩn danh của Apple thay cho IDFA. |
| CMP | Consent Management Platform | Hệ thống thu thập đồng ý GDPR. EEA/UK cần CMP được Google chứng nhận. |
| GDPR | General Data Protection Regulation | Luật bảo vệ dữ liệu của EU. |
| COPPA | Children's Online Privacy Protection Act | Luật bảo vệ trẻ em của Mỹ. Traffic gắn cờ child-directed mất toàn bộ lớp bidding. |
| ANR | Application Not Responding | Lỗi treo app trên Android — hay sinh ra từ việc init quá nhiều SDK mediation. |
| CUPED | Controlled-experiment Using Pre-Existing Data | Kỹ thuật giảm variance trong A/B test bằng dữ liệu kỳ trước; cắt 30–50% cỡ mẫu cần thiết. |
| MDE | Minimum Detectable Effect | Mức hiệu ứng nhỏ nhất mà một test có đủ sức phát hiện. |
| CV | Coefficient of Variation | Độ phân tán tương đối = độ lệch chuẩn / trung bình. Doanh thu game hybrid có CV ≈ 2–4. |
| T1 / T2 / T3 | Tier 1 / 2 / 3 | Phân tầng thị trường theo giá quảng cáo thực nhận, cụm theo RPM của chính ta chứ không theo bảng marketing. |
02Ai thực sự trả tiền cho một impression
Chuỗi tiền đi qua 5 lớp. Hiểu chuỗi này thì mọi hành vi kỳ lạ của eCPM đều có lý do:
pIPM — xác suất impression này ra install. Giá họ trả: bid_CPM ≈ pIPM × CPI_max.- Ta bị định giá theo LTV của user ta, không theo chất lượng game ta. Thị trường có user tiêu tiền thấp thì eCPM thấp bất kể game hay đến đâu.
- Advertiser siết ROAS là eCPM rơi ngay, không liên quan gì đến ta. Đây chính là cú sụt tháng 1 hằng năm.
- Chất lượng placement được định giá. Cùng một advertiser bid cho rewarded slot cao hơn app-open slot vì pIPM khác nhau.
- Cross-promo có giá thật. Một install nội bộ tiết kiệm CPI $2,50 với IPM 1,5% tương đương eCPM $37,50. Ở tier-1 nhiều lúc house ads nên thắng AppLovin trong waterfall.
Đẳng thức này là toàn bộ mô hình kinh doanh, không phải một nửa. Doanh thu = imp/DAU × eCPM × lifetime days, và cả ba số đều bị bóp ở tier-3 nơi volume rẻ. Vì vậy game thuần IAA sống bằng spread giữa CPI mua vào và ARPU bán ra — một spread rất mỏng, cực kỳ nhạy với cú sụt eCPM (ATT làm eCPM giảm 28–35% giai đoạn 2022–23 tài liệu) và với mùa vụ. Đây là lý do lịch UA của game thuần IAA phải gắn chặt vào lịch eCPM: đẩy mạnh tháng 10–12, hạ tay trước tuần đầu tháng 1.
Tại sao iOS đắt hơn Android, và tại sao Nga rẻ hơn GDP của nó
iOS thường 1,4–2,2× Android ước lượng
User iOS có payer propensity cao hơn → LTV advertiser cao hơn → CPI cao hơn → CPM cao hơn. ATT kéo ngược lại (đo lường kém → một số advertiser hạ bid iOS), nhưng net vẫn iOS thắng rõ.
Nga: cầu nội địa hoá
Sau 2022 phần lớn DSP phương Tây rút, RU phụ thuộc demand nội địa/Trung Quốc. eCPM nằm dưới mức mà sức mua của thị trường đáng ra tạo ra. Yandex Ads gần như bắt buộc nếu RU > 5% DAU.
Mật độ cạnh tranh > sức mua
Yếu tố đơn lẻ lớn nhất của eCPM là số bidder cạnh tranh trên cùng một impression. Tier-1 còn có thêm demand ngoài game (retail, fintech) — thứ tier-3 hoàn toàn không có.
Mùa vụ, biên độ lớn ước lượng
Tháng 9–10 +5–10%. BFCM → hết tháng 12: +20–40% ở US/EU. Tháng 1: −20–35% so với tháng 12. Hè −5–15%.
Đừng đặt giả định payback UA cả năm dựa trên eCPM Q4. Phải cắt lại floor trong tuần đầu tháng 1, nếu không fill sẽ sụp.
03Các định dạng quảng cáo và kinh tế của từng loại
Cột quan trọng nhất không phải eCPM mà là imp/DAU — vì doanh thu là tích của hai cột đó.
| Định dạng | eCPM US | Imp/DAU hybrid | Imp/DAU pure IAA | Fill T1/T3 | Rủi ro UX | Ghi chú vận hành |
|---|---|---|---|---|---|---|
| Rewarded video | $11–32 | 2–6 | 2–5 | 96–99% / 85–95% | rất thấp | eCPM cao nhất mọi thị trường. Với hybrid: trục chính + phễu IAP. Với pure IAA: nguồn eCPM đỉnh và cơ chế kéo dài session. |
| Rewarded interstitial | $9–20 | 1–3 | 2–4 | 95–99% / 85–93% | thấp–TB | Google yêu cầu màn intro có reward + nút skip. tài liệu Với pure IAA đây là cách tăng ad load "mềm" nhất. |
| Interstitial | $7–24 | 8–20 | 14–28 | 96–99% / 88–96% | TB–cao | Playable clear cao hơn video-only 20–60%. Hybrid: thuế retention chi có chủ đích. Pure IAA: xương sống doanh thu. |
| Banner / adaptive | $0,5–1,8 | 30–50 | 40–70 | ~99% / ~97% | thấp | Format volume: $0,8 × 40 imp = $0,032 ARPDAU. Hybrid: chỉ màn meta. Pure IAA: bật gần như mọi nơi ngoài vùng chạm gameplay. |
| MREC 300×250 | $1,5–5,0 | 3–10 | 5–14 | 95–99% / 85–95% | trung bình | 2–4× banner. Cần màn idle thật (lobby, bản đồ, màn kết quả). |
| App Open | $10–20 | 1–2,5 | 2–4 | 90–97% / 80–92% | cao nhất | Ad timeout sau 4 giờ; Google khuyên chỉ hiện sau khi user đã mở app nhiều lần. tài liệu Hybrid: cân nhắc kỹ. Pure IAA: gần như luôn bật, nhưng bỏ session 1. |
| Native | $3–10 | 1–5 | 1–5 | 70–90% / 50–80% | thấp | Fill và nguồn creative mỏng cho inventory game. |
| Offerwall | quy ra $50–300 /offer hoàn tất | 0,02–0,10 mở | 0,03–0,15 mở | 60–95% | âm (opt-in) | Model bằng revenue/DAU: $0,005–0,03 ở US/JP/KR. Với pure IAA đây là nguồn "ARPPU" duy nhất — nhóm nhỏ user mang doanh thu rất cao. |
| Cross-promo / house | $0 danh nghĩa | phần dư | 10–25% inventory | 100% | thấp | Định giá bằng CPI tiết kiệm. Với studio thuần IAA nhiều title, đây là cơ chế sống còn: dùng traffic rẻ T3 để nuôi title T1. |
Hybrid casual: 12–25 impression phi-banner/DAU ở tier-1, và thường ít hơn ở tier-3 vì eCPM quá thấp để đáng đánh đổi retention.
Thuần IAA: 18–35 impression phi-banner/DAU, và không giảm nhiều ở tier-3 — vì không có đuôi IAP để bảo vệ, giá trị duy nhất của một user tier-3 là số ad họ xem trước khi rời đi. ước lượng
04Vòng đời một quảng cáo: Request → Match → Show
Phần kỹ thuật cốt lõi. Mọi thất thoát doanh thu do lỗi tích hợp đều nằm ở một trong 14 bước dưới đây — và nó đúng cho cả hai mô hình.
initialize(). AppLovin nói rõ: publisher chịu toàn bộ trách nhiệm truyền consent, và "phải set các giá trị này trước khi khởi tạo SDK". tài liệu API: AppLovinPrivacySettings.setHasUserConsent(), setDoNotSell(). EEA/UK cần CMP được Google chứng nhận, nếu không demand Google không serve.AppLovinSdkInitializationConfiguration.builder(sdkKey).setMediationProvider(MAX). Tài liệu iOS giải thích lý do: init sớm nhất để "tối đa thời gian SDK cache ad của các network". tài liệu Adapter của mọi network được khởi tạo ở đây → đây cũng là nơi sinh ANR trên máy yếu. Dùng selective init (truyền danh sách ad unit) để chỉ init network thực sự có trong waterfall.tmax (deadline). Bên nào không trả lời kịp thì bị loại. AppLovin và Google đều không công bố con số tmax — phải tự đo bằng waterfall API.MaxNetworkResponseInfo: adLoadState (0 chưa thử / 1 loaded / 2 failed), latencyMillis, error. tài liệu Đây là dữ liệu vàng và hầu hết studio không log nó.loadAd() lại trong onAdHidden. Banner/MREC tự refresh (khoảng cho phép 10–120 giây tài liệu) — không tự viết retry cho MaxAdView.onAdLoaded → onAdDisplayed → onAdClicked → onAdHidden; rewarded thêm onUserRewarded(MaxReward).onAdDisplayed là tín hiệu local của SDK. Impression tính tiền do network xác định theo luật riêng (render / viewable / video start). Đây là nguồn gốc cấu trúc của lệch số giữa MAX và dashboard network.delay = 2^min(6, retryAttempt) giây, reset retryAttempt khi onAdLoaded. tài liệu Không retry → mất fill sau các no-fill tạm thời. Retry không cap → bị throttle.Hình dung bước MATCH: bid được chèn vào thang giá
05Waterfall vs In-app bidding vs Direct vs Amazon TAM
| Cơ chế | Cách định giá | Latency | Chi phí vận hành | Khi nào dùng |
|---|---|---|---|---|
| In-app bidding (bidder SDK) | Realtime, first-price, đúng giá cho từng impression | Thu bid token trên thiết bị + auction server | Thấp — không cần chỉnh CPM tay | Mặc định đúng cho rewarded & interstitial khi đã có ≥5–6 bidder thật. |
| S2S bidder (không có SDK client) | Realtime, như trên | Không tốn gì phía client | Thấp nhất | Ưu tiên hơn SDK bidder khi partner hỗ trợ cả hai — không tăng app size, không tăng ANR. Rất quan trọng với game thuần IAA chạy trên máy yếu. |
| Waterfall (dòng CPM cố định) | Giá do ta gõ tay hoặc Auto CPM ước lượng từ lịch sử | Mỗi instance là một lần gọi network tuần tự khi các dòng trên fail | Cao — phải audit hằng tháng | Chỉ cho: network có demand thật ở thị trường của ta nhưng không có bidding adapter; deal trực tiếp; cross-promo. |
| Direct SDK (không mediation) | Ta nhận giá của network đó, không có so sánh | Thấp nhất | 1 dashboard | Chỉ hợp lý khi có một deal độc quyền lớn. Với hybrid-casual đa thị trường thì đây là bỏ tiền lại trên bàn. |
| Amazon APS / TAM (external bidder vào MAX) | Header bidding server-side, 50+ buyer cạnh tranh song song, "bid cao nhất luôn thắng", fee 2,5% tài liệu | Thêm 1 round-trip trước load | Trung bình | Món Tier-B giá trị nhất cho banner + interstitial iOS US — demand brand không network game nào có. Bị game publisher dùng thiếu. |
Tích hợp Amazon TAM đúng thứ tự (nơi rất dễ mất tiền lặng lẽ)
Tối ưu: prefetch response của APS trong lúc ad trước đang chiếu, không phải lúc cần show — như vậy round-trip thêm không nằm trên đường tới mắt user.
Ai là bidder, ai là waterfall trên MAX
Danh sách network MAX công bố hỗ trợ (~25): Amazon, BidMachine, BIGO Ads, Chartboost, DT Exchange, Google Ad Manager, Google bidding/AdMob, HyprMX, InMobi, ironSource, Liftoff Monetize, LINE, Maio, Mintegral, MobileFuse, Moloco, Ogury, Pangle, PubMatic, Smaato, Unity Ads, Verve, Yandex, YSO Network. tài liệu
Cờ "bidder / waterfall-only" của từng network thay đổi theo quý và chỉ có dashboard MAX của chính chúng ta là nguồn đúng. Trên thực tế Unity Ads và ironSource vẫn phần lớn là dòng waterfall trên MAX; Yandex/LINE/Maio là waterfall. Đừng để một tài liệu nội bộ (kể cả tài liệu này) quyết định thay dashboard.
Một network có thể vừa là bidder vừa là dòng waterfall — nhưng trong hầu hết trường hợp nó chỉ tự ăn thịt chính nó. Chỉ làm vậy khi đang chạy một A/B có chủ đích.
06Đo lường: ILRD là tài sản, không phải log
Callback onAdRevenuePaid(MaxAd ad) trả về, cho từng impression: tài liệu
| Trường | Ý nghĩa | Dùng để làm gì |
|---|---|---|
getRevenue() | USD cho impression đó (không phải CPM). -1 nếu lỗi. | Nền tảng của mọi model ad LTV per-user — và là input cho Tab 02. |
getRevenuePrecision() | exact = giá clear thật · estimated = Auto-CPM/FB bidding ước lượng · publisher_defined = CPM ta gõ tay · "" = test mode | Luôn log trường này. Trộn dòng publisher_defined vào model LTV là nhập chính phỏng đoán của mình vào như thể nó là doanh thu. |
getNetworkName(), getNetworkPlacement() | Network thắng và placement bên họ | eCPM theo network × geo × format thật, không qua dashboard. |
getAdUnitId(), getFormat(), getPlacement() | Ad unit, format, tên placement ta đặt trong SDK | Doanh thu theo vị trí trong game — cơ sở để quyết định placement nào đáng giữ. |
getCountryCode() | Quốc gia | Không bao giờ báo cáo eCPM blended toàn cầu. |
creative ID, getDspName() | Creative và DSP thật đã trả tiền (với demand ALX) | Truy vết creative click-bait làm hỏng retention; block đúng advertiser. |
Pipeline nên xây
- → MMP (AppsFlyer ARM / Adjust / Singular) để ad revenue nhập chung với IAP theo cohort và nguồn install. Tuyệt đối không bật đồng thời cả route SDK/ILRD và route API cho cùng một app — sẽ đếm kép, làm ROAS cohort phồng lên và UA sẽ bid quá tay.
- → BigQuery/warehouse trực tiếp (batch, ví dụ 50 event hoặc khi app vào background) để ta sở hữu raw impression stream độc lập với MMP. Đây là thứ cho phép tính ad LTV per-user thật.
- → MAX Reporting API làm con số tài chính chuẩn. Đối chiếu (1)+(2) với (3) mỗi ngày.
Mỗi event nên có đủ: revenue, precision, network, network placement, ad unit, format, placement, country, creative ID, DSP, user ID (setUserIdentifier), session ID, segment ID, app version, device tier.
Lệch số: bao nhiêu là bình thường
| Chênh lệch | Kết luận | Hành động |
|---|---|---|
| 0–10% | Bình thường | Không làm gì. Nguyên nhân: định nghĩa impression, timezone (MAX dùng UTC, nhiều network dùng PT), net/gross. |
| 10–15% | Cần soi lại tích hợp | Kiểm tra adapter version, mapping placement. |
| 15–20% | Điều tra kỹ | Đối chiếu theo ngày × geo × format để định vị. |
| >20% | Khả năng gian lận | Escalate với account manager. |
Bản chất: số của network là số để trả tiền; số của MAX là số để tối ưu. Google nói thẳng điều này với AdMob. Ngoài ra invalid-traffic clawback áp hồi tố (T+3 đến T+30) trong khi ILRD không bao giờ được revise → warehouse của ta sẽ luôn đọc cao hơn một chút.
Nếu đang lấy CPI/DAU từ AppsFlyer và eCPM/impression từ MAX rồi ghép lại, hai bộ số sẽ không bao giờ khớp — không phải vì lỗi kỹ thuật mà vì hai nền tảng đếm hai thứ khác nhau trên hai mẫu số khác nhau (MAX đếm user có ad request, AppsFlyer đếm user có session, analytics đếm user mở app). Tab 04 · Đối soát dữ liệu có bảng 12 nguyên nhân, hợp đồng "chỉ số nào lấy ở đâu", và một tool chuẩn hoá mọi chỉ số về một mẫu số duy nhất rồi đẩy thẳng sang Tab 02/03.
Log MaxAdWaterfallInfo (getName, getLatencyMillis, getNetworkResponses) và MaxNetworkResponseInfo của từng instance. tài liệu Đây là cách duy nhất để chứng minh waterfall đang quá dài, và để biết network nào có thể bỏ mà không mất tiền. Chi phí: một buổi chiều của một Unity dev.
07Giải phẫu ARPU: bản đồ đòn bẩy
ARPDAU phân rã theo phép nhân. Mỗi đòn bẩy trong tài liệu này gắn vào đúng một hạng tử — và ta phải luôn biết là hạng tử nào.
Ví dụ kiểm chứng: 14 impression/DAU × eCPM $2,50 / 1000 = $0,035 ad ARPDAU. Muốn lên $0,050 thì hoặc 20 impression ở cùng eCPM, hoặc 14 impression ở eCPM $3,57. Con đường thứ nhất là thiết kế game; con đường thứ hai gần như không nằm trong tay ta.
Hai sự thật cấu trúc nên định hình mức tham vọng
Toàn thị trường nghiêng về IAP
Theo dữ liệu Sensor Tower, quảng cáo chiếm 13–23% doanh thu net của game mobile tuỳ thị trường; tính trên 19 quốc gia là 23% ads / 77% IAP, riêng US ~73% IAP / 14% web store / 13% ads. tài liệu
→ Một game 50/50 đang nghiêng về IAA hơn thị trường rất nhiều. Headroom lớn nhất thường nằm ở phía IAP, không phải ở waterfall.
Nhưng IAA là dòng đang lớn — và có trần
Doanh thu quảng cáo in-app +16%/năm kể từ 2020 so với IAP ~+3%. tài liệu Đồng thời trần của thiết kế IAA-first là thật: các hybrid IAA-first lớn nhất đạt ~$127M (Block Blast) / ~$90M (Vita Mahjong) / ~$73M ad revenue/năm — và hybrid IAP-first kiếm khoảng 4× con số đó. tài liệu
Hybrid: thứ tự EV cao nhất là (1) dọn mediation, (2) biến rewarded engagement thành phễu IAP, (3) xây meta IAP-first trên nền IAA. Đừng cố thắng bằng cách đẩy ad load.
Pure IAA: thứ tự đảo lại — (1) reach + imp/DAU trong session đầu, (2) mediation/eCPM, (3) session count, (4) cross-promo portfolio, (5) offerwall + remove-ads làm lớp "ARPPU" thay thế. Ở đây đẩy ad load chính là mô hình kinh doanh, việc còn lại là làm nó mà không phá D1.
08Hai mô hình: Hybrid Casual vs Thuần IAA
Đây là mục nền để đọc tất cả các đòn bẩy phía sau. Hai mô hình không chỉ khác tỷ lệ doanh thu — chúng khác đối tượng tối ưu, khác KPI, khác guardrail, và khác cả cách tổ chức team.
| Chiều | Hybrid Casual (50 IAA / 50 IAP) | Thuần IAA (90–98% ads) |
|---|---|---|
| Nguồn giá trị | Đuôi dài: meta, progression, payer | Đầu ngắn: số ad user xem trong 1–7 ngày đầu |
| Chỉ số tối ưu | net ARPU cohort D14 | ARPU cohort D3–D7 |
| D7 ROAS cần đạt ước lượng | 28–45% | 60–80% — vì đuôi gần như không có giá trị |
| Retention mục tiêu ước lượng | D1 35–45% · D7 10–15% · D30 3–6% | D1 30–38% · D7 6–10% · D30 1–3% |
| Imp/DAU phi-banner ước lượng | 12–25 | 18–35 |
| Vai trò interstitial | Thuế retention, chi có chủ đích | Xương sống doanh thu |
| Vai trò rewarded | Trục chính + phễu chuyển đổi IAP | Nguồn eCPM đỉnh + cơ chế giữ session; không là phễu IAP |
| Banner / App Open | Banner chỉ màn meta; App Open cân nhắc rất kỹ | Banner bật rộng; App Open gần như luôn bật (trừ session 1) |
| Cadence interstitial ước lượng | 1 / 40–75 giây gameplay | 1 / 30–50 giây, cap session cao hơn |
| Chính sách session 1 | Không interstitial session 1 (bảo vệ đuôi IAP) | Ad đầu sau level 1–3; không có xa xỉ grace period |
| Segment theo giá trị | Theo payer / pLTV: whale được bảo vệ tuyệt đối | Theo geo + ad-engagement propensity; không có whale để bảo vệ |
| Lớp "ARPPU" thay thế | IAP đầy đủ: starter pack, pass, bundle, web store | Remove-ads + offerwall + subscription nhẹ (0,5–2,5% DAU) |
| Trọng số đòn bẩy | Thiết kế game ≫ mediation (≈ 65 / 35) | Mediation + reach ≳ thiết kế (≈ 50 / 50, và mediation lên tới 60% nếu đang có nhiều lỗi cấu hình) |
| Cross-promo | Hữu ích, không thiết yếu | Thiết yếu: dùng traffic rẻ T3 nuôi title T1, tái sử dụng user đã churn |
| Nhịp UA | Ổn định, tối ưu theo LTV dự đoán | Gắn chặt lịch eCPM: đẩy T10–T12, hạ tay tuần đầu T1 |
| Trần doanh thu | Cao hơn nhiều (IAP-first ≈ 4× IAA-first) tài liệu | ~$70–130M ad revenue/năm cho những title lớn nhất tài liệu |
| Rủi ro hệ thống | Cannibalize IAA↔IAP; sai ad load với payer | Rủi ro một biến: eCPM sụt (ATT −28–35% tài liệu) hoặc CPI tăng là biên lợi nhuận biến mất ngay |
- Luật đầu phễu. Nếu LTV dồn vào D0–D3 thì mọi impression bị hoãn là một impression bị mất. AppLovin cảnh báo đúng ca này: "nếu bạn hiện ad đầu tiên ở phút thứ năm của session, bạn sẽ không kiếm được gì từ những user chỉ ở trong app một tới bốn phút." tài liệu
- Luật một biến. Doanh thu là một hàm của eCPM, nên một biến động thị trường mà ta không kiểm soát có thể xoá sạch biên. Đối phó bằng: đa dạng bidder (không phụ thuộc >40% doanh thu vào một network), đa dạng geo, và giữ CPI mua vào có khoảng đệm ≥25% so với ARPU dự phóng.
- Luật portfolio. Một title thuần IAA đơn lẻ là một tài sản mất giá. Giá trị nằm ở hệ thống: cross-promo giữa các title, dùng creative và asset lặp lại, và đóng gói winning framework để nhân bản — đúng nguyên tắc chiến lược của Jacat.
Genre của title này có meta chịu được IAP không? Nếu là puzzle match-3 hoặc simulation/merge thật, benchmark ngành là 65–80% và 50–70% doanh thu đến từ IAP ước lượng — nghĩa là để nó ở 50/50 hay để nó thuần IAA là đang bỏ mất phần lớn giá trị. Ngược lại nếu core loop là arcade ngắn, không có tiến trình dài, không có vật phẩm đáng sưu tập, thì đừng cố nhồi IAP: chạy thuần IAA cho tử tế và tối ưu theo bảng bên trên sẽ ra tiền nhanh hơn nhiều.
09Đòn bẩy A · Mediation & waterfall
Rẻ nhất, nhanh nhất, rủi ro thấp nhất. Làm trước tiên ở cả hai mô hình. Kỳ vọng cộng dồn: +15–35% ad ARPDAU ước lượng
Chính tài liệu AppLovin có một bài tên là "vì sao bạn nên tập trung vào tổng doanh thu toàn cầu chứ không phải eCPM", với lập luận: "CPM không cho thấy toàn bộ bức tranh về những chỗ kém hiệu quả… giá trị của một impression bị ảnh hưởng bởi quốc gia, thời điểm trong session của user, và các yếu tố khác." tài liệu
Luật nội bộ: mọi thay đổi waterfall được phán xử bằng ad ARPDAU trong cùng một nhóm user tương đương, với imp/DAU và show rate làm chỉ số chẩn đoán. Nâng floor thì eCPM luôn tăng và fill thường giảm — dấu của hiệu ứng doanh thu là không thể biết nếu chỉ nhìn eCPM.
A1 · Tune floor bằng phân phối giá thật, không bằng cảm giác
- Lấy 14 ngày dữ liệu impression-level (MAX S2S Impression-Level API tài liệu), dựng phân phối giá thực nhận — các decile của revenue-per-impression, cho từng format × tier quốc gia.
- Đặt các floor ứng viên tại P20, P30, P40 của phân phối đó. Không đặt ở trung bình, và không đặt theo "network nói họ trả được bao nhiêu".
- Chạy từng phương án làm một MAX A/B đối đầu waterfall đang live. Phán xử bằng ad ARPDAU.
- Hình dạng kỳ vọng: doanh thu là hàm lồi theo floor, sẽ có một vùng phẳng. Chọn floor thấp nhất trong vùng phẳng — cùng số tiền mà nhiều impression hơn, dữ liệu tốt hơn cho đấu giá, và cảm nhận "luôn có ad để xem" tốt hơn cho user.
Kỳ vọng ước lượng: rewarded +2–8% ad ARPDAU khi chuyển từ một floor toàn cầu sang floor theo tier (đôi khi +10–15% nếu trước đó chỉ có một floor duy nhất); interstitial +1–5% vì demand mỏng hơn nên mất fill nhanh hơn. Floor đặt trên ~P50 của giá thực nhận hầu như luôn lỗ net dù eCPM trên bảng đẹp hơn.
Đặt floor thấp hơn hybrid một bậc (P15–P30 thay vì P20–P40), vì fill là ưu tiên tuyệt đối: một no-fill ở game thuần IAA là mất vĩnh viễn một trong ~20 impression mà user đó sẽ đem lại trong cả đời họ, còn ở hybrid thì user còn quay lại 30 ngày nữa. Ngoài ra:
- Chạy backfill line ở đáy (giá rất thấp, fill ~100%) cho interstitial và banner — với hybrid thì dòng này không đáng, với pure IAA nó vẫn dương.
- Chỉ số theo dõi số 1 không phải eCPM mà là ad ARPDAU × fill rate × show rate theo geo. Một tier-3 mà fill rate < 90% là đang có tiền rơi trên sàn.
- Audit floor hai tuần một lần thay vì hằng tháng, vì biên mỏng hơn nên một cú lệch giá ăn vào lợi nhuận nhanh hơn.
A2 · Segment waterfall — ngân sách 8 slot phải chi đúng
MAX cho phép tối đa 8 waterfall riêng cho mỗi ad unit; clone copy network enablement, geo targeting và thiết lập CPM; không clone được waterfall đang có test active. tài liệu Chiều segment được tài liệu hoá gồm sự hiện diện của device ID (ATT đã đồng ý hay chưa) và loại thiết bị; geo xử lý bằng geo-targeting trên instance. tài liệu
| # | Segment | Vì sao đáng tiền | Thị trường |
|---|---|---|---|
| 1 | US riêng một waterfall | Độ phân tán giá lớn nhất; eCPM T1 thường gấp 5–20× T3 | US (Android + iOS) |
| 2 | IDFA có / không (iOS) | Inventory đã consent có thể clear 2–4× so với chưa consent. Một floor dùng chung thì hoặc bỏ đói inventory tốt, hoặc giết fill của inventory kém. Đòn bẩy iOS ROI cao nhất và bị dùng thiếu nhất. | iOS US / RU / SA / UK |
| 3 | EU tier-1 | Giá gần nhau, demand giống nhau, CMP giống nhau | DE, UK, FR |
| 4 | LATAM | Volume lớn, giá thấp → floor phải thấp và fill là ưu tiên | BR, MX |
| 5 | APAC volume | Cần Pangle/Mintegral/BigoAds ở top, floor rất thấp | ID, IN, VN |
| 6 | RU | Cấu trúc demand hoàn toàn khác — phải có Yandex | RU |
| 7 | SA / Gulf | iOS giá trị cao, demand riêng | SA |
| 8 | Low-RAM Android | Floor thấp hơn + creative nhẹ hơn để tránh no-fill và ANR | ID, IN, VN, BR |
Với game thuần IAA, đổi thứ tự ưu tiên: slot cho low-RAM Android leo lên hạng 3–4 (vì tỷ trọng DAU tier-3 trên máy yếu lớn hơn nhiều), và cân nhắc gộp EU T1 lại để lấy một slot riêng cho ad unit interstitial của session đầu — nơi ta muốn floor thấp nhất và fill cao nhất trong cả game.
A3 · Danh mục network — ai thực sự làm dịch chuyển con số
Tier A · không thương lượng, bật hết ở chế độ bidder
- AppLovin (AXON) — buyer game lớn nhất, thường #1–2 revenue share
- Google AdMob bidding + Ad Manager — demand ngoài game không ai thay được. Lưu ý: advertiser ngoài game chiếm 30–50% impression nhưng chỉ 28% doanh thu tài liệu → Google là công cụ lấp đuôi giá, không phải công cụ đẩy giá đỉnh. Với pure IAA, chính cái đuôi đó là nơi phần lớn impression nằm — nên Google quan trọng hơn hẳn.
- Meta Audience Network — mạnh Android và T2/T3
- Mintegral — top-3 với nhiều title hybrid-casual, đặc biệt Android + APAC
- Unity Ads / ironSource — giữ, theo dõi phần tự ăn thịt nhau sau sáp nhập
Tier B · thêm từng cái một và đo incrementality
- Pangle — rất mạnh Android T3 + rewarded; thường là cú "+% bất ngờ" lớn nhất → rất phù hợp ID/IN/VN/BR
- Liftoff Monetize — rewarded/interstitial ổn, chất lượng creative tốt
- BigoAds — demand rewarded APAC/T3 đáng kể
- Amazon TAM — banner/interstitial iOS US
- InMobi — banner/native, India/SEA
Tier C · theo địa lý
- Yandex Ads — bắt buộc nếu RU/CIS > 5% DAU; có thể nhân đôi RPM của RU ước lượng
- Chartboost và các network nhỏ khác — chỉ thêm nếu test incrementality dương
Luật dừng
Thêm một bidder vào stack đã có 6 bidder khoẻ: kỳ vọng +1–4% ad ARPDAU mỗi cái, giảm dần rất nhanh; bidder thứ 10 trở đi thường <1% mà tăng app size, latency, crash surface. ước lượng
Dừng thêm khi lift đo được < 2% — đúng ngưỡng promote AppLovin khuyến nghị. Với pure IAA trên máy yếu, ngưỡng dừng nên cao hơn (3%), vì mỗi SDK thêm vào là thêm rủi ro ANR ở đúng nhóm user chiếm phần lớn volume.
A4 · Bidding-only hay hybrid waterfall
Mặc định đúng hiện nay là bidding-only cho rewarded và interstitial khi đã có ≥5–6 bidder thật, vì đấu giá hợp nhất định giá từng impression riêng và xoá được vấn đề CPM để quên. Giữ một đuôi waterfall ngắn cho đúng hai trường hợp: network có demand thật ở thị trường của ta nhưng không có bidding adapter; và deal trực tiếp / cross-promo (những dòng này ta muốn nằm giá cố định phía trên đấu giá).
Test cụ thể: control = hybrid hiện tại, test = bidding-only + ≤3 dòng waterfall. Kết quả điển hình ước lượng: bidding-only đi ngang tới +5% ở T1, và có thể −2 đến −5% ở T3 nơi một số network không-bidding vẫn giữ demand độc quyền. Quyết định theo từng tier, không quyết định toàn cầu.
Vệ sinh instance cho phần waterfall còn giữ ước lượng: ≤3–4 instance mỗi network mỗi ad unit, giãn cách khoảng 2× theo giá (ví dụ $30 / $12 / $5 / $1,5), cộng một dòng auto ở đáy. Quá ~15 dòng tổng thì hầu hết chỉ là latency. Với pure IAA, giữ thêm một dòng cross-promo giá cố định ở mức bằng CPI tiết kiệm được — đó là cách duy nhất để house ads cạnh tranh đúng giá trị thật.
A5 · Auto CPM hay manual
Auto đúng cho phần giữa của phân phối, manual đúng cho hai đầu. Để auto/optimized giữ phần đuôi fill. Giữ tay: floor đỉnh waterfall của 3–5 quốc gia lớn nhất, segment IDFA-present, và mọi deal trực tiếp — đó là những chỗ mục tiêu của thuật toán (revenue per request) lệch khỏi mục tiêu của ta (net LTV bao gồm retention).
Với Auto CPM, ILRD báo revenuePrecision = "estimated"; manual báo publisher_defined; bid thắng báo exact. tài liệu Đó là cách kiểm tra chéo xem bao nhiêu phần trăm doanh thu của ta đang là con số thật.
Floor cũ trong một thị trường đã đổi chế độ giá. eCPM sụp 28–35% sau ATT giai đoạn 2022–23 tài liệu — floor đặt trước một cú thay đổi cơ chế sẽ bỏ đói waterfall trong im lặng. Audit floor hằng tháng, bắt buộc trong tuần đầu tháng 1.
A6 · MAX A/B — cơ chế chính xác
| Hạng mục | Giá trị |
|---|---|
| Cách hoạt động | MAX clone cấu hình live thành variant Test; ta chỉ sửa đúng thứ đang test |
| Chia traffic | Mặc định 50/50, có thể điều chỉnh |
| Test được | Thêm/bỏ network (dùng đúng cho incrementality), price point mới, tối ưu waterfall theo vùng |
| Chỉ số báo cáo | REQ/DAU · IMP/DAU · ARPDAU — MAX cho sẵn khung per-DAU, hãy dùng nó thay vì tự dựng từ eCPM |
| Thời gian có số | Kết quả sau ~20 phút; trang phân tích chi tiết sinh ra khi test vượt 10.000 impression |
| Ngưỡng promote | ≥2% incrementality VÀ ≥10.000 impression/ngày; chờ 24 giờ trước khi promote; theo dõi 24–48 giờ; test đi ngang thì bỏ |
| Quy ước tên | Mã hoá thời điểm bắt đầu + segment, ví dụ 0812_01UTC_FBBiddingAdded |
Giới hạn phải biết: MAX A/B chỉ test cấu hình mediation và không báo cáo retention, session length hay IAP. Mọi thứ phía sản phẩm phải chạy qua framework remote-config của chính ta. Và không bao giờ chạy một floor test của MAX và một cadence test của game trên cùng một tệp user trong cùng một tuần.
10Đòn bẩy B · Thiết kế placement & economy
Với hybrid, đây là nơi thắng hoặc thua: lớp rewarded làm tốt đáng +40–100% ad ARPDAU. Với pure IAA, đây là nơi ta mua imp/DAU bằng đúng lượng retention rẻ nhất có thể. ước lượng
Tài liệu AppLovin nói thẳng: đặt rewarded video "ở nơi user có thể cần thêm một chút gì đó — thêm xu, thêm một mạng, một gợi ý". tài liệu Nghĩa là rewarded ARPDAU là hàm của việc economy tạo ra bao nhiêu lần khan hiếm thật và được cảm nhận, không phải hàm của số lượng nút rewarded. Một nút rewarded trên màn hình mà người chơi không muốn gì có tỷ lệ tương tác ~0% và dạy user "mù" nút đó.
| Placement | Trigger | Engage rate | Views/engaged/ngày | Ghi chú thiết kế |
|---|---|---|---|---|
| Revive / continue | Khi fail, trước khi màn fail kết thúc | 35–60% | 1–3 | Placement intent cao nhất — loss aversion. Cap 1–2 lần/lượt. Pure IAA: placement rewarded quan trọng nhất, vì nó vừa ra tiền vừa kéo dài session. |
| ×2 reward | Cuối màn, ngay trên burst phần thưởng | 25–45% | 2–5 | Volume lớn nhất. Nút ×2 phải là nút chính; "collect" là nút phụ. |
| Rewarded shop / tab "free" | Luôn có trong shop | 10–20% | 1–3 | Hybrid: cửa vào phễu IAP. Pure IAA: chuyển thành "earn" hub gộp offerwall + rewarded + daily. |
| Timed chest / quà miễn phí | Cooldown 2–6h, 2–4 slot/ngày | 50–75% session đủ đk | 2–4 | Appointment mechanic mạnh nhất; đồng thời là đòn bẩy session count. Đòn bẩy tốt nhất cho pure IAA vì nó tăng cả DAU, session và ad supply. |
| Energy / lives refill | Khi hết lượt | 30–50% | 1–2 | Hybrid: cap để không xoá lý do mua IAP. Pure IAA: không cần cap vì không có IAP để bảo vệ — mở rộng tối đa. |
| Free spin / wheel | Hằng ngày + 1–2 vòng thêm bằng ad | 40–60% | 1–3 | Rẻ để làm, engage cao, ít cannibalize. |
| Hint / booster | Giữa màn, khi phát hiện bế tắc | 15–30% | 0,5–2 | Chỉ bật khi user thực sự bí — detect bằng số move / thời gian. |
| Skip level | Sau N lần fail liên tiếp (N = 3–5) | 20–40% | 0,3–1 | Cứu churn rất tốt, bảo vệ D7 một cách đo được. |
| Rewarded gacha | 1 lượt miễn phí/ngày bằng ad | 30–50% | 1 | Hybrid: cơ chế xem trước hàng IAP tốt nhất. Pure IAA: chỉ là một nguồn thưởng nữa. |
| Offerwall | Tab shop / "earn" hub | 1–4% DAU | — | Ít user, ARPU trên nhóm đó rất cao. Với pure IAA đây là lớp doanh thu cao cấp duy nhất — đáng đầu tư hơn hẳn so với hybrid. |
Mục tiêu tổng: 6–12 rewarded view/engaged DAU và 25–45% DAU xem ≥1 rewarded/ngày. Dưới 15% rewarded-engaged DAU thì vấn đề nằm ở thiết kế economy, không ở mediation. ước lượng
B1 · Cadence & cap interstitial
AppLovin khuyến nghị chèn ad đầu tiên sớm nhất có thể — "có lẽ là bước quan trọng nhất" — tại các điểm dừng tự nhiên. Tài liệu best-practice bổ sung: user dễ tiếp nhận những ad đầu tiên nhất, khoảng ~5 ad/user, và nên tối đa hoá số user duy nhất được thấy ad. tài liệu
Imp/DAU bị chi phối bởi reach, không phải depth. Đưa tỷ lệ DAU thấy ít nhất 1 ad từ 60% lên 85% có giá trị lớn hơn việc đẩy cái đuôi nặng từ 5 lên 7 ad. Điều này đúng với cả hai mô hình, và đúng gấp đôi với pure IAA.
| Tham số | Hybrid Casual | Thuần IAA |
|---|---|---|
| Session 1 | Không interstitial; rewarded mở từ tutorial | Interstitial đầu sau level 1–3; rewarded mở từ tutorial |
| Cap theo thời gian (núm chính) | 1 / 40–75 giây gameplay | 1 / 30–50 giây gameplay |
| Cap theo level | 1 mỗi 2–3 lần chuyển màn | 1 mỗi 1–2 lần chuyển màn |
| Cap mỗi session | 4–8 | 6–12 |
| Cap mỗi ngày | 12–25 | 20–40 |
| Cooldown sau rewarded | 30–60 giây — không bao giờ chồng forced lên opt-in ở cả hai mô hình | |
| Cooldown sau IAP | 24–72 giờ không interstitial cho mọi người đã mua | Vĩnh viễn cho người mua remove-ads (đó là sản phẩm họ mua) |
| App Open | Cân nhắc rất kỹ; bỏ với payer | Bật, nhưng bỏ session 1 và giới hạn 1 lần/4 giờ |
| Banner | Chỉ màn meta/map/shop | Mọi màn không phải vùng chạm gameplay |
| Vị trí interstitial | SAU burst phần thưởng — không bao giờ giữa fail và retry | |
Siết cap thời gian từ 90s → 60s thường cho +8–15% ad ARPDAU với giá −0,5 đến −1,5pp D1 và −1 đến −3pp D7. Dưới ~40s thì với hybrid gần như luôn âm trên net LTV; với pure IAA ngưỡng chấp nhận thấp hơn (khoảng 30s) vì đuôi retention không mang giá trị đủ để bảo vệ — nhưng vẫn phải kiểm bằng ARPU cohort D7, không phải bằng ARPDAU ngày. Unity nêu 3–4 ad/session là tối ưu cho game tài liệu — hiểu đó là số ad cưỡng chế.
B2 · Chính sách ad ở session đầu — quyết định đơn lẻ đáng giá nhất
Hai phía đều có lý, và câu trả lời đúng phụ thuộc hoàn toàn vào mô hình:
Hybrid: mua retention bằng session đầu
Không interstitial ở session 1; rewarded mở hoàn toàn từ tutorial (AppLovin khuyến nghị làm nổi bật phần thưởng ngay trong tutorial hoặc qua daily notification tài liệu); interstitial bắt đầu từ session 2 hoặc level 4, lấy mốc muộn hơn.
Kỳ vọng: −3 đến −8% ad revenue ngày 1 để lấy +1 đến +3pp D1 và +1 đến +2pp D7 — net dương với mọi game có meta thật. ước lượng
Pure IAA: không có đuôi để mua
Nếu D7 chỉ 6–10% thì phần lớn giá trị của một install nằm trong chính session đầu. Grace period ở đây là đem tiền chắc chắn đổi lấy một cái đuôi gần như không tồn tại.
Cấu hình đúng: rewarded từ tutorial, interstitial đầu sau level 1–3, App Open từ session 2, banner từ session 1. Vẫn phải test — nếu D1 giảm >3pp thì đã quá tay, vì D1 là đầu vào của toàn bộ số ad còn lại.
Điểm chung: không ship grace period nhiều ngày ở bất kỳ mô hình nào. Quá ~1 session thì nó thôi mua retention và bắt đầu dạy user một kỳ vọng sai.
B3 · Chế tạo "cơ hội quảng cáo" ngay trong thiết kế game
Ad supply là hàm của tỷ lệ ma sát trong economy:
- Nhịp độ độ khó. Tune để fail rate ở level 10–100 nằm khoảng 20–35% — mỗi lần fail là một impression revive cộng một impression skip. Dưới ~15% fail thì không có cầu rewarded; trên ~45% thì churn.
- Thâm hụt soft currency. Thiết kế sink/faucet sao cho người chơi trung vị thiếu currency ít nhất một lần mỗi session. Currency dư dả là nguyên nhân số 1 của "chúng tôi thêm rewarded mà không thấy gì".
- Nhân số session, không kéo dài session. Timed chest, energy refill, daily mission biến một session 20 phút thành ba session 7 phút → nhiều slot đầu/cuối session hơn → imp/DAU cao hơn với ad load thấp hơn mỗi session. Mục tiêu 2,5–4 session/DAU; mỗi +1 session/DAU đáng khoảng +15–25% imp/DAU. ước lượng
- Appointment mechanic là đòn bẩy tam thắng duy nhất: DAU, session và ad supply cùng lúc.
- Lịch event xếp lớp. Cú lội ngược dòng doanh thu của Toon Blast một phần đến từ việc thay các cơ chế hết hạn theo đêm bằng event 2–6 ngày xếp chồng lên nhau, cộng một season pass ba tầng. tài liệu
- Ưu tiên số session tuyệt đối. Không có meta để giữ người, nên cơ chế hẹn giờ (chest, energy, daily streak) là công cụ retention và công cụ doanh thu duy nhất đáng đầu tư engineering.
- Thiết kế "điểm dừng" dày hơn. Level ngắn 30–60 giây tạo nhiều điểm chuyển màn hơn cho cùng một lượng playtime — đó là cách tăng imp/DAU mà không tăng tần suất cảm nhận trên mỗi phút chơi.
- Đừng xây economy sâu chỉ để có rewarded. Chi phí engineering không hoàn lại được nếu D30 chỉ 1–3%. Thay vào đó: khan hiếm nhẹ (mạng, booster, spin) và nhiều điểm dừng.
- Cross-promo là một "placement". Coi nó như một format thật, có ad unit riêng, có eCPM quy đổi từ CPI tiết kiệm, và có báo cáo riêng.
B4 · Biên an toàn: tăng imp/DAU mà không đốt retention
| Đòn bẩy | Δ ad ARPDAU | Δ D1 | Δ D7 | Ưu tiên riêng |
|---|---|---|---|---|
| Thêm placement rewarded ở nơi có khan hiếm thật | +5…+20% | 0 | 0…+1pp | Cả hai |
| Timed chest / appointment mechanic | +10…+25% | +1pp | +2…+4pp | Pure IAA ưu tiên #1 |
| Skip-level sau N lần fail | +2…+6% | 0 | +1…+2pp | Cả hai |
| Banner ở màn meta (pure IAA: rộng hơn) | +5…+15% | 0 | 0…−0,5pp | Pure IAA làm mạnh hơn |
| Chiến dịch tăng reach rewarded (tutorial, badge, lần đầu miễn phí) | +5…+15% | 0 | 0 | Cả hai |
| Level ngắn hơn → nhiều điểm dừng hơn | +5…+15% | 0…−1pp | 0…−1pp | Pure IAA |
| — hybrid: vắt cạn mọi dòng trên trước khi chạm dòng dưới · pure IAA: được phép vào đây sớm hơn — | ||||
| Tăng reach interstitial: ad đầu sớm hơn, % DAU cao hơn | +8…+20% | −1…−3pp | −1…−3pp | Pure IAA: bắt buộc |
| Tăng depth interstitial: siết cap thời gian | +8…+15% | −0,5…−1,5pp | −1…−3pp | Pure IAA: chấp nhận được |
| App Open bật rộng | +5…+12% | −1…−4pp | −1…−3pp | Chỉ pure IAA, bỏ session 1 |
| Depth interstitial vượt ngưỡng ~30–40s | +3…+8% | −3…−8pp | −5…−12pp | Không, ở cả hai mô hình |
B5 · Chất lượng quảng cáo — nghịch lý phải quản
Creative gây nhầm lẫn (gameplay giả, UI hệ thống giả, nút đóng dark-pattern) convert tốt cho advertiser nên họ bid cao và thắng đấu giá của ta — nghĩa là demand eCPM cao nhất có hệ thống lại là demand dễ phá retention nhất. Waterfall tối ưu eCPM và hoàn toàn mù với D7 của ta.
- Bật MAX Ad Review (plugin build-time, có Ad Review Key) để bắt creative thật đã serve: screenshot, video, đích click, advertiser/bundle, network/DSP. tài liệu
- Chặn danh sách advertiser/creative tệ nhất: thường mất 2–8% eCPM gross, hoàn lại được nếu nhóm bị chặn từng chiếm >5% impression. ước lượng Chỉ đo được bằng holdout A/B trên block list.
- Chặn đối thủ trực tiếp cùng genre ở các thị trường top. Với studio thuần IAA nhiều title thì việc này còn quan trọng hơn: ta đang bán inventory cho chính những game cạnh tranh trực tiếp trên cùng tệp user.
- Quy trình tay: mỗi tuần một người cài game bản live trên máy sạch, xem 30 ad ở 3 geo lớn nhất, ghi lại vi phạm.
11Đòn bẩy C · Segment & cá nhân hoá ad load
Ad load phải là hàm của giá trị kỳ vọng của user. Với hybrid, giá trị đó là pLTV/IAP. Với pure IAA, giá trị đó là số ad user còn xem được — nên trục segment hoàn toàn khác.
| Segment | % DAU | Interstitial | Rewarded | Banner | Offer |
|---|---|---|---|---|---|
| Whale (top ~1%, LTV >$100) | 0,2–0,5% | Tắt hoàn toàn | Bật (dùng ×2, revive nhiều) | Tắt | Bundle cao cấp, VIP/sub |
| Payer (đã mua bất kỳ) | 2–5% | Tắt 24–72h sau mua, rồi 50% cadence gốc | Bật đầy đủ | Tắt iOS, giảm Android | Offer mua lại, battle pass |
| Non-payer pLTV cao | 5–15% | 70–80% cadence gốc | Bật đầy đủ, đẩy nổi bật | Bật | Starter pack, remove-ads |
| Trung bình | 50–70% | Cadence gốc | Bật đầy đủ | Bật | Starter pack |
| pLTV thấp / không convert | 20–35% | 110–140% cadence gốc | Bật đầy đủ | Bật | Remove-ads giá thấp |
Kỳ vọng khi ship bảng này thay cho chính sách phẳng: +3–8% net ARPDAU, phần lớn từ nhóm pLTV thấp, cộng phần ARPPU chỉ thấy trong đọc cohort từ D30 trở đi. ước lượng
| Segment | Cách nhận biết | Chính sách |
|---|---|---|
| Ad-lover (rewarded ≥5/ngày) | Số rewarded view trong 24–48h đầu | Đẩy rewarded lên hàng đầu UI, mở thêm slot chest, thêm offerwall entry. Không tăng interstitial — họ đã tự tạo doanh thu ở format eCPM cao hơn. |
| Ad-tolerant (xem interstitial, không chủ động rewarded) | Show rate cao, rewarded engage thấp | Cadence interstitial gốc hoặc +10%; thử một chiến dịch tăng reach rewarded (badge, lần đầu miễn phí). |
| Ad-averse (thoát ngay sau ad đầu) | Session kết thúc trong 5 giây sau khi đóng ad | Giảm cadence 20–30% và đẩy offer remove-ads. Nhóm này ép thêm chỉ làm mất họ hoàn toàn. |
| Người đã mua remove-ads | Flag IAP | Tắt vĩnh viễn ad cưỡng chế, giữ rewarded + offerwall. Đây là "payer" duy nhất của mô hình. |
| Theo tier quốc gia | Geo | T1: ưu tiên eCPM và định dạng cao cấp (offerwall, MREC, Amazon TAM). T3: ưu tiên fill và volume, floor thấp, backfill line, ad load cao hơn. |
| Theo device tier | RAM / model | Máy yếu: ít SDK hơn (selective init), creative nhẹ, không cache đồng thời nhiều video — tránh ANR ở đúng nhóm chiếm phần lớn volume. |
Segment của MAX chỉ biết device-ID presence và device type (cộng geo qua geo-targeting) tài liệu — nó không biết payer status, pLTV hay ad-propensity của ta. Vậy nên: segment theo giá trị user được triển khai client-side bằng remote config của chính ta (placement nào bắn, cadence bao nhiêu), và tuỳ chọn ghép thêm một ad unit MAX riêng nếu còn muốn floor/waterfall khác nữa.
C1 · pLTV: bản làm được ngay, trước khi nói tới ML
Model rule-based lấy được phần lớn giá trị. Chấm điểm ở cuối session 2–3 dựa trên: số session trong 24h đầu, số level hoàn thành, tốc độ xong tutorial, số rewarded đã xem, tier quốc gia, tier giá thiết bị, số lần vào shop mà không mua. Chia ngũ phân vị. Logistic regression hoặc GBM trên bộ feature này thường đạt AUC 0,72–0,82 cho dự đoán payer D30 — đủ để hành động. ước lượng
Hai model: (1) pLTV / p(payer) → điều khiển ad load, chọn offer, định giá remove-ads. (2) Ad-engagement propensity → điều khiển việc đẩy nổi rewarded. Cá nhân hoá thứ tự hiển thị (offer IAP hay offer rewarded xuất hiện trước ở một khoảnh khắc khan hiếm) đáng +2–5% net ARPDAU. ước lượng
Với pure IAA chỉ cần model (2), và nó rẻ hơn nhiều: label có sẵn ngay trong 24h đầu (số ad đã xem), không phải chờ 30 ngày để biết ai là payer. Đây là một lợi thế thực sự của mô hình thuần IAA — vòng lặp học nhanh hơn.
C2 · Bán "no-ads" đúng cách
- Không bao giờ bán "xoá toàn bộ quảng cáo". Bán "xoá quảng cáo cưỡng chế" và giữ rewarded. Xoá rewarded phá 60–80% ad revenue đến từ đúng nhóm user dễ mua nó nhất.
- Giá ước lượng: $2,99–4,99 ở T1 cho unlock vĩnh viễn; conversion 0,5–2,5% DAU trên vòng đời. Bundle với currency ("No Ads + 500 gems, $4,99") thường nhân đôi take rate.
- Net effect: mất ad revenue của người đó (~$0,02–0,10/ngày), thu ngay $3–5, và thường tăng retention của họ → payback 30–100 ngày. Verify bằng đọc cohort tới D60.
- Với pure IAA, remove-ads + offerwall + subscription nhẹ là toàn bộ lớp doanh thu cao cấp. Đáng làm nghiêm túc: pricing theo geo, offer đúng thời điểm (sau ad thứ ~10 trong ngày, không phải ở session 1), và một tier subscription rẻ ($1,99–3,99/tháng: không ad cưỡng chế + daily bonus). Kỳ vọng 0,3–1,5% DAU. ước lượng
12Đòn bẩy D · Tương tác IAA × IAP — và bản thay thế cho pure IAA
D1 · Cannibalization — bản trung thực (hybrid)
Bằng chứng rewarded giúp IAP
AppLovin: thêm rewarded video "đôi khi làm tăng in-app purchase, vì user được trải nghiệm giá trị của item premium qua lựa chọn miễn phí có quảng cáo trước". tài liệu Unity: user xem rewarded video có xác suất mua ~6× cao hơn, CTR rewarded gấp 4–5× display. tài liệu (Tương quan, nhưng cùng chiều với mọi A/B đã biết.)
Bằng chứng ad hại IAP
Interstitial cưỡng chế với payer, và reward định giá quá hào phóng, đều làm giảm ARPPU đo được. Ngưỡng gần đúng: rewarded cho hơn 15–20% giá trị một gói IAP điển hình mỗi lần xem thì bắt đầu cannibalize. ước lượng
Làm đúng thì rewarded là bản demo, không phải bản thay thế. Kỳ vọng net của một lớp rewarded thiết kế tốt trên game 50/50: ad ARPDAU +40–100%, IAP ARPDAU −5% đến +15%, net ARPDAU +25–60%. ước lượng
D2 · Rewarded như một phễu IAP tường minh (hybrid)
- Rewarded gacha / lượt xem trước — một lượt miễn phí/ngày trên cùng loot table với lượt trả tiền.
- Dùng thử item premium bằng ad — 10 phút booster, hoặc một màn với skin premium; rồi offer mua đúng lúc mất nó.
- Progress bar / kiếm từng phần — "xem 5 ad để mở" với "hoặc mua ngay $1,99" luôn nằm cạnh.
- Micro-offer sau lần xem thứ N — "bạn đã kiếm 300 gem tuần này — lấy 3000 gem với $2,99". Conversion 1–3%. ước lượng
- Rewarded làm nguồn XP battle pass — nối trực tiếp vòng lặp ad vào vật thể IAP.
- Đóng khung "ad là phương án thay thế" ngay trên paywall — neo giá làm IAP trông rẻ.
D3 · Offer, giá, bản địa hoá (hybrid)
- Starter pack: kích hoạt ở khoảnh khắc khan hiếm thật đầu tiên (không phải session 1), timer 24–72h, multiplier 5–10×, giá tương đương $0,99–4,99 nội địa. 1–4% DAU convert. Và first purchase là cả trận đấu: p(mua lần 2 | đã mua lần 1) thường 40–60%. ước lượng
- Bản địa hoá giá: dùng price tier theo quốc gia và test. Làm đúng ở BR/MX/TR/IN/ID/RU đáng +10–30% doanh thu IAP ở các thị trường đó. Bản địa hoá cả gói, không chỉ con số giá. ước lượng
- Battle pass: bổ sung ARPPU cao nhất. 2–8% DAU mua ở $4,99–9,99, và nó nâng retention + session count → nâng luôn ad ARPDAU. ước lượng
- Web store / D2C: ở US web store đã là ~14% doanh thu game tài liệu. Với title đã có scale, web shop 0–5% phí cho nhóm whale đáng giá hơn phần lớn §09.
Không có IAP để tương tác, nên đòn bẩy thứ tư của mô hình thuần IAA nằm ở tầng hệ thống nhiều title:
- Cross-promo có định giá. Đưa house ads vào waterfall ở mức CPI tiết kiệm được (xem §02), báo cáo như một network. Với 3–5 title cùng thể loại, đây thường là 10–25% inventory và là cách rẻ nhất để giảm CPI blended của cả studio.
- Tái sử dụng user đã churn. User rời title A ở D3 vẫn còn giá trị nếu họ vào title B. Một game thuần IAA đơn lẻ không thu được giá trị này; một portfolio thì có.
- Offerwall + remove-ads + subscription nhẹ làm lớp doanh thu cao cấp (§11-C2). Đây là "IAP" duy nhất nên đầu tư.
- Đa dạng hoá rủi ro eCPM. Không để một network chiếm >40% doanh thu, không để một geo chiếm >40% DAU, giữ đệm ≥25% giữa CPI mua vào và ARPU dự phóng.
- Đóng gói winning framework. Cùng bộ SDK, cùng bộ placement, cùng bộ remote-config key, cùng dashboard — để một title mới đạt cấu hình tối ưu ngay ngày đầu thay vì phải học lại. Đây là nơi mô hình thuần IAA thắng bằng tốc độ nhân bản.
- Nếu title vượt kỳ vọng retention (D7 > 12%, D30 > 4%) thì đó là tín hiệu chuyển mô hình: thêm meta + IAP và đi sang hybrid, vì trần của pure IAA sẽ chặn nó lại.
13Benchmark theo đúng danh mục thị trường của Jacat
Toàn bộ số dưới đây là ước lượng — dải benchmark ngành, không phải số đã verify từ nguồn công khai. Dùng để (a) phát hiện thị trường nào của ta đang lệch bất thường, (b) đặt giả thuyết. Không đưa vào báo cáo. Một tháng dữ liệu impression-level của chính ta đáng hơn mọi benchmark công bố, vì eCPM công bố đều là số blend chéo genre.
| Thị trường | RV iOS | RV Android | Inter iOS | Inter Android | Banner | Ưu tiên network riêng |
|---|---|---|---|---|---|---|
| US | $16–32 | $11–20 | $11–24 | $7–15 | $0,5–1,8 | ALX, Google, Meta, Amazon TAM, Mintegral |
| DE / UK | $8–16 | $6–12 | $6–12 | $4–9 | $0,25–0,9 | ALX, Google (CMP bắt buộc), Meta, Ogury |
| FR | $6–12 | $4–9 | $5–10 | $3,5–8 | $0,25–0,9 | như DE/UK |
| BR | $2,0–4,5 | $1,8–3,5 | $1,4–3,5 | $1,2–2,8 | $0,07–0,25 | Mintegral, Pangle, Google, Liftoff |
| MX | $1,8–4,0 | $1,5–3,0 | $1,4–3,5 | $1,2–2,8 | $0,07–0,25 | như BR |
| ID | $0,9–2,2 | $0,8–1,8 | $0,5–1,6 | $0,4–1,3 | $0,02–0,12 | Pangle, Mintegral, BigoAds |
| VN | $0,9–2,3 | $0,8–1,8 | $0,5–1,6 | $0,4–1,3 | $0,02–0,12 | như ID |
| IN | $0,6–1,8 | $0,5–1,4 | $0,4–1,2 | $0,3–1,0 | $0,02–0,12 | Pangle, InMobi, Mintegral |
| RU | $2–5 | $1,5–4 | $1,5–4 | $1,2–3,0 | $0,08–0,30 | Yandex (bắt buộc), Mintegral, BidMachine |
| SA | $5–12 | $3–8 | $4–9 | $2,5–6 | $0,15–0,6 | Google, ALX, Meta, Ogury |
| Thị trường | Hybrid: IAA | Hybrid: IAP | Hybrid net | Pure IAA net | CPI iOS | CPI Android |
|---|---|---|---|---|---|---|
| US | $0,10–0,22 | $0,04–0,15 | $0,15–0,35 | $0,12–0,26 | $3,50–7,00 | $1,50–3,50 |
| DE / UK | $0,06–0,13 | $0,02–0,08 | $0,08–0,20 | $0,07–0,15 | $1,80–4,00 | $1,00–2,50 |
| FR | $0,05–0,10 | $0,02–0,06 | $0,07–0,15 | $0,06–0,12 | $1,50–3,50 | $0,80–2,00 |
| BR / MX | $0,015–0,045 | $0,003–0,015 | $0,02–0,06 | $0,018–0,050 | $0,30–0,90 | $0,20–0,65 |
| ID / VN | $0,006–0,020 | $0,001–0,006 | $0,008–0,025 | $0,008–0,024 | $0,15–0,45 | $0,10–0,35 |
| IN | $0,004–0,015 | $0,001–0,004 | $0,005–0,018 | $0,005–0,017 | $0,10–0,30 | $0,07–0,22 |
| RU | $0,012–0,035 | $0,003–0,012 | $0,015–0,045 | $0,014–0,038 | — | $0,15–0,50 |
| Blended toàn cầu | $0,02–0,06 | $0,008–0,03 | $0,03–0,09 | $0,015–0,045 | — | — |
Lưu ý cách đọc: ở tier-3, pure IAA gần bằng hoặc bằng hybrid — vì phần IAP ở đó gần như bằng 0 trong khi pure IAA khai thác ad load cao hơn. Chênh lệch giữa hai mô hình gần như toàn bộ nằm ở tier-1. Đó là lý do một studio có danh mục nghiêng LATAM/APAC không nên tự động cho rằng hybrid luôn tốt hơn. ARPDAU blended toàn cầu là sản phẩm của mix địa lý, không phải tín hiệu chất lượng.
| Chỉ số | Median toàn bộ game mobile (GameAnalytics, dữ liệu 2025) tài liệu | Hybrid casual đáng đầu tư ước lượng | Pure IAA đáng đầu tư ước lượng |
|---|---|---|---|
| D1 retention | ~22% | 35–45% | 30–38% |
| D7 retention | dưới 4% | 10–15% | 6–10% |
| D30 retention | 0,7–0,8% | 3–6% | 1–3% |
| Session length | 3,1–3,5 phút | 4–8 phút | 3–5 phút |
| Session/ngày | 3,8–3,9 | 4–8 | 3–6 |
| Playtime/ngày | ~12 phút | 20–40 phút | 12–25 phút |
| D3 ROAS | — | 20–32% | 35–55% |
| D7 ROAS | — | 28–45% | 60–80% |
| D30 ROAS | — | 55–80% | 85–105% |
| Payback | — | D60–D150 | D20–D45 |
Median của GameAnalytics gồm hàng nghìn title dưới ngưỡng quy mô, và báo cáo 2025 nói rõ là không có benchmark theo genre do đang cải tổ cách phân loại. tài liệu
| Genre | IAA | IAP | Mô hình phù hợp |
|---|---|---|---|
| Hyper-casual / arcade ngắn | 90–98% | 2–10% | Thuần IAA |
| Hybrid-casual (mới launch) | 70–85% | 15–30% | Thuần IAA → chuyển hybrid khi retention xác nhận |
| Hybrid-casual (đã tune) | 45–65% | 35–55% | Hybrid — mục tiêu 50/50 của Jacat nằm đúng chỗ này |
| Puzzle (match-3) | 20–35% | 65–80% | Hybrid nghiêng IAP mạnh |
| Simulation / merge | 30–50% | 50–70% | Hybrid nghiêng IAP |
Nếu một title cụ thể là puzzle hoặc simulation thật, thì 50/50 nghĩa là IAP đang dưới mức tiềm năng, chứ không phải IAA đang tốt.
14Mô hình uplift & roadmap 90 ngày
Hai mô hình minh hoạ để thấy các đòn bẩy cộng dồn ra sao — và để thấy tỷ lệ phân bổ nguồn lực đúng của từng mô hình.
Kịch bản A · Hybrid casual
| Bước | Đòn bẩy | Δ áp lên | IAA | IAP | Net ARPDAU |
|---|---|---|---|---|---|
| — | Điểm khởi đầu | — | 0,0300 | 0,0300 | 0,0600 |
| A | Dọn mediation: floor theo tier, segment, bidder | +20% IAA | 0,0360 | 0,0300 | 0,0660 |
| B1 | Lớp rewarded theo khan hiếm của economy | +30% IAA | 0,0468 | 0,0300 | 0,0768 |
| B2 | Cadence + reach interstitial | +12% IAA | 0,0524 | 0,0300 | 0,0824 |
| C | Segment ad load theo pLTV | +5% net | 0,0550 | 0,0315 | 0,0865 |
| D | Meta IAP: starter pack, pass, bản địa hoá giá | +25% IAP | 0,0550 | 0,0394 | 0,0944 |
Kịch bản B · Thuần IAA
| Bước | Đòn bẩy | Δ áp lên | Ad | Premium | Net ARPDAU |
|---|---|---|---|---|---|
| — | Điểm khởi đầu | — | 0,0180 | 0,0020 | 0,0200 |
| A | Dọn mediation: floor thấp theo tier, bidder, backfill line | +25% ad | 0,0225 | 0,0020 | 0,0245 |
| B1 | Reach: ad đầu sớm + % DAU thấy ad | +18% ad | 0,0266 | 0,0020 | 0,0286 |
| B2 | Appointment mechanic → session/DAU | +15% ad | 0,0305 | 0,0020 | 0,0325 |
| B3 | Banner rộng + App Open (bỏ session 1) | +10% ad | 0,0336 | 0,0020 | 0,0356 |
| D | Offerwall + remove-ads + subscription nhẹ | +60% premium | 0,0336 | 0,0032 | 0,0368 |
Đây là mô hình, không phải dự báo. Giá trị của nó là chỉ ra tỷ lệ. Với hybrid, dọn mediation chỉ chiếm ~1/6 tổng uplift trong khi thường chiếm phần lớn thời gian team monet — một sai lệch phân bổ nên sửa. Với pure IAA, mediation chiếm ~30% và đáng phần thời gian đó; nhưng phần lớn upside vẫn nằm ở reach và session count.
Roadmap · phần lõi dùng chung, phần khác biệt ghi rõ theo mô hình
Tuần 1–2 · Đo lường (không được bỏ bước này, cả hai mô hình)
- Bật ILRD
onAdRevenuePaidđầy đủ trường, kèmrevenuePrecision, bắn về BigQuery + MMP (chỉ một route, không đếm kép) - Log
MaxAdWaterfallInfo+MaxNetworkResponseInfođể có bản đồ latency/fill theo geo - Dashboard: ad ARPDAU / premium ARPDAU / net ARPU cắt theo tier quốc gia × platform × IDFA × tuổi cohort
- Lập holdout 5% không quảng cáo vĩnh viễn — cách duy nhất để biết ads thực sự lấy đi bao nhiêu retention
- Chốt từ điển chỉ số (§01 + định nghĩa show/fill/match rate) và quy ước tên test
YYMMDD_HHUTC_ThayDoi_Segment - Chạy Mediation Debugger trên mọi build: adapter version skew, thiếu SKAdNetwork ID
Tuần 3–5 · Dọn mediation
- Bật tất cả những gì bật được ở chế độ bidder; ưu tiên S2S bidder hơn SDK bidder
- Tách 5–8 waterfall theo bảng §09-A2 (pure IAA: đẩy slot low-RAM Android và ad unit session-đầu lên trước)
- Thang floor P20/P30/P40 theo tier (pure IAA: P15/P25/P35 + backfill line ở đáy)
- Bidding-only vs hybrid theo từng tier
- Incrementality từng network Tier-B một cái một: Pangle → Amazon TAM → Liftoff → BigoAds; Yandex nếu RU >5% DAU
- Promote ở ≥2% incrementality với ≥10.000 impression/ngày (pure IAA trên máy yếu: ngưỡng 3%)
- Bật MAX Ad Review, lập block list advertiser cùng genre ở các geo top
Tuần 4–10 · Phía sản phẩm (chạy song song, bằng framework của mình)
- Audit economy: liệt kê mọi khoảnh khắc khan hiếm thật hiện có và mọi khoảnh khắc đang thiếu
- Ship placement theo thứ tự §10 (revive → ×2 → timed chest → rewarded shop/earn hub → skip level → hint)
- Hybrid: tune sink/faucet để user trung vị thiếu currency ≥1 lần/session; fail rate level 10–100 về 20–35%
- Pure IAA: rút ngắn level để tăng số điểm dừng; bật banner rộng; App Open từ session 2
- Test 3 nhánh cadence interstitial — hybrid 75/60/45s · pure IAA 50/40/30s — đọc ARPU cohort + retention cùng lúc
- Test chính sách session đầu theo bảng §10-B2 của đúng mô hình
Tuần 8–14 · Segment & lớp doanh thu cao cấp
- Hybrid: pLTV rule-based (ngũ phân vị) + bảng ad load §11; tắt interstitial cho whale và 24–72h sau mua cho payer
- Pure IAA: model ad-engagement propensity (label có ngay trong 24h) + bảng segment ad-lover / tolerant / averse
- Cả hai: bundle "xoá quảng cáo cưỡng chế + currency"; đọc cohort tới D60 trước khi kết luận
- Hybrid: starter pack + battle pass; test bản địa hoá giá BR/MX/ID/VN/IN/RU
- Pure IAA: offerwall ở T1; cross-promo có định giá bằng CPI tiết kiệm, báo cáo như một network
Nhịp thường trực
- Audit floor: hybrid hằng tháng · pure IAA hai tuần một lần · cả hai bắt buộc tuần đầu tháng 1
- Test lại incrementality của toàn bộ network mỗi quý
- Mỗi thí nghiệm sản phẩm đọc ARPU cohort (D14 hybrid / D7 pure IAA) với D1/D3/D7 và uninstall làm guardrail cam kết trước
- Sweep chất lượng ad thủ công mỗi tuần trên 3 geo lớn nhất
- Pure IAA: theo dõi tỷ trọng doanh thu theo network (không >40%) và theo geo (không >40%)
15Kỷ luật thí nghiệm
Phần này ngăn cách "tăng ARPDAU" với "kéo doanh thu về sớm rồi mất LTV".
| MAX A/B (mediation) | Framework của mình (sản phẩm) | |
|---|---|---|
| Test được | floor, network, cấu hình waterfall | placement, cadence, cap, reward, offer, segment |
| Chia nhóm | device-level trong mediation, mặc định 50/50 tài liệu | cohort install hoặc device, qua remote config |
| Chỉ số | REQ/DAU, IMP/DAU, ARPDAU tài liệu | net ARPU + retention + premium line + engagement |
| Thời gian đọc | ~20 phút có số; 24–48h để quyết tài liệu | tối thiểu 7–14 ngày |
| Ngưỡng ship | ≥2% incrementality, ≥10k impression/ngày tài liệu | ARPU cohort có ý nghĩa + guardrail sạch |
Thời lượng tối thiểu
- Mediation: 3–7 ngày. MAX nói theo dõi 24–48h và chờ 24h trước khi promote tài liệu; thực tế nên chạy đủ 7 ngày vì giá quảng cáo có chu kỳ ngày-trong-tuần rất mạnh.
- Cadence / placement: hybrid 14–21 ngày · pure IAA 10–14 ngày. Pure IAA đọc được sớm hơn vì tín hiệu nằm ở D1–D7 và volume lớn hơn.
- IAP / offer / giá (hybrid): 21–28 ngày. Payer conversion là biến cố hiếm và mua lại cần vài tuần.
- Chính sách session đầu: hybrid 28 ngày · pure IAA 14 ngày.
Với title thuần IAA, chờ đủ 30 ngày dữ liệu thường là quá muộn — vòng đời một title có khi chỉ vài tuần. Tab 02 và Tab 03 có ba cửa sổ đo: D3 (tin cậy thấp, cần ≥8.000 install/cohort), D7 (tin cậy trung bình, ≥15.000), D30 (tin cậy cao, ≥25.000).
Cơ chế: dựng đường retention từ các điểm đã quan sát rồi ngoại suy phần còn lại bằng một hệ số dốc đuôi. Cần hệ số này vì độ dốc đường retention của game casual tăng dần theo thời gian — ngoại suy thẳng bằng độ dốc giai đoạn đầu sẽ ước lượng đuôi cao hơn thực tế. Giá trị khởi đầu: 1,40 cho cửa sổ D3, 1,15 cho D7.
Luật đọc sớm: kết quả D3 nằm trong ±20% quanh cổng thì không quyết, chờ tới D7. Chỉ quyết ngay ở D3 khi kết quả rơi rõ ra ngoài dải đó — tức là dùng D3 để giết nhanh phương án tệ và xếp hạng giữa các nhánh test, không dùng để chốt ngân sách.
Vòng lặp hiệu chỉnh: mỗi lần đọc sớm, tool cho ra dự đoán D7/D30. Ghi lại, và khi cohort đủ tuổi thì so với thực tế để chỉnh hệ số dốc đuôi. Làm với 3–5 title là Jacat có hệ số riêng cho từng thể loại — lúc đó đọc D3 chính xác gần bằng đọc D30, và đó mới là lợi thế tốc độ thật sự, chứ không phải bản thân việc đọc sớm.
Cỡ mẫu — và lý do phải dùng guardrail thay vì p-value
Phát hiện <5% trên net ARPU cần khoảng 50–120k install mỗi nhánh. Vì vậy:
- Giảm variance. CUPED với doanh thu kỳ trước làm covariate thường cắt 30–50% cỡ mẫu. Winsorize doanh thu ở P99 (báo cáo cả hai bản). Randomize có phân tầng theo segment.
- Đọc ad ARPDAU trước (CV thấp hơn), rồi mới xác nhận net. Với pure IAA thì đây gần như là toàn bộ phép đọc — một lợi thế thực sự về tốc độ học.
- Ta thường KHÔNG thể chứng minh một mức mất 1pp D7. Dùng cách guardrail: đặt ngưỡng trước, và nếu điểm ước lượng vượt ngưỡng thì không ship dù chưa có ý nghĩa thống kê. Hàm mất mát bất đối xứng thì tiêu chuẩn bằng chứng cũng phải bất đối xứng.
Sáu quy tắc đo lift đúng
- Chỉ dùng mẫu số per-user. ARPDAU hoặc ARPU, không bao giờ eCPM, không bao giờ tổng doanh thu.
- Chia nhóm trước khi so. So sánh trong: tier quốc gia × platform × trạng thái IDFA × tuổi cohort. Một chiến thắng ARPDAU tổng thể mà âm ở mọi nhóm con là nghịch lý Simpson do mix shift — xảy ra liên tục trong nghề này.
- Nhìn imp/DAU và show rate cạnh doanh thu. Floor lên + eCPM lên + imp/DAU xuống + ARPDAU đi ngang = ta vừa thu hẹp supply mà không được gì.
- So sánh cùng ngày, cùng giờ. Không bao giờ so tuần test với tuần trước.
- Cohort-based cho mọi thứ liên quan retention/LTV/premium. Day-based chỉ chấp nhận cho test mediation thuần trên tệp user ổn định.
- Randomize trên một ID bền (install ID), giữ nguyên nhóm qua reinstall. Đừng chạy test mediation chồng test sản phẩm trên cùng tệp user.
1628 lỗi làm mất tiền
Dùng làm checklist review trước mỗi lần đưa sản phẩm lên chợ.
Kỹ thuật tích hợp — đúng cho cả hai mô hình
- Gọi
loadAd()trướconSdkInitialized— waterfall bị cắt ngắn hoặc fail thẳng, đúng vào session đầu là lúc ARPDAU cao nhất. tài liệu - Nhiều ad unit ID cho cùng một format — phân mảnh cache và làm loãng đấu giá. AppLovin khuyến nghị một ad unit ID cho mỗi format mỗi app; dùng placement để phân tích. tài liệu
- Thiếu / cũ SKAdNetwork ID trong
Info.plist— bóp demand iOS trong im lặng. Mediation Debugger báo lỗi này. tài liệu - Lệch version adapter/SDK, hoặc obfuscate đổi tên package adapter — tài liệu nói thẳng "ads sẽ không load". tài liệu
- Không truyền consent trước init, hoặc thiếu CMP được Google chứng nhận ở EEA/UK — giết demand Google và hạ toàn bộ bidder ở châu Âu. tài liệu
- Gắn cờ child-directed cho toàn app — mất toàn bộ lớp bidding trên cả MAX và AdMob. Game mixed-audience phải gate tuổi và điều tuyến traffic trẻ em sang stack contextual riêng. tài liệu
- Tích hợp Amazon APS sai thứ tự — trả latency mà không nhận doanh thu (§05).
- Banner để auto-refresh trong feed / không destroy
MaxAdView— đốt impression không viewability và leak memory. - Không có S2S validation cho rewarded — reward cấp từ client sẽ bị farm.
- Không retry, hoặc retry không cap — hoặc mất fill sau no-fill tạm thời, hoặc bị throttle. Dùng
2^min(6, attempt)giây. tài liệu - Quá nhiều SDK — quá ~8–10 network là mua latency, crash và app size với <1% mỗi cái. Với pure IAA trên máy yếu, đây là lỗi tốn kém hơn nhiều so với hybrid.
Vận hành & dữ liệu
- Tối ưu eCPM. Chính tài liệu AppLovin tồn tại để thuyết phục publisher đừng làm thế. tài liệu
- Floor cũ. Floor đặt trong một chế độ giá đã biến mất sẽ bỏ đói waterfall trong im lặng.
- Một waterfall toàn cầu duy nhất. Có 8 slot mỗi ad unit tài liệu và chênh lệch giá 10–20× giữa các geo.
- Bỏ qua tách IDFA trên iOS. Inventory đã consent và chưa consent có phân phối giá hoàn toàn khác nhau. tài liệu
- Bỏ qua
revenuePrecision. Modelpublisher_definednhư doanh thu thật = nhập phỏng đoán của mình vào mọi quyết định LTV/ROAS. tài liệu - Đếm kép ad revenue trong MMP (bật cả route ILRD/SDK và route API) — phồng ROAS cohort → UA bid quá tay.
- Không log waterfall info. Không có telemetry thì đang tối ưu một hộp đen.
- Đặt floor quá cao ở tier-3 — với pure IAA đây là lỗi mất tiền lớn nhất: fill rơi ở đúng nơi phần lớn volume nằm.
- Không theo dõi tỷ trọng doanh thu theo network và theo geo — với pure IAA, phụ thuộc >40% vào một network là rủi ro tồn tại, không phải rủi ro tối ưu.
Thiết kế & kinh tế
- Thêm nút rewarded mà không tạo khan hiếm. Economy hào phóng thì engage rate một chữ số. Sửa tỷ lệ sink/faucet trước.
- Reward định giá quá cao (>15–20% giá trị gói IAP mỗi view) — cannibalize IAP và lạm phát economy cùng lúc. Không áp dụng cho pure IAA — ở đó hãy hào phóng.
- Chồng interstitial cưỡng chế lên ngay sau khi user xem xong rewarded. Lỗi UX nặng nhất; luôn cooldown 30–60 giây, ở cả hai mô hình.
- Interstitial giữa fail và retry. Trừng phạt người chơi đúng lúc họ muốn chơi lại.
- Hiện ad cho whale (hybrid). Được vài đồng lẻ, đánh cược hàng trăm đô mỗi user.
- Bán "xoá toàn bộ quảng cáo". Giết vòng rewarded của chính nhóm monetize tốt nhất.
- Test một dòng doanh thu. "+15% ad ARPDAU" mà thực ra là −20% IAP và −4pp D7.
- Áp guardrail hybrid lên game thuần IAA (và ngược lại). Bảo vệ D30 trong một game có D30 = 1,5% là tự chặn doanh thu; nới D7 trong một game hybrid là tự phá đuôi IAP. Hai mô hình, hai bộ ngưỡng — chốt bằng văn bản trước khi test.
Toon Blast (Peak/Zynga). ARPDAU ở US nằm ở mức $0,17–0,38 suốt nhiều năm, rồi lên vùng $2–3 sau khi ra tính năng Super Light Ball tháng 10/2023 — khoảng 10× — trong khi downloads giảm hơn 90% so với đỉnh và doanh thu đạt mức cao nhất lịch sử. tài liệu
Cơ chế: một tính năng "hào phóng" đặt đúng thời điểm loss-aversion (khi hết nước đi), meta sưu tập với wildcard chỉ mua được, event 2–6 ngày xếp chồng thay cho event hết hạn mỗi đêm, và season pass ba tầng mượn từ midcore.
Hai bài học, bài thứ hai quan trọng hơn: (1) những cú dịch chuyển ARPDAU lớn nhất đến từ thiết kế meta và economy, không từ ad ops. (2) ARPDAU không phải chỉ số tăng trưởng — nó tăng một phần vì user giá trị thấp đã ngừng install. Khi báo cáo ARPDAU tăng, luôn báo cáo kèm DAU và mix địa lý.