透過 A/B 測試建立應用程式內通訊實驗

與使用者互動或開始新的行銷活動時,您需要確保一切順利進行。您可以透過 A/B 版本測試,在指定的使用者族群中測試訊息變化版本,找出最理想的用詞和呈現方式。無論您的目標是提高留存率還是提升商品的轉換次數,A/B 版本測試都能執行統計分析,判斷訊息變化版本是否優於所選目標的基準。

如要使用基準值進行功能變化版本的 A/B 版本測試,請按照下列步驟操作:

  1. 建立實驗。
  2. 在測試裝置上驗證實驗。
  3. 管理實驗。

建立實驗

使用 Firebase In-App Messaging 的實驗可讓您評估單一應用程式內訊息的多種變化版本。

  1. 登入 Firebase 控制台,確認專案中已啟用 Google Analytics,以便實驗可以存取 Analytics 資料。

    如果您在建立專案時未啟用 Google Analytics,可以前往「整合」分頁標籤啟用,方法是前往 Firebase 控制台,依序點選 > 「專案設定」

  2. Firebase 控制台導覽選單的「Engage」部分,按一下 A/B Testing

  3. 系統提示您要實驗的服務時,請依序點選「建立實驗」和「應用程式內訊息」

  4. 或者,您也可以在 Firebase 控制台的導覽選單中展開「Engage」,然後按一下「In-App Messaging。然後按一下「新增實驗」

  5. 輸入實驗的「名稱」和選填的「說明」,然後按一下「下一步」

  6. 填寫「指定目標」欄位,首先選擇要用於實驗的應用程式。您也可以選擇指定部分使用者參與實驗,方法是選擇下列選項:

    • 版本:應用程式的一或多個版本
    • 使用者目標對象: Analytics 用於指定可能納入實驗的使用者目標對象
    • 使用者屬性:一或多個 Analytics 使用者屬性,用於選取可能納入實驗的使用者
    • 國家/地區:一或多個國家/地區,用於選取可能會納入實驗的使用者
    • 裝置語言:一或多種語言和語言代碼,用於選取可能會納入實驗的使用者
    • 首次開啟:根據使用者首次開啟應用程式的時間指定目標使用者
    • 上次與應用程式互動:根據使用者上次與應用程式互動的時間指定目標使用者
  7. 設定目標使用者百分比:選取應用程式使用者族群中符合「目標使用者」下所設定條件的百分比,並將這些使用者平均分配至實驗中的基準和一或多個變化版本。這個值可以是 0.01% 到 100% 之間的任何百分比。系統會隨機將百分比重新指派給每項實驗的使用者,包括重複的實驗。

  8. 在「變化版本」部分,使用您用於一般應用程式內訊息廣告活動的訊息設計介面,設定要傳送至基準群組的基準應用程式內訊息。

  9. 如要為實驗新增變化版本,請按一下「新增變化版本」。根據預設,實驗會有一個控制組和一個變化版本。

  10. (選用) 為每個變化版本輸入更具描述性的名稱。

  11. (選用) 在「變化版本」部分的頂端,按一下「比較變化版本」按鈕,即可將另一個變化版本與基準訊息並排比較。

  12. 定義實驗的目標指標,以便在評估實驗變化版本時使用,並搭配您想從清單中使用的其他指標。這些指標包括內建目標 (參與度、購買、收益、留存率等)、Analytics 轉換事件和其他 Analytics 事件。

  13. 為實驗設定排程:

    • 設定實驗的開始結束日期。
    • 設定如何在所有變化版本中觸發應用程式內訊息。
  14. 按一下「查看」即可儲存實驗。

每個專案最多可建立 300 個實驗,其中最多可包含 24 個執行中的實驗,其餘則為草稿或已完成的實驗。

在測試裝置上驗證實驗

您可以針對每個 Firebase 安裝作業,擷取與其相關聯的安裝驗證權杖。您可以使用這個權杖,在已安裝應用程式的測試裝置上測試特定實驗變化版本。如要在測試裝置上驗證實驗,請按照下列步驟操作:

  1. 取得安裝授權憑證,如下所示:

    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")
            }
        }
  2. Firebase 控制台導覽列中,按一下「A/B 測試」
  3. 按一下「草稿」 (針對遠端設定實驗,請按一下「執行中」),將滑鼠游標懸停在實驗上,按一下內容選單 (),然後點選「管理測試裝置」
  4. 輸入測試裝置的安裝驗證權杖,並選擇要傳送至該測試裝置的實驗變化版本。
  5. 執行應用程式,確認測試裝置已收到所選變化版本。

如要進一步瞭解 Firebase 安裝作業,請參閱「管理 Firebase 安裝作業」。

管理實驗

無論您是使用 Remote Config、通知編輯器或 Firebase In-App Messaging 建立實驗,都可以驗證並開始實驗、在實驗執行期間監控實驗,以及增加實驗中納入的使用者人數。

實驗完成後,您可以記下勝出變化版本使用的設定,然後向所有使用者推出這些設定。或者,您也可以執行其他實驗。

開始實驗

  1. Firebase 控制台導覽選單的「Engage」部分,按一下 A/B Testing
  2. 按一下「草稿」,然後點選實驗的標題。
  3. 如要驗證應用程式是否有可納入實驗的使用者,請展開草稿詳細資料,並檢查「指定目標和發布」部分是否有大於 0% 的數字 (例如 符合條件的使用者有 1% )。
  4. 如要變更實驗,請按一下「編輯」
  5. 如要開始實驗,請按一下「開始實驗」。每個專案一次最多可執行 24 項實驗。

監控實驗

實驗執行一段時間後,您可以查看進度,並瞭解參與實驗的使用者目前的結果。

  1. Firebase 控制台導覽選單的「Engage」部分,按一下 A/B Testing
  2. 按一下「進行中」,然後點選或搜尋實驗的標題。您可以在這個頁面上查看各種觀察和模擬的統計資料,瞭解目前執行中的實驗,包括:

    • 與基準的落差百分比:評估指定變化版本指標改善幅度的指標,與基準值相比。計算方式是將變化版本的值範圍與基準值範圍進行比較。
    • 勝過基準的機率:指定變化版本勝過所選指標基準值的預估機率。
    • observed_metric 每位使用者:根據實驗結果,這是指標值隨著時間推移而落在的預測範圍。
    • 總計 observed_metric:觀察到的基準或變體累積值。這個值用於評估每個實驗變化版本的成效,並用於計算改善幅度值範圍超越基準值的機率成為最佳變化版本的機率。視所評估的指標而定,這個資料欄可能會標示為「每位使用者的時間長度」、「每位使用者的收益」、「留存率」或「轉換率」。
  3. 實驗執行一段時間後 (FCMIn-App Messaging 至少 7 天,Remote Config 至少 14 天),這個頁面上的資料會指出哪個變化版本 (如果有) 是「領先者」。部分評估項目會搭配長條圖,以視覺格式呈現資料。

向所有使用者推出實驗

實驗執行一段時間後,如果目標指標有「領先者」(即勝出版本),即可向所有使用者發布實驗。您可以選取要向所有使用者發布的變化版本。即使實驗結果沒有明顯的勝出組合,您仍可向所有使用者發布變化版本。

  1. Firebase 控制台導覽選單的「Engage」部分,按一下 A/B Testing
  2. 按一下「已完成」或「正在執行」,然後點選要發布給所有使用者的實驗,接著按一下內容選單 ()「推出變化版本」
  3. 如要向所有使用者推出實驗,請執行下列任一操作:

    • 如果實驗使用通知編輯器,請使用「推出訊息」對話方塊,將訊息傳送給未參與實驗的其他指定使用者。
    • 針對 Remote Config 實驗,請選取變化版本,決定要更新哪些 Remote Config 參數值。建立實驗時定義的指定條件,在範本中會顯示為新條件,確保該版推出後只會影響實驗所指定的使用者。點選「在遠端設定中查看」並檢查變更後,請按一下「發布變更」完成導入。
    • 針對 In-App Messaging 實驗,請使用對話方塊決定要以獨立 In-App Messaging 廣告活動推出哪個變化版本。選取後,系統會將您重新導向至 FIAM Compose 畫面,讓您在發布前進行任何必要的變更 (如有需要)。

擴大實驗範圍

如果您發現實驗無法吸引足夠的使用者,無法讓 A/B Testing 宣告勝出組合,可以增加實驗的發布範圍,以便觸及更多應用程式使用者。

  1. Firebase 控制台導覽選單的「Engage」部分,按一下 A/B Testing
  2. 選取要編輯的進行中實驗。
  3. 在「實驗總覽」中,按一下內容選單 (),然後點選「編輯執行中的實驗」
  4. 「指定目標」對話方塊會顯示一個選項,可增加參與實驗的使用者百分比。選取大於目前百分比的數字,然後按一下「發布」。實驗將推送至您指定的使用者百分比。

複製或停止實驗

  1. Firebase 控制台導覽選單的「Engage」部分,按一下 A/B Testing
  2. 按一下「已完成」或「正在執行」,將游標懸停在實驗上,然後按一下內容功能表 (),再按一下「複製實驗」或「停止實驗」

指定使用者

您可以使用下列使用者指定條件,指定要納入實驗的使用者。

指定條件 運算子 注意事項
版本 包含、
不包含、
完全相符、
包含規則運算式
輸入一或多個要納入實驗的應用程式版本值。

使用「包含」、「不包含」或「完全比對」運算子時,您可以提供以逗號分隔的值清單。

使用「contains regex」運算子時,您可以使用 RE2 格式建立規則運算式。規則運算式可以比對目標版本字串的全部或部分內容。您也可以使用 ^$ 錨點,比對目標字串的開頭、結尾或整個字串。

使用者目標對象 includes all of,
includes at least one of,
does not include all of,
does not include at least one of
選取一或多個 Analytics 目標對象,指定可能會納入實驗的使用者。 部分指定 Google Analytics 目標對象的實驗,可能需要幾天時間才能累積資料,因為這些實驗會受到 Analytics 資料處理延遲的影響。這種延遲情況最有可能發生在新使用者的情況下,他們通常會在建立後 24 到 48 小時後,才會加入符合資格的目標對象,或是最近建立的目標對象
使用者屬性 文字:
包含、
不包含、
完全相符、
包含規則運算式

數字:
<、≤、=、≥、>
Analytics 使用者資源用於選取可能納入實驗的使用者,並提供多種選項可用來選取使用者資源值。

在用戶端上,您只能為使用者屬性設定字串值。如果條件使用數值運算子,Remote Config 服務會將對應使用者屬性的值轉換為整數/浮點。
使用「contains regex」運算子時,您可以使用 RE2 格式建立規則運算式。規則運算式可以比對目標版本字串的全部或部分內容。您也可以使用 ^$ 錨點,比對目標字串的開頭、結尾或整個字串。
國家/地區 不適用 一或多個國家/地區,用於選取可能納入實驗的使用者。  
語言 不適用 一或多種語言和語言代碼,用於選取可能參與實驗的使用者。  
初次開啟 大於
小於
介於
根據使用者第一次開啟應用程式的時間指定目標使用者,以天為單位指定。
與應用程式的最近一次互動 大於
小於
介於
根據使用者上次與應用程式互動的時間指定目標使用者,以天為單位指定。

A/B Testing 項指標

建立實驗時,您會選擇用來決定勝出組合的主要或目標指標。您也應追蹤其他指標,進一步瞭解各個實驗變化版本的成效,並追蹤各個變化版本可能不同的重要趨勢,例如使用者留存率、應用程式穩定性和應用程式內購收益。您最多可以在實驗中追蹤五個非目標指標。

舉例來說,假設您已在應用程式中新增新的應用程式內購買項目,並想要比較兩種不同的「提醒」訊息成效。在這種情況下,您可能會選擇將「購買收益」設為目標指標,因為您希望勝出版本代表能帶來最高應用程式內購買收益的通知。由於您也想追蹤哪個變化版本可帶來更多日後轉換和留存使用者,因此您可以在「其他要追蹤的指標」中新增下列指標:

  • 預估總收益:查看兩種變化版本的應用程式內購和廣告收益總和有何差異
  • Retention (1 day)Retention (2-3 days)Retention (4-7 days),以便追蹤每日/每週的使用者續留率

下表詳細說明如何計算目標指標和其他指標。

「目標」指標

指標 說明
未遇到當機情形的使用者 在實驗期間,未在應用程式中遇到 Firebase Crashlytics SDK 偵測到的錯誤的使用者百分比。
預估廣告收益 預估廣告收益。
預估總收益 購買和預估廣告收益的總價值。
購買收益 所有 purchasein_app_purchase 事件的總值。
保留率 (1 天) 每天回訪應用程式的使用者人數。
保留 (2 到 3 天) 在 2 到 3 天內回訪應用程式的使用者人數。
留存率 (4 到 7 天) 在 4 到 7 天內回訪應用程式的使用者人數。
留存 (8 到 14 天) 在 8 到 14 天內回訪應用程式的使用者人數。
留存率 (15 天以上) 自上次使用應用程式起算,超過 15 天後回訪應用程式的使用者人數。
first_open 使用者安裝/重新安裝應用程式後,初次開啟應用程式時觸發的 Analytics 事件。用於轉換漏斗。

其他指標

指標 說明
notification_dismiss Analytics 事件:在使用者關閉 Notifications 編寫器傳送的通知時觸發 (僅限 Android)。
notification_receive 在應用程式於背景運作期間,收到 Notifications 編寫器傳送的通知時觸發的 Analytics 事件 (僅限 Android)。
os_update Analytics 事件,用於追蹤裝置作業系統更新為新版本的時間。如需更多資訊,請參閱「自動收集的事件」。
screen_view Analytics 事件,可追蹤應用程式內的螢幕瀏覽次數。如需更多資訊,請參閱「追蹤螢幕瀏覽次數」。
session_start 用於計算應用程式中使用者工作階段的 Analytics 事件。如需更多資訊,請參閱「自動收集的事件」。