當您與用戶聯繫或開始新的營銷活動時,您希望確保自己做對了。 A/B 測試可以通過在用戶群的選定部分上測試消息變體來幫助您找到最佳措辭和呈現方式。無論您的目標是提高報價的保留率還是轉化率,A/B 測試都可以執行統計分析,以確定消息變體是否優於您所選目標的基線。
要使用基線 A/B 測試功能變體,請執行以下操作:
- 創建你的實驗。
- 在測試設備上驗證您的實驗。
- 管理您的實驗。
創建實驗
使用 Firebase 應用內消息的實驗可讓您評估單個應用內消息的多個變體。
登錄Firebase 控制台並驗證您的項目中是否啟用了 Google Analytics,以便實驗可以訪問 Analytics 數據。
如果您在創建項目時未啟用 Google Analytics,則可以在集成選項卡上啟用它,您可以使用Firebase 控制台中的 >項目設置訪問該選項卡。
在Firebase 控制台導航欄的參與部分,點擊A/B 測試。
單擊創建實驗,然後在提示輸入您要試驗的服務時選擇應用內消息。
或者,在Firebase 控制台導航欄上,展開Engage ,然後點擊In-App Messaging 。然後點擊新建實驗。
為您的實驗輸入名稱和可選描述,然後單擊下一步。
填寫定位字段,首先選擇使用您的實驗的應用程序。您還可以通過選擇包括以下內容的選項來定位一部分用戶以參與您的實驗:
- 版本:您的應用的一個或多個版本
- 用戶受眾:用於定位可能包含在實驗中的用戶的分析受眾
- 用戶屬性:一個或多個 Google Analytics(分析)用戶屬性,用於選擇可能包含在實驗中的用戶
- 國家/地區:一個或多個國家或地區,用於選擇可能包含在實驗中的用戶
- 設備語言:用於選擇可能包含在實驗中的用戶的一種或多種語言和區域設置
- 首次打開:根據用戶首次打開您的應用的時間定位用戶
- 上次應用互動:根據用戶上一次與您的應用互動的時間來定位用戶
設置目標用戶百分比:選擇與目標用戶下設置的條件相匹配的應用用戶群百分比,您希望在基線和實驗中的一個或多個變體之間平均分配。這可以是 0.01% 到 100% 之間的任何百分比。對於每個實驗,包括重複實驗,百分比會隨機重新分配給用戶。
在變體部分中,配置基線應用內消息以使用您用於正常應用內消息傳遞活動的消息設計界面發送到基線組。
要將變體添加到您的實驗,請單擊添加變體。默認情況下,實驗有一個基線和一個變體。
(可選)為實驗中的每個變體輸入一個名稱,以替換名稱Variant A 、 Variant B等。
(可選)在變體部分的頂部,單擊比較變體按鈕以將另一個消息變體與基線消息並排比較。
為您的實驗定義一個目標指標,以便在評估實驗變體時使用,並從下拉列表中定義任何所需的附加指標。這些指標包括內置目標(參與度、購買量、收入、留存率等)、分析轉化事件和其他分析事件。
為實驗配置調度:
- 設置實驗的開始和結束日期。
- 設置如何在所有變體中觸發應用內消息。
單擊查看以保存您的實驗。
每個項目最多允許您進行 300 個實驗,其中最多可以包含 24 個正在運行的實驗,其餘的為草稿或已完成。
在測試設備上驗證您的實驗
對於每個 Firebase 安裝,您都可以檢索與其關聯的安裝身份驗證令牌。您可以使用此令牌在安裝了您的應用的測試設備上測試特定的實驗變體。要在測試設備上驗證您的實驗,請執行以下操作:
- 獲取安裝授權令牌如下:
迅速
Installations.installations().authTokenForcingRefresh(true, completion: { (result, error) in if let error = error { print("Error fetching token: \(error)") return } guard let result = result else { return } print("Installation auth token: \(result.authToken)") })
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
FirebaseInstallations.getInstance().getToken(/* forceRefresh */ true) .addOnCompleteListener { task -> if (task.isSuccessful) { Log.d("Installations", "Installation auth token: " + task.result?.token) } else { Log.e("Installations", "Unable to get Installation auth token") } }
- 在Firebase 控制台導航欄上,點擊A/B 測試。
- 單擊Draft (和/或Running for Remote Config 實驗),將鼠標懸停在您的實驗上,單擊上下文菜單 ( more_vert ),然後單擊Manage test devices 。
- 輸入測試設備的安裝身份驗證令牌,然後選擇要發送到該測試設備的實驗變體。
- 運行應用程序並確認在測試設備上接收到所選變體。
要詳細了解 Firebase 安裝,請參閱管理 Firebase 安裝。
管理您的實驗
無論您是使用 Remote Config、Notifications composer 還是 Firebase In-App Messaging 創建實驗,您都可以驗證和啟動實驗,在實驗運行時對其進行監控,並增加正在運行的實驗中包含的用戶數量。
實驗完成後,您可以記下獲勝變體使用的設置,然後將這些設置推廣給所有用戶。或者,您可以運行另一個實驗。
開始實驗
- 在Firebase 控制台導航欄的參與部分,點擊A/B 測試。
- 點擊草稿,然後點擊您的實驗標題。
- 要驗證您的應用是否有將包含在實驗中的用戶,請展開草稿詳細信息並在“定位和分發”部分檢查大於0%的數字(例如, 1% 的用戶符合條件)。
- 要更改您的實驗,請點擊Edit 。
- 要開始您的實驗,請點擊Start Experiment 。每個項目一次最多可以運行 24 個實驗。
監控實驗
實驗運行一段時間後,您可以查看其進度,並查看迄今為止參與實驗的用戶的結果。
- 在Firebase 控制台導航欄的參與部分,點擊A/B 測試。
單擊Running ,然後單擊實驗的標題。在此頁面上,您可以查看有關正在運行的實驗的各種觀察和建模統計數據,包括以下內容:
- 與基線的百分比差異:與基線相比,給定變體的度量改進的度量。通過將變體的值範圍與基線的值範圍進行比較來計算。
- 超過基線的概率:給定變體超過所選指標的基線的估計概率。
- observed_metric per user :根據實驗結果,這是度量值隨時間落入的預測範圍。
- Total observed_metric :觀察到的基線或變體的累積值。該值用於衡量每個實驗變體的執行情況,並用於計算改進、值範圍、擊敗基線的概率和成為最佳變體的概率。根據所衡量的指標,此列可能標記為“每位用戶的持續時間”、“每位用戶的收入”、“留存率”或“轉化率”。
在您的實驗運行一段時間後(FCM 和應用內消息至少 7 天或遠程配置至少 14 天),此頁面上的數據表明哪個變體(如果有)是“領先者”。一些測量伴隨著一個條形圖,以可視格式顯示數據。
向所有用戶推出實驗
在實驗運行足夠長的時間後,您有一個“領先者”或獲勝變體作為您的目標指標,您可以將實驗推廣到 100% 的用戶。這允許您選擇一個變體以發布給所有用戶。即使您的實驗沒有創造出明顯的贏家,您仍然可以選擇向所有用戶推出一個變體。
- 在Firebase 控制台導航欄的參與部分,點擊A/B 測試。
- 單擊Completed或Running ,單擊要向所有用戶推出的實驗,單擊上下文菜單 ( more_vert ),然後單擊Roll out variant 。
通過執行以下操作之一向所有用戶推出您的實驗:
- 對於使用Notifications composer的實驗,使用Roll out message對話框將消息發送給未參與實驗的剩餘目標用戶。
- 對於遠程配置實驗,選擇一個變體以確定要更新哪些遠程配置參數值。創建實驗時定義的定位條件將作為新條件添加到您的模板中,以確保推出僅影響實驗所定位的用戶。在遠程配置中單擊查看以查看更改後,單擊發布更改以完成部署。
- 對於應用內消息實驗,使用對話框確定需要作為獨立應用內消息活動推出的變體。選擇後,您將被重定向到 FIAM 撰寫屏幕,以便在發布前進行任何更改(如果需要)。
展開實驗
如果您發現某個實驗沒有為 A/B 測試帶來足夠的用戶來宣布領導者,您可以增加實驗的分佈以覆蓋更大比例的應用用戶群。
- 在Firebase 控制台導航欄的參與部分,點擊A/B 測試。
- 選擇要編輯的正在運行的實驗。
- 在實驗概述中,單擊上下文菜單 ( more_vert ),然後單擊編輯運行實驗。
- Targeting對話框顯示一個選項,用於增加當前運行實驗中的用戶百分比。選擇一個大於當前百分比的數字,然後單擊發布。實驗將被推送到您指定的用戶百分比。
複製或停止實驗
- 在Firebase 控制台導航欄的參與部分,點擊A/B 測試。
- 單擊已完成或正在運行,將鼠標懸停在您的實驗上,單擊上下文菜單 ( more_vert ),然後單擊複製實驗或停止實驗。
用戶定位
您可以使用以下用戶定位標準來定位要包含在實驗中的用戶。
定位條件 | 操作員 | 值 | 筆記 |
---|---|---|---|
版本 | 包含, 不含, 完全匹配, 包含正則表達式 | 為您要包含在實驗中的一個或多個應用版本輸入一個值。 | 當使用任何contains 、不包含或完全匹配運算符時,您可以提供以逗號分隔的值列表。 使用contains regex運算符時,您可以創建RE2格式的正則表達式。您的正則表達式可以匹配全部或部分目標版本字符串。您還可以使用^和$錨來匹配目標字符串的開頭、結尾或全部內容。 |
用戶受眾 | 包括所有, 包括以下至少一項, 不包括所有, 不包括至少一項 | 選擇一個或多個 Google Analytics(分析)受眾群體來定位可能包含在您的實驗中的用戶。 | 一些針對 Google Analytics(分析)受眾的實驗可能需要幾天時間來積累數據,因為它們會受到 Analytics(分析)數據處理延遲的影響。對於新用戶,您最有可能遇到這種延遲,這些新用戶通常在創建後 24-48 小時內註冊為合格的受眾,或者是最近創建的受眾。 |
用戶屬性 | 對於文本: 包含, 不含, 完全匹配, 包含正則表達式 對於數字: <, ≤, =, ≥, > | Analytics 用戶屬性用於選擇可能包含在實驗中的用戶,並提供一系列用於選擇用戶屬性值的選項。 在客戶端上,您只能為用戶屬性設置字符串值。對於使用數字運算符的條件,遠程配置服務將相應用戶屬性的值轉換為整數/浮點數。 | 使用contains regex運算符時,您可以創建RE2格式的正則表達式。您的正則表達式可以匹配全部或部分目標版本字符串。您還可以使用^和$錨來匹配目標字符串的開頭、結尾或全部內容。 |
設備國家 | 不適用 | 用於選擇可能包含在實驗中的用戶的一個或多個國家或地區。 | |
設備語言 | 不適用 | 用於選擇可能包含在實驗中的用戶的一種或多種語言和區域設置。 | 此定位條件僅適用於遠程配置。 |
首次打開 | 多於 少於 之間 | 根據用戶首次打開您的應用的時間來定位用戶,以天為單位。 | 此定位條件僅適用於 Firebase 應用內消息。 |
上次應用參與度 | 多於 少於 之間 | 根據用戶上次與您的應用互動的時間(以天為單位)來定位用戶。 | 此定位條件僅適用於 Firebase 應用內消息。 |
A/B 測試指標
創建實驗時,您可以選擇一個主要指標或目標指標,用於確定獲勝的變體。您還應該跟踪其他指標,以幫助您更好地了解每個實驗變體的性能,並跟踪每個變體可能不同的重要趨勢,例如用戶留存率、應用穩定性和應用內購買收入。您最多可以在實驗中跟踪五個非目標指標。
例如,假設您已將新的應用內購買添加到您的應用中,並且想要比較兩個不同“輕推”消息的有效性。在這種情況下,您可能決定選擇將購買收入設置為您的目標指標,因為您希望獲勝的變體代表導致最高應用內購買收入的通知。而且因為您還想跟踪哪個變體導致更多的未來轉化和留存用戶,您可以在Other metrics to track中添加以下內容:- 估算總收入,以了解您的應用內購買和廣告收入在兩種變體之間的差異
- 留存(1 天) 、留存(2-3 天) 、留存(4-7 天)以跟踪您的每日/每周用戶留存
下表提供了有關如何計算目標指標和其他指標的詳細信息。
目標指標
公制 | 描述 |
---|---|
無崩潰用戶 | 實驗期間 Firebase Crashlytics SDK 檢測到的未在您的應用中遇到錯誤的用戶百分比。 |
預計廣告收入 | 估算的廣告收入。 |
預計總收入 | 購買價值和預計廣告收入的總和。 |
採購收入 | 所有purchase 和in_app_purchase 事件的總價值。 |
保留(1 天) | 每天返回您的應用的用戶數量。 |
保留(2-3 天) | 在 2-3 天內返回您的應用的用戶數。 |
保留(4-7 天) | 在 4-7 天內返回您的應用的用戶數。 |
保留(8-14 天) | 在 8-14 天內返回您的應用的用戶數量。 |
保留(15 天以上) | 在上次使用您的應用 15 天或更長時間後返回您的應用的用戶數量。 |
first_open | 當用戶在安裝或重新安裝應用後首次打開應用時觸發的 Analytics 事件。用作轉化漏斗的一部分。 |
其他指標
公制 | 描述 |
---|---|
notification_dismiss | 當通知編輯器發送的通知被解除時觸發的 Analytics 事件(僅限 Android)。 |
通知接收 | 一個 Analytics 事件,當應用處於後台時收到通知編寫器發送的通知時觸發(僅限 Android)。 |
os_update | 跟踪設備操作系統何時更新到新版本的 Analytics 事件。要了解更多信息,請參閱自動收集的事件。 |
screen_view | 跟踪在您的應用程序中查看的屏幕的分析事件。要了解更多信息,請參閱跟踪屏幕瀏覽量。 |
session_start | 統計應用中用戶會話的 Analytics 事件。要了解更多信息,請參閱自動收集的事件。 |