Advertiser API
何をプロモーションできるか
- Promoted Ads (プロモーション広告) は、より幅広いユーザー層にリーチしたい、あるいは既存のフォロワーからのエンゲージメントを喚起したい広告主が購入する通常の広告です。
- Promoted Ads は、広告主が X 上での掲載に対して支払っている場合、「Promoted」として明確にラベル表示されます。それ以外の点では、Promoted Ads は通常の広告と同様に機能し、リポスト、返信、いいねなどが可能です。通常の配信ルールが適用され、POST statuses/update を使って作成されます。
- 「Promoted-only」ツイートは、POST accounts/:account_id/tweet を使用して作成され、Promoted Tweets キャンペーンで利用できますが、フォロワーには配信されず、公開タイムラインにも表示されません。特定アカウントの Promoted-only ツイートのリストを取得するには、GET accounts/:account_id/scoped_timeline を使用してください。
- プロモアカウントは「おすすめユーザー」の一部であり、ユーザーが現在フォローしていないが、興味を持つ可能性のあるアカウントをおすすめする機能です。プロモアカウントを利用することで、ユーザーが楽しめる可能性のある、さらに幅広いアカウントを紹介できます。
- タイムライン向けのプロモアカウントでは、プロモツイートをプロモアカウントキャンペーンに紐付けて、ユーザーのタイムラインに表示します。
キャンペーンと広告グループ (ラインアイテム)
アナリティクス
X Ads API には、広告パフォーマンスを追跡および最適化するための一連のアナリティクス用エンドポイントが用意されています。詳細については、「Analytics」および「Analytics Best Practices」を参照してください。 課金指標については、イベント発生から 3 日後までデータが確定しない場合があります。それまでは、そのデータは暫定値として扱う必要があります。最終的な課金対象の数値は、必ず暫定値以下になります。課金対象の数値は、スパムや関連する低品質トラフィックを補正した結果の値です。時間に関するその他の考慮事項については、「Timezones」を参照してください。キャンペーンの作成手順
-t を使用して呼び出しをトレースします。これは cURL の -v オプションとおおよそ同等です。
この例では、キーワードでターゲティングされる Promoted Ads キャンペーンを作成します。
- アカウント ID を取得します。
- ファンディングインストゥルメントの id を取得します。
- キャンペーンを作成し、ファンディングインストゥルメントに関連付けます。
- キャンペーンに関連付けられたラインアイテムを作成します。
- ラインアイテムに紐づくターゲティングプロファイルを作成します。
- 最後に、ラインアイテムの一時停止を解除します。
目的ベースのキャンペーン
objective を設定してください。
ラインアイテムの書き込みエンドポイントで使用され、読み取りエンドポイントで返されるパラメータは objective です。このフィールドには、現時点では次の値を指定できます。
APP_ENGAGEMENTSAPP_INSTALLSFOLLOWERSENGAGEMENTSREACHVIDEO_VIEWSPREROLL_VIEWSWEBSITE_CLICKS
APP_ENGAGEMENTS には CPAC、APP_INSTALLS には CPAC または CPI、WEBSITE_CLICKS には CPLC、FOLLOWERS には CPF、ENGAGEMENTS には CPE、REACH には CPM など、目的ごとに課金モデルを提供しています。
モバイルアプリプロモーションキャンペーンには、APP_ENGAGEMENTS か APP_INSTALLS のいずれかの objective を必ず含める必要があります。
注: 異なる objective を持つラインアイテムを同一キャンペーン内に含めることはできません。
資金源
資金源は、キャンペーンの予算を拠出する元となるものです。資金源は Ads API 経由で作成することはできず、利用可能にするには、与信枠の場合は X の広告主担当アカウントマネージャー、クレジットカードの場合は ads.x.com を通じて、あらかじめ設定されている必要があります。 アカウントに紐づくすべてのfunding_instruments の一覧を取得するには、GET accounts/:account_id/funding_instruments を参照してください。特定の資金源の詳細については、GET accounts/:account_id/funding_instruments/:funding_instrument_id を参照してください。
資金源の属性
account_id、資金源の id、資金源の type、description、および io_header (インサーションオーダーのヘッダー ID) 。1 つの io_header が複数の資金源に関連付けられる場合がある点に注意してください。
資金提供の可否: able_to_fund と reasons_not_able_to_fund。
時間: created_at、updated_at、start_time、および end_time。いずれも文字列で表され、「%Y-%m-%dT%l:%M:%S%z」という形式でフォーマットされます。
ブール値のステータス: paused、deleted、および cancelled (true または false) 。
財務関連: currency (ISO-4217 形式) 、credit_limit_local_micro、credit_remaining_local_micro、および funded_amount_local_micro。通貨の値はマイクロ単位で表されます。USD の場合、$5.50 は 5.50*1e6、つまり 5,500,000 としてエンコードされます。元の金額 (通貨単位での値) を表現するには、すべての通貨について local micro に 1e6 (1_000_000) を掛ける必要があります。
属性の詳細
credit_limit_local_micro は CREDIT_CARD または CREDIT_LINE type のファンディングインスツルメントに対してのみ有効で、そのインスツルメントのクレジット上限額を表します。
funded_amount_local_micro は INSERTION_ORDER type のファンディングインスツルメントに対してのみ有効で、割り当てられた予算を表します。
credit_remaining_local_micro は CREDIT_LINE および AGENCY_CREDIT_LINE type のファンディングインスツルメントに対して有効です。これは、そのインスツルメントに対してすでに支出された金額を credit_limit_local_micro から差し引いた残りのクレジット額を表します。これは、funded_amount_local_micro と支出額との差額を表すものではありません。クレジット上限額と資金拠出額は、広告主との間で合意している基礎となる資金調達方法および支出契約が異なるため、区別しています。
資金手段の種類
funding_instrument エンドポイントに GET リクエストを送信することでデータを取得します。以下はレスポンスのサンプルです (CREDIT_LINE タイプに注目してください) 。
ターゲティング
配信面ごとのターゲティングオプション
- X Search: 年齢ターゲティング、デバイス、イベント、性別、キーワードタイプ (すべて) 、言語、ロケーション、ネットワークアクティベーション、通信事業者、プラットフォーム、プラットフォームバージョン、テイラードオーディエンス、WiFi のみ
- X Timeline: 年齢ターゲティング、デバイス、イベント、フォロワー (Followers Of) 、類似フォロワー (Similar to Followers Of) 、性別、興味・関心、言語、ロケーション、ネットワークアクティベーション、通信事業者、完全一致以外のキーワードタイプ、パートナーオーディエンスタイプ、プラットフォーム、プラットフォームバージョン、リターゲティングタイプ、テイラードオーディエンス、TV ターゲティングタイプ、WiFi のみ
- X Profiles & Tweet Details: 年齢ターゲティング、デバイス、イベント、フォロワー (Followers Of) 、類似フォロワー (Similar to Followers Of) 、性別、興味・関心、言語、ロケーション、ネットワークアクティベーション、通信事業者、完全一致以外のキーワードタイプ、パートナーオーディエンスタイプ、プラットフォーム、プラットフォームバージョン、リターゲティングタイプ、テイラードオーディエンス、TV ターゲティングタイプ、WiFi のみ
ターゲティング種別について
NETWORK_OPERATOR を使用します。
New Mobile Device Targeting: ユーザーが自身のデバイスを通じて初めて X にアクセスした日付に基づいてユーザーにリーチします。ターゲティング type NETWORK_ACTIVATION_DURATION を使用し、LT を「より短い」、GTE を「以上」を表す operator_type として使用します。
Platforms、Platform Versions、Devices、および Wifi-Only: さまざまな軸でモバイルデバイスをターゲティングできるようにします。Platforms は、広いカテゴリの端末を対象にできる高レベルのターゲティング type です。例としては iOS や Android などがあります。Devices を使用すると、iPhone 5s、Nexus 4、Samsung Galaxy Note など、特定のモバイルデバイスのユーザーをターゲットにできます。Platform versions を使用すると、特定のモバイル OS のバージョン (ポイントリリースのレベルまで) を利用しているユーザーをターゲットにできます。例としては iOS 7.1 や Android 4.4 などがあります。Wifi-Only を使用すると、WiFi ネットワーク上でデバイスを使用しているユーザーのみをターゲットにできます。これを設定しない場合、キャリア回線と WiFi の両方を利用しているユーザーがターゲットになります。
- ユーザーは、重複がなければ platforms と devices をターゲティングできます。たとえば、platform として Blackberry、device として iPad Air を同時にターゲティングできます。
- ユーザーは devices と OS バージョンを同時にターゲティングできます。たとえば、iPad Air と iOS >= 7.0 をターゲティングできます。
- ユーザーは devices より広い platforms をターゲティングすることはできません。たとえば、iOS と iPad Air を同時にターゲティングすることはできません。
TV_SHOW ターゲティングタイプを使用して継続的にターゲティングするように設定できます。利用可能なテレビ番組を確認するには、GET targeting_criteria/tv_markets エンドポイントおよび GET targeting_criteria/tv_shows エンドポイントを使用します。
Tweet Engager Retargeting
Tweet engager リターゲティングを使用すると、広告主は、これまでに自社のプロモーションまたはオーガニックのツイートに対してX上で表示またはエンゲージしたユーザーを、デバイスをまたいでターゲティングできます。このターゲティングにより、広告主は、自社のコンテンツをX上で閲覧またはエンゲージした人々の中から、その後のメッセージやオファーに対してさらにエンゲージしたりコンバージョンする可能性が高いユーザーをフォローアップできます。ユーザーは、表示またはエンゲージから数分以内にターゲット対象となり、エンゲージメントについてはその後最大90日間、表示については30日間対象となります。
Tweet Engager ターゲティングタイプ:
ENGAGEMENT_TYPE: ターゲティング値としてIMPRESSIONまたはENGAGEMENTのいずれかを受け取ります。これは、表示されたユーザー (IMPRESSION) をターゲティングするか、エンゲージしたユーザー (ENGAGEMENT) をターゲティングするかを指定します。CAMPAIGN_ENGAGEMENT: ターゲティング値としてキャンペーンの ID を使用します。このキャンペーンに対してエンゲージした、または表示されたユーザー (ENGAGEMENT_TYPEに応じて) がターゲットとなります。USER_ENGAGEMENT: ターゲティング値としてプロモーション対象ユーザーの ID を使用し、広告主のオーガニックコンテンツに表示またはエンゲージしたユーザー (ENGAGEMENT_TYPEに応じて) をターゲティングします。これは、その広告アカウントに紐づくプロモーション対象ユーザーの ID である必要があります。
ENGAGEMENT_TYPE は、少なくとも1つの有効な CAMPAIGN_ENGAGEMENT または USER_ENGAGEMENT の値と合わせて指定する必要があります。両方の Tweet engager ターゲティングタイプを同時に指定することもでき、1つのラインアイテムで複数のキャンペーンをターゲティングできます。
Video Viewer Targeting: Video viewer ターゲティングは Tweet engager ターゲティングを拡張したもので、これまでにX上の動画を一部または全部視聴したオーディエンスを広告主がターゲティングできるようにします。広告主は、オーガニック動画、プロモーション動画、またはその両方をターゲティングできます。プロモーション動画は、動画再生数を目的としたキャンペーンやラインアイテムに限定されません。
Video Viewer ターゲティングタイプ:
VIDEO_VIEW: 動画を再生するためにクリックした、または自動再生で3秒間視聴したユーザーVIDEO_VIEW_PARTIAL: 動画の50%を視聴したユーザーVIDEO_VIEW_COMPLETE: 動画の少なくとも95%を視聴したユーザー
ENGAGEMENT_TYPE を使用する場合、ラインアイテムのターゲティング条件には次のいずれか、または両方が含まれている必要があります。
CAMPAIGN_ENGAGEMENT: ターゲティング値としてキャンペーンの ID を使用します。このキャンペーン内で動画を視聴したユーザー (ENGAGEMENT_TYPEに基づく) がターゲットとなります。USER_ENGAGEMENT: ターゲティング値としてプロモーション対象ユーザーの ID を使用し、広告主のオーガニックコンテンツ内の動画を視聴したユーザー (ENGAGEMENT_TYPEに基づく) をターゲティングします。これは、その広告アカウントに紐づくプロモーション対象ユーザーの ID である必要があります。
- Broad (デフォルト値) : 単語の順序に関係なく、すべての単語にマッチします。大文字小文字、複数形、時制には依存しません。可能な場合、自動的に拡張されます (例: “car repair” は “automobile fix” にもマッチします) 。拡張なしでターゲティングしたい場合は、「+boat +jet」のように、キーワードの前に + 記号を追加する必要があります。+ を付けずにキーワードを使用すると、Broad Match がデフォルトとして適用されます。
- Unordered (非推奨) : 単語の順序に関係なく、すべての単語にマッチします。大文字小文字、複数形、時制には依存しません。
- Phrase: キーワード文字列と同じ語句を含むフレーズにマッチし、他のキーワードが含まれていてもかまいません。
- Exact: キーワード文字列と完全に一致する場合のみにマッチし、それ以外にはマッチしません。
- Negative: クエリ内のどこかに、これらすべてのキーワードが含まれる検索にマッチしないようにします。順序には関係なく、他の単語が含まれていても除外されます。
- Negative Phrase: クエリ内のどこかに、このキーワード文字列と同じ語句が含まれる検索にマッチしないようにします。他の単語が含まれていても除外されます。
- Negative Exact: これらのキーワードと完全に一致し、他の単語を一切含まない検索にマッチしないようにします。
ターゲティング条件の組み合わせ
ターゲティング条件は、広告グループに対して次のように組み合わされます。
- 「プライマリ」ターゲティングタイプは ∪ (論理和) で結合されます。
- その他のターゲティングタイプは AND で結合されます。
- 同じタイプ同士は OR で結合されます。
- 米国、イングランド、カナダにいる X ユーザー (位置情報)
- かつ女性 (性別)
- テイラードオーディエンスリストに基づく (「プライマリ」)
- かつキーワードによる指定 (「プライマリ」)
追加の例
- 性別と地域を選択し、プライマリターゲティングは設定しない場合: (Male) AND (US OR GB)
- 性別、地域、インタレストを選択する場合: (Female) AND (CA) AND (Computers OR Technology OR Startups)
- 性別、地域、インタレスト、テイラードオーディエンス、キーワードを選択する場合: (Male) AND (GB) AND (Cars ∪ Tailored Audiences for CRM ∪ autocross)
予算ペーシング
standard_delivery パラメータを false に設定し、配信ペースを高速配信に変更します (GET accounts/:account_id/campaigns を参照) 。
注意事項
- 「1 日」は、X の広告主アカウントのタイムゾーン (例: America/Los_Angeles) に基づきます。
- 初期の結果からは、標準配信により 1 日を通してより一貫した配信が行われることで、広告主にとっての eCPE/CPF が改善されることが示唆されています。
ターゲット別入札
入札戦略
goal パラメータを設定することで実現できます。さらに詳しい情報は、こちらのアナウンスをご覧ください。
例:
ターゲット入札
ターゲット入札を使用すると、支払いたい目標コストを指定でき、X Ads プラットフォームがその目標コスト付近またはそれ以下に収まるようにしつつ、パフォーマンス最大化のためにキャンペーンを最適化します。 この機能により、コストを管理しつつ、リンクのクリック、リード獲得、フォローなど、望ましいアクションを起こす可能性が特に高いユーザーにリーチする柔軟性が得られます。これは、キャンペーン設定および最適化 (入札オプションを含む) において、より多くの選択肢を求める広告主にとって非常に強力な機能です。 対応するキャンペーン目標を持つラインアイテム向けに、支払いたい目標コストを指定できる、新しい入札額の価格設定メカニズムを導入しました。広告プラットフォームは、指定した目標の 20% 以内に平均コストを抑えるよう努めながら、より多くの成果を得られるよう、お客様に代わって動的に入札します。ラインアイテムのbid_strategy 設定に TARGET の値を設定することで、次のような関連するキャンペーン目標でターゲット入札を有効にできます。
WEBSITE_CLICKSWEBSITE_CONVERSIONSAPP_INSTALLSAPP_ENGAGEMENTSREACH
国別ターゲティングおよび表示要件
Russia
パートナー管理のファンディングインストゥルメント
パートナーの初期セットアップ
- パートナーは自社の PGP/GPG 公開鍵を共有する必要があります。 Ads API パートナーと X 間で共有シークレットキーを交換する必要があります。これはオンボーディングフロー中のデータ検証に使用されます。
- Ads API アクセスに使用する X app の
app_idまたはconsumer_secret。 developer.x.com 上で X アカウントにログインしている場合、app dashboard から既存の X app を表示および編集できます。新しく X app を作成する必要がある場合は、承認済みの開発者アカウントが必要です。X では、本番+サンドボックス用に 1 つの app と、任意でサンドボックス専用アクセス用に 1 つの app が許可されています。X app は、パートナーが管理する企業アカウントの X ハンドル上で作成する必要があります。
広告主オンボーディングフロー
- ユーザーはパートナーの Web サイト上でオンボーディングフローを開始し、オンボードしたいハンドル (@ユーザー名) を入力します。
- パートナーは署名付きペイロードを含めたうえで、ユーザーを ads.x.com 上の URL にリダイレクトします。このペイロードには、パートナーの API
app_id、オンボード対象となる X ハンドルの Xuser_id、コールバック URL、および以下で説明するその他のフィールドが含まれます。 - ユーザーは標準の x.com のログインページを使用して ads.x.com にサインインするよう求められます。
- ユーザーがログインすると、オンボーディングプロセスが開始されます。このステップには、広告審査、アカウントの確認、その他のチェックが含まれます。
- すべてのオンボーディング作業が完了すると、ユーザーは Ads API パートナーによって指定されたコールバック URL に、成功または失敗を示すペイロードとともにリダイレクトされます。このフローには 3-legged 認可プロセスも含まれます。
オンボーディングリダイレクトペイロード
コールバック URL ペイロード
callback_url パラメータで指定されます (上記参照) 。ads.x.com によって追加されるパラメータは次のとおりです。
コールバック URL が、そのアカウントリンクプロセスの対象となった X の
user_id に対してのみ有効となるようにするため、リクエストに署名する際には、共有シークレットに X の user_id を (& を用いて) 連結する必要があります。
リクエストおよびコールバック URL への署名
/link_managed_account へのリクエストおよびコールバック URL が有効なものであることを保証するために、リクエストは送信元で署名され、受信側で検証が行われてから受信側が処理を実行する必要があります。X と管理パートナーの間で共有されているシークレットを用いてリクエストに署名することで、双方は認可された相手から送信されたリクエストのみを受け入れることができます。
署名生成アルゴリズムは OAuth で使用されているものとほぼ同じです。
次のように署名用ベース文字列を作成します:
- HTTP メソッドを大文字に変換し、その値をベース文字列とします。
- ベース文字列の末尾に ‘&’ 文字を追加します。
- URL (パラメータなし) をパーセントエンコードし、ベース文字列に追加します。
- ベース文字列の末尾に ‘&’ 文字を追加します。
- 次の手順で構築される、パーセントエンコード済みのクエリ文字列を追加します:
- 署名対象となるすべてのキーと値をパーセントエンコードします。
- パラメータの一覧をキーでアルファベット順にソートします。
- 各キー/値のペアについて (パートナーのリダイレクト URL 用の primary_promotable_user_id を含む) :
- パーセントエンコード済みのキーをクエリ文字列に追加します。
- ‘=’ 文字をベース文字列に追加します。
- パーセントエンコード済みの値をクエリ文字列に追加します。
- パーセントエンコードされた key=value のペア同士を ‘&’ 文字で区切ります。
- 事前に共有されているシークレットをキー、ベース文字列を値として HMAC-SHA1 アルゴリズムを用い、署名を生成します。
- ステップ 2 の出力を Base64 エンコードし、末尾の改行文字を削除してから、ステップ 3 で生成した署名をパーセントエンコードし、それを signature パラメータとして URL に追加します。
署名の例
fi_description = some name
promotable_user_id = 1 HTTP メソッドとパラメータを除いた URL から成るベース文字列は、手順 a ~ d に従うと次のようになります: GET https://ads.x.com/link_managed_account 手順 e のサブステップによって生成されるクエリ文字列は次のとおりです: callback_url=https://managingpartner.com/link_account_callback&client_app_id=12345&fi_description=some name&promotable_user_id=1 キーと値のペアはキー名でソートされている点に注意してください。 パーセントエンコードされたクエリ文字列は次のとおりです: callback_url%3Dhttps%253A%252F%252Fmanagingpartner.com%252Flink_account_callback%26client_app_id%3D12345%26fi_description%3Dsome%2520name%26promotable_user_id%3D1 手順 a ~ d と e を結合した完全なベース文字列は次のようになります: GET https://ads.x.com/link_managed_account&callback_url%3Dhttps%253A%252F%252Fmanagingpartner.com%252Flink_account_callback%26client_app_id%3D12345%26fi_description%3Dsome%2520name%26promotable_user_id%3D1 hmac-sha1 アルゴリズムを使用して、これに「secret」という単語をキーとして署名します。結果は Base64 エンコードされ、末尾の「\n」を取り除いた形で表されます (手順 2 および 3):
KBxQMMSpKRrtg9aw3qxK4fTXvUc=
この署名は、その後 (パーセントエンコードしたうえで) 元の URL の末尾に signature パラメータとして追加されます (手順 4):
https://ads.x.com/link_managed_account?callback_url=https%3A%2F%2Fmanagingpartner.com%2Flink_account_callback&client_app_id=12345&fi_description=some%20name&promotable_user_id=1&signature=KBxQMMSpKRrtg9aw3qxK4fTXvUc%3D
パートナーリダイレクト URL (アカウントリンクリクエストのコールバック) への署名GET リクエストであると仮定した場合に署名する URL: https://managingpartner.com/link_account_callback?status=OK&account_id=ABC&funding_instrument_id=DEF この URL には次のパラメータがあります:
account_id = ABC、funding_instrument_id = DEF、status = OK
HTTP メソッドとパラメータを除いた URL から成るベース文字列は、手順 a ~ d に従うと次のようになります:
GET https%3A%2F%2Fmanagingpartner.com%2Flink_account_callback&“
手順 e のサブステップによって生成されるクエリ文字列は次のとおりです:
account_id=ABC&funding_instrument_id=DEF&status=OK
パーセントエンコードされたクエリ文字列は次のとおりです:
account_id%3DABC%26funding_instrument_id%3DDEF%26status%3DOK
手順 a ~ d と e を結合した完全なベース文字列は次のようになります:
GET https%3A%2F%2Fmanagingpartner.com%2Flink_account_callback&account_id%3DABC%26funding_instrument_id%3DDEF%26status%3DOK
hmac-sha1 アルゴリズムを使用して、これに「secret」という単語と、元のリンクリクエストが行われた対象の X ユーザー id である 1 (promotable_user_id = 1、上記参照) を組み合わせた「secret&1」をキーとして署名します。
結果は Base64 エンコードされ、末尾の「\n」を取り除いた形で表されます (手順 2 および 3): jDSHDkHJIFXpPLVxtA3a9d4bPjM=
このシグネチャは、その後、元の URL の末尾に signature パラメータ (ステップ 4) として、パーセントエンコードされた状態で追加されます:
https://managingpartner.com/link_account_callback?&status=OK&account_id=ABC&funding_instrument_id=DEF&signature=jDSHDkHJIFXpPLVxtA3a9d4bPjM%3D
署名アルゴリズムは、複数のキーに対して繰り返し利用できる必要があります。これにより、複数の共有キーを併用でき、共有キーを定期的にローテーションすることが可能になります。
partner_managed_funding_instrument の作成
オンボーディングフローの再実行 / トークンのリフレッシュ
promotable_user_id と一致し、関連付けられた広告アカウントが見つかり、その他の条件にも問題がなければ、ユーザーは callback URL にリダイレクトされ、パートナーは OAuth フローを開始して access token を取得できます。
リダイレクトされないエラーフロー
PMFI の継続的な更新
プレースメント
placements パラメータで設定します。指定可能な値は次のとおりです。
ALL_ON_TWITTERPUBLISHER_NETWORKTWITTER_PROFILETWITTER_SEARCHTWITTER_TIMELINESPOTLIGHTTREND
product_type と objective によって、利用可能なプレースメントが決まります。GET line_items/placements エンドポイントを使用して、各 product_type ごとの有効なプレースメントオプションを取得できます。
さらに、以下の表は有効なプレースメントと objective の組み合わせを示しています。
注: プレースメントとして
TWITTER_PROFILE だけを指定することはできません。
注: TWITTER_SEARCH にはキーワードターゲティングが必要です。
注: REACH objective には TWITTER_TIMELINE プレースメントを必ず含める必要があります。ALL_ON_TWITTER、TWITTER_TIMELINE を含む任意のプレースメントの組み合わせ、または TWITTER_TIMELINE 単独を指定できます。
広告グループに関するよくある質問
広告グループとは何ですか?
Ad Group をどのように作成しますか?
なぜ Ad Groups をサポートする必要があるのですか?
Ad Groups キャンペーンにおいて、ラインアイテムの予算はキャンペーン予算とどのような関係がありますか?
広告グループは単一のラインアイテムよりも良い成果を上げられますか?
ガイド
Video Views プレロール目的
必要なエンドポイント
- Chunked media upload (動画をアップロードするため)
- POST accounts/:account_id/media_library (動画を広告アカウントに関連付ける)
- POST accounts/:account_id/campaigns (キャンペーンを作成)
- GET content_categories (コンテンツカテゴリと IAB カテゴリの対応関係を取得)
- GET accounts/:account_id/curated_categories
- GET publishers
- POST accounts/:account_id/line_item_curated_categories
- POST accounts/:account_id/line_items (広告グループを作成)
- POST accounts/:account_id/media_creatives (広告グループに動画を関連付ける)
- POST accounts/:account_id/preroll_call_to_action (CTA とリダイレクト URL を設定)
- POST batch/accounts/:account_id/targeting_criteria (ターゲティング)
手順
動画をアップロードする
動画メディアをアップロードする
INIT を呼び出す際には、media_category=amplify_video を指定する必要があります。動画はチャンクに分割してアップロードします。STATUS が返す state が succeeded になったら、次の手順に進むことができます。チャンクアップロードエンドポイントを使用したメディアアップロードの詳細については、Promoted Video Overview を参照してください。
動画を広告アカウントに追加する
STATUS コマンドで返される状態が succeeded になったら、そのエンドポイントから返された media_key を使用し、POST accounts/:account_id/media_library エンドポイントを呼び出して、動画を広告主のメディアライブラリに追加します。
キャンペーンの設定
キャンペーンの作成
objective を VIDEO_VIEWS_PREROLL、product_type を MEDIA に設定して作成します。categories パラメータには、適切な広告主の業種カテゴリを設定します。
ラインアイテムの作成
categories パラメータに設定する必要があります。これらのコンテンツカテゴリは、それぞれ 1 つ以上の IAB カテゴリに対応しています。
これらの値を使用するには、パートナーは適切なコンテンツカテゴリを選択し、レスポンスで返される iab_categories のセット全体を使用して、ラインアイテムエンドポイントの categories パラメータを設定する必要があります。iab_categories のうち一部だけを適用した場合でも、そのグループ全体が当該ラインアイテムに設定されます。例えば、
categories パラメータを「Science & Education」に設定するには、iab_categories の全セット、つまり "IAB5", "IAB15" をラインアイテムに対して次のように設定する必要があります。
パブリッシャーの選択
キュレーテッドカテゴリ
キュレーテッドカテゴリを使用すると、広告主はあらかじめ定義されたパブリッシャーのグループをターゲティングでき、GET curated_categories エンドポイントを使用して取得できます。これらのカテゴリは国ごとに定義されているため、カテゴリの country_code に基づいて、ラインアイテムが適切な国をターゲティングする必要があります。 これらのカテゴリのいずれかを利用するには、以下の手順を記載されている順番どおりに実行する必要があります。- ラインアイテムが、キュレーテッドカテゴリの country_code に基づいて適切な国をターゲティングしている必要があります
- POST line_item_curated_categories エンドポイントを使用して、ラインアイテムを特定の curated_category_id に関連付ける必要があります。
コンテンツカテゴリ
コンテンツカテゴリ (Standard Categories とも呼ばれます) は、GET curated_categories エンドポイントから取得できます。これらのカテゴリは、バッチターゲティング条件エンドポイントを使用してラインアイテムのターゲットとして指定できます。次の例では、特定のコンテンツカテゴリid: sr (「News & Current Events」に対応) を選択し、それをラインアイテムに適用する方法を示します。
Note: GET curated_categories レスポンスに含まれる
iab_categories の全セットを、ターゲティング条件エンドポイント経由で必ずターゲット指定する必要があります。そうしない場合は検証エラーが発生します。 アカウントのメディア (動画) をラインアイテムに関連付ける
CTA とリンク先 URL を設定する
VIDEO_VIEWS_PREROLL 目的では Promoted Tweets や Cards は使用されない点に注意が必要です。代わりに、動画クリエイティブは広告グループ (ラインアイテム) に関連付けられ、CTA 情報は preroll_call_to_action エンティティに関連付けられます。POST accounts/:account_id/preroll_call_to_action エンドポイントを使用して、ボタンの CTA とリンク先 URL を設定できます。
ターゲティング条件を設定する
CONTENT_PUBLISHER_USER を除外ターゲティングとして使用し、広告が特定のユーザーと組み合わされないようにします。除外したいハンドル (@ユーザー名) の X の user_id または publisher_user_id を指定してください。
GET publishers エンドポイントを使用すると、コンテンツカテゴリで除外する user_id のリストを取得できます。GET curated_categories のレスポンスで返される publisher_user_id を利用して、キュレイテッドカテゴリ向けの同様の除外リストを取得することもできます。
注: キュレイテッドカテゴリでは最大 5 件の publisher_user_id、コンテンツカテゴリでは最大 50 件の user_id を除外できます。
キャンペーンを開始する
アナリティクス
VIDEO_VIEWS_PREROLL キャンペーンのアナリティクスは、stats エンドポイント経由で取得できます。
タイムラインにおけるキーワードターゲティング
どのように動作しますか?
targeting_type を unordered_keywords または phrase_keywords に設定するだけです。
クイックスタートガイド
ALL_ON_TWITTERまたはTWITTER_TIMELINEのいずれかを含むように placement を設定して、新しいラインアイテムを作成します。 POST accounts/:account_id/line_items- 新しく作成したラインアイテム用のターゲティング条件 (targeting criteria) を、
BROAD_KEYWORDを使用して作成し、キーワード値を設定します。 POST accounts/:account_id/targeting_criteria - キーワードは PUT accounts/:account_id/targeting_criteria で更新できます。
- キャンペーンの配信が開始されたら、ラインアイテムのパフォーマンスを把握するために統計情報を取得します。 GET stats/accounts/:account_id
APIリファレンス
アカウント
https://ads-api.x.com/12/accounts
Parameters
https://ads-api.x.com/12/accounts/:account_id
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t
Example Response
https://ads-api-sandbox.x.com/12/accounts
Parameters
なし
Example Request
POST https://ads-api-sandbox.x.com/12/accounts
Example Response
https://ads-api.x.com/12/accounts/:account_id
Parameters
Example Request
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t?name='API McTestface 2'&industry_type=TECHNOLOGY
Example Response
https://ads-api-sandbox.x.com/12/accounts/:account_id
Parameters
Example Request
DELETE https://ads-api-sandbox.x.com/12/accounts/gq12fh
Example Response
アカウントのApp
https://ads-api.x.com/12/accounts/:account_id/account_apps
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/account_apps
Example Response
アカウント履歴
entity_id に対して行われた変更の概要を取得します。
注: このエンドポイントは現在ベータ版であり、許可リストへの登録が必要です。
リソース URL
https://ads-api.x.com/12/accounts/:account_id/account_history
パラメータ
リクエスト例
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/account_history?entity_type=CAMPAIGN&entity_id=fc3h5&count=1
レスポンス例
広告主の事業カテゴリ
line_items) で使用できる、有効な広告主ビジネス categories を取得します。
注記: これらのカテゴリは PREROLL_VIEWS という objective を持つ line_items にのみ適用され、ターゲティング条件に使用される content_categories とは別個のものです。
各 advertiser_business_categories は IAB Categories の集合を表します。PREROLL_VIEWS objective を持つ Ad Group を作成する際は、その Ad Group に 1 つまたは 2 つの advertiser_business_categories を設定する必要があります。これは、line item エンドポイントのリクエストパラメータ categories の値として、このエンドポイントから取得可能な対応する iab_categories の集合を指定することで行います。
詳細については、Video Views Preroll Objective Guide を参照してください。
Resource URL
https://ads-api.x.com/12/advertiser_business_categories
Parameters
リクエストパラメータはありません。
Example Request
GET https://ads-api.x.com/12/advertiser_business_categories
Example Response
オーディエンス規模の推定
キャンペーンのおおよそのオーディエンス規模を推定します。
Content-Type: application/json ヘッダーを付与した JSON 本文を含める必要があります。
注意: 少なくとも 1 つのプライマリターゲティング条件を指定する必要があります。すべてのプライマリターゲティング条件の一覧は、キャンペーンターゲティングのページで確認できます。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/audience_estimate
Parameters
Example Request
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/audience_estimate
認証済みユーザー アクセス
ACCOUNT_ADMIN: キャンペーンの変更および統計の閲覧に対するフルアクセス権を持ち、ユーザーの追加・削除や設定変更も可能AD_MANAGER: キャンペーンの変更および統計の閲覧に対するフルアクセス権を持つが、ユーザーの追加・削除や設定変更は不可CREATIVE_MANAGER: クリエイティブの変更およびプレビューの閲覧が可能だが、キャンペーンの作成や変更は不可CAMPAIGN_ANALYST: キャンペーンおよび統計の閲覧が可能だが、キャンペーンの作成や変更は不可ANALYST(ads.x.com 上では「Organic Analyst」) : オーガニック分析およびオーディエンスインサイトの閲覧が可能だが、キャンペーンの作成、変更、閲覧は不可PARTNER_AUDIENCE_MANAGER: データパートナーオーディエンスの閲覧および変更に対する API 経由のみのアクセス権を持つが、キャンペーン、クリエイティブ、その他のオーディエンス種別へのアクセス権はなし
TWEET_COMPOSER 権限は、認証されたユーザーが広告主に代わって nullcast (「Promoted-only」) ツイートを作成できることを示します。これは ACCOUNT_ADMIN、AD_MANAGER、または CREATIVE_MANAGER 権限を持つユーザーのみに利用可能です。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/authenticated_user_access
Parameters
なし
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/authenticated_user_access
Example Response
入札ルール
https://ads-api.x.com/12/bidding_rules
Parameters
Example Request
GET https://ads-api.x.com/12/bidding_rules?currency=USD
Example Response
キャンペーン
https://ads-api.x.com/12/accounts/:account_id/campaigns
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/campaigns?campaign_ids=8wku2
Example Response
https://ads-api.x.com/12/accounts/:account_id/campaigns/:campaign_id
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/campaigns/8wku2
Example Response
https://ads-api.x.com/12/accounts/:account_id/campaigns
パラメーター
リクエスト例
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/campaigns?funding_instrument_id=lygyi&name=demo&daily_budget_amount_local_micro=140000000&entity_status=PAUSED&budget_optimization=CAMPIAGN&standard_delivery=false
レスポンス例
- 現在の最大バッチサイズは 40 です。
- すべてのパラメータはリクエストボディで送信され、
Content-Typeとしてapplication/jsonが必須です。 - バッチリクエストはグループとしてまとめて失敗または成功し、エラー・成功どちらの API レスポンスでも、最初のリクエスト内のアイテムの順序が維持されます。
- リクエストレベルのエラー (例: 最大バッチサイズ超過) は、レスポンス内の
errorsオブジェクトに表示されます。 - アイテムレベルのエラー (例: 必須キャンペーンパラメータの未指定) は、レスポンス内の
operation_errorsオブジェクトに表示されます。
https://ads-api.x.com/12/batch/accounts/:account_id/campaigns
Parameters
Example Request
POST 'Content-Type: application/json' https://ads-api.x.com/12/batch/accounts/18ce54d4x5t/campaigns
https://ads-api.x.com/12/accounts/:account_id/campaigns/:campaign_id
Parameters
Example Request
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/campaigns/8wku2?total_budget_amount_local_micro=140000000
Example Response
https://ads-api.x.com/12/accounts/:account_id/campaigns/:campaign_id
Parameters
Example Request
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/campaigns/8yn7m
Example Response
コンテンツカテゴリー
targeting_criteria として設定可能な有効なコンテンツ categories をリクエストします。
各 content_category は 1 つ以上の IAB Categories にマッピングされます。これは、バッチ targeting_critera エンドポイントで targeting_type を IAB_CATEGORY に設定し、content_categories リクエストによって返される対応する iab_categories の集合を含めることで指定できます。これを行わない場合は、バリデーションエラーが発生します。
これら各コンテンツカテゴリに対するパブリッシャーの詳細は、GET publishers エンドポイントを使用して取得できます。
追加の詳細は、Video Views Pre-roll Objective Guide に記載されています。
Resource URL
https://ads-api.x.com/12/content_categories
Parameters
リクエストパラメータはありません
Example Request
GET https://ads-api.x.com/12/content_categories
Example Response
キュレーション済みカテゴリー
country_codes に対して利用可能なキュレイテッドカテゴリのリストを取得します。
各 curated_category は、レスポンス内の country_codes によって指定される特定の国でのみ利用可能です。
詳細は Video Views Pre-roll Objective ガイドを参照してください。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/curated_categories
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/curated_categories?country_codes=US
Example Response
curated_category_id の詳細を取得します。
各 curated_category は、レスポンスの country_codes で指定された特定の国でのみ利用できます。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/curated_categories/:curated_category_id
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/curated_categories/9ddrgesiap6o
Example Response
機能
https://ads-api.x.com/12/accounts/:account_id/features
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/features
Example Response
https://ads-api-sandbox.x.com/12/accounts/:account_id/features
パラメーター
リクエスト例
POST https://ads-api-sandbox.x.com/12/accounts/gq180y/features?feature_keys=VALIDATED_AGE_TARGETING
レスポンス例
https://ads-api-sandbox.x.com/12/accounts/:account_id/features
パラメーター
リクエスト例
DELETE https://ads-api-sandbox.x.com/12/accounts/gq180y/features?feature_keys=PREROLL_VIEWS_OBJECTIVE
レスポンス例
ファンディングインストルメント
https://ads-api.x.com/12/accounts/:account_id/funding_instruments
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/funding_instruments
Example Response
https://ads-api.x.com/12/accounts/:account_id/funding_instruments/:id
パラメータ
リクエスト例
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/funding_instruments/lygyi
レスポンス例
https://ads-api-sandbox.x.com/12/accounts/:account_id/funding_instruments
Parameters
Example Request
POST https://ads-api-sandbox.x.com/12/accounts/gq1844/funding_instruments?currency=USD&start_time=2017-07-10T00:00:00Z&type=INSERTION_ORDER&end_time=2018-01-10T00:00:00Z&funded_amount_local_micro=140000000000
Example Response
https://ads-api-sandbox.x.com/12/accounts/:account_id/funding_instruments/:funding_instrument_id
Parameters
Example Request
DELETE https://ads-api-sandbox.x.com/12/accounts/gq1844/funding_instruments/hxt82
Example Response
IAB カテゴリ
line_items) で使用可能な categories を取得します。
Resource URL
https://ads-api.x.com/12/iab_categories
Parameters
Example Request
GET https://ads-api.x.com/12/iab_categories?count=2
Example Response
ラインアイテム
https://ads-api.x.com/12/accounts/:account_id/line_items
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/line_items?line_item_ids=itttx
Example Response
https://ads-api.x.com/12/accounts/:account_id/line_items/:line_item_id
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/line_items/itttx
Example Response
product_type と objective でなければなりません。
PROMOTED_ACCOUNT の product_type を使用する場合、line_item にツイートを関連付けると、標準的な PROMOTED_ACCOUNT のプレースメントに加えて、モバイルでのタイムライン上のプレースメントが追加されます。
android_app_store_identifier または ios_app_store_identifier のいずれかを設定すると、プロモーション対象のモバイルアプリに一致するターゲティング条件がラインアイテムに自動的に追加されます。たとえば、ios_app_store_identifier を指定すると、iOS に対する PLATFORM ターゲティング条件 が追加されます。
注: キャンペーンごとのラインアイテム数は最大 100 個、すべてのキャンペーンを合計したアクティブなラインアイテム数は最大 256 個です。
リソース URL
https://ads-api.x.com/12/accounts/:account_id/line_items
パラメーター
リクエスト例
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/line_items?campaign_id=hwtq0&objective=ENGAGEMENTS&product_type=PROMOTED_TWEETS&placements=ALL_ON_TWITTER&bid_amount_local_micro=3210000&entity_status=PAUSED&daily_budget_amount_local_micro=1000000&start_time=2022-06-15
レスポンス例
- 現在の最大バッチサイズは 40 件です。
- すべてのパラメータはリクエストボディで送信され、
Content-Typeとしてapplication/jsonの指定が必須です。 - バッチリクエストは 1 つのグループとしてまとめて成功または失敗し、エラーおよび成功いずれの API レスポンスにおいても、最初のリクエスト内のアイテム順序が保持されます。
- リクエストレベルのエラー (例: 最大バッチサイズ超過) は、レスポンス内の
errorsオブジェクトに含まれます。 - アイテムレベルのエラー (例: 必須 line item パラメータの欠如) は、レスポンス内の
operation_errorsオブジェクトに含まれます。
https://ads-api.x.com/12/batch/accounts/:account_id/line_items
Parameters
Example Request
POST 'Content-Type: application/json' https://ads-api.x.com/12/batch/accounts/18ce54d4x5t/line_items
https://ads-api.x.com/12/accounts/:account_id/line_items/:line_item_id
パラメーター
リクエスト例
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/line_items/9cqi0?bid_amount_local_micro=140000
レスポンス例
with_deleted=true が指定されている場合にのみ、GET accounts/:account_id/promoted_tweets および GET accounts/:account_id/promoted_tweets/:promoted_tweet_id エンドポイントで返されます。これらの promoted_tweets 自体は実際には削除されません (レスポンスでは "deleted": false) 。削除のカスケード処理は行いません。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/line_items/:line_item_id
Parameters
Example Request
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/line_items/9f2ix
Example Response
ラインアイテムのキュレーテッドカテゴリ
https://ads-api.x.com/12/accounts/:account_id/line_item_curated_categories
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/abc1/line_item_curated_categories
Example Response
https://ads-api.x.com/12/accounts/:account_id/line_item_curated_categories/:line_item_curated_category_id
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/abc1/line_item_curated_categories/yav
Example Response
https://ads-api.x.com/12/accounts/:account_id/line_item_curated_categories
Parameters
Example Request
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/line_item_curated_categories?line_item_id=iqwka&curated_category_id=9ddrgesiap6o
Example Response
https://ads-api.x.com/12/accounts/:account_id/line_item_curated_categories/:line_item_curated_category_id
Parameters
Example Request
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/line_item_curated_categories/xq?curated_category_id=8tujl1p3yn0g
Example Response
https://ads-api.x.com/12/accounts/:account_id/line_item_curated_categories/:line_item_curated_category_id
Parameters
Example Request
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/line_item_curated_categories/xq
Example Response
ラインアイテムのプレースメント
placement と product_type の組み合わせを取得します。
Resource URL
https://ads-api.x.com/12/line_items/placements
Parameters
Example Request
GET https://ads-api.x.com/12/line_items/placements?product_type=PROMOTED_ACCOUNT
Example Response
メディアクリエイティブ
https://ads-api.x.com/12/accounts/:account_id/media_creatives
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/media_creatives?media_creative_ids=1bzq3
Example Response
https://ads-api.x.com/12/accounts/:account_id/media_creatives/:media_creative_id
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/media_creatives/1bzq3
Example Response
creative_type が PREROLL の場合) や画像広告 (BANNER や INTERSTITIAL など) を Twitter Audience Platform 上で配信するために利用します。
注記: Account Media リソースにメディアアセットを追加するには、POST accounts/:account_id/media_library エンドポイントを使用してください。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/media_creatives
Parameters
Example Request
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/media_creatives?line_item_id=8v7jo&account_media_id=10miy
Example Response
https://ads-api.x.com/12/accounts/:account_id/media_creatives/:media_creative_id
Parameters
Example Request
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/media_creatives/1bzq3
Example Response
プロモーション対象アカウント
現在のアカウント配下の 1 つ以上のラインアイテムに紐づく、一部またはすべてのプロモーションアカウントの詳細を取得します。 レスポンス内のuser_id で特定されるユーザーアカウントのユーザーデータを取得するには、GET users/lookup を使用してください。
指定したいずれのラインアイテムもプロモーションアカウントを含むように設定されていない場合、HTTP 400 が返されます。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/promoted_accounts
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_accounts?promoted_account_ids=19pl2
Example Response
https://ads-api.x.com/12/accounts/:account_id/promoted_accounts/:promoted_account_id
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_accounts/19pl2
Example Response
user_id) を関連付けます。
指定されたラインアイテムが Promoted Accounts と関連付けるように構成されていない場合、HTTP 400 INCOMPATIBLE_LINE_ITEM エラーが返されます。指定されたユーザーがプロモーション対象外の場合、HTTP 400 が返され、いずれのユーザーもプロモーションは行われません。指定されたユーザーがすでにプロモーション済みである場合、そのリクエストは無視されます。
Promoted Accounts の詳細については、campaign management ページを参照してください。
注記: Promoted Accounts エンティティを更新 (PUT) することはできません。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/promoted_accounts
Parameters
Example Request
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_accounts?line_item_id=9bpb2&user_id=756201191646691328
Example Response
https://ads-api.x.com/12/accounts/:account_id/promoted_accounts/:promoted_account_id
Parameters
Example Request
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_accounts/19pl2
Example Response
プロモツイート
tweet_id の値を使用します。
注記: 親のラインアイテムが削除されている場合、リクエストで with_deleted=true が指定されているときにのみ promoted_tweets が返されます。これらの promoted_tweets 自体は削除されていません (レスポンス中の "deleted": false を参照) 。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/promoted_tweets
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_tweets?promoted_tweet_ids=1efwlo
Example Response
with_deleted=true が指定されているときにのみ、promoted_tweets が返されます。これらの promoted_tweets 自体は実際には削除されていません (レスポンスでは "deleted": false となります) 。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/promoted_tweets/:promoted_tweet_id
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_tweets/1efwlo
Example Response
PROMOTED_ACCOUNT プロダクト type を使用する場合、ツイートを line_item に関連付けると、標準の PROMOTED_ACCOUNT プレースメントに加えて、モバイルのタイムライン上でのプレースメントが追加されます。
注: プロモーション対象ツイートエンティティを更新 (PUT) することはできません。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/promoted_tweets
Parameters
Example Request
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_tweets?line_item_id=8v7jo&tweet_ids=822333526255120384
Example Response
https://ads-api.x.com/12/accounts/:account_id/promoted_tweets/:promoted_tweet_id
Parameters
Example Request
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_tweets/1gp8a5
Example Response
プロモーション対象ユーザー
FULL または RETWEETS_ONLY のいずれかです。これは、そのアカウントによってプロモーションできるコンテンツの種類を制御します。広告主は、他のユーザーのコンテンツをプロモーションする権限を取得し、そのユーザーを RETWEETS_ONLY のプロモーション可能ユーザーとして自分のアカウントに追加してもらうために X に連絡する必要があります。
権限が正しく設定されていれば、プロモーション用プロダクトのエンドポイントに対して、プロモーションしたいツイートの Tweet ID を直接参照するリクエストを行うことができます。公開済みツイートをプロモーションするには POST accounts/:account_id/promoted-tweets エンドポイントを利用し、他の X 広告アカウントの予約済みツイートをプロモーションするには POST accounts/:account_id/scheduled-promoted-tweets エンドポイントを利用できます。
対象ツイートをリツイートする必要はありません。この方法でツイートをプロモーションすると、返される tweet_id は、指定した Tweet ID とは異なる値になります。内部的には、そのツイートは nullcast されたツイートとしてリツイートされ、その後プロモーションされます。返される tweet_id は、この新しいツイートに対応しています。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/promotable_users
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promotable_users?promotable_user_ids=l310s
Example Response
type は FULL または RETWEETS_ONLY のいずれかです。これは、そのアカウントでプロモーションできるコンテンツの種類を制御します。
広告主は、他のユーザーのコンテンツをプロモーションするための権限を取得する必要があります。権限が正しく設定されていれば、プロモーションしたいツイートの Tweet ID を直接参照するプロモーションプロダクトのエンドポイントに対してリクエストを行うことができます。
対象のツイートをリツイートする必要はありません。この方法でツイートをプロモーションする場合、返される tweet_id は指定した Tweet ID とは異なります。内部的には、そのツイートは nullcast されたツイートとしてリツイートされ、その後プロモーションされます。返される tweet_id はこの新しいツイートに対応します。
Resource URL
https://ads-api.x.com/12/accounts/:account_id/promotable_users/:promotable_user_id
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promotable_users/l310s
Example Response
パブリッシャー
https://ads-api.x.com/12/publishers
Parameters
リクエストパラメーターはありません
Example Request
GET https://ads-api.x.com/12/publishers
Example Response
推奨
https://ads-api.x.com/5/accounts/:account_id/recommendations
パラメータ
リクエスト例
GET https://ads-api.x.com/5/accounts/18ce54d4x5t/recommendations
レスポンス例
https://ads-api.x.com/5/accounts/:account_id/recommendations/:recommendation_id
Parameters
Example Request
GET https://ads-api.x.com/5/accounts/18ce54d4x5t/recommendations/62ce8zza1q0w
Example Response
スケジュール済みプロモツイート
https://ads-api.x.com/12/accounts/:account_id/scheduled_promoted_tweets
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_promoted_tweets?scheduled_promoted_tweet_ids=1xboq
Example Response
https://ads-api.x.com/12/accounts/:account_id/scheduled_promoted_tweets/:scheduled_promoted_tweet_id
パラメーター
リクエスト例
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_promoted_tweets/1xboq
レスポンス例
https://ads-api.x.com/12/accounts/:account_id/scheduled_promoted_tweets
Parameters
Example Request
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_promoted_tweets?line_item_id=8xdpe&scheduled_tweet_id=870358555227860992
Example Response
scheduled_promoted_tweets は、予約済みツイートの scheduled_at 時刻「前」にのみ削除できます。
リソース URL
https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets/:scheduled_tweet_id
パラメーター
リクエスト例
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_promoted_tweets/1xtfl
レスポンス例
ターゲティング条件
https://ads-api.x.com/12/accounts/:account_id/targeting_criteria
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/targeting_criteria?line_item_ids=8u94t
Example Response
https://ads-api.x.com/12/accounts/:account_id/targeting_criteria/:targeting_criterion_id
パラメーター
リクエスト例
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/targeting_criteria/eijd4y
レスポンス例
targeting_value を確認するには、Targeting Options ページを参照してください。常に最新のターゲティング type の値を利用できるよう、すべてのデータを毎週更新することを推奨します。X では値や利用可能なターゲティング条件を随時変更します。多くは頻繁には変更されませんが、なかには頻繁に変更されるものもあります。これらの値が変更されないことは保証されません。
BROAD_KEYWORD、EXACT_KEYWORD、PHRASE_KEYWORD、UNORDERED_KEYWORD の各ターゲティング type を、targeting_value で指定したキーワードとともに使用します。operator_type リクエストパラメータを NE に設定することで、キーワードを除外できます。各 type の詳細な説明については targeting keyword types を参照してください。
Note: 1 つのラインアイテムにつき、ターゲットにできる AGE バケットは 1 つだけです。
Note: Custom Audience をターゲティングするには、そのオーディエンスがターゲット可能である必要があります。つまり、targerable が true で なければなりません。
Note: ターゲティング type として TV_SHOW を使用する場合、TV_SHOW ターゲティングを設定する前に、そのラインアイテムに少なくとも 1 つの LOCATION ターゲティング条件が存在している必要があります。また、すべての LOCATION はターゲットとする TV_SHOW と同じロケール内でなければなりません。
リソース URL
https://ads-api.x.com/12/accounts/:account_id/targeting_criteria
パラメータ
リクエスト例
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/targeting_criteria?line_item_id=619jl&targeting_type=BROAD_KEYWORD&targeting_value=technology
レスポンス例
- 現在の最大バッチサイズは 500 です。
- すべてのパラメータはリクエストボディで送信され、
Content-Typeとしてapplication/jsonが必須です。 - バッチリクエストはグループとして全体で成功または失敗し、エラーおよび成功の両方の API レスポンスで、最初のリクエストにおける各項目の順序が保持されます。
- リクエストレベルのエラー (例: 最大バッチサイズ超過) はレスポンス内の
errorsオブジェクトとして返されます。 - 項目レベルのエラー (例: 必須ターゲティング条件パラメータの欠如) はレスポンス内の
operation_errorsオブジェクトとして返されます。
https://ads-api.x.com/12/batch/accounts/:account_id/targeting_criteria
Parameters
Example Request
POST https://ads-api.x.com/12/batch/accounts/18ce54d4x5t/targeting_criteria
https://ads-api.x.com/12/accounts/:account_id/targeting_criteria/:targeting_criterion_id
Parameters
Example Request
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/targeting_criteria/dpl3a6
Example Response
ターゲティングオプション
https://ads-api.x.com/12/targeting_criteria/app_store_categories
Parameters
Example Request
GET https://ads-api.x.com/12/targeting_criteria/app_store_categories?q=music&os_type=IOS
Example Response
https://ads-api.x.com/12/targeting_criteria/conversations
Parameters
Example Request
GET https://ads-api.x.com/12/targeting_criteria/conversations?count=2
Example Response
https://ads-api.x.com/12/targeting_criteria/devices
パラメータ
リクエスト例
GET https://ads-api.x.com/12/targeting_criteria/devices?count=2&q=iphone
レスポンス例
start_time および end_time の値は、イベントのロケールやタイムゾーンに関係なく UTC±00:00 で表現されます。イベントの start_time および end_time の値をクエリしたり操作したりする際には、この設計を念頭に置いてください。たとえば、米国の独立記念日 (Independence Day) は、UTC±00:00 において start_time=2017-07-04T00:00:00Z および end_time=2017-07-05T00:00:00Z として表現されるため、この祝日が米国内の複数タイムゾーンにまたがって存在するという問題を回避できます。
Resource URL
https://ads-api.x.com/12/targeting_criteria/events
Parameters
Example Request
GET https://ads-api.x.com/12/targeting_criteria/events?count=1
Example Response
https://ads-api.x.com/12/targeting_criteria/interests
Parameters
Example Request
GET https://ads-api.x.com/12/targeting_criteria/interests?q=books
Example Response
https://ads-api.x.com/12/targeting_criteria/languages
Parameters
Example Request
GET https://ads-api.x.com/12/targeting_criteria/languages?q=english
Example Response
location_type リクエストパラメータと併せて CITIES enum を使用してください。
指定市場エリア (DMA: Designated Market Areas) をターゲットにするには、METROS enum を使用してください。
Resource URL
https://ads-api.x.com/12/targeting_criteria/locations
Parameters
Example Request
GET https://ads-api.x.com/12/targeting_criteria/locations?location_type=CITIES&q=los angeles
Example Response
https://ads-api.x.com/12/targeting_criteria/network_operators
Parameters
Example Request
GET https://ads-api.x.com/12/targeting_criteria/network_operators?count=5&country_code=US
Example Response
https://ads-api.x.com/12/targeting_criteria/platform_versions
Parameters
Example Request
GET https://ads-api.x.com/12/targeting_criteria/platform_versions
Example Response
https://ads-api.x.com/12/targeting_criteria/platforms
Parameters
Example Request
GET https://ads-api.x.com/12/targeting_criteria/platforms
Example Response
https://ads-api.x.com/12/targeting_criteria/tv_markets
パラメーター
なし
リクエスト例
GET https://ads-api.x.com/12/targeting_criteria/tv_markets
レスポンス例
estimated_users の値が 1000 として表示されます。
注記: TV チャンネルおよびジャンルによるターゲティングオプションは、サポートされなくなりました。
Resource URL
https://ads-api.x.com/12/targeting_criteria/tv_shows
Parameters
Example Request
GET https://ads-api.x.com/12/targeting_criteria/tv_shows?locale=en-US&q=news&count=1
Example Response
ターゲティング候補
https://ads-api.x.com/12/accounts/:account_id/targeting_suggestions
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/targeting_suggestions?suggestion_type=KEYWORD&targeting_values=developers&count=2"
Example Response
税設定
https://ads-api.x.com/12/accounts/:account_id/tax_settings
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tax_settings
Example Response
https://ads-api.x.com/12/accounts/:account_id/tax_settings
Parameters
リクエスト例
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/tax_settings?address_name=ABC, Co.
レスポンス例
https://ads-api.x.com/12/accounts/:account_id/tracking_tags
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tracking_tags?tracking_tag_ids=3m82
Example Response
https://ads-api.x.com/12/accounts/:account_id/tracking_tags/:tracking_tag_id
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tracking_tags/555j
Example Response
https://ads-api.x.com/12/accounts/:account_id/tracking_tags
Parameters
Example Request
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/tracking_tags?line_item_id=fdwcl&tracking_tag_type=IMPRESSION_TAG&tracking_tag_url=https://ad.doubleclick.net/ddm/trackimp/N1234.2061500TWITTER-OFFICIAL/B9156151.125630439;dc_trk_aid=1355;dc_trk_cid=8675309
Example Response
https://ads-api.x.com/12/accounts/:account_id/tracking_tags/:tracking_tag_id
Parameters
Example Request
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/tracking_tags/3m82?tracking_tag_url=https://ad.doubleclick.net/ddm/trackimp/N1234.2061500TWITTER-OFFICIAL/B9156151.125630439;dc_trk_aid=1355;dc_trk_cid=8675309
Example Response
https://ads-api.x.com/12/accounts/:account_id/tracking_tags/:tracking_tag_id
Parameters
Example Request
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/tracking_tags/555j
Example Response
ユーザー設定
https://ads-api.x.com/12/accounts/:account_id/user_settings/:user_id
Parameters
Example Request
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/user_settings/756201191646691328
Example Response
https://ads-api.x.com/12/accounts/:account_id/user_settings/:user_id
パラメーター
リクエスト例
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/user_settings/756201191646691328?notification_email='user@domain.com'&subscribe_email_types=ACCOUNT_PERFORMANCE,PERFORMANCE_IMPROVEMENT"
レスポンス例