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 cần đảm bảo rằng mình đã làm đúng cách. Thử nghiệm A/B có thể giúp bạn tìm ra cách diễn đạt và trình bày tối ưu bằng cách thử nghiệm các biến thể thông báo trên một số phần được chọn trong cơ sở người dùng. Cho dù mục tiêu của bạn là tăng tỷ lệ giữ chân hay tăng tỷ lệ chuyển đổi cho một ưu đãi, thử nghiệm A/B đều 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ó đang hoạt động hiệu quả hơn so với đường 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:
- Tạo thử nghiệm.
- Xác thực thử nghiệm của bạn trên một thiết bị thử nghiệm.
- Quản lý thử nghiệm.
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 duy nhất.
Đă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.
Trong phần Tương tác của thanh điều hướng bảng điều khiển Firebase, hãy nhấp vào biểu tượng A/B Testing.
Nhấp vào Tạo thử nghiệm, rồi chọn Thông báo khi được nhắc về dịch vụ mà bạn muốn thử nghiệm.
Nhập Tên và Mô tả (không bắt buộc) cho thử nghiệm, rồi nhấp vào Tiếp theo.
Đ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 chọn các tuỳ 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 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
- Quốc gia/Khu vực: Một hoặc nhiều quốc gia hoặc khu vực để chọn những người dùng có thể tham gia thử nghiệm
- Ngôn ngữ thiết bị: 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ể tham gia 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
- Lần 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
Đặ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 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%. Tỷ lệ phần trăm được chỉ định ngẫu nhiên cho người dùng cho mỗi thử nghiệm, bao gồm cả các thử nghiệm trùng lặp.
Trong mục Biến thể, hãy nhập tin nhắn để gửi đến nhóm cơ sở trong trường Enter message text (Nhập nội dung tin nhắn). Để không gửi thông báo đến nhóm cơ sở, hãy để trống trường này.
(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, thử nghiệm có một đường cơ sở và một biến thể.
(không bắt buộc) Nhập tên cho từng biến thể trong thử nghiệm để thay thế tên Biến thể A, Biến thể B, v.v.
Xác định một 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 mà bạn muốn trong danh sách thả xuống. Các chỉ số này bao gồm các mục tiêu tích hợp (lượt 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 Analytics khác.
Chọn các lựa chọn cho thông báo:
- Ngày phân phối: Chọn Gửi ngay để chạy thử nghiệm ngay sau khi lưu hoặc chọn Đã 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 trong thử nghiệm, hãy mở rộng phần Tuỳ chọn nâng cao, sau đó thay đổi bất kỳ tuỳ chọn thông báo nào trong danh sách.
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 đăng ký FCM 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:
- Nhận 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<std::string>& 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)); } });
- 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.
- 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 (more_vert), sau đó nhấp vào Quản lý thiết bị thử nghiệm
- Nhập mã thông báo FCM 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 đó.
- 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ử.
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
- Trong phần Tương tác của trình đơn điều hướng Firebase console, hãy nhấp vào biểu tượng A/B Testing.
- Nhấp vào Bản nháp, rồi nhấp vào tiêu đề của thử nghiệm.
- Để 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í).
- Để thay đổi thử nghiệm, hãy nhấp vào Chỉnh sửa.
- Để 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.
- Trong phần Tương tác của trình đơn điều hướng Firebase console, hãy nhấp vào biểu tượng A/B Testing.
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, đồng thời đượ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ở và 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".
Sau khi thử nghiệm chạy được một thời gian (ít nhất 7 ngày đối với FCM và In-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ố phép đo được đ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.
- Trong phần Tương tác của trình đơn điều hướng Firebase console, hãy nhấp vào biểu tượng A/B Testing.
- 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 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ể 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.
- Trong phần Tương tác của trình đơn điều hướng Firebase console, hãy nhấp vào biểu tượng A/B Testing.
- 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 ( ), sau đó 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 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
- Trong phần Tương tác của trình đơn điều hướng Firebase console, hãy nhấp vào biểu tượng A/B Testing.
- 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ử 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 ^ và $ để 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. |
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 ^ và $ để 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 |
Hơn
Dưới Giữa |
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 |
Hơn
Dưới Giữa |
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. |
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 đã thêm các giao dịch mua hàng mới trong ứng dụng và muốn so sánh hiệu quả của hai thông báo "nhắc" khác nhau. Trong trường hợp này, bạn có thể chọn đặt Doanh thu từ giao dịch mua làm chỉ số mục tiêu vì bạn muốn biến thể chiến thắng đại diện cho thông báo đã mang lại doanh thu từ giao dịch mua hàng cao nhất trong ứng dụng. Và vì bạn cũng muốn theo dõi biến thể nào dẫn đến nhiều lượt chuyển đổi và người dùng được giữ chân hơn trong tương lai, nên bạn có thể thêm các chỉ số sau vào phần Các chỉ số khác cần theo dõi:- Tổng doanh thu ước tính để xem sự khác biệt về doanh thu từ quảng cáo và giao dịch mua hàng trong ứng dụng 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 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 purchase và in_app_purchase .
|
Tỷ lệ giữ chân (1 ngày) | Số người dùng quay lại ứng dụng của bạn hằng ngày. |
Tỷ lệ giữ chân (2-3 ngày) | Số người dùng quay lại ứng dụng của bạn trong vòng 2-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:
- Bật tính năng xuất BigQuery cho Google Analytics trong bảng điều khiển Firebase
- Truy cập vào dữ liệu A/B Testing bằng BigQuery
- Khám phá các truy vấn mẫu
Bật tính năng xuất BigQuery cho Google Analytics trong bảng điều khiển 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 hạn mức 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:
- 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.
- 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.
- 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.
- 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.
Chọn một khu vực rồi 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 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ệnad_impression
hoặcuser_retention
.
Sau khi bạn thu thập thông tin cần thiết để tạo truy vấn:
- Mở BigQuery trong bảng điều khiển Google Cloud.
- 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 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:
- 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.
- 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_purchase
và ecommerce_purchase
, cũng như độ lệch chuẩn
cho tất cả các thử nghiệm trong phạm vi thời gian được chỉ định là ngày bắt đầu
và ngày kết thúc _TABLE_SUFFIX
. Bạn có thể sử dụng dữ liệu thu được từ truy vấn này 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