Comandos de Ads Manager para la CLI de desarrolladores de Adapty

Este artículo lista todos los comandos de Ads Manager en la CLI de Adapty, con sus argumentos, flags y valores aceptados. Los comandos de Ads Manager se encuentran bajo el topic adapty asa.

Para requisitos previos, prácticas seguras de escritura y ejemplos por tarea, consulta Gestionar Ads Manager desde la CLI.

Estos comandos requieren una cuenta de Apple Ads conectada y una suscripción activa a Ads Manager. Ejecuta adapty asa whoami para verificar ambas. Para el resto de la CLI, consulta la referencia de comandos.

Flags globales

Estos flags están disponibles en todos los comandos de Ads Manager.

FlagDescripción
--jsonSalida en formato JSON en lugar de texto formateado
--helpMuestra la ayuda del comando

Todos los comandos list también aceptan flags de paginación:

FlagPor defectoDescripción
--page1Número de página
--page-size100Elementos por página (máx.: 1000)

Las páginas de Ads Manager son más grandes que en el resto de la CLI. Es preferible usar una página grande en lugar de un bucle de páginas pequeñas.

Todos los comandos que modifican tu cuenta aceptan estos flags:

IndicadorDescripción
--yes, -yAplica sin pedir confirmación. Obligatorio cuando la salida se redirige por pipe o se usa --json
--idempotency-keyClave fija para esta escritura. Si se repite con la misma clave y cuerpo en un plazo de 24 horas, devuelve el resultado almacenado en lugar de aplicar el cambio de nuevo

Los comandos de Ads Manager no admiten el indicador --app. El ámbito es la empresa a la que pertenece tu token. --app existe en algunos comandos list únicamente como filtro.

Filtros de lista

Los filtros acotan la consulta en sí, no la página mostrada. Una keywords list sin filtros recorre todas las palabras clave de la cuenta, así que limita cada lectura al nivel que necesites.

FiltroAceptado por
--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 o PAUSED), keywords (ACTIVE o PAUSED)
--searchcampaigns, ad-groups, keywords, negative-keywords, search-terms, ads. Coincidencia de subcadena sin distinción entre mayúsculas y minúsculas en el nombre

adapty asa apps list, orgs list, automations list y automations runs no admiten filtros. Solo aceptan flags de paginación.

--campaign-group, --app, --campaign y --ad-group reciben los UUIDs que imprime el comando list correspondiente, y cada uno es repetible:

adapty asa keywords list --ad-group <ad-group-id> --ad-group <other-ad-group-id>

Un ID que pertenece a otra empresa no devuelve ningún resultado, por lo que la página aparece vacía en lugar de mostrar un error.

Cuenta

adapty asa whoami

Muestra la empresa, cómo se concedió el acceso a Ads Manager y si Apple Ads está conectado.

adapty asa whoami

Ejecuta este comando primero. Informa de si se cumplen los dos requisitos previos para todos los demás comandos.

adapty asa connect

Vincula una cuenta de Apple Ads a Adapty.

adapty asa connect

El comando imprime un enlace de autorización de Apple y espera hasta que Apple notifique que la cuenta está conectada.

FlagPor defectoDescripción
--wait / --no-wait--waitEspera hasta que Apple Ads notifique que está conectado. --no-wait devuelve el control inmediatamente
--timeout300Segundos de espera para el paso del navegador

adapty asa orgs list

Lista los grupos de campaña (organizaciones de Apple Ads) disponibles en tu empresa.

adapty asa orgs list

Cada fila contiene dos identificadores que no son intercambiables:

CampoSe usa como
internal_idEl UUID que --org acepta en campaigns create, y que --campaign-group acepta como filtro de lista
org_idEl ID numérico de organización de Apple. Ninguno de los dos flags lo acepta

--org solo existe en campaigns create. Ningún comando de lista lo acepta.

Acepta flags de paginación.

adapty asa apps list

Lista las apps promocionadas en Apple Ads.

adapty asa apps list

Cada fila contiene dos identificadores que no son intercambiables:

CampoSe usa como
internal_idEl UUID que --app acepta como filtro de lista
adam_idEl ID numérico de App Store de Apple, que usa --adam-id en campaigns create y product-pages sync

Acepta flags de paginación.

Campañas

adapty asa campaigns list

Lista campañas. Devuelve solo metadatos — consulta los datos de rendimiento con asa metrics.

adapty asa campaigns list --app <app-id> --status PAUSED

Acepta indicadores de paginación y los filtros de lista --campaign-group, --app, --search y --status.

adapty asa campaigns get

Obtén detalles de una campaña específica.

adapty asa campaigns get <campaign-id>
ArgumentDescription
campaign-idCampaign ID (UUID)

adapty asa campaigns create

Crea una campaña.

adapty asa campaigns create --org <campaign-group-id> --name "Winter push" --adam-id 123456 --country US --daily-budget 50
ParámetroRequeridoDescripción
--orgID del grupo de campañas (UUID). Ver orgs list
--nameNombre de la campaña
--adam-idID de la app en App Store (adam_id)
--countryCódigo de país o región. Repite para varios: --country US --country CA
--daily-budgetPresupuesto diario como cantidad simple, por ejemplo 50 o 12.50
--budgetNoPresupuesto total
--target-cpaNoCoste objetivo por adquisición
--currencyNoCódigo de divisa para los importes de esta llamada. Por defecto: USD
--bidding-strategyNoMANUAL_CPT o MAX_CONVERSIONS. Apple usa MANUAL_CPT por defecto
--ad-channel-typeNoSEARCH o DISPLAY. Por defecto: SEARCH
--billing-eventNoTAPS o IMPRESSIONS. Por defecto: TAPS
--supply-sourceNoFuente de suministro, repetible. Por defecto: APPSTORE_SEARCH_RESULTS
--statusNoEstado inicial: ENABLED o PAUSED

adapty asa campaigns update

Actualiza una campaña existente.

adapty asa campaigns update <campaign-id> --daily-budget 80 --status PAUSED
ArgumentoDescripción
campaign-idID de campaña (UUID)
FlagDescripción
--nameNuevo nombre de campaña
--statusENABLED o PAUSED
--countryReemplaza la lista de países. Repite para varios
--daily-budgetNuevo presupuesto diario
--budgetNuevo presupuesto total
--target-cpaNuevo coste objetivo por adquisición
--bidding-strategyMANUAL_CPT o MAX_CONVERSIONS
--currencyCódigo de moneda para los importes de esta llamada. Por defecto: USD

Se requiere al menos un flag.

Grupos de anuncios

adapty asa ad-groups list

Lista los grupos de anuncios. Devuelve solo metadatos — consulta el rendimiento con asa metrics.

adapty asa ad-groups list --campaign <campaign-id>

Acepta flags de paginación y los filtros de lista --campaign-group, --app, --campaign, --search y --status.

adapty asa ad-groups get

Obtén los detalles de un grupo de anuncios específico.

adapty asa ad-groups get <ad-group-id>
ArgumentDescription
ad-group-idID del grupo de anuncios (UUID)

adapty asa ad-groups create

Crea un grupo de anuncios en una campaña.

adapty asa ad-groups create --campaign <campaign-id> --name "Brand terms" --default-bid 1.20
FlagObligatorioDescripción
--campaignID de campaña (UUID)
--nameNombre del grupo de anuncios
--default-bidPuja predeterminada como importe simple, por ejemplo 1.20
--cpa-goalNoObjetivo de coste por adquisición
--pricing-modelNoCPC o CPM. Apple requiere uno en cada grupo de anuncios. Predeterminado: CPC
--start-timeNoInicio de la programación (YYYY-MM-DD). Por defecto, hoy
--end-timeNoFin de la programación (YYYY-MM-DD)
--automated-keywords / --no-automated-keywordsNoPermite que Apple añada palabras clave automáticamente
--currencyNoCódigo de moneda para los importes de esta llamada. Predeterminado: USD
--statusNoEstado inicial: ENABLED o PAUSED

adapty asa ad-groups update

Actualiza un grupo de anuncios existente.

adapty asa ad-groups update <ad-group-id> --default-bid 1.50 --status PAUSED
ArgumentoDescripción
ad-group-idID del grupo de anuncios (UUID)
FlagDescripción
--nameNuevo nombre del grupo de anuncios
--statusENABLED o PAUSED
--default-bidNueva puja predeterminada
--cpa-goalNuevo objetivo de coste por adquisición
--start-timeInicio de la programación (YYYY-MM-DD)
--end-timeFin de la programación (YYYY-MM-DD)
--automated-keywords / --no-automated-keywordsPermitir que Apple añada palabras clave automáticamente
--currencyCódigo de divisa para los importes de esta llamada. Por defecto: USD

Se requiere al menos un flag. La campaña padre se resuelve en el servidor y nunca se pasa directamente.

Palabras clave

Los comandos de palabras clave se aplican en lotes de un máximo de 100 elementos por llamada. Consulta Gestionar palabras clave para conocer el equivalente en el dashboard.

adapty asa keywords list

Lista las palabras clave de targeting. Devuelve solo metadatos — consulta las métricas de rendimiento con asa metrics.

adapty asa keywords list --ad-group <ad-group-id> --status ACTIVE

Acepta flags de paginación y los filtros de lista --campaign-group, --app, --campaign, --ad-group, --search y --status. Filtra por --ad-group — sin filtro, esta es la lectura más amplia del tema.

adapty asa keywords add

Añade palabras clave de segmentación a un grupo de anuncios.

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

Lee las palabras clave desde un archivo, una por línea:

adapty asa keywords add --ad-group <ad-group-id> --from-file keywords.txt
IndicadorObligatorioDescripción
--ad-groupID del grupo de anuncios (UUID). La campaña se resuelve a partir de él
--textSí, a menos que se use --from-fileTexto de la palabra clave. Repite para varias
--from-fileNoArchivo con una palabra clave por línea. Se combina con los valores --text indicados
--bidNoPuja por palabra clave como importe simple
--match-typeNoBROAD o EXACT. Valor predeterminado: BROAD
--currencyNoCódigo de moneda para los importes de esta llamada. Valor predeterminado: USD
--statusNoACTIVE o PAUSED. Valor predeterminado: ACTIVE

Un ID no válido hace fallar todo el lote antes de llamar a Apple. Apple puede rechazar palabras clave individuales, y cada rechazo se notifica con su motivo.

adapty asa keywords update

Cambia la puja, el estado, el texto o el tipo de coincidencia de una o varias palabras clave.

adapty asa keywords update <keyword-id> <keyword-id> --bid 2.00 --status PAUSED
ArgumentoDescripción
keyword-idID de la palabra clave (UUID). Pasa varios como argumentos adicionales
FlagDescripción
--bidNueva puja
--statusACTIVE o PAUSED
--match-typeBROAD o EXACT
--textNuevo texto de la palabra clave. Solo tiene sentido para una única palabra clave
--currencyCódigo de moneda para los importes de esta llamada. Por defecto: USD

Un único cambio se aplica a cada ID pasado.

Palabras clave negativas

adapty asa negative-keywords list

Lista las palabras clave negativas. Las filas con ad_group_id vacío corresponden al nivel de campaña.

adapty asa negative-keywords list --campaign <campaign-id>
FlagDescripción
--campaign-level-onlyConserva solo las filas a nivel de campaña

Acepta flags de paginación y los filtros de lista --campaign-group, --app, --campaign, --ad-group y --search.

adapty asa negative-keywords add

Añade palabras clave negativas a un grupo de anuncios o a una campaña.

adapty asa negative-keywords add --ad-group <ad-group-id> --text free

Aplícalas a todos los grupos de anuncios de una campaña en su lugar:

adapty asa negative-keywords add --campaign <campaign-id> --all-ad-groups --text free
FlagObligatorioDescripción
--ad-groupUno de --ad-group o --campaignID del grupo de anuncios (UUID). La campaña se resuelve a partir de él
--campaignUno de --ad-group o --campaignID de la campaña (UUID)
--textTexto de la palabra clave. Repite para varias
--all-ad-groupsNoAplica a todos los grupos de anuncios de la campaña en lugar de a la campaña en sí. Requiere --campaign
--match-typeNoBROAD o EXACT. Por defecto: EXACT
--statusNoACTIVE o PAUSED. Por defecto: ACTIVE

--ad-group y --campaign son mutuamente excluyentes. Pasa exactamente uno de ellos.

Términos de búsqueda

adapty asa search-terms list

Lista los términos de búsqueda que activaron tus anuncios. Úsala para encontrar nuevas palabras clave y nuevas palabras clave negativas.

adapty asa search-terms list --ad-group <ad-group-id> --date-from 2026-07-01 --date-to 2026-07-31
FlagPor defectoDescripción
--date-fromHoyInicio del período de informe (YYYY-MM-DD)
--date-toHoyFin del período de informe (YYYY-MM-DD)

Acepta flags de paginación y los filtros de lista --campaign-group, --app, --campaign, --ad-group y --search.

Este comando comparte un grupo de análisis con asa metrics. Consulta Errores.

Anuncios

Lista de anuncios de Adapty ASA

Lista anuncios. El campo serving_state_reasons explica por qué un anuncio no está en ejecución.

adapty asa ads list --ad-group <ad-group-id>

Acepta flags de paginación y los filtros de lista --campaign-group, --campaign, --ad-group, --search y --status. Esta lista no tiene el filtro --app, ya que los anuncios pertenecen a grupos de anuncios.

adapty asa ads get

Obtén los detalles de un anuncio específico.

adapty asa ads get <ad-id>
ArgumentDescription
ad-idAd ID (UUID)

adapty asa ads create

Crea un anuncio en un grupo de anuncios.

adapty asa ads create --ad-group <ad-group-id> --creative-id 4321 --name "Summer ad"
FlagObligatorioDescripción
--ad-groupID del grupo de anuncios (UUID). La campaña se obtiene a partir de él
--creative-idID de creatividad de Apple. Véase creatives list
--nameNombre del anuncio
--statusNoEstado inicial: ENABLED o PAUSED

adapty asa ads update

Actualiza un anuncio existente.

adapty asa ads update <ad-id> --status PAUSED
ArgumentoDescripción
ad-idID del anuncio (UUID)
FlagDescripción
--nameNuevo nombre del anuncio
--statusENABLED o PAUSED

Se requiere al menos un flag. El creativo y el grupo de anuncios padre son fijos desde la creación.

Creatives

adapty asa creatives list

Lista los creativos disponibles para nuevos anuncios.

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

El creative_id devuelto aquí es el valor --creative-id para ads create.

Acepta indicadores de paginación y los filtros de lista --campaign-group y --app list filters.

Páginas de producto

adapty asa product-pages list

Lista las páginas de producto personalizadas disponibles para tus apps.

adapty asa product-pages list --app <app-id>

Acepta flags de paginación y los filtros de lista --campaign-group y --app list filters.

adapty asa product-pages sync

Actualiza las páginas de producto personalizadas desde App Store Connect.

adapty asa product-pages sync --adam-id 123456
FlagDescription
--adam-idLimita la actualización a una sola app. Omítelo para cubrir todas las apps

La actualización se pone en cola en lugar de ejecutarse de inmediato, y el comando confirma con Sync queued. Si la misma actualización ya está en curso, muestra Already running; nothing new was queued. en su lugar.

Automatizaciones

La CLI almacena el JSON de reglas que le proporcionas — no construye reglas. Consulta Automatizaciones para saber qué hace cada tipo de regla, y Ejecutar reglas de automatización para saber cómo generar un archivo de reglas.

lista de automatizaciones de adapty asa

Lista las reglas de automatización. El campo status vale 1 para activa y 0 para detenida.

adapty asa automations list

Acepta flags de paginación.

adapty asa automations get

Obtén una regla de automatización específica, incluyendo sus condiciones y acciones.

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

adapty asa automations create

Crea una regla de automatización a partir de un archivo JSON de reglas.

adapty asa automations create --file rule.json
FlagDescription
--fileArchivo JSON con el cuerpo de la regla, o - para leer desde la entrada estándar
--run-nowPone en cola la primera ejecución justo después de almacenar la regla

--file es obligatorio.

adapty asa automations update

Modifica una regla de automatización: detenla, cámbiale el nombre o reemplaza partes de la regla.

adapty asa automations update <automation-id> --stop
ArgumentoDescripción
automation-idID de la regla de automatización (UUID)
FlagDescripción
--startActiva la regla
--stopDetiene la regla y borra su próxima ejecución
--nameNuevo nombre de la regla
--fileArchivo JSON con las partes a modificar, o - para leer desde la entrada estándar

--start y --stop son mutuamente excluyentes. El archivo pasado aquí no debe contener internal_id.

adapty asa automations run

Ejecuta una regla de automatización una vez, fuera de su programación.

adapty asa automations run <automation-id> --dry-run
ArgumentoDescripción
automation-idID de la regla de automatización (UUID)
FlagDescripción
--dry-runEvalúa la regla y registra el resultado sin realizar ningún cambio en Apple Ads

La ejecución se pone en cola y el comando muestra un ID de ejecución. Consulta el resultado con automations runs.

adapty asa automations runs

Lista las ejecuciones pasadas de una regla de automatización, incluidas las ejecuciones de prueba.

adapty asa automations runs <automation-id>
ArgumentoDescripción
automation-idID de la regla de automatización (UUID)

Acepta indicadores de paginación.

Métricas

adapty asa metrics

Consulta métricas para cualquier nivel de la cuenta en un rango de fechas.

adapty asa metrics --entity campaign --date-from 2026-07-01 --date-to 2026-07-31
IndicadorRequeridoDescripción
--entitySobre qué informar: campaign, ad-group, keyword o ad
--date-fromInicio del período (YYYY-MM-DD)
--date-toFin del período (YYYY-MM-DD)
--metricNoNombre de la métrica, repetible. Omitir para todas las métricas
--group-byNoDesglosar las filas por country, day, week, month, quarter o year. Repetible
--by-daysNoVentana de renovación en días para métricas de cohorte, repetible. Máximo 16 por llamada. Omitir para los valores predeterminados del dashboard
--order-byNoMétrica o campo por el que ordenar
--order-by-dayNoClasificar por una métrica de cohorte en esta ventana de renovación. Debe ser uno de los valores de --by-days
--orderNoasc o desc. Valor predeterminado: desc

Acepta flags de paginación. Este comando no admite filtros de lista — acota el informe por nivel de entidad y período, y luego compara las filas con los IDs obtenidos de un comando list con alcance definido.

Cada fila es una entidad, agregada en el servidor y ordenada por --order-by. Una consulta de top-N es, por tanto, una sola llamada — define --order-by y --page-size N en lugar de paginar los resultados y sumarlos manualmente:

adapty asa metrics --entity campaign --date-from 2026-07-01 --date-to 2026-07-31 --order-by spend --page-size 5

--metric acepta los nombres de métricas que Ads Manager rastrea, según la nomenclatura del dashboard — por ejemplo spend, taps o gross_roas. Consulta Metrics para la lista completa y cómo se calcula cada una. Un nombre que no exista generará un error con los nombres válidos listados en el mensaje.

La duración del período de reporte está limitada por el valor más grueso de --group-by. Para reportar sobre un período más largo, usa una agrupación más gruesa en lugar de dividir la solicitud en varias llamadas:

--group-by más amplioPeríodo máximo
day, o sin agrupación por período90 días
week180 días
month y más amplio365 días

No existe la métrica ltv. El valor de vida del cliente es una métrica de cohorte que se lee en una ventana de renovación, por lo que --by-days es la forma de pedir el valor del día 7 o del día 90:

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 ordena las filas por una de esas ventanas, lo que devuelve las campañas con mayor ROAS en el día 90 en una sola llamada.

adapty asa metrics overview

Consulta totales de un período, agrupados por una unidad de tiempo.

adapty asa metrics overview --entity campaign --date-from 2026-07-01 --date-to 2026-07-31 --period-unit week
IndicadorRequeridoDescripción
--entitySobre qué reportar: campaign, ad-group, keyword o ad
--date-fromInicio del período (YYYY-MM-DD)
--date-toFin del período (YYYY-MM-DD)
--period-unitNoTamaño del intervalo: day, week, month, quarter o year. Por defecto: day
--metricNoNombre de la métrica, repetible. Omitir para todas las métricas
--by-daysNoVentana de renovación en días para métricas de cohorte, repetible. Máximo 16 por llamada

Este comando devuelve los totales para todo el nivel de entidad junto con una serie por período, respondiendo así a “cuánto gasté o gané en total” en una sola llamada. No tiene indicadores de ordenación ni paginación.

En este comando, --metric acepta solo raíces de cohorte: revenue, roas y arpu; no sus variantes gross_, proceeds_ o net_.

La duración del período de reporte está limitada por --period-unit:

--period-unitPeríodo máximo
day90 días
week180 días
month y más grueso365 días

Competidores

adapty asa competitors summary

Resume las palabras clave de Apple Ads en las que pujan un conjunto de aplicaciones de App Store. Devuelve los mismos datos de competidores que Market Intelligence en el dashboard.

adapty asa competitors summary --app-ids 1668337467,6503873027
FlagObligatorioDescripción
--app-idsIDs de Apple App Store (adam_id), separados por comas. Entre 1 y 5 valores

El período de análisis y el conjunto de países están fijados en el servidor: el último mes completo, para todos los países. Este comando no tiene parámetros de período, país ni paginación.

El comando imprime tres bloques: los totales del análisis, las apps con mejor rendimiento y los términos más disputados. Añade --json para obtener el resultado completo, que también desglosa los términos de cada app por país.

La primera llamada para un conjunto de apps puede tardar decenas de segundos mientras se preparan los datos. Las llamadas posteriores para las mismas apps son más rápidas.

Errores

EstadoCódigoSignificado
402ads_manager_subscription_requiredLa empresa no tiene una suscripción activa de Ads Manager
404La entidad no existe o pertenece a otra empresa
409cli_idempotency_in_progressHay una escritura con la misma clave de idempotencia en curso
422cli_idempotency_key_reuseLa misma clave de idempotencia se usó con un cuerpo de solicitud diferente
429cli_analytics_busyEl pool de análisis está ocupado. El tiempo de espera está en la cabecera Retry-After
429cli_cooldown_activeDemasiadas solicitudes rechazadas han puesto el token en período de enfriamiento

Métricas y la lista de términos de búsqueda comparten un único presupuesto de análisis por empresa: 5 llamadas por minuto, y como máximo 2 en cualquier período de 10 segundos. Una ráfaga de 20 solicitudes rechazadas en 5 minutos activa un período de enfriamiento escalonado de 5 minutos, luego 30 minutos y después 3 horas. Reintentar durante la pausa no la prolonga, pero la solución es corregir la solicitud que falla en lugar de repetirla.

El CLI gestiona las esperas cortas por ti. Ante un 429 que no sea un período de enfriamiento, si Retry-After es de 60 segundos o menos, el comando espera ese tiempo y reintenta una vez, informando de la espera en la salida de error estándar.