Google アナリティクスとの間でテストのための統合を確立する

このガイドでは、サードパーティの A/B テストツールを Google アナリティクスと統合することで、顧客がそのツールで A/B テストのパターンを運用し、その結果を Google アナリティクスで分析できるようにする方法を説明します。

この記事の対象者

このガイドは、サードパーティの A/B テスト ソリューション プロバイダを対象としています。Google アナリティクスとサードパーティの A/B テスト ソリューションの統合について詳しくは、サードパーティのテストツールとの統合をご覧ください。

概要

サードパーティのテストツールと Google アナリティクスを統合するには、次を使用する必要があります。

上記に加え、ツールでテストを開始するユーザーは、該当する Google アナリティクス プロパティの編集者(またはそれ以上の権限を持つユーザー)である必要があります。

exp_variant_string パラメータをイベントに追加する

パターンごとに識別子を作成し、その識別子を次の experience_impression イベントの exp_variant_string パラメータに追加する必要があります。このパラメータは、ユーザーをパターンと関連付けるためのオーディエンスの作成に使用します。

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

experience_impression イベントは、ユーザーがパターンに追加された際(たとえばテスト用のページが読み込まれた際)に送信します。

パラメータの形式を統一する

テスト間や他のパートナーとの間で重複が発生しないよう、exp_variant_string パラメータの値は XXX-YYYYYYYYY-ZZZZZZZZ 形式にすることをおすすめします。

  • XXX は、サードパーティ ツールの ID です。
  • YYYYYYYYY は、ウェブサイト エクスペリエンスの ID です。
  • ZZZZZZZZ は、パターンの ID です。

ツール、ウェブサイト エクスペリエンス、パターンの文字数は自由です。

exp_variant_string parameter パラメータを使ってオーディエンスを定義する

オーディエンスを使用すると、exp_variant_string パラメータに基づいて、各パターンに追加されたユーザーをグループ化できます。このパラメータをオーディエンスのメンバーシップ条件として使用すれば、ユーザーを追加先パターンごとのオーディエンスにまとめることが可能です。

新しいウェブサイト エクスペリエンス用のオーディエンスの作成と、終了したウェブサイト エクスペリエンス用のオーディエンスのアーカイブは、Google Analytics Admin APIproperties.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
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
      }
    }
  ]
}

上のコードでは、次の内容のオーディエンスを作成しています。

  • オーディエンス名: 「Audience ABC - experiment F2948574 variant 3495F49」
  • オーディエンスの定義: 「experience_impression」という名前のイベントに「exp_variant_string」という名前のパラメータがあり、その値が「ABC-F2948574-3495F49」と完全に一致する場合に、該当ユーザーを追加する
  • メンバーシップ期間: 30 日

オーディエンスをアーカイブする

ウェブサイト エクスペリエンスが終了したら、properties.audiences.archive メソッドを使用してオーディエンスをアーカイブする必要があります。オーディエンスをアーカイブすると、ウェブサイト エクスペリエンスをさらに作成するためのスペースが空きます。アーカイブしたオーディエンスのデータは、Google アナリティクスの「過去のデータ」として引き続き参照可能です。

オーディエンス ターゲティング

オーディエンス ターゲティングを使用すると、ウェブサイトで特定の行動を示すユーザー群に的を絞ってテストを実施できます。たとえば、オーディエンス ターゲティングを使って、価値の高いユーザーを対象にスペシャル オファーや特典を提供することができます。オーディエンス ターゲティングでは、そのオーディエンスに該当するユーザーだけがテストの対象になります。

顧客がオーディエンス ターゲティングを設定できるようにするには、Google アナリティクスのオーディンスに含まれるユーザーをインポートして、そのユーザー ID かデバイス識別子(Google アナリティクスから取得)と貴社のシステムの識別子を比較します。双方の識別子が一致したユーザーは、そのテストの対象となります。

Google アナリティクスからユーザーをエクスポートして顧客のシステムにインポートするには、Audience List API を使用します。Audience List API では、オーディエンスに含まれるユーザーの日々の全体像を把握できるほか、オーディエンス内のユーザー ID やデバイス識別子をエクスポートすることもできます。

オーディエンス リストは、1 つのオーディエンスにつき 1 日 1 回のみリクエストすることをおすすめします。

制限事項

ウェブサイト エクスペリエンスの一時停止

Google アナリティクス 4 では、オーディエンスを一時停止することはできません。

ユーザーがウェブサイト エクスペリエンスを一時停止できるようにするには、以下を行う必要があります。

  • ユーザーがパターンのメンバーになったときにトリガーされるイベントの送信を停止する
  • ウェブサイト エクスペリエンスが一時停止中はすべてのイベントを無視する
  • Google アナリティクスのレポートにレポート フィルタを追加して、一時停止期間のデータを除外する

上記以外の方法として、Google アナリティクスで日付を手動で変更するためのリンクを顧客に提供することもできます。

ウェブサイト エクスペリエンス データの再処理

顧客が持っているイベント情報に抜けがある場合、アナリティクス側でその顧客のウェブサイト エクスペリエンスのデータを再処理することが可能です。Google アナリティクスがウェブサイト エクスペリエンス データを再処理する際、終了済みウェブサイト エクスペリエンスのアーカイブ済みオーディエンスは失われます。ただし、データ探索ツールで exp_variant_string を持つイベントを通して、ウェブサイト エクスペリエンスのデータを取得することは可能です。データ探索にはウェブサイト エクスペリエンスの前後に発生したイベントも含まれるため、精度はオーディエンスよりも低くなります。

ウェブサイト エクスペリエンス データのサンプリング

ユーザーが同時に複数のオーディエンスに割り当てられると、カーディナリティ問題(「(other)」行が表示される)が発生する可能性があります。これが発生する確率は、同時に発生するウェブサイト エクスペリエンスの数と、他の目的(例: 広告の入札)で使用されるオーディエンスの数が増えるにつれて高くなります。

ただし、Google アナリティクス 360 を使用しているなら、Google アナリティクスで「(other)」行にデータが集約される際に自動拡張データセットが有効になるため、データの全体像を総合的に把握できるようになります。

比較の上限

Google アナリティクス 4 のレポートには、一度に最大 4 つの比較が表示されます。4 つ以上のパターンがある場合、比較するオーディエンスを交換できます。その際は、コンバージョン率の最も高いパターンを優先することをおすすめします。