Commandes Ads Manager pour l'Adapty Developer CLI

Cet article liste toutes les commandes Ads Manager de l’Adapty CLI, avec leurs arguments, indicateurs et valeurs acceptées. Les commandes Ads Manager se trouvent sous le topic adapty asa.

Pour les prérequis, les bonnes pratiques d’écriture et des exemples orientés tâches, consultez Gérer Ads Manager depuis la CLI.

Ces commandes nécessitent un compte Apple Ads connecté et un abonnement Ads Manager actif. Exécutez adapty asa whoami pour vérifier les deux. Pour le reste de la CLI, consultez la référence des commandes.

Indicateurs globaux

Ces indicateurs sont disponibles sur toutes les commandes Ads Manager.

IndicateurDescription
--jsonAfficher en JSON plutôt qu’en texte formaté
--helpAfficher l’aide de la commande

Toutes les commandes list acceptent également des indicateurs de pagination :

IndicateurDéfautDescription
--page1Numéro de page
--page-size100Éléments par page (max : 1000)

Les pages Ads Manager sont plus grandes que dans le reste du CLI. Préférez une grande page à une boucle de petites.

Toutes les commandes qui modifient votre compte acceptent ces indicateurs :

IndicateurDescription
--yes, -yApplique sans demander de confirmation. Requis lorsque la sortie est redirigée ou que --json est utilisé
--idempotency-keyClé fixe pour cette écriture. Une répétition avec la même clé et le même corps dans les 24 heures renvoie le résultat stocké au lieu d’appliquer à nouveau la modification

Les commandes Ads Manager ne prennent pas d’indicateur --app. La portée est l’entreprise à laquelle appartient votre token. --app existe sur certaines commandes list uniquement comme filtre.

Filtres de liste

Les filtres restreignent la requête elle-même, pas la page affichée. Une keywords list sans filtre parcourt tous les mots-clés du compte — limitez donc chaque lecture au niveau dont vous avez besoin.

FiltreAccepté par
--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 ou PAUSED), keywords (ACTIVE ou PAUSED)
--searchcampaigns, ad-groups, keywords, negative-keywords, search-terms, ads. Recherche de sous-chaîne insensible à la casse sur le nom

adapty asa apps list, orgs list, automations list et automations runs n’acceptent aucun filtre. Ils prennent uniquement des options de pagination.

--campaign-group, --app, --campaign et --ad-group prennent les UUID affichés par la commande list correspondante, et chacun est répétable :

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

Un ID appartenant à une autre entreprise ne correspond à rien : la page revient vide au lieu de renvoyer une erreur.

Compte

adapty asa whoami

Affichez l’entreprise, la méthode d’octroi d’accès à Ads Manager et l’état de la connexion Apple Ads.

adapty asa whoami

Exécutez cette commande en premier. Elle indique si les deux prérequis nécessaires à toutes les autres commandes sont satisfaits.

adapty asa connect

Liez un compte Apple Ads à Adapty.

adapty asa connect

La commande affiche un lien d’autorisation Apple et attend qu’Apple signale le compte comme connecté.

FlagDéfautDescription
--wait / --no-wait--waitAttend qu’Apple Ads signale la connexion. --no-wait retourne immédiatement
--timeout300Secondes à attendre pour l’étape navigateur

adapty asa orgs list

Listez les groupes de campagnes (organisations Apple Ads) disponibles pour votre entreprise.

adapty asa orgs list

Chaque ligne contient deux identifiants, qui ne sont pas interchangeables :

ChampUtilisé comme
internal_idL’UUID qu’accepte --org dans campaigns create, et que --campaign-group accepte comme filtre de liste
org_idL’identifiant numérique d’organisation Apple. Les deux flags le rejettent

--org existe uniquement dans campaigns create. Aucune commande de liste ne l’accepte.

Accepte les flags de pagination.

adapty asa apps list

Liste les apps promues dans Apple Ads.

adapty asa apps list

Chaque ligne comporte deux identifiants, qui ne sont pas interchangeables :

ChampUtilisé comme
internal_idL’UUID que --app accepte en tant que filtre de liste
adam_idL’identifiant numérique App Store d’Apple, utilisé par --adam-id dans campaigns create et product-pages sync

Accepte les options de pagination.

Campagnes

adapty asa campaigns list

Liste les campagnes. Renvoie uniquement les métadonnées — lisez les chiffres de performance avec asa metrics.

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

Accepte les options de pagination ainsi que les filtres de liste --campaign-group, --app, --search et --status.

adapty asa campaigns get

Récupère les détails d’une campagne spécifique.

adapty asa campaigns get <campaign-id>
ArgumentDescription
campaign-idIdentifiant de la campagne (UUID)

adapty asa campaigns create

Créer une campagne.

adapty asa campaigns create --org <campaign-group-id> --name "Winter push" --adam-id 123456 --country US --daily-budget 50
ParamètreRequisDescription
--orgOuiID du groupe de campagnes (UUID). Voir orgs list
--nameOuiNom de la campagne
--adam-idOuiID de l’application App Store (adam_id)
--countryOuiCode pays ou région. Répéter pour plusieurs : --country US --country CA
--daily-budgetOuiBudget quotidien en montant brut, par exemple 50 ou 12.50
--budgetNonBudget total
--target-cpaNonCoût cible par acquisition
--currencyNonCode devise pour les montants de cet appel. Par défaut : USD
--bidding-strategyNonMANUAL_CPT ou MAX_CONVERSIONS. Apple utilise MANUAL_CPT par défaut
--ad-channel-typeNonSEARCH ou DISPLAY. Par défaut : SEARCH
--billing-eventNonTAPS ou IMPRESSIONS. Par défaut : TAPS
--supply-sourceNonSource d’inventaire, répétable. Par défaut : APPSTORE_SEARCH_RESULTS
--statusNonStatut initial : ENABLED ou PAUSED

adapty asa campaigns update

Mettre à jour une campagne existante.

adapty asa campaigns update <campaign-id> --daily-budget 80 --status PAUSED
ArgumentDescription
campaign-idIdentifiant de la campagne (UUID)
IndicateurDescription
--nameNouveau nom de campagne
--statusENABLED ou PAUSED
--countryRemplace la liste de pays. Répétez pour plusieurs
--daily-budgetNouveau budget quotidien
--budgetNouveau budget total
--target-cpaNouveau coût cible par acquisition
--bidding-strategyMANUAL_CPT ou MAX_CONVERSIONS
--currencyCode devise pour les montants de cet appel. Par défaut : USD

Au moins un indicateur est requis.

Groupes d’annonces

adapty asa ad-groups list

Liste les groupes d’annonces. Retourne uniquement les métadonnées — consultez les performances avec asa metrics.

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

Accepte les options de pagination ainsi que les filtres de liste --campaign-group, --app, --campaign, --search et --status.

adapty asa ad-groups get

Obtenir les détails d’un groupe d’annonces spécifique.

adapty asa ad-groups get <ad-group-id>
ArgumentDescription
ad-group-idID du groupe d’annonces (UUID)

adapty asa ad-groups create

Créez un groupe d’annonces dans une campagne.

adapty asa ad-groups create --campaign <campaign-id> --name "Brand terms" --default-bid 1.20
IndicateurRequisDescription
--campaignOuiID de campagne (UUID)
--nameOuiNom du groupe d’annonces
--default-bidOuiEnchère par défaut sous forme de montant simple, par exemple 1.20
--cpa-goalNonObjectif de coût par acquisition
--pricing-modelNonCPC ou CPM. Apple en exige un sur chaque groupe d’annonces. Par défaut : CPC
--start-timeNonDébut de la planification (YYYY-MM-DD). Par défaut : aujourd’hui
--end-timeNonFin de la planification (YYYY-MM-DD)
--automated-keywords / --no-automated-keywordsNonLaisser Apple ajouter des mots-clés automatiquement
--currencyNonCode devise pour les montants de cet appel. Par défaut : USD
--statusNonStatut initial : ENABLED ou PAUSED

adapty asa ad-groups update

Mettre à jour un groupe d’annonces existant.

adapty asa ad-groups update <ad-group-id> --default-bid 1.50 --status PAUSED
ArgumentDescription
ad-group-idID du groupe d’annonces (UUID)
IndicateurDescription
--nameNouveau nom du groupe d’annonces
--statusENABLED ou PAUSED
--default-bidNouveau montant d’enchère par défaut
--cpa-goalNouvel objectif de coût par acquisition
--start-timeDébut de la planification (YYYY-MM-DD)
--end-timeFin de la planification (YYYY-MM-DD)
--automated-keywords / --no-automated-keywordsLaisser Apple ajouter des mots-clés automatiquement
--currencyCode de devise pour les montants de cet appel. Par défaut : USD

Au moins un indicateur est requis. La campagne parente est résolue côté serveur et n’est jamais transmise.

Mots-clés

Les commandes de mots-clés sont appliquées par lots de 100 éléments maximum par appel. Voir Gérer les mots-clés pour l’équivalent dans le tableau de bord.

adapty asa keywords list

Liste les mots-clés de ciblage. Retourne uniquement les métadonnées — pour consulter les performances, utilisez asa metrics.

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

Accepte les options de pagination ainsi que les filtres de liste --campaign-group, --app, --campaign, --ad-group, --search et --status. Filtrez par --ad-group — sans filtre, il s’agit de la lecture la plus large du sujet.

adapty asa keywords add

Ajoutez des mots-clés de ciblage à un groupe d’annonces.

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

Lisez plutôt les mots-clés depuis un fichier, un par ligne :

adapty asa keywords add --ad-group <ad-group-id> --from-file keywords.txt
FlagRequisDescription
--ad-groupOuiID du groupe d’annonces (UUID). La campagne est déduite à partir de celui-ci
--textOui, sauf si --from-file est utiliséTexte du mot-clé. À répéter pour plusieurs mots-clés
--from-fileNonFichier avec un mot-clé par ligne. Combiné avec les valeurs --text éventuelles
--bidNonEnchère par mot-clé sous forme de montant brut
--match-typeNonBROAD ou EXACT. Par défaut : BROAD
--currencyNonCode de devise pour les montants de cet appel. Par défaut : USD
--statusNonACTIVE ou PAUSED. Par défaut : ACTIVE

Une seule ID invalide fait échouer tout le lot avant même qu’Apple soit contacté. Apple peut toujours rejeter des mots-clés individuels, et chaque refus est signalé avec sa raison.

adapty asa keywords update

Modifiez l’enchère, le statut, le texte ou le type de correspondance d’un ou plusieurs mots-clés.

adapty asa keywords update <keyword-id> <keyword-id> --bid 2.00 --status PAUSED
ArgumentDescription
keyword-idID du mot-clé (UUID). Passez-en plusieurs en tant qu’arguments supplémentaires
FlagDescription
--bidNouvelle enchère
--statusACTIVE ou PAUSED
--match-typeBROAD ou EXACT
--textNouveau texte du mot-clé. Significatif uniquement pour un seul mot-clé
--currencyCode de devise pour les montants de cet appel. Par défaut : USD

Un seul changement est appliqué à chaque identifiant transmis.

Mots-clés négatifs

adapty asa negative-keywords list

Liste les mots-clés négatifs. Les lignes avec un ad_group_id vide sont au niveau de la campagne.

adapty asa negative-keywords list --campaign <campaign-id>
FlagDescription
--campaign-level-onlyConserver uniquement les lignes au niveau de la campagne

Accepte les flags de pagination ainsi que les filtres de liste --campaign-group, --app, --campaign, --ad-group et --search.

adapty asa negative-keywords add

Ajoutez des mots-clés négatifs à un groupe d’annonces ou à une campagne.

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

Appliquez-les à chaque groupe d’annonces d’une campagne à la place :

adapty asa negative-keywords add --campaign <campaign-id> --all-ad-groups --text free
IndicateurRequisDescription
--ad-groupL’un de --ad-group ou --campaignID du groupe d’annonces (UUID). La campagne en est déduite
--campaignL’un de --ad-group ou --campaignID de la campagne (UUID)
--textOuiTexte du mot-clé. À répéter pour en ajouter plusieurs
--all-ad-groupsNonApplique à tous les groupes d’annonces de la campagne plutôt qu’à la campagne elle-même. Nécessite --campaign
--match-typeNonBROAD ou EXACT. Par défaut : EXACT
--statusNonACTIVE ou PAUSED. Par défaut : ACTIVE

--ad-group et --campaign s’excluent mutuellement. Passez exactement l’un des deux.

Termes de recherche

adapty asa search-terms list

Listez les termes de recherche qui ont déclenché vos publicités. Utilisez-les pour trouver de nouveaux mots-clés et de nouveaux mots-clés à exclure.

adapty asa search-terms list --ad-group <ad-group-id> --date-from 2026-07-01 --date-to 2026-07-31
OptionPar défautDescription
--date-fromAujourd’huiDébut de la période de rapport (YYYY-MM-DD)
--date-toAujourd’huiFin de la période de rapport (YYYY-MM-DD)

Accepte les options de pagination ainsi que les filtres de liste --campaign-group, --app, --campaign, --ad-group et --search.

Cette commande partage un pool d’analyse avec asa metrics. Voir Erreurs.

Publicités

adapty asa ads list

Liste les publicités. Le champ serving_state_reasons explique pourquoi une publicité n’est pas diffusée.

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

Accepte les options de pagination et les filtres de liste --campaign-group, --campaign, --ad-group, --search et --status. Cette liste ne dispose pas du filtre --app, car les publicités appartiennent à des groupes de publicités.

adapty asa ads get

Obtenez les détails d’une annonce spécifique.

adapty asa ads get <ad-id>
ArgumentDescription
ad-idID de l’annonce (UUID)

adapty asa ads create

Créer une annonce dans un groupe d’annonces.

adapty asa ads create --ad-group <ad-group-id> --creative-id 4321 --name "Summer ad"
FlagRequisDescription
--ad-groupOuiID du groupe d’annonces (UUID). La campagne est résolue à partir de celui-ci
--creative-idOuiID de création Apple. Voir creatives list
--nameOuiNom de l’annonce
--statusNonStatut initial : ENABLED ou PAUSED

adapty asa ads update

Mettre à jour une publicité existante.

adapty asa ads update <ad-id> --status PAUSED
ArgumentDescription
ad-idID de la publicité (UUID)
FlagDescription
--nameNouveau nom de la publicité
--statusENABLED ou PAUSED

Au moins un flag est requis. Le créatif et le groupe de publicités parent sont fixés à la création.

Créatifs

adapty asa creatives list

Liste les créatifs disponibles pour les nouvelles publicités.

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

Le creative_id retourné ici est la valeur --creative-id pour ads create.

Accepte les flags de pagination ainsi que les filtres de liste --campaign-group et --app list filters.

Pages produit

adapty asa product-pages list

Listez les pages produit personnalisées disponibles pour vos applications.

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

Accepte les options de pagination ainsi que les filtres --campaign-group et --app des filtres de liste.

adapty asa product-pages sync

Actualise les pages produit personnalisées depuis App Store Connect.

adapty asa product-pages sync --adam-id 123456
FlagDescription
--adam-idLimite l’actualisation à une seule application. Omettez ce flag pour couvrir toutes les applications

L’actualisation est mise en file d’attente plutôt qu’exécutée immédiatement, et la commande confirme avec Sync queued. Si la même actualisation est déjà en cours, elle retourne Already running; nothing new was queued. à la place.

Automations

Le CLI stocke le JSON de règle que vous lui fournissez — il ne construit pas de règles. Consultez Automations pour comprendre ce que fait chaque type de règle, et Exécuter des règles d’automatisation pour savoir comment produire un fichier de règles.

Liste des règles d’automatisation adapty asa

Liste les règles d’automatisation. Le champ status vaut 1 pour actif et 0 pour arrêté.

adapty asa automations list

Accepte les options de pagination.

adapty asa automations get

Récupérez une règle d’automatisation spécifique, y compris ses conditions et actions.

adapty asa automations get <automation-id>
ArgumentDescription
automation-idID de la règle d’automatisation (UUID)

adapty asa automations create

Créez une règle d’automatisation à partir d’un fichier de règles JSON.

adapty asa automations create --file rule.json
FlagDescription
--fileFichier JSON contenant le corps de la règle, ou - pour lire depuis l’entrée standard
--run-nowMet en file d’attente la première exécution juste après l’enregistrement de la règle

--file est obligatoire.

adapty asa automations update

Modifiez une règle d’automatisation : arrêtez-la, renommez-la ou remplacez certaines de ses parties.

adapty asa automations update <automation-id> --stop
ArgumentDescription
automation-idID de la règle d’automatisation (UUID)
FlagDescription
--startActiver la règle
--stopArrêter la règle et effacer sa prochaine exécution
--nameNouveau nom de la règle
--fileFichier JSON contenant les parties à modifier, ou - pour lire depuis l’entrée standard

--start et --stop sont mutuellement exclusifs. Un fichier passé ici ne doit pas contenir internal_id.

adapty asa automations run

Exécute une règle d’automatisation une seule fois, en dehors de son planning.

adapty asa automations run <automation-id> --dry-run
ArgumentDescription
automation-idID de la règle d’automatisation (UUID)
FlagDescription
--dry-runÉvalue la règle et journalise le résultat sans rien modifier dans Apple Ads

L’exécution est mise en file d’attente et la commande affiche un ID d’exécution. Consultez le résultat avec automations runs.

adapty asa automations runs

Liste les exécutions passées d’une règle d’automatisation, y compris les exécutions à blanc.

adapty asa automations runs <automation-id>
ArgumentDescription
automation-idID de la règle d’automatisation (UUID)

Accepte les indicateurs de pagination.

Métriques

adapty asa metrics

Interrogez les métriques pour n’importe quel niveau du compte sur une plage de dates.

adapty asa metrics --entity campaign --date-from 2026-07-01 --date-to 2026-07-31
IndicateurRequisDescription
--entityOuiSur quoi porter le rapport : campaign, ad-group, keyword, ou ad
--date-fromOuiDébut de la période (YYYY-MM-DD)
--date-toOuiFin de la période (YYYY-MM-DD)
--metricNonNom de la métrique, répétable. Omettez pour toutes les métriques
--group-byNonVentiler les lignes par country, day, week, month, quarter, ou year. Répétable
--by-daysNonFenêtre de renouvellement en jours pour les métriques de cohorte, répétable. Maximum 16 par appel. Omettez pour les valeurs par défaut du tableau de bord
--order-byNonMétrique ou champ selon lequel trier
--order-by-dayNonClasser par une métrique de cohorte à cette fenêtre de renouvellement. Doit correspondre à l’une des valeurs --by-days
--orderNonasc ou desc. Par défaut : desc

Accepte les options de pagination. Cette commande ne prend aucun filtre de liste — affinez le rapport par niveau d’entité et par période, puis faites correspondre les lignes aux identifiants issus d’une commande list ciblée.

Chaque ligne correspond à une entité, agrégée côté serveur et triée par --order-by. Une question de type top-N se résume donc à un seul appel — définissez --order-by et --page-size N plutôt que de parcourir les résultats page par page pour les additionner :

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

--metric prend les noms de métriques suivis par Ads Manager, dans la nomenclature du tableau de bord — par exemple spend, taps ou gross_roas. Consultez Métriques pour la liste complète et le mode de calcul de chacune. Un nom inexistant provoque une erreur qui liste les noms valides.

La durée de la période de rapport est limitée par la valeur --group-by la plus grossière. Pour couvrir une période plus longue, augmentez la granularité du regroupement plutôt que de diviser la requête en plusieurs appels :

--group-by le plus grossierPériode maximale
day, ou sans regroupement par période90 jours
week180 jours
month et plus grossier365 jours

Il n’existe pas de métrique ltv. La valeur vie client est une métrique de cohorte lue à une fenêtre de renouvellement, donc --by-days est la façon de demander la valeur à J-7 ou J-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 classe les lignes selon l’une de ces fenêtres, ce qui renvoie les meilleures campagnes par ROAS à J-90 en un seul appel.

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
IndicateurRequisDescription
--entityOuiEntité sur laquelle générer le rapport : campaign, ad-group, keyword ou ad
--date-fromOuiDébut de la période (YYYY-MM-DD)
--date-toOuiFin de la période (YYYY-MM-DD)
--period-unitNonTaille des intervalles : day, week, month, quarter ou year. Par défaut : day
--metricNonNom de la métrique, répétable. Omettez ce paramètre pour toutes les métriques
--by-daysNonFenêtre de renouvellement en jours pour les métriques de cohorte, répétable. Maximum 16 par appel

Cette commande renvoie les totaux pour l’ensemble du niveau d’entité ainsi qu’une série par période, ce qui permet de répondre à la question « combien ai-je dépensé ou gagné au total » en un seul appel. Elle ne comporte ni indicateurs de tri ni pagination.

Sur cette commande, --metric accepte uniquement les racines de cohorte — revenue, roas et arpu — et non leurs variantes gross_, proceeds_ ou net_.

La durée de la période de rapport est limitée par --period-unit :

--period-unitPériode maximale
day90 jours
week180 jours
month et plus grossier365 jours

Concurrents

adapty asa competitors summary

Résume les mots-clés Apple Ads sur lesquels un ensemble d’applications App Store enchérissent. Cette commande renvoie les mêmes données de concurrents que Market Intelligence dans le tableau de bord.

adapty asa competitors summary --app-ids 1668337467,6503873027
FlagRequisDescription
--app-idsOuiIdentifiants Apple App Store (adam_id), séparés par des virgules. Entre 1 et 5 valeurs

La période de rapport et l’ensemble de pays sont fixés côté serveur — le dernier mois complet, pour tous les pays. Cette commande ne dispose d’aucun paramètre de période, de pays ou de pagination.

La commande affiche trois blocs : les totaux de l’analyse, les meilleures applications par performance et les termes les plus disputés. Ajoutez --json pour obtenir le résultat complet, qui détaille également les termes de chaque application par pays.

Le premier appel pour un ensemble d’applications peut prendre plusieurs dizaines de secondes pendant la préparation des données. Les appels suivants pour les mêmes applications sont plus rapides.

Erreurs

StatutCodeSignification
402ads_manager_subscription_requiredLa société n’a pas d’abonnement Ads Manager actif
404L’entité n’existe pas, ou elle appartient à une autre société
409cli_idempotency_in_progressUne écriture avec la même clé d’idempotence est toujours en cours
422cli_idempotency_key_reuseLa même clé d’idempotence a été utilisée avec un corps de requête différent
429cli_analytics_busyLe pool d’analytique est occupé. Le délai d’attente est dans l’en-tête Retry-After
429cli_cooldown_activeTrop de requêtes rejetées ont mis le token en période de refroidissement

Les métriques et la liste des termes de recherche partagent un seul budget d’appels par entreprise : 5 appels par minute, et au maximum 2 sur 10 secondes. Une rafale de 20 requêtes rejetées en 5 minutes déclenche un blocage progressif de 5 minutes, puis 30 minutes, puis 3 heures. Relancer des requêtes pendant la pause ne l’allonge pas, mais la solution est de corriger la requête défaillante plutôt que de la répéter.

La CLI gère les courtes attentes automatiquement. Sur un 429 qui n’est pas un blocage, si Retry-After est inférieur ou égal à 60 secondes, la commande attend ce délai et réessaie une fois, en signalant l’attente sur la sortie d’erreur standard.