Quoi automatiser en premier, et quoi garder humain
Toutes les tâches ne méritent pas d'être automatisées. Trois critères filtrent vite la liste. Une tâche est un bon candidat si elle est répétable (mêmes étapes à chaque fois), à faible risque (une erreur se défait facilement ou n'atteint pas la production) et vérifiable (on peut contrôler le résultat avec un chiffre, une liste ou un champ GAM).
| À automatiser en premier | À automatiser avec validation humaine | À garder humain |
|---|---|---|
| Rapport matinal de livraison et de pacing | Modification du ciblage d'un line item en ligne | Stratégie de prix et de yield |
| Alertes de sous-livraison et de budget | Archivage d'ad units inutilisés | Négociation commerciale, compensations |
| Contrôle du ciblage et des key-values avant push | Activation ou pause de line items en lot | Lancement d'une campagne sans relecture |
| Audit d'hygiène de l'inventaire (lecture seule) | Création d'ad units ou de placements | Tout ce que vous ne sauriez pas expliquer à l'annonceur |
Le schéma est toujours le même : lire d'abord, proposer ensuite, écrire en dernier. Un agent qui lit et résume seulement apporte de la valeur dès le premier jour, sans aucun risque pour le réseau.
La mise en place en un paragraphe
Il faut un agent IA capable d'appeler Google Ad Manager via une interface contrôlée. Avec OrbiAds, c'est un serveur MCP (ou le CLI) : l'agent n'écrit pas lui-même des appels SOAP ou REST, il choisit dans un catalogue d'outils nommés comme reporting, line_items, targeting et inventory, chacun avec des paramètres typés. Si la notion est nouvelle, lisez ce qu'est un serveur MCP Google Ad Manager, puis suivez le quickstart MCP. Connectez d'abord un réseau en lecture.
Workflow 1 : reporting (le contrôle de livraison du matin)
- Entrées : le réseau GAM, une période (hier et mois en cours) et les seuils qui comptent pour vous.
- Ce que fait l'agent : lance
reporting.check_underdelivery_alerts(seuil par défaut 0,8 sur l'indicateur de livraison) etreporting.check_budget_alerts(95 % dépensé par défaut), puis récupère le détail avecfetch_delivery_reportourun_gam_report. Il classe les problèmes et rédige un court résumé. - Point de contrôle humain : aucun n'est nécessaire pour l'exécution, le workflow est en lecture seule. L'humain décide de ce qu'il faut escalader. Pendant les deux premières semaines, faites-le tourner à côté de votre contrôle manuel et comparez.
- Sortie : un court message ou un CSV (
export_report_csv,get_report_download_link) avec les line items signalés, leur indicateur de livraison et la vérification suivante suggérée. Une version pas à pas avec Claude est dans le guide du rapport quotidien.
Workflow 2 : valider le ciblage avant tout push
- Entrées : un brief de trafficking ou un brouillon de line item : ad units ou placements, géo, key-values, formats.
- Ce que fait l'agent : vérifie que chaque clé et chaque valeur existent (
targeting.list_custom_targeting_keys,search_custom_targeting,get_custom_targeting_values), que les ad units existent et sont actifs (targeting.search_ad_units), et que la combinaison peut diffuser (targeting.get_inventory_forecast). Pour un line item existant, il appelleline_items.verify. - Point de contrôle humain : l'agent rend un « OK » ou une liste de problèmes. Rien n'est créé tant qu'une personne n'a pas lu cette liste. La coquille silencieuse sur une key-value est l'échec classique : une valeur qui ne correspond pas aux requêtes publicitaires ne cible rien, et le line item ne diffuse tout simplement pas. Détails dans validation du ciblage et le guide des key-values.
- Sortie : une checklist par line item : chaque élément de ciblage trouvé ou manquant, actif ou non, prévision disponible ou non.
Workflow 3 : hygiène de l'inventaire et inventaire invendu
- Entrées : l'arborescence des ad units, une fenêtre d'observation (par exemple 90 jours) et vos règles de nommage.
- Ce que fait l'agent : liste les ad units sans trafic (
inventory.find_inactive_ad_units, de 1 à 365 jours, 90 par défaut), lanceinventory.audit_inventoryouaudit_skill.hygiene_checkpour les problèmes de structure, et récupèrereporting.fetch_inventory_reportpour voir où l'inventaire reste invendu. Voir l'inventaire invendu dans GAM. - Point de contrôle humain : l'audit est en lecture seule. L'archivage (
inventory.archive_inactive_ad_units) est une écriture :dry_run = truepar défaut, avec un aperçu et unconfirmation_token. Une personne relit la liste des ad units avant de confirmer. La documentation Google indique qu'un ad unit archivé devient inéligible à la diffusion et disparaît du sélecteur de ciblage : une erreur d'archivage a de vraies conséquences. - Sortie : une liste d'ad units candidats à l'archivage, une liste de constats de structure et une liste de zones d'inventaire invendu.
Un exemple concret : un line item en sous-livraison, de bout en bout
Les chiffres ci-dessous sont illustratifs, inventés pour montrer la forme du workflow. Ce n'est pas un résultat client, et la sortie des outils est simplifiée.
Étape 1 : détecter (lecture seule)
À 8h00, l'agent lance le contrôle de sous-livraison. GAM expose un deliveryIndicator sur chaque line item, avec un expectedDeliveryPercentage et un actualDeliveryPercentage. Le contrôle signale les éléments dont le rapport réel/attendu passe sous le seuil.
| Line item | Type | Attendu | Réel | Ratio | Statut |
|---|---|---|---|---|---|
| ACME_Autumn_ROS_300x250 (id 4821330) | STANDARD | 62 % | 41 % | 0,66 | sous 0,8 |
| ACME_Autumn_Video_Preroll | SPONSORSHIP | 55 % | 54 % | 0,98 | ok |
| Brand_Sport_Takeover | SPONSORSHIP | 70 % | 66 % | 0,94 | ok |
Étape 2 : diagnostiquer (lecture seule)
L'agent lit le line item (line_items.get_full, line_items.verify) et contrôle son ciblage. Le guide de dépannage de Google cite parmi les causes courantes un ciblage qui ne correspond pas aux requêtes, un inventaire insuffisant et la surréservation ; l'agent les parcourt dans cet ordre. Dans cet exemple, il constate que le line item cible la key-value section=sport alors que le site balise ses pages avec section=sports.
{
"lineItemId": "4821330",
"finding": "la valeur ciblée ne correspond pas aux requêtes",
"targeted": {"key": "section", "values": ["sport"]},
"valuesInNetwork": ["sports", "news", "finance", "sport"],
"suggestedChange": {"key": "section", "values": ["sport", "sports"]},
"risk": "faible : ajoute une valeur existante, ne retire rien"
}
Étape 3 : proposer (dry run)
L'agent appelle line_items.update_targeting avec dry_run = true (valeur par défaut). Rien ne change dans GAM. La réponse contient un aperçu de la modification et un confirmation_token.
Étape 4 : validation humaine
Le trafficker lit la proposition : une valeur ajoutée, rien de retiré, aucun autre line item touché. Il vérifie aussi qu'élargir le ciblage n'entre pas en conflit avec un accord d'exclusivité. Ce n'est pas le cas, il confirme.
Étape 5 : appliquer
L'agent relance l'appel avec dry_run = false et le token. L'opération est journalisée avec le tenant, l'horodatage et l'identifiant de job, et se relit avec audit.query_audit_log.
Étape 6 : vérifier
L'agent relance line_items.verify immédiatement, puis contrôle l'indicateur de livraison au prochain cycle de reporting. Une correction n'en est une que si le chiffre bouge : si le ratio ne s'améliore pas après un jour ou deux, l'agent le signale au lieu d'empiler des modifications.
| Contrôle | Avant | Après |
|---|---|---|
| Livraison réelle vs attendue | 41 % vs 62 % | Objectif : ratio au-dessus de 0,8 sous un à deux jours |
| Valeurs du site couvertes par le ciblage | 1 sur 2 | 2 sur 2 |
Comment mesurer que ça marche
Ne croyez pas un pourcentage venu d'un éditeur de solution, nous compris. Mesurez votre propre référence pendant deux semaines avant d'automatiser, puis comparez. Quatre indicateurs suffisent :
- Temps passé sur les rapports récurrents : minutes par jour pour le contrôle du matin, comptées par la personne qui le fait.
- Taux d'erreur de trafficking : line items corrigés après mise en ligne, divisés par les line items créés, par mois.
- Délai de correction d'un problème de livraison : entre l'apparition de la sous-livraison dans GAM et la confirmation de la correction.
- Précision des alertes : parmi les alertes levées par l'agent, combien un humain les a jugées pertinentes. Si c'est faible, resserrez les seuils avant d'élargir le périmètre.
Exemple d'hypothèses, à adapter : si le contrôle manuel du matin prend 25 minutes et que relire le résumé de l'agent en prend 5, le gain est de 20 minutes par jour ouvré. C'est un calcul sur vos propres données, pas une promesse.
Garde-fous et pièges courants
- Commencez en lecture seule.
check_credentialsindique si la session peut écrire. Restez sur des lectures tant que les rapports ne correspondent pas à ce que voit votre équipe. - Passez par le dry run pour chaque écriture. Les actions d'écriture comme
line_items.update,update_targetingetarchive_inactive_ad_unitssont endry_run = truepar défaut et exigent unconfirmation_tokenissu de l'aperçu. - Cadrez le réseau. Si vous avez accès à plusieurs réseaux, confirmez le réseau actif (
network.get_network_info,list_accessible_networks) avant toute écriture. Agir sur le mauvais réseau est l'erreur la plus coûteuse. - Donnez le moindre privilège. Les rôles GAM s'appliquent toujours : l'agent agit au nom d'un utilisateur et ne peut pas faire plus que son rôle ne l'autorise. Google exige des permissions précises, même pour archiver des ad units. Voir la documentation sécurité.
- Gardez une piste d'audit et relisez-la chaque semaine pendant le premier mois.
- N'automatisez pas ce que vous ne pouvez pas vérifier. Sans chiffre ni champ GAM pour contrôler le résultat, gardez un humain dans la boucle.
- Ne passez pas en lot avant d'avoir confiance. Line items unitaires d'abord, puis lots (
pause_batch,activate_batch).
Prochaines étapes
- Choisissez un des trois workflows et faites-le tourner en lecture seule pendant une semaine.
- Connectez votre réseau avec le guide de démarrage ou le quickstart MCP.
- Ajoutez l'étape de validation du ciblage avant votre prochain push.
- Découvrez comment la plateforme d'automatisation Ad Ops met ces workflows à disposition des équipes.
Sources Google : Dépanner la diffusion d'un line item, Désactiver ou archiver un ad unit, Cibler des key-values et la référence LineItem (v202605).
