Команды Ads Manager для Adapty Developer CLI

В этой статье перечислены все команды Ads Manager в Adapty CLI с аргументами, флагами и допустимыми значениями. Команды Ads Manager находятся в разделе adapty asa.

Требования, рекомендации по безопасной записи и примеры задач см. в разделе Управление Ads Manager из CLI.

Для этих команд требуется подключённый аккаунт Apple Ads и активная подписка Ads Manager. Выполните adapty asa whoami, чтобы проверить оба условия. Остальные команды CLI см. в справочнике команд.

Глобальные флаги

Эти флаги доступны для всех команд Ads Manager.

ФлагОписание
--jsonВывод в формате JSON вместо форматированного текста
--helpПоказать справку по команде

Все команды list также принимают флаги пагинации:

ФлагПо умолчаниюОписание
--page1Номер страницы
--page-size100Элементов на странице (макс.: 1000)

Страницы Ads Manager больше, чем в остальной части CLI. Предпочтительнее одна большая страница, чем цикл из небольших.

Все команды, изменяющие ваш аккаунт, принимают следующие флаги:

ФлагОписание
--yes, -yПрименить без запроса подтверждения. Обязателен, когда вывод перенаправляется или используется --json
--idempotency-keyФиксированный ключ для этой операции записи. Повторный запрос с тем же ключом и телом в течение 24 часов возвращает сохранённый результат вместо повторного применения изменения

Команды Ads Manager не принимают флаг --app. Область действия — компания, которой принадлежит ваш токен. --app присутствует в некоторых командах list только как фильтр.

Фильтры списка

Фильтры сужают сам запрос, а не отображаемую страницу. Без фильтров 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 принимают UUID, которые выводит соответствующая команда list, и каждый из них можно указать несколько раз:

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

Запустите эту команду первой. Она покажет, выполнены ли два предварительных условия для всех остальных команд.

adapty asa connect

Подключение Apple Ads аккаунта к Adapty.

adapty asa connect

Команда выводит ссылку для авторизации через Apple и ожидает, пока Apple не сообщит об успешном подключении аккаунта.

ФлагПо умолчаниюОписание
--wait / --no-wait--waitОжидать, пока Apple Ads сообщит о подключении. --no-wait — вернуть управление немедленно
--timeout300Количество секунд ожидания шага в браузере

adapty asa orgs list

Выводит список групп кампаний (организаций Apple Ads), доступных вашей компании.

adapty asa orgs list

Каждая строка содержит два идентификатора, которые не взаимозаменяемы:

ПолеИспользуется как
internal_idUUID, который принимает флаг --org в команде campaigns create, а также флаг --campaign-group в качестве фильтра списка
org_idЧисловой идентификатор организации Apple. Оба флага его не принимают

Флаг --org существует только в campaigns create. Ни одна команда list его не принимает.

Принимает флаги пагинации.

adapty asa apps list

Список приложений, продвигаемых в Apple Ads.

adapty asa apps list

Каждая строка содержит два идентификатора, которые не взаимозаменяемы:

ПолеИспользуется как
internal_idUUID, который принимает --app в качестве фильтра списка
adam_idЧисловой App Store ID от Apple, используемый с --adam-id в campaigns create и product-pages sync

Принимает флаги пагинации.

Кампании

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>
ArgumentDescription
campaign-idCampaign 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ДаID приложения в App Store (adam_id)
--countryДаКод страны или региона. Повторяйте для нескольких: --country US --country CA
--daily-budgetДаДневной бюджет в виде числа, например 50 или 12.50
--budgetНетОбщий бюджет
--target-cpaНетЦелевая стоимость привлечения
--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

adapty asa campaigns update

Обновите существующую кампанию.

adapty asa campaigns update <campaign-id> --daily-budget 80 --status PAUSED
АргументОписание
campaign-idID кампании (UUID)
ФлагОписание
--nameНовое название кампании
--statusENABLED или PAUSED
--countryЗаменяет список стран. Повторите для нескольких
--daily-budgetНовый дневной бюджет
--budgetНовый бюджет на весь срок
--target-cpaНовая целевая стоимость привлечения
--bidding-strategyMANUAL_CPT или MAX_CONVERSIONS
--currencyКод валюты для сумм в этом запросе. По умолчанию: USD

Требуется хотя бы один флаг.

Рекламные группы

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-idID группы объявлений (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ДаСтавка по умолчанию в виде числа, например 1.20
--cpa-goalНетЦелевая стоимость привлечения
--pricing-modelНетCPC или CPM. Apple требует указать для каждой группы объявлений. По умолчанию: CPC
--start-timeНетНачало расписания (YYYY-MM-DD). По умолчанию — сегодня
--end-timeНетКонец расписания (YYYY-MM-DD)
--automated-keywords / --no-automated-keywordsНетРазрешить Apple автоматически добавлять ключевые слова
--currencyНетКод валюты для сумм в этом запросе. По умолчанию: USD
--statusНетНачальный статус: ENABLED или PAUSED

adapty asa ad-groups update

Обновить существующую группу объявлений.

adapty asa ad-groups update <ad-group-id> --default-bid 1.50 --status PAUSED
АргументОписание
ad-group-idID группы объявлений (UUID)
ФлагОписание
--nameНовое название группы объявлений
--statusENABLED или PAUSED
--default-bidНовая ставка по умолчанию
--cpa-goalНовая целевая стоимость привлечения
--start-timeНачало расписания (YYYY-MM-DD)
--end-timeКонец расписания (YYYY-MM-DD)
--automated-keywords / --no-automated-keywordsРазрешить Apple автоматически добавлять ключевые слова
--currencyКод валюты для сумм в этом запросе. По умолчанию: USD

Необходим хотя бы один флаг. Родительская кампания определяется на сервере и никогда не передаётся напрямую.

Ключевые слова

Команды для ключевых слов применяются пакетами не более 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 add

Добавьте ключевые слова таргетинга в группу объявлений.

adapty asa keywords add --ad-group <ad-group-id> --text "running shoes" --text "trail shoes" --bid 1.20

Считайте ключевые слова из файла — по одному на строку:

adapty asa keywords add --ad-group <ad-group-id> --from-file keywords.txt
ФлагОбязательныйОписание
--ad-groupДаID группы объявлений (UUID). Из него определяется кампания
--textДа, если не используется --from-fileТекст ключевого слова. Повторите для нескольких
--from-fileНетФайл с одним ключевым словом на строку. Объединяется с любыми значениями --text
--bidНетСтавка за ключевое слово в виде числового значения
--match-typeНетBROAD или EXACT. По умолчанию: BROAD
--currencyНетКод валюты для сумм в этом запросе. По умолчанию: USD
--statusНетACTIVE или PAUSED. По умолчанию: ACTIVE

Один недопустимый идентификатор приводит к сбою всего пакета ещё до обращения к Apple. Apple по-прежнему может отклонять отдельные ключевые слова, и каждый отказ сопровождается указанием причины.

adapty asa keywords update

Изменение ставки, статуса, текста или типа соответствия одного или нескольких ключевых слов.

adapty asa keywords update <keyword-id> <keyword-id> --bid 2.00 --status PAUSED
АргументОписание
keyword-idID ключевого слова (UUID). Чтобы передать несколько, укажите их как дополнительные аргументы
ФлагОписание
--bidНовая ставка
--statusACTIVE или PAUSED
--match-typeBROAD или EXACT
--textНовый текст ключевого слова. Имеет смысл только при обновлении одного ключевого слова
--currencyКод валюты для сумм в этом вызове. По умолчанию: USD

Одно изменение применяется к каждому переданному ID.

Негативные ключевые слова

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 или --campaignID группы объявлений (UUID). Кампания определяется из него
--campaignОдно из --ad-group или --campaignID кампании (UUID)
--textДаТекст ключевого слова. Повторите для нескольких
--all-ad-groupsНетПрименить ко всем группам объявлений кампании вместо самой кампании. Требует --campaign
--match-typeНетBROAD или EXACT. По умолчанию: EXACT
--statusНет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.

Эта команда использует общий пул аналитики с 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-idID объявления (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 creative ID. См. creatives list
--nameДаНазвание объявления
--statusНетНачальный статус: ENABLED или PAUSED

adapty asa ads update

Обновление существующего объявления.

adapty asa ads update <ad-id> --status PAUSED
АргументОписание
ad-idID объявления (UUID)
ФлагОписание
--nameНовое название объявления
--statusENABLED или PAUSED

Необходимо указать хотя бы один флаг. Креатив и родительская группа объявлений фиксируются при создании.

Креативы

adapty asa creatives list

Список креативов, доступных для новых объявлений.

adapty asa creatives list --app <app-id>

creative_id, возвращаемый здесь, является значением --creative-id для ads create.

Принимает флаги пагинации и фильтры списка --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Ограничить обновление одним приложением. Если не указан, охватывает все приложения

Обновление ставится в очередь, а не выполняется сразу — команда подтверждает это сообщением Sync queued.. Если такое же обновление уже выполняется, вместо этого выводится Already running; nothing new was queued.

Автоматизации

CLI хранит JSON с правилами, которые вы ему передаёте, — он не строит правила самостоятельно. Подробнее о типах правил см. в разделе Автоматизации, а о том, как создать файл с правилами, — в разделе Запуск правил автоматизации.

adapty asa automations list

Список правил автоматизации. Поле status принимает значение 1 для активных и 0 для остановленных.

adapty asa automations list

Принимает флаги пагинации.

adapty asa automations get

Получить конкретное правило автоматизации, включая его условия и действия.

adapty asa automations get <automation-id>
ArgumentDescription
automation-idAutomation rule ID (UUID)

adapty asa automations create

Создаёт правило автоматизации из JSON-файла.

adapty asa automations create --file rule.json
ФлагОписание
--fileJSON-файл с телом правила или - для чтения из стандартного ввода
--run-nowСтавит первый запуск в очередь сразу после сохранения правила

--file обязателен.

adapty asa automations update

Изменить правило автоматизации: остановить его, переименовать или заменить части правила.

adapty asa automations update <automation-id> --stop
АргументОписание
automation-idID правила автоматизации (UUID)
ФлагОписание
--startАктивировать правило
--stopОстановить правило и сбросить время следующего запуска
--nameНовое имя правила
--fileJSON-файл с изменяемыми частями или - для чтения из стандартного ввода

--start и --stop взаимно исключают друг друга. Файл, переданный здесь, не должен содержать internal_id.

adapty asa automations run

Запустить правило автоматизации один раз, вне расписания.

adapty asa automations run <automation-id> --dry-run
АргументОписание
automation-idID правила автоматизации (UUID)
ФлагОписание
--dry-runПроверить правило и записать результат в лог без изменений в Apple Ads

Запуск ставится в очередь, и команда выводит ID запуска. Просмотреть результат можно с помощью automations runs.

adapty asa automations runs

Список прошедших запусков правила автоматизации, включая тестовые (dry run).

adapty asa automations runs <automation-id>
АргументОписание
automation-idID правила автоматизации (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НетНазвание метрики, можно указывать несколько раз. Пропустите, чтобы получить все метрики
--group-byНетРазбивка строк по country, day, week, month, quarter или year. Можно указывать несколько раз
--by-daysНетОкно продлений в днях для когортных метрик, можно указывать несколько раз. Максимум 16 за один вызов. Пропустите, чтобы использовать значения по умолчанию из дашборда
--order-byНетМетрика или поле для сортировки
--order-by-dayНетРанжировать по когортной метрике в этом окне продлений. Должно быть одним из значений --by-days
--orderНетasc или desc. По умолчанию: desc

Принимает флаги пагинации. Эта команда не принимает фильтры списков — сузьте отчёт по уровню сущности и периоду, а затем сопоставьте строки с ID из команды list с нужной областью.

Каждая строка — одна сущность, агрегированная на сервере и отсортированная по --order-by. Вопрос «топ-N» решается одним запросом — задайте --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. Полный список и описание расчёта каждой метрики см. в разделе Метрики. Несуществующее название приведёт к ошибке с перечнем допустимых значений.

Длина периода отчёта ограничена наиболее крупным значением --group-by. Чтобы охватить более длинный период, укрупните группировку вместо того, чтобы разбивать запрос на несколько вызовов:

Самая крупная единица --group-byМаксимальный период
day или без группировки по периоду90 дней
week180 дней
month и крупнее365 дней

Метрики ltv не существует. Lifetime value — это когортная метрика, считываемая в окне продления, поэтому для получения значений на 7-й или 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 сортирует строки по одному из этих окон — так можно получить топ кампаний по ROAS на 90-й день за один запрос.

adapty asa metrics overview

Query totals for a period, bucketed by a unit of time.

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НетОкно продлений в днях для метрик когорт, можно указывать несколько раз. Максимум 16 за один вызов

Эта команда возвращает итоги по всей выбранной сущности и разбивку по периодам, то есть отвечает на вопрос «сколько я потратил или заработал в целом» за один вызов. Флаги сортировки и пагинация отсутствуют.

Для этой команды --metric принимает только корневые когортные метрики — revenue, roas и arpu — без вариантов gross_, proceeds_ и net_.

Длина отчётного периода ограничена параметром --period-unit:

--period-unitМаксимальный период
day90 дней
week180 дней
month и крупнее365 дней

Конкуренты

adapty asa competitors summary

Показывает сводку по ключевым словам Apple Ads, на которые делает ставки набор приложений из App Store. Возвращает те же данные о конкурентах, что и Market Intelligence в дашборде.

adapty asa competitors summary --app-ids 1668337467,6503873027
ФлагОбязательныйОписание
--app-idsДаID приложений в Apple App Store (adam_id), через запятую. От 1 до 5 значений

Отчётный период и набор стран фиксированы на сервере — последний полный месяц, все страны. У команды нет флагов для периода, страны или пагинации.

Команда выводит три блока: общие показатели анализа, топ приложений по эффективности и наиболее конкурентные термины. Добавьте --json для получения полного результата, который также содержит разбивку терминов каждого приложения по странам.

Первый вызов для набора приложений может занять десятки секунд, пока подготавливаются данные. Последующие вызовы для тех же приложений выполняются быстрее.

Ошибки

СтатусКодЗначение
402ads_manager_subscription_requiredУ компании нет активной подписки Ads Manager
404Сущность не существует или принадлежит другой компании
409cli_idempotency_in_progressЗапрос с тем же ключом идемпотентности ещё выполняется
422cli_idempotency_key_reuseТот же ключ идемпотентности был использован с другим телом запроса
429cli_analytics_busyПул аналитики занят. Время ожидания указано в заголовке Retry-After
429cli_cooldown_activeСлишком много отклонённых запросов перевели токен в режим ожидания

Метрики и список поисковых запросов используют общий аналитический бюджет на уровне компании: 5 запросов в минуту, и не более 2 за любые 10 секунд. Если за 5 минут накапливается 20 отклонённых запросов, включается нарастающий период ожидания: сначала 5 минут, затем 30 минут, затем 3 часа. Повторные запросы во время паузы её не продлевают, однако правильное решение — исправить проблемный запрос, а не отправлять его снова.

CLI самостоятельно обрабатывает короткие ожидания. Если в ответ на 429 (не связанный с периодом ожидания) заголовок Retry-After указывает не более 60 секунд, команда ждёт указанное время и повторяет запрос один раз, выводя информацию об ожидании в стандартный поток ошибок.