Adapty Developer CLI の Ads Manager コマンド
この記事では、Adapty CLI の Ads Manager コマンドをすべて一覧で説明します。引数、フラグ、および使用できる値も含みます。Ads Manager コマンドは adapty asa トピックの下に分類されています。
前提条件、安全な書き込みの方法、タスクベースの例については、CLIからAds Managerを管理するを参照してください。
これらのコマンドを使用するには、Apple Adsアカウントの連携とAds Managerサブスクリプションのアクティベーションが必要です。adapty asa whoamiを実行して両方を確認できます。その他のCLIコマンドについては、コマンドリファレンスを参照してください。
グローバルフラグ
これらのフラグはすべての Ads Manager コマンドで使用できます。
| フラグ | 説明 |
|---|---|
--json | フォーマットされたテキストの代わりに JSON で出力する |
--help | コマンドのヘルプを表示する |
すべての list コマンドはページネーションフラグも受け付けます:
| フラグ | デフォルト | 説明 |
|---|---|---|
--page | 1 | ページ番号 |
--page-size | 100 | 1ページあたりのアイテム数(最大: 1000) |
Ads Manager のページサイズは CLI の他のコマンドよりも大きくなっています。小さいページを繰り返すより、1回で大きなページを取得することをおすすめします。
アカウントを変更するすべてのコマンドは、以下のフラグを受け付けます:
| フラグ | 説明 |
|---|---|
--yes, -y | 確認なしで適用します。出力をパイプする場合や --json を使用する場合に必須です |
--idempotency-key | この書き込みに対する固定キーです。同じキーと本文で24時間以内に繰り返した場合、変更を再適用する代わりに保存済みの結果を返します |
Ads Manager のコマンドには --app フラグがありません。スコープはトークンが属する会社になります。一部の list コマンドではフィルターとしてのみ --app が存在します。例外は segments コマンドで、ここでの --app はそのセグメントが属する Adapty アプリを指します。
リストフィルター
フィルターはクエリ自体を絞り込むもので、表示ページを絞るものではありません。フィルターなしの keywords list はアカウント内のすべてのキーワードをページングするため、必要なレベルに合わせてスコープを設定してください。
| フィルター | 受け付けるコマンド |
|---|---|
--campaign-group | campaigns, ad-groups, keywords, negative-keywords, search-terms, ads, creatives, product-pages |
--app | campaigns, ad-groups, keywords, negative-keywords, search-terms, creatives, product-pages |
--campaign | ad-groups, keywords, negative-keywords, search-terms, ads |
--ad-group | keywords, negative-keywords, search-terms, ads |
--status | campaigns, ad-groups, ads(ENABLED または PAUSED)、keywords(ACTIVE または PAUSED) |
--search | campaigns, ad-groups, keywords, negative-keywords, search-terms, ads。名前に対する大文字小文字を区別しない部分一致 |
adapty asa apps list、orgs list、automations list、automations runs はフィルターを取りません。ページネーションフラグのみ受け付けます。
--campaign-group、--app、--campaign、--ad-group は対応する list コマンドで表示される UUID を受け取り、それぞれ繰り返し指定できます。
adapty asa keywords list --ad-group <ad-group-id> --ad-group <other-ad-group-id>
別の会社に属する ID を指定した場合、エラーにはならず、空のページが返されます。
アカウント
adapty asa whoami
所属会社、Ads Manager へのアクセス付与方法、および Apple Ads が接続されているかどうかを表示します。
adapty asa whoami
他のすべてのコマンドを実行する前に、まずこのコマンドを実行してください。2 つの前提条件が満たされているかどうかを確認できます。
adapty asa connect
Apple Ads アカウントを Adapty に連携します。
adapty asa connect
このコマンドは Apple 認証リンクを表示し、Apple がアカウントの接続を報告するまで待機します。
| フラグ | デフォルト | 説明 |
|---|---|---|
--wait / --no-wait | --wait | Apple Ads が接続済みと報告するまで待機します。--no-wait はすぐに返します |
--timeout | 300 | ブラウザのステップを待機する秒数 |
adapty asa orgs list
会社で利用可能なキャンペーングループ(Apple Ads組織)を一覧表示します。
adapty asa orgs list
各行には2つの識別子が含まれており、互いに互換性はありません。
| フィールド | 使用箇所 |
|---|---|
internal_id | campaigns create の --org と、リストフィルター の --campaign-group が受け取るUUID |
org_id | campaigns bulk-create の --org-id が受け取るAppleの数値組織ID。--org と --campaign-group はこの値を受け付けない |
--org は campaigns create にのみ存在します。list コマンドでは使用できません。
各行には payment_model も含まれます。値が LOC の場合、組織はラインオブクレジットで請求され、その組織内のすべてのキャンペーンに --invoice-* フラグが必要です。
ページネーションフラグを使用できます。
adapty asa apps list
Apple Ads でプロモートされているアプリの一覧を表示します。
adapty asa apps list
各行には2つの識別子があり、これらは互換性がありません:
| フィールド | 使用用途 |
|---|---|
internal_id | --app のリストフィルターとして使用するUUID |
adam_id | campaigns create および product-pages sync の --adam-id で使用するAppleの数値App Store ID |
ページネーションフラグを受け付けます。
キャンペーン
adapty asa campaigns list
キャンペーンを一覧表示します。メタデータのみを返します。パフォーマンスの数値は asa metrics で取得してください。
adapty asa campaigns list --app <app-id> --status PAUSED
ページネーションフラグ、および --campaign-group、--app、--search、--status のリストフィルターを使用できます。
adapty asa campaigns get
特定のキャンペーンの詳細を取得します。
adapty asa campaigns get <campaign-id>
| 引数 | 説明 |
|---|---|
campaign-id | キャンペーン ID(UUID) |
adapty asa campaigns create
キャンペーンを作成します。
adapty asa campaigns create --org <campaign-group-id> --name "Winter push" --adam-id 123456 --country US --daily-budget 50
| フラグ | 必須 | 説明 |
|---|---|---|
--org | 必須 | キャンペーングループID(UUID)。orgs list を参照 |
--name | 必須 | キャンペーン名 |
--adam-id | 必須 | App Store アプリID(adam_id) |
--country | 必須 | 国または地域コード。複数指定する場合は繰り返す:--country US --country CA |
--daily-budget | 必須 | 1日の予算(金額をそのまま指定)。例:50 または 12.50 |
--budget | 任意 | 通算予算 |
--target-cpa | 任意 | 目標獲得単価。--daily-budget より低い値にする必要あり |
--currency | 任意 | このリクエストで使用する通貨コード。デフォルト:USD |
--bidding-strategy | 任意 | MANUAL_CPT または MAX_CONVERSIONS。Appleのデフォルト:MANUAL_CPT |
--ad-channel-type | 任意 | SEARCH または DISPLAY。デフォルト:SEARCH |
--billing-event | 任意 | TAPS または IMPRESSIONS。デフォルト:TAPS |
--supply-source | 任意 | 配信ソース(複数指定可)。デフォルト:APPSTORE_SEARCH_RESULTS |
--status | 任意 | 初期ステータス:ENABLED または PAUSED |
--invoice-advertiser | 与信枠 | 請求オプション:広告主名 |
--invoice-order-number | 与信枠 | 請求オプション:注文番号 |
--invoice-contact-name | 与信枠 | 請求オプション:購入者の担当者名 |
--invoice-contact-email | 与信枠 | 請求オプション:購入者の連絡先メールアドレス |
--invoice-billing-email | 与信枠 | 請求オプション:請求担当者のメールアドレス |
payment_model が LOC の組織は与信枠による請求を行い、Apple は各キャンペーンに Invoicing Options を必須とします。5 つの --invoice-* フラグすべてを一度に渡してください — 一部だけ指定するとリクエスト送信前に拒否されます。与信枠の Invoicing Options を設定する を参照してください。
レスポンスには serving_status と serving_state_reasons が含まれます。キャンペーンを作成しても配信が開始されない場合があります。MAX_CONVERSIONS キャンペーンは自動広告グループを待機し、クレジットラインキャンペーンは請求オプションの設定を待機します。いずれの場合も、コマンドはその理由と解決するためのコマンドを表示します。
adapty asa campaigns update
既存のキャンペーンを更新します。
adapty asa campaigns update <campaign-id> --daily-budget 80 --status PAUSED
| 引数 | 説明 |
|---|---|
campaign-id | キャンペーン ID(UUID) |
| フラグ | 説明 |
|---|---|
--name | 新しいキャンペーン名 |
--status | ENABLED または PAUSED |
--country | 国リストを置き換えます。複数指定する場合は繰り返し使用 |
--daily-budget | 新しい1日の予算 |
--budget | 新しい通算予算 |
--target-cpa | 新しいターゲットCPA(獲得単価) |
--bidding-strategy | MANUAL_CPT または MAX_CONVERSIONS |
--currency | このリクエストの金額に使用する通貨コード。デフォルト: USD |
--invoice-advertiser | 請求オプション: 広告主名 |
--invoice-order-number | 請求オプション: 注文番号 |
--invoice-contact-name | 請求オプション: 購入者の担当者名 |
--invoice-contact-email | 請求オプション: 購入者の連絡先メールアドレス |
--invoice-billing-email | 請求オプション: 請求担当者のメールアドレス |
少なくとも1つのフラグが必要です。
5つの --invoice-* フラグはセットとして機能し、保存済みの請求オプションをまとめて置き換えます。そのため、1つだけ変更する場合でも5つすべてを指定してください。一部だけ指定した場合は、リクエストが送信される前に拒否されます。
adapty asa campaigns bulk-create
キャンペーン構造全体(キャンペーン、広告グループ、キーワード、除外キーワード、広告をネスト)を一括操作で作成します。
adapty asa campaigns bulk-create --file structure.json
JSONを手書きする代わりに、Apple Ads のバルクテンプレートを変換することもできます:
adapty asa campaigns bulk-create --from-file Campaign_And_Adgroup_Template.xlsx --org-id 1234567
| フラグ | デフォルト | 説明 |
|---|---|---|
--file | — | キャンペーン構造を含む JSON ファイル、または標準入力から読み込む場合は - |
--from-file | — | サーバー上で変換する Apple Ads バルクテンプレート: Campaign_And_Adgroup_Template.xlsx または キーワード .csv |
--org-id | — | Apple の数値型組織 ID (org_id)。orgs list を参照。--from-file と併用する場合に必須 |
--preview | — | --from-file と併用: 変換後の構造を出力して終了。何も作成されない |
--wait / --no-wait | --wait | 操作が完了するまでポーリングする。--no-wait は操作 ID を出力して返る |
--poll-interval | 5 | 進捗ポーリングの間隔(秒) |
--timeout | 900 | 操作の完了を待つ最大秒数 |
--file と --from-file のどちらか一方のみが必須です。
この構造では、最上位レベルでキャンペーングループが命名され、他のすべてがその下にネストされます。
{
"campaign_group_id": 555777,
"campaigns": [
{
"payload": {
"name": "US Search",
"adam_id": 123456,
"countries_or_regions": ["US"],
"daily_budget_amount": { "amount": "100", "currency": "USD" },
"status": "ENABLED",
"ad_channel_type": "SEARCH",
"billing_event": "TAPS",
"supply_sources": ["APPSTORE_SEARCH_RESULTS"]
},
"ad_groups": [
{
"payload": { "name": "Brand", "start_time": "2026-08-01T00:00:00Z", "status": "ENABLED" },
"keywords": [{ "text": "meditation app", "match_type": "BROAD" }]
}
]
}
]
}
campaign_group_idにはAppleの数値型organization IDを指定します。UUIDを渡す場合はcampaign_group_internal_idを使用してください。payloadを持つノードが作成されます。既存のエンティティをidで参照するノードはアンカーと呼ばれ、既存のキャンペーンに広告グループを追加する際に使用します。同一オペレーションでエンティティを変更するにはupdate_payloadを追加します。キャンペーンはad_groupsをネストし、各広告グループはkeywords、negative_keywords、およびadsをネストします。キャンペーンレベルのネガティブキーワードは、キャンペーンに直接negative_keywordsを指定します。
構造全体は何も作成される前に検証され、無効なノードがある場合はすべてリストアップされます。--from-file を使用した場合、変換の問題はシート、行、列とともに報告されます。変換の警告は送信を止めませんが、変換エラーは中断します。送信前に、構造に含まれるキャンペーン、広告グループ、キーワード、除外キーワード、広告の数が報告され、確認が求められます。
コマンドはその後、操作をポーリングし、次の3つの最終ステータスのいずれかになるまで進捗を表示し続けます。
| ステータス | 意味 |
|---|---|
success | すべてのオブジェクトが作成されました |
partial | 一部のオブジェクトが作成されませんでした。各エラーはAppleのエラーとともに表示されます |
failed | 操作が失敗し、コマンドはゼロ以外の終了コードで終了します |
--timeout 秒が経過しても操作が完了しない場合、コマンドは戻り値を返し、後で実行する bulk-status の呼び出しを表示します。
adapty asa campaigns bulk-status
1つのバルク操作の進捗(ステータス、オブジェクト数、オブジェクトごとのログ)を表示します。
adapty asa campaigns bulk-status <operation-id>
| 引数 | 説明 |
|---|---|
operation-id | campaigns bulk-create が出力する操作 ID(UUID) |
status フィールドの値は pending、running、success、partial、failed のいずれかです。counts ブロックには、合計数のうち適用済み、失敗、保留中のオブジェクト数が示されます。
ページネーションフラグを使用できます。
広告グループ
adapty asa ad-groups list
広告グループを一覧表示します。メタデータのみを返します。パフォーマンス指標を確認するには asa metrics を使用してください。
adapty asa ad-groups list --campaign <campaign-id>
ページネーションフラグ、および --campaign-group、--app、--campaign、--search、--status のリストフィルターを使用できます。
adapty asa ad-groups get
特定の広告グループの詳細を取得します。
adapty asa ad-groups get <ad-group-id>
| 引数 | 説明 |
|---|---|
ad-group-id | 広告グループ ID(UUID) |
adapty asa ad-groups create
キャンペーンにアドグループを作成します。
adapty asa ad-groups create --campaign <campaign-id> --name "Brand terms" --default-bid 1.20
| フラグ | 必須 | 説明 |
|---|---|---|
--campaign | はい | キャンペーン ID(UUID) |
--name | はい | 広告グループ名 |
--default-bid | --automated を使わない場合は必須 | デフォルト入札額(例: 1.20) |
--cpa-goal | いいえ | 目標 CPA(コンバージョン単価) |
--pricing-model | いいえ | CPC または CPM。Apple はすべての広告グループに必須。デフォルト: CPC |
--start-time | いいえ | スケジュール開始日(YYYY-MM-DD)。デフォルトは当日 |
--end-time | いいえ | スケジュール終了日(YYYY-MM-DD) |
--automated-keywords / --no-automated-keywords | いいえ | Apple によるキーワードの自動追加を許可する |
--automated | いいえ | MAX_CONVERSIONS キャンペーンに必要な自動広告グループを作成する |
--currency | いいえ | このリクエストで使用する金額の通貨コード。デフォルト: USD |
--status | いいえ | 初期ステータス: ENABLED または PAUSED |
--automated はアドグループを自動化キーワードにオプトインするため、--automated-keywords と組み合わせることはできません。Apple が自動化されたアドグループ自体をスケジュールし、有効な状態を維持するため、--start-time および --status PAUSED は拒否されます。代わりにキャンペーンを一時停止してください。Max Conversions キャンペーンを作成するを参照してください。
adapty asa ad-groups update
既存の広告グループを更新します。
adapty asa ad-groups update <ad-group-id> --default-bid 1.50 --status PAUSED
| 引数 | 説明 |
|---|---|
ad-group-id | 広告グループID(UUID) |
| フラグ | 説明 |
|---|---|
--name | 新しい広告グループ名 |
--status | ENABLED または PAUSED |
--default-bid | 新しいデフォルト入札額 |
--cpa-goal | 新しい目標獲得単価(CPA) |
--start-time | スケジュール開始日(YYYY-MM-DD) |
--end-time | スケジュール終了日(YYYY-MM-DD) |
--automated-keywords / --no-automated-keywords | Apple によるキーワードの自動追加を許可する |
--currency | このリクエストで使用する金額の通貨コード。デフォルト: USD |
少なくとも1つのフラグが必要です。親キャンペーンはサーバー側で解決されるため、指定する必要はありません。
キーワード
キーワードコマンドは、1回の呼び出しにつき最大100件のバッチとして適用されます。ダッシュボードでの操作については、キーワードの管理を参照してください。
adapty asa keywords list
ターゲティングキーワードを一覧表示します。パフォーマンス数値は asa metrics で取得してください。
adapty asa keywords list --ad-group <ad-group-id> --status ACTIVE
ページネーションフラグ および --campaign-group、--app、--campaign、--ad-group、--search、--status の リストフィルター を使用できます。--ad-group でフィルタリングすることを推奨します。フィルターなしではこのトピックで最も広い範囲の読み取りが行われます。
adapty asa keywords recommend
アプリの既製キーワードプールを取得します。これらはダッシュボードでキャンペーンを設定する際に Ads Manager が使用するものと同じプールです。
adapty asa keywords recommend --adam-id <adam-id> --type generic --country US
| フラグ | 必須 | 説明 |
|---|---|---|
--adam-id | はい | asa apps list から取得した、アプリの Apple App Store ID(adam_id) |
--type | はい | brand、generic、または competitor |
--country | いいえ | 2文字のISO国コード。複数指定する場合は繰り返します。デフォルト:プール内のすべての国 |
--type フラグでプールを選択します:
| タイプ | キーワード |
|---|---|
brand | アプリのブランド用語、その表記バリエーション、およびブランドを含むオーガニック用語。出力にはブランド用語自体も含まれます |
generic | アプリおよび上位オーガニック競合他社がランク付けしている非ブランド用語(既知のブランド用語はすべて除外)。relevance_tier: top_organic は、アプリがすでにオーガニックトップ10にランクインしている用語を示します |
competitor | AI Growth Advisor でアプリ向けに選択した各競合他社のブランド用語(競合他社ごとに1プール)。競合他社を選択するまでは空です |
各キーワードには、国、人気度、スコア、および中央値のオーガニックランクが含まれています。入札額やマッチタイプは含まれていません。それらは自分で選択し、asa keywords add でキーワードを追加してください。
プールのキーワードを使用する前に、プールの status を確認してください:
| ステータス | 意味 |
|---|---|
ready | プールが構築済みです |
building | プールはまだ構築中です。約1分後に再試行してください |
empty | プールは構築済みですが、キーワードがありません |
failed | 構築に失敗しました。後で再試行してください |
最初の brand または generic の呼び出しでは、リクエスト中にプールが構築されるため、数十秒かかる場合があります。このコマンドは1社あたり1分間に10回の呼び出し制限があり、brand または generic のビルドは1社あたり同時に1つしか実行できません。その処理中に2回目のビルドを実行しようとすると、Retry-After: 5 とともに 429 cli_analytics_busy が返されます。
adapty asa keywords add
ターゲティングキーワードを広告グループに追加します。
adapty asa keywords add --ad-group <ad-group-id> --text "running shoes" --text "trail shoes" --bid 1.20
ファイルから1行ずつキーワードを読み込む場合:
adapty asa keywords add --ad-group <ad-group-id> --from-file keywords.txt
| フラグ | 必須 | 説明 |
|---|---|---|
--ad-group | はい | 広告グループID(UUID)。キャンペーンはここから解決されます |
--text | はい(--from-file を使用しない場合) | キーワードテキスト。複数指定する場合は繰り返します |
--from-file | いいえ | 1行につき1キーワードを記載したファイル。--text の値と組み合わせ可能 |
--bid | いいえ | キーワードごとの入札額(金額のみ) |
--match-type | いいえ | BROAD または EXACT。デフォルト: BROAD |
--currency | いいえ | このリクエストで使用する通貨コード。デフォルト: USD |
--status | いいえ | ACTIVE または PAUSED。デフォルト: ACTIVE |
1つの無効なIDがあると、Appleが呼び出される前にバッチ全体が失敗します。Appleは個々のキーワードを拒否することがあり、拒否のたびにその理由が報告されます。
adapty asa keywords update
1つまたは複数のキーワードの入札額、ステータス、テキスト、またはマッチタイプを変更します。
adapty asa keywords update <keyword-id> <keyword-id> --bid 2.00 --status PAUSED
| 引数 | 説明 |
|---|---|
keyword-id | キーワード ID(UUID)。複数指定する場合は追加の引数として渡します |
| フラグ | 説明 |
|---|---|
--bid | 新しい入札額 |
--status | ACTIVE または PAUSED |
--match-type | BROAD または EXACT |
--text | 新しいキーワードのテキスト。単一のキーワードに対してのみ有効 |
--currency | このコールで使用する金額の通貨コード。デフォルト: USD |
1つのIDに対して1つの変更が適用されます。
ネガティブキーワード
adapty asa negative-keywords list
ネガティブキーワードを一覧表示します。ad_group_id が空の行はキャンペーンレベルです。
adapty asa negative-keywords list --campaign <campaign-id>
| フラグ | 説明 |
|---|---|
--campaign-level-only | キャンペーンレベルの行のみを保持します |
ページネーションフラグ、および --campaign-group、--app、--campaign、--ad-group、--search のリストフィルターを使用できます。
adapty asa negative-keywords add
広告グループまたはキャンペーンにネガティブキーワードを追加します。
adapty asa negative-keywords add --ad-group <ad-group-id> --text free
キャンペーンのすべての広告グループに適用する場合:
adapty asa negative-keywords add --campaign <campaign-id> --all-ad-groups --text free
| フラグ | 必須 | 説明 |
|---|---|---|
--ad-group | --ad-group または --campaign のいずれか | 広告グループID(UUID)。キャンペーンはここから解決されます |
--campaign | --ad-group または --campaign のいずれか | キャンペーンID(UUID) |
--text | Yes | キーワードテキスト。複数指定する場合は繰り返します |
--all-ad-groups | No | キャンペーン自体ではなく、キャンペーンのすべての広告グループに適用します。--campaign が必要です |
--match-type | No | BROAD または EXACT。デフォルト: EXACT |
--status | No | ACTIVE または PAUSED。デフォルト: ACTIVE |
--ad-group と --campaign は同時に使用できません。どちらか一方のみを指定してください。
検索用語
adapty asa search-terms list
広告を表示させた検索キーワードの一覧を表示します。新しいキーワードや除外キーワードを見つけるのに役立ちます。
adapty asa search-terms list --ad-group <ad-group-id> --date-from 2026-07-01 --date-to 2026-07-31
| フラグ | デフォルト | 説明 |
|---|---|---|
--date-from | 今日 | レポート期間の開始日(YYYY-MM-DD) |
--date-to | 今日 | レポート期間の終了日(YYYY-MM-DD) |
ページネーションフラグ、および --campaign-group、--app、--campaign、--ad-group、--search のリストフィルターを使用できます。
各検索ワードの行には、パフォーマンス指標に加えて、Apple によるインサイトが含まれています:
| フィールド | 値 |
|---|---|
impression_share_all, impression_share_first | 任意の広告掲載位置、または最初の広告掲載位置でのインプレッションシェア |
impression_midpoint_all, impression_midpoint_first | 単一のパーセンテージで表したインプレッションシェア |
rank_all, rank_first | 任意の広告掲載位置または最初の広告掲載位置における、該当ワードでの他のアプリとの比較ランキング |
search_popularity | 1〜5 の検索人気度 |
各フィールドは、Appleにそのデータがない場合は null になります。Appleによる値の定義についてはインサイトを参照してください。
このコマンドは、asa metrics と分析プールを共有します。エラーを参照してください。
広告
adapty asa ads list
広告を一覧表示します。serving_state_reasons フィールドは、広告が配信されていない理由を説明します。
adapty asa ads list --ad-group <ad-group-id>
ページネーションフラグ、および --campaign-group、--campaign、--ad-group、--search、--status のリストフィルターを使用できます。広告は広告グループに属するため、このリストには --app フィルターはありません。
adapty asa ads get
特定の広告の詳細を取得します。
adapty asa ads get <ad-id>
| 引数 | 説明 |
|---|---|
ad-id | 広告ID(UUID) |
adapty asa ads create
広告グループに広告を作成します。
adapty asa ads create --ad-group <ad-group-id> --creative-id 4321 --name "Summer ad"
| フラグ | 必須 | 説明 |
|---|---|---|
--ad-group | はい | 広告グループID(UUID)。キャンペーンはここから解決されます |
--creative-id | はい | Apple クリエイティブID。creatives list を参照 |
--name | はい | 広告名 |
--status | いいえ | 初期ステータス:ENABLED または PAUSED |
adapty asa ads update
既存の広告を更新します。
adapty asa ads update <ad-id> --status PAUSED
| 引数 | 説明 |
|---|---|
ad-id | 広告 ID(UUID) |
| フラグ | 説明 |
|---|---|
--name | 新しい広告名 |
--status | ENABLED または PAUSED |
少なくとも 1 つのフラグが必要です。クリエイティブと親広告グループは作成時に固定されます。
クリエイティブ
adapty asa creatives list
新しい広告に利用できるクリエイティブを一覧表示します。
adapty asa creatives list --app <app-id>
ここで返される creative_id は、ads create の --creative-id の値です。
ページネーションフラグ、および --campaign-group と --app のリストフィルターを指定できます。
プロダクトページ
adapty asa product-pages list
アプリで利用可能なカスタムプロダクトページの一覧を表示します。
adapty asa product-pages list --app <app-id>
ページネーションフラグ、--campaign-group、--app のリストフィルターを使用できます。
adapty asa product-pages sync
App Store Connect からカスタムプロダクトページを更新します。
adapty asa product-pages sync --adam-id 123456
| フラグ | 説明 |
|---|---|
--adam-id | 更新対象を1つのアプリに限定します。省略するとすべてのアプリが対象になります |
更新はすぐに実行されるのではなくキューに追加され、コマンドは Sync queued. で完了を確認します。同じ更新がすでに実行中の場合は、代わりに Already running; nothing new was queued. と表示されます。
セグメント
これらのコマンドは、Apple Ads のキャンペーン、広告グループ、またはキーワードから Adapty のセグメントを作成します。Ads Managerの Create segment from… と同じ動作です。作成したセグメントをプレースメントや A/B テストのオーディエンスとして使用することで、特定のキャンペーンのユーザーに別のペイウォールを表示できます。
各セグメントには、選択したエンティティの Apple ID に対するアトリビューションフィルターが1つ設定されます。CLI がそれらの ID を検索するため、list コマンドで表示された UUID を渡してください。
他の adapty asa コマンドとは異なり、これらのコマンドは --app(セグメントが属する Adapty アプリの ID。adapty apps list から取得)を受け付けます。--idempotency-key は使用できません。国やインストール日などのフィルターを使用したセグメントの場合は、adapty segments create を使用してください。
adapty asa segments create
キャンペーン、広告グループ、またはキーワードからセグメントを作成します。
adapty asa segments create --app <app-id> --campaign <campaign-id>
adapty asa segments create --app <app-id> --ad-group <ad-group-id> --keyword <keyword-id> --keyword <other-keyword-id>
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | Adapty アプリ ID(UUID) |
--campaign | エンティティタイプのいずれか1つ | キャンペーン ID(UUID)。繰り返し指定可 |
--ad-group | エンティティタイプのいずれか1つ | 広告グループ ID(UUID)。繰り返し指定可。--keyword と併用する場合は、キーワードを含む広告グループを1つだけ指定してください |
--keyword | エンティティタイプのいずれか1つ | キーワード ID(UUID)。繰り返し指定可。--ad-group が1つ必要です |
--title | いいえ | セグメントのタイトル。デフォルトは Ads Manager 形式(例:[ASA] Campaign: <name>) |
--description | いいえ | セグメントの説明。デフォルトは Ads Manager 形式 |
各セグメントは1つのエンティティタイプで構成してください。--campaign と --ad-group を同時に指定したり、--campaign と --keyword を組み合わせたりすると、リクエストが送信される前に終了コード 2 でエラーになります。同じタイプのエンティティを複数指定した場合は、そのいずれかに一致するユーザーを対象とする1つのセグメントが作成されます。
タイトルは変更の必要がない限りデフォルトのままにしてください。Ads Manager は [ASA] プレフィックスでセグメントを識別し、asa segments list はこのプレフィックスを持つセグメントのみを一覧表示します。
レスポンスにはセグメント全体(id と filters を含む)が含まれます。profile_count は 0 から始まり、セグメントの作成後に Adapty が再計算します。
adapty asa segments update
既存のセグメントのキャンペーン、広告グループ、またはキーワードを置き換えます。
adapty asa segments update <segment-id> --app <app-id> --campaign <campaign-id> --campaign <other-campaign-id>
| 引数 | 説明 |
|---|---|
segment-id | セグメント ID(UUID)。asa segments list または adapty segments list から取得 |
asa segments create と同じフラグを使用します。セグメントのフィルターは、渡したエンティティで置き換えられます。--title または --description を渡さない限り、タイトルと説明はそのまま維持されます。
adapty asa segments list
Apple Ads エンティティから作成されたセグメント(タイトルが [ASA] で始まるもの)を一覧表示します。
adapty asa segments list --app <app-id> --campaign <campaign-id>
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | Adapty アプリ ID(UUID) |
--campaign | いいえ | 指定したキャンペーン(UUID)から作成されたセグメントのみを表示 |
--ad-group | いいえ | 指定した広告グループ(UUID)から作成されたセグメントのみを表示 |
--campaign または --ad-group のいずれか一方を指定してください(両方は指定できません)。同じキャンペーンに対してセグメントが重複して作成されないよう、asa segments create を実行する前にこのコマンドを実行してください。結果が空の場合、そのキャンペーンにはまだセグメントがありません。
このコマンドはアプリの最初の100件のセグメントを取得します。
オートメーション
CLIは指定したルールのJSONをそのまま保存しますが、1つ例外があります。Add as keyword アクションの設定はフラグから取得されます。各ルールタイプの詳細についてはオートメーションを、ルールファイルの作成方法についてはオートメーションルールの実行を参照してください。
キーワードとして追加アクションのフラグ
automations create と automations update は、add-as-keyword-to アクションの actions[0].params を設定するフラグを共有しています。これは検索語句ルールの Add as keyword、キーワードルールの Add as keyword to… に対応します。いずれかのフラグを渡すと params オブジェクト全体が置き換わるため、このアクションには手書きの JSON は不要です。
| フラグ | JSONフィールド | 説明 |
|---|---|---|
--target-ad-group | targets.internal_ids | キーワードを受け取る広告グループ(UUID)、繰り返し指定可。対象の広告グループが指定されていないルールは何もしない |
--match-type | match_type | BROAD または EXACT |
--cpt-bid-type | cpt_bid.type | 新しいキーワードの入札額の取得元:ad_group_default_bid、set_to、search_term_current_cpt、または keyword_current_bid |
--cpt-bid | cpt_bid.value | set_to の場合は入札額そのもの。search_term_current_cpt または keyword_current_bid の場合は、コピーする入札額へのパーセンテージ上乗せ分。ad_group_default_bid では使用不可 |
--negate | negate | 検索語句をネガティブキーワードとしても追加する。独自の ad-group または独自の campaign に追加。--no-negate を指定した場合は追加しない。検索語句ルールのみ |
--skip-enable-duplicates | skip_enable_duplicate_keywords | 対象の広告グループにすでに存在するキーワードを有効化するのではなくスキップする。検索語句ルールのみ |
--pause-original | pause_in_original_ad_group | ソースキーワードを元の広告グループで一時停止する。キーワードルールのみ |
--cpt-bid-type と --match-type はデフォルト値がないため、ルールファイル自体に params が含まれていない場合は両方必須です。
これらのフラグのうち4つはルールの operate_with フィールドに依存します。--negate、--no-negate、--skip-enable-duplicates は search-term ルールに属し、--pause-original は targeting-keyword ルールに属します。対応しないセットのフラグを指定した場合、終了コード 2 と適用可能なフラグの一覧が表示されます。
このアクションの params はフラグから取得してください。異なるアクションを持つルールから取得しないでください。APIは params を名前付きバリアントではなく形状で解決するため、別のアクションに属するキーが含まれると、そのアクションが選択されて残りがすべて破棄されます。結果として 200 が返されますが、実際にはどの広告グループにもキーワードを追加しないルールが保存されてしまいます。
adapty asa automations list
自動化ルールを一覧表示します。status フィールドは、アクティブの場合は 1、停止中の場合は 0 になります。
adapty asa automations list
ページネーションフラグを使用できます。
adapty asa automations get
特定のオートメーションルールを条件やアクションを含めて取得します。
adapty asa automations get <automation-id>
| 引数 | 説明 |
|---|---|
automation-id | オートメーションルールID(UUID) |
adapty asa automations create
JSONルールファイルからオートメーションルールを作成します。
adapty asa automations create --file rule.json
| フラグ | 説明 |
|---|---|
--file | ルール本体を含むJSONファイル、または - で標準入力から読み込む |
--run-now | ルール保存直後に最初の実行をキューに追加する |
--file は必須で、ファイルにはアクションを1つだけ含める必要があります(APIはルールごとにアクション1つ、条件1つを保持します)。
add-as-keyword アクションフラグも受け付けており、actions[0].params を設定または上書きします。
adapty asa automations create --file rule.json --target-ad-group <ad-group-id> --match-type EXACT --cpt-bid-type search_term_current_cpt --negate ad-group
adapty asa automations update
自動化ルールを変更します。停止、名前の変更、またはルールの一部を差し替えることができます。
adapty asa automations update <automation-id> --stop
| 引数 | 説明 |
|---|---|
automation-id | 自動化ルールのID(UUID) |
| フラグ | 説明 |
|---|---|
--start | ルールを有効化する |
--stop | ルールを停止し、次回の実行をクリアする |
--name | 新しいルール名 |
--file | 変更する内容を記載したJSONファイル。- を指定すると標準入力から読み込む |
--start と --stop は同時に指定できません。ここで渡すファイルには internal_id を含めないでください。
add-as-keyword アクションフラグも使用できます。いずれかを渡すと、この呼び出しは読み取り→変更→書き込みの操作になります。CLI がルールを読み取り、actions[0].params を再構築し、actions リスト全体を返送します。これは API が actions をマージするのではなく置き換えるためです。読み取りと書き込みの間にダッシュボードで行われた編集は上書きされます。
An update with an action flag also repairs a rule whose stored params carry the shape of another action. The params are rebuilt from scratch, so only the stored keys that fit add-as-keyword-to are kept and everything else has to come from a flag.
adapty asa automations run
スケジュール外でオートメーションルールを1回実行します。
adapty asa automations run <automation-id> --dry-run
| 引数 | 説明 |
|---|---|
automation-id | オートメーションルールID(UUID) |
| フラグ | 説明 |
|---|---|
--dry-run | ルールを評価してその結果をログに記録します。Apple Ads への変更は行いません |
実行はキューに追加され、コマンドは実行IDを出力します。結果は automations runs で確認できます。
adapty asa automations runs
オートメーションルールの過去の実行履歴(ドライランを含む)を一覧表示します。
adapty asa automations runs <automation-id>
| 引数 | 説明 |
|---|---|
automation-id | オートメーションルール ID(UUID) |
ページネーションフラグを使用できます。
指標
adapty asa metrics
アカウントの任意のレベルの指標を日付範囲で照会します。
adapty asa metrics --entity campaign --date-from 2026-07-01 --date-to 2026-07-31
| フラグ | 必須 | 説明 |
|---|---|---|
--entity | はい | レポート対象:campaign、ad-group、keyword、または ad |
--date-from | はい | 期間の開始日(YYYY-MM-DD) |
--date-to | はい | 期間の終了日(YYYY-MM-DD) |
--metric | はい | 指標名。繰り返し指定可能 |
--app | いいえ | 対象アプリを絞り込む。繰り返し指定可能 |
--campaign | いいえ | 対象キャンペーンを絞り込む。繰り返し指定可能 |
--ad-group | いいえ | 対象広告グループを絞り込む。繰り返し指定可能 |
--group-by | いいえ | 行を country、day、week、month、quarter、または year で集計する。繰り返し指定可能 |
--by-days | いいえ | コホート指標の更新ウィンドウ(日数)。繰り返し指定可能。1回の呼び出しで最大16件。省略するとダッシュボードのデフォルト値が使用される |
--order-by | いいえ | 並び替えに使用する指標またはフィールド |
--order-by-day | いいえ | 指定した更新ウィンドウでコホート指標をランク付けする。--by-days で指定した値のいずれかを指定する必要がある |
--order | いいえ | asc または desc。デフォルト:desc |
ページネーションフラグに対応しています。リストフィルターのうち、--app、--campaign、--ad-groupのみ使用できます。--searchおよび--statusは使用できません。それ以外の条件で絞り込む場合は、スコープを絞ったlistコマンドで取得したIDと行を照合してください。
各行は1つのエンティティを表し、サーバー側で集計されて--order-byの順に並べられます。上位N件を取得したい場合は1回の呼び出しで完結します。結果をページングして合計するのではなく、--order-byと--page-size Nを設定してください。
adapty asa metrics --entity campaign --date-from 2026-07-01 --date-to 2026-07-31 --order-by spend --page-size 5
--metric には、Ads Manager が追跡する指標名をダッシュボードの表記で指定します。例えば spend、taps、gross_roas などです。全リストと各指標の計算方法については 指標 を参照してください。存在しない名前を指定した場合、有効な名前一覧がエラーに表示されます。
--entity keyword を指定した場合、--metric はキーワード専用の指標も受け付けます。Apple はインプレッションシェアとランクを、あらゆる広告ポジションと最初の広告ポジションの両方でレポートするため、それぞれ _all と _first の2つのバージョンが存在します。Apple による定義についてはインサイトを参照してください。
| 指標 | 値 |
|---|---|
impression_midpoint_all, impression_midpoint_first | レポート期間中のインプレッションシェア(パーセント) |
rank_all, rank_first | そのキーワードに対する他のアプリとの比較でのランク。--date-from と --date-to に関わらず最新の値 |
search_popularity | 1〜5 の検索人気度 |
レポートデータがないキーワードの場合、これらの指標は 0 を返します。CLI 0.9.2 以降、これらの名前は rank と impression_midpoint に代わるものです。
すべての指標はページング処理の前にエンティティレベル全体で集計されるため、カタログ全体ではなく読み取る列だけを指定してください。subscribers と paid_subscribers はエンティティごとにユニークなプロファイルをカウントするため、スペンドとインストールのみの呼び出しと比べて約17倍のコストがかかります。arppu と arpas はこれらから導出されるため同様です。どの --entity でも、これら4つの指標名を使用する場合は --campaign または --ad-group で呼び出し範囲を絞り込む必要があります。
adapty asa metrics --entity keyword --date-from 2026-07-01 --date-to 2026-07-31 --metric arpas --campaign <campaign-id>
これら2つのフィルターのどちらかがないと、呼び出しは 422 cli_metric_scope_too_wide で失敗します。スコープを絞ることは、指標の呼び出しを高速化する最も安価な方法です。コストはページのサイズではなく、集計されるエンティティの数に依存するためです。
レポート期間の長さは、最も細かい --group-by の値によって上限が決まります。より長い期間をレポートするには、リクエストを複数に分割するのではなく、グループ化を粗くしてください:
最も細かい --group-by | 最大期間 |
|---|---|
day | 28日 |
| 期間グループなし | 90日 |
week | 180日 |
month 以上 | 365日 |
日単位では最大4週間までカバーできます。より長い期間が必要な場合は week 粒度で指定してください。1回のリクエストで半年分のデータを取得できます。
各ページは最大5000件のブレークダウン行に制限されており、1行はエンティティ × 国 × 期間に相当します。制限を超えるページは 422 cli_response_too_large エラーで失敗します。グルーピングを粗くするか、日付範囲を狭めるか、--page-size を下げてください。day 単位でグルーピングしている場合、エラーメッセージに適切なページサイズが示されるため、自分で計算した値ではなくその値でリトライしてください。metrics overview はエンティティごとのブレークダウンを返さないため、この制限は適用されません。
ltv 指標は存在しません。ライフタイムバリューはコホート指標であり、更新ウィンドウで読み取られます。そのため、day-7 や day-90 の値を取得するには --by-days を使用します。
adapty asa metrics --entity campaign --date-from 2026-07-01 --date-to 2026-07-31 --metric roas --by-days 7 --by-days 90
--order-by-day はそれらのウィンドウのいずれかで行をランク付けし、1 回の呼び出しで day-90 ROAS の上位キャンペーンを返します。
adapty asa metrics overview
期間の合計をクエリし、時間単位でバケット化します。
adapty asa metrics overview --entity campaign --date-from 2026-07-01 --date-to 2026-07-31 --period-unit week
| フラグ | 必須 | 説明 |
|---|---|---|
--entity | はい | レポート対象: campaign、ad-group、keyword、または ad |
--date-from | はい | 期間の開始日 (YYYY-MM-DD) |
--date-to | はい | 期間の終了日 (YYYY-MM-DD) |
--period-unit | いいえ | バケットサイズ: day、week、month、quarter、または year。デフォルト: day |
--metric | いいえ | 指標名。繰り返し指定可能。省略するとすべての指標を取得 |
--by-days | いいえ | コホート指標の更新ウィンドウ(日数)。繰り返し指定可能。1回の呼び出しで最大16個 |
このコマンドは、エンティティレベル全体の合計値と期間ごとの系列データを返します。つまり、「全体でいくらかかったか、または稼いだか」を1回の呼び出しで確認できます。並べ替えフラグやページネーションはありません。
このコマンドでは、--metric はコホートのルート指標のみを受け付けます。具体的には revenue、roas、arpu です。gross_、proceeds_、net_ などのバリアントは受け付けません。また、キーワード専用指標も受け付けません。
レポート期間の長さは --period-unit によって制限されます。
--period-unit | 最大期間 |
|---|---|
day | 90日 |
week | 180日 |
month 以上 | 365日 |
競合他社
adapty asa competitors summary
App Store アプリのセットがビッドしている Apple Ads キーワードをまとめます。ダッシュボードの Market Intelligence と同じ競合データを返します。
adapty asa competitors summary --app-ids 1668337467,6503873027
| フラグ | 必須 | 説明 |
|---|---|---|
--app-ids | はい | Apple App Store ID(adam_id)、カンマ区切り。1〜5 件の値 |
レポート期間と国のセットはサーバー側で固定されています(直近の完全な月、全国対象)。このコマンドには期間・国・ページネーションのフラグはありません。
このコマンドは3つのブロックを出力します:分析のトータル、パフォーマンス上位のアプリ、最も競合が激しいキーワード。--json を追加すると完全な結果が得られ、各アプリのキーワードを国別に分解した情報も含まれます。
あるアプリセットに対する最初の呼び出しは、データの準備中に数十秒かかることがあります。同じアプリへの以降の呼び出しはより速く返ります。
変更履歴
変更履歴は Apple Ads API からリアルタイムで取得されます。Adapty はこのデータを保存せず、Apple 側では6か月間保持されます。Apple Ads で直接行われた変更、Apple サポートによる変更、その他の API ツールによる変更など、組織内のすべての変更が記録されます。
adapty asa change-history list
1つのApple Ads組織内で行われた変更を、新しい順に一覧表示します。
adapty asa change-history list --campaign-group <campaign-group-id> --date-from 2026-10-01 --entity-type Campaign --event-type UPDATE
| フラグ | 必須 | 説明 |
|---|---|---|
--campaign-group | Yes | 読み取る組織(orgs list の UUID)。1回の呼び出しにつき1組織。複数の組織を読み取る場合は、それぞれに対してコマンドを実行してください |
--date-from | No | 期間の開始日(YYYY-MM-DD)。デフォルト:7日前 |
--date-to | No | 期間の終了日(YYYY-MM-DD)。デフォルト:今日。期間は最大14日間 |
--entity-type | No | Campaign、AdGroup、Keyword、NegativeKeyword、Ad、Creative、LocationGroup、Org、または AdAccount。繰り返し指定可能。デフォルト:Org と AdAccount を除くすべてのタイプ。Org と AdAccount は他のタイプと組み合わせることはできません |
--event-type | No | CREATE、UPDATE、または DELETE。繰り返し指定可能 |
--user-type | No | 変更を行ったユーザー:CUSTOMER(Apple Ads 内)、CUSTOMER_API(Apple Ads API 経由)、または APPLE_SUPPORT。繰り返し指定可能 |
--campaign、--ad-group、--entity-id | No | キャンペーン、広告グループ、または変更されたエンティティの Apple の数値 ID。繰り返し指定可能 |
--user | No | 変更を行った人の Apple ユーザー ID。繰り返し指定可能 |
--txn | No | Apple のトランザクション ID。繰り返し指定可能 |
--fields | No | 各変更を変更されたフィールドごとに1行に展開し、変更前後の値を表示します |
他のコマンドのリストフィルターとは異なり、--campaign、--ad-group、--entity-id はAppleの数値IDを受け取ります(変更履歴の行に表示されているもの)。UUIDではありません。同様に、各行の modified_by はAppleのユーザーIDであり、メールアドレスではありません。
各行は1つのトランザクションを表します。変更者(modified_by、user_type)、変更日時(event_time)、および変更されたエンティティが含まれます。すべてのエンティティには change-history get 用の detail_id が付与されています。
--fields を使用した場合、ページサイズはデフォルトで10になり、それより大きな --page-size は拒否されます。20件を超えるルックアップが必要なページは失敗します。フィルターを絞り込むか、--fields を外して change-history get で個別の変更を読み取ってください。
ページネーションフラグを使用できます。--page × --page-size は1000を超えることはできません。
adapty asa change-history get
1つのトランザクションにおける1エンティティのフィールドレベルの変更を表示します。
adapty asa change-history get Campaign.444555666.TXN_ID --campaign-group <campaign-group-id>
| 引数 | 説明 |
|---|---|
detail-id | change-history list からの detail_id。EntityType.entityId.txnId の形式 |
| フラグ | 必須 | 説明 |
|---|---|---|
--campaign-group | はい | 変更が属する組織。リスト行の campaign_group_id から取得 |
レスポンスには、変更された各フィールドの old_values と new_values、およびエンティティのメタデータ entity_metadata が含まれます。Apple に記録のない detail_id の場合は 404 が返されます。
エラー
| ステータス | コード | 意味 |
|---|---|---|
402 | ads_manager_subscription_required | 会社にアクティブな Ads Manager サブスクリプションがない |
403 | cli_ad_account_unreadable | change-history が組織を読み取れない: Apple Ads トークンが失効している、組織のリンクが解除されている、または Apple がアクセスを拒否した |
404 | — | エンティティが存在しないか、別の会社に属している |
409 | cli_idempotency_in_progress | 同じ冪等性キーによる書き込みがまだ実行中 |
422 | cli_idempotency_key_reuse | 同じ冪等性キーが異なるリクエストボディで使用された |
422 | cli_metric_scope_too_wide | --campaign または --ad-group なしでプロファイルカウント指標がリクエストされた |
422 | cli_response_too_large | metrics ページが 5000 件のブレークダウン行を超える |
429 | cli_analytics_busy | アナリティクスプールがビジー状態、またはその会社の別のキーワードプールビルドがまだ実行中。待機時間は Retry-After ヘッダーに記載 |
429 | cli_cooldown_active | 拒否されたリクエストが多すぎてトークンがクールダウン状態になった |
429 | cli_upstream_rate_limited | Apple が change-history リクエストをレート制限した。Apple からの待機時間は Retry-After ヘッダーに記載 |
504 | cli_read_timeout | change-history リクエストが 50 秒を超えた。期間またはフィルターを絞り込んでください |
指標と検索語リストは1社あたりの分析APIバジェットを共有します。制限は1分間に5回、かつ10秒間に最大2回です。change-history には独自のバジェットがあり、1分間に30回、10秒間に最大5回、1社あたり同時リクエスト1件までとなっています。5分以内に20件の拒否リクエストが発生すると、段階的なクールダウンが始まり、5分→30分→3時間と延長されます。一時停止中にリクエストを再試行しても停止時間は延長されませんが、同じリクエストを繰り返すのではなく、失敗しているリクエストを修正することが解決策です。
CLIは短い待機を自動で処理します。クールダウンではない429エラーが返された場合、Retry-Afterが60秒以下であれば、その時間だけ待機してから1回リトライし、待機中である旨を標準エラー出力に表示します。