A/B テストの種類
Adapty では 2 種類の A/B テストが用意されており、それぞれ異なるテストシナリオに対応しています。
- 通常のA/B テスト: 単一のフロー/ペイウォール/オンボーディングプレースメントに対して作成されるA/B テストです。
- クロスプレースメントA/B テスト: アプリ内の複数のフローまたはペイウォールのプレースメントに対して作成されるA/B テストです。A/B テストが バリアント A/B テストのバリアントとは、テスト対象となるフロー、ペイウォール、またはオンボーディングの代替バージョンです。 を割り当てると、選択したアプリ内のすべてのセクションで一貫してそのバリアントが表示されます。
各フロー/ペイウォール/オンボーディングにはウェイトが設定され、テスト中のトラフィックを分割します。
例えば、70%と30%のウェイトを設定した場合、1,000人のユーザーのうち約700人に最初のペイウォールが表示され、残りの約300人に2番目のペイウォールが表示されます。クロスプレースメントテストでは、ウェイトはフローやペイウォール単位ではなく、バリアント単位で設定します。
この設定により、異なるフローやペイウォールを比較し、アプリの収益化戦略においてデータに基づいた意思決定を行うことができます。
どちらのタイプを使うべきか
各 A/B テストタイプが役立つ場面:
- 通常の A/B テスト:
- アプリにプレースメントが 1 つしかない。
- アプリに複数のプレースメントがあっても、1 つのプレースメントだけで A/B テストを実施し、そのプレースメントの収益変化のみを追跡したい。
- 過去に Adapty のペイウォールを 1 度でも見たことがある既存ユーザーを対象に A/B テストを行いたい。
- クロスプレースメント A/B テスト:
- 複数のプレースメントにわたってバリアントを同期させたい。たとえば、オンボーディングフローとアプリの設定画面で同時に価格を変更するような場合。
- アプリ全体の収益構造を評価したい。すべてのプレースメントにわたってテストを実施することで、個別のプレースメントをテストするよりも A/B テストの統計を分析しやすくなる。
- Adapty のペイウォールを一度も見たことがない新規ユーザーのみを対象に A/B テストを行いたい。
- 1 つのバリアント内で複数のフローまたはペイウォールを使用したい:
主な違い
| 機能 | 通常の A/B テスト | クロスプレースメント A/B テスト |
|---|---|---|
| テスト対象 | 1つのフロー/ペイウォール/オンボーディング | 1つのバリアントに属するフローまたはペイウォールのセット |
| バリアントの一貫性 | プレースメントごとに個別にバリアントが決定される | テスト内のすべてのプレースメントで同じバリアントが使用される |
| オーディエンスターゲティング | フロー/ペイウォール/オンボーディングのプレースメントごとに定義 | テスト内のすべてのプレースメントで共有 |
| アナリティクス | 1つのフロー/ペイウォール/オンボーディングのプレースメントを分析 | テストに含まれるプレースメント全体でアプリ全体を分析 |
| バリアントのウェイト配分 | フロー/ペイウォール/オンボーディングごと | フローまたはペイウォールのセットごと |
| ユーザー | すべてのユーザー | 新規ユーザーのみ(Adapty のペイウォールを見たことがないユーザー) |
| Adapty SDK バージョン | フローの場合: v4.0.0+。ペイウォールの場合: 任意。オンボーディングの場合: v3.8.0+(iOS、Android、React Native、Flutter)、v3.14.0+(Unity)、v3.15.0+(KMP、Capacitor) | フローの場合: 4.0.0+、ペイウォールの場合: 3.5.0+ |
| 最適な用途 | アプリ全体の経済性を考慮せず、単一のフロー/ペイウォール/オンボーディングのプレースメントにおける独立した変更をテストする場合 | アプリ全体の収益化戦略を評価する場合 |
A/B テスト選択ロジック
クロスプレースメント A/B テストは通常の A/B テストより優先されます。 ただし、クロスプレースメントテストは新規ユーザーのみに表示されます。具体的には、Adapty のフローまたはペイウォールを一度も表示したことがないユーザー(アプリがそのユーザーに対して getFlow または getPaywall を一度も呼び出していないユーザー)が対象です。これにより、プレースメント間で結果の一貫性が保たれます。
以下の図は、Adapty がプレースメントの A/B テストを選択する際のロジックを示しています。
A/B Tests ページでは、フロー、ペイウォール、オンボーディングのテストがそれぞれ別タブに表示されます。クロスプレースメントテストには専用のタブが2つあります:Crossplacement (Flows) と Crossplacement (Paywalls) です。
クロスプレースメント A/B テストの制限
クロスプレースメント A/B テストにオンボーディングプレースメントを含めることはできません。1つのテストにフローとペイウォールのプレースメントを混在させることもできません。
クロスプレースメント A/B テストは、テスト内のすべてのプレースメントで各ユーザーが同じバリアントを表示することを保証します。これにより、以下の制限が生じます。
-
参加できるのは新規ユーザーのみです。新規ユーザーとは、Adapty のフローまたはペイウォールを一度も表示したことがなく、アプリから
getFlowまたはgetPaywallを呼び出したことのないユーザーを指します。それ以外のユーザーに対しては、フローやペイウォールの一貫した表示順序を保証することができません。 -
ユーザーが最初に遭遇したプレースメントによって、Adapty が表示するフローまたはペイウォールが決まります。ユーザーの割り当てを変更したり、同じユーザーを複数のクロスプレースメント A/B テストに登録したりすることはできません。
-
他のデバイス(例えばユーザーの別のデバイス)で行われたクロスプレースメントの割り当ては、アプリがアクティブになったときにのみ、かつ最大60秒に1回の頻度で同期されます。この同期は強制できないため、割り当てが長時間実行中のセッションに反映されるまで、最大1分かかる場合があります。
ユーザーがクロスプレースメントのフローまたはペイウォールを受け取ると、テストを停止した後も90日間表示され続けます。この期間を変更するには、General 設定で Cross-placement variation stickiness を調整してください。
クロスプレースメント A/B テストの優先順位
-
クロスプレースメント A/B テストは、常に通常の A/B テストおよびオンボーディング A/B テストよりも優先されます。新規ユーザーが同じプレースメントでクロスプレースメントテストと通常のテストの両方の対象となる場合は、クロスプレースメントテストが表示されます。
-
同じオーディエンスを持つ複数のクロスプレースメント A/B テストが同じプレースメントを共有している場合、Adapty は追加された順序に基づいてテストの優先順位を自動的に割り当てます。最初のテストが最高優先度を持ちます。手動で変更することはできません。
-
オーディエンスの小さいセグメントをターゲットとするテストは、「すべてのユーザー」セグメントをターゲットとするテストよりも自動的に優先されます。
アナリティクスでは、クロスプレースメント A/B テストはプレースメントごとに 1 つずつ、複数の子テストとして表示されます。子テストの命名パターンは <test-name> child-0、<test-name> child-1 のようになります。番号は A/B テスト詳細ページのプレースメントの順序と対応しています。特定のプレースメントの結果を確認するには、Placement でフィルタリングしてください。
次のステップ
- A/B テストの作成・実行・停止 — 最初のテストをセットアップして開始する
- A/B テストの結果と指標 — パフォーマンスを分析して勝者を選ぶ