Objectif
Lancer une campagne Google Ads Search prête pour la production en un seul workflow. Toujours commencer en pause pour que l'utilisateur révise avant de dépenser.
Entrées à confirmer avec l'utilisateur (regrouper dans une seule question)
- Nom du compte (correspondance de sous-chaîne) — obligatoire.
- Objectif de campagne (Leads / Sales / Website traffic) et action de conversion à optimiser — obligatoire si la stratégie Smart Bidding est demandée.
- Budget quotidien — obligatoire.
- Stratégie d'enchères —
MAXIMIZE_CONVERSIONS,TARGET_CPA,TARGET_ROAS,MAXIMIZE_CLICKSouMANUAL_CPC. Par défaut :MAXIMIZE_CLICKSs'il n'y a pas encore de données de conversion, sinonMAXIMIZE_CONVERSIONS. - Zone géographique + langue — obligatoire.
- URL finale — obligatoire pour les RSA.
- Thèmes de mots-clés (3–10 concepts étroitement regroupés) — obligatoire.
- Nom de la marque + proposition d'une ligne — obligatoire pour la génération de RSA.
Si l'utilisateur a fourni un brief dans l'argument slash, analysez-le d'abord et posez uniquement les questions manquantes.
Workflow
- Découvrir les opérations requises une seule fois avec
find_operations. Chercher des ID contenant :gads_select_accounts,gads_create_campaign,gads_create_ad_group,gads_create_responsive_search_ad,gads_add_keyword_to_ad_group,gads_create_sitelinks,gads_create_callouts,gads_create_structured_snippets,gads_add_negative_keywords_to_campaigns,gads_search_geo_targets. - Inspectez chacune avec
get_operation_inputsavant la première utilisation — ne devinez jamais les formes d'entrée Google Ads. - Résoudre le compte :
gads_select_accountsavec le nom fourni par l'utilisateur comme sous-chaîne ; si plusieurs correspondent, demander à l'utilisateur de clarifier. - Résoudre les IDs géographiques :
gads_search_geo_targetspour chaque chaîne de localisation fournie par l'utilisateur. - Créer la campagne (EN PAUSE) → retourne
campaign_id. Définiradvertising_channel_type=SEARCH, la stratégie d'enchères choisie, budget quotidien, ciblage géographique + langue. - Créer le groupe d'annonces sous ce
campaign_id→ retournead_group_id. - Générer des assets RSA en suivant les règles ci-dessous, puis
gads_create_responsive_search_adavecad_group_idet l'URL finale. - Ajouter des mots-clés avec
gads_add_keyword_to_ad_group. Types de correspondance par défaut : phrase + exact pour le même thème ; éviter le broad pur sauf si l'utilisateur utilise Smart Bidding avec suffisamment de données de conversion. - Ajouter des extensions dans l'ordre : sitelinks → callouts → snippets structurés. Tous optionnels — ignorer silencieusement si l'utilisateur ne les a pas demandés, mais suggérer une fois à la fin.
- Ajouter des négatifs de protection de marque au niveau du compte (noms de concurrents le cas échéant) et négatifs évidents (
free,jobs,careers,download,crack, etc. — adapter au secteur) viagads_add_negative_keywords_to_campaigns. - Confirmer à l'utilisateur : ID de campagne, ID de groupe d'annonces, force de l'annonce, nombre de mots-clés, lien pour réviser dans l'interface Google Ads. Rappeler qu'ils sont en pause.
Utiliser la skill safe-write-operations pour chaque étape à partir de #5 — chacune est une écriture. Regrouper dans une seule demande d'approbation si possible.
Règles spécifiques à la plateforme que le modèle DOIT respecter
- Préférer les opérations dédiées à
gads_mutate. Ne revenir à mutate que si aucune opération dédiée n'existe pour l'action. - Minimums et limites des assets RSA : 3–15 titres (30 caractères chacun), 2–4 descriptions (90 caractères chacun). Générer au moins 8 titres et 3 descriptions pour une bonne force d'annonce. Chaque asset doit être unique — Google rejette les doublons.
- Pas d'épinglage sauf demande. L'épinglage des titres ou descriptions réduit la force de l'annonce et limite l'optimisation de Google. Si l'utilisateur insiste sur l'épinglage (disclaimer légal, exigence de marque), épingler parcimonieusement à la position 1.
- Smart Bidding nécessite des conversions. Si l'utilisateur choisit
TARGET_CPAouTARGET_ROASet le compte a < 30 conversions au cours des 30 derniers jours, avertir que la stratégie aura du mal et recommanderMAXIMIZE_CONVERSIONSd'abord. - Types de correspondance : ne pas ajouter le même mot-clé dans plusieurs types de correspondance dans le même groupe d'annonces — phrase + exact est correct entre groupes ; le même groupe crée l'auto-concurrence.
- Ciblage géographique utilise les ID de cible géographique de Google (numériques) — toujours résoudre via
gads_search_geo_targets, ne jamais passer un nom de pays/ville en chaîne. - Budget partagé vs quotidien : un budget quotidien au niveau de la campagne est ce que l'utilisateur signifie généralement. Ne pas joindre automatiquement un budget de portefeuille sauf demande.
- Toujours commencer EN PAUSE pour que l'utilisateur inspectez le ciblage et les assets avant de dépenser.
Modes de défaillance et récupérations
- « Bidding strategy requires conversion tracking » → réduire à
MAXIMIZE_CLICKS, informer l'utilisateur et suggérer d'abord d'activer l'import de conversions depuis GA4. - « Ad strength: Poor » après création → ajouter plus de variété de titres (différents angles : avantage, caractéristique, urgence, marque, question), recréer le RSA, laisser l'ancien en pause.
- « Geo target not found » → demander à l'utilisateur un nom plus spécifique (ville + région) ou un code postal.
- Le compte a plusieurs résultats correspondants → les énumérer avec les ID et demander à l'utilisateur d'en choisir un.
Sortie vers l'utilisateur
Un tableau court :
| Élément | Valeur |
|---|---|
| Compte | <nom> (id) |
| Campagne | <nom> (id, EN PAUSE) |
| Groupe d'annonces | <nom> (id) |
| RSA créés | <n> |
| Mots-clés ajoutés | <n> (phrase=<a>, exact=<b>) |
| Extensions | sitelinks=<n>, callouts=<n>, snippets=<n> |
| Négatifs ajoutés | <n> |
Terminer par : « Consulter dans Google Ads, puis dépausifier quand prêt. Demandez-moi /markifact:diagnose-underperformer après 7 jours de données. »