Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

使用A / B測試創建消息傳遞實驗

當您與用戶聯繫或開始新的營銷活動時,您需要確保正確無誤。 A / B測試可以通過在用戶群的選定部分上測試消息變體來幫助您找到最佳的措詞和表示形式。無論您的目標是更好地保留產品還是轉換產品,A / B測試都可以執行統計分析,以確定消息變體是否優於所選目標的對照組。

要使用對照組進行A / B測試功能變體,請執行以下操作:

  1. 創建實驗。
  2. 在測試設備上驗證您的實驗。
  3. 管理實驗。

創建實驗

通過使用Notifications作曲器進行的實驗,您可以在一條通知消息上評估多個變體。

  1. 登錄Firebase,更新數據共享設置 ,並確保啟用了數據共享。沒有數據共享,您的實驗將無法訪問分析數據。
  2. Firebase控制台導航欄上,展開增長 ,然後單擊A / B測試
  3. 點擊創建實驗 ,然後在系統提示您提供要使用的服務時選擇通知。
  4. 輸入實驗的名稱和可選說明 ,然後點擊下一步
  5. 填寫定位字段,首先選擇使用您的實驗的應用。您還可以通過選擇以下一個或多個選項來定位一部分用戶以參與實驗:

    • 版本:您的應用程序的一個或多個版本
    • 使用者對象: Analytics(分析)使用者過去是用來指定可能包含在實驗中的使用者
    • 用戶屬性:一個或多個Google Analytics(分析)用戶屬性,用於選擇實驗中可能包含的用戶
    • 預測:通過機器學習預測的參與特定行為的用戶組
    • 國家/地區:一個或多個國家或地區,用於選擇實驗中可能包含的用戶
    • 設備語言:一種或多種語言和語言環境,用於選擇實驗中可能包含的用戶
  6. 設置目標用戶百分比:輸入與您希望在對照組和實驗中的一個或多個變體之間平均分配的“ 目標用戶”下設置的條件相匹配的應用程序用戶群百分比。這可以是0.01%到100%之間的任何百分比。對於每個實驗(包括重複實驗),將百分比隨機分配給用戶。

  7. 在“ 變體”部分的“ 輸入消息”文本字段中,鍵入要發送到控制組的消息 。要不向控制組發送消息,請將此字段留空。

  8. (可選)要向您的實驗添加多個變體,請點擊添加變體 。默認情況下,實驗有一個對照組和一個變體。

  9. (可選)輸入實驗中每個變體的名稱,以替換變體A變體B等名稱。

  10. 為您的實驗定義一個目標指標,以便在評估實驗變體以及下拉列表中的任何其他期望指標時使用。這些指標包括內置目標(參與度,購買,收入,保留率等),Analytics轉換事件和其他Analytics(分析)事件。

  11. 選擇消息的選項:

    • 投放日期:選擇立即發送可在保存時立即啟動實驗,也可以選擇預定以指定將來啟動實驗的時間。
    • 高級選項:要為實驗中包含的所有通知選擇高級選項,請展開高級選項 ,然後更改列出的任何郵件選項。
  12. 點擊查看以保存實驗。

每個項目最多允許您進行100個實驗,其中最多可以包含24個正在運行的實驗,其餘的則作為草稿或已完成。

在測試設備上驗證實驗

每個Firebase應用程序安裝都有與之關聯的實例ID令牌(或註冊令牌)。您可以使用此令牌在安裝了應用的測試設備上測試特定的實驗變體。要在測試設備上驗證實驗,請執行以下操作:

  1. 獲取實例ID令牌,如下所示:

    迅速

    InstanceID.instanceID().instanceID { (result, error) in
      if let error = error {
        print("Error fetching remote instance ID: \(error)")
      } else if let result = result {
        print("Remote instance ID token: \(result.token)")
        self.instanceIDTokenMessage.text  = "Remote InstanceID token: \(result.token)"
      }
    }
    

    目標C

    [[FIRInstanceID instanceID] instanceIDWithHandler:^(FIRInstanceIDResult * _Nullable result,
                                                        NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error fetching remote instance ID: %@", error);
      } else {
        NSLog(@"Remote instance ID token: %@", result.token);
        NSString* message =
          [NSString stringWithFormat:@"Remote InstanceID token: %@", result.token];
        self.instanceIDTokenMessage.text = message;
      }
    }];
    

    爪哇

    FirebaseInstanceId.getInstance().getInstanceId()
            .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
                @Override
                public void onComplete(@NonNull Task<InstanceIdResult> task) {
                    Log.d("IID_TOKEN", task.getResult().getToken());
                }
            });

    Kotlin + KTX

    FirebaseInstanceId.getInstance().instanceId
            .addOnSuccessListener { result ->
                Log.d("IID_TOKEN", result.token)
            }

    C ++

    firebase::InitResult init_result;
    auto* instance_id_object = firebase::instance_id::InstanceId::GetInstanceId(
        firebase::App::GetInstance(), &init_result);
    instance_id_object->GetToken().OnCompletion(
        [](const firebase::Future<std::string>& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::instance_id::kErrorNone) {
            printf("Instance ID Token %s\n", future.result()->c_str());
          }
        });
    

    統一

    Firebase.InstanceId.FirebaseInstanceId.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Instance ID Token {0}", task.Result));
        }
      });
    
  2. Firebase控制台導航欄上,單擊A / B測試
  3. 點擊草稿 ,然後點擊實驗標題。
  4. 在“ 實驗概述”標題下,點擊詳細信息
  5. 點擊管理測試設備 ,然後輸入測試設備的實例ID令牌,然後選擇要發送到該測試設備的實驗變體。
  6. 運行應用程序,並確認測試設備上已接收到所選的變體。

要了解有關實例ID令牌的更多信息,請參閱FIRInstanceID (iOS)或FirebaseInstanceId (Android)。

管理實驗

無論您是使用Remote Config,Notifications作曲家還是Firebase應用內消息傳遞來創建實驗,您都可以驗證並啟動實驗,在實驗運行時對其進行監視並增加正在運行的實驗中包含的用戶數量。

實驗完成後,您可以記錄獲勝版本使用的設置,然後將這些設置推廣給所有用戶。或者,您可以運行另一個實驗。

開始實驗

  1. Firebase控制台導航欄上,展開增長 ,然後單擊A / B測試
  2. 點擊草稿 ,然後點擊實驗標題。
  3. 要驗證您的應用是否包含將要包含在實驗中的用戶,請在“ 定位和分發”部分中檢查數字是否大於0% (例如, 符合條件的用戶中有1% )。
  4. 要更改實驗,請點擊編輯
  5. 要開始實驗,請點擊開始實驗 。每個項目一次最多可以運行24個實驗。

監控實驗

實驗運行了一段時間後,您可以檢查其進度,並查看到目前為止參與實驗的用戶的結果。

  1. Firebase控制台導航欄上,單擊“ 增長” ,然後單擊“ A / B測試”
  2. 點擊運行 ,然後點擊實驗標題。在此頁面上,您可以查看有關正在運行的實驗的各種統計信息,包括目標指標和其他指標。對於每個指標,可以使用以下信息:

    • 改進 :相對於基線(或對照組),給定變體的指標改進的度量。通過將變體的值範圍與基線的值範圍進行比較來計算。
    • 超過基準的概率:給定變體超出所選指標的基準的估計概率。
    • 最佳變體的可能性:對於所選指標,給定變體擊敗其他變體的估計概率。
    • 每位用戶的價值 :根據實驗結果,這是指標值隨著時間推移將落入的預測範圍。
    • 總值 :對照組或變異體的觀察到的累積值。該值用於衡量每個實驗變體的效果,並用於計算改進值範圍超出 基線的 概率以及成為最佳變體的概率 。根據要度量的指標,此列可能會標記為“每位用戶的持續時間”,“保留率”或“轉化率”。
  3. 要增加實驗中包含的用戶數量,請點擊增加分配 ,然後選擇增加的百分比以將更多符合條件的用戶添加到實驗中。

  4. 實驗運行了一段時間(至少24小時)後,此頁面上的數據會指出哪個版本(如果有)是“領導者”。某些測量伴隨有條形圖,以可視格式顯示數據。

向所有用戶推出實驗

實驗運行了足夠長的時間後,您就可以針對目標指標獲得“領導者”或獲勝變體,然後可以將實驗推廣到100%的用戶。這使您可以選擇一個變體,以發布給所有前進的用戶。即使您的實驗並未創造出明顯的贏家,您仍然可以選擇向所有用戶推出一個變體。

  1. Firebase控制台導航欄上,單擊“ 增長” ,然後單擊“ A / B測試”
  2. 點擊完成或正在運行 ,單擊要向所有用戶推出的實驗,單擊上下文菜單( ),然後單擊推出變體
  3. 通過執行以下操作之一,向所有用戶推廣您的實驗:

    • 對於使用Notifications作曲器的實驗,請使用“轉出消息”對話框將消息發送給不屬於該實驗的其餘目標用戶。
    • 對於遠程配置實驗,請使用該對話框來確定要為所有用戶更改的遠程配置參數值。
    • 對於應用內消息傳遞實驗,請使用該對話框確定哪些變量需要作為獨立的應用程序內消息傳遞活動推出。選擇之後,您將被重定向到FIAM撰寫屏幕以在發布之前進行任何更改(如果需要)。

展開實驗

如果您發現某個實驗沒有吸引足夠的用戶來進行A / B測試來宣布一位領導者,則可以增加實驗的分佈範圍,以擴大應用程序用戶群的比例。

  1. Firebase控制台導航欄上,單擊“ 增長” ,然後單擊“ A / B測試”
  2. 點擊運行 ,將鼠標懸停在實驗上,點擊上下文菜單( ),然後點擊增加分佈
  3. 控制台顯示一個帶有選項的對話框,用於增加當前正在運行的實驗的用戶百分比。輸入一個大於當前百分比的數字,然後單擊發送 。實驗將按您指定的用戶百分比推出。

複製或停止實驗

  1. Firebase控制台導航欄上,單擊“ 增長” ,然後單擊“ A / B測試”
  2. 點擊完成運行 ,將鼠標懸停在實驗上,點擊上下文菜單( ),然後點擊複製停止

用戶定位

您可以使用以下用戶定位條件來定位要包含在實驗中的用戶。

定位標準運營商注意
包含
不含,
完全匹配
包含正則表達式
輸入要包含在實驗中的一個或多個應用版本的值。

當使用任何contains不包含完全匹配運算符時,可以提供一個用逗號分隔的值列表。

使用contains regex運算符時,可以創建RE2格式的正則表達式。您的正則表達式可以匹配全部或部分目標版本字符串。您還可以使用^$定位符來匹配目標字符串的開始,結尾或整個字符串。

用戶受眾包括所有
包括以下至少一項:
不包括所有
不包含以下至少一項
選擇一個或多個Google Analytics(分析)受眾群體以定位可能包含在您的實驗中的用戶。
用戶屬性 對於文字:
包含
不含,
完全匹配
包含正則表達式

對於數字:
<,≤,=,≥,>
Google Analytics(分析)用戶屬性用於選擇可能包含在實驗中的用戶,以及用於選擇用戶屬性值的一系列選項。

在客戶端上,只能為用戶屬性設置字符串值。對於使用數字運算符的條件,“遠程配置”服務將相應用戶屬性的值轉換為整數/浮點數。
使用contains regex運算符時,可以創建RE2格式的正則表達式。您的正則表達式可以匹配全部或部分目標版本字符串。您還可以使用^$定位符來匹配目標字符串的開始,結尾或整個字符串。
預測不適用指定由Firebase預測定義的用戶組-例如,可能停止使用您的應用程序的用戶或可能進行應用程序內購買的用戶。選擇由Firebase預測工具定義的值之一。如果某個選項不可用,則可能需要通過訪問Firebase控制台的“預測”部分來選擇加入Firebase預測。
設備國家不適用用於選擇可能包含在實驗中的用戶的一個或多個國家或地區。
裝置語言不適用一種或多種語言和語言環境,用於選擇實驗中可能包含的用戶。 此定位條件僅適用於遠程配置。
第一次開放多於
少於
之間
根據用戶首次打開您的應用(以天為單位)定位目標用戶。 此定位條件僅適用於Firebase應用內消息傳遞。
上次應用參與度多於
少於
之間
根據用戶上一次與您的應用互動的時間(以天為單位)來定位用戶。 此定位條件僅適用於Firebase應用內消息傳遞。

A / B測試指標

創建實驗時,您可以選擇一個用於比較實驗變體的指標,還可以選擇其他指標進行跟踪,以幫助您更好地了解每個實驗變體並檢測任何重大副作用(例如應用崩潰)。下表提供有關如何計算目標指標和其他指標的詳細信息。

目標指標

公制描述
每日用戶參與度用戶每天在應用中花費的平均時間。
保留(1天) 每天返回您的應用的用戶數。
保留(2-3天) 在2-3天內返回到您的應用的用戶數。
保留(4-7天) 在4-7天內返回您的應用的用戶數。
保留(8-14天) 在8到14天內返回您的應用的用戶數。
保留(超過15天) 上次使用您的應用15天或更長時間後返回您的應用的用戶數。
通知已開啟跟踪用戶是否打開Notifications作曲家發送的通知。
採購收入所有總價值ecommerce_purchasein_app_purchase事件。
AdMob估算收入來自AdMob的估算收入。
預計總收入購買價值和AdMob估算收入的總和。
first_open 當用戶在安裝或重新安裝應用程序後首次打開該應用程序時觸發的Analytics(分析)事件。用作轉化渠道的一部分。
notification_open 一個Analytics事件,當用戶打開Notifications作曲家發送的通知時觸發。用作轉化渠道的一部分。

其他指標

公制描述
無崩潰的用戶實驗期間Firebase Crashlytics SDK檢測到未在您的應用程序中遇到錯誤的用戶百分比。
notification_dismiss 取消由Notifications作曲家發送的通知時觸發的Analytics事件(僅適用於Android)。
notification_receive 當應用程序在後台(僅適用於Android)時,當收到由Notifications作曲家發送的通知時觸發的Analytics事件。
os_update 一個Analytics事件,用於跟踪設備操作系統何時更新到新版本。要了解更多信息,請參閱自動收集事件
screen_view 一個Analytics事件,用於跟踪您在應用中查看的屏幕。要了解更多信息,請參閱跟踪屏幕視圖
session_start 一個Analytics(分析)事件,用於統計您應用中的用戶會話。要了解更多信息,請參閱自動收集事件
user_engagement 當您的應用程序位於前台時,會定期觸發的Analytics(分析)事件。要了解更多信息,請參閱自動收集事件

BigQuery數據導出

您可以在BigQuery中訪問與A / B測試相關的所有分析數據。 BigQuery允許您使用BigQuery SQL分析數據,將其導出到其他雲提供商或將數據用於自定義ML模型。有關更多信息,請參閱將BigQuery鏈接到Firebase

為了充分利用BigQuery數據導出功能,Firebase項目應採用“ Blaze”即用即付的定價計劃。 BigQuery負責存儲數據,流插入和查詢數據。加載和導出數據是免費的。有關更多信息,請參見BigQuery定價BigQuery沙盒

首先,請確保您的Firebase項目已鏈接到BigQuery。從左側導航欄中選擇設置>項目設置 ,然後選擇集成> BigQuery>鏈接 。該頁面顯示用於為項目中的所有應用執行BiqQuery分析數據導出的選項。

要查詢實驗的分析數據:

  1. 活動的實驗列表中,選擇所需的實驗以打開實驗結果頁面。
  2. 從“ 實驗”概述窗格的上下文菜單中,選擇“在BigQuery中查看” (此選項不適用於免費層上的項目)。

    這會打開BigQuery控制台的查詢撰寫器,並自動生成示例數據的示例查詢,以供您查看。在此查詢中,您的實驗被編碼為用戶屬性,鍵中為實驗名稱,值中為實驗變體。

  3. 在查詢編輯器中,選擇“運行查詢”。結果顯示在下部窗格中。

請注意,由於BigQuery中的Firebase數據每天僅更新一次,因此實驗頁面中的可用數據可能比BigQuery控制台中的可用數據更新。