概要
はじめに
ユースケース
- クリエイティブ
- ターゲティング
- 入札タイプ
- 入札単位
A/B Testing
ユースケース
- クリエイティブ
- ターゲティング
- 入札タイプ
- 入札単位
属性
- テスト期間 (start_time フィールドと end_time フィールドで表現)
- スプリットを行うレベル (entity_type フィールドで表現)
- 少なくとも 2 個 (最大 30 個) のユーザーグループ (それぞれ user_groups 配列内のオブジェクトとして表現)
- 指定されたユーザーグループに割り当てるユーザーの割合 (size フィールドで表現)
- 指定されたユーザーグループのユーザープールを構成するキャンペーン ID およびラインアイテム ID (entity_ids 配列で表現)
使用方法
作成
-
start_time と end_time の値は、次の条件を満たす必要があります
- (A/B テストが作成される時点から見て) 将来の日時であること
- キャンペーン/ラインアイテムの配信期間と重なっていること
- テストは、アプリベースではないキャンペーンの場合は少なくとも 1 日、アプリベースのキャンペーンの場合は少なくとも 5 日間継続する必要があります
- entity_type は CAMPAIGN または LINE_ITEM に設定できます
-
各ユーザーグループは user_groups 配列内のオブジェクトとして表されます
- ユーザーグループは最低 2 つ必要です
- ユーザーグループは最大 30 まで指定できます
-
各ユーザーグループのサイズは、1.00 から 99.00 の数値を文字列で表現して設定します
- 注: すべてのオブジェクトを通して サイズの値は合計で必ず 100.00 になる必要があります
- キャンペーン ID は、各ユーザーグループの entity_ids 配列内で指定する必要があります
entity_type を LINE_ITEM に設定する必要があります。これは、以下の、既に作成済みの A/B テストに対して行うすべてのアクションに適用されます。
要件:
- A/B テスト対象キャンペーンのすべてのラインアイテムをスプリットテストに含める必要があります。
- ラインアイテムレベルでは、分割比率が均等な場合のみ許可されます。
- 1 つのスプリットテスト内で設定できるユーザーグループ用ラインアイテムの数は、5 以下でなければなりません。
- 各ユーザーグループにつき 1 つのラインアイテムのみ許可されます。
更新
- オブジェクトや要素を追加または削除するには、配列全体 (およびそのサブ構造) を渡します。これは 置換 操作です。
-
それ以外の場合は、キー名または ID を参照して、既存の フィールド を変更 (変更、追加、削除) します。
- フィールドを削除するには、その値を null に設定します。
- 渡されなかったフィールドは変更されません。
リクエスト例
- 名前と説明のない 3 つ目のユーザーグループを追加する
- 各ユーザーグループに属するユーザーの割合を変更する
- A/B テストの説明を削除する
- 最初のユーザーグループに説明を追加する
- 2 番目のユーザーグループにエンティティ ID (f2syz) を追加する
- 2 番目のユーザーグループを削除する
- 各ユーザーグループ内のユーザーの割合を変更する
APIリファレンス
ABテスト
GET accounts/:account_id/ab_tests
リソース URL
https://ads-api.x.com/12/accounts/:account_id/ab_tests
Parameters
| Name | Description |
|---|---|
| account_id required | 利用するアカウントの識別子です。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで一般的に必須パラメータです。指定したアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| ab_test_ids optional | カンマ区切りの識別子のリストを指定することで、応答を目的の A/B テストのみに絞り込みます。最大 200 個の ID を指定できます。 Type: string Example: hr7l0 |
| count optional | 1 回のリクエストで取得を試みるレコード数を指定します。 Type: int Default: 200 Min, Max: 1, 1000 |
| cursor optional | 次のページの結果を取得するためのカーソルを指定します。詳細は Pagination を参照してください。 Type: string Example: 8x7v00oow |
| live_during optional | 指定された日付範囲の間に実行中であった、または実行予定である A/B テストに応答を絞り込みます。開始時刻と終了時刻が、指定された日付範囲と一部または完全に重なる A/B テストを返します。 値はカンマ区切りの日付で指定し、ISO 8601 形式で表現します。より早い日付を先に指定してください。 Type: string Example: 2020-11-01T08:00:00Z,2020-12-01T08:00:00Z |
| q optional | name でリソースを絞り込むための任意のクエリです。すべてを取得する場合はこのパラメータを省略します。Type: string Min, Max length: 1, 80 |
| sort_by optional | サポートされている属性で、昇順または降順にソートします。詳細は Sorting を参照してください。 Type: string Example: created_at-asc |
| status optional | 目的のステータスを持つ A/B テストのみに応答を絞り込みます。 Type: enum Possible values: COMPLETED, LIVE, SCHEDULED |
| user_id optional | 指定したユーザー ID によって作成された A/B テストに応答を絞り込みます。 Note: username と同時には指定できません。Type: long Example: `756201191646691328. |
| username optional | 指定したユーザー名によって作成された A/B テストに応答を絞り込みます。先頭の「@」記号は含めないでください。 Note: user_idと同時には指定できません。Type: string Example:`apimctestface. |
| with_deleted optional | 削除済みの結果も含めて取得します。 Type: boolean Default: false Possible values: true, false |
リクエスト例
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests
レスポンス例
POST accounts/:account_id/ab_tests
Content-Type ヘッダーには application/json を指定する必要があります。
リソースURL
https://ads-api.x.com/12/accounts/:account_id/ab_tests
Parameters
| Name | Description |
|---|---|
| account_id required | 利用するアカウントの識別子です。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストにおいて、通常必須パラメーターです。指定されたアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| end_time required | A/B テストが終了する時刻を、ISO 8601 形式で指定します。 Type: string Example: 2020-10-02T00:00:00Z |
| entity_type required | ユーザーグループを分割する際に使用されるエンティティの種類です。 Type: enum Possible values: CAMPAIGN, LINE_ITEM |
| start_time required | A/B テストが開始する時刻を、ISO 8601 形式で指定します。 Type: string Example: 2022-05-30T00:00:00Z |
| user_groups required | ユーザーグループについて説明します。詳細は下の表を参照してください。2~30 個のユーザーグループを指定できます。 Type: array of objects |
| description optional | A/B テストの説明です。最大長: 1,024 文字。 Type: string Example: documentation example |
| name optional | A/B テストの名前です。最大長: 255 文字。 Type: string Example: first AB test |
ユーザーグループ
| Name | Description |
|---|---|
| entity_ids required | エンティティ ID の配列です。 注: 各エンティティは 1 つの A/B テストにのみ関連付けることができます。 型: array 例: ["dxi0l", "e66bl"] |
| size required | このユーザーグループに割り当てるユーザーの割合です。数値を文字列として表し、小数点以下は最大 2 桁までです。たとえば 40% は 40、40.0、40.00 のいずれかで表します。 注: 各 オブジェクト の size の値の合計は必ず 100.00 になる必要があります。 型: array 最小値、最大値: 1.00, 99.00 |
| description optional | ユーザーグループの説明です。最大文字数: 1,024 文字。 型: string 例: second AB test group |
| name optional | ユーザーグループの名前です。最大文字数: 255 文字。 型: string 例: first group |
リクエスト例
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests -d '{"end_time": "2022-05-30T01:00:00Z", "entity_type" : "CAMPAIGN", "start_time": "2022-05-25T01:00:00Z", "user_groups": [{"entity_ids": ["f2qcw", "f2tht"], "size": "50.00", "name": "first group"},{"entity_ids": ["f2rqi", "f2tws"], "size": "50.00", "name": "second group", "description": "second AB test group"}], "name": "first AB test", "description": "documentation example"}'
レスポンス例
PUT accounts/:account_id/ab_tests/:ab_test_id
Content-Type として application/json が必須です。
このエンドポイントは、オブジェクト id を含む部分的な JSON をサポートします。次の原則が適用されます。
- オブジェクトや要素を追加または削除する場合は、配列全体 (およびそのサブ構造) を渡します。これは 置換 操作です
- 配列を再作成するイメージで考えてください
- それ以外の場合は、キー名または id を参照して既存のフィールドを (追加・変更・削除などで) 編集します
- フィールドを削除するには、その値を
nullに設定します - 渡されていないフィールドは変更されません
- フィールドを削除するには、その値を
status が SCHEDULED の間のみです。例外として、status が LIVE の間でも A/B Test の end_time は更新できます。
リソース URL
https://ads-api.x.com/12/accounts/18ce54d4x5t/:ab_test_id
パラメーター
| Name | Description |
|---|---|
| account_id 必須 | 対象となるアカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで通常必須のパラメーターです。指定されたアカウントは、認証済みユーザーに関連付けられている必要があります。 型: string 例: 18ce54d4x5t |
| ab_test_id 必須 | このリクエストで操作の対象とする A/B Test への参照。 型: string 例: hr7l0 |
| description 任意 | A/B Test の説明。最大長は 1,024 文字です。 注記: A/B Test の status が SCHEDULED の間のみ更新できます。型: string 例: documentation example |
| end_time 任意 | A/B Test の終了時刻。ISO 8601 形式で指定します。 注記: A/B Test の status が SCHEDULED または LIVE の間のみ更新できます。型: string 例: 2020-10-02T00:00:00Z |
| name 任意 | A/B Test の名前。最大長は 255 文字です。 注記: A/B Test の status が SCHEDULED の間のみ更新できます。型: string 例: first AB test |
| start_time 任意 | A/B Test の開始時刻。ISO 8601 形式で指定します。 注記: A/B Test の status が SCHEDULED の間のみ更新できます。型: string 例: 2022-05-30T00:00:00Z |
| user_groups 必須 | ユーザーグループを表します。詳細は以下の表を参照してください。 注記: A/B Test の status が SCHEDULED の間のみ更新できます。型: array of objects |
ユーザーグループ
| Name | Description |
|---|---|
| id sometimes required | リクエスト内で操作対象となるユーザーグループオブジェクトを参照するための値。 Note: ユーザーグループオブジェクトのフィールドを変更 (更新、追加、削除) する場合に必須です。 Note: ユーザーグループオブジェクト全体を追加または削除する際には ID を指定しないでください。 Type: string Example: p1bcx |
| description optional | ユーザーグループの説明。最大長: 1,024 文字。 Note: フィールドに null 値を指定することで、未設定 (削除) できます。Type: string Example: second AB test group |
| entity_ids optional | エンティティ ID の配列。 Note: これは置換操作です。以前に設定されていた内容はすべて上書きされます。 Note: エンティティは 1 つの A/B テストにのみ関連付けることができます。 Type: array Example: ["dxi0l", "e66bl"] |
| name optional | ユーザーグループの名前。最大長: 255 文字。 Note: フィールドに null 値を指定することで、未設定 (削除) できます。Type: string Example: first group |
| size optional | このユーザーグループに割り当てるユーザーの割合。小数点以下 2 桁までの数値を文字列として表現します。たとえば 40% は 40、40.0、40.00 のいずれかで表します。 Note: オブジェクト 全体の size の値は合計で必ず 100.00 にならなければなりません。 Type: string Min, Max: 1.00, 99.00 |
リクエスト例
- A/B テストの説明を削除します
- 終了時刻を変更します
- 最初のユーザーグループに説明を追加します
- 各ユーザーグループのユーザー割合を変更します
- 2番目のユーザーグループにエンティティ ID (
f2syz) を追加します
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests/hr7l0 -d '{"description": null, "end_time": "2022-06-01T01:00:00Z", "user_groups": [{"id": "p1bcx", "description": "first AB test group", "size": "60.00"},{"id": "p1bcy", "size": "40.00", "entity_ids": ["f2rqi", "f2tws", "f2syz"]}]}'
レスポンス例
DELETE accounts/:account_id/ab_tests/:ab_test_id
リソースURL
https://ads-api.x.com/12/accounts/:account_id/ab_tests/:ab_test_id
パラメーター
| 名前 | 説明 |
|---|---|
| ab_test_id 必須 | このリクエストで対象とする A/B テストへの参照。 型: string 例: hr7l0 |
リクエスト例
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests/hr7l0