Tạo thử nghiệm cấu hình từ xa Firebase bằng thử nghiệm A/B

Khi sử dụng Cấu hình từ xa Firebase để triển khai cài đặt cho một ứng dụng có cơ sở người dùng đang hoạt động, bạn muốn đảm bảo rằng mình làm đúng. Bạn có thể sử dụng thử nghiệm Thử nghiệm A/B để 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 hóa trải nghiệm người dùng. Thông thường, các nhà phát triển ứng dụng không biết rằng người dùng của họ không thích một tính năng mới hoặc trải nghiệm người dùng cập nhật cho đến khi xếp hạng ứng dụng của họ 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ủa bạn có thích các biến thể tính năng mới hay họ 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 của bạn trong nhóm cơ sở 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 của bạn 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 hóa trải nghiệm người dùng cho mục tiêu kinh doanh. Đôi khi bạn đang triển khai các thay đổi về sản phẩm để tối đa hóa số liệu như doanh thu hoặc tỷ lệ giữ chân. Với thử nghiệm A/B, bạn đặt mục tiêu kinh doanh của mình và Firebase thực hiện phân tích thống kê để xác định xem một biến thể có hoạt động tốt hơn đường cơ sở cho mục tiêu bạn đã chọn hay không.

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

  1. Tạo thử nghiệm của bạn.
  2. Xác thực thử nghiệm của bạn trên thiết bị thử nghiệm.
  3. Quản lý thử nghiệm của bạn.

Tạo một thử nghiệm

Thử nghiệm Cấu hình từ xa cho phép bạn đánh giá nhiều biến thể trên một hoặc nhiều tham số Cấu hình từ xa .

  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 bạn không bật Google Analytics khi tạo dự án của mình, bạn có thể bật nó trên tab Tích hợp mà bạn có thể truy cập 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 menu điều hướng bảng điều khiển Firebase , hãy nhấp vào Thử nghiệm A/B .

  3. Nhấp vào Tạo thử nghiệm rồi chọn Cấu hình từ xa khi được nhắc về dịch vụ bạn muốn thử nghiệm.

  4. Nhập TênMô tả tùy chọn cho thử nghiệm của bạn và 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 mục tiêu một tập hợp con người dùng tham gia vào thử nghiệm của mình bằng cách nhấp vào , sau đó chọn các tùy chọn từ 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: Mã phiên bản của ứng dụng
    • Ngôn ngữ: Một hoặc nhiều ngôn ngữ và địa phương được sử dụng để chọn người dùng có thể được đưa vào 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 sẽ được đưa vào thử nghiệm
    • Đối tượng người dùng: Đối tượng Analytics được sử dụng để nhắm mục tiêu 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
    • Mở lần đầu: Nhắm mục tiêu người dùng dựa trên lần đầu tiên họ mở ứng dụng của bạn

      Nhắm mục tiêu người dùng theo thời gian mở lần đầu khả dụng sau khi bạn chọn ứng dụng Android hoặc iOS. Nó được hỗ trợ bởi các phiên bản SDK cấu hình từ xa sau: SDK nền tảng Apple v9.0.0+ và SDK Android v21.1.1+ (Firebase BoM v30.3.0+).

      Phân tích cũng phải được bật trên máy khách trong sự kiện mở đầu tiên.

  6. Đặt Phần trăm người dùng mục tiêu: Nhập phần trăm cơ sở người dùng ứng dụng của bạn phù hợp với tiêu chí đã đặt trong 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 của mình. Đây có thể là bất kỳ tỷ lệ phần trăm nào 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. Tùy chọn, đặt sự kiện kích hoạt để đảm bảo rằng chỉ dữ liệu từ 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. Lưu ý rằng tất cả người dùng khớp với thông số nhắm mục tiêu của bạn sẽ nhận được giá trị thử nghiệm Cấu hình từ xa, 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 của bạn.

    Để đả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 được tìm nạp. Ngoài ra, không thể sử dụng các sự kiện sau vì chúng luôn xảy ra trước khi kích hoạt các giá trị tìm nạp:

    • 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 số liệu chính để theo dõi và thêm bất kỳ số liệu bổ sung nào bạn muốn theo dõi từ danh sách. Chúng bao gồm các mục tiêu tích hợp (lượt mua hàng, 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. Khi hoàn tất, nhấp vào Tiếp theo .

  9. Trong phần Biến thể , hãy chọn đườ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 tham số để thử nghiệm. Bạn có thể tạo một tham số trước đây chưa được sử dụng trong bảng điều khiển Firebase nhưng nó 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 tham số vào thử nghiệm của mình.

  10. (tùy chọn) Để thêm nhiều biến thể vào thử nghiệm của bạn, hãy nhấp vào Thêm một biến thể khác .

  11. 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 người dùng không được đưa vào thử nghiệm.

  12. Mở rộng 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ể đều có trọng số như nhau. Lưu ý rằng các trọng số không đồng đều có thể làm tăng thời gian thu thập dữ liệu và các trọng số không thể thay đổi sau khi thử nghiệm bắt đầu .

  13. Nhấp vào Xem lại để lưu thử nghiệm của bạn.

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

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

Đối với mỗi lần cài đặt Firebase, bạn có thể truy xuất mã thông báo xác thực cài đặt được liên kết với nó. Bạn có thể sử dụng mã thông báo này để thử nghiệm các biến thể thử nghiệm cụ thể trên thiết bị thử nghiệm đã cài đặt ứng dụng của bạn. Để xác thực thử nghiệm của bạn 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:

    Nhanh

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

    Mục tiêu-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());
          }
        });
    

    Đoàn kết

    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 bảng điều khiển Firebase , nhấp vào Thử nghiệm A/B .
  3. Nhấp vào Bản nháp (và/hoặc Chạy cho thử nghiệm Cấu hình từ xa), di chuột qua thử nghiệm của bạn, nhấp vào menu ngữ 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 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ị thử nghiệm.

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

Quản lý thử nghiệm của bạn

Cho dù bạn tạo thử nghiệm với Cấu hình từ xa, trình soạn thảo Thông báo hay Nhắn tin trong ứng dụng Firebase, thì bạn đều có thể xác thực và bắt đầu thử nghiệm, giám sát thử nghiệm trong khi thử nghiệm đang chạy và tăng số lượng người dùng có trong thử nghiệm đang chạy của bạn.

Khi thử nghiệm của bạn hoàn tất, bạn có thể ghi lại các cài đặt được sử dụng bởi biến thể chiến thắng, sau đó triển khai các 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 một thử nghiệm

  1. Trong phần Tương tác của menu điều hướng bảng điều khiển Firebase , hãy nhấp vào Thử nghiệm A/B .
  2. Nhấp vào Bản nháp , sau đó nhấp vào tiêu đề thử nghiệm của bạn.
  3. Để xác thực rằng ứng dụng của bạn có những người dùng sẽ được đưa vào thử nghiệm của bạn, hãy mở rộng chi tiết dự thảo và kiểm tra con số lớn hơn 0% trong phần Nhắm mục tiêu và phân phối (ví dụ: 1% người dùng phù hợp với tiêu chí ).
  4. Để thay đổi thử nghiệm của bạn, hãy nhấp vào Chỉnh sửa .
  5. Để bắt đầu thử nghiệm của bạn, 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 một 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 bạn trông như thế nào đối với những người dùng đã tham gia vào thử nghiệm của bạn cho đến nay.

  1. Trong phần Tương tác của menu điều hướng bảng điều khiển Firebase , hãy nhấp vào Thử nghiệm A/B .
  2. Nhấp vào Đang chạy , sau đó nhấp vào hoặc tìm kiếm tiêu đề thử nghiệm của bạn. Trên trang này, bạn có thể xem các số liệu thống kê được quan sát và lập mô hình khác nhau về thử nghiệm đang chạy của mình, bao gồm:

    • % chênh lệch so với đường 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 đườ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à một biến thể nhất định vượt qua đường cơ sở cho số liệu đã 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 được dự đoán mà giá trị số liệu sẽ rơi vào theo thời gian.
    • Tổng observed_metric : Giá trị tích lũy được quan sát cho đường cơ sở hoặc biến thể. Giá trị được sử dụng để đo lường mức độ hoạt động của mỗi biến thể thử nghiệm và được sử dụng để tính toán Cải thiện , Phạm vi giá trị , Xác suất vượt qua đường cơ sởXác suất là biến thể tốt nhất . Tùy thuộc vào số liệu đượ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".
  3. Sau khi thử nghiệm của bạn chạy được một thời gian (ít nhất 7 ngày đối với FCM và Nhắn tin trong ứng dụng hoặc 14 ngày đối với Cấu hình từ xa), dữ liệu trên trang này cho biết biến thể nào, nếu có, là "dẫn đầu". Một số phép đo được kèm theo 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ó "biến thể dẫn đầu" hoặc biến thể chiến thắng cho chỉ số mục tiêu của mình, 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ể để xuất bản cho tất cả người dùng sau này. Ngay cả khi thử nghiệm của bạn chưa tạo ra người chiến thắng 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 của mình.

  1. Trong phần Tương tác của menu điều hướng bảng điều khiển Firebase , hãy nhấp vào Thử nghiệm A/B .
  2. Nhấp vào Đã hoàn thành hoặc Đang chạy , nhấp vào thử nghiệm mà bạn muốn phát hành cho tất cả người dùng, nhấp vào menu ngữ cảnh ( ) Triển khai biến thể .
  3. Triển khai thử nghiệm của bạn cho tất cả người dùng bằng cách thực hiện một trong những thao tác sau:

    • Đối với thử nghiệm sử dụng Trình soạn thảo thông báo , hãy sử dụng hộp thoại Triển khai thông báo để gửi thông báo đến những người dùng được nhắm mục tiêu còn lại không tham gia thử nghiệm.
    • Đối với thử nghiệm Cấu hình từ xa , hãy chọn một biến thể để xác định giá trị thông số Cấu hình từ xa nào 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 dưới dạng điều kiện mới trong mẫu của bạn, để đảm bảo việc triển khai chỉ ảnh hưởng đến những người dùng được thử nghiệm nhắm mục tiêu. Sau khi nhấp vào Xem lại trong Cấu hình từ xa để xem lại các thay đổi, nhấp vào Xuất bản thay đổi để hoàn tất quá trình triển khai.
    • Đối với thử nghiệm Nhắn tin trong ứng dụng , 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 Nhắn tin trong ứng dụng độc lập. Sau khi được chọn, bạn sẽ được chuyển hướng đến màn hình soạn thảo FIAM để thực hiện bất kỳ thay đổi nào (nếu cần) trước khi xuất bản.

Mở rộng thử nghiệm

Nếu bạn thấy rằng một thử nghiệm không thu hút đủ người dùng cho Thử nghiệm A/B để tuyên bố dẫn đầu, bạn có thể tăng mức phân phối thử nghiệm của mình để 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.

  1. Trong phần Tương tác của menu điều hướng bảng điều khiển Firebase , hãy nhấp vào Thử nghiệm A/B .
  2. Chọn thử nghiệm đang chạy mà bạn muốn chỉnh sửa.
  3. Trong tổng quan về Thử nghiệm , hãy nhấp vào menu ngữ 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ị tùy chọn để tăng phần trăm người dùng đang trong 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 và nhấp vào Xuất bản . Thử nghiệm sẽ được đẩy tới tỷ lệ phần trăm người dùng mà bạn đã chỉ định.

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

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

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

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

Tiêu chí nhắm mục tiêu (Các) nhà điều hành (Các) giá trị Ghi chú
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ử chứa , không chứa hoặc khớp chính xác nào , bạn có thể cung cấp danh sách các giá trị được phân tách bằng dấu phẩy.

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 chuỗi phiên bản đích. Bạn cũng có thể sử dụng các neo ^$ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu.

Đố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 mục tiêu 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 mục tiêu đến đối tượng Google Analytics có thể cần vài ngày để tích lũy dữ liệu vì chúng phải chịu độ trễ xử lý dữ liệu Analytics . Bạn có nhiều khả năng gặp phải sự chậm trễ này nhất 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-48 giờ sau khi tạo hoặc đối với đối tượng được tạo gần đây .

Đối với Cấu hình từ xa, đ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 đối tượng, nếu Analytics chưa thêm người dùng đó vào đối tượng khi `fetchAndActivate()` được thực thi 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 sử dụng để chọn những người dùng có thể được đưa vào thử nghiệm, với nhiều tùy chọn để chọn giá trị thuộc tính người dùng.

Trên máy khách, 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ụ Cấu hình từ xa 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ố float.
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 chuỗi phiên bản đích. Bạn cũng có thể sử dụng các neo ^$ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu.
Quốc gia/Khu vực không áp dụng Một hoặc nhiều quốc gia hoặc khu vực được sử dụng để chọn người dùng có thể được đưa vào thử nghiệm.
Ngôn ngữ không áp dụng Một hoặc nhiều ngôn ngữ và khu vực được sử dụng để chọn người dùng có thể được đưa vào thử nghiệm.
Mở lần đầu Trước
Sau đó

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

Nhắm mục tiêu người dùng theo lần mở đầu tiên khả dụng sau khi bạn chọn ứng dụng Android hoặc iOS. Nó hiện được hỗ trợ bởi các phiên bản SDK cấu hình từ xa sau: SDK nền tảng Apple v9.0.0+ và SDK Android v21.1.1+ (Firebase BoM v30.3.0+).

Phân tích cũng phải được bật trên máy khách trong sự kiện mở đầu tiên.

Số liệu thử nghiệm A/B

Khi tạo thử nghiệm, bạn chọn số liệu chính hoặc số liệu mục tiêu được sử dụng để xác định biến thể chiến thắng. Bạn cũng nên theo dõi các số liệu khác để giúp bạn 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ể, như tỷ lệ giữ chân người dùng, độ ổn định của ứng dụng và doanh thu mua hàng trong ứng dụng. Bạn có thể theo dõi tối đa năm số liệu 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 Cấu hình từ xa để khởi chạy hai luồng trò chơi khác nhau trong ứng dụng của mình và muốn tối ưu hóa cho hoạt động mua hàng trong ứng dụng cũng như doanh thu 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 của mình vì nó bao gồm doanh thu mua hàng trong ứng dụng và doanh thu quảng cáo, sau đó, để theo dõi các chỉ số khác , 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 của bạ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 mua hàngDoanh thu quảng cáo ước tính .

Các bảng sau đây cung cấp chi tiết về cách tính số liệu mục tiêu và các số liệu khác.

Số liệu mục tiêu

Hệ mét Sự miêu tả
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 của bạn được SDK Firebase Crashlytics phát hiện trong quá trình thử nghiệm.
Doanh thu quảng cáo ước tính Thu nhập quảng cáo ước tính.
Tổng doanh thu ước tính Giá trị kết hợp cho giao dịch mua và doanh thu quảng cáo ước tính.
Doanh thu mua hàng Giá trị kết hợp cho tất cả các sự kiện purchasein_app_purchase .
Lưu giữ (1 ngày) Số lượng người dùng quay lại ứng dụng của bạn hàng ngày.
Lưu giữ (2-3 ngày) Số lượng người dùng quay lại ứng dụng của bạn trong vòng 2-3 ngày.
Lưu giữ (4-7 ngày) Số lượng người dùng quay lại ứng dụng của bạn trong vòng 4-7 ngày.
Lưu giữ (8-14 ngày) Số lượng người dùng quay lại ứng dụng của bạn trong vòng 8-14 ngày.
Lưu giữ (hơn 15 ngày) Số lượng 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 cuối họ sử dụng ứng dụng đó.
đầu tiên_open Sự kiện Analytics kích hoạt khi người dùng mở ứng dụng lần đầu sau khi cài đặt hoặc cài đặt lại ứng dụng đó. Được sử dụng như một phần của kênh chuyển đổi.

Các số liệu khác

Hệ mét Sự miêu tả
notification_dismiss Một sự kiện Analytics sẽ kích hoạt khi thông báo do người soạn Thông báo gửi bị loại bỏ (chỉ dành cho Android).
thông báo_nhận Một sự kiện Analytics sẽ kích hoạt khi nhận được thông báo do người soạn Thông báo gửi trong khi ứng dụng ở 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 Sự kiện được thu thập tự động .
màn_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 Theo dõi số lần xem màn hình .
phiên_bắt đầu Sự kiện Analytics tính số phiên của người dùng trong ứng dụng của bạn. Để tìm hiểu thêm, hãy xem Sự kiện được thu thập tự động .

Xuất dữ liệu BigQuery

Ngoài việc xem dữ liệu thử nghiệm Thử nghiệm A/B 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ù Thử nghiệm A/B không có bảng BigQuery riêng nhưng tư cách 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.

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à ID 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 mang lại cho bạn khả năng phân chia kết quả thử nghiệm của mình theo nhiều cách khác nhau và xác minh độc lập kết quả Thử nghiệm A/B.

Để bắt đầu, hãy hoàn thành các bước sau như được 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 dữ liệu Thử nghiệm A/B 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 BigQuery miễn phí, tuân theo các giới hạn của Hộp cát . Xem Giá cả 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 của mình sang BigQuery:

  1. Mở tab Tích hợp mà bạn có thể truy cập 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 Giới thiệu về việc liên kết Firebase với BigQuery , sau đó nhấp vào Tiếp theo .
  4. Trong phần Định cấu hình tích hợp , hãy bật nút chuyển đổi Google Analytics .
  5. Chọn một khu vực và chọn cài đặt xuất.

  6. Nhấp vào Liên kết tới BigQuery .

Tùy thuộc vào cách bạn chọn xuất dữ liệu, có thể mất tới một ngày để các bảng có sẵn. Để biết thêm thông tin về cách xuất dữ liệu dự án sang BigQuery, hãy xem Xuất dữ liệu dự án sang BigQuery .

Truy cập dữ liệu Thử nghiệm A/B trong BigQuery

Trước khi truy vấn dữ liệu cho một thử nghiệm cụ thể, bạn sẽ muốn có được một số hoặc tất cả thông tin sau để sử dụng trong truy vấn của mình:

  • ID 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 trông giống như https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 thì ID thử nghiệm là 25 .
  • ID thuộc tính Google Analytics : Đây là ID thuộc tính Google Analytics gồm 9 chữ số của bạn. Bạn có thể tìm thấy điều này trong Google Analytics; nó cũng xuất hiện trong BigQuery khi bạn mở rộng tên dự án của mình để hiển thị tên bảng sự kiện Google Analytics ( project_name.analytics_000000000.events ).
  • Ngày thử nghiệm: Để soạn truy vấn nhanh hơn và hiệu quả hơn, bạn nên giới hạn truy vấn của mình trong các phân vùng bảng sự kiện hàng ngày của 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' . Để biết ví dụ, hãy xem Chọn giá trị của thử nghiệm cụ thể .
  • Tên sự kiện: Thông thường, những tên này tương ứng với số liệu 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 bạn cần để tạo truy vấn của mình:

  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 truy vấn của bạn. Ví dụ về các truy vấn mẫu để chạy, hãy xem 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, các biến thể, tên sự kiện và số lượng sự kiện cho thử nghiệm bạn đang xem.

Để lấy và chạy truy vấn được tạo tự động:

  1. Từ bảng điều khiển Firebase, hãy mở Thử nghiệm A/B và chọn thử nghiệm Thử nghiệm A/B mà bạn muốn truy vấn để mở Tổng quan về thử nghiệm .
  2. Từ menu Tùy chọn, bên dưới 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 bảng điều khiển Google Cloud và cung cấp truy vấn cơ bản mà bạn có thể sử dụng để truy vấn dữ liệu thử nghiệm của mình.

Ví dụ sau đây cho thấy truy vấn được tạo cho một thử nghiệm có ba biến thể (bao gồm cả đường cơ sở) có tên là "Thử nghiệm chào đón mùa đông". Nó trả về tên thử nghiệm đang hoạt động, tên biến thể, sự kiện duy nhất và số lượng sự kiện cho mỗi sự kiện. 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ì nó 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 các ví dụ truy vấn, hãy tiếp tục 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 Thử nghiệm A/B từ các bảng sự kiện của Google Analytics.

Trích xuất các giá trị độ lệch chuẩn 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ả Thử nghiệm A/B của Firebase. 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 duy nhấ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ả thử nghiệm trong phạm vi thời gian được chỉ định làm ngày bắt đầu và 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 thử nghiệm t một phía để xác minh rằng kết quả mà Firebase cung cấp khớp với phân tích của riêng bạn.

Để biết thêm thông tin về cách Thử nghiệm A/B tính toán suy luận, hãy xem Giải thích 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 thử nghiệm cụ thể

Truy vấn mẫu sau đây minh họa 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