Hướng dẫn thiết lập trước khi chạy quảng cáo tăng lượt tải ứng dụng

Trong quá trình triển khai dịch vụ chạy quảng cáo tăng lượt tải ứng dụng hay ASO tối ưu lượt cài ứng dụng. Đội ngũ kỹ thuật quảng cáo của chúng tôi có gặp một số vấn đề như sau.
  • Thứ nhất, các bạn đã sẵn sàng để chi tiết chạy quảng cáo tăng lượt tải, thu nạp users. Nhưng thực tế ứng dụng của các bạn chưa sẵn sàng để làm việc với các hệ thống quảng cáo, do đó chưa chạy được quảng cáo.
  • Thứ hai, hệ thống chạy quảng cáo đã sẵn sàng, ứng dụng của bạn đã sẵn sàng. Nhưng hệ thống đo đếm (tracking app) của bạn chưa sẵn sàng. Quảng cáo đổ vào nhưng không phân tích được users.
  • Thứ ba, quảng cáo đã sẵn sàng, ứng dụng đã sẵn sàng, tracking app đã sẵn sàng. Nhưng bạn không kiếm được tiền từ ứng dụng của mình.

Ba vấn đề trên đều liên quan tới việc thiết lập trước khi chạy quảng cáo tăng lượt tải ứng dụng và kiếm tiền thông qua quảng cáo trong ứng dung. Các vấn đề này sẽ được giải quyết trong bài viết dưới đây.

Do đây là bài viết có nhiều thông tin kỹ thuật ứng dụng, nên về cơ bản các hướng dẫn sâu hơn về kỹ thuật, tôi đã nén thông tin ở các file tài liệu hướng dẫn cấu hình. (Có đính kèm trong bài viết này).

“Quảng cáo trong ứng dụng” – Một keyword, hai ngữ cảnh khác nhau

Hầu hết các ứng dụng di động thành công ngày nay đều miễn phí khi tải về. Người dùng không trả tiền, nhưng doanh thu vẫn chảy về đều đặn mỗi ngày. Phía sau đó là một hệ thống quảng cáo được thiết lập kỹ càng — và đây cũng là nơi phần lớn developer, startup, hay doanh nghiệp có ứng dụng đang bỏ tiền hoặc bỏ lỡ doanh thu mà không biết tại sao.

Khi nói đến “quảng cáo trong ứng dụng”, nhiều người nghĩ đến một thứ duy nhất. Nhưng thực tế có hai bài toán độc lập và khác nhau. Mà người vận hành ứng dụng muốn nói đến. Đó là:

  • Hướng thứ nhất: Kiếm tiền từ ứng dụng (Monetization). Bạn tích hợp các mạng quảng cáo như Google AdMob, Meta Audience Network, Unity Ads vào trong app, và mỗi lần người dùng của bạn xem quảng cáo, bạn nhận được tiền. Đây là cách 95% app miễn phí trên store tạo ra doanh thu và kiếm tiền từ người dùng miễn phí.
  • Hướng thứ hai: Chạy quảng cáo để thu hút người dùng mới (User Acquisition). Bạn bỏ tiền lên Google App Campaigns, Meta Ads, TikTok Ads để hiển thị quảng cáo ở nơi khác, mục tiêu là thuyết phục người dùng cài đặt ứng dụng của mình. Đây là bài toán tăng trưởng.

Hai hướng này phục vụ mục tiêu ngược nhau — một bên thu tiền, một bên chi tiền — nhưng đều đòi hỏi sự hiểu biết kỹ thuật nhất định để không lãng phí nguồn lực và thiết lập trước khi chạy quảng cáo tăng lượt tải ứng dụng đúng cách. Và trong thực tế, một ứng dụng trưởng thành thường làm cả hai cùng lúc: vừa kiếm tiền từ người dùng hiện tại, vừa dùng khoản đó để tái đầu tư kéo người dùng mới.


Những vấn đề thường gặp khi bắt đầu chạy quảng cáo tăng lượt tải cho ứng dụng

Dưới dây là một số vấn đề thực tế trong quá trình triển khai chạy quảng cáo tăng lượt tải cho ứng dụng androi/iOS, TMR team thấy rằng rất nhiều dự án gặp phải.

1. Tích hợp quảng cáo nhưng doanh thu thấp hơn kỳ vọng rất nhiều

Đây là phàn nàn phổ biến nhất. App có hàng nghìn người dùng hàng ngày, đã gắn AdMob, nhưng mỗi tháng chỉ thu được vài chục đô la. Vấn đề thường đến từ ba nguyên nhân: chọn sai ad format cho loại app, đặt quảng cáo ở vị trí không ai để ý, và quan trọng nhất là chỉ dùng một mạng quảng cáo duy nhất.

Khi chỉ dùng AdMob, bạn đang để AdMob tự quyết định giá trị ad slot của mình mà không có áp lực cạnh tranh nào. Giải pháp là mediation — kết nối nhiều mạng quảng cáo để chúng đấu thầu cạnh tranh với nhau. Với mô hình in-app bidding hiện đại, eCPM trung bình tăng 20–40% mà không cần thay đổi bất kỳ thứ gì từ phía người dùng.

2. Chi tiền chạy quảng cáo nhưng không biết kênh quảng cáo nào hiệu quả

Chạy đồng thời Google Ads và Meta Ads là chiến lược phổ biến. Vấn đề xảy ra khi cả hai đều báo cáo con số install ấn tượng — nhưng tổng cộng cao hơn số người dùng thực tế trong app. Đây là hiện tượng double-counting: mỗi mạng tự nhận “credit” cho cùng một người dùng đã thấy quảng cáo của cả hai trước khi cài app. Doanh nghiệp chi tiền chạy quảng cáo, nhưng lại không biết user đến từ nguồn nào.

Hệ quả là bạn không thể biết kênh nào thực sự hiệu quả, không thể tối ưu ngân sách đúng hướng, và có thể đang đổ tiền vào kênh kém chất lượng hơn. Giải pháp là Mobile Measurement Partner (MMP) — một lớp trung gian độc lập như AppsFlyer hay Adjust, có nhiệm vụ quy đúng nguồn cho từng install theo một bộ quy tắc thống nhất.

3. iOS 14.5 đã thay đổi cuộc chơi — nhiều team vẫn chưa bắt kịp

Từ năm 2021, Apple bắt buộc tất cả app muốn theo dõi hành vi người dùng phải xin phép qua App Tracking Transparency (ATT). Tỷ lệ người dùng đồng ý tracking dao động từ 25% đến 60% tùy cách trình bày và thời điểm hiển thị. Phần còn lại — những người không đồng ý — vẫn có thể được đo lường ở mức độ hạn chế thông qua SKAdNetwork, nhưng dữ liệu bị delay 24–72 giờ và chỉ có ở dạng tổng hợp.

Điều này có nghĩa là: nếu team bạn vẫn đang đọc báo cáo attribution như thời iOS 13, bạn đang nhìn vào một bức tranh thiếu sót. Do đó, bạn cần hiểu cơ chế SKAdNetwork và conversion value schema để thiết kế hệ thống đo lường phù hợp với thực tế mới.

4. Quảng cáo làm hỏng trải nghiệm người dùng — và không ai nói thẳng điều đó

Một interstitial (Quảng cáo fullscreen) xuất hiện đúng lúc người dùng đang điền form, một banner che mất nút tắt, hay rewarded video bị trigger tự động mà không có sự đồng ý của người dùng — những điều này không chỉ ảnh hưởng đến cảm nhận, mà còn trực tiếp làm giảm retention. Và retention giảm đồng nghĩa với doanh thu dài hạn giảm, dù doanh thu quảng cáo ngắn hạn có tăng.

Đây là lý do Google và Apple đều có chính sách nghiêm ngặt về cách quảng cáo được phép hiển thị — và vi phạm chính có thể dẫn đến app bị gỡ khỏi store hoặc tài khoản AdMob bị đình chỉ.

Nhưng không ai nói rõ cho bạn biết điều đó. ^^

5. Khai báo không đầy đủ khi submit lên store

Google Play yêu cầu khai báo Data Safety form chi tiết. App Store yêu cầu Privacy Nutrition Labels. Cả hai đều yêu cầu bạn khai báo chính xác loại dữ liệu mà SDK quảng cáo của bạn thu thập. Vấn đề là developer thường không biết SDK đang thu thập gì “đằng sau hậu trường”, dẫn đến khai báo thiếu và app bị reject hoặc warning sau khi đã lên store.

Mỗi lần bạn submit app. 2 working days. Dev mất công. Sếp phải ngồi chờ. Tất cả chỉ vì bạn chưa packed đầy đủ thông tin. Và mọi sự thiếu sót sẽ phải trả giá bằng thời gian và tiền bạc.


Không có cách nào “one-size-fits-all”

Stack quảng cáo phù hợp cho một casual game 100.000 người dùng khác hoàn toàn so với một productivity app 5.000 người dùng trả phí. Format phù hợp cho news app sẽ phá hỏng trải nghiệm trong một game nhập vai. MMP đắt tiền không cần thiết khi app còn đang ở giai đoạn tìm product-market fit.

Đó là lý do hai tài liệu dưới đây được thiết kế riêng biệt — một cho bài toán kiếm tiền từ người dùng hiện có, một cho bài toán đưa người dùng mới về — với hướng dẫn kỹ thuật cụ thể, code mẫu, và khuyến nghị theo từng giai đoạn tăng trưởng.

Trong các tài liệu này, tôi có hướng dẫn đầy đủ từ góc nhìn nhận, tới cách triển khai. Việc của bạn là đọc kỹ, làm theo. Chú ý code có thể linh hoạt và thay đổi theo từng app và từng giai đoạn triển khai. Quá trình đóng gói để release app cần đầy đủ.


📎 Tài liệu 1: Hướng dẫn tích hợp mạng quảng cáo để kiếm tiền từ ứng dụng Android & iOS

📎 Tài liệu 2: Hướng dẫn tích hợp mạng quảng cáo và tracking cho ứng dụng Android & iOS

Checklist các thiết lập trước khi chạy quảng cáo tăng lượt tải ứng dụng

Trước khi bàn giao app cho marketer chạy quảng cáo, đội kỹ thuật cần đảm bảo toàn bộ hạ tầng đo lường và hiển thị đã sẵn sàng, thiết lập trước khi chạy quảng cáo tăng lượt tải ứng dụng cần đầy đủ — vì một khi ngân sách chạy, mọi dữ liệu bị mất hoặc sai đều không thể lấy lại. Dưới đây là danh sách đầy đủ bạn cần kiểm tra, trước khi gửi cho chúng tôi chạy quảng cáo.


Cấu hình kỹ thuật trong app về tracking

  1. First open event ghi nhận chính xác khi người dùng mở app lần đầu và các event cơ bản được khai báo và active hiển thị trên GA4 (Các in-app event quan trọng đã được log: registration, purchase, tutorial_complete, level_complete, add_to_cart… (tuỳ loại app))
  2. SDK của MMP (AppsFlyer / Adjust / Firebase…) đã được tích hợp và khởi tạo đúng nếu bạn muốn dùng tracking MMP.
  3. SDK khởi tạo sau khi có kết quả ATT prompt (iOS) — không khởi tạo trước
  4. Deeplink và deferred deeplink hoạt động đúng nếu chiến dịch cần điều hướng vào màn hình cụ thể

Chú ý là tùy từng giai đoạn của phát triển ứng dụng. Nhưng ít nhất mục (1) cần đảm bảo.


iOS — Khai báo và quyền

  • NSUserTrackingUsageDescription đã có trong Info.plist với nội dung rõ ràng, không chung chung
  • ATT prompt được gọi đúng thời điểm — sau onboarding, không phải ngay khi mở app
  • SKAdNetworkItems trong Info.plist đầy đủ ID của tất cả mạng quảng cáo sẽ chạy
  • Conversion value schema đã được thiết kế và implement phù hợp với mục tiêu chiến dịch
  • GADApplicationIdentifier hoặc App ID của MMP đã khai báo đúng

Android — Khai báo và quyền

  • INTERNET permission có trong AndroidManifest.xml
  • AD_ID permission đã khai báo (bắt buộc từ Android 13+)
  • AdMob App ID hoặc App ID của mạng quảng cáo đã khai báo trong <meta-data>
  • Google Play Install Referrer API đã tích hợp để tracking nguồn install
  • queries block đã khai báo đúng nếu SDK cần package visibility (Android 11+)

Kết nối MMP với ad network

  • Tài khoản MMP đã được tạo và app đã được thêm vào dashboard
  • MMP đã được cấp quyền API với từng mạng sẽ chạy (Google Ads, Meta, TikTok…)
  • Postback đã được bật để MMP gửi conversion data ngược về ad network
  • Test install đã được thực hiện trên thiết bị thật và attribution hiển thị đúng trong dashboard MMP
  • Fraud protection đã được bật nếu MMP hỗ trợ

Khai báo trên store

  • Google Play: Data Safety form đã khai báo đầy đủ loại dữ liệu thu thập
  • App Store: Privacy Nutrition Labels đã điền đúng, bao gồm Advertising ID và dữ liệu từ SDK bên thứ ba
  • App đã được Apple và Google duyệt — không đang trong trạng thái review hoặc bị reject

Thông tin bàn giao cho marketer

  • App ID / Bundle ID chính xác trên từng store
  • Link tải app trên Google Play và App Store
  • Danh sách in-app event names đúng như trong code (để marketer cấu hình chiến dịch tối ưu đúng event)
  • MMP Dev Key hoặc link mời collaborator vào dashboard MMP
  • Màn hình hoặc deeplink muốn điều hướng user đến sau khi cài app (nếu có)
  • Test device đã được gỡ khỏi danh sách test trước khi chạy thật

Kiểm tra cuối

  • Đã build bản production (không phải debug) để test attribution
  • Không còn test Ad Unit ID nào trong code production
  • App version đang live trên store khớp với version đã test attribution
  • Marketer đã có đủ creative (banner, video) đúng kích thước theo từng mạng quảng cáo
How useful was this post? 5/5 - (1 bình chọn)