Adapty Developer CLI の Ads Manager コマンド

この記事では、Adapty CLI の Ads Manager コマンドをすべて一覧で説明します。引数、フラグ、および使用できる値も含みます。Ads Manager コマンドは adapty asa トピックの下に分類されています。

これらのコマンドを使用するには、Apple Adsアカウントの連携とAds Managerサブスクリプションのアクティベーションが必要です。adapty asa whoamiを実行して両方を確認できます。その他のCLIコマンドについては、コマンドリファレンスを参照してください。

グローバルフラグ

これらのフラグはすべての Ads Manager コマンドで使用できます。

フラグ説明
--jsonフォーマットされたテキストの代わりに JSON で出力する
--helpコマンドのヘルプを表示する

すべての list コマンドはページネーションフラグも受け付けます:

フラグデフォルト説明
--page1ページ番号
--page-size1001ページあたりのアイテム数(最大: 1000)

Ads Manager のページサイズは CLI の他のコマンドよりも大きくなっています。小さいページを繰り返すより、1回で大きなページを取得することをおすすめします。

アカウントを変更するすべてのコマンドは、以下のフラグを受け付けます:

フラグ説明
--yes, -y確認なしで適用します。出力をパイプする場合や --json を使用する場合に必須です
--idempotency-keyこの書き込みに対する固定キーです。同じキーと本文で24時間以内に繰り返した場合、変更を再適用する代わりに保存済みの結果を返します

Ads Manager のコマンドには --app フラグがありません。スコープはトークンが属する会社になります。一部の list コマンドではフィルターとしてのみ --app が存在します。例外は segments コマンドで、ここでの --app はそのセグメントが属する Adapty アプリを指します。

リストフィルター

フィルターはクエリ自体を絞り込むもので、表示ページを絞るものではありません。フィルターなしの keywords list はアカウント内のすべてのキーワードをページングするため、必要なレベルに合わせてスコープを設定してください。

フィルター受け付けるコマンド
--campaign-groupcampaigns, ad-groups, keywords, negative-keywords, search-terms, ads, creatives, product-pages
--appcampaigns, ad-groups, keywords, negative-keywords, search-terms, creatives, product-pages
--campaignad-groups, keywords, negative-keywords, search-terms, ads
--ad-groupkeywords, negative-keywords, search-terms, ads
--statuscampaigns, ad-groups, ads(ENABLED または PAUSED)、keywords(ACTIVE または PAUSED)
--searchcampaigns, 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--waitApple Ads が接続済みと報告するまで待機します。--no-wait はすぐに返します
--timeout300ブラウザのステップを待機する秒数

adapty asa orgs list

会社で利用可能なキャンペーングループ(Apple Ads組織)を一覧表示します。

adapty asa orgs list

各行には2つの識別子が含まれており、互いに互換性はありません。

フィールド使用箇所
internal_idcampaigns create の --org と、リストフィルター の --campaign-group が受け取るUUID
org_idcampaigns 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_idcampaigns 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新しいキャンペーン名
--statusENABLED または PAUSED
--country国リストを置き換えます。複数指定する場合は繰り返し使用
--daily-budget新しい1日の予算
--budget新しい通算予算
--target-cpa新しいターゲットCPA(獲得単価)
--bidding-strategyMANUAL_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-interval5進捗ポーリングの間隔(秒)
--timeout900操作の完了を待つ最大秒数

--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-idcampaigns 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新しい広告グループ名
--statusENABLED または PAUSED
--default-bid新しいデフォルト入札額
--cpa-goal新しい目標獲得単価(CPA)
--start-timeスケジュール開始日(YYYY-MM-DD)
--end-timeスケジュール終了日(YYYY-MM-DD)
--automated-keywords / --no-automated-keywordsApple によるキーワードの自動追加を許可する
--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にランクインしている用語を示します
competitorAI 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新しい入札額
--statusACTIVE または PAUSED
--match-typeBROAD または 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)
--textYesキーワードテキスト。複数指定する場合は繰り返します
--all-ad-groupsNoキャンペーン自体ではなく、キャンペーンのすべての広告グループに適用します。--campaign が必要です
--match-typeNoBROAD または EXACT。デフォルト: EXACT
--statusNoACTIVE または 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_popularity1〜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新しい広告名
--statusENABLED または 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-grouptargets.internal_idsキーワードを受け取る広告グループ(UUID)、繰り返し指定可。対象の広告グループが指定されていないルールは何もしない
--match-typematch_typeBROAD または EXACT
--cpt-bid-typecpt_bid.type新しいキーワードの入札額の取得元:ad_group_default_bid、set_to、search_term_current_cpt、または keyword_current_bid
--cpt-bidcpt_bid.valueset_to の場合は入札額そのもの。search_term_current_cpt または keyword_current_bid の場合は、コピーする入札額へのパーセンテージ上乗せ分。ad_group_default_bid では使用不可
--negatenegate検索語句をネガティブキーワードとしても追加する。独自の ad-group または独自の campaign に追加。--no-negate を指定した場合は追加しない。検索語句ルールのみ
--skip-enable-duplicatesskip_enable_duplicate_keywords対象の広告グループにすでに存在するキーワードを有効化するのではなくスキップする。検索語句ルールのみ
--pause-originalpause_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 と適用可能なフラグの一覧が表示されます。

Warning

このアクションの 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_popularity1〜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最大期間
day28日
期間グループなし90日
week180日
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最大期間
day90日
week180日
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-groupYes読み取る組織(orgs list の UUID)。1回の呼び出しにつき1組織。複数の組織を読み取る場合は、それぞれに対してコマンドを実行してください
--date-fromNo期間の開始日(YYYY-MM-DD)。デフォルト:7日前
--date-toNo期間の終了日(YYYY-MM-DD)。デフォルト:今日。期間は最大14日間
--entity-typeNoCampaign、AdGroup、Keyword、NegativeKeyword、Ad、Creative、LocationGroup、Org、または AdAccount。繰り返し指定可能。デフォルト:Org と AdAccount を除くすべてのタイプ。Org と AdAccount は他のタイプと組み合わせることはできません
--event-typeNoCREATE、UPDATE、または DELETE。繰り返し指定可能
--user-typeNo変更を行ったユーザー:CUSTOMER(Apple Ads 内)、CUSTOMER_API(Apple Ads API 経由)、または APPLE_SUPPORT。繰り返し指定可能
--campaign、--ad-group、--entity-idNoキャンペーン、広告グループ、または変更されたエンティティの Apple の数値 ID。繰り返し指定可能
--userNo変更を行った人の Apple ユーザー ID。繰り返し指定可能
--txnNoApple のトランザクション ID。繰り返し指定可能
--fieldsNo各変更を変更されたフィールドごとに1行に展開し、変更前後の値を表示します
Important

他のコマンドのリストフィルターとは異なり、--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-idchange-history list からの detail_id。EntityType.entityId.txnId の形式
フラグ必須説明
--campaign-groupはい変更が属する組織。リスト行の campaign_group_id から取得

レスポンスには、変更された各フィールドの old_values と new_values、およびエンティティのメタデータ entity_metadata が含まれます。Apple に記録のない detail_id の場合は 404 が返されます。

エラー

ステータスコード意味
402ads_manager_subscription_required会社にアクティブな Ads Manager サブスクリプションがない
403cli_ad_account_unreadablechange-history が組織を読み取れない: Apple Ads トークンが失効している、組織のリンクが解除されている、または Apple がアクセスを拒否した
404—エンティティが存在しないか、別の会社に属している
409cli_idempotency_in_progress同じ冪等性キーによる書き込みがまだ実行中
422cli_idempotency_key_reuse同じ冪等性キーが異なるリクエストボディで使用された
422cli_metric_scope_too_wide--campaign または --ad-group なしでプロファイルカウント指標がリクエストされた
422cli_response_too_largemetrics ページが 5000 件のブレークダウン行を超える
429cli_analytics_busyアナリティクスプールがビジー状態、またはその会社の別のキーワードプールビルドがまだ実行中。待機時間は Retry-After ヘッダーに記載
429cli_cooldown_active拒否されたリクエストが多すぎてトークンがクールダウン状態になった
429cli_upstream_rate_limitedApple が change-history リクエストをレート制限した。Apple からの待機時間は Retry-After ヘッダーに記載
504cli_read_timeoutchange-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回リトライし、待機中である旨を標準エラー出力に表示します。