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




- 渡しているユーザー ID が正しく、形式に問題がないこと。
- 渡しているオーディエンス名が正しく、これまでのメンバーシップ更新時の名称と一致していること。
- POST コマンドからのレスポンスを確認してください。
- ID Sync pixel が正しく実装されていること、および ID Sync プロセスの説明どおり、該当サイトに十分な数のユーザーが訪問してユーザーのマッピングが行われていることを確認してください。メンバーシップ更新に含まれていてもマッピングされていないユーザーは、ターゲティング可能なユーザーには変換されません。
- ターゲティングに利用できるオーディエンスの最小サイズは 100 ユーザー (照合後) です。500 ユーザー未満しかマッチしなかったオーディエンスは、X Ads の UI 上ではターゲティングに利用できません。
- 通常、オーディエンスファイルの処理には 4〜6 時間かかりますが、処理時間はファイルサイズに依存します。ファイルの処理が完了すると、X Ads の UI 上でオーディエンスが利用可能になります。
- マッチ率 = 過去 90 日間のアクティブな X ユーザー数 / 提供されたユーザー数
- テスト用のオーディエンスファイルを用意し、広告主ハンドルとして「keltonlynn」を使用してください。その後、そのファイルが正しく取り込まれ、X の UI に読み込まれることを X 側で検証できます。
p_user_id) とは何ですか?
- これは、御社が各顧客を一意に識別するために使用している識別子です。
- これは、メールアドレス、デバイス ID、X の @handle、または ID のいずれかです。
- HMAC Key は暗号化されたメールで提供されます。お客様の公開 PGP キーを mpp-inquiry@x.com に送付していただければ、まずは動作確認のためのテストメールをお送りします。検証が完了したら、HMAC Key をお送りします。
- X から、テスト用ファイル (サンプルのメールアドレス、デバイス ID などを含む) と、それに対応するハッシュ結果ファイルを提供します。これを用いて、お客様の処理結果を照合できます。
- いいえ、full data match ファイルのサイズに制限はありません。
- ファイルが 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 の場合:
| common user identifier 1 | p_user_1 |
| common user identifier 2 | p_user_1 |
| common user identifier 3 | p_user_1 |
p_user_id 形式のユーザーリストを提供します。
- 値は行区切り
p_user_id-
- (上記 1. フルデータマッチのセクションで提供されたものと同一です。フルデータマッチで提供された値がハッシュ化されている場合、企業はオーディエンスファイルにも同じハッシュ化された値を提供します。提供された値がハッシュ化されていない場合、企業はハッシュ化されていない値を提供します。)
標準マッチング要件
- 行区切りの値
- ハッシュ化された共通ユーザー識別子 (例:メールアドレス)
- 以下に記載のファイル命名規則に従うこと
- メールアドレスについては、以下の「ハッシュ化の手順」に従うこと
カスタムセグメントリストのファイル命名規則と操作
- audiencename: カスタムオーディエンス (Custom Audience) の名前。この項目は、ads.x.com のキャンペーン設定 UI でオーディエンスを選択する際に表示される名前になります (例: brand_loyalty_card_holders) 。
- partnername: 広告主に代わってデータを提供する会社名 (例: company_name) 。
- handle: カスタムオーディエンスにアクセス権を持つ X アカウント (@handle) (例: @pepsi, @dietpepsi)
- operation: new, add, remove, removeall, replace (詳細は下記)
- : 各オーディエンスファイルのアップロードごとに一意となるようにするために使用される、標準的な Unix エポック時間 (秒単位)
- filetype: ファイルは *.txt 形式である必要があります
オーディエンスの作成と更新
- これは、広告主からオプトアウトしたユーザーの包括的なリストとして使用できます。
- X は、このファイルで提供された最新のリストのみを有効とし、マッチした既存および今後のすべてのオーディエンスに対して適用します。
ハッシュ化手順
E-mail 正規化
@It92I6Ev2B.Com
正規化後: testemail_organisational_baseball+884@it92i6ev2b.com
ハッシュ値: 74d9584eded0ad1e5572a1c1849f3716751d371d6117a6155dad5363f4b4fbec
注: エンコードされた HMAC 値およびキーの文字数は、入力値やエンコーディング方式によって変化する可能性があるため、固定ではありません。
デバイス ID の正規化
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 ページで説明しているいずれかの方法を使用して実行できます。
Pixel URL
ピクセルパラメーター
| パラメーター | 説明 |
p_id | X によって割り当てられたパートナーの ID |
p_user_id | パートナーシステム内でのユーザーの ID |
ID Sync Pixel:
p_user_id の例として abc を使用した場合、構成されるピクセルは次のようになります。
| Column Number | Column Name | Column Type | Description |
| 1 | Partner ID | string | 「partner id」とは、各パートナーを一意に識別するために X からパートナーに付与される ID です。 |
| 2 | The user’s id in the partner system | string | p_user_id は、パートナーによってユーザーを識別するために使用される一意の ID です。これらのオプトアウトユーザーを含むファイルは、TON upload エンドポイントを使用してアップロードし、アップロードしたデータのパスを、こちらの Global Opt Out エンドポイント PUT accounts/:account_id/custom_audiences/global_opt_out に送信する必要があります。 |
p_id を含むデータを送信するパートナーは、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 Sync プロセスによって実行されます。このマッピングは、その後ターゲティングに使用できる X ユーザー ID のリストを生成するために使用されます。これらのカスタムオーディエンスは、ads.x.com の Custom Audiences Web キャンペーン設定におけるラベルで指定される、広告主固有の @handle 上で利用可能になります。
X は、パートナーのタグおよびサイトに埋め込むことで、ID (p_user_ids) を X ユーザー ID にマッチさせるために使用できるセキュアピクセルを提供します。ID Sync プロセスが完了すると、パートナーによってターゲティングファイルが作成され、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
| Column Number | Column Name | Column Type | Description |
|---|---|---|---|
| 1 | partner id | string | 「partner id」は、各 Partner を一意に識別するために X が Partner に付与する ID です。 |
| 2 | advertiser id | string | 「advertiser id」は、広告主の @handle です。 |
| 3 | p_user_id | string | 「p_user_id」は、Partner がユーザーを識別するために使用する一意の ID です。 |
| 3 | confidence score | integer | 「confidence score」は任意項目です。confidence score としては 0〜100 の使用を推奨します。利用ケースがリターゲティングの場合、confidence score が「100」は直接リターゲティングされたユーザーを意味します。0〜99 のスコアは、類似オーディエンスに対する信頼度レベルに対応します。 |
| 4 | segment label | string | 「segment label」は任意項目です。Partner は「segment label」を使用して、たとえば商品カテゴリなどを指定できます。この「segment label」は ads.x.com の UI における Custom Audiences の人間が判読可能な名前となるため、その使用を推奨します。 |
Audience API との連携
概要
- 非推奨 TON Upload:
- 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
- 非推奨 Real Time Audiences:
- POST custom_audience_memberships
- カスタムオーディエンス:
- すべての Custom Audience エンドポイントのリクエストおよびレスポンスから
list_typeパラメータが削除されます。このパラメータは以前、Audience のユーザー識別子の種類 (例: email、X User ID など) を特定するために使用されていましたが、現在の Audience では同一の Audience に対して複数のユーザー識別子を受け付けることができるようになったため、この値は不要になりました。
- すべての Custom Audience エンドポイントのリクエストおよびレスポンスから
- 全般:
- Audience のルックバック期間は、直近 30 日間から、直近 90 日間にアクティブなユーザーに対して照合するように更新されました
- ターゲティング可能なオーディエンスとするために必要なマッチ済みユーザー数の最小値は、500 ユーザーから 100 ユーザーに引き下げられました
前提条件
- Ads API へのアクセス
- Audience エンドポイントへのアクセスには、allowlist への追加が必要です。このフォームに入力し、2018-08-01 より前に初回の同意を行っている場合は、新しい X Ads Products and Services Agreement に改めて同意してください
| Step in Process | Audience API | (Deprecated) TON Upload |
|---|---|---|
| Create a shell Audience | [POST custom_audience endpoint]/x-ads-api/audiences を使用して作成できます | [POST custom_audience endpoint]/x-ads-api/audiences を使用して作成できます |
| Add a new user | Audience endpoint で operation_type に Update を指定して使用します | POST custom_audience_changes エンドポイントで operation に ADD を指定して使用します |
| Remove a user | Audience endpoint で operation_type に Delete を指定して使用します | POST custom_audience_changes エンドポイントで operation に REMOVE を指定して使用します |
| Opting-Out Users | Audience endpoint で operation_type に Delete を指定し、ユーザーが含まれる custom_audience_id を指定して使用します | Global opt-out endpoint を使用します |
- 操作の合計数: 2,500 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 する必要があります。これを実現する方法はいくつかあります。
- 各ユーザーがどの Audience に属しているかを管理し、それぞれの Audience から個別にユーザーを削除する。
- Ads アカウントに関連付けられている すべての Audience からユーザーを削除する。
- このエンドポイントは、処理に時間がかかるスパイク的なキューを避け、全体として当社システムへの不要な負荷を軽減するために、可能な限りリアルタイムに近いバッチで呼び出すことを強く推奨します。これにより、ユーザーがキャンペーンターゲティングに利用可能になるタイミングも早くなります。
- 正常に完了した API 呼び出しは、リクエストで受信した
userオブジェクトの数に対応するsuccess_countとtotal_countを返します。 - このエンドポイントはアトミックな性質を持ちます。つまり、リクエスト全体が成功するか、何らかの
errorsが発生した場合にはリクエスト全体が失敗します。エラー応答が返された場合は、API 利用者はエラーを修正し、ペイロード全体を含めてリクエストを再試行することを推奨します。 - 失敗した場合、パートナーはリトライに 指数バックオフ アプローチを使用することが推奨されます。たとえば、1 回目の失敗時にはすぐに再試行し、2 回目の失敗後は 1 分後に再試行し、3 回連続で失敗した場合は 5 分後に再試行する、といった形です。
APIリファレンス
キーワードインサイト
end_time - start_time) は最大 7 日間です。
結果は 1 つの geo (国) ごとにスコープされる点に注意してください。
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 の間の各時間ごとに 1 つのデータポイントが返されます。Type: enum Possible values: DAY, HOUR |
| keywords required | 検索を絞り込むためのコンマ区切りのキーワード文字列です。すべてのキーワードは互いに OR 条件で結合されます。 Note: 使用できるキーワード ( keywords と negative_keywords の合計) は最大 10 個です。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: 使用できるキーワード ( keywords と negative_keywords の合計) は最大 10 個です。Type: string Example: rain |
テイラードオーディエンス権限
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 |
| tailored_audience_id required | リクエスト内で操作対象となるテイラードオーディエンスへの参照です。 Type: string Example: 1nmth |
| count optional | 1 回のリクエストで取得を試みるレコード数を指定します。 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
is_owner レスポンス属性を確認することで、テイラードオーディエンスの所有者を判別できます。
Note: オーディエンスを共有できるのは、同一ビジネス内の広告アカウント間、またはオーディエンスを所有している広告アカウントが 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
is_owner レスポンス属性を確認することで、Tailored Audience の所有権を確認できます。
権限が取り消されると、付与されたアカウント (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
ターゲットオーディエンス
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
カスタムオーディエンスのユーザー
custom_audience_id からユーザーを追加・更新・削除できます。このエンドポイントは、1ユーザーにつき複数種類のユーザー識別子も受け付けます。
リクエストの 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 required | users グループごとに実行される操作の種類。Type: enum Possible values: Update, Delete |
| params required | users 配列、および effective_at と expires_at タイムスタンプを含む JSON オブジェクト。Type: JSON |
| users required | 個々のユーザーのすべてのパラメーターを含む JSON オブジェクトの配列。 Type: JSON |
| effective_at optional | カスタムオーディエンスの関連付けが有効になる UTC 時刻。ISO 8601 で表現します。デフォルトは現在の日時です。 Type: string Example: 2017-07-05T07:00:00Z |
| expires_at optional | カスタムオーディエンスの関連付けが失効する UTC 時刻。指定する時刻は effective_at の値より後である必要があります。ISO 8601 で表現します。デフォルトはリクエストのタイムスタンプから 13 か月後です。Type: string Example: 2017-07-05T07:00:00Z |
users オブジェクトに対するマルチキー アプローチに基づき、このオブジェクトの各要素は以下のとおり定義されます。
| Name | Description |
|---|---|
| email optional | ユーザーのメールアドレス。 Type: Array[String] |
| device_id optional | IDFA/AdID/Android ID。 Type: Array[String] |
| handle optional | ユーザーの @handle。 Type: Array[String] |
| twitter_id optional | ユーザーの X の ID。 Type: Array[String] |
| phone_number optional | ユーザーの電話番号。 Type: Array[String] |
| partner_user_id optional | パートナーのシステムにおけるユーザーの ID。 Type: Array[String] |
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/1nmth/users
カスタムオーディエンスの権限
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 |
| 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 レスポンス属性を含めます。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/1nmth/permissions
Example Response
is_owner レスポンス属性を確認することで、カスタムオーディエンスの所有権をチェックできます。
Note: オーディエンスは、同一ビジネス配下の広告アカウント間、またはオーディエンスを所有している広告アカウントに 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 | カスタムオーディエンスに対する permission を付与したいアカウントです。 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
is_owner レスポンス属性を確認することで、そのカスタムオーディエンスの所有権を確認できます。
権限が取り消されると、付与されていたアカウント (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 | リクエストで操作対象となるカスタムオーディエンスを参照します。 Type: string Example: 1nmth |
| custom_audience_permission_id required | リクエストで操作対象となるカスタムオーディエンス権限を参照します。 Type: string Example: ri |
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/1nmth/permissions/ri
Example Response
カスタムオーディエンス
https://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 | 1 回のリクエストごとに取得を試みるレコード数を指定します。 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
https://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
https://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 | このオーディエンスの表示名です。一意の name の値を使用する必要があります。これを満たさない場合はエラーになります。 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
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id
パラメータ
| 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 | このオーディエンスの表示名です。一意の name 値を使用する必要があります。そうしない場合はエラーになります。 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
レスポンス例
- 現在の最大バッチサイズは 10 です。
- すべてのパラメータはリクエストボディで送信され、
Content-Typeとしてapplication/jsonを指定する必要があります。 - バッチリクエストはグループとしてまとめて失敗または成功し、エラーおよび成功のいずれの API レスポンスでも、初回リクエストのアイテム順序が保持されます。
- リクエストレベルのエラー (例: 最大バッチサイズ超過) は、レスポンス内の
errorsオブジェクトに表示されます。 - アイテムレベルのエラー (例: 必須パラメータの欠落) は、レスポンス内の
operation_errorsオブジェクトに表示されます。
- Flexible Audiences は一度作成すると変更できません。
- Custom Audiences は、Flexible Audiences を作成するために、ブールロジックを組み合わせたツリー構造として渡されます。
- Flexible Audience を作成する際に使用できる Custom Audiences のリーフノードは最大 10 個です。
https://ads-api.x.com/12/batch/accounts/:account_id/custom_audiences
Parameters
| Name | Description |
|---|---|
| account_id required | 対象となるアカウントの識別子です。リソースのパス内に含まれ、GET accounts を除くすべての Advertiser API リクエストで一般的に必須パラメーターです。指定されたアカウントは、認証済みユーザーに関連付けられている必要があります。 Type: string Example: 18ce54d4x5t |
| audience_type required | 作成するオーディエンスの種類です。 Type: enum Possible values: FLEXIBLE, MOBILE_AUDIENCE |
| child_segments required | ターゲットにしたいカスタムオーディエンスのメンバーの部分集合を定義するオブジェクトを格納する配列です。各オブジェクトには、custom_audience_id、frequency、frequency_comparator、lookback_window、negate に加え、場合によっては追加の child_segments を含める必要があります。Type: array |
| name required | オーディエンスの表示名です。一意の name 値を使用する必要があります。そうしないとエラーになります。 Type: string Example: my_flexible_audience_name |
| operation_type required | 各項目に対して実行される操作の種類です。 Type: enum Possible values: Create, Update, Delete |
| boolean_operator sometimes required | 親 (包含している) オブジェクト内の子セグメント間の論理関係です。親オブジェクトの child_segments が空でない場合に必須です。 Type: enum Possible values: AND, OR |
| lookback_window sometimes required | ユーザーが特定のアクションを実行し、指定されたカスタムオーディエンスの条件を満たした期間 (日数の範囲) を指定する整数値です。 Type: int Possible values: 1, 7, 14, 30 |
| segments sometimes required | ターゲットにしたいカスタムオーディエンスのメンバーの部分集合を定義する、boolean_operator と child_segments を含むオブジェクトです。Type: object |
| custom_audience_id sometimes required | 子セグメントとして使用するカスタムオーディエンスの id です。 Type: string Example: tyfo |
| frequency optional | ユーザーが特定のアクションを実行し、指定されたカスタムオーディエンスの条件を満たした頻度を、ルックバックウィンドウ内で指定する整数値です。 Type: int Default value: 1 |
| frequency_comparator optional | リクエストで渡される frequency に対する比較演算子です。Note: 以下の値において、 GTE は「以上」、LT は「未満」などを表します。Type: string Possible values: NUM_GTE, NUM_GT, NUM_EQ, NUM_LTE, NUM_LT Default value: NUM_GTE |
| negate optional | セグメントを否定し、そのセグメントを組み合わせから除外します。 Type: boolean Default value: true Possible values: true, false |
POST https://ads-api.x.com/12/batch/accounts/18ce54d4x5t/custom_audiences
https://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 |
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h
Example Response
接触禁止リスト
account_id には、Do Not Reach リストを最大 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 リクエストで通常は必須パラメータです。指定されたアカウントは認証済みユーザーに関連付けられている必要があります。 型: string 例: 18ce54d4x5t |
| with_deleted optional | 削除済みの結果をレスポンスに含めるかどうかを指定します。 型: boolean デフォルト: false 取りうる値: true, false |
GET https://ads-api.x.com/12/accounts/18ce54bgxky/do_not_reach_lists
Example Response
account_id ごとに作成できる Do Not Reach リストは最大 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
do_not_reach_list_id に対してユーザーを追加・更新・削除できます。このエンドポイントでは、有効なユーザー識別子としてメールアドレスのみを受け付けます。
リクエストの emails フィールドで提供されるすべてのデータは、SHA256 でハッシュ化し、正規化されていなければなりません。
注意事項
- 1 つの
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 件です。
- すべてのパラメータはリクエストボディで送信され、
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/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 | 各ユーザーに関するすべての params を含む JSON オブジェクトの配列です。 Type: JSON |
| expires_at optional | ユーザー関連付けが失効する UTC 時刻です。指定された時間は、現在のタイムスタンプより後でなければなりません。ISO 8601 形式で表現します。デフォルトは、現在のタイムスタンプから 13 か月後です。 Type: string Example: 2017-07-05T07:00:00Z |
users オブジェクトに対するマルチキー方式に基づき、このオブジェクトの各要素については以下で説明します。
| Name | Description |
|---|---|
| email optional | ユーザーのメールアドレス。 Type: Array[String] |
| phone_number optional | ユーザーの電話番号。 Type: Array[String] |
https://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