使用 Google Analytics (分析) 建立實驗整合

本指南說明如何將第三方 A/B 實驗工具與 Google Analytics 整合。整合後,使用者就能在工具中執行實驗變數,並使用 Google Analytics 解讀結果。

適用對象

本指南主要適用於第三方 A/B 實驗解決方案供應商。

  • 如要瞭解如何整合 Google Analytics 與第三方 A/B 實驗解決方案,請參閱「整合第三方實驗工具」。
  • 如果您要開發自訂或內部實驗架構,而不是整合第三方工具,請參閱「內部和自訂實驗」。

總覽

如要整合第三方實驗工具與 Google Analytics,您必須使用:

此外,在工具中啟動實驗的使用者,必須是 Google Analytics 資源的編輯者 (或以上)。

在事件中加入 exp_variant_string 參數

您需要為每個子類建立 ID,然後將 ID 新增至下列 exp_variant_string 參數中的 experience_impression 事件。您可以使用這個參數建立目標對象,將使用者與變數建立關聯。

gtag('event', 'experience_impression', {
  // Replace the value with the Experiment-variant ID
  exp_variant_string: "ABC-F2948574-3495F49"
});

在使用者加入變數時傳送 experience_impression 事件,例如載入實驗網頁時。

設定參數格式

為避免實驗和其他合作夥伴重複使用,建議您為 exp_variant_string 參數值使用 TOOL_ID-EXPERIENCE_ID-VARIANT_ID 格式,其中:

  • TOOL_ID 是第三方工具的 ID
  • EXPERIENCE_ID 是體驗 ID
  • VARIANT_ID 是變數的 ID

工具、體驗和變體可使用任意數量的字元。

使用 exp_variant_string 參數定義目標對象

目標對象可讓您根據 exp_variant_string 參數,將已加入變數的使用者分組。將這個參數做為目標對象的成員資格條件,即可根據使用者加入的變數,將他們新增至適當的目標對象。

如要為新體驗建立目標對象,以及封存已結束體驗的目標對象,請使用 Google Analytics Admin API 中的 properties.audiences 資源。

建立目標對象

下列要求主體會使用 properties.audiences.create 方法,為已加入 ID 為 ABC-F2948574-3495F49 的變數的使用者建立目標對象。請注意,您可以根據體驗長度調整會員效期 (最長 540 天)。

建議您將 atAnyPointInTime 參數設為 true,以減少實驗間的資料差異。將參數設為 true 時,系統會將已指派給通過實驗的使用者,指派給新的實驗。如果將參數設為 false 或未設定,使用者已獲派至已傳遞的實驗時,就無法新增至新實驗。

{
  "displayName": "Audience ABC - experiment F2948574 variant 3495F49",
  "membershipDurationDays": 30,
  "filterClauses": [
    {
      "clauseType": "INCLUDE",
      "simpleFilter": {
        "scope": "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS",
        "filterExpression": {
          "andGroup": {
            "filterExpressions": [
              {
                "orGroup": {
                  "filterExpressions": [
                    {
                      "eventFilter": {
                        "eventName": "experience_impression",
                        "eventParameterFilterExpression": {
                          "andGroup": {
                            "filterExpressions": [
                              {
                                "orGroup": {
                                  "filterExpressions": [
                                    {
                                      "dimensionOrMetricFilter": {
                                        "fieldName": "exp_variant_string",
                                        "stringFilter": {
                                          "matchType": "EXACT",
                                          "value": "ABC-F2948574-3495F49"
                                        },
                                        "atAnyPointInTime": true
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
      }
    }
  ]
}

上述程式碼片段會建立下列目標對象:

  • 目標對象名稱:「目標對象 ABC - 實驗 F2948574 變數 3495F49」
  • 目標對象定義:「在事件名稱為『experience_impression』且參數名稱為『exp_variant_string』,而值與『ABC-F2948574-3495F49』完全相符時,納入使用者」
  • 再行銷效期:30 天

封存目標對象

實驗結束後,您需要使用 properties.audiences.archive 方法封存目標對象。封存目標對象可讓使用者釋出空間,建立更多體驗。使用者仍可透過 Google Analytics 中的歷來資料,存取已封存目標對象的資料。

指定目標對象

顧客可以藉助指定目標對象功能,鎖定自家網站上出現特定行為的使用者族群做為實驗對象 舉例來說,顧客可以指定向高價值顧客顯示特價優惠和獎勵活動資訊。這樣一來,只有屬於目標對象的使用者會看到實驗。

您可以從 Google Analytics 匯入目標對象中的使用者,然後比較 Google Analytics 中的 User-ID 或裝置 ID 與系統中的 ID,讓客戶設定目標對象指定條件。如果這些 ID 相符,系統就會將使用者加入實驗。

如要從 Google Analytics 匯出使用者並匯入用戶端,請使用目標對象名單 API。目標對象名單 API 會提供目標對象中每天的使用者快照,並允許您匯出目標對象中的 User-ID 或裝置 ID

建議您每天只為每個目標對象索取一次目標對象名單。

限制

將實驗資料與 Google Analytics 整合時,請注意下列功能和限制。

暫停遊戲體驗

您無法在 Google Analytics 中暫停目標對象。

如要允許使用者暫停體驗,請務必:

  • 停止傳送在使用者成為變數成員時觸發的事件
  • 在實驗暫停期間忽略所有事件
  • 在 Google Analytics 報表中新增報表篩選器,排除暫停時間

或者,您也可以提供連結給使用者,讓他們在 Google Analytics 中手動變更日期。

重新處理體驗資料

如果使用者缺少活動資訊,Analytics 可以重新處理體驗資料。Google Analytics 重新處理體驗資料時,系統會遺失已結束體驗的封存目標對象。不過,使用者仍可透過探索中的 exp_variant_string 事件,擷取體驗資料。與目標對象相比,這類探索的準確度較低,因為探索中會顯示體驗前後發生的事件。

取樣體驗資料

如果使用者可同時分配至多個目標對象,客戶就會遇到基數問題 (可能導致顯示「(其他)」列)。如果並行體驗數量增加,且用於其他用途 (例如 Google Ads 出價) 的目標對象數量增加,發生這種情況的機率就會提高。

不過,如果客戶使用 Google Analytics 360,Google Analytics 會在資料匯總至「(other)」列下方時,啟用自動展開資料集,讓客戶掌握更完整的資料。

比較限制

Google Analytics 報表一次最多可顯示四個比較項目。如果使用者有超過四個變體,就能在比較時切換目標對象。建議優先放送轉換率最高的變體。

內部和自訂實驗

如果您是開發自訂或內部實驗架構,而不是整合第三方工具,可以使用用戶端事件在 Google Analytics 中追蹤實驗成效。

如要記錄使用者看到實驗和變化版本的時間,請按照下列步驟操作:

  1. 傳送包含參數的事件 (例如 experiment_impression 或自訂事件),以識別實驗和變數。
  2. 在 Google Analytics 資源中,為這些參數登錄以事件為範圍的自訂維度 (例如 experiment_idvariant_id)。
  3. 如要製作報表,請在「探索」中建立自訂報表,並使用自訂維度比較不同變體的指標。

範例:gtags

以下範例會傳送自訂事件,追蹤實驗變體曝光:

// Triggered when a user is bucketed into a variant
gtag('event', 'experiment_impression', {
  'experiment_id': 'homepage_hero_test',
  'variant_id': 'variant_A'
});