# Product page optimization App Store: test A/B của Apple

> PPO thử tối đa 3 biến thể trang app (icon, ảnh chụp, video xem trước) trên một phần lưu lượng, tối đa 90 ngày, kết luận ở độ tin cậy 90%.

Trang gốc: [Product page optimization App Store: test A/B của Apple](https://devoria.fr/vi/blog/product-page-optimization-app-store-test-ab)
Tác giả: [Mehdi Azizi](https://devoria.fr/vi/mehdi-azizi)
Ngày đăng: 2026-11-04
Lần sửa nội dung gần nhất: 2026-11-04


Product page optimization (PPO) là công cụ test A/B tích hợp sẵn trong App Store Connect. **Bạn so sánh tối đa ba biến thể của trang app mặc định với bản gốc, bằng cách thay icon, ảnh chụp màn hình hoặc video xem trước, trên một phần lưu lượng do bạn chọn, trong tối đa 90 ngày.** Apple sẽ xác định một biến thể tốt hơn hoặc kém hơn khi nó đạt độ tin cậy 90%. Lúc đó bạn có thể áp dụng biến thể thắng cho trang app của mình.

Mình tự phát hành các app iOS của mình, trong đó có Solys và TradaZen, với trang app bằng 38 ngôn ngữ. Tháng 10 năm 2026, mình đã chuẩn bị một bài test PPO cho TradaZen. Hướng dẫn này dựa trên tài liệu trợ giúp của App Store Connect, được mình đọc lại ngày 15/10/2026.

## Product page optimization App Store: bạn có thể test những gì

Theo [trang của Apple về product page optimization](https://developer.apple.com/app-store/product-page-optimization/), mỗi biến thể, mà Apple gọi là treatment, có thể thay đổi ba thành phần:

- **icon**, với điều kiện icon đó đã có sẵn trong binary của phiên bản đang phát hành;
- **ảnh chụp màn hình**;
- **video xem trước** (app previews).

Tên, phụ đề và từ khóa không test được ở đây. Tài liệu Analytics có nhắc thêm phần mô tả. Còn trang cấu hình treatment thì chỉ có icon, ảnh chụp và video xem trước, cộng thêm một tab Header and Search Results cho hình ảnh đầu trang, xuất hiện từ tháng 10 năm 2026.

Các điều kiện, theo [phần tổng quan của tài liệu trợ giúp](https://developer.apple.com/help/app-store-connect/create-product-page-optimization-tests/overview-of-product-page-optimization):

- app của bạn đang được bán trên App Store (trạng thái Ready for Distribution);
- bài test áp dụng cho trang app mặc định, không bao giờ cho custom product page;
- các biến thể hiển thị trên iOS 15 và iPadOS 15 trở lên.

Có hai chi tiết quan trọng. **Một người xem sẽ thấy cùng một biến thể trong suốt thời gian test.** Và nếu họ tải app từ một biến thể có icon khác, icon đó cũng sẽ hiện trên iPhone của họ. Hình ảnh của các biến thể có thể xuất hiện trong kết quả tìm kiếm và trong tab Today.

## Tạo một bài test: biến thể, lưu lượng và ngôn ngữ

Trong App Store Connect, mục Product Page Optimization là nơi tạo bài test. Theo [tài liệu về cách tạo test](https://developer.apple.com/help/app-store-connect/create-product-page-optimization-tests/create-a-test), bạn thiết lập năm thứ:

1. **Một tên tham chiếu**, tối đa 64 ký tự, chỉ bạn thấy.
2. **Số biến thể, tối đa ba.** Càng nhiều biến thể, test càng lâu.
3. **Tỷ lệ lưu lượng**, chia đều cho các biến thể. Ví dụ của Apple: ở mức 30% với ba biến thể, mỗi biến thể nhận 10% người xem.
4. **Ngôn ngữ.** Người xem có ngôn ngữ bị loại sẽ không tham gia bài test.
5. **Ước tính thời gian**, không bắt buộc. Bạn chọn mức cải thiện mong muốn, Apple tính thời gian và số lượt hiển thị cần thiết dựa trên số liệu của bạn.

**Một bài test kéo dài tối đa 90 ngày, và không thể chỉnh sửa sau khi đã chạy.** Nếu bạn dừng nó, nó không chạy lại được: bạn phải tạo bài mới.

Mỗi biến thể bắt đầu từ một bản sao trang app của bạn. Những gì bạn không thay đổi sẽ giữ nguyên như bản gốc, theo từng kích thước màn hình. Kích thước cụ thể có trong bài [kích thước ảnh chụp App Store](https://devoria.fr/vi/blog/kich-thuoc-anh-chup-man-hinh-app-store-2026).

## Duyệt các biến thể

Theo [tài liệu về treatment](https://developer.apple.com/help/app-store-connect/create-product-page-optimization-tests/configure-test-treatments), hình ảnh của bài test phải được duyệt trước khi chạy:

- **Ảnh chụp hoặc video xem trước mới**: cần một lượt duyệt, không cần phiên bản app mới.
- **Chỉ đổi thứ tự, hoặc chỉ icon**: đã được duyệt sẵn, không cần duyệt.
- **Icon mới**: icon phải có trong binary của phiên bản đang phát hành, ở kích thước 1024 x 1024 pixel, được build bằng Xcode 13 trở lên. Vậy là bạn cần thêm một phiên bản trước khi test, với một [số build](https://devoria.fr/vi/blog/build-number-app-store-connect-version) mới.

Khi bắt đầu, [tài liệu về chạy test](https://developer.apple.com/help/app-store-connect/create-product-page-optimization-tests/run-a-test) gợi ý bạn thêm bài test vào một lượt gửi duyệt. Nó sẽ được duyệt cùng phiên bản iOS mới nhất của bạn. Thời gian thông thường có trong bài [thời gian duyệt App Store](https://devoria.fr/vi/blog/thoi-gian-duyet-app-app-store).

Apple cũng cảnh báo: phát hành phiên bản mới trong lúc test có thể làm sai kết quả nếu nó thay đổi một thành phần đang được test.

## Đọc kết quả

Kết quả nằm trong Analytics, mục Acquisition, rồi Product Pages. Theo [tài liệu App Store Connect Analytics](https://developer.apple.com/help/app-store-connect-analytics/acquisition/product-page-optimization), kết quả xuất hiện sau 5 lượt tải đầu tiên được ghi nhận cho bài test, rồi cập nhật mỗi ngày. Apple dùng phương pháp Bayes, và mỗi biến thể nhận một trạng thái:

| Trạng thái của Apple      | Ý nghĩa                         | Nên làm gì            |
| ------------------------- | ------------------------------- | --------------------- |
| Collecting Data           | Chưa có kết luận                | Chờ                   |
| Performing Better         | Tốt hơn với độ tin cậy từ 90%   | Áp dụng               |
| Performing Worse          | Kém hơn với độ tin cậy từ 90%   | Giữ bản gốc           |
| Likely to be Inconclusive | Không có kết luận trong 90 ngày | Test khác biệt rõ hơn |

Với mỗi biến thể, bảng hiển thị số lượt hiển thị duy nhất, tỷ lệ chuyển đổi ước tính, mức cải thiện so với bản tham chiếu và độ tin cậy. **Mức cải thiện lớn được phát hiện nhanh hơn mức nhỏ.** Apple khuyên không dừng test trước khi có kết luận. Bạn cũng có thể đổi bản tham chiếu (baseline) bất cứ lúc nào để so sánh hai biến thể với nhau.

Để áp dụng biến thể thắng, [tài liệu về áp dụng treatment](https://developer.apple.com/help/app-store-connect/create-product-page-optimization-tests/apply-a-test-treatment-to-your-product-page) đặt ra ba quy tắc:

- chỉ một biến thể mỗi bài test, và thao tác này không hoàn tác được;
- **chỉ ảnh chụp và video xem trước được áp dụng**: icon thắng phải trở thành icon mặc định trong phiên bản tiếp theo của bạn;
- áp dụng một biến thể sẽ dừng bài test.

## Quy tắc của mình: không test dưới 1.000 lượt hiển thị

Mình tự đặt một quy tắc cho mọi app: **không test A/B khi thứ cần test chưa đạt ít nhất 1.000 lượt hiển thị mỗi tháng.** Dưới mức đó, yếu tố ngẫu nhiên nặng ký hơn biến thể. Đây không phải ngưỡng của Apple, mà là mức sàn của mình. Sau đó, ước tính thời gian của App Store Connect sẽ cho biết thực sự cần bao nhiêu lượt hiển thị.

Nếu lưu lượng của bạn thấp:

- **chỉ một biến thể**, để không chia nhỏ lưu lượng vốn đã ít;
- **khác biệt rõ ràng**: một ảnh chụp đầu tiên khác hẳn, chứ không phải một sắc màu;
- **những ngôn ngữ có lưu lượng**, không phải tất cả;
- **tỷ lệ lưu lượng cao**, để nhanh hơn.

Dưới mức sàn, hãy thay trang app một lần và so sánh trước và sau trong vài tuần, có ghi lại ngày, giống như khi theo dõi thứ hạng app. Cách này kém chặt chẽ hơn, nhưng trung thực với những gì số liệu của bạn có thể nói.

## Trước khi chạy test: checklist của mình

Đây là danh sách mình tự đặt ra trước khi chạy một bài test:

- Một giả thuyết viết trong một câu: "cho thấy X đầu tiên sẽ khiến nhiều người tải hơn".
- Mỗi biến thể chỉ thay một thành phần, để biết cái gì tạo ra khác biệt.
- Ít nhất 1.000 lượt hiển thị mỗi tháng ở các ngôn ngữ được test.
- Ước tính thời gian của Apple dưới 90 ngày, nếu không thì giảm biến thể hoặc tăng lưu lượng.
- Icon thay thế đã có trong binary đang phát hành, nếu bạn test icon.
- Hình ảnh của từng ngôn ngữ đã được kiểm tra trong biến thể, không chỉ tiếng Anh.
- Không có phiên bản nào dự kiến chạm vào các thành phần đang test trong lúc test.
- Một quyết định được ghi sẵn cho từng trạng thái có thể xảy ra.

## Trường hợp của mình: bài test "đấu tay đôi trước tiên" trên TradaZen

Trên TradaZen, app mô phỏng giao dịch của mình, chế độ đấu tay đôi với người chơi khác là thứ mình muốn làm nổi bật. Hành trình của app được kể trong [bài chia sẻ kinh nghiệm của mình](https://devoria.fr/vi/blog/ra-mat-ung-dung-iphone-nghien-cuu-tinh-huong-tradazen). Giả thuyết của mình: cho thấy chế độ này ngay ảnh chụp đầu tiên sẽ khiến nhiều người tải hơn phần mở đầu hiện tại. Đây là cách thiết lập, đến nay chưa có kết quả.

- **Chỉ một biến thể**, "Đấu tay đôi trước tiên", so với bản gốc.
- **50% lưu lượng**, để nhanh hơn với một biến thể.
- **Mười ngôn ngữ**, những ngôn ngữ có lưu lượng, chứ không phải 38 ngôn ngữ của trang app.
- **Thay ảnh chụp theo từng ngôn ngữ.** Mỗi ngôn ngữ của biến thể thừa hưởng ảnh chụp của phiên bản. Thêm ảnh lên trên sẽ vượt giới hạn 10 ảnh mỗi kích thước: mình phải thay cả bộ.
- **Không gửi duyệt khi phiên bản đang duyệt chưa được chấp nhận.** Bài test được duyệt cùng phiên bản iOS mới nhất, và mình không muốn việc bị từ chối ở bên này làm chậm bên kia.

Khi test chạy, mình chỉ quyết định khi có trạng thái Performing Better hoặc Performing Worse.

## PPO hay Custom Product Pages: khác nhau thế nào

Hai công cụ này hay bị nhầm lẫn. Đây là những điểm chính, theo [tài liệu về custom product pages](https://developer.apple.com/help/app-store-connect/create-custom-product-pages/configure-multiple-product-page-versions):

| Tiêu chí         | PPO                           | Custom Product Pages              |
| ---------------- | ----------------------------- | --------------------------------- |
| Mục đích         | Test trang app mặc định       | Một trang cho mỗi nhóm người dùng |
| Số lượng         | 3 biến thể mỗi test           | 70 trang mỗi app                  |
| Ai thấy          | Người xem chọn ngẫu nhiên     | Link riêng hoặc từ khóa           |
| Icon             | Test được nếu có trong binary | Icon của app                      |
| Văn bản quảng bá | Không                         | Có, theo từng trang               |
| Thời gian        | Tối đa 90 ngày                | Không giới hạn                    |
| Địa chỉ riêng    | Không                         | Có                                |

**PPO cho bạn biết trang app nào chuyển đổi tốt nhất với tất cả mọi người. Một custom product page hiển thị trang khác cho một nhóm người dùng cụ thể.** Custom product page không test được bằng PPO. Chi tiết có trong hướng dẫn về [Custom Product Pages](https://devoria.fr/vi/blog/custom-product-page-app-store-quang-cao), còn với một sự kiện có thời điểm cụ thể, hãy đọc hướng dẫn về [in-app events](https://devoria.fr/vi/blog/in-app-event-app-store-tao-su-kien).

## Để chuẩn bị biến thể

[App Store Screenshots Kit](https://devoria.fr/vi/kits/app-store-screenshots) gồm 4 phong cách ảnh chụp từ các app của mình và skill để Claude tạo ảnh cho bạn, ở mọi kích thước và mọi ngôn ngữ. Đủ để chuẩn bị một biến thể mà không cần phần mềm thiết kế. Về chữ trên trang app, hãy đọc [từ khóa App Store](https://devoria.fr/vi/blog/tu-khoa-app-store-cach-chon).

Bạn đang chuẩn bị gửi duyệt? [Buổi chẩn đoán miễn phí](https://devoria.fr/vi/diagnostic) sẽ gửi bạn checklist chống bị Apple từ chối của mình và cho bạn biết còn việc gì cần làm. Phương pháp đầy đủ cho trang app có ở trang [ASO App Store](https://devoria.fr/vi/expertise/aso-app-store).

## Câu hỏi thường gặp

### Product page optimization trên App Store là gì?

Đó là công cụ test A/B của App Store Connect. Bạn so sánh tối đa ba biến thể của trang app mặc định với bản gốc, bằng cách thay icon, ảnh chụp hoặc video xem trước, trên một phần lưu lượng do bạn chọn.

### Một bài test PPO kéo dài bao lâu?

Tối đa 90 ngày, hoặc đến khi bạn dừng nó. Bài test đã dừng không chạy lại được. Apple khuyên nên chờ đến khi một biến thể được xác định là tốt hơn hoặc kém hơn với độ tin cậy 90%.

### Có thể test tên hoặc từ khóa bằng PPO không?

Không. Các biến thể chỉ thay icon, ảnh chụp và video xem trước. Tên, phụ đề và từ khóa thay đổi cùng một phiên bản app mới.

### Có cần phiên bản mới để test icon không?

Có, nếu icon chưa có trong app của bạn: icon được test phải nằm trong binary của phiên bản đang phát hành. Với ảnh chụp hoặc video xem trước, chỉ cần một lượt duyệt.

### Cần bao nhiêu người xem cho một bài test PPO?

Apple không đưa ra mức tối thiểu. Kết quả xuất hiện sau 5 lượt tải đầu tiên, và ước tính thời gian cho biết cần nhắm bao nhiêu lượt hiển thị. Quy tắc riêng của mình: không test dưới 1.000 lượt hiển thị mỗi tháng.

### Có thể chạy nhiều bài test PPO cùng lúc không?

Trang của Apple về product page optimization nói về một bài test mỗi lần. Tài liệu Analytics lại nhắc đến các bài test đồng thời trên những thành phần khác nhau. Với một app nhỏ, chạy một bài test mỗi lần vẫn dễ đọc kết quả nhất.


## Dự án của bạn

[ASO Kit](https://devoria.fr/vi/kits/aso): Phương pháp chọn từ khóa, các mẫu trang sản phẩm và skill dịch trang App Store của bạn sang 30 ngôn ngữ. 1.099.000 ₫.

[iOS & Android Kit](https://devoria.fr/vi/kits/ios): Tạo app iPhone và Android với Claude Code: code khởi đầu từ các app của mình, lộ trình đến tận store và tất cả các kit. 2.799.000 ₫.

[Chẩn đoán: điều gì ngăn bạn có app iPhone](https://devoria.fr/vi/diagnostic): 7 câu hỏi, 60 giây: bạn biết điều gì thật sự cản bạn đăng app iPhone, lộ trình 4 bước và kit phù hợp với bạn.
