カスタムオーディエンス
概要
- GET accounts/:account_id/custom_audiences
- GET accounts/:account_id/custom_audiences/:custom_audience_id




- 渡しているユーザーIDが正しく、形式に問題がないこと。
- 渡しているオーディエンス名が正しく、過去のメンバーシップ更新と一致していること。
- POSTコマンドのレスポンスを確認してください。
- ID Syncピクセルが正しく実装されており、ID Syncプロセスの説明どおり、対象サイトに十分なユーザーが訪問してマッピングが行われていることを確認してください。メンバーシップ更新でマッピングされていないユーザーは、ターゲティング対象にはなりません。
- オーディエンスの最小サイズは100ユーザー(照合後)です。500ユーザー未満しか照合されないオーディエンスは、X AdsのUIでターゲティングに利用できません。
- 通常、オーディエンスファイルの処理には4〜6時間かかりますが、ファイルサイズによって異なります。処理が完了すると、X AdsのUIでオーディエンスが利用可能になります。
- マッチ率 = 過去90日間のアクティブなXユーザー数 / 提供したユーザー数
- テスト用のオーディエンスファイルを用意し、広告主ハンドルとして「keltonlynn」を使用できます。これにより、ファイルがXのUIに正しく取り込まれ、ロードできるかを検証できます。
p_user_id)とは何ですか?
- 貴社が各顧客を一意に識別するために使用する識別子です。
- メールアドレス、デバイスID、Xの@handleまたはIDのいずれかです。
- 暗号化されたメールで提供します。公開PGPキーをmpp-inquiry@x.comにご提供ください。すべてが機能していることを確認するため、テストメールをお送りします。検証後、HMACキーを送付します。
- Xがテストファイル(サンプルのメールアドレス、デバイスIDなどを含む)と、検証用の結果ハッシュファイルを提供します。これに対して結果を照合できます。
- いいえ、フルデータマッチファイルにサイズ制限はありません。
- Xがファイルを受領してから、処理にはおおよそ1日かかります。
CRM

パートナーIDマッチング要件
p_user_id)からXのID(tw_id)へのマッピングが生成され、Xが保存します。適切な維持管理を確保するため、2〜3ヶ月ごとに定期的に実行されます。マッチが完了すると、Xはこのファイルからのベースラインマッチ率を電子メールで企業に共有します。
このファイルの形式は次のとおりです:
命名規則: FullDataMatch.[CompanyName].txt
ハッシュアルゴリズム: HMAC_SHA-256
形式:
列1: 共通識別子のHMACハッシュ値
列2: パートナーユーザーID(ユーザーごとに一意、ファイル内では重複可)
列区切り文字(CSV): ハッシュ化された共通ユーザー識別子とパートナーIDの区切りにはカンマを使用
行区切り値
- 例: ユーザーレコードAがパートナーユーザーID 1と共通識別子1、2、3を持つ場合:
| 共通ユーザー識別子 1 | p_user_1 |
| 共通ユーザー識別子 2 | p_user_1 |
| 共通ユーザー識別子 3 | p_user_1 |
p_user_idの形式でユーザーのリストを提供します。
- 行区切り値
p_user_id-
- (上記の1. 完全データマッチセクションで提供されたものと同じです。完全データマッチで提供された値がハッシュ化されている場合、企業はオーディエンスファイルでも同じハッシュ化された値を提供します。提供された値がハッシュ化されていない場合、企業はハッシュ化されていない値を提供します。)
標準のマッチング要件
- 行区切りの値
- ハッシュ化した一般的なユーザー識別子(例:メールアドレス)
- 以下に示すファイル命名規則に従う
- 下記の「ハッシュ化の手順」にあるメールアドレスのハッシュ化手順に従う
カスタムセグメントリストのファイル命名と操作
- audiencename: カスタムオーディエンスの名前。このフィールドは、ads.x.com のキャンペーン設定 UI でオーディエンスを選択する際に表示される名前です(例: brand_loyalty_card_holders)。
- partnername: 広告主に代わってデータを提供する企業名(例: company_name)。
- handle: カスタムオーディエンスにアクセスできる X アカウント(@handle)(例: @pepsi、@dietpepsi)
- operation: new、add、remove、removeall、replace(詳細は下記)
- timestamp: 標準の Unix エポック時刻(秒)。アップロードされる各オーディエンスファイルを一意にするために使用します
- filetype: ファイルは *.txt 形式である必要があります
オーディエンスの作成と更新
- これは、広告主からオプトアウトしたユーザーの包括的なリストとして使用できます。
- X は、このファイルで提供された最新のリストのみを採用し、該当する一致ユーザーについて既存および将来のすべてのオーディエンスに適用します。
ハッシュ化の手順
Eメールの正規化
@It92I6Ev2B.Com
正規化後: testemail_organisational_baseball+884@it92i6ev2b.com
ハッシュ値: 74d9584eded0ad1e5572a1c1849f3716751d371d6117a6155dad5363f4b4fbec
注意: エンコードされた HMAC とキーの文字数は、入力やエンコーディングによって変動するため、固定ではありません。
デバイス ID の正規化
X ユーザーIDの正規化
@ハンドルのカスタマーリストのようなデータのグループ化が PII ではないものの広告主にとっては非公開であるため、引き続きハッシュ化されます。X ID のハッシュ化には、当社がデータパートナーに提供する共通のソルトと、SHA-256 ハッシュアルゴリズムを使用するという同一の要件が適用されます。X ID および @username の両方からはスペースを削除してください。ただし、User ID の正規化は不要です。@username は正規化のために小文字にしてください。また、@ 記号は username の一部として含めないでください。
生の ID の形式は次のとおりです:
- User ID: 27674040
- @username: testusername
ID Sync 統合
p_id でデータを送信するパートナーは、広告主またはパートナーのユーザー id と X のユーザー id をマッピングするために、ID Sync プロセスを実施する必要があります。これにより、広告主は X 上で自社のユーザーセグメントを直接ターゲティングできるようになります。パートナーはメンバーシップ更新を送信する際、パラメータ user_identifier_type の値を TALIST_PARTNER_USER_ID または TAWEB_PARTNER_USER_ID に設定する必要があります。
- Web のみ: 以下のとおり、広告主のサイトにピクセルを設置して実施できます。
- リスト: CRM ページで説明されているいずれかの方法を使用して実施できます。
ピクセル URL
ピクセルパラメータ
| パラメータ | 説明 |
p_id | X によって割り当てられたパートナーの id |
p_user_id | パートナーシステムにおけるユーザーの id |
ID同期ピクセル:
p_user_id の例として abc の場合、生成されるピクセルは次のとおりです:
| 列番号 | 列名 | 列の型 | 説明 |
| 1 | Partner ID | string | 「partner id」は、各パートナーを一意に識別するために X がパートナーに付与する ID です。 |
| 2 | パートナーシステムにおけるユーザーの id | string | p_user_id は、パートナーがユーザーを識別するために使用する一意の ID です。これらのオプトアウトユーザーを含むファイルは TON upload エンドポイントを使用してアップロードし、アップロードされた data のパスを次の Global Opt Out エンドポイントに送信してください:PUT accounts/:account_id/custom_audiences/global_opt_out。 |
p_id を用いて data を送信するパートナーは、user_identifier_type を TALIST_PARTNER_USER_ID または TAWEB_PARTNER_USER_ID に設定することが必須です。
その他の手順は、Real-Time Audience API Integration Guide に記載されている内容と同様です。
カスタムオーディエンスのユーザーデータ
- IDFA - 小文字のダッシュ区切り。例:
4b61639e-47cc-4056-a16a-c8217e029462 - AdID - 端末上の元の形式が必要。大文字化せず、ダッシュあり。例:
2f5f5391-3e45-4d02-b645-4575a08f86e - Android id - 端末上の元の形式が必要。大文字化せず、ダッシュやスペースなし。例:
af3802a465767e36
- 小文字にし、前後のスペースを削除。例:
support@x.com
- @ は付けない。小文字にし、前後のスペースを削除。例:
jack
- 標準的な整数。例:
143567
SHA256 を使用してハッシュ化する必要があります。さらに、最終的な出力ハッシュは小文字である必要があります。例: 49e0be2aeccfb51a8dee4c945c8a70a9ac500cf6f5cb08112575f74db9b1470d であり、49E0BE2AECCFB51A8DEE4C945C8A70A9AC500CF6F5CB08112575F74DB9B1470D ではありません。
カスタムオーディエンス: Web

p_user_ids)のリストを送信します。これは、p_user_ids と X ユーザー ID の間に対応関係を構築する ID 同期プロセスによって行われます。この対応関係を用いて、ターゲティングに利用できる X ユーザー ID のリストを生成します。これらのカスタムオーディエンスは、ads.x.com の Custom Audiences Web キャンペーン設定でラベルに指定された、広告主固有の @handle に紐づいて利用可能になります。
X は、パートナーのタグやサイトに設置できるセキュアピクセルを提供し、ID(p_user_ids)を X ユーザー ID に照合できるようにします。ID 同期プロセスが完了すると、ターゲティングファイルはパートナーによって作成され、HTTPS エンドポイントを通じて X が取得できるように提供されます。これらのターゲティングファイルは X により定期的に取り込まれ、X の UI で利用可能になります。
X セキュアピクセル
X セキュアピクセルは次のとおりです:
https://analytics.x.com/i/adsct?p_user_id=xyz&p_id=123
p_user_id - xyz はパートナーが提供するパートナーのユーザー ID を表します
p_id - 123 はパートナー固有の ID(X が付与)を表します
パートナーの HTTPS エンドポイントとターゲティングユーザーファイル
パートナーは、ターゲティングファイルを定期的に取り込むために使用できる HTTPS エンドポイントと認証情報(ユーザー名/パスワード)を X に提供する必要があります。HTTPS エンドポイントの例は次のとおりです:
- Partner Targeting User File
- Targeting Conversion File
- 199.16.156.0/22
- 199.59.148.0/22
| 列番号 | 列名 | 列タイプ | 説明 |
|---|---|---|---|
| 1 | partner id | string | “partner id”は、各パートナーを一意に識別するためにXがパートナーに付与するIDです。 |
| 2 | advertiser id | string | “advertiser id”は広告主の@handleです。 |
| 3 | p_user_id | string | “p_user_id”は、パートナーがユーザーを識別するために使用する一意のIDです。 |
| 3 | confidence score | integer | “confidence score”は任意項目です。推奨レンジは0〜100です。リターゲティング用途の場合、“100”は直接リターゲティングされたユーザーを意味します。0〜99のスコアは、類似ユーザーに対する確信度のレベルを示します。 |
| 4 | segment label | string | “segment label”は任意項目です。たとえば、製品カテゴリを指定するために“segment label”を使用できます。この“segment label”の使用を推奨します。ads.x.comのUIにおけるCustom Audiencesの人が読める名称に相当するためです。 |
Audience API の連携
概要
- 非推奨 TON アップロード:
- GET accounts/:account_id/custom_audience_changes
- GET accounts/:account_id/custom_audience_changes/:custom_audience_change_id
- POST accounts/:account_id/custom_audience_changes
- PUT accounts/:account_id/custom_audiences/global_opt_out
- 非推奨 リアルタイム Audiences:
- POST custom_audience_memberships
- Custom Audience:
- Custom Audience のすべてのエンドポイントで、リクエストおよびレスポンスから
list_typeパラメータが削除されます。このパラメータは以前、Audience のユーザー識別子タイプ(例: email、X User ID など)の特定に使用されていましたが、現在は同一の Audience に対して複数のユーザー識別子を受け付けられるようになったため、この値は不要となりました。
- Custom Audience のすべてのエンドポイントで、リクエストおよびレスポンスから
- 一般:
- Audience のルックバック期間は、過去30日から過去90日以内にアクティブなユーザーを対象とするように更新されました
- ターゲット可能となるために必要な一致ユーザーの最小数は、500 ユーザーから 100 ユーザーに引き下げられました
前提条件
- Ads API へのアクセス
- Audience エンドポイントへのアクセスには、許可リストへの追加が必要です。フォームに記入し、2018-08-01 より前に初回承認されている場合は新しいX Ads Products and Services Agreementに同意してください
| プロセスのステップ | Audience API | (非推奨)TON アップロード |
|---|---|---|
| シェル Audience の作成 | POST custom_audience endpoint で作成可能 | POST custom_audience endpoint で作成可能 |
| 新規ユーザーの追加 | Audience endpoint で operation_type の Update を使用 | POST custom_audience_changes エンドポイントで operation の ADD を使用 |
| ユーザーの削除 | Audience endpoint で operation_type の Delete を使用 | POST custom_audience_changes エンドポイントで operation の REMOVE を使用 |
| ユーザーのオプトアウト | Audience endpoint と、ユーザーが属する該当の custom_audience_id を用いて operation_type の Delete を使用 | Global opt-out endpoint を使用 |
- 操作の合計数: 2500 operations
- 最大ペイロードサイズ: 5,000,000 bytes
新しいカスタムオーディエンスを作成する
id を取得します。これは、オーディエンスを一から作成する場合に必要な手順です。既存のオーディエンスを更新する場合は、次のセクションに進んでください。
オーディエンスにユーザーを追加する
id と次のようなサンプルペイロードを用意し、POST accounts/:account_id/custom_audiences/:custom_audience_id/users を使用します。
POST https://ads-api.x.com/11/accounts/18ce54d4x5t/custom_audiences/1nmth/users
operation_type に Update を指定します。新しい Audience インターフェースでは、1 人のユーザーに対して複数のユーザーキーを渡せます。JSON オブジェクト配列内の各オブジェクトは、それぞれ 1 人のユーザーに対応します。上記のサンプルペイロードでは、リクエストによって 2 人のユーザーが Audience に追加されます。1 人は email と handle、もう 1 人は email と twitter_id を持ちます。
オーディエンスからユーザーを削除する
operation_type は Delete に設定する必要があり、ユーザーはオーディエンスに追加した際に使用したいずれかのキーで照合されます。たとえば、あるユーザーを email と twitter_id でオーディエンスに追加した場合、同じユーザーはこれらのキーのいずれか、すなわち email または twitter_id、あるいはその両方で削除できます。
また、同一のリクエスト内で Audience のユーザーを追加および削除することも可能です。このエンドポイントは、1 回のリクエストで複数の operation_type をサポートします。
オプトアウトしたユーザー
Delete する必要があります。これを実現する方法はいくつかあります。
- どのユーザーがどのオーディエンスに属しているかを管理し、各オーディエンスから該当ユーザーを個別に削除する。
- 広告アカウントに関連付けられているすべてのオーディエンスから、そのユーザーを削除する。
- このエンドポイントは、処理が滞留して時間を要するスパイク的なキューを避け、システムへの不要な負荷を防ぐため、ニアリアルタイムのバッチで呼び出すことを強く推奨します。これにより、ユーザーをより早くキャンペーンのターゲティングに利用できるようになります。
- 成功した API 呼び出しは、リクエストで受信した
userオブジェクトの数に対応するsuccess_countとtotal_countを返します。 - このエンドポイントはアトミックです。つまり、リクエスト全体が成功するか、エラーが発生した場合はリクエスト全体が失敗します。エラーレスポンスの場合、API 利用者はエラーを修正し、ペイロード全体を含めてリクエストを再試行することを推奨します。
- 失敗時には、リトライと併用して指数バックオフ手法の採用を推奨します。たとえば、最初の失敗時は直ちにリトライし、2 回目の失敗後は 1 分後、3 回連続の失敗後は 5 分後にリトライする、など。
API リファレンス
キーワードインサイト
end_time - start_time)は最大7日間です。
結果は単一のジオ(国)でスコープされる点にご注意ください。
Resource URL
https://ads-api.x.com/12/insights/keywords/search
Parameters
| Name | Description |
|---|---|
| granularity required | start_time と end_time で示される時間範囲に対して返されるデータの粒度を指定します。たとえば HOUR に設定すると、start_time から end_time まで各時間ごとのデータポイントが返されます。Type: enum Possible values: DAY, HOUR |
| keywords required | 検索を絞り込むためのカンマ区切りのキーワード文字列。すべてのキーワードは相互に OR 条件で評価されます。 Note: 使用できるキーワードは最大10件( keywords と negative_keywords の合計)です。Type: string Example: developers |
| start_time required | 取得対象を、start_time と end_time の間の時間枠で収集されたデータに限定します。表記は ISO 8601。Type: string Example: 2017-07-10T00:00:00Z |
| end_time optional | 取得対象を、start_time と end_time の間の時間枠で収集されたデータに限定します。表記は ISO 8601。Note: 既定値は現在時刻です。 Type: string Example: 2017-07-11T00:00:00Z |
| location optional | アカウントのユーザー所在地で結果を絞り込むために使用する、GET targeting_criteria/locations エンドポイントで取得できるターゲティング値。現時点では国レベルのロケーションのみサポートされています。 Type: string Example: 0ce8b9a7b2742f7e |
| negative_keywords optional | 除外するキーワードのカンマ区切り文字列。すべての除外キーワードは相互に OR 条件で評価されます。 Note: 使用できるキーワードは最大10件( keywords と negative_keywords の合計)です。Type: string Example: rain |
テーラードオーディエンスの権限
GET accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions
指定したテーラードオーディエンスに関連する権限の一部またはすべての詳細を取得します。 Resource URLhttps://ads-api.x.com/5/accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで一般的に必須です。指定されたアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| tailored_audience_id required | リクエストで対象とするテーラードオーディエンスの参照。 Type: string Example: 1nmth |
| count optional | 個々のリクエストで取得を試みるレコード数を指定します。 Type: int Default: 200 Min, Max: 1, 1000 |
| cursor optional | 次ページの結果を取得するためのカーソルを指定します。詳細は Pagination を参照してください。 Type: string Example: 8x7v00oow |
| granted_account_ids optional | 識別子のカンマ区切りリストを指定して、レスポンスを目的のアカウントに限定します。最大 200 個の ID を指定できます。 Type: string Example: 18ce54aymz3 |
| sort_by optional | サポートされる属性で昇順または降順に並べ替えます。詳細は Sorting を参照してください。 Type: string Example: created_at-asc |
| tailored_audience_permission_ids optional | 識別子のカンマ区切りリストを指定して、レスポンスを目的のテーラードオーディエンス権限に限定します。最大 200 個の ID を指定できます。 Type: string Example: ri |
| with_total_count optional | total_count レスポンス属性を含めます。Note: このパラメータと cursor は相互排他です。Note: total_count を含むリクエストはレート制限が低く、現在は 15 分あたり 200 に設定されています。Type: boolean Default: false Possible values: true, false |
GET https://ads-api.x.com/5/accounts/18ce54d4x5t/tailored_audiences/1nmth/permissions
Example Response
POST accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions
指定したオーディエンスを特定のアカウントと共有できるようにする新しい権限オブジェクトを作成します。 注記: テーラードオーディエンスの権限を作成または変更するには、そのオーディエンスが権限の変更を試みているアカウントに所有されている必要があります。特定のオーディエンスのレスポンスに含まれるis_owner 属性を確認することで、テーラードオーディエンスの所有者かどうかを確認できます。
注記: オーディエンスは同一ビジネス配下の広告アカウント間でのみ共有できます。あるいは、そのオーディエンスを所有する広告アカウントが SHARE_AUDIENCE_OUTSIDE_BUSINESS アカウント機能を有している場合に限り、共有できます。
Resource URL
https://ads-api.x.com/5/accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions
Parameters
| Name | Description |
|---|---|
| account_id required | 利用するアカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで一般的に必須のパラメータです。指定されたアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| granted_account_id required | テーラードオーディエンスへの権限を付与したい相手先アカウント。 Type: string Example: 18ce54aymz3 |
| permission_level required | granted_account_id に付与するテーラードオーディエンスへのアクセス権の種類。Type: enum Possible values: READ_ONLY, READ_WRITE |
| tailored_audience_id required | リクエストで操作するテーラードオーディエンスの参照。 Type: string Example: 2906h |
POST https://ads-api.x.com/5/accounts/18ce54d4x5t/tailored_audiences/2906h/permissions?granted_account_id=18ce54aymz3&permission_level=READ_ONLY
Example Response
DELETE accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions/:tailored_audience_permission_id
指定した Tailored Audience の共有権限を取り消します。 注: Tailored Audience の権限を作成または変更するには、対象のオーディエンスが権限を変更しようとしているアカウントの所有物である必要があります。特定のオーディエンスについては、そのレスポンスに含まれるis_owner 属性を確認することで所有者かどうかをチェックできます。
取り消し後は、付与されていたアカウント(granted_account_id)が今後のキャンペーンで当該オーディエンスをターゲットにできないことを保証します。既存のキャンペーンは共有オーディエンスを引き続き使用して配信されます。キャンペーンが停止されたり、オーディエンスがキャンペーンから削除されたりすることはありません。オーディエンス共有権限の取り消し後は、そのキャンペーンをコピーすることはできません。
Resource URL
https://ads-api.x.com/5/accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions/:tailored_audience_permission_id
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパスに含まれ、GET accounts を除くすべての Advertiser API リクエストで一般に必須です。指定されたアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| tailored_audience_id required | リクエストで操作対象の Tailored Audience を指す参照。 Type: string Example: 1nmth |
| tailored_audience_permission_id required | リクエストで操作対象の Tailored Audience 権限を指す参照。 Type: string Example: ri |
DELETE https://ads-api.x.com/5/accounts/18ce54d4x5t/tailored_audiences/1nmth/permissions/ri
Example Response
ターゲットオーディエンス
GET accounts/:account_id/custom_audiences/:custom_audience_id/targeted
指定したcustom_audience_id をターゲットにしているアクティブ、またはすべてのラインアイテムとキャンペーンの一覧を取得します
| Name | Description |
|---|---|
| account_id required | 利用するアカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで一般的に必須のパラメータです。指定したアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| custom_audience_id required | リクエストで操作対象となるカスタムオーディエンスの参照。 Type: string Example: 2906h |
| with_active optional | false の場合、servable=false のステータスを持つラインアイテムも含めます。Type: boolean Default: true Possible values: true, false |
| cursor optional | 次ページの結果を取得するためのカーソルを指定します。詳細は Pagination を参照してください。 Type: string Example: 8x7v00oow |
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h/targeted
Example Response
カスタムオーディエンスのユーザー
POST accounts/:account_id/custom_audiences/:custom_audience_id/users
このエンドポイントでは、パートナーが指定のcustom_audience_id に対してユーザーの追加・更新・削除を行えます。ユーザーごとに複数のユーザー識別子タイプも受け付けます。
リクエストの users フィールドで提供されるすべてのデータは、partner_user_id を除き、SHA256 でハッシュ化し、正規化されている必要があります。
バッチリクエスト
- 現在の最大バッチサイズは、このエンドポイントに限り
2500です。バッチサイズはリクエストあたりの操作数(Update/Delete)で決まります。例えば、1 つの配列に 2500 を超える操作オブジェクト({"operation_type": "Update/Delete", [..] })が含まれるとエラーになります。 - このエンドポイントが受け付けるリクエストの最大 POST ボディサイズは
5,000,000バイトです。 - このエンドポイントのレート制限は 1 分あたり 1500 件です。
- すべてのパラメータはリクエストボディで送信され、
Content-Typeはapplication/jsonが必須です。 - バッチリクエストはグループ単位で一括して成功または失敗し、エラー・成功いずれの場合も、API レスポンスは初期リクエストのアイテム順序を保持します。
success_count と total_count の 2 つのフィールドが含まれます。これらの値は常に等しくなる必要があり、バックエンドで処理されたリクエスト内のレコード数を示します。リクエストボディで送信したレコード数が success_count および total_count と等しくない場合はエラーとして扱い、再試行が必要です。
バッチエラー
- リクエストレベルのエラー(例: 最大バッチサイズ超過)は、レスポンスの
errorsオブジェクトに表示されます。 - アイテムレベルのエラー(例: 必須パラメータの不足)は、レスポンスの
operation_errorsオブジェクトに表示されます。 operation_errors内のエラーのインデックスは、対応するエラーメッセージとともに、入力アイテムのインデックスを指します。
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id/users
| Name | Description |
|---|---|
| operation_type 必須 | users グループ単位で実行される操作タイプ。Type: enum Possible values: Update, Delete |
| params 必須 | users 配列、effective_at と expires_at のタイムスタンプを含む JSON オブジェクト。Type: JSON |
| users 必須 | 各ユーザーのすべてのパラメーターを含む JSON オブジェクトの配列。 Type: JSON |
| effective_at 任意 | カスタムオーディエンスの関連付けが有効になる UTC 時刻。 ISO 8601 で表現。既定値は現在の日時。 Type: string Example: 2017-07-05T07:00:00Z |
| expires_at 任意 | カスタムオーディエンスの関連付けが失効する UTC 時刻。指定した時刻は effective_at の値より後である必要があります。 ISO 8601 で表現。既定値はリクエストのタイムスタンプから 13 か月後。Type: string Example: 2017-07-05T07:00:00Z |
users オブジェクトのマルチキー方式に従い、このオブジェクトの各要素は以下のとおりです。
| Name | Description |
|---|---|
| email 任意 | ユーザーのメールアドレス。 Type: Array[String] |
| device_id 任意 | IDFA/AdID/Android ID。 Type: Array[String] |
| handle 任意 | ユーザーの @handle。 Type: Array[String] |
| twitter_id 任意 | ユーザーの X ID。 Type: Array[String] |
| phone_number 任意 | ユーザーの電話番号。 Type: Array[String] |
| partner_user_id 任意 | パートナーのシステムにおけるユーザーの ID。 Type: Array[String] |
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/1nmth/users
カスタムオーディエンスの権限
GET accounts/:account_id/custom_audiences/:custom_audience_id/permissions
指定したカスタムオーディエンスに関連する権限の一部またはすべての詳細を取得します。 Resource URLhttps://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id/permissions
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで一般に必須のパラメータです。指定したアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| custom_audience_id required | リクエストで操作対象となるカスタムオーディエンスを参照します。 Type: string Example: 1nmth |
| count optional | 各リクエストで取得を試みるレコード数を指定します。 Type: int Default: 200 Min, Max: 1, 1000 |
| cursor optional | 次ページの結果を取得するためのカーソルを指定します。詳しくは Pagination を参照してください。 Type: string Example: 8x7v00oow |
| granted_account_ids optional | 識別子のカンマ区切りリストを指定して、レスポンスを目的のアカウントのみに絞り込みます。最大 200 個の ID を指定できます。 Type: string Example: 18ce54aymz3 |
| sort_by optional | サポートされる属性で昇順または降順に並べ替えます。詳しくは Sorting を参照してください。 Type: string Example: created_at-asc |
| custom_audience_permission_ids optional | 識別子のカンマ区切りリストを指定して、レスポンスを目的のカスタムオーディエンス権限のみに絞り込みます。最大 200 個の ID を指定できます。 Type: string Example: ri |
| with_total_count optional | total_count レスポンス属性を含めます。注意: このパラメータと cursor は相互排他です。注意: total_count を含むリクエストには、現在 15 分あたり 200 のより低いレート制限が適用されます。Type: boolean Default: false Possible values: true, false |
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/1nmth/permissions
Example Response
POST accounts/:account_id/custom_audiences/:custom_audience_id/permissions
指定したオーディエンスを特定のアカウントと共有できるようにする、新しい権限オブジェクトを作成します。 注: カスタムオーディエンスの権限を作成または変更するには、権限の変更を行おうとしているアカウントが当該オーディエンスを所有している必要があります。特定のオーディエンスに対するレスポンス内のis_owner 属性を確認することで、カスタムオーディエンスの所有者かどうかを確認できます。
注: オーディエンスは、同一ビジネス配下の広告アカウント間でのみ共有できます。あるいは、そのオーディエンスを所有する広告アカウントに SHARE_AUDIENCE_OUTSIDE_BUSINESS アカウント機能が付与されている場合に限り、ビジネス外の共有も可能です。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id/permissions
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパス内に現れ、GET accounts を除くすべての Advertiser API リクエストで一般的に必須のパラメータです。指定したアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| granted_account_id required | カスタムオーディエンスの権限を付与したい相手先アカウント。 Type: string Example: 18ce54aymz3 |
| permission_level required | granted_account_id に付与するカスタムオーディエンスへのアクセス権限の種類。Type: enum Possible values: READ_ONLY, READ_WRITE |
| custom_audience_id required | このリクエストで操作対象となるカスタムオーディエンスの参照。 Type: string Example: 2906h |
DELETE accounts/:account_id/custom_audiences/:custom_audience_id/permissions/:custom_audience_permission_id
指定した Custom Audience の共有権限を取り消します。 注: Custom Audience の権限を作成または変更するには、操作しようとしているアカウントが当該オーディエンスを所有している必要があります。特定のオーディエンスのレスポンスに含まれるis_owner 属性を確認することで、Custom Audience の所有者かどうかを確認できます。
取り消し後は、付与先アカウント(granted_account_id)が今後のキャンペーンでそのオーディエンスをターゲティングできないことを保証します。既存のキャンペーンは共有オーディエンスを用いて引き続き配信されます。キャンペーンは停止されず、オーディエンスがキャンペーンから削除されることもありません。オーディエンス共有権限の取り消し後は、このキャンペーンをコピーできません。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id/permissions/:custom_audience_permission_id
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで一般に必須のパラメータです。指定したアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| custom_audience_id required | リクエストで操作対象となる Custom Audience への参照。 Type: string Example: 1nmth |
| custom_audience_permission_id required | リクエストで操作対象となる Custom Audience の権限への参照。 Type: string Example: ri |
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/1nmth/permissions/ri
Example Response
カスタムオーディエンス
GET accounts/:account_id/custom_audiences
現在のアカウントに関連付けられている一部またはすべてのカスタムオーディエンスの詳細を取得します。 Resource URLhttps://ads-api.x.com/12/accounts/:account_id/custom_audiences
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで一般的に必須のパラメータです。指定されたアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| count optional | リクエストごとに取得を試みるレコード数を指定します。 Type: int Default: 200 Min, Max: 1, 1000 |
| cursor optional | 次ページの結果を取得するためのカーソルを指定します。詳細は Pagination を参照してください。 Type: string Example: 8x7v00oow |
| permission_scope optional | 自分が所有するリスト、または自分と共有されているリストにレスポンスをフィルタリングします。デフォルトでは、このパラメータを指定しない場合は自分が所有するオーディエンスのみが表示されます。 Type: enum Default: OWNER Possible values: OWNER, SHARED |
| q optional | name によってリソースを絞り込むための任意のクエリ。Note: 大文字小文字を区別しない前方一致でマッチングします。 Type: string Min, Max length: 1, 255 |
| sort_by optional | 対応する属性で昇順または降順に並べ替えます。詳細は Sorting を参照してください。 Type: string Example: created_at-asc |
| custom_audience_ids optional | コンマ区切りの識別子リストを指定して、目的のカスタムオーディエンスのみにレスポンスを絞り込みます。最大200個のIDを指定できます。 Type: string Example: 1nmth |
| with_deleted optional | 削除済みの結果をレスポンスに含めます。 Type: boolean Default: false Possible values: true, false |
| with_total_count optional | レスポンスに total_count 属性を含めます。Note: このパラメータと cursor は併用できません。Note: total_count を含むリクエストはレート制限が低く、現在は15分あたり200に設定されています。Type: boolean Default: false Possible values: true, false |
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences?custom_audience_ids=1nmth
Example Response
GET accounts/:account_id/custom_audiences/:custom_audience_id
現在のアカウントに関連付けられている特定のカスタムオーディエンスを取得します。 Resource URLhttps://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパスに含まれ、GET accounts を除くすべての Advertiser API リクエストで原則必須のパラメータです。指定したアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| custom_audience_id required | リクエストで操作対象となるカスタムオーディエンスを参照する識別子。 Type: string Example: 2906h |
| with_deleted optional | 削除済みの結果を含めるかどうか。 Type: boolean Default: false Possible values: true, false |
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h
Example Response
POST accounts/:account_id/custom_audiences
現在のアカウントに関連付けられた新しいプレースホルダーのカスタムオーディエンスを作成します。 Resource URLhttps://ads-api.x.com/12/accounts/:account_id/custom_audiences
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパスに含まれ、GET accounts を除くすべての Advertiser API リクエストで一般的に必須のパラメータです。指定したアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| name required | このオーディエンスの表示名。一意の名前を使用する必要があります。従わない場合はエラーになります。 Type: string Example: ads api users |
| description optional | このオーディエンスの説明。 Type: string Example: Collection of all users of the Ads API |
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences?name=developers
Example Response
PUT accounts/:account_id/custom_audiences/:custom_audience_id
現在のアカウントに紐づく特定のCustom Audienceを更新します。 Resource URLhttps://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべてのAdvertiser APIリクエストで一般的に必須のパラメータです。指定されたアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| custom_audience_id required | リクエストで操作対象となるCustom Audienceの参照。 Type: string Example: 2906h |
| name optional | このオーディエンスの表示名。重複しない一意の名前を使用する必要があります。満たさない場合はエラーになります。 Type: string Example: ads api users |
| description optional | このオーディエンスの説明。 Type: string Example: Collection of all users of the Ads API |
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h?name=developers_changed
Example Response
POST batch/accounts/:account_id/custom_audiences
Custom Audiences をバッチで作成できます。オーディエンスの概要は Custom Audiences Overview ページを参照してください。 注: このバッチエンドポイントは現在 クローズドベータ で、一部の広告主のみが利用できます。ベータ期間中は、モバイルのカスタムオーディエンスに基づく Flexible Audiences のみ作成可能です。 バッチリクエスト- 現在の最大バッチサイズは 10 です。
- すべてのパラメータはリクエストボディで送信し、
Content-Typeはapplication/jsonが必須です。 - バッチリクエストはグループとして一括で成功または失敗し、エラー/成功いずれの API レスポンスでも、初期リクエストのアイテム順序が保持されます。
- リクエストレベルのエラー(例: 最大バッチサイズ超過)はレスポンスの
errorsオブジェクトで示されます。 - アイテムレベルのエラー(例: 必須パラメータの欠如)はレスポンスの
operation_errorsオブジェクトで示されます。
- Flexible Audiences は作成後に変更できません。
- Flexible Audience を作成するために、Custom Audiences はブールロジックを組み合わせたツリー構造で渡されます。
- 1 つの Flexible Audience を作成する際に使用できる Custom Audiences のリーフノードは最大 10 個です。
https://ads-api.x.com/12/batch/accounts/:account_id/custom_audiences
Parameters
| 名前 | 説明 |
|---|---|
| account_id 必須 | 対象となるアカウントの識別子。リソースのパスに含まれ、GET accounts を除くすべての Advertiser API リクエストで一般的に必須のパラメータです。指定したアカウントは認証済みユーザーに関連付けられている必要があります。 型: string 例: 18ce54d4x5t |
| audience_type 必須 | 作成するオーディエンスの種類。 型: enum 可能な値: FLEXIBLE, MOBILE_AUDIENCE |
| child_segments 必須 | ターゲットにしたい Custom Audience のメンバーのサブセットを定義するオブジェクトを含む配列。各オブジェクトには custom_audience_id、frequency、frequency_comparator、lookback_window、negate、必要に応じて追加の child_segments を含める必要があります。型: array |
| name 必須 | オーディエンスの表示名。一意の名前を使用する必要があります。従わない場合はエラーになります。 型: string 例: my_flexible_audience_name |
| operation_type 必須 | 各アイテムに対して実行される操作タイプ。 型: enum 可能な値: Create, Update, Delete |
| boolean_operator 条件付き必須 | 親(包含)オブジェクト内の子セグメント間の論理関係。親オブジェクトの child_segments が空でない場合に必須です。 型: enum 可能な値: AND, OR |
| lookback_window 条件付き必須 | ユーザーが特定のアクションを行い、指定の custom audience の条件を満たした期間(日数)を示す整数値。 型: int 可能な値: 1, 7, 14, 30 |
| segments 条件付き必須 | ターゲットにしたい Custom Audience のメンバーのサブセットを定義する boolean_operator と child_segments を含むオブジェクト。型: object |
| custom_audience_id 条件付き必須 | 子セグメントとして使用する custom audience の id。 型: string 例: tyfo |
| frequency 任意 | ユーザーが特定のアクションを行い、指定の custom audience の条件を満たした頻度を、lookback window 内で示す整数値。 型: int デフォルト値: 1 |
| frequency_comparator 任意 | リクエストで渡された frequency に対する比較演算子。注: 以下の値では、 GTE は「以上」、LT は「未満」などを表します。型: string 可能な値: NUM_GTE, NUM_GT, NUM_EQ, NUM_LTE, NUM_LT デフォルト値: NUM_GTE |
| negate 任意 | セグメントを否定し、組み合わせから除外します。 型: boolean デフォルト値: true 可能な値: true, false |
POST https://ads-api.x.com/12/batch/accounts/18ce54d4x5t/custom_audiences
DELETE accounts/:account_id/custom_audiences/:custom_audience_id
現在のアカウントに属する指定の Custom Audience を削除します。 Resource URLhttps://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパスに含まれ、GET accounts を除くすべての Advertiser API リクエストで一般的に必須のパラメータです。指定されたアカウントは、認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| custom_audience_id required | 本リクエストで操作するカスタムオーディエンスを参照する識別子。 Type: string Example: 2906h |
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h
Example Response
リーチ対象外リスト
GET accounts/:account_id/do_not_reach_lists
現在のアカウントに関連付けられている「Do Not Reach List」の一部またはすべての詳細を取得します。 注:account_id に対して保持できる「Do Not Reach List」は最大1件です。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/do_not_reach_lists
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで原則必須のパラメータです。指定したアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| with_deleted optional | 削除済みの結果を含めるかどうか。 Type: boolean Default: false Possible values: true, false |
GET https://ads-api.x.com/12/accounts/18ce54bgxky/do_not_reach_lists
Example Response
POST accounts/:account_id/do_not_reach_lists
現在のアカウントに関連付けられた新しい Do Not Reach List を作成します。 注:account_id につき Do Not Reach List は最大 1 件までです
Resource URL
https://ads-api.x.com/12/accounts/:account_id/do_not_reach_lists
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで一般に必須のパラメータです。指定されたアカウントは認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| description optional | このオーディエンスの説明。 Type: string Example: A list of users to exclude |
POST https://ads-api.x.com/12/accounts/18ce54bgxky/do_not_reach_lists?description=A list of users to exclude
Example Response
POST batch/accounts/:account_id/do_not_reach_lists/:do_not_reach_list_id/users
このエンドポイントでは、指定されたdo_not_reach_list_id にユーザーを追加、更新、削除できます。このエンドポイントで有効なユーザー識別子の種類はメールアドレスのみです。
リクエストの emails フィールドで提供されるすべてのデータは、SHA256 でハッシュ化し、正規化する必要があります。
注意事項
account_idは Do Not Reach List を最大 1 つしか保持できません- このリストに追加されるユーザーには、現在のタイムスタンプから 13 か月未満となるように
expires_atタイムスタンプを必ず設定する必要があります - Do Not Reach List API は
effective_atタイムスタンプを受け付けず、デフォルトで現在のタイムスタンプが使用されます - Do Not Reach List は、アカウント内の任意またはすべてのカスタムオーディエンスからユーザーを削除するものではなく、アカウントで配信されるすべてのキャンペーンに対する除外ターゲティングとして機能します
- 現在の最大バッチサイズは「このエンドポイントに対して」
2500です。バッチサイズは、リクエストごとの操作数(Update/Delete)で決まります。例えば、1 つの配列内に 2500 を超える操作オブジェクト({"operation_type": "Update/Delete", [..] })があるとエラーになります。 - このエンドポイントが受け付ける最大リクエスト POST ボディサイズは
5,000,000バイトです。 - このエンドポイントのレート制限は 1 分あたり 1500 回です
- すべてのパラメータはリクエストボディで送信され、
application/jsonのContent-Typeが必要です。 - バッチリクエストはグループ単位で一括して成功または失敗し、エラー/成功いずれの場合も API レスポンスは初回リクエストのアイテム順序を保持します。
success_count と total_count の 2 つのフィールドが含まれます。これらの値は常に等しくなければならず、バックエンドが処理したリクエスト内のレコード数を表します。リクエストボディで送信したレコード数が success_count および total_count と等しくない状況はエラーとして扱い、再試行が必要です。
バッチエラー
- リクエストレベルのエラー(例: 最大バッチサイズ超過)は、レスポンスの
errorsオブジェクトに表示されます。 - アイテムレベルのエラー(例: 必須パラメータの欠落)は、レスポンスの
operation_errorsオブジェクトに表示されます。 operation_errorsにおけるエラーのインデックスは、入力アイテム内のインデックスを指し、対応するエラーメッセージが付随します
https://ads-api.x.com/12/batch/accounts/:account_id/do_not_reach_lists/:do_not_reach_list_id/users
Parameters
| Name | Description |
|---|---|
| account_id required | 対象アカウントの識別子。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで一般的に必須のパラメータです。指定したアカウントは認証済みユーザーに紐づいている必要があります。 Type: string Example: 18ce54d4x5t |
| do_not_reach_list_id required | リクエストで操作対象となる Do Not Reach List への参照。 Type: string Example: 2906h |
| operation_type required | 実行する users グループごとの操作タイプ。Type: enum Possible values: Update, Delete |
| params required | emails 配列と expires_at タイムスタンプを含む JSON オブジェクト。Type: JSON |
| users required | 個々のユーザーに関するすべてのパラメータを含む JSON オブジェクトの配列。 Type: JSON |
| expires_at optional | ユーザーの関連付けが失効する UTC 時刻。指定時刻は現在のタイムスタンプより後である必要があります。ISO 8601 で表現します。デフォルトは現在のタイムスタンプから 13 か月後です。 Type: string Example: 2017-07-05T07:00:00Z |
users オブジェクトの multi-key アプローチに基づき、このオブジェクトの各要素は以下で説明します:
| 名前 | 説明 |
|---|---|
| email 任意 | ユーザーのメールアドレス 型: Array[String] |
| phone_number 任意 | ユーザーの電話番号 型: Array[String] |
DELETE accounts/:account_id/do_not_reach_lists/:do_not_reach_list_id
現在のアカウントに属する指定の Do Not Reach List を削除します。 Resource URLhttps://ads-api.x.com/12/accounts/:account_id/do_not_reach_lists/:do_not_reach_list_id
Parameters
なし
Example Request
DELETE https://ads-api.x.com/12/accounts/18ce54bgxky/do_not_reach_lists/4ofrp
Example Response