Tạo thử nghiệm nhắn tin bằng tính năng Thử nghiệm A/B

Khi tiếp cận người dùng hoặc bắt đầu một chiến dịch tiếp thị mới, bạn phải đảm bảo rằng mình đã thực hiện đúng cách. Thử nghiệm A/B có thể giúp bạn tìm ra cách diễn đạt và cách trình bày tối ưu bằng cách thử nghiệm các biến thể của thông báo trên những phần đã chọn trong cơ sở người dùng của bạn. Cho dù mục tiêu của bạn là giữ chân hay chuyển đổi tốt hơn trên một ưu đãi, thử nghiệm A/B có thể thực hiện phân tích thống kê để xác định xem một biến thể thông báo có vượt trội hơn so với đường cơ sở cho mục tiêu bạn đã chọn hay không.

Để tiến hành thử nghiệm A/B cho các biến thể của tính năng dựa trên giá trị 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 thiết bị thử nghiệm.
  3. Quản lý thử nghiệm của bạn.

Tạo thử nghiệm

Một thử nghiệm sử dụng trình soạn Thông báo cho phép bạn đánh giá nhiều biến thể trên một thông báo thông báo.

  1. Đăng nhập vào bảng điều khiển của 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 không 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 của Firebase.

  2. Trong mục Engage của thanh điều hướng bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.

  3. Nhấp vào Tạo thử nghiệm, sau đó chọn Thông báo khi được nhắc đối với dịch vụ bạn muốn thử nghiệm.

  4. Nhập Tên và phần Nộ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 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 chọn các lựa chọn bao gồm:

    • Phiên bản: Một hoặc nhiều phiên bản ứng dụng
    • Đối tượng người dùng: Đối tượng Analytics được dùng để nhắm mục tiêu 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
    • 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 có thể được đưa vào thử nghiệm
    • Ngôn ngữ thiết bị: Một hoặc nhiều ngôn ngữ và ngôn ngữ dùng để chọn người dùng có thể được đưa vào thử nghiệm
    • Lần mở đầu tiên: 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
    • Lượt tương tác gần đây nhất với ứng dụng: Nhắm đến người dùng dựa trên lần gần đây nhất họ tương tác với ứng dụng của bạn
  6. Đặt Tỷ lệ phần trăm người dùng mục tiêu: Chọn tỷ lệ phần trăm cơ sở người dùng của ứng dụng khớp với bộ tiêu chí đã đặt trong phần Người dùng mục tiêu mà bạn muốn chia đều cho giá trị cơ sở và một hoặc nhiều biến thể trong thử nghiệm. Tỷ lệ này có thể là bất kỳ tỷ lệ phần trăm nào từ 0,01% đến 100%. Tỷ lệ phần trăm được chỉ định lại ngẫu nhiên cho người dùng trong từng thử nghiệm, bao gồm cả các thử nghiệm trùng lặp.

  7. Trong phần Biến thể, hãy nhập thông báo để gửi đến nhóm cơ sở trong trường Nhập văn bản thông báo. Để không gửi thông báo đến nhóm cơ sở, hãy để trống trường này.

  8. (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ể. Theo mặc định, các thử nghiệm có một đường cơ sở và một biến thể.

  9. (không bắt buộc) Nhập tên cho từng biến thể trong thử nghiệm của bạn để thay thế tên Biến thể A, Biến thể B, v.v.

  10. Xác định chỉ số mục tiêu cho thử nghiệm của bạn để sử dụng khi đánh giá các biến thể thử nghiệm cùng với mọi chỉ số bổ sung mong muốn từ danh sách thả xuống. Những chỉ số này bao gồm các mục tiêu tích hợp sẵn (mức độ tương tác, lượt mua hàng, doanh thu, tỷ lệ giữ chân, v.v.), Sự kiện chuyển đổi Analytics và các sự kiện khác trong Analytics.

  11. Chọn các lựa chọn cho thông báo của bạn:

    • Ngày phân phối: Chọn Gửi ngay để chạy thử nghiệm của bạn ngay khi lưu hoặc Đã lên lịch để chỉ định thời gian chạy thử nghiệm trong tương lai.
    • Tuỳ chọn nâng cao: Để chọn các tuỳ chọn nâng cao cho tất cả thông báo có trong thử nghiệm của bạn, hãy mở rộng Tuỳ chọn nâng cao, sau đó thay đổi bất kỳ tuỳ chọn thông báo nào được liệt kê.
  12. Nhấp vào Xem lại để lưu thử nghiệm của bạn.

Bạn được phép tiến hành 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à thử nghiệm 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ần cài đặt Firebase, bạn có thể truy xuất mã thông báo đăng ký FCM được liên kết với mã đó. 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 thiết bị thử nghiệm đã cài đặt ứng dụng. Để xác thực thử nghiệm trên một thiết bị thử nghiệm, hãy làm như sau:

  1. Lấy mã thông báo đăng ký FCM như sau:

    Swift

    Messaging.messaging().token { token, error in
      if let error = error {
        print("Error fetching FCM registration token: \(error)")
      } else if let token = token {
        print("FCM registration token: \(token)")
        self.fcmRegTokenMessage.text  = "Remote FCM registration token: \(token)"
      }
    }
    

    Objective-C

    [[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) {
      if (error != nil) {
        NSLog(@"Error getting FCM registration token: %@", error);
      } else {
        NSLog(@"FCM registration token: %@", token);
        self.fcmRegTokenMessage.text = token;
      }
    }];
    

    Java

    FirebaseMessaging.getInstance().getToken()
        .addOnCompleteListener(new OnCompleteListener<String>() {
            @Override
            public void onComplete(@NonNull Task<String> task) {
              if (!task.isSuccessful()) {
                Log.w(TAG, "Fetching FCM registration token failed", task.getException());
                return;
              }
    
              // Get new FCM registration token
              String token = task.getResult();
    
              // Log and toast
              String msg = getString(R.string.msg_token_fmt, token);
              Log.d(TAG, msg);
              Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
            }
        });

    Kotlin+KTX

    FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
        if (!task.isSuccessful) {
            Log.w(TAG, "Fetching FCM registration token failed", task.exception)
            return@OnCompleteListener
        }
    
        // Get new FCM registration token
        val token = task.result
    
        // Log and toast
        val msg = getString(R.string.msg_token_fmt, token)
        Log.d(TAG, msg)
        Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
    })

    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.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result));
        }
      });
    
  2. Trên thanh điều hướng của bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.
  3. Nhấp vào Bản nháp, 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 FCM 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.

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

Cho dù bạn tạo một thử nghiệm bằng Cấu hình từ xa, trình soạn Thông báo hay Tính năng Gửi thông báo trong ứng dụng của Firebase, thì sau đó, bạn đều 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 có trong 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ể giành 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.

Bắt đầu thử nghiệm

  1. Trong mục Engage của trình đơn điều hướng bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.
  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ó những người dùng sẽ được đưa vào thử nghiệm, hãy mở rộng thông tin chi tiết bản nháp và tìm một số lớn hơn 0% trong mục Nhắm mục tiêu và phân phối (ví dụ: 1% số người dùng phù hợ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. Mỗi lần, bạn có thể chạy tối đa 24 thử nghiệm cho mỗi dự án.

Theo dõi một thử nghiệm

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ả sẽ như thế nào đối với những người dùng đã tham gia vào thử nghiệm cho đến nay.

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

    • % chênh lệch so với đường cơ 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à 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ẽ rơi vào theo thời gian.
    • Tổng observed_metric: Giá trị tích luỹ quan sát đượ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 và được dùng để tính toán Mức độ 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. Tuỳ thuộc vào chỉ số đang đượ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à Gửi thông báo 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 sẽ cho biết biến thể nào (nếu có) là "biến thể 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 một thử nghiệm đã chạy đủ lâu để có biến thể "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. Nhờ đó, bạn có thể chọn một biến thể để phát hành cho tất cả người dùng từ giờ trở đi. Ngay cả khi thử nghiệm chưa tạo ra biến thể 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.

  1. Trong mục Engage của trình đơn điều hướng bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.
  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 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 dùng hộp thoại Ra mắt thông báo để gửi thông báo cho những người dùng được nhắm đến 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 các giá trị thông số Cấu hình từ xa 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 vào dưới dạng một đ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 mà 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, hãy nhấp vào Xuất bản các thay đổi để hoàn tất quá trình phát hành.
    • Đối với thử nghiệm Gửi thông báo 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 một chiến dịch Gửi thông báo trong ứng dụng độc lập. Sau khi chọn, bạn sẽ được chuyển hướng đến màn hình soạn 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 có đủ người dùng cho Thử nghiệm A/B để tuyên bố 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 phần trăm lớn hơn trong cơ sở người dùng của ứng dụng.

  1. Trong mục Engage của trình đơn điều hướng bảng điều khiển của 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 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 Edit đang chạy thử nghiệm.
  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 có 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 rồi nhấp vào Xuất bản. Thử nghiệm sẽ được đẩy lê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 mục Engage của trình đơn điều hướng bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.
  2. Nhấp vào Đã hoàn tất hoặc Đang chạy, giữ con trỏ trên thử nghiệm của bạn, nhấp vào trình đơn theo bối cảnh (), sau đó nhấp vào Sao chép 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 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 các 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à cung cấp dịch vụ (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ử contains nào, không chứa hoặc khớp chính xác, bạn có thể cung cấp một 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ó thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các neo ^$ để khớp với phần đầu, phần cuối hoặc toàn bộ một 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
Chọn một hoặc nhiều đối tượng trong 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 mục tiêu đến các đố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 đó phải tuân theo độ trễ xử lý dữ liệu của Analytics. Bạn rất có thể gặp phải độ trễ này với những người dùng mới (thường đăng ký vào các đối tượng đủ điều kiện sau 24-48 giờ kể từ khi tạo) hoặc với đối tượng được tạo gần đây.
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 nhiều lựa 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ụ 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ố thực có độ chính xác đơn.
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ó thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các neo ^$ để khớp với phần đầu, phần cuối hoặc toàn bộ một 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/khu vực dùng để chọn những 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 dùng để chọn những người dùng có thể được đưa vào thử nghiệm.  
Mở lần đầu Nhiều hơn
Nhỏ hơn
Trong khoảng
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, được chỉ định theo ngày.
Lượt tương tác gần đây nhất với ứng dụng Nhiều hơn
Nhỏ hơn
Trong khoảng
Nhắm đến người dùng dựa trên lần gần đây nhất họ tương tác với ứng dụng của bạn, được chỉ định theo ngày.

Các chỉ số của Thử nghiệm A/B

Khi tạo thử nghiệm, bạn sẽ chọn chỉ số chính hoặc mục tiêu, dùng để xác định biến thể chiến thắng. Bạn cũng nên theo dõi các chỉ số khác để giúp 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 mỗi biến thể, chẳng hạn như tỷ lệ giữ chân người dùng, độ ổn định của ứng dụng và doanh thu từ giao dịch mua hàng trong ứng dụng. Bạn có thể theo dõi tối đa 5 chỉ số không phải là mục tiêu trong thử nghiệm của mình.

Ví dụ: giả sử bạn đã thêm các giao dịch mua hàng mới trong ứng dụng và muốn so sánh mức độ hiệu quả của hai thông báo "nhắc nhở" khác nhau. Trong trường hợp này, bạn có thể quyết định chọn đặt Doanh thu từ giao dịch mua hàng làm chỉ số mục tiêu vì bạn muốn biến thể giành chiến thắng hiển thị thông báo đã dẫn đến doanh thu mua hàng trong ứng dụng cao nhất. Ngoài ra, vì muốn theo dõi xem biến thể nào mang lại nhiều lượt chuyển đổi hơn và người dùng được giữ chân trong tương lai, bạn có thể thêm nội dung sau vào mục Các chỉ số khác cần theo dõi:

  • Tổng doanh thu ước tính để biết sự khác biệt giữa doanh thu kết hợp từ giao dịch mua hàng trong ứng dụng và doanh thu từ quảng cáo giữa hai biến thể
  • Tỷ lệ giữ chân (1 ngày), Tỷ lệ giữ chân (2-3 ngày), Tỷ lệ giữ chân (4-7 ngày) để theo dõi tỷ lệ giữ chân người dùng hằng ngày/hằng tuần

Các bảng sau đây cung cấp thông tin chi tiết về cách tính 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 của bạn mà 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 ướ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ị kết hợp cho tất cả sự kiện purchasein_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.
Tỷ lệ 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-7 ngày.
Tỷ lệ giữ chân người dùng (8-14 ngày) Số người dùng quay lại ứng dụng của bạn trong vòng 8-14 ngày.
Tỷ lệ giữ chân người dùng (từ 15 ngày trở lên) Số người dùng quay lại ứng dụng của bạn sau 15 ngày trở lên sau lần sử dụng ứng dụng gần đây nhất.
first_open Một 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 một phễu chuyển đổi.

Chỉ số khác

Chỉ số Mô tả
notification_dismiss Một sự kiện Analytics 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 Một sự kiện Analytics kích hoạt khi thiết bị nhận được một thông báo do trình soạn thông báo gửi trong lúc ứng dụng đang chạy ở chế độ nền (chỉ dành cho Android).
os_update Một sự kiện Analytics theo dõi thời điểm hệ điều hành của thiết bị được cập nhật lên phiên bản mới.Để tìm hiểu thêm, hãy xem bài viết Sự kiện được thu thập tự động.
screen_view Một 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 Số lượt xem màn hình.
session_start Một 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 BigQuery

Ngoài việc xem dữ liệu thử nghiệm Thử nghiệm A/B trong bảng điều khiển của Firebase, bạn cò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 biệt, nhưng các 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 mang lại cho bạn khả năng phân chia kết quả thử nghiệm theo nhiều cách khác nhau và xác minh độc lập kết quả của Thử nghiệm A/B.

Để bắt đầu, hãy hoàn thành các bước sau theo mô tả trong hướng dẫn này:

  1. Bật tính năng BigQuery Export cho Google Analytics trong bảng điều khiển của Firebase
  2. Truy cập vào 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 BigQuery Export 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ể dùng hộp cát BigQuery để truy cập vào BigQuery mà không tốn phí, tuân theo các giới hạn của Hộp cát. Hãy xem bài viết 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 của 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 bài viết Giới thiệu về cách 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ế độ xuất.

  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 tới một ngày để các bảng 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 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ó một số hoặc tất cả những 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 sẽ 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 mã này trong Google Analytics; mã 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 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 truy vấn của mình vào các phân vùng bảng sự kiện hằng ngày trên Google Analytics có chứa dữ liệu thử nghiệm – các bảng được xác định bằng hậu tố YYYYMMDD. Vì vậy, nếu thử nghiệm chạy từ ngày 2 tháng 2 năm 2024 đến ngày 2 tháng 5 năm 2024, bạn cần chỉ định một _TABLE_SUFFIX between '20240202' AND '20240502'. Để biết 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 các 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 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 truy vấn của bạn. Để biết các truy vấn mẫu cần chạy, hãy xem phần Khám phá các truy vấn mẫu.
  4. Nhấp vào Run (Chạy).

Truy vấn dữ liệu thử nghiệm bằng cách sử dụ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 linh hoạt, 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.

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

  1. Trên bảng điều khiển của Firebase, hãy mở Thử nghiệm A/B rồi chọn thử nghiệm A/B mà bạn muốn truy vấn để mở Tổng quan về thử nghiệm.
  2. Từ trình đơn Tùy chọn, bên dưới mục Tích hợp BigQuery, hãy chọn Dữ liệu thử nghiệm truy vấn. Thao tác này sẽ mở dự án của bạn trong BigQuery trong bảng điều khiển Google Cloud Console 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 của mình.

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

  /*
    This query is auto-generated by Firebase A/B Testing for your
    experiment "Winter welcome experiment".
    It demonstrates how you can get event counts for all Analytics
    events logged by each variant of this experiment's population.
  */
  SELECT
    'Winter welcome experiment' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'Welcome message (1)'
      WHEN '2' THEN 'Welcome message (2)'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_000000000.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

Để xem thêm ví dụ về truy vấn, hãy chuyển đến phần Khám phá các truy vấn mẫu.

Khám phá các cụm từ tìm kiếm mẫu

Các phần sau đây 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ừ 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ả Thử nghiệm A/B trong Firebase một cách độc lập. Câu lệnh BigQuery SQL sau sẽ trích xuất các biến thể thử nghiệm, số lượng người dùng riêng biệt trong mỗi biến thể rồi tính 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 các phép 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 bản phân tích của 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 phần Diễn giải kết quả kiểm thử.

  /*
    This query returns all experiment variants, number of unique users,
    the average USD spent per user, and the standard deviation for all
    experiments within the date range specified for _TABLE_SUFFIX.
  */
  SELECT
    experimentNumber,
    experimentVariant,
    COUNT(*) AS unique_users,
    AVG(usd_value) AS usd_value_per_user,
    STDDEV(usd_value) AS std_dev
  FROM
    (
      SELECT
        userProperty.key AS experimentNumber,
        userProperty.value.string_value AS experimentVariant,
        user_pseudo_id,
        SUM(
          CASE
            WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
              THEN event_value_in_usd
            ELSE 0
            END) AS usd_value
      FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
      CROSS JOIN UNNEST(user_properties) AS userProperty
      WHERE
        userProperty.key LIKE 'firebase_exp_%'
        AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
        AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
      GROUP BY 1, 2, 3
    )
  GROUP BY 1, 2
  ORDER BY 1, 2;

Chọn các giá trị của một thử nghiệm cụ thể

Truy vấn mẫu sau 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