當您與使用者聯絡或開始新的行銷活動時,請務必確保一切正確無誤。您可以對特定使用者群組測試不同版本的訊息,找出最合適的措辭和呈現方式。無論目標是提高保留率或促銷活動的轉換率,A/B 測試都能進行統計分析,判斷訊息變體是否優於所選目標的基準。
如要使用基準進行功能變體 A/B 測試,請按照下列步驟操作:
- 建立實驗。
- 在測試裝置上驗證實驗。
- 管理實驗。
建立實驗
使用 Firebase In-App Messaging 的實驗可評估單一應用程式內訊息的多個變體。
登入 Firebase 控制台,並確認專案已啟用 Google Analytics,以便實驗存取 Analytics 資料。
如果您在建立專案時未啟用 Google Analytics,可以前往「整合」分頁啟用。如要存取這個分頁,請在 Firebase 控制台中依序點選 「>」「專案設定」。
在 Firebase 控制台導覽選單的「參與度」部分,按一下 A/B Testing。
按一下「建立實驗」,然後在系統提示您要實驗的服務時,選取「應用程式內訊息」。
或者,在 Firebase 控制台導覽選單中,展開「參與」,然後按一下 In-App Messaging。然後按一下「新增實驗」。
輸入實驗的「名稱」和「說明」 (選填),然後按一下「下一步」。
填寫「指定目標」欄位,首先選擇使用實驗的應用程式。您也可以選擇下列選項,指定部分使用者參與實驗:
- 版本:您應用程式的一或多個版本
- 使用者目標對象:用於指定目標使用者 (可能納入實驗) 的 Analytics 目標對象
- 使用者屬性:一或多個Analytics使用者屬性,用於選取可能納入實驗的使用者
- 國家/地區:選取一或多個國家/地區,以便選取可能納入實驗的使用者
- 裝置語言:用來選取可能納入實驗的使用者的一或多種語言和地區
- 首次開啟:根據使用者首次開啟應用程式的時間指定目標使用者
- 上次應用程式參與度:根據使用者上次與應用程式互動的時間指定目標使用者
設定目標使用者百分比:選取應用程式使用者數量中,符合「目標使用者」下方所設條件的人數百分比,並平均分配給實驗中的基準和一或多個變化版本。這個值可以是介於 0.01% 到 100% 之間的任何百分比。 系統會為每項實驗 (包括重複的實驗) 隨機重新指派百分比給使用者。
在「變化版本」部分,使用您在一般應用程式內訊息廣告活動中使用的訊息設計介面,設定要傳送給基準組的基準應用程式內訊息。
如要為實驗新增變化版本,請按一下「新增變化版本」。根據預設,實驗會包含一個基準和一個變化版本。
(選用) 為每個變體輸入更具描述性的名稱。
(選用) 在「子類」部分頂端,按一下「比較子類」按鈕,即可並排比較一個以上的訊息子類與基準訊息。
定義實驗的目標指標,用於評估實驗變化版本,以及您想從清單中使用的任何其他指標。這些指標包括內建目標 (參與度、購買次數、收益、留存率等),Analytics 轉換事件和其他Analytics事件。
設定實驗的排程:
- 設定實驗的開始和結束日期。
- 設定在所有變體中觸發應用程式內訊息的方式。
按一下「審查」即可儲存實驗。
每個專案最多可進行 300 項實驗,其中最多 24 項可同時進行,其餘則為草稿或已完成。
在測試裝置上驗證實驗
您可以為每個 Firebase 安裝作業擷取相關聯的安裝驗證權杖。您可以在已安裝應用程式的測試裝置上,使用這個權杖測試特定實驗變體。如要在測試裝置上驗證實驗,請按照下列步驟操作:
- 請按照下列步驟取得安裝驗證權杖:
Swift
do { let result = try await Installations.installations() .authTokenForcingRefresh(true) print("Installation auth token: \(result.authToken)") } catch { print("Error fetching token: \(error)") }
Objective-C
[[FIRInstallations installations] authTokenForcingRefresh:true completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) { if (error != nil) { NSLog(@"Error fetching Installation token %@", error); return; } NSLog(@"Installation auth token: %@", [result authToken]); }];
Java
FirebaseInstallations.getInstance().getToken(/* forceRefresh */true) .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() { @Override public void onComplete(@NonNull Task<InstallationTokenResult> task) { if (task.isSuccessful() && task.getResult() != null) { Log.d("Installations", "Installation auth token: " + task.getResult().getToken()); } else { Log.e("Installations", "Unable to get Installation auth token"); } } });
Kotlin
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") } }
- 在 Firebase 控制台導覽列中,按一下「A/B 測試」。
- 按一下「草稿」 (和/或「執行中」,適用於遠端設定實驗),將滑鼠游標懸停在實驗上,按一下內容選單 (more_vert),然後點選「管理測試裝置」。
- 輸入測試裝置的安裝驗證權杖,然後選擇要傳送至該測試裝置的實驗變體。
- 執行應用程式,並確認測試裝置收到所選變體。
如要進一步瞭解 Firebase 安裝作業,請參閱「管理 Firebase 安裝作業」。
管理實驗
無論您是使用 Remote Config、通知撰寫工具或 Firebase In-App Messaging 建立實驗,都可以驗證並啟動實驗、在實驗進行期間監控成效,以及增加納入實驗的使用者人數。
實驗完成後,您可以記下勝出變化版本使用的設定,然後向所有使用者套用這些設定。或者,您也可以執行其他實驗。
開始實驗
- 在 Firebase 控制台導覽選單的「參與度」部分,按一下 A/B Testing。
- 按一下「草稿」,然後點選實驗標題。
- 如要驗證應用程式是否有符合實驗條件的使用者,請展開草稿詳細資料,並在「目標對象和發布」部分中,檢查是否有大於 0% 的數字 (例如「符合條件的使用者有 1%」)。
- 如要變更實驗,請按一下「編輯」。
- 如要開始實驗,請按一下「開始實驗」。每個專案最多可同時執行 24 項實驗。
監控實驗
實驗執行一段時間後,您可以查看進度,以及參與實驗的使用者目前的結果。
- 在 Firebase 控制台導覽選單的「參與度」部分,按一下 A/B Testing。
按一下「執行中」,然後按一下或搜尋實驗的標題。您可以在這個頁面查看進行中實驗的各種觀察和模擬統計資料,包括:
- 與基準的落差百分比:用來衡量特定變體與基準相比,指標的改善幅度。計算方式是比較變體的數值範圍與基準的數值範圍。
- 超越基準的機率:預估特定變化版本在所選指標方面超越基準的機率。
- observed_metric 每位使用者:根據實驗結果,這是指標值在一段時間內預計會落入的範圍。
- 總計 observed_metric:基準或變體的累積值。這個值可用於評估各個實驗變體的成效,並計算改善幅度、值範圍、勝過基準變體的機率,以及成為最佳變體的機率。視所評估的指標而定,這個資料欄可能會標示為「每位使用者的時間長度」、「每位使用者的收益」、「留存率」或「轉換率」。
實驗執行一段時間後 (FCM和 In-App Messaging 至少 7 天,Remote Config 至少 14 天),這個頁面的資料會指出哪個變體是「領先者」(如有)。部分指標會附上長條圖,以視覺化格式呈現資料。
向所有使用者推出實驗
實驗執行一段時間後,如果目標指標有「領先者」(即勝出版本),即可向所有使用者發布實驗。您可以選取此後要向所有人發布的變化版本。即使實驗結果沒有明顯的勝出版本,您仍可向所有人發布特定變化版本。
- 在 Firebase 控制台導覽選單的「參與度」部分,按一下 A/B Testing。
- 按一下「已完成」或「執行中」,然後按一下要向所有使用者發布的實驗,點選內容選單 ( ),然後按一下「導入變化版本」。
如要向所有使用者推出實驗,請執行下列其中一項操作:
- 如果實驗使用通知撰寫工具,請使用「推出訊息」對話方塊,將訊息傳送給未參與實驗的其餘目標使用者。
- 如果是 Remote Config 實驗,請選取變化版本,確認要更新的 Remote Config 參數值。建立實驗時定義的指定條件,在範本中會顯示為新條件,確保該版推出後只會影響實驗所指定的使用者。點選「在遠端設定中查看」並檢查變更,然後按一下「發布變更」完成導入。
- 如果是 In-App Messaging 實驗,請使用對話方塊,決定要將哪個變體做為獨立的 In-App Messaging 廣告活動推出。選取後,系統會將您重新導向至 FIAM 撰寫畫面,讓您在發布前進行任何變更 (如有需要)。
展開實驗
如果實驗無法吸引足夠的使用者,以致於無法判斷勝出組合,您可以提高實驗的分配比例,觸及更多應用程式使用者。A/B Testing
- 在 Firebase 控制台導覽選單的「參與度」部分,按一下 A/B Testing。
- 選取要編輯的執行中實驗。
- 在「實驗總覽」中,按一下內容選單 ( ),然後點選「編輯進行中的實驗」。
- 「指定目標」對話方塊會顯示選項,可增加參與實驗的使用者百分比。選取大於目前百分比的數字,然後按一下「發布」。系統會向您指定百分比的使用者推出實驗。
複製或停止實驗
- 在 Firebase 控制台導覽選單的「參與度」部分,按一下 A/B Testing。
- 依序點選「已完成」或「執行中」,將指標懸停在實驗上,點選內容選單 ( ),然後點選「複製實驗」或「停止實驗」。
指定使用者
您可以使用下列使用者指定條件,指定要納入實驗的使用者。
指定目標條件 | 營運商 | 值 | 注意事項 |
---|---|---|---|
版本 | 包含、
不包含、 完全相符、 包含規則運算式 |
輸入要納入實驗的一或多個應用程式版本值。 |
使用「包含」、「不包含」或「完全相符」運算子時,可以提供以半形逗號分隔的值清單。 使用「包含規則運算式」運算子時,可以建立 RE2 格式的規則運算式。規則運算式可以比對目標版本字串的全部或部分內容。您也可以使用 ^ 和 $ 錨點,比對目標字串的開頭、結尾或全部內容。 |
使用者目標對象 | 包含所有項目、
包含至少一個項目、 不包含所有項目、 不包含至少一個項目 |
選取一或多個Analytics目標對象,指定可能納入實驗的使用者。 | 如果實驗指定 Google Analytics 目標對象,可能需要幾天才能累積資料,因為這類實驗會受到Analytics 資料處理延遲影響。新使用者最有可能遇到這類延遲問題,因為他們通常會在建立目標對象後 24 到 48 小時內,註冊加入符合資格的目標對象,最近建立的目標對象也是如此。 |
使用者屬性 | 文字:
包含、 不包含、 完全相符、 包含規則運算式 數字: <、≤、=、≥、> |
Analytics使用者屬性可用於選取可能納入實驗的使用者,並提供多種選項來選取使用者屬性值。 在用戶端,您只能為使用者屬性設定字串值。如果條件使用數值運算子,Remote Config 服務會將相應使用者屬性的值轉換為整數/浮點數。 |
使用「包含規則運算式」運算子時,可以建立 RE2 格式的規則運算式。規則運算式可以比對目標版本字串的全部或部分內容。您也可以使用 ^ 和 $ 錨點,比對目標字串的開頭、結尾或完整內容。 |
國家/地區 | 不適用 | 用來選取可能納入實驗的使用者的一或多個國家/地區。 | |
語言 | 不適用 | 用來選取可能納入實驗的使用者的一或多種語言和地區。 | |
初次開啟 |
大於
小於 介於 |
根據使用者首次開啟應用程式的時間 (以天為單位) 指定目標使用者。 | |
與應用程式的最近一次互動 |
大於
小於 介於 |
根據最近一次與應用程式互動的時間 (以天為單位) 指定目標使用者。 |
A/B Testing 項指標
建立實驗時,請選擇主要或目標指標,系統會根據這項指標決定勝出版本。您也應追蹤其他指標,進一步瞭解各實驗變體的成效,並追蹤各變體可能不同的重要趨勢,例如使用者留存率、應用程式穩定性和應用程式內購收益。您最多可以在實驗中追蹤五個非目標指標。
舉例來說,假設您在應用程式中新增了應用程式內商品,並想比較兩種不同「提醒」訊息的成效。在這種情況下,您可能會決定將購買收益設為目標指標,因為您希望勝出版本代表可帶來最高應用程式內購買收益的通知。此外,您也想追蹤哪個變體在日後帶來更多轉換和留存使用者,因此可能會在「要追蹤的其他指標」中新增下列項目:- 預估總收益:查看兩種變體的應用程式內購和廣告收益總和差異
- 「續玩人數 (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)。 |
notification_receive | Analytics 事件:在應用程式於背景運作期間收到通知撰寫器傳送的通知時觸發 (僅適用於 Android)。 |
os_update | Analytics 事件,用於追蹤裝置作業系統更新為新版本的時間。詳情請參閱「自動收集的事件」。 |
screen_view | Analytics 事件,用於追蹤應用程式內瀏覽的畫面。詳情請參閱「追蹤畫面瀏覽次數」。 |
session_start | Analytics 事件,用於計算應用程式中的使用者工作階段。如要瞭解詳情,請參閱「自動收集的事件」。 |