A/B テストの種類

Adapty では 2 種類の 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 つのバリアント内で複数のフローまたはペイウォールを使用したい:
1 つのクロスプレースメント A/B テストバリアント内に複数のペイウォールがある例

主な違い

機能通常の 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 テストを選択する際のロジックを示しています。

Diagram showing the A/B test selection logic for a paywall placement

A/B Tests ページでは、フロー、ペイウォール、オンボーディングのテストがそれぞれ別タブに表示されます。クロスプレースメントテストには専用のタブが2つあります:Crossplacement (Flows) と Crossplacement (Paywalls) です。

フロー、ペイウォール、クロスプレースメント(フロー)、クロスプレースメント(ペイウォール)テストのタブが表示されたA/B テスト一覧ページ

クロスプレースメント A/B テストの制限

Warning

クロスプレースメント A/B テストにオンボーディングプレースメントを含めることはできません。1つのテストにフローとペイウォールのプレースメントを混在させることもできません。

クロスプレースメント A/B テストは、テスト内のすべてのプレースメントで各ユーザーが同じバリアントを表示することを保証します。これにより、以下の制限が生じます。

  • 参加できるのは新規ユーザーのみです。新規ユーザーとは、Adapty のフローまたはペイウォールを一度も表示したことがなく、アプリから getFlow または getPaywall を呼び出したことのないユーザーを指します。それ以外のユーザーに対しては、フローやペイウォールの一貫した表示順序を保証することができません。

  • ユーザーが最初に遭遇したプレースメントによって、Adapty が表示するフローまたはペイウォールが決まります。ユーザーの割り当てを変更したり、同じユーザーを複数のクロスプレースメント A/B テストに登録したりすることはできません。

  • 他のデバイス(例えばユーザーの別のデバイス)で行われたクロスプレースメントの割り当ては、アプリがアクティブになったときにのみ、かつ最大60秒に1回の頻度で同期されます。この同期は強制できないため、割り当てが長時間実行中のセッションに反映されるまで、最大1分かかる場合があります。

Warning

ユーザーがクロスプレースメントのフローまたはペイウォールを受け取ると、テストを停止した後も90日間表示され続けます。この期間を変更するには、General 設定で Cross-placement variation stickiness を調整してください。

クロスプレースメント A/B テストの優先順位

  • クロスプレースメント A/B テストは、常に通常の A/B テストおよびオンボーディング A/B テストよりも優先されます。新規ユーザーが同じプレースメントでクロスプレースメントテストと通常のテストの両方の対象となる場合は、クロスプレースメントテストが表示されます。

  • 同じオーディエンスを持つ複数のクロスプレースメント A/B テストが同じプレースメントを共有している場合、Adapty は追加された順序に基づいてテストの優先順位を自動的に割り当てます。最初のテストが最高優先度を持ちます。手動で変更することはできません。

  • オーディエンスの小さいセグメントをターゲットとするテストは、「すべてのユーザー」セグメントをターゲットとするテストよりも自動的に優先されます。

Note

アナリティクスでは、クロスプレースメント A/B テストはプレースメントごとに 1 つずつ、複数の子テストとして表示されます。子テストの命名パターンは <test-name> child-0、<test-name> child-1 のようになります。番号は A/B テスト詳細ページのプレースメントの順序と対応しています。特定のプレースメントの結果を確認するには、Placement でフィルタリングしてください。

次のステップ