メインコンテンツへスキップ

概要

はじめに

A/Bテストは、広告主がX上でリーチしているユーザーをセグメント化し、キャンペーンのパフォーマンスを最適化する最善の方法を見極めるとともに、マーケティング戦略の策定に活かせる知見を得るための仕組みです。 これらのセグメント(ユーザーグループ分割と呼びます)は、無作為に割り当てられ、互いに排他的です。無作為化により、結果に影響を与える要因は均等に分配されます。言い換えると、グループ間や想定される行動に本質的な差はありません。したがって、特定のバリエーションを一方のユーザーグループにのみ適用し他方には適用しなかった場合、キャンペーンパフォーマンスの差はそのバリエーションに起因するといえます。 同時に複数のバリエーションをテストすることも可能ですが、強く推奨するのは一度に1つのバリエーションのみをテストすることです。これにより、観測されたキャンペーンパフォーマンスの差を生じさせた原因を特定できます。 バリエーションはキャンペーン単位で設定します。たとえば、広告主が新しいクリエイティブの効果をテストしたい場合は、クリエイティブ以外は同一の2つのキャンペーンを作成する必要があります。将来的には、ラインアイテム単位でのバリエーション設定にも対応する予定です。

ユースケース

A/B テストは主に、(1) 投資を最適化するために X 上で最も効果的な手法を把握したいパフォーマンス広告主向けの最適化ユースケースと、(2) 得られた知見をマーケティング戦略に反映したいブランド広告主向けの学習ユースケースを支援するために利用されます。 この API は、以下を含むあらゆるキャンペーン変数に対する A/B テストをサポートします。
  • クリエイティブ
  • ターゲティング
  • 入札タイプ
  • 入札単位

A/B テスト

A/B テストは、広告主がX上でリーチしているユーザーをセグメント化し、キャンペーンのパフォーマンスを最適化する最善の方法を見極め、マーケティング戦略の策定に役立つ知見を得るための手法です。 これらのセグメント(ユーザーグループ分割と呼びます)はランダムに割り当てられ、互いに重複しません。ランダム化により、結果に影響を与える要因は均等に分配されます。言い換えると、グループ間や期待される行動に本質的な差はありません。したがって、特定のユーザーグループのみに単一のバリエーションを適用した場合、キャンペーンパフォーマンスの差はそのバリエーションに起因すると考えられます。 同時に多数のバリエーションをテストすることも可能ですが、1回のテストにつき1つのバリエーションのみの検証を強く推奨します。これにより、観測されたキャンペーンパフォーマンスの差の原因を明確に切り分けられます。 バリエーションはキャンペーンレベルまたは広告グループレベルで設定します。広告グループは Ads API のラインアイテムから設定します。広告グループレベルのバリエーション例として、新しいクリエイティブの有効性をテストする場合は、クリエイティブ以外は同一の2つの広告グループを含む1つのキャンペーンを作成してください。

ユースケース

A/B テストは主に、(1) 投資の最適化のために X で何が最も効果的かを把握したいパフォーマンス目的の顧客向けの最適化ユースケースと、(2) 得られた知見をマーケティング戦略に反映させたいブランド広告主向けの学習ユースケースを支援するために使用されます。 この API は、次を含むあらゆるキャンペーン変数に対する A/B テストをサポートします。
  • クリエイティブ
  • ターゲティング
  • 入札タイプ
  • 入札単位

属性

A/B テストはネスト構造で表されます。A/B テスト本体のトップレベルの fields と、各ユーザーグループを記述する一連の fields を持つユーザーグループオブジェクトの配列があります。 概要レベルでは、すべての A/B テストに次の情報が必須です。
  • テスト期間(start_time と end_time の fields で指定)
  • 分割を行うレベル(entity_type field で指定)
  • ユーザーグループが少なくとも 2(最大 30)。各グループは user_groups 配列内のオブジェクトとして表します
各ユーザーグループには、以下の情報が必須です。
  • 当該ユーザーグループに割り当てるユーザーの割合(size field で指定)
  • 当該ユーザーグループのユーザープールを構成するキャンペーン ID/ラインアイテム ID(entity_ids 配列で指定)
任意で、A/B テストおよびユーザーグループに name と description を設定できます。検証ルールやその他の制約については以下を参照してください。 ID や作成日時などのその他のメタデータも含まれますが、これらは X によって自動的に設定されます。 キャンペーンレベルの A/B テストエンティティの例を以下に示します。
{
  "created_at": "2020-12-01T00:00:00Z",
  "created_by": {
    "user_id": "756201191646691328",
    "username": "apimctestface"
  },
  "deleted": false,
  "description": "ドキュメント例",
  "end_time": "2020-12-05T01:00:00Z",
  "entity_type": "CAMPAIGN",
  "id": "hr7l0",
  "name": "最初のABテスト",
  "start_time": "2020-12-01T01:00:00Z",
  "status": "SCHEDULED",
  "user_groups": [
    {
      "id": "p1bcx",
      "name": "最初のグループ",
      "description": null,
      "size": "50.0",
      "entity_ids": [
        "f2qcw",
        "f2tht"
      ]
    },
    {
      "id": "p1bcy",
      "name": "2番目のグループ",
      "description": "2番目のABテストグループ",
      "size": 50,
      "entity_ids": [
        "f2rqi",
        "f2tws"
      ]
    }
  ],
  "updated_at": "2020-12-01T00:00:00Z",
  "updated_by": {
    "user_id": "756201191646691328",
    "username": "apimctestface"
  }
}
ラインアイテムレベルにおける A/B テストエンティティの例を以下に示します。
{
   "created_by":{
      "user_id":"756201191646691328",
      "username":"apimctestface"
   },
   "name":"テスト2e",
   "start_time":"2022-08-15T00:00:00Z",
   "updated_by":{
      "user_id":"756201191646691328",
      "username":"apimctestface"
   },
   "description":"2つ目のABテスト",
   "entity_type":"LINE_ITEM",
   "end_time":"2022-08-30T00:00:00Z",
   "id":"1ul",
   "user_groups":[
      {
         "name":"1つ目のグループ",
         "size":"50.0",
         "description":"1つ目のグループの説明",
         "entity_ids":[
            "ij9dh"
         ],
         "id":"4xe"
      },
      {
         "name":"2つ目のグループ",
         "size":"50.0",
         "description":"2つ目のグループの説明",
         "entity_ids":[
            "ihng8"
         ],
         "id":"4xf"
      }
   ],
   "status":"SCHEDULED",
   "created_at":"2022-08-11T00:10:50Z",
   "updated_at":"2022-08-11T00:10:50Z",
   "deleted":false
}

使い方

以下のサブセクションでは、A/B テストの作成と更新について説明します。読み取りと削除は、他のすべての Ads API エンドポイントと同様に動作します。

作成

POST accounts/:account_id/ab_tests エンドポイントを使用して A/B テストを作成します。エンドポイントは JSON の POST ボディのみを受け付けます。Content-Type は application/json に設定する必要があります。 広告主が 2 つ以上のキャンペーンを用意した後、A/B テストを作成できます。上記のとおり、A/B テストには必ず、テスト期間、分割レベル、少なくとも 2 つのユーザーグループを含める必要があります。各ユーザーグループでは、割り当てるユーザーの割合と、そのグループの対象となるユーザーを構成するキャンペーン ID を指定する必要があります。各項目の詳細は以下をご覧ください。 テスト期間:
  • 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 配列で指定します
任意で、A/B テスト自体または 1 つ以上のユーザーグループに対して、name と description を設定できます。 次のリクエストは、キャンペーンレベルで 4 日間実施し、各グループにユーザーの 50% が割り当てられた 2 つのユーザーグループを持つ A/B テストを作成します。最初のユーザーグループはキャンペーン f2qcw と f2tht、2 番目のユーザーグループはキャンペーン f2rqi と f2tws に基づきます。このリクエストでは、エンティティの一部に name と description も追加しています。 twurl -X POST -H ads-api.x.com “/8/accounts/18ce54d4x5t/ab_tests” -d ’{“end_time”: “2020-12-05T01:00:00Z”, “entity_type” : “CAMPAIGN”, “start_time”: “2020-12-01T01: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”}’
twurl -X POST -H ads-api.x.com "/8/accounts/18ce54d4x5t/ab_tests" -d '{"end_time": "2020-12-05T01:00:00Z", "entity_type" : "CAMPAIGN", "start_time": "2020-12-01T01: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"}'

{
  "request": {
    "params": {
      "account_id": "18ce54d4x5t",
      "end_time": "2020-12-05T01:00:00Z",
      "entity_type": "CAMPAIGN",
      "start_time": "2020-12-01T01:00:00Z",
      "user_groups": [
        {
          "entity_ids": [
            "f2qcw",
            "f2tht"
          ],
          "size": "50.0",
          "name": "first group"
        },
        {
          "entity_ids": [
            "f2rqi",
            "f2tws"
          ],
          "size": "50.0",
          "name": "second group",
          "description": "second AB test group"
        }
      ],
      "name": "first AB test",
      "description": "documentation example"
    }
  },
  "data": {
    "created_at": "2020-12-01T00:00:00Z",
    "created_by": {
      "user_id": "756201191646691328",
      "username": "apimctestface"
    },
    "deleted": false,
    "description": "documentation example",
    "end_time": "2020-12-05T01:00:00Z",
    "entity_type": "CAMPAIGN",
    "id": "hr7l0",
    "name": "first AB test",
    "start_time": "2020-12-01T01:00:00Z",
    "status": "SCHEDULED",
    "user_groups": [
      {
        "id": "p1bcx",
        "name": "first group",
        "description": null,
        "size": "50.0",
        "entity_ids": [
          "f2qcw",
          "f2tht"
        ]
      },
      {
        "id": "p1bcy",
        "name": "second group",
        "description": "second AB test group",
        "size": "50.0",
        "entity_ids": [
          "f2rqi",
          "f2tws"
        ]
      }
    ],
    "updated_at": "2020-12-01T00:00:00Z",
    "updated_by": {
      "user_id": "756201191646691328",
      "username": "apimctestface"
    }
  }
}
ラインアイテムレベルでのA/Bテストについて キャンペーンレベルとラインアイテムレベルでのA/Bテストの主な違いは、entity_type です。ラインアイテムレベルでのA/Bテストでは、‘entity_type’ = ‘LINE_ITEM’ に設定する必要があります。これは、以下の既に作成済みのA/Bテストに対するすべてのアクションに適用されます。  要件:
  1. A/Bテスト用キャンペーンのすべてのラインアイテムをスプリットテストに含める必要があります。
  2. ラインアイテムレベルでは均等分割のみが許可されます。
  3. 1つのスプリットテストで許可されるユーザーグループのラインアイテム数は5以下でなければなりません。 
  4. ユーザーグループあたりラインアイテムは1つのみです。

更新

PUT accounts/:account_id/ab_tests/:ab_test_id エンドポイントを使用して A/B テストを更新します。リクエストには JSON ブロブを送信する必要があります。Content-Type は application/json に設定する必要があります。 他の更新系エンドポイントと同様に、PUT accounts/:account_id/ab_tests/:ab_test_id エンドポイントでは、URL に A/B テストの ID を含める必要があります。一般的に、A/B テストはステータスが SCHEDULED の間のみ更新できます。例外が 1 つあります。LIVE 中は A/B テストの end_time を更新できます。 このエンドポイントは、オブジェクト ID を含む部分的な JSON をサポートします。次の原則が適用されます。
  • オブジェクトや要素を追加または削除する場合は、配列全体(およびその下位構造)を渡します。これは置換操作です
  • それ以外の場合は、キー名または ID を参照して既存のfieldsを変更(変更、追加、削除)します
    • フィールドを削除するには、その値を null に設定します
    • 渡されなかったフィールドは変更されません
たとえば、既に作成済みの A/B テストに 3 番目のユーザーグループを追加するには、既存の 2 つのユーザーグループオブジェクトに加えて、追加したい新しいオブジェクトを含む user_groups 配列を送信する必要があります。これは user_groups 配列を再作成するイメージです。最初からこの方法で作成するかのように data を渡してください(ユーザーグループのオブジェクト ID は渡さないでください)。更新リクエスト内の user_groups 配列は次のように表現できます。
[
  {
    "entity_ids": [
      "f2qcw",
      "f2tht"
    ],
    "size": "30.0",
    "name": "最初のグループ"
  },
  {
    "entity_ids": [
      "f2rqi",
      "f2tws"
    ],
    "size": "30.0",
    "name": "2番目のグループ",
    "description": "2番目のABテストグループ"
  },
  {
    "entity_ids": [
      "i1vwr",
      "i1xre"
    ],
    "size": "40.0"
  }
]
オブジェクト間のサイズ値の合計が依然として 100.00 であることに注意してください。最初の 2 つのオブジェクト(以前はそれぞれ 50.00 に設定)について値を更新していなかった場合、リクエストは失敗していたはずです。 一方、最初のユーザーグループに説明を追加するだけであれば、更新リクエスト内の user_groups 配列は次のように表されます。
[
  {
    "id": "p1bcx",
    "description": "PUTリクエストを使用して更新されました"
  }
]
ユーザーグループオブジェクトはIDで参照し、変更したいフィールドだけを含めます。

リクエスト例

このセクションでは、追加の更新リクエスト例を示します。これらは順次呼び出されることを想定しています。JSON ブロブは可読性のため整形されています。レスポンスは省略します。 以下の変更を行う場合、リクエストは次のとおりです(上記の例と同一です)。
  1. 名前と説明なしで 3 番目のユーザーグループを追加
  2. 各ユーザーグループのユーザー割合を変更
twurl -X PUT -H ads-api.x.com “/8/accounts/18ce54d4x5t/ab_tests/hr7l0” -d ’
twurl -X PUT -H ads-api.x.com "/8/accounts/18ce54d4x5t/ab_tests/hr7l0" -d '
{
  "user_groups": [
    {
      "entity_ids": [
        "f2qcw",
        "f2tht"
      ],
      "size": "30.00",
      "name": "最初のグループ"
    },
    {
      "entity_ids": [
        "f2rqi",
        "f2tws"
      ],
      "size": "30.00",
      "name": "2番目のグループ",
      "description": "2番目のA/Bテストグループ"
    },
    {
      "entity_ids": [
        "i1vwr",
        "i1xre"
      ],
      "size": "40.00"
    }
  ]
}'
次の変更を行う場合、リクエストは以下のようになります。
  1. A/Bテストの説明を削除する
  2. 最初のユーザーグループに説明を追加する
  3. 2番目のユーザーグループにエンティティID(f2syz)を追加する
twurl -X PUT -H ads-api.x.com “/8/accounts/18ce54d4x5t/ab_tests/hr7l0” -d ’
twurl -X PUT -H ads-api.x.com "/8/accounts/18ce54d4x5t/ab_tests/hr7l0" -d '
{
  "description": null,
  "user_groups": [
    {
      "id": "p1bcx",
      "description": "最初のABテストグループ"
    },
    {
      "id": "p1bcy",
      "entity_ids": [
        "f2rqi",
        "f2tws",
        "f2syz"
      ]
    }
  ]
}'
3つ目の変更では、新規のものに加えて、既存の2つのエンティティIDを渡す必要があります。3番目のユーザーグループには変更が加えられていないことに注意してください。 次の変更を行う場合、リクエストは次のようになります。
  1. 2番目のユーザーグループを削除する
  2. 各ユーザーグループのユーザー割合を変更する
twurl -X PUT -H ads-api.x.com "/8/accounts/18ce54d4x5t/ab_tests/hr7l0" -d '
{
  "user_groups": [
    {
      "entity_ids": [
        "f2qcw",
        "f2tht"
      ],
      "size": "55.00",
      "name": "first group"
    },
    {
      "entity_ids": [
        "i1vwr",
        "i1xre"
      ],
      "size": "45.00"
    }
  ]
}'

API リファレンス

A/B テスト

GET accounts/:account_id/ab_tests

一部またはすべての A/B テストの詳細を取得します。
リソースURL
https://ads-api.x.com/12/accounts/:account_id/ab_tests
パラメータ
NameDescription
account_id
必須
対象となるアカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで基本的に必須です。指定したアカウントは認証済みユーザーに関連付けられている必要があります。

Type: string

Example: 18ce54d4x5t
ab_test_ids
任意
識別子のカンマ区切りリストを指定して、返却対象を希望する A/B テストのみに絞り込みます。最大 200 個の ID を指定できます。

Type: string

Example: hr7l0
count
任意
個別のリクエストごとに取得を試みるレコード数を指定します。

Type: int

Default: 200
Min, Max: 1, 1000
cursor
任意
次ページの結果を取得するためのカーソルを指定します。詳細は Pagination を参照してください。

Type: string

Example: 8x7v00oow
live_during
任意
指定した日付範囲の間に実施中だった、または実施予定の A/B テストに結果を絞り込みます。開始時刻と終了時刻が指定した日付範囲と一部または完全に重なる A/B テストを返します。

値は ISO 8601 形式のカンマ区切りの日付として指定してください。早い日付を先に指定します。

Type: string

Example: 2020-11-01T08:00:00Z,2020-12-01T08:00:00Z
q
任意
name によるリソースの絞り込みに使用する任意のクエリ。すべてを取得する場合はこのパラメータを省略します。

Type: string

Min, Max length: 1, 80
sort_by
任意
サポートされている属性で昇順または降順に並べ替えます。詳細は Sorting を参照してください。

Type: string

Example: created_at-asc
status
任意
指定したステータスの A/B テストに結果を絞り込みます。

Type: enum

Possible values: COMPLETED, LIVE, SCHEDULED
user_id
任意
指定したユーザー ID によって作成された A/B テストに結果を絞り込みます。

Note: username と同時には指定できません。

Type: long

Example: 756201191646691328
username
任意
指定したユーザー名によって作成された A/B テストに結果を絞り込みます。先頭の「@」記号は含めないでください。

Note: user_id と同時には指定できません。

Type: string

Example: apimctestface
with_deleted
任意
削除済みの結果を含めます。

Type: boolean

Default: false
Possible values: true, false
リクエスト例
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests
応答例
    {
      "request": {
        "params": {
          "account_id": "18ce54d4x5t"
        }
      },
      "data": [
        {
          "created_at": "2022-05-25T00:00:00Z",
          "created_by": {
            "user_id": "756201191646691328",
            "username": "apimctestface"
          },
          "deleted": false,
          "description": "ドキュメントの例",
          "end_time": "2022-05-30T01:00:00Z",
          "entities": [
            {
              "id": "p1bcx",
              "account_id": "18ce54d4x5t"
            },
            {
              "id": "p1bcy",
              "account_id": "18ce54d4x5t"
            }
          ],
          "entity_type": "CAMPAIGN",
          "id": "hr7l0",
          "name": "最初のABテスト",
          "start_time": "2022-05-25T01:00:00Z",
          "status": "SCHEDULED",
          "user_groups": [
            {
              "id": "p1bcx",
              "name": "最初のグループ",
              "description": null,
              "size": "50.0",
              "entity_ids": [
                "f2qcw",
                "f2tht"
              ]
            },
            {
              "id": "p1bcy",
              "name": "2番目のグループ",
              "description": "2番目のABテストグループ",
              "size": "50.0",
              "entity_ids": [
                "f2rqi",
                "f2tws"
              ]
            }
          ],
          "updated_at": "2022-05-25T00:00:00Z",
          "updated_by": {
            "user_id": "756201191646691328",
            "username": "apimctestface"
          }
        }
      ],
      "next_cursor": null
    }

POST accounts/:account_id/ab_tests

新規のA/Bテストを作成します。 すべてのパラメータはリクエスト本文で送信され、Content-Typeapplication/json を指定する必要があります。
リソースURL
https://ads-api.x.com/12/accounts/:account_id/ab_tests
パラメーター
名前説明
account_id
必須
対象のアカウント識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで原則必須です。指定したアカウントは、認証済みユーザーに関連付けられている必要があります。

型: string

例: 18ce54d4x5t
end_time
必須
A/B テストの終了時刻(ISO 8601 形式)。

型: string

例: 2020-10-02T00:00:00Z
entity_type
必須
ユーザーグループを分割する際に用いるエンティティの種類。

型: enum

可能な値: CAMPAIGN, LINE_ITEM
start_time
必須
A/B テストの開始時刻(ISO 8601 形式)。

型: string

例: 2022-05-30T00:00:00Z
user_groups
必須
ユーザーグループの定義。詳細は以下の表を参照。2〜30 のユーザーグループを指定できます。

型: array of objects
description
任意
A/B テストの説明。最大長: 1,024 文字。

型: string

例: documentation example
name
任意
A/B テストの名称。最大長: 255 文字。

型: string

例: first AB test

ユーザーグループ

名前説明
entity_ids
必須
エンティティ ID の配列。

: エンティティは 1 つの A/B テストにのみ関連付けられます。

型: array

例: ["dxi0l", "e66bl"]
size
必須
このユーザーグループに割り当てるユーザーの割合。小数点以下 2 桁までの数値を文字列で表します。例として 40% は 40、40.0、または 40.00 のいずれかで表します。

: オブジェクト間の size の値は合計で必ず 100.00 になる必要があります。

型: array

最小値、最大値: 1.00, 99.00
description
任意
ユーザーグループの説明。最大長: 1,024 文字。

型: string

例: second AB test group
name
任意
ユーザーグループの名前。最大長: 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"}'

レスポンスの例

    {
      "request": {
        "params": {
          "account_id": "18ce54d4x5t",
          "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.0",
              "name": "最初のグループ"
            },
            {
              "entity_ids": [
                "f2rqi",
                "f2tws"
              ],
              "size": "50.0",
              "name": "2番目のグループ",
              "description": "2番目のABテストグループ"
            }
          ],
          "name": "最初のABテスト",
          "description": "ドキュメントの例"
        }
      },
      "data": {
        "created_at": "2022-05-25T00:00:00Z",
        "created_by": {
          "user_id": "756201191646691328",
          "username": "apimctestface"
        },
        "deleted": false,
        "description": "ドキュメントの例",
        "end_time": "2022-05-30T01:00:00Z",
        "entities": [
          {
            "id": "p1bcx",
            "account_id": "18ce54d4x5t"
          },
          {
            "id": "p1bcy",
            "account_id": "18ce54d4x5t"
          }
        ],
        "entity_type": "CAMPAIGN",
        "id": "hr7l0",
        "name": "最初のABテスト",
        "start_time": "2022-05-25T01:00:00Z",
        "status": "SCHEDULED",
        "user_groups": [
          {
            "id": "p1bcx",
            "name": "最初のグループ",
            "description": null,
            "size": "50.0",
            "entity_ids": [
              "f2qcw",
              "f2tht"
            ]
          },
          {
            "id": "p1bcy",
            "name": "2番目のグループ",
            "description": "2番目のABテストグループ",
            "size": "50.0",
            "entity_ids": [
              "f2rqi",
              "f2tws"
            ]
          }
        ],
        "updated_at": "2022-05-25T00:00:00Z",
        "updated_by": {
          "user_id": "756201191646691328",
          "username": "apimctestface"
        }
      }
    }

PUT accounts/:account_id/ab_tests/:ab_test_id

指定された A/B テストを更新します。 すべてのパラメータはリクエストボディで送信され、Content-Typeapplication/json を指定する必要があります。 このエンドポイントは、オブジェクト ID を含む部分的な JSON をサポートします。以下の原則が適用されます。
  • オブジェクトや要素を追加または削除する場合は、配列全体(およびそのサブ構造)を渡してください。これは置換操作です
    • 配列を再作成するイメージです
  • それ以外の場合は、キー名または ID を参照して既存のフィールドを変更(変更、追加、削除)してください
    • フィールドを削除するには、その値を null に設定します
    • 渡されなかったフィールドは変更されません
一般的に、A/B テストは statusSCHEDULED の間のみ更新できます。例外が 1 つあります。LIVE の間に A/B テストの end_time を更新することは可能です。
リソース URL
https://ads-api.x.com/12/accounts/18ce54d4x5t/:ab_test_id
パラメーター
NameDescription
account_id
required
使用するアカウントの識別子。リソースのパスに含まれ、GET accounts を除くすべての Advertiser API リクエストで原則必須です。指定したアカウントは、認証済みユーザーに関連付けられている必要があります。

Type: string

Example: 18ce54d4x5t
ab_test_id
required
リクエストで操作対象の A/B テストを指す参照。

Type: string

Example: hr7l0
description
optional
A/B テストの説明。最大長: 1,024 文字。

Note: A/B テストの statusSCHEDULED の間のみ更新できます。

Type: string

Example: documentation example
end_time
optional
A/B テストの終了時刻(ISO 8601 形式)。

Note: A/B テストの statusSCHEDULED または LIVE の間のみ更新できます。

Type: string

Example: 2020-10-02T00:00:00Z
name
optional
A/B テストの名前。最大長: 255 文字。

Note: A/B テストの statusSCHEDULED の間のみ更新できます。

Type: string

Example: first AB test
start_time
optional
A/B テストの開始時刻(ISO 8601 形式)。

Note: A/B テストの statusSCHEDULED の間のみ更新できます。

Type: string

Example: 2022-05-30T00:00:00Z
user_groups
required
ユーザーグループの定義。詳細は下表を参照してください。

Note: A/B テストの statusSCHEDULED の間のみ更新できます。

Type: array of objects

ユーザーグループ

名前説明
id
場合によっては必須
リクエストで操作対象となるユーザーグループオブジェクトへの参照。

: ユーザーグループオブジェクトの fields を変更(変更、追加、削除)する場合は必須です。

: ユーザーグループオブジェクト全体を追加または削除する場合は ID を指定しないでください。

Type: string

Example: p1bcx
description
任意
ユーザーグループの説明。最大 1,024 文字。

: フィールドに null を指定すると未設定(削除)になります。

Type: string

Example: second AB test group
entity_ids
任意
エンティティ ID の配列。

: これは置換操作です。以前に設定されていた値を上書きします。

: エンティティは 1 つの A/B テストにのみ関連付けられます。

Type: array

Example: ["dxi0l", "e66bl"]
name
任意
ユーザーグループの名前。最大 255 文字。

: フィールドに null を指定すると未設定(削除)になります。

Type: string

Example: first group
size
任意
このユーザーグループに割り当てるユーザーの割合。小数点以下は最大 2 桁の数値を文字列として表現します。例: 40% は 40、40.0、または 40.00。

: オブジェクト間の size の値は合計で必ず 100.00 になる必要があります。

Type: string

Min, Max: 1.00, 99.00
リクエスト例
このリクエストは次の変更を行います。
  1. A/B テストの説明を削除します
  2. 終了時刻を変更します
  3. 最初のユーザーグループに説明を追加します
  4. 各ユーザーグループのユーザー割合を変更します
  5. 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"]}]}'
レスポンスの例
    {
      "request": {
        "params": {
          "account_id": "18ce54d4x5t",
          "ab_test_id": "hr7l0",
          "description": null,
          "end_time": "2022-06-01T01:00:00Z",
          "user_groups": [
            {
              "id": "p1bcx",
              "description": "最初のABテストグループ",
              "size": "60.0"
            },
            {
              "id": "p1bcy",
              "size": "40.0",
              "entity_ids": [
                "f2rqi",
                "f2tws",
                "f2syz"
              ]
            }
          ]
        }
      },
      "data": {
        "created_at": "2020-05-25T00:00:00Z",
        "created_by": {
          "user_id": "756201191646691328",
          "username": "apimctestface"
        },
        "deleted": false,
        "description": null,
        "end_time": "2022-06-01T01:00:00Z",
        "entities": [
          {
            "id": "p1bcx",
            "account_id": "18ce54d4x5t"
          },
          {
            "id": "p1bcy",
            "account_id": "18ce54d4x5t"
          }
        ],
        "entity_type": "CAMPAIGN",
        "id": "hr7l0",
        "name": "最初のABテスト",
        "start_time": "2022-05-25T01:00:00Z",
        "status": "SCHEDULED",
        "user_groups": [
          {
            "id": "p1bcx",
            "name": "最初のグループ",
            "description": "最初のABテストグループ",
            "size": "60.0",
            "entity_ids": [
              "f2qcw",
              "f2tht"
            ]
          },
          {
            "id": "p1bcy",
            "name": "2番目のグループ",
            "description": "2番目のABテストグループ",
            "size": "40.0",
            "entity_ids": [
              "f2rqi",
              "f2tws",
              "f2syz"
            ]
          }
        ],
        "updated_at": "2022-05-25T00:17:23Z",
        "updated_by": {
          "user_id": "756201191646691328",
          "username": "apimctestface"
        }
      }
    }

DELETE accounts/:account_id/ab_tests/:ab_test_id

指定した A/B テストを削除します。 注意: A/B テストの削除は取り消せません。以後、このリソースの削除を試みると HTTP 404 が返されます。
リソース 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

例: レスポンス

    {
      "request": {
        "params": {
          "account_id": "18ce54d4x5t",
          "ab_test_id": "hr7l0"
        }
      },
      "data": {
        "created_at": "2022-05-25T00:00:00Z",
        "created_by": {
          "user_id": "756201191646691328",
          "username": "apimctestface"
        },
        "deleted": true,
        "description": null,
        "end_time": "2022-06-01T01:00:00Z",
        "entities": [
          {
            "id": "p1bcx",
            "account_id": "18ce54d4x5t"
          },
          {
            "id": "p1bcy",
            "account_id": "18ce54d4x5t"
          }
        ],
        "entity_type": "CAMPAIGN",
        "id": "hr7l0",
        "name": "最初のABテスト",
        "start_time": "2022-05-25T01:00:00Z",
        "status": "SCHEDULED",
        "user_groups": [
          {
            "id": "p1bcx",
            "name": "最初のグループ",
            "description": "最初のABテストグループ",
            "size": "60.0",
            "entity_ids": [
              "f2qcw",
              "f2tht"
            ]
          },
          {
            "id": "p1bcy",
            "name": "2番目のグループ",
            "description": "2番目のABテストグループ",
            "size": "40.0",
            "entity_ids": [
              "f2rqi",
              "f2tws",
              "f2syz"
            ]
          }
        ],
        "updated_at": "2022-06-02T00:18:31Z",
        "updated_by": {
          "user_id": "756201191646691328",
          "username": "apimctestface"
        }
      }
    }