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 cách. 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ường, nhà phát triển ứng dụng không biết rằng 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 cho đến khi điểm xếp hạng của ứng dụng 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 liệu 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 nhóm cơ sở đảm bảo rằng hầu hết cơ sở người dùng 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 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 người dùng. 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 giá trị 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 tham số.
Xác minh rằng Google Analytics đã được bật trong dự án của bạ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 thẻ
Cài đặt > 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 phầ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 về dịch vụ mà bạn muốn thử nghiệm.
Trong mục Biến thể, hãy chọn một giá trị 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 tham số vào thử nghiệm của mình.
(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 biến thể khác.
Thay đổi một hoặc nhiều tham 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 mục Trọng số biến thể để xem hoặc thay đổi trọng số 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 của bạn 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 đã khớp với đối tượng mục tiêu của bạn, 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 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 tuần 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 đủ số người dùng đáp ứng điều kiện liên quan đến 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 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ụ: để tránh khoá một điều kiện được các tham số khác chia sẻ), 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 trước tiên. Nếu tham số bạn đang thử nghiệm cũng sử dụng điều kiện hiện có (hoặc một điều kiện trùng lặp khác), hãy đảm bảo điều kiện thử nghiệm mới được đặt phía trên điều kiện hiện có trên thẻ Điều kiện (để điều kiện này có mức độ ưu tiên đánh giá cao hơn); nếu không, người dùng sẽ khớp với điều kiện hiện có trước và sẽ không tham gia thử nghiệm.
Sau đó, bạn có thể nhắm đến một nhóm 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 ứng dụng của bạn
- 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 mục tiêu
- 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 hệ điều hành 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ữ được dùng để chọn 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 người dùng nên được đưa vào thử nghiệm
- Đối tượng người dùng: Analytics đối tượng 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 người dùng có thể được đưa vào thử nghiệm
- Người dùng theo 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 vị xác định
- Phân khúc đã nhập: Nhắm đến những người dùng thuộc phân khúc tuỳ chỉnh đã nhập được 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 khung thời gian và ngày cụ thể
- Lần mở đầu tiên: 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ã cài đặt: Nhắm đến các thiết bị kiểm thử hoặc phiên bản ứng dụng khách cụ thể bằng Mã cài đặt Firebase (FID)
- Người dùng tồn tại: Nhắm đến tất cả người dùng trên mọi ứng dụng trong dự án
- Tín hiệu tuỳ chỉnh: Nhắm đến cơ sở 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í đặt trong phần Người dùng mục tiêu mà bạn muốn chia đều giữa phiên bản 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 từ 0% đến 100%. Người dùng được chỉ định ngẫu nhiên cho từng thử nghiệm, kể cả thử nghiệm trùng lặp.
Nếu muốn, 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 đó mới đượ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 giá trị thử nghiệm Remote Config, nhưng chỉ những người dùng kích hoạ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 chắc chắn rằng sự kiện bạn chọn xảy ra sau khi ứng dụng 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. Việc này sẽ gây ra 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ố khác mà bạn muốn theo dõi trong danh sách. Các mục tiêu này bao gồm mục tiêu tích hợp sẵn (giao dịch mua, doanh thu, tỷ lệ giữ chân, 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ả các lần phát hành), trong đó có thể có tối đa 24 thử nghiệm và lần phát hành đang chạy, còn lại là các thử nghiệm đã hoàn tất.
Quản lý thử nghiệm
Khi tạo 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 tham gia thử nghiệm đang chạy.
Khi thử nghiệm hoàn tất, bạn có thể ghi lại các chế độ cài đặt mà biến thể chiến thắng sử dụng, sau đó 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 & Engagement (DevOps và Mức độ tương tác) của trình đơn điều hướng trong bảng điều khiển Firebase, 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 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ố nào 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 của thử nghiệm và xem kết quả của những người dùng đã tham gia thử nghiệm cho đến nay.
- Trong phần DevOps & Engagement (DevOps và Mức độ tương tác) của trình đơn điều hướng trong bảng điều khiển Firebase, 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 hoặc tì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:
- % chênh lệch so với giá trị cơ sở: Thước đo mức độ cải thiện của một chỉ số cho một biến thể nhất định so với giá trị 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 giá trị cơ sở.
- Xác suất vượt qua đường cơ sở: Xác suất ước tính mà một biến thể nhất định vượt qua đường cơ sở cho chỉ số đã chọn.
- observed_metric 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ị của chỉ số sẽ rơi vào theo thời gian.
- Tổng observed_metric: Giá trị tích luỹ ghi nhận được cho giá trị 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, đồng thời được dùng để tính Mức cải thiện, 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ể tốt nhất. Tuỳ thuộc vào chỉ số được đo lường, cột này có thể được gắn nhãn "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 được 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ể dẫn đầu". Một số chỉ số đo lường đ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 có đượ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ể phát hành một biến thể cho tất cả người dùng.
- Trong phần DevOps & Engagement (DevOps và Mức độ tương tác) của trình đơn điều hướng trong bảng điều khiển Firebase, 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 xác định biến thể hiệu quả nhất, bạn có thể tăng mức phân phối của 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 độ tương tác của trình đơn điều hướng trong bảng điều khiển Firebase, 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 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 độ tương tác của trình đơn điều hướng trong bảng điều khiển Firebase, 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 chuột qua 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.
Dừng thử nghiệm
- Trong phần DevOps và Mức độ tương tác của trình đơn điều hướng trong bảng điều khiển Firebase, 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ỏ qua 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 cài đặt Firebase (FID) 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 mỗi biến thể.
Vì FID được lưu trữ trong IndexedDB, nên 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 mục tiêu theo người dùng
Bạn có thể nhắm đến những người dùng sẽ tham gia thử nghiệm bằng cách sử dụng các tiêu chí nhắm mục tiêu 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) nhà mạng | (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 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 của 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 liên kết với dự án Firebase của bạn. |
Đối với nền tảng của Apple: Sử dụng CFBundleShortVersionString của ứng dụng. Lưu ý: Đảm bảo ứng dụng Apple của bạn đang sử dụng SDK nền tảng Apple của Firebase phiên bản 6.24.0 trở lên, vì CFBundleShortVersionString không được gửi trong các phiên bản cũ hơn (xem ghi chú phát hành). Đối với Android: Sử dụng versionName của ứng dụng. Lưu ý: Các toán tử so sánh số ( Phép 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 tất cả 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 ký tự neo ^ và $ để so khớp 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 của ứng dụng để nhắm mục tiêu. 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 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 đối với Apple và versionCode đối với Android. Phép 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 tất cả 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 ký tự neo ^ và $ để so khớp 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 cầ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 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 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 cần nhắm mục tiêu. 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 sẽ đá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 máy chơi trò chơi). 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 đó nằm ở 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).
|
| (Các) đối tượng người dùng | Bao gồm ít nhất một | Chọn một hoặc nhiều đối tượng trong danh sách Google Analytics đối tượng mà bạn đã thiết lập cho dự án của mình. | Quy tắc này yêu cầu quy tắc Mã ứng dụng để chọn một ứng dụng 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 theo 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 chút thời gian để quy tắc Người dùng trong đối tượng có hiệu lực đối với 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 cho 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 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ố: =, ≠, >, ≥, <, ≤ Lưu ý: Trên ứng dụng, bạn chỉ có thể đặt 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 có sẵn. | Để tìm hiểu cách sử dụng thuộc tính người dùng nhằm tuỳ chỉnh ứng dụng cho các phân khúc rất cụ thể trong cơ sở người dùng, hãy xem bài viết 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 tất cả 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 ký tự neo ^ và $ để so khớp phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu. Lưu ý: Bạn không thể sử dụng các thuộc tính người dùng được thu thập tự động khi tạo điều kiện Remote Config. |
| Người dùng theo 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 gồm các phiên bản ứng dụng (với kích thước mẫu nhỏ đến mức 0,0001%), sử dụng tiện ích thanh trượt để phân đoạn người dùng được xáo trộn ngẫu nhiên (phiên bản ứng dụng) 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 hạt giống được xác định trong dự án đó. Một quy tắc sẽ sử dụng khoá mặc định (hiển thị dưới dạng Chỉnh sửa hạt giống trong bảng điều khiển Firebase) trừ phi bạn sửa đổi giá trị của hạt giống. Bạn có thể đặt lại một quy tắc để sử dụng khoá mặc định bằng cách xoá trường Seed (Hạt giống). Để giải quyết nhất quán các phiên bản ứng dụng giống nhau trong phạm vi tỷ lệ phần trăm nhất định, hãy sử dụng cùng một giá trị hạt giống trên các điều kiện. Hoặc chọn một nhóm thực thể ứng dụng mới đượ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 hạt giống mới. Ví dụ: để tạo hai điều kiện có liên quan, 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 để khớp với tỷ lệ phần trăm từ 0% đến 5% và định cấu hình một điều kiện khác để khớp với 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ị hạt giống khác nhau cho các quy tắc trong mỗi điều kiện. |
| Phân khúc đã nhập | nằm trong | Chọn một hoặc nhiều phân khúc đã nhập. | Quy tắc này yêu cầu bạn phải 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, theo múi giờ của thiết bị hoặc 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 của 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 mục tiêu người dùng theo lần mở đầu tiên 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ã cài đặt | nằm trong | Chỉ định một hoặc nhiều Mã cài đặt (tối đa 50) để nhắm mục tiêu. | 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 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 bài viết Lấy 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 mọi ứ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 hay nền tảng. |
| 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: =, ≠, >, ≥, <, ≤ |
Phép 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 tất cả 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 ký tự neo ^ và $ để so khớp 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 so 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 đ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ử 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 hoặc chỉ số 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 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 luồng 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à tỷ lệ 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 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 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à SDK Firebase Crashlytics phát hiện được trong quá trình thử nghiệm.
Lưu ý: Firebase Crashlytics không được hỗ trợ cho ứ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 cho giao dịch mua hàng và doanh thu ước tính từ quảng cáo. |
| Doanh thu từ giao dịch mua hàng | Giá trị tổng hợp cho tất cả sự kiện purchase và in_app_purchase.
|
| Tỷ lệ giữ chân người dùng (1 ngày) | Số người dùng quay lại ứng dụng của bạn hằng ngày. |
| Giữ chân người dùng (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 người dùng (trên 15 ngày) | Số người dùng quay lại ứng dụng của bạn sau 15 ngày trở lên kể từ lần gần nhất họ sử dụng ứng dụng. |
| first_open | Một 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 làm một phần của phễu chuyển đổi. |
Chỉ số khác
| Chỉ số | Mô tả |
|---|---|
| notification_dismiss | Sự kiện Analytics được kích hoạt khi một thông báo do Trình soạn thông báo gửi bị loại bỏ (chỉ dành cho Android). |
| notification_receive | 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ông báo gửi trong lúc ứng dụng đang chạy trong nền (chỉ dành cho Android). |
| os_update | 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 ứng dụng web. |
| screen_view | Sự kiện Analytics theo dõi các màn hình được xem trong ứng dụng của bạn. Để tìm hiểu thêm, hãy xem bài viết Theo dõi lượt xem màn hình. |
| session_start | Sự kiện Analytics tính số phiên hoạt động của 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, nhưng thông tin về 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 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 khác nhau và xác minh kết quả của A/B Testing một cách độc lập.
Để 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 của Firebase
- Truy cập vào dữ liệu của 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 hộp cát BigQuery để truy cập vào BigQuery mà không mất phí, tuân theo Hạn mức của hộp cát. Hãy xem phần 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ẻ có nút Liên kết, thì bạn cần thiết lập tính năng xuất (tiếp tục 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 lại bài viết 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 tích hợp, hãy bật Google Analytics.
Chọn một khu vực và chọn chế độ cài đặt xuất dữ liệu.
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ó thể mất đến một ngày để các bảng nà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 bài viết Xuất dữ liệu dự án sang BigQuery.
Truy cập vào dữ liệu của 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ả thông tin sau đây để sử dụng trong truy vấn của mình:
- 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 như sau:
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, thì mã thử nghiệm là 25. - Mã tài sản Google Analytics: Đây là mã tài sản Google Analytics gồm 9 chữ số của bạn. 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 để hiển thị tên của bảng sự kiện Google Analytics (
project_name.analytics_000000000.events). - Ngày thử nghiệm: Để soạn 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 ở các phân vùng bảng sự kiện hằng ngày Google Analytics 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 2026 đến ngày 2 tháng 5 năm 2026, thì bạn sẽ chỉ định_TABLE_SUFFIX between '20260202' AND '20260502'. Để 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, các tên này 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ụ: sự kiện
in_app_purchase,ad_impressionhoặc sự kiệnuser_retention.
Sau khi 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, sau đó chọn Tạo truy vấn SQL.
- Thêm cụm từ tìm kiếm. Để 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 của Firebase
Nếu bạn đang sử dụng gói Blaze, thì 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, 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 & Engagement (DevOps và Tương tác) > A/B Testing (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ó ba biến thể (bao gồm cả biến thể cơ sở) có tên là "Thử nghiệm chào mừng mùa đông". Báo cáo 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ố sự kiện cho mỗi sự kiện. Xin lưu ý rằng trình tạo truy vấn không chỉ định tên dự án trong tên bảng vì trình tạo này 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 '20260202' AND '20260502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
Để xem thêm các 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âu hỏi mẫu
Các phần sau đây cung cấp 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ừ bảng sự kiện Google Analytics.
Trích xuất giá trị độ lệch chuẩn của giao dịch mua và thử nghiệm từ tất cả thử nghiệm
Bạn có thể sử dụng dữ liệu kết quả thử nghiệm để xác minh kết quả của Firebase A/B Testing một cách độc lập. Câu lệnh SQL BigQuery sau đây trích xuất các biến thể thử nghiệm, số 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ả 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 bằng trình tạo ý nghĩa 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 bài viết Diễn giải kết quả thử nghiệm.
/*
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 giá trị của một thử nghiệm cụ thể
Ví dụ về truy vấn sau đây minh hoạ cách lấy dữ liệu cho một thử nghiệm cụ thể trong BigQuery. Cụm từ tìm kiếm mẫu này trả về tên thử nghiệm, tên biến thể (bao gồm cả Đường 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