---
title: "A/B テストタイプ"
description: "Adapty の A/B テストタイプについて説明します。"
---

Adapty では、テストシナリオに応じた 2 種類の A/B テストタイプを用意しています。

- **通常の A/B テスト:** 単一の[フロー](adapty-flow-builder)/[ペイウォール](paywalls)/[オンボーディング](onboardings)プレースメントに対して作成する A/B テストです。
- **クロスプレースメント A/B テスト:** アプリ内の複数のペイウォールプレースメントに対して作成する A/B テストです。A/B テストが<InlineTooltip tooltip="バリアント">A/B テストのバリアントとは、テスト対象のフロー、ペイウォール、またはオンボーディングの代替バージョンです。</InlineTooltip>を割り当てると、選択したアプリのすべてのセクションにわたって同じバリアントを一貫して表示します。

:::warning
クロスプレースメント A/B テストは、Adapty SDK v3.5.0 以降でのみ利用可能です。クロスプレースメント A/B テストはペイウォールのみで動作します。

フロー A/B テストには Adapty SDK v4.0.0 以降が必要です。

オンボーディング A/B テストには、Adapty SDK v3.8.0 以降（iOS、Android、React Native、Flutter）、v3.14.0 以降（Unity）、または v3.15.0 以降（Kotlin Multiplatform、Capacitor）が必要です。

旧バージョンのユーザーはスキップされます。
:::

各フロー/ペイウォール/オンボーディングにはウェイトが設定され、テスト中のトラフィックを分割します。

たとえば、ウェイトが 70% と 30% の場合、1,000 人のユーザーのうち最初のペイウォールは約 700 人に、2 番目のペイウォールは約 300 人に表示されます。クロスプレースメントテストでは、ウェイトはペイウォールごとではなくバリアントごとに設定されます。

この設定により、異なるフローやペイウォールを比較し、アプリのマネタイズ戦略についてデータに基づいた意思決定ができます。

## どちらのタイプを使うべきか \{#when-to-use-each-type\}

各 A/B テストタイプが有効な場面は以下のとおりです。
- **通常の A/B テスト**:
  - アプリにプレースメントが 1 つしかない場合。
  - アプリに複数のプレースメントがある場合でも、1 つのプレースメントのみで A/B テストを実行し、そのプレースメントの経済効果の変化だけを追跡したい場合。
  - 過去のユーザー（少なくとも 1 つの Adapty ペイウォールを見たことがあるユーザー）に対して A/B テストを実行したい場合。
- **クロスプレースメント A/B テスト**:
  - 複数のプレースメントにわたってバリアントを同期させたい場合。たとえば、オンボーディングフローとアプリ設定の両方で同時に価格を変更したい場合。
  - アプリ全体の経済効果を評価したい場合。すべてのプレースメントにわたってテストを実行することで、個別のプレースメントをテストするよりも A/B テストの統計が分析しやすくなります。
  - 新規ユーザーのみ（Adapty のペイウォールを一度も見たことがないユーザー）に対して A/B テストを実行したい場合。
  - 1 つのバリアント内で複数のペイウォールを使用したい場合:

  <img src="/assets/shared/img/ab-test-variants.png"
  alt="1 つのクロスプレースメント A/B テストバリアント内に複数のペイウォールがある例"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

## 主な違い \{#key-differences\}

| 機能                         | 通常の 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）                                                          | 3.5.0 以降                                  |
| **最適な用途**                    | アプリ全体の経済効果を考慮せずに、単一のフロー/ペイウォール/オンボーディングプレースメントの独立した変更をテストする場合 | アプリ全体のマネタイズ戦略を評価する場合           |

## A/B テストの選択ロジック \{#ab-test-selection-logic\}

**クロスプレースメント A/B テストは通常の A/B テストよりも優先されます。** ただし、クロスプレースメントテストは**新規ユーザー**（まだ Adapty のペイウォールを一度も見ていないユーザー、つまり `getPaywall` SDK メソッドが一度も呼び出されていないユーザー）にのみ表示されます。これにより、プレースメント間での結果の一貫性が確保されます。

以下のダイアグラムは、Adapty がプレースメントに対して A/B テストを選択するためのロジックを示しています。

  <img src="/assets/shared/img/ab-tests-scheme.webp"
  alt="ペイウォールプレースメントの A/B テスト選択ロジックを示すダイアグラム"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '350px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

**A/B Tests** ページでは、ペイウォール、オンボーディング、フロー、クロスプレースメントのテストが別々のタブに表示されます。

  <img src="ab-tests-tabs.webp"
  alt="通常、オンボーディング、クロスプレースメントのテストタイプごとにタブが設けられた A/B テスト一覧ページ"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

## クロスプレースメント A/B テストの制限事項 \{#crossplacement-ab-test-limitations\}

:::warning
クロスプレースメント A/B テストには、フローまたはオンボーディングのプレースメントを含めることができません。
:::

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

* 参加できるのは新規ユーザーのみです。新規ユーザーとは、Adapty のペイウォールを見たことがなく、アプリが `getPaywall` を一度も呼び出していないユーザーです。それ以外のユーザーに対して一貫したペイウォールのチェーンを保証することはできません。

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

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

## クロスプレースメント A/B テストの優先順位 \{#crossplacement-ab-test-priority\}

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

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

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

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

## 次のステップ \{#next-steps\}

- [A/B テストの作成・実行・停止](run_stop_ab_tests) — 最初のテストをセットアップして開始する
- [A/B テストの結果と指標](results-and-metrics) — パフォーマンスを分析して勝者を選ぶ