Audit de performance
Structure, impression share, déperdition et pages de destination — scoré.
Compte : 682-467-0591 · Périmètre : UNIBEO uniquement · Date : 04/06/2026 Méthode : API Google Ads v24 (lecture seule) + données de monitoring agrégées. Fenêtre 90 j (06/03 → 03/06/2026) ; 7 derniers jours exclus pour les analyses sensibles au lag. MESURÉ sauf mention ESTIMÉ.
1. Score de santé (indicatif)
| Catégorie (poids) | Note | Justification |
|---|---|---|
| Tracking de conversions (25 %) | F | Pool partagé entre marques, valeurs à 0, down-funnel en observation, 46 actions parasitées (cf. audit conversions) |
| Déperdition / négatifs (20 %) | D | ~40 % du budget sur des termes à 0 conv ; des négatifs en volume mais sans granularité (liste compte vide, pas d'exclusion croisée, étanchéité brand absente) — un basique de gestion non maîtrisé |
| Structure du compte (15 %) | D | 19 campagnes fragmentées par distributeur, doublons (#2/#3), brand non isolé |
| Mots-clés & Quality Score (15 %) | D | QS 1-5 dominants, landing pages BELOW_AVERAGE, rankLostIS 49-63 % |
| Annonces & assets (15 %) | n/a | Non audité en détail (à compléter : Ad Strength, RSA, extensions) |
| Paramètres & ciblage (10 %) | C | Auto-tagging ✅, Enhanced Conversions ✅ ; mais fenêtres/attribution incohérentes |
Verdict global : ≈ D. Base technique présente (auto-tagging, Enhanced Conversions, data-driven) mais socle de pilotage (tracking, structure, négatifs) à reconstruire. Le tracking (25 %) tire tout vers le bas et conditionne le reste.
2. Constats détaillés (MESURÉ)
2.1 Structure : une coquille de ~45 campagnes, 2 réellement actives
Le compte contient ~45 campagnes estampillées Unibeo (une vingtaine en nomenclature récente [UNIBEO], le reste en héritage ancien) — doublons de recréation (« 14 - Caen » + « #2 », « 86 - Concept Piscine » + #2/#3), anciennes campagnes par zone/distributeur (Caen, Rennes, Tours, Gers, Troyes, La Baule…), tests PMax et demand-gen.
Mais le statut ENABLED ne veut pas dire « active ». Sur les 30 derniers jours (08/05 → 06/06), 2 campagnes seulement ont réellement dépensé (MESURÉ) :
| Campagne | Coût 30 j | Conv. | Rôle |
|---|---|---|---|
| [UNIBEO] 10 | 921 € | 32 | acquisition générique, multi-départements |
| [UNIBEO] Marque | 145 € | 11 | marque (utilité à interroger, cf. §2.7) |
Tout le reste est à 0 € — y compris 5 campagnes encore ENABLED ([UNIBEO] Sokoa, Piscine 74, AM Piscines, Maison de la piscine, 13), qui avaient tourné quelques mois puis se sont éteintes. Budget et dépense nuls = mortes de fait, quel que soit le statut affiché.
Conséquences :
- La « structure par distributeur » (une campagne par zone) n'existe quasiment plus en pratique : construite, puis abandonnée. Il reste une campagne générique multi-départements + la marque.
- Run-rate réel ≈ 1 070 €/mois sur 30 j (encore sous la moyenne 90 j de ~1 540 €, car les campagnes distributeur se sont éteintes).
- Seule [UNIBEO] 10 atteint le seuil de volume (~32 conv/mois ≈ le plancher de convergence du Smart Bidding) — mais sur le pool de conversions dégradé (majoritairement [UNIPAR], cf. audit conversions), donc le signal reste faussé.
- On ne part donc pas d'« optimiser 19 campagnes » mais de (re)construire une structure quasi à blanc — plutôt une bonne nouvelle : peu d'héritage actif à défaire.
2.2 Impression Share : perte par le RANG, pas le budget
rankLostIS MESURÉ : Caen 63 %, Piscine 74 63 %, Sokoa 60 %, [UNIBEO] 10 49 %. budgetLostIS plus faible. → augmenter les budgets ne servirait à rien : les annonces sont déclassées par la qualité (QS / pertinence / page de destination), pas par manque d'argent.
2.3 Quality Score & pages de destination
QS dominants 1-5, composante Landing Page BELOW_AVERAGE récurrente, Expected CTR souvent BELOW_AVERAGE. C'est la racine du rankLostIS élevé (49-63 %). Les causes sont confirmées par l'analyse des destinations réelles et l'audit SEO technique (ci-dessous).
2.3 bis — Landing pages réellement actives (MESURÉ, 30 j)
Les campagnes Unibeo n'utilisent que 14 URLs de destination distinctes, et le trafic se concentre sur 2 :
| Destination | Clics | Coût | Conv |
|---|---|---|---|
www.piscines-unibeo.com (accueil) |
472 | 129 € | 10 |
www.unibeo-piscines-troyes.fr (domaine tiers) |
440 | 761 € | 28 |
sous-domaines distributeurs (sokoa., ampiscines., piscine74.) |
~40 | ~60 € | ~4 |
Problèmes :
- Éclatement sur 5 domaines / sous-domaines (site principal + 1 domaine tiers + 3 sous-domaines distributeurs) → aucune cohérence, autorité diluée.
- Pages génériques (produits.html, concept.html, devis_en_ligne.html…) — aucune landing page SEA dédiée.
- Le plus gros budget Unibeo (761 €) part sur un domaine tiers (unibeo-piscines-troyes.fr) que l'audit SEO veut supprimer (301 vers le domaine principal). Tension SEA ↔ SEO à arbitrer.
Pourquoi les pages sont « inférieures à la moyenne » (audit SEO technique du 04/06, dashboard) :
- Domaines distributeurs dupliqués sans canonical → contenu dupliqué, dilution.
- cache-control: no-store sur tout le site → Core Web Vitals dégradés (pages lentes).
- Plateforme legacy (Oracle APEX) + URLs .html.
Note mesure : les scores chiffrés du module « Audit Landing Pages » du dashboard ne sont pas exposés par l'API ; ce diagnostic croise les destinations SEA réelles et l'audit SEO technique. Pour des scores chiffrés à jour, possibilité de crawler les 14 URLs (PageSpeed).
Recommandation : créer des pages de conversion SEA dédiées, rapatrier le trafic vers le domaine principal (canonical), corriger le no-store (point technique à cadrer avec Tadaaam).
2.4 Déperdition & search terms (30 j)
- ~624 € (≈ 40 % du budget UNIBEO) sur des termes à 0 conversion.
- Termes hors-cible récurrents : « piscine pas cher », « piscine hors sol », « piscine container », « mini piscine », « piscine creusée / enterrée », « pisciniste autour de moi ». Tous étrangers au positionnement béton armé premium.
- Variantes proches (NEAR_EXACT / NEAR_PHRASE) nombreuses : Google élargit au-delà des mots-clés, d'où des requêtes non maîtrisées.
- Fuite de marque : « unibeo », « unibeo piscine », « piscine unibeo » (~340 clics/mois) captés par des campagnes génériques/géo → gonflent leurs conversions et brouillent l'attribution. À canaliser vers la campagne Marque.
2.4 bis — Négatifs & auto-concurrence
Le compte ne manque pas de négatifs en volume (2 521 niveau campagne, 2 126 niveau ad group, 12 listes partagées) — mais le volume n'est pas de la gestion. Ce qui fait une bonne gestion de compte, c'est la granularité, et c'est précisément ce basique qui manque : - liste de négatifs au niveau compte vide (0) → les campagnes Performance Max ne sont pas bridées ; - aucune exclusion croisée entre campagnes → elles se concurrencent sur les mêmes requêtes ; - étanchéité brand / générique absente : la liste « Mots exclus UNIBEO » (32 mots) exclut des marques, pas le générique → la campagne Marque sort sur des requêtes génériques ; - côté Unibeo, ~34 négatifs/campagne là où le secteur en exige des centaines, ciblés par thème.
Exemple mesuré — la requête « piscine semi enterrée » déclenche 4 campagnes du compte en même temps :
| Campagne déclenchée | Éligibilité | État |
|---|---|---|
| [ECOPISCINES] PMax (local) | 81,9 % | limitée par budget |
| [ECOPISCINES] PMax (Global) | 81,7 % | limitée par budget |
| [ECOPISCINES] Marque | 80,3 % | éligible |
| [UNIBEO] Marque | 84,9 % | éligible |
Trois défauts d'un coup : chevauchement d'éligibilité (plusieurs campagnes du compte éligibles sur la même requête ; Google n'en diffuse qu'une, choisie par Ad Rank → on ne maîtrise ni quelle marque ni quel message s'affiche), PMax non bridé (liste compte vide), brand qui fuit sur le générique (la campagne Marque sort sur une requête non-brand). Poser des négatifs granulaires (par campagne, par thème, au niveau compte) est un basique d'une bonne gestion Google Ads — non maîtrisé ici.
Confirmé sur le terrain (outil « Aperçu et diagnostic des annonces », juin 2026). Sur la requête nue « piscine », géolocalisée à Perpignan (66), 5 campagnes du compte ressortent éligibles en même temps, toutes marques mêlées (Ecopiscines, Unibeo, Opalo…). - Précision à ne pas survendre : Google ne diffuse en règle générale qu'une seule annonce par compte sur une enchère (la mieux classée) — ces campagnes ne font donc pas monter le CPC l'une de l'autre. Pas de « guerre d'enchères » interne. - Le vrai problème : être éligible sur « piscine » (le terme le plus générique, le plus cher, le moins intentionnel) n'a aucun sens pour du béton premium ; et on ne contrôle pas quelle marque/message s'affiche (ça peut être une annonce Ecopiscines kit plutôt qu'Unibeo béton). - Angle 66 : à Perpignan, diffuser à l'aveugle sur du générique touche la zone Aqua Piscines (cf. garde-fous) — raison de plus pour des négatifs et un ciblage propres.
C'est la démonstration vivante du déficit de négatifs : liste compte vide + mots-clés en requête large = le compte « bave » sur tout le générique piscine. Et tant que les marques partagent le compte, isoler Unibeo « au niveau campagne » ne suffit pas — l'éligibilité reste mélangée au niveau compte (argument pour la séparation des comptes).
2.5 Enchères
100 % des campagnes UNIBEO en MAXIMIZE_CONVERSIONS, sur des conversions non valorisées et un pool partagé → l'algorithme maximise le volume de formulaires toutes marques, pas la valeur UNIBEO.
2.6 Saisonnalité (à traiter en continu)
Secteur très saisonnier (pic printemps-été). Toute comparaison de performance doit se faire vs N-1, jamais vs le mois précédent. ESTIMÉ : on entre dans le pic — la pression concurrentielle et les CPC montent.
2.7 Faut-il enchérir sur la marque « unibeo » ? (à interroger)
Constat. La campagne [UNIBEO] Marque repose sur le mot-clé unibeo en requête large (BROAD) : 1 591 clics, 431 € (CPC 0,27 €), QS 10 — et elle concentre 79 399 € de « valeur », soit 99 % de toute la valeur Unibeo du compte (devis CRM réattribués à ce clic de marque, cf. audit conversions §2.7).
Deux raisons de remettre en cause cette dépense :
- Incrémentalité douteuse. Acheter son propre nom n'a de sens que si (a) des concurrents enchérissent dessus (brand-jacking) ou (b) on ne ressort pas en tête de l'organique. Observation : pas de brand-jacking marqué. Si c'est confirmé et que le site rank #1 en organique sur « unibeo », alors on paie des clics qu'on aurait gratuitement : la « valeur » n'est pas créée par la pub, elle est récoltée sur de la demande déjà acquise (qui cherche « unibeo » veut déjà Unibeo).
- Ce n'est même pas une défense de marque « propre ». Le mot-clé est en BROAD sans étanchéité générique → la campagne Marque déborde sur le générique (mesuré : elle sort sur « piscine semi enterrée », cf. §2.4 bis). Résultat hybride : ni défense brand maîtrisée, ni acquisition mesurable — et une attribution brouillée (la valeur tombe ici quel que soit le type de requête).
À vérifier avant de trancher (méthode, pas verdict) : - Auction Insights sur « unibeo » (exact) : qui d'autre enchérit sur le nom ? (concurrents béton/coque, ou même des revendeurs sur leur propre zone). Seule justification solide d'une défense. - Position organique sur « unibeo / unibeo piscine / unibeo avis / unibeo prix » : si #1, le paid brand est largement redondant. - Test d'incrémentalité : mettre la campagne Marque en pause sur une fenêtre/zone témoin et mesurer la part de trafic/conversions récupérée en organique. Le « vrai » incrémental d'un paid brand est souvent 10-20 % seulement.
Reco prudente (sous réserve des vérifs). Passer unibeo en EXACT (stopper la fuite générique tout de suite), réduire à un budget défensif minimal, puis garder/couper après Auction Insights + test de pause. Et ne pas créditer la campagne Marque de ses 79 K€ quand on juge la performance d'acquisition — c'est du reporting, pas de la conquête.
3. Priorités issues de l'audit perf
- Tracking d'abord (cf. livrable conversions) — préalable non négociable.
- Socle de négatifs hors-cible (low-cost, hors-béton) + isolation du brand.
- Consolidation de la structure (regrouper les micro-campagnes par zones larges) pour donner du volume au Smart Bidding.
- Quality Score / landing pages : aligner les pages de destination sur les requêtes (levier du rang).
- Compléter l'audit : Ad Strength / RSA / extensions (non couverts ici).
Le détail actionnable (mutations priorisées, une par une, en validate_only avant exécution) est dans le plan d'optimisation.
Document de travail interne — Unibéo · Position Zero · établi le 04/06/2026.