Khi sử dụng Firebase Remote Config để triển khai chế độ cài đặt cho một ứng dụng có cơ sở người dùng đang hoạt động, bạn cần đảm bảo rằng bạn thực hiện đúng. Bạn có thể sử dụng thử nghiệm A/B Testing để xác định chính xác nhất những điều sau:
- Cách tốt nhất để triển khai một tính năng nhằm tối ưu hoá trải nghiệm người dùng. Thường thì nhà phát triển ứng dụng chỉ biết được người dùng không thích một tính năng mới hoặc trải nghiệm người dùng mới cập nhật khi điểm xếp hạng ứng dụng của họ trong cửa hàng ứng dụng giảm xuống. A/B Testing có thể giúp đo lường xem người dùng có thích các biến thể mới của tính năng hay không, hoặc họ có thích ứng dụng như hiện tại hay không. Ngoài ra, việc giữ hầu hết người dùng trong một nhóm cơ sở đảm bảo rằng hầu hết cơ sở người dùng của bạn có thể tiếp tục sử dụng ứng dụng mà không gặp phải bất kỳ thay đổi nào về hành vi hoặc giao diện của ứng dụng cho đến khi thử nghiệm kết thúc.
- Cách tốt nhất để tối ưu hoá trải nghiệm người dùng cho một mục tiêu kinh doanh. Đôi khi, bạn triển khai các thay đổi về sản phẩm để tối đa hoá một chỉ số như doanh thu hoặc tỷ lệ giữ chân. Với A/B Testing, bạn đặt mục tiêu kinh doanh và Firebase sẽ thực hiện phân tích thống kê để xác định xem một biến thể có hoạt động hiệu quả hơn mức cơ sở cho mục tiêu bạn đã chọn hay không.
Để thử nghiệm A/B các biến thể tính năng với một đường cơ sở, hãy làm như sau:
- Tạo thử nghiệm.
- Quản lý thử nghiệm.
Tạo thử nghiệm
Thử nghiệm Remote Config cho phép bạn đánh giá nhiều biến thể trên một hoặc nhiều Remote Config thông số.
Xác minh rằng bạn đã bật Google Analytics trong dự án để thử nghiệm có quyền truy cập vào dữ liệu Analytics.
Nếu chưa bật Google Analytics khi tạo dự án, bạn có thể bật tính năng này trong phần
Cài đặt > Thẻ tích hợp của bảng điều khiển Firebase.Trong bảng điều khiển Firebase, hãy chuyển đến DevOps & Engagement (DevOps và mức độ tương tác) > A/B Testing
Nhấp vào Tạo thử nghiệm, rồi chọn Remote Config khi được nhắc chọn dịch vụ mà bạn muốn thử nghiệm.
Trong mục Biến thể, hãy chọn một đường cơ sở và ít nhất một biến thể cho thử nghiệm. Bạn có thể thêm một hoặc nhiều tham số để thử nghiệm. Bạn có thể lặp lại bước này để thêm nhiều thông số vào thử nghiệm.
(không bắt buộc) Để thêm nhiều biến thể vào thử nghiệm, hãy nhấp vào Thêm một biến thể khác.
Thay đổi một hoặc nhiều thông số cho các biến thể cụ thể. Mọi thông số không thay đổi đều giống nhau đối với những người dùng không tham gia thử nghiệm.
Mở rộng Trọng số của biến thể để xem hoặc thay đổi trọng số của biến thể cho thử nghiệm. Theo mặc định, mỗi biến thể sẽ có trọng số như nhau. Xin lưu ý rằng trọng số không đồng đều có thể làm tăng thời gian thu thập dữ liệu và bạn không thể thay đổi trọng số sau khi thử nghiệm bắt đầu.
Xác định tiêu chí Nhắm mục tiêu cho thử nghiệm bằng cách sử dụng Remote Config điều kiện:
Sử dụng lại điều kiện hiện có: Nếu một điều kiện hiện có trong mẫu Remote Config của bạn đã khớp với đối tượng mục tiêu, hãy chọn điều kiện đó trong danh sách.
Xác minh thứ tự đánh giá điều kiện: Đảm bảo rằng các điều kiện trên trang Điều kiện được sắp xếp theo đúng thứ tự ưu tiên. Vì Remote Config đánh giá các điều kiện theo trình tự từ trên xuống dưới, nên(các) điều kiện khác có mức độ ưu tiên cao hơn có thể ngăn người dùng đạt đến điều kiện liên kết với thử nghiệm của bạn.
Tạo điều kiện mới: Nếu không có điều kiện hiện tại nào đáp ứng các yêu cầu nhắm mục tiêu của bạn hoặc nếu bạn muốn sao chép một điều kiện hiện có (ví dụ: nếu bạn không muốn sử dụng một điều kiện mà các thông số khác đang sử dụng), hãy tạo một điều kiện mới bằng cách chọn ứng dụng sử dụng thử nghiệm của bạn. Nếu bạn tạo một điều kiện riêng biệt hoặc trùng lặp cho một thử nghiệm, hãy đảm bảo điều kiện mới có mức độ ưu tiên cao hơn điều kiện hiện có; nếu không, người dùng sẽ khớp với điều kiện hiện có trước và không có người dùng nào tham gia thử nghiệm.
Sau đó, bạn có thể nhắm đến một nhóm nhỏ người dùng cụ thể bằng cách nhấp vào và rồi chọn một hoặc nhiều lựa chọn trong danh sách sau:
- Phiên bản: Một hoặc nhiều phiên bản của ứng dụng
- Số bản dựng: Số bản dựng (Apple) hoặc mã phiên bản (Android) của ứng dụng
- Nền tảng: Một hoặc nhiều nền tảng (iOS, Android hoặc Web) để nhắm đến
- Hệ điều hành: Nhắm đến người dùng ứng dụng web dựa trên hệ điều hành và phiên bản của họ
- Trình duyệt: Nhắm đến người dùng ứng dụng web dựa trên trình duyệt web và phiên bản trình duyệt của họ
- Danh mục thiết bị: Nhắm đến người dùng ứng dụng web dựa trên việc thiết bị của họ là thiết bị di động hay không phải thiết bị di động
- Ngôn ngữ: Một hoặc nhiều ngôn ngữ và ngôn ngữ địa phương được dùng để chọn những người dùng có thể được đưa vào thử nghiệm
- Quốc gia/Khu vực: Ít nhất một quốc gia hoặc khu vực để chọn những người dùng nên được đưa vào thử nghiệm
- Đối tượng người dùng: Analytics đối tượng được dùng để nhắm đến những người dùng có thể được đưa vào thử nghiệm
- Thuộc tính người dùng: Một hoặc nhiều thuộc tính người dùng Analytics để chọn những người dùng có thể được đưa vào thử nghiệm
- Người dùng có tỷ lệ phần trăm ngẫu nhiên: Nhắm đến một tỷ lệ phần trăm người dùng được chọn ngẫu nhiên trong một phạm vi phần trăm xác định
- Phân khúc được nhập: Nhắm đến những người dùng thuộc các phân khúc tuỳ chỉnh được nhập và tải lên dự án của bạn
- Ngày/Giờ: Nhắm đến người dùng dựa trên một khoảng thời gian cụ thể
- Lượt mở lần đầu: Nhắm đến người dùng dựa trên lần đầu tiên họ mở ứng dụng của bạn
- Mã nhận dạng lượt cài đặt: Nhắm đến các thiết bị kiểm thử hoặc phiên bản ứng dụng cụ thể bằng cách sử dụng Mã nhận dạng lượt cài đặt Firebase (FID) của chúng
- Người dùng tồn tại: Nhắm đến tất cả người dùng trên tất cả ứng dụng trong dự án
- Tín hiệu tuỳ chỉnh: Nhắm đến người dùng dựa trên các tín hiệu khoá-giá trị tuỳ chỉnh phía máy khách được truyền trong thời gian chạy
Đặt Mức độ hiển thị: Nhập tỷ lệ phần trăm cơ sở người dùng của ứng dụng khớp với tiêu chí được đặt trong mục Người dùng mục tiêu mà bạn muốn chia đều giữa đường cơ sở và một hoặc nhiều biến thể trong thử nghiệm. Đây có thể là bất kỳ tỷ lệ phần trăm nào trong khoảng từ 0% đến 100%. Người dùng được chỉ định ngẫu nhiên cho từng thử nghiệm, kể cả các thử nghiệm trùng lặp.
Bạn có thể đặt một sự kiện kích hoạt để đảm bảo rằng chỉ dữ liệu của những người dùng đã kích hoạt một sự kiện Analytics nào đó lần đầu tiên được tính vào thử nghiệm của bạn. Xin lưu ý rằng tất cả người dùng khớp với các tham số nhắm mục tiêu của bạn sẽ nhận được các giá trị thử nghiệm Remote Config, nhưng chỉ những người kích hoạt một sự kiện kích hoạt mới được đưa vào kết quả thử nghiệm.
Để đảm bảo thử nghiệm hợp lệ, hãy đảm bảo rằng sự kiện bạn chọn xảy ra sau khi ứng dụng của bạn kích hoạt các giá trị cấu hình đã tìm nạp. Ngoài ra, bạn không thể sử dụng các sự kiện sau vì chúng luôn xảy ra trước khi các giá trị được tìm nạp được kích hoạt:
app_installapp_removeapp_update
Sự kiện Analytics mà bạn chọn làm sự kiện kích hoạt cũng không được dùng làm chỉ số chính (hoặc làm chỉ số bổ sung) trong cùng một thử nghiệm. Thao tác này sẽ kích hoạt lỗi xác thực trong bảng điều khiển của Firebase và ngăn thử nghiệm của bạn khởi chạy.
Đối với Mục tiêu của thử nghiệm, hãy chọn chỉ số chính để theo dõi và thêm mọi chỉ số bổ sung mà bạn muốn theo dõi trong danh sách. Những mục tiêu này bao gồm các mục tiêu tích hợp sẵn (giao dịch mua, doanh thu, mức độ giữ chân, số người dùng không gặp sự cố, v.v.), sự kiện chuyển đổi Analytics và các sự kiện Analytics khác. Sau khi bạn đã hoàn tất, hãy nhấp vào Tiếp theo.
Nhấp vào Lưu để lưu thử nghiệm. Bạn phải xuất bản mẫu để bắt đầu chạy thử nghiệm.
Bạn được phép có tối đa 300 thử nghiệm cho mỗi dự án (bao gồm cả quy trình phát hành công khai), trong đó có thể có tối đa 24 thử nghiệm và quy trình phát hành công khai đang chạy, phần còn lại là các thử nghiệm đã hoàn tất.
Quản lý thử nghiệm
Khi tạo một thử nghiệm bằng Remote Config, bạn có thể bắt đầu thử nghiệm, theo dõi thử nghiệm trong khi thử nghiệm đang chạy và tăng số lượng người dùng được đưa vào thử nghiệm đang chạy.
Khi thử nghiệm kết thúc, bạn có thể ghi lại các chế độ cài đặt mà biến thể hiệu quả nhất đã sử dụng, rồi triển khai các chế độ cài đặt đó cho tất cả người dùng. Hoặc bạn có thể chạy một thử nghiệm khác.
Chỉnh sửa thử nghiệm
- Trong phần DevOps và mức độ gắn bó của trình đơn điều hướng Firebase Play Console, hãy nhấp vào Remote Config.
- Nhấp vào thẻ Thử nghiệm A/B.
- Nhấp vào Đang chạy, rồi nhấp vào một thử nghiệm mà bạn muốn chỉnh sửa.
- Nhấp vào trình đơn theo bối cảnh () rồi nhấp vào Chỉnh sửa thử nghiệm đang chạy.
- Để xác thực rằng ứng dụng của bạn có người dùng sẽ được đưa vào thử nghiệm, hãy mở rộng thông tin chi tiết và kiểm tra xem có số lớn hơn 0% trong phần Nhắm mục tiêu và phân phối hay không (ví dụ: 1% người dùng đáp ứng tiêu chí).
Theo dõi thử nghiệm
Sau khi thử nghiệm chạy được một thời gian, bạn có thể kiểm tra tiến trình và xem kết quả của những người dùng đã tham gia thử nghiệm cho đến thời điểm hiện tại.
- Trong phần DevOps và mức độ gắn bó của trình đơn điều hướng Firebase Play Console, hãy nhấp vào Remote Config.
- Nhấp vào thẻ Thử nghiệm A/B.
Nhấp vào Đang chạy, sau đó nhấp vào hoặc tìm kiếm tiêu đề của thử nghiệm. Trên trang này, bạn có thể xem nhiều số liệu thống kê được quan sát và được mô hình hoá về thử nghiệm đang chạy, bao gồm cả những số liệu sau:
- % chênh lệch so với đường cơ sở: Chỉ số đo lường mức độ cải thiện của một chỉ số cho một biến thể nhất định so với đường cơ sở. Được tính bằng cách so sánh phạm vi giá trị của biến thể với phạm vi giá trị của đường cơ sở.
- Xác suất vượt qua đường cơ sở: Xác suất ước tính rằng một biến thể nhất định sẽ vượt qua đường cơ sở cho chỉ số đã chọn.
- observed_metric trên mỗi người dùng: Dựa trên kết quả thử nghiệm, đây là phạm vi dự đoán mà giá trị chỉ số sẽ nằm trong đó theo thời gian.
- Tổng số observed_metric: Giá trị tích luỹ quan sát được cho đường cơ sở hoặc biến thể. Giá trị này được dùng để đo lường hiệu suất của từng biến thể thử nghiệm và được dùng để tính Mức tăng, Phạm vi giá trị, Xác suất vượt qua đường cơ sở và Xác suất trở thành biến thể hiệu quả nhất. Tuỳ thuộc vào chỉ số được đo lường, cột này có thể được gắn nhãn là "Thời lượng trên mỗi người dùng", "Doanh thu trên mỗi người dùng", "Tỷ lệ giữ chân" hoặc "Tỷ lệ chuyển đổi".
Sau khi thử nghiệm chạy một thời gian (14 ngày đối với Remote Config), dữ liệu trên trang này sẽ cho biết biến thể nào (nếu có) là "biến thể hiệu quả nhất". Một số chỉ số đi kèm với biểu đồ thanh trình bày dữ liệu ở định dạng trực quan.
Triển khai thử nghiệm cho tất cả người dùng
Sau khi thử nghiệm chạy đủ lâu để bạn tìm được "biến thể dẫn đầu" hoặc biến thể có hiệu quả cho chỉ số mục tiêu, bạn có thể phát hành thử nghiệm cho 100% người dùng. Điều này cho phép bạn chọn một biến thể để áp dụng cho tất cả người dùng trong tương lai. Ngay cả khi thử nghiệm của bạn chưa tạo được biến thể có hiệu quả rõ ràng, bạn vẫn có thể chọn phát hành một biến thể cho tất cả người dùng.
- Trong phần DevOps và mức độ gắn bó của trình đơn điều hướng Firebase Play Console, hãy nhấp vào Remote Config.
- Nhấp vào thẻ Thử nghiệm A/B.
- Nhấp vào Đã hoàn tất hoặc Đang chạy, nhấp vào một thử nghiệm mà bạn muốn phát hành cho tất cả người dùng, nhấp vào trình đơn theo bối cảnh () Triển khai biến thể.
- Triển khai thử nghiệm cho tất cả người dùng bằng cách làm như sau:
- Đối với thử nghiệm Remote Config, hãy chọn một biến thể để xác định những giá trị tham số Remote Config cần cập nhật. Tiêu chí nhắm mục tiêu mà bạn xác định khi tạo thử nghiệm sẽ được thêm làm điều kiện mới trong mẫu của bạn, nhằm đảm bảo việc triển khai chỉ ảnh hưởng đến những người dùng mà thử nghiệm nhắm đến. Sau khi nhấp vào Xem trong Cấu hình từ xa để xem các thay đổi, hãy nhấp vào Xuất bản các thay đổi để hoàn tất việc triển khai.
Mở rộng thử nghiệm
Nếu nhận thấy một thử nghiệm không thu hút đủ người dùng để A/B Testing có thể tuyên bố biến thể có hiệu quả, bạn có thể tăng mức phân phối thử nghiệm để tiếp cận tỷ lệ phần trăm lớn hơn trong cơ sở người dùng của ứng dụng.
- Trong phần DevOps và mức độ gắn bó của trình đơn điều hướng Firebase Play Console, hãy nhấp vào Remote Config.
- Nhấp vào thẻ Thử nghiệm A/B.
- Chọn thử nghiệm đang chạy mà bạn muốn chỉnh sửa.
- Trong phần Tổng quan về thử nghiệm, hãy nhấp vào trình đơn theo bối cảnh (), rồi nhấp vào Chỉnh sửa thử nghiệm đang chạy.
- Hộp thoại Nhắm mục tiêu sẽ hiển thị một lựa chọn để tăng tỷ lệ phần trăm người dùng tham gia thử nghiệm đang chạy. Chọn một số lớn hơn tỷ lệ phần trăm hiện tại rồi nhấp vào Xuất bản. Thử nghiệm sẽ được triển khai cho tỷ lệ phần trăm người dùng mà bạn đã chỉ định.
Sao chép thử nghiệm
- Trong phần DevOps và mức độ gắn bó của trình đơn điều hướng Firebase Play Console, hãy nhấp vào Remote Config.
- Nhấp vào thẻ Thử nghiệm A/B.
- Chọn thử nghiệm đang chạy hoặc đã hoàn tất mà bạn muốn dừng.
- Nhấp vào Đã hoàn tất hoặc Đang chạy, di con trỏ lên thử nghiệm của bạn, nhấp vào trình đơn theo bối cảnh (), rồi nhấp vào Sao chép thử nghiệm hoặc Dừng thử nghiệm.
Ngừng thử nghiệm
- Trong phần DevOps và mức độ gắn bó của trình đơn điều hướng Firebase Play Console, hãy nhấp vào Remote Config.
- Nhấp vào thẻ Thử nghiệm A/B.
- Chọn thử nghiệm đang chạy hoặc đã hoàn tất mà bạn muốn dừng.
- Nhấp vào Đã hoàn tất hoặc Đang chạy, di con trỏ lên thử nghiệm của bạn, nhấp vào trình đơn theo bối cảnh (), rồi nhấp vào Dừng thử nghiệm.
Nhận dạng ứng dụng web và duy trì thử nghiệm
Khi người dùng khởi chạy một ứng dụng web bằng Firebase A/B Testing trong trình duyệt lần đầu tiên, một mã nhận dạng lượt cài đặt (FID) Firebase duy nhất sẽ được tạo. FID này được lưu trữ liên tục trong IndexedDB của trình duyệt để xác định phiên bản ứng dụng trên các phiên.
Firebase A/B Testing sử dụng FID để chỉ định người dùng cho các biến thể thử nghiệm và Google Analytics sử dụng FID để tổng hợp sự kiện nhằm đo lường và phân tích hành vi của người dùng trong từng biến thể.
Vì FID được lưu trữ trong IndexedDB, Firebase A/B Testing sẽ coi người dùng là người dùng mới nếu họ truy cập vào ứng dụng của bạn từ một trình duyệt khác hoặc trong cửa sổ ẩn danh, hoặc nếu họ xoá IndexedDB của trình duyệt. Điều này có nghĩa là người dùng có thể được đưa vào các biến thể thử nghiệm khác nhau khi sử dụng các trình duyệt hoặc phiên duyệt web khác nhau.
Nhắm đến người dùng
Bạn có thể nhắm đến những người dùng cần đưa vào thử nghiệm bằng cách sử dụng các tiêu chí nhắm đến người dùng sau đây.
Bảng điều khiển Firebase hỗ trợ các loại quy tắc sau đây. Các tính năng tương đương có trong API REST Remote Config, như được trình bày chi tiết trong tài liệu tham khảo về biểu thức có điều kiện.
| Loại quy tắc | (Các) toán tử | (Các) giá trị | Lưu ý |
| Ứng dụng | == | Chọn trong danh sách Mã ứng dụng cho các ứng dụng được liên kết với dự án Firebase của bạn. | Khi thêm một ứng dụng vào Firebase, bạn sẽ nhập mã nhận dạng gói hoặc tên gói Android để xác định một thuộc tính được hiển thị dưới dạng Mã ứng dụng trong các quy tắc Remote Config.
Sử dụng thuộc tính này như sau:
|
| Phiên bản ứng dụng |
Đối với giá trị chuỗi: khớp chính xác, chứa, không chứa, chứa biểu thức chính quy Đối với giá trị số: <, <=, =, !=, >, >= |
Chỉ định(các) phiên bản ứng dụng mà bạn muốn nhắm đến. Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc Mã ứng dụng để chọn một ứng dụng Android/Apple được liên kết với dự án Firebase của bạn. |
Đối với các nền tảng của Apple: Sử dụng CFBundleShortVersionString của ứng dụng. Lưu ý: Đảm bảo rằng ứng dụng Apple của bạn đang sử dụng SDK của Firebase cho các nền tảng Apple phiên bản 6.24.0 trở lên, vì CFBundleShortVersionString không được gửi trong các phiên bản trước đó (xem ghi chú phát hành). Đối với Android: Sử dụng versionName của ứng dụng. Việc so sánh chuỗi cho quy tắc này có phân biệt chữ hoa chữ thường. Khi sử dụng toán tử khớp chính xác, chứa, không chứa hoặc chứa biểu thức chính quy, bạn có thể chọn nhiều giá trị. Khi sử dụng toán tử chứa biểu thức chính quy, bạn có thể tạo biểu thức chính quy ở định dạng RE2. Biểu thức chính quy của bạn có thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các điểm neo ^ và $ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu. |
| Số bản dựng |
Đối với giá trị chuỗi: khớp chính xác, chứa, không chứa, biểu thức chính quy Đối với giá trị số: =, ≠, >, ≥, <, ≤ |
Chỉ định(các) bản dựng mà bạn muốn nhắm đến cho ứng dụng của mình. Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc Mã ứng dụng để chọn một ứng dụng Apple hoặc ứng dụng Android được liên kết với dự án Firebase của bạn. |
Toán tử này chỉ dành cho ứng dụng Apple và Android. Giá trị này tương ứng với CFBundleVersion của ứng dụng cho Apple và versionCode cho Android. Các chuỗi so sánh cho quy tắc này có phân biệt chữ hoa chữ thường. Khi sử dụng toán tử khớp chính xác, chứa, không chứa hoặc chứa biểu thức chính quy, bạn có thể chọn nhiều giá trị. Khi sử dụng toán tử chứa biểu thức chính quy, bạn có thể tạo biểu thức chính quy ở định dạng RE2. Biểu thức chính quy của bạn có thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các điểm neo ^ và $ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu. |
| Nền tảng | == | iOS Android Web |
|
| Hệ điều hành | == |
Chỉ định(các) hệ điều hành để nhắm đến. Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc Mã ứng dụng để chọn một Ứng dụng web được liên kết với dự án Firebase của bạn. |
Quy tắc này đánh giá thành true cho một phiên bản ứng dụng Web nhất định nếu hệ điều hành và phiên bản của hệ điều hành đó khớp với một giá trị mục tiêu trong danh sách được chỉ định.
|
| Trình duyệt | == |
Chỉ định(các) trình duyệt để nhắm đến. Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc Mã ứng dụng để chọn một Ứng dụng web được liên kết với dự án Firebase của bạn. |
Quy tắc này đánh giá thành true cho một phiên bản ứng dụng Web nhất định nếu trình duyệt và phiên bản của trình duyệt đó khớp với một giá trị mục tiêu trong danh sách được chỉ định.
|
| Danh mục thiết bị | là, không phải là | di động | Quy tắc này đánh giá xem thiết bị truy cập vào ứng dụng web của bạn là thiết bị di động hay không phải thiết bị di động (máy tính hoặc bảng điều khiển). Loại quy tắc này chỉ dành cho ứng dụng web. |
| Ngôn ngữ | nằm trong | Chọn một hoặc nhiều ngôn ngữ. | Quy tắc này đánh giá thành true cho một phiên bản ứng dụng nhất định nếu phiên bản ứng dụng đó được cài đặt trên một thiết bị sử dụng một trong các ngôn ngữ được liệt kê.
|
| Quốc gia/Vùng | nằm trong | Chọn một hoặc nhiều khu vực hoặc quốc gia. | Quy tắc này đánh giá thành true cho một phiên bản ứng dụng nhất định nếu phiên bản đó ở bất kỳ khu vực hoặc quốc gia nào trong danh sách. Mã quốc gia của thiết bị được xác định bằng địa chỉ IP của thiết bị trong yêu cầu hoặc mã quốc gia do Firebase Analytics xác định (nếu dữ liệu Analytics được chia sẻ với Firebase).
|
| Đối tượng người dùng | Có ít nhất một | Chọn một hoặc nhiều đối tượng trong danh sách đối tượng Google Analytics mà bạn đã thiết lập cho dự án của mình. | Quy tắc này yêu cầu phải có quy tắc Mã ứng dụng để chọn một ứng dụng được liên kết với dự án Firebase của bạn.
Lưu ý: Vì nhiều đối tượng Analytics được xác định bằng sự kiện hoặc thuộc tính người dùng (có thể dựa trên hành động của người dùng ứng dụng), nên có thể mất một khoảng thời gian để quy tắc Người dùng thuộc đối tượng có hiệu lực cho một phiên bản ứng dụng nhất định. Điều này có nghĩa là ngay cả khi người dùng đủ điều kiện về mặt kỹ thuật để tham gia một đối tượng, nếu Analytics chưa thêm người dùng vào đối tượng khi |
| Thuộc tính người dùng |
Đối với các giá trị chuỗi:
chứa, không chứa, khớp chính xác, chứa biểu thức chính quy Đối với các giá trị số: =, ≠, >, ≥, <, ≤ Lưu ý: Trên ứng dụng khách, bạn chỉ có thể đặt các giá trị chuỗi cho thuộc tính người dùng. Đối với các điều kiện sử dụng toán tử số, Remote Config sẽ chuyển đổi giá trị của thuộc tính người dùng tương ứng thành số nguyên/số thực. |
Chọn trong danh sách các thuộc tính người dùng Google Analytics hiện có. | Để tìm hiểu cách sử dụng thuộc tính người dùng để tuỳ chỉnh ứng dụng cho các phân khúc rất cụ thể của cơ sở người dùng, hãy xem
Remote Config và thuộc tính người dùng.
Để tìm hiểu thêm về thuộc tính người dùng, hãy xem các hướng dẫn sau: Khi sử dụng toán tử khớp chính xác, chứa, không chứa hoặc chứa biểu thức chính quy, bạn có thể chọn nhiều giá trị. Khi sử dụng toán tử chứa biểu thức chính quy, bạn có thể tạo biểu thức chính quy ở định dạng RE2. Biểu thức chính quy của bạn có thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các điểm neo ^ và $ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu. Lưu ý: Thuộc tính người dùng được thu thập tự động không có sẵn khi bạn tạo điều kiện Remote Config. |
| Người dùng trong tỷ lệ phần trăm ngẫu nhiên | Thanh trượt (trong bảng điều khiển của Firebase. API REST sử dụng các toán tử <=, > và between).
|
0-100 |
Sử dụng trường này để áp dụng thay đổi cho một mẫu ngẫu nhiên của các phiên bản ứng dụng (với kích thước mẫu nhỏ đến mức 0,0001%), bằng cách sử dụng tiện ích thanh trượt để phân đoạn người dùng (các phiên bản ứng dụng) được xáo trộn ngẫu nhiên thành các nhóm. Mỗi phiên bản ứng dụng được liên kết liên tục với một số nguyên hoặc số thập phân ngẫu nhiên, theo một giá trị ban đầu được xác định trong dự án đó. Một quy tắc sẽ sử dụng khoá mặc định (hiển thị là Chỉnh sửa giá trị ban đầu trong bảng điều khiển Firebase) trừ phi bạn sửa đổi giá trị ban đầu. Bạn có thể trả một quy tắc về trạng thái sử dụng khoá mặc định bằng cách xoá trường Seed. Để giải quyết nhất quán các phiên bản ứng dụng giống nhau trong phạm vi phần trăm nhất định, hãy sử dụng cùng một giá trị ban đầu trên các điều kiện. Hoặc chọn một nhóm mới gồm các phiên bản ứng dụng được chỉ định ngẫu nhiên cho một phạm vi tỷ lệ phần trăm nhất định bằng cách chỉ định một giá trị ban đầu mới. Ví dụ: để tạo 2 điều kiện có liên quan và mỗi điều kiện áp dụng cho 5% người dùng không trùng lặp của một ứng dụng, bạn có thể định cấu hình một điều kiện để so khớp tỷ lệ phần trăm từ 0% đến 5% và định cấu hình một điều kiện khác để so khớp phạm vi từ 5% đến 10%. Để cho phép một số người dùng xuất hiện ngẫu nhiên trong cả hai nhóm, hãy sử dụng các giá trị ban đầu khác nhau cho các quy tắc trong mỗi điều kiện. |
| Phân khúc được nhập | nằm trong | Chọn một hoặc nhiều phân khúc được nhập. | Quy tắc này yêu cầu bạn thiết lập phân khúc tuỳ chỉnh được nhập. |
| Ngày/giờ | Trước, Sau | Ngày và giờ được chỉ định, có thể là theo múi giờ của thiết bị hoặc một múi giờ được chỉ định, chẳng hạn như "(GMT+11) Giờ Sydney". | So sánh thời gian hiện tại với thời gian tìm nạp thiết bị. |
| Mở lần đầu | Trước, Sau | Nhắm đến người dùng dựa trên lần đầu tiên họ mở ứng dụng của bạn:
|
Bạn có thể nhắm đến người dùng theo lượt mở lần đầu sau khi chọn một ứng dụng Android, iOS hoặc ứng dụng Web. Yêu cầu các SDK sau:
Analytics cũng phải được bật trên ứng dụng trong sự kiện mở lần đầu. |
| Mã nhận dạng lượt cài đặt | nằm trong | Chỉ định một hoặc nhiều Mã lượt cài đặt (tối đa 50) để nhắm đến. | Quy tắc này đánh giá thành true cho một lượt cài đặt nhất định nếu mã nhận dạng của lượt cài đặt đó nằm trong danh sách các giá trị được phân tách bằng dấu phẩy.
Để tìm hiểu cách lấy mã nhận dạng lượt cài đặt, hãy xem phần Truy xuất giá trị nhận dạng ứng dụng. |
| Người dùng tồn tại | (không có toán tử) | Nhắm đến tất cả người dùng của tất cả ứng dụng trong dự án hiện tại. |
Sử dụng quy tắc điều kiện này để so khớp tất cả người dùng trong dự án, bất kể ứng dụng hoặc nền tảng nào. |
| Tín hiệu tuỳ chỉnh |
Đối với giá trị chuỗi:
chứa, không chứa, khớp chính xác, chứa biểu thức chính quy Đối với giá trị số: =, ≠, >, ≥, <, ≤ Đối với giá trị phiên bản: =, ≠, >, ≥, <, ≤ |
Việc so sánh chuỗi cho quy tắc này có phân biệt chữ hoa chữ thường. Khi sử dụng toán tử khớp chính xác, chứa, không chứa hoặc chứa biểu thức chính quy, bạn có thể chọn nhiều giá trị. Khi sử dụng toán tử biểu thức chính quy chứa, bạn có thể tạo biểu thức chính quy ở định dạng RE2. Biểu thức chính quy của bạn có thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các điểm neo ^ và $ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu. Các loại dữ liệu sau đây được hỗ trợ cho môi trường ứng dụng:
Chữ số đại diện cho(các) số phiên bản cần khớp (ví dụ: 2.1.0). |
Để biết thêm thông tin về các điều kiện tín hiệu tuỳ chỉnh và biểu thức có điều kiện cần sử dụng, hãy xem bài viết Điều kiện tín hiệu tuỳ chỉnh và Các phần tử được dùng để tạo điều kiện. |
Chỉ số A/B Testing
Khi tạo thử nghiệm, bạn sẽ chọn một chỉ số chính (hay mục tiêu) được dùng để xác định biến thể hiệu quả nhất. Bạn cũng nên theo dõi các chỉ số khác để hiểu rõ hơn về hiệu suất của từng biến thể thử nghiệm và theo dõi các xu hướng quan trọng có thể khác nhau đối với từng biến thể, chẳng hạn như tỷ lệ giữ chân người dùng, độ ổn định của ứng dụng và doanh thu từ giao dịch mua hàng trong ứng dụng. Bạn có thể theo dõi tối đa 5 chỉ số không phải là mục tiêu trong thử nghiệm của mình.
Ví dụ: giả sử bạn đang sử dụng Remote Config để chạy hai quy trình chơi trò chơi khác nhau trong ứng dụng và muốn tối ưu hoá cho giao dịch mua hàng trong ứng dụng và doanh thu từ quảng cáo, nhưng bạn cũng muốn theo dõi độ ổn định và khả năng giữ chân người dùng của từng biến thể. Trong trường hợp này, bạn có thể cân nhắc chọn Tổng doanh thu ước tính làm chỉ số mục tiêu vì chỉ số này bao gồm doanh thu từ giao dịch mua hàng trong ứng dụng và doanh thu từ quảng cáo. Sau đó, đối với Các chỉ số khác cần theo dõi, bạn có thể thêm các chỉ số sau:
- Để theo dõi tỷ lệ giữ chân người dùng hằng ngày và hằng tuần, hãy thêm Tỷ lệ giữ chân (2-3 ngày) và Tỷ lệ giữ chân (4-7 ngày).
- Để so sánh độ ổn định giữa hai luồng trò chơi, hãy thêm Số người dùng không gặp sự cố.
- Để xem thông tin chi tiết hơn về từng loại doanh thu, hãy thêm Doanh thu từ giao dịch mua và Doanh thu ước tính từ quảng cáo.
Các bảng sau đây cung cấp thông tin chi tiết về cách tính toán chỉ số mục tiêu và các chỉ số khác.
Chỉ số Mục tiêu
| Chỉ số | Mô tả |
|---|---|
| Số người dùng không gặp sự cố | Tỷ lệ phần trăm người dùng chưa gặp phải lỗi trong ứng dụng của bạn mà Firebase Crashlytics SDK đã phát hiện được trong quá trình thử nghiệm.
Lưu ý: Firebase Crashlytics không được hỗ trợ cho các ứng dụng web. |
| Doanh thu ước tính từ quảng cáo | Thu nhập ước tính từ quảng cáo. |
| Tổng doanh thu ước tính | Giá trị kết hợp của giao dịch mua và doanh thu ước tính từ quảng cáo. |
| Doanh thu từ giao dịch mua hàng | Giá trị kết hợp cho tất cả sự kiện purchase và in_app_purchase.
|
| Tỷ lệ giữ chân (1 ngày) | Số người dùng quay lại ứng dụng của bạn hằng ngày. |
| Tỷ lệ giữ chân (2-3 ngày) | Số người dùng quay lại ứng dụng của bạn trong vòng 2 đến 3 ngày. |
| Tỷ lệ giữ chân người dùng (4 – 7 ngày) | Số người dùng quay lại ứng dụng của bạn trong vòng 4 đến 7 ngày. |
| Tỷ lệ giữ chân người dùng (8 đến 14 ngày) | Số người dùng quay lại ứng dụng của bạn trong vòng 8 đến 14 ngày. |
| Tỷ lệ giữ chân (hơn 15 ngày) | Số người dùng quay lại ứng dụng của bạn sau 15 ngày hoặc lâu hơn kể từ lần gần nhất họ sử dụng ứng dụng. |
| first_open | Sự kiện Analytics được kích hoạt khi người dùng mở ứng dụng lần đầu tiên sau khi cài đặt hoặc cài đặt lại ứng dụng đó. Được dùng trong một phễu chuyển đổi. |
Chỉ số khác
| Chỉ số | Mô tả |
|---|---|
| notification_dismiss | Sự kiện Analytics kích hoạt khi một thông báo do Notifications composer gửi bị loại bỏ (chỉ dành cho Android). |
| notification_receive | Một sự kiện Analytics kích hoạt khi thiết bị nhận được thông báo do Trình soạn thảo thông báo gửi trong lúc ứng dụng đang chạy trong nền (chỉ dành cho Android). |
| os_update | Một sự kiện Analytics theo dõi thời điểm hệ điều hành của thiết bị được cập nhật lên phiên bản mới.Để tìm hiểu thêm, hãy xem bài viết Sự kiện được thu thập tự động.
Chỉ số này không được hỗ trợ cho các ứng dụng web. |
| screen_view | Một sự kiện Analytics theo dõi những màn hình được xem trong ứng dụng của bạn. Để tìm hiểu thêm, hãy xem phần Theo dõi lượt xem màn hình. |
| session_start | Một sự kiện Analytics giúp tính số phiên người dùng trong ứng dụng của bạn. Để tìm hiểu thêm, hãy xem bài viết Sự kiện được thu thập tự động. |
Xuất dữ liệu sang BigQuery
Ngoài việc xem dữ liệu thử nghiệm A/B Testing trong bảng điều khiển Firebase, bạn có thể kiểm tra và phân tích dữ liệu thử nghiệm trong BigQuery. Mặc dù A/B Testing không có bảng BigQuery riêng biệt, nhưng thành viên của thử nghiệm và biến thể được lưu trữ trên mọi sự kiện Google Analytics trong bảng sự kiện Analytics.
Các thuộc tính người dùng chứa thông tin về thử nghiệm có dạng userProperty.key like "firebase_exp_%" hoặc userProperty.key =
"firebase_exp_01", trong đó 01 là mã thử nghiệm và userProperty.value.string_value chứa chỉ mục (bắt đầu từ 0) của biến thể thử nghiệm.
Bạn có thể sử dụng các thuộc tính người dùng thử nghiệm này để trích xuất dữ liệu thử nghiệm. Điều này giúp bạn có thể phân tích kết quả thử nghiệm theo nhiều cách và xác minh độc lập kết quả của A/B Testing.
Để bắt đầu, hãy hoàn tất các bước sau như mô tả trong hướng dẫn này:
- Bật tính năng xuất BigQuery cho Google Analytics trong bảng điều khiển Firebase
- Truy cập vào dữ liệu A/B Testing bằng BigQuery
- Khám phá các truy vấn mẫu
Bật tính năng xuất BigQuery cho Google Analytics trong bảng điều khiển của Firebase
Nếu đang dùng gói Spark, bạn có thể sử dụng BigQueryhộp cát để truy cập BigQuery mà không mất phí, tuỳ thuộc vào hạn mức Hộp cát. Hãy xem phần Định giá và hộp cát BigQuery để biết thêm thông tin.
Trước tiên, hãy đảm bảo rằng bạn đang xuất dữ liệu Analytics sang BigQuery:
Trong bảng điều khiển Firebase, hãy chuyển đến thẻ
Cài đặt > Tích hợp.Trong thẻ BigQuery, hãy nhấp vào Quản lý rồi xác minh rằng dự án của bạn đang xuất dữ liệu Analytics sang BigQuery.
Nếu thẻ này có nút Liên kết, thì bạn cần thiết lập chế độ xuất (chuyển sang bước tiếp theo).
Nếu bạn cần thiết lập lệnh xuất dữ liệu:
Xem phần Giới thiệu về việc liên kết Firebase với BigQuery, rồi nhấp vào Tiếp theo.
Trong mục Định cấu hình chế độ tích hợp, hãy bật Google Analytics.
Chọn một vùng và chọn chế độ cài đặt xuất.
Nhấp vào Liên kết với BigQuery.
Tuỳ thuộc vào cách bạn chọn xuất dữ liệu, các bảng có thể mất đến một ngày để xuất hiện. Để biết thêm thông tin về cách xuất dữ liệu dự án sang BigQuery, hãy xem phần Xuất dữ liệu dự án sang BigQuery.
Truy cập vào dữ liệu A/B Testing trong BigQuery
Trước khi truy vấn dữ liệu cho một thử nghiệm cụ thể, bạn nên lấy một số hoặc tất cả các thông tin sau để sử dụng trong truy vấn:
- Mã thử nghiệm: Bạn có thể lấy mã này từ URL của trang Tổng quan về thử nghiệm. Ví dụ: nếu URL của bạn có dạng
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, thì mã thử nghiệm là 25. - Mã nhận dạng Google Analytics: Đây là mã nhận dạng Google Analytics gồm 9 chữ số. Bạn có thể tìm thấy thông tin này trong Google Analytics; thông tin này cũng xuất hiện trong BigQuery khi bạn mở rộng tên dự án để cho thấy tên của bảng sự kiện Google Analytics (
project_name.analytics_000000000.events). - Ngày thử nghiệm: Để tạo một truy vấn nhanh hơn và hiệu quả hơn, bạn nên giới hạn các truy vấn của mình trong các phân vùng bảng sự kiện hằng ngày Google Analytics có chứa dữ liệu thử nghiệm của bạn – các bảng được xác định bằng hậu tố
YYYYMMDD. Vì vậy, nếu thử nghiệm của bạn chạy từ ngày 2 tháng 2 năm 2024 đến ngày 2 tháng 5 năm 2024, bạn sẽ chỉ định_TABLE_SUFFIX between '20240202' AND '20240502'. Để xem ví dụ, hãy xem phần Chọn giá trị của một thử nghiệm cụ thể. - Tên sự kiện: Thông thường, tên sự kiện sẽ tương ứng với chỉ số mục tiêu mà bạn đã định cấu hình trong thử nghiệm. Ví dụ:
in_app_purchasesự kiện,ad_impressionhoặcuser_retentionsự kiện.
Sau khi bạn thu thập thông tin cần thiết để tạo truy vấn:
- Trong bảng điều khiển Google Cloud, hãy chuyển đến BigQuery.
- Chọn dự án của bạn, rồi chọn Tạo truy vấn SQL.
- Thêm truy vấn của bạn. Để biết các truy vấn mẫu cần chạy, hãy xem phần Khám phá các truy vấn mẫu.
- Nhấp vào Chạy.
Truy vấn dữ liệu thử nghiệm bằng truy vấn được tạo tự động của bảng điều khiển Firebase
Nếu bạn đang sử dụng gói Blaze, trang Tổng quan về thử nghiệm sẽ cung cấp một truy vấn mẫu trả về tên thử nghiệm, các biến thể, tên sự kiện và số lượng sự kiện cho thử nghiệm mà bạn đang xem.
Cách lấy và chạy truy vấn được tạo tự động:
- Trong bảng điều khiển Firebase, hãy chuyển đến phần DevOps và mức độ tương tác > Thử nghiệm A/B.
- Chọn thử nghiệm A/B Testing mà bạn muốn truy vấn để mở Tổng quan về thử nghiệm.
- Trong trình đơn Tuỳ chọn, bên dưới mục Tích hợp BigQuery, hãy chọn Truy vấn dữ liệu thử nghiệm. Thao tác này sẽ mở dự án của bạn trong BigQuery trong bảng điều khiển Google Cloud và cung cấp một truy vấn cơ bản mà bạn có thể dùng để truy vấn dữ liệu thử nghiệm.
Ví dụ sau đây cho thấy một truy vấn được tạo cho một thử nghiệm có 3 biến thể (bao gồm cả đường cơ sở) có tên là "Thử nghiệm chào đón mùa đông". Thao tác này trả về tên thử nghiệm đang hoạt động, tên biến thể, sự kiện riêng biệt và số lượng sự kiện cho từng sự kiện. Xin lưu ý rằng trình tạo truy vấn không chỉ định tên dự án của bạn trong tên bảng, vì trình tạo này sẽ mở trực tiếp trong dự án của bạn.
/*
This query is auto-generated by Firebase A/B Testing for your
experiment "Winter welcome experiment".
It demonstrates how you can get event counts for all Analytics
events logged by each variant of this experiment's population.
*/
SELECT
'Winter welcome experiment' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'Welcome message (1)'
WHEN '2' THEN 'Welcome message (2)'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_000000000.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
Để xem thêm ví dụ về truy vấn, hãy chuyển đến phần Khám phá các truy vấn mẫu.
Khám phá các cụm từ tìm kiếm mẫu
Các phần sau đây đưa ra ví dụ về những truy vấn mà bạn có thể dùng để trích xuất dữ liệu thử nghiệm A/B Testing từ các bảng sự kiện Google Analytics.
Trích xuất các giá trị độ lệch chuẩn của giao dịch mua và thử nghiệm từ tất cả các thử nghiệm
Bạn có thể sử dụng dữ liệu kết quả thử nghiệm để xác minh độc lập Firebase A/B Testing kết quả. Câu lệnh SQL BigQuery sau đây sẽ trích xuất các biến thể thử nghiệm, số lượng người dùng riêng biệt trong mỗi biến thể và tổng doanh thu từ các sự kiện in_app_purchase và ecommerce_purchase, cũng như độ lệch chuẩn cho tất cả các thử nghiệm trong phạm vi thời gian được chỉ định là ngày bắt đầu và ngày kết thúc _TABLE_SUFFIX. Bạn có thể sử dụng dữ liệu thu được từ truy vấn này với một trình tạo mức độ quan trọng về mặt thống kê cho các kiểm định t một phía để xác minh rằng kết quả mà Firebase cung cấp khớp với kết quả phân tích của riêng bạn.
Để biết thêm thông tin về cách A/B Testing tính toán suy luận, hãy xem phần Diễn giải kết quả kiểm thử.
/*
This query returns all experiment variants, number of unique users,
the average USD spent per user, and the standard deviation for all
experiments within the date range specified for _TABLE_SUFFIX.
*/
SELECT
experimentNumber,
experimentVariant,
COUNT(*) AS unique_users,
AVG(usd_value) AS usd_value_per_user,
STDDEV(usd_value) AS std_dev
FROM
(
SELECT
userProperty.key AS experimentNumber,
userProperty.value.string_value AS experimentVariant,
user_pseudo_id,
SUM(
CASE
WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
THEN event_value_in_usd
ELSE 0
END) AS usd_value
FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
CROSS JOIN UNNEST(user_properties) AS userProperty
WHERE
userProperty.key LIKE 'firebase_exp_%'
AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
GROUP BY 1, 2, 3
)
GROUP BY 1, 2
ORDER BY 1, 2;
Chọn các giá trị của một thử nghiệm cụ thể
Truy vấn ví dụ sau đây minh hoạ cách lấy dữ liệu cho một thử nghiệm cụ thể trong BigQuery. Truy vấn mẫu này trả về tên thử nghiệm, tên biến thể (bao gồm cả Cơ sở), tên sự kiện và số lượng sự kiện.
SELECT
'EXPERIMENT_NAME' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'VARIANT_1_NAME'
WHEN '2' THEN 'VARIANT_2_NAME'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_ANALYTICS_PROPERTY.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
GROUP BY
experimentVariant, eventName