Tạo thử nghiệm Cấu hình từ xa Firebase thông qua tính năng Thử nghiệm A/B

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 mình đã triển khai đúng cách. Bạn có thể sử dụng các thử nghiệm A/B Testing để xác định tốt 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 cập nhật 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. Thử nghiệm A/B có thể giúp đo lường xem người dùng có thích các biến thể tính năng mới hay không, hoặc họ có thích ứng dụng 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 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ư thu nhập hoặc tỷ lệ giữ chân. Với tính năng thử nghiệm A/B, 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ó đang hoạt động hiệu quả hơn mức cơ sở cho mục tiêu mà bạn đã chọn hay không.

Để thử nghiệm A/B các biến thể tính năng bằng đường cơ sở, hãy làm như sau:

  1. Tạo thử nghiệm.
  2. Xác thực thử nghiệm của bạn trên một thiết bị thử nghiệm.
  3. 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 thông số Remote Config.

  1. Đăng nhập vào bảng điều khiển Firebase và 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 Google Analytics trên thẻ Tích hợp. Bạn có thể truy cập vào thẻ này bằng cách sử dụng > Cài đặt dự án trong bảng điều khiển Firebase.

  2. Trong phần Tương tác của trình đơn điều hướng bảng điều khiển Firebase, hãy nhấp vào biểu tượng A/B Testing.

  3. Nhấp vào Tạo thử nghiệm, sau đó chọn biểu tượng Remote Config khi được nhắc chọn dịch vụ mà bạn muốn thử nghiệm.

  4. Nhập TênNội dung mô tả (không bắt buộc) cho thử nghiệm rồi nhấp vào Tiếp theo.

  5. Điền vào các trường Nhắm mục tiêu, trước tiên hãy chọn ứng dụng sử dụng thử nghiệm của bạn. Bạn cũng có thể nhắm đến một nhóm nhỏ người dùng để tham gia thử nghiệm bằng cách nhấp vào , sau đó chọn các tuỳ chọn trong danh sách sau:

    • Phiên bản: Một hoặc nhiều phiên bản ứng dụng
    • Số bản dựng: Mã phiên bản của ứng dụng
    • Ngôn ngữ: Một hoặc nhiều ngôn ngữ và ngôn ngữ bản địa dùng để chọn người dùng có thể tham gia thử nghiệm
    • Quốc gia/Khu vực: Một hoặc nhiều quốc gia hoặc khu vực để chọn người dùng tham gia thử nghiệm
    • Đối tượng người dùng: Đối tượng Analytics dùng để nhắm đến những người dùng có thể tham gia 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
    • 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

      Bạn có thể sử dụng tính năng nhắm mục tiêu theo thời gian mở lần đầu của người dùng sau khi chọn một ứng dụng Android hoặc iOS. Tính năng này được hỗ trợ bởi các phiên bản SDK Remote Config sau: SDK nền tảng Apple phiên bản 9.0.0 trở lên và SDK Android phiên bản 21.1.1 trở lên (Firebase BoM phiên bản 30.3.0 trở lên).

      Analytics cũng phải được bật trên ứng dụng trong sự kiện mở đầu tiên.

  6. Đặt Tỷ lệ phần trăm người dùng mục tiêu: 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à tỷ lệ phần trăm bất kỳ trong khoảng từ 0,01% đến 100%. Người dùng được chỉ định ngẫu nhiên cho từng thử nghiệm, bao gồm cả các thử nghiệm trùng lặp.

  7. 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ố sự kiện Analytics lần đầu tiên mới được tính trong 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 thông 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 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 đảm bảo 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 đây 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_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. Đố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 từ danh sách. Các chỉ số này bao gồm các mục tiêu tích hợp (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.

  9. 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. Sử dụng danh sách Chọn hoặc tạo mới để thêm một hoặc nhiều thông số để thử nghiệm. Bạn có thể tạo một tham số chưa từng được sử dụng trong bảng điều khiển Firebase, nhưng tham số đó phải tồn tại trong ứng dụng của bạn thì mới có hiệu lực. Bạn có thể lặp lại bước này để thêm nhiều thông số vào thử nghiệm.

  10. (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.

  11. 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 sẽ giống nhau đối với những người dùng không tham gia thử nghiệm.

  12. 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.

  13. Nhấp vào Xem xét để lưu thử nghiệm.

Mỗi dự án được phép có tối đa 300 thử nghiệm, trong đó có thể có tối đa 24 thử nghiệm đang chạy, còn lại là bản nháp hoặc đã hoàn tất.

Xác thực thử nghiệm trên thiết bị thử nghiệm

Đối với mỗi lượt cài đặt Firebase, bạn có thể truy xuất mã thông báo xác thực lượt cài đặt được liên kết với lượt cài đặt đó. Bạn có thể sử dụng mã thông báo này để kiểm thử các biến thể thử nghiệm cụ thể trên một thiết bị thử nghiệm đã cài đặt ứng dụng của bạn. Để xác thực thử nghiệm trên thiết bị thử nghiệm, hãy làm như sau:

  1. Nhận mã thông báo xác thực cài đặt như sau:

    Swift

    do {
      let result = try await Installations.installations()
        .authTokenForcingRefresh(true)
      print("Installation auth token: \(result.authToken)")
    } catch {
      print("Error fetching token: \(error)")
    }
    

    Objective-C

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];
    

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin+KTX

    val forceRefresh = true
    FirebaseInstallations.getInstance().getToken(forceRefresh)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

    C++

    firebase::InitResult init_result;
    auto* installations_object = firebase::installations::Installations::GetInstance(
        firebase::App::GetInstance(), &init_result);
    installations_object->GetToken().OnCompletion(
        [](const firebase::Future& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });
    

    Unity

    Firebase.Installations.FirebaseInstallations.DefaultInstance.GetTokenAsync(forceRefresh: true).ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Installations token {0}", task.Result));
        }
      });
    
  2. Trên thanh điều hướng của bảng điều khiển Firebase, hãy nhấp vào Thử nghiệm A/B.
  3. Nhấp vào Bản nháp (và/hoặc Đang chạy đối với các thử nghiệm Cấu hình từ xa), di chuột qua thử nghiệm của bạn, nhấp vào trình đơn theo bối cảnh (), sau đó nhấp vào Quản lý thiết bị thử nghiệm.
  4. Nhập mã thông báo xác thực cài đặt cho một thiết bị thử nghiệm và chọn biến thể thử nghiệm để gửi đến thiết bị thử nghiệm đó.
  5. Chạy ứng dụng và xác nhận rằng biến thể đã chọn đang được nhận trên thiết bị kiểm thử.

Để tìm hiểu thêm về các lượt cài đặt Firebase, hãy xem bài viết Quản lý lượt cài đặt Firebase.

Quản lý thử nghiệm

Cho dù bạn tạo thử nghiệm bằng Remote Config, Trình soạn thông báo hay Firebase In-App Messaging, sau đó, bạn có thể xác thực và 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 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, 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.

Bắt đầu thử nghiệm

  1. Trong phần Tương tác của trình đơn điều hướng bảng điều khiển Firebase, hãy nhấp vào biểu tượng A/B Testing.
  2. Nhấp vào Bản nháp, rồi nhấp vào tiêu đề của thử nghiệm.
  3. Để xác thực rằng ứng dụng của bạn có người dùng sẽ tham gia thử nghiệm, hãy mở rộng thông tin chi tiết về bản nháp và kiểm tra số liệu lớn hơn 0% trong mục Nhắm mục tiêu và phân phối (ví dụ: 1% người dùng khớp với tiêu chí).
  4. Để thay đổi thử nghiệm, hãy nhấp vào Chỉnh sửa.
  5. Để bắt đầu thử nghiệm, hãy nhấp vào Bắt đầu thử nghiệm. Bạn có thể chạy tối đa 24 thử nghiệm cho mỗi dự án cùng một lúc.

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 thời điểm hiện tại.

  1. Trong phần Tương tác của trình đơn điều hướng bảng điều khiển Firebase, hãy nhấp vào biểu tượng A/B Testing.
  2. 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à lập mô hình về thử nghiệm đang chạy, bao gồm:

    • % chênh lệch so với đường cơ sở: Một chỉ số đo lường mức độ cải thiện của một chỉ số đối với 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 để một biến thể nhất định 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 observed_metric: Giá trị tích luỹ được quan sát cho đường cơ sở hoặc biến thể. Giá trị này được dùng để đo lường mức độ hiệu quả của từng biến thể thử nghiệm và được dùng để tính toán Mức cải thiện, Dải giá trị, Xác suất vượt mức cơ sởXác suất là biến thể tốt nhất. Tuỳ thuộc vào chỉ số đang đượ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".
  3. Sau khi thử nghiệm chạy được một thời gian (ít nhất 7 ngày đối với FCMIn-App Messaging hoặc 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à "dẫn đầu". Một số thông tin đ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 một thử nghiệm chạy đủ lâu để bạn có được "biến thể dẫn đầu" hoặc biến thể hiệu quả nhất 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.

  1. Trong phần Tương tác của trình đơn điều hướng bảng điều khiển Firebase, hãy nhấp vào biểu tượng A/B Testing.
  2. 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ể.
  3. Triển khai thử nghiệm cho tất cả người dùng bằng cách làm theo một trong những cách sau:

    • Đối với thử nghiệm sử dụng Trình soạn thông báo, hãy sử dụng hộp thoại Roll out message (Triển khai thông báo) để gửi thông báo đến những người dùng mục tiêu còn lại không tham gia thử nghiệm.
    • Đố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 được xác định khi tạo thử nghiệm sẽ được thêm làm một đ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.
    • Đối với thử nghiệm In-App Messaging, hãy sử dụng hộp thoại để xác định biến thể nào cần được triển khai dưới dạng chiến dịch In-App Messaging độc lập. Sau khi chọn, bạn sẽ được chuyển hướng đến màn hình soạn thư FIAM để thực hiện mọi thay đổi (nếu cần) trước khi xuất bản.

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 khai báo một biến thể dẫn đầu, bạn có thể tăng mức phân phối thử nghiệm để tiếp cận một tỷ lệ phần trăm lớn hơn trong cơ sở người dùng của ứng dụng.

  1. Trong phần Tương tác của trình đơn điều hướng bảng điều khiển Firebase, hãy nhấp vào biểu tượng A/B Testing.
  2. Chọn thử nghiệm đang chạy mà bạn muốn chỉnh sửa.
  3. Trong phần Tổng quan về thử nghiệm, hãy nhấp vào trình đơn theo bối cảnh (), sau đó nhấp vào Chỉnh sửa thử nghiệm đang chạy.
  4. Hộp thoại Nhắm mục tiêu hiển thị một tuỳ chọn để tăng tỷ lệ phần trăm người dùng đang tham gia thử nghiệm đang chạy. Chọn một con 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 đẩy đến tỷ lệ phần trăm người dùng mà bạn đã chỉ định.

Sao chép hoặc dừng một thử nghiệm

  1. Trong phần Tương tác của trình đơn điều hướng bảng điều khiển Firebase, hãy nhấp vào biểu tượng A/B Testing.
  2. Nhấp vào Đã hoàn tất hoặc Đang chạy, giữ con trỏ trên thử nghiệm, nhấp vào trình đơn theo bối cảnh () rồi nhấp vào Tạo bản sao thử nghiệm hoặc Dừng thử nghiệm.

Nhắm mục tiêu theo người dùng

Bạn có thể nhắm đến những người dùng để đưa vào thử nghiệm bằng cách sử dụng các tiêu chí nhắm mục tiêu theo người dùng sau đây.

Tiêu chí nhắm mục tiêu (Các) toán tử    (Các) giá trị Lưu ý
Phiên bản chứa,
không chứa,
khớp chính xác,
chứa biểu thức chính quy
Nhập giá trị cho một hoặc nhiều phiên bản ứng dụng mà bạn muốn đưa vào thử nghiệm.

Khi sử dụng bất kỳ toán tử nào trong số chứa, không chứa hoặc trùng khớp chính xác, bạn có thể cung cấp danh sách giá trị được phân tách bằng dấu phẩy.

Khi sử dụng toán tử contains regex (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 neo ^$ để khớp với đầu, cuối hoặc toàn bộ chuỗi mục tiêu.

(Các) đối tượng người dùng bao gồm tất cả,
bao gồm ít nhất một trong số,
không bao gồm tất cả,
không bao gồm ít nhất một trong số
Chọn một hoặc nhiều đối tượng Analytics để nhắm đến những người dùng có thể được đưa vào thử nghiệm của bạn. Một số thử nghiệm nhắm đến đối tượng Google Analytics có thể cần vài ngày để tích luỹ dữ liệu vì các thử nghiệm này chịu ảnh hưởng của Analytics độ trễ xử lý dữ liệu. Bạn có nhiều khả năng gặp phải độ trễ này với người dùng mới, những người thường được đăng ký vào đối tượng đủ điều kiện 24 đến 48 giờ sau khi tạo hoặc đối với đối tượng mới tạo.

Đối với Remote Config, đ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 thực thi `fetchAndActivate()`, thì người dùng sẽ không được đưa vào thử nghiệm.

Thuộc tính người dùng Đối với văn bản:
chứa,
không chứa,
khớp chính xác,
chứa biểu thức chính quy

Đối với số:
<, ≤, =, ≥, >
Thuộc tính người dùng Analytics được dùng để chọn những người dùng có thể được đưa vào một thử nghiệm, với một loạt các tuỳ chọn để chọn giá trị thuộc tính người dùng.

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ố, dịch vụ 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.
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 neo ^$ để khớp với đầu, cuối hoặc toàn bộ chuỗi mục tiêu.
Quốc gia/Vùng Không áp dụng Một hoặc nhiều quốc gia hoặc khu vực dùng để chọn những người dùng có thể tham gia thử nghiệm.  
Ngôn ngữ Không áp dụng Một hoặc nhiều ngôn ngữ và ngôn ngữ bản địa dùng để chọn những người dùng có thể được đưa vào thử nghiệm.  
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:

  • Chọn Người dùng mới để nhắm đến những người dùng mở ứng dụng của bạn lần đầu sau một ngày và giờ cụ thể trong tương lai.
  • Chọn Phạm vi thời gian để nhắm đến những người dùng mở ứng dụng của bạn lần đầu tiên trong phạm vi trước hoặc sau ngày và giờ mà bạn chỉ định. Kết hợp điều kiện TrướcSau để nhắm đến người dùng trong một khoảng thời gian cụ thể.

Bạn có thể sử dụng tính năng nhắm mục tiêu theo lượt mở đầu tiên cho người dùng sau khi chọn một ứng dụng Android hoặc iOS. Tính năng này hiện được hỗ trợ bởi các phiên bản SDK Remote Config sau: SDK nền tảng Apple phiên bản 9.0.0 trở lên và SDK Android phiên bản 21.1.1 trở lên (Firebase BoM phiên bản 30.3.0 trở lên).

Analytics cũng phải được bật trên ứng dụng trong sự kiện mở lần đầu.

Chỉ số A/B Testing

Khi tạo thử nghiệm, bạn sẽ chọn một chỉ số chính hoặc mục tiêu. Chỉ số này đượ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 giữa các 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.

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)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 chế độ xem chi tiết hơn về từng loại doanh thu, hãy thêm Doanh thu từ giao dịch muaDoanh 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 các 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 không gặp phải lỗi trong ứng dụng mà SDK Firebase Crashlytics phát hiện được trong quá trình thử nghiệm.
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ị tổng hợp của giao dịch mua và doanh thu quảng cáo ước tính.
Doanh thu từ giao dịch mua hàng Giá trị tổng hợp cho tất cả sự kiện purchasein_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-3 ngày.
Tỷ lệ giữ chân (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 (8-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 (từ 15 ngày trở lên) Số người dùng quay lại ứng dụng của bạn sau ít nhất 15 ngày kể từ lần sử dụng gần nhất.
first_open Sự kiện Analytics 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 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 trình soạn thảo Thông báo gửi bị đóng (chỉ dành cho Android).
notification_receive Sự kiện Analytics kích hoạt khi ứng dụng nhận được thông báo do trình soạn thảo Thông báo gửi trong khi ứng dụng đang chạy ở chế độ 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 phần Sự kiện được thu thập tự động.
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 phần Theo dõi số lượt xem màn hình.
session_start Sự kiện Analytics đếm số phiên hoạt động của người dùng trong ứng dụng. Để tìm hiểu thêm, hãy xem phần 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ành viên 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 (dựa trên 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 cho phép bạn phân chia 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:

  1. Bật tính năng xuất BigQuery cho Google Analytics trong bảng điều khiển Firebase
  2. Truy cập vào dữ liệu A/B Testing bằng BigQuery
  3. 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 Firebase

Nếu đang sử 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 Giới hạn 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:

  1. Mở thẻ Tích hợp. Bạn có thể truy cập vào thẻ này bằng cách sử dụng > Cài đặt dự án trong bảng điều khiển Firebase.
  2. Nếu bạn đang sử dụng BigQuery với các dịch vụ Firebase khác, hãy nhấp vào Quản lý. Nếu không, hãy nhấp vào Liên kết.
  3. Xem lại 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.
  4. Trong phần Định cấu hình chế độ tích hợp, hãy bật nút bật/tắt Google Analytics.
  5. Chọn một khu vực rồi chọn chế độ cài đặt xuất dữ liệu.

  6. 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 thì các bảng mới 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 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 thu thập 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ã tài sản Google Analytics: Đây là mã tài sản 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 để hiển thị tên của bảng sự kiện Google Analytics (project_name.analytics_000000000.events).
  • Ngày thử nghiệm: Để tạo truy vấn nhanh và hiệu quả hơn, bạn nên giới hạn truy vấn ở 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 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, 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, sự kiện ad_impression hoặc user_retention.

Sau khi bạn thu thập thông tin cần thiết để tạo truy vấn:

  1. Mở BigQuery trong bảng điều khiển Google Cloud.
  2. Chọn dự án của bạn, sau đó chọn Tạo truy vấn SQL.
  3. 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.
  4. 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, 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:

  1. Trên bảng điều khiển Firebase, hãy mở A/B Testing rồi chọn thử nghiệm A/B Testing mà bạn muốn truy vấn để mở Tổng quan về thử nghiệm.
  2. 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ể sử 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". Hàm này trả về tên thử nghiệm đang hoạt động, tên biến thể, sự kiện duy nhấ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 truy vấn 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 '20240202' AND '20240502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

Để biết 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 truy vấn mẫu

Các phần sau đây cung cấp ví dụ về các truy vấn mà bạn có thể sử 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ả 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 kết quả Firebase A/B Testing. Câu lệnh SQL BigQuery sau đây 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_purchaseecommerce_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 bằng trình tạo ý nghĩa thống kê cho kiểm thử t một bên để 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 giá trị của một thử nghiệm cụ thể

Truy vấn mẫu 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ả Đườ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