En bref: Sur un site géant, la première question Search n'est pas les mots clés. C'est quelles pages de destination peuvent mathématiquement se permettre la publicité. Injecte un export GA4 plus un crawl du site, calcule maxCPC = CRR cible × CR × AOV par page, puis compare-le à ton CPC moyen réel. Tu obtiens une pile TOP 100–200 à construire classée, une pile de pages à corriger et une pile à ignorer, tout ça avant de dépenser un centime.
Un client m’a un jour confié un site d’environ dix mille pages de destination et une seule question. On commence où avec le Search ? Ça fait vingt ans que j’entends la réponse par défaut des agences. Pointe une campagne en requête large vers tout et laisse Google faire le tri. J’ai aussi nettoyé derrière cette réponse assez souvent pour savoir ce qu’elle coûte. Elle crame du budget sur des pages qui n’avaient aucune chance de convertir, fait dériver le ROAS cible et empoisonne la phase d’apprentissage avant que quiconque ait lu le moindre rapport.
Alors avant qu’un centime ne quitte le compte, je force chaque page de destination à prouver qu’elle peut se payer un clic payant. La preuve tourne sur deux choses que tu possèdes déjà. Un export GA4 de tes pages de destination et un crawl de ton site. Ce qui en ressort, c’est une liste classée des pages qui méritent une campagne Search en premier, chacune avec le CPC max exact qu’elle peut se permettre, plus une pile bien nette « ne pas enchérir là-dessus » pour les pages dont les fondamentaux interdisent le référencement payant. Pas d’outil de mots clés, pas d’intuition, pas de « activons juste les Dynamic Search Ads pour voir ».
C’est tout l’article. Ci-dessous je déroule le pipeline de bout en bout et, à chaque étape, je te montre la chose littérale qu’il recrache. Les lignes GA4, l’arithmétique du CPC max sur une seule ligne, le tableau d’extraction du crawl, le tri de priorisation avant et après, et le diagnostic de page à problème qui sauve une page que tout le monde aurait supprimée. Les chiffres sont illustratifs d’un bout à l’autre, branche donc les tiens. Les formes sont exactement ce que les outils renvoient.
Le pipeline en une seule case
- Ce qu'on cherche Les pages de destination qui méritent la publicité, classées
- Entrées Export GA4 des pages de destination · un crawl du site
- La formule unique maxCPC = CRR cible × CR × AOV
- Ce que tu obtiens Une pile à construire, une pile à corriger, une pile à ignorer
Le seul chiffre qui décide de tout
Chaque page de destination a un plafond. Le maximum que tu peux payer pour un clic tout en atteignant ton efficacité cible. Calcule-le par page et toute la priorisation découle des maths :
maxCPC = CRR cible × CR × AOV
où CRR (cost-revenue ratio, le PNO européen, équivalent à l’ACOS) est la part du chiffre d’affaires que tu es prêt à dépenser en publicité, CR est le taux de conversion de la page, et AOV est son panier moyen.
Un exemple chiffré, directement issu de la formule. Une page de catégorie convertit à 2 %, affiche un panier moyen de 1 000 €, et tu es prêt à dépenser 10 % du chiffre d’affaires en publicité (un ROAS de 10×) :
maxCPC = 0,10 × 0,02 × 1 000 € = 2,00 €.
Si tu préfères raisonner en ROAS, la même chose se réarrange en maxCPC = CR × AOV / ROAS = 0,02 × 1 000 / 10 = 2,00 €. Même chiffre, choisis la forme que ton cerveau préfère. (Exemple illustratif.)
Ces 2,00 € sont le verdict. Compare-les au CPC moyen réel de ton compte pour ce marché et la page se trie d’elle-même. Confortablement au-dessus de la moyenne, tu la construis. En dessous, elle ne peut pas se payer. Bien en dessous, n’y pense même pas. Tout ce qui suit consiste juste à produire ce chiffre pour chaque page, de façon fiable, puis à lire le résultat.
Le pipeline en un coup d’œil
Cinq étapes. Pour chacune, ce que tu fais, ce que tu regardes, et pourquoi. Chaque étape existe pour répondre à une question précise sur une page.
1 · Tirer les fondamentaux des pages de destination depuis GA4
Fais : par page de destination, exporte les sessions, conversions, transactions et le chiffre d’affaires ; dérive le CR et l’AOV. Pourquoi : c’est le signal demande-et-argent, et sans lui le CPC max est une supposition. Tu obtiens : une ligne par page portant les deux chiffres que la formule mange, le CR et l’AOV.
2 · Crawler le site pour sa structure
Fais : crawle chaque page pour le titre, le H1, la profondeur du fil d’Ariane et, celui qui compte, combien de produits elle liste. Pourquoi : GA4 connaît les fondamentaux mais pas la structure. Une page avec deux produits en stock ne peut pas porter une campagne, peu importe comment elle convertit. Tu obtiens : le miroir structurel de tes lignes GA4, plus un signalement des pages creuses.
3 · Joindre les deux, calculer le CPC max
Fais : joins GA4 et le crawl par URL, applique la formule sur chaque ligne, écarte les pages creuses. Pourquoi : c’est là que fondamentaux et structure se rencontrent et que le verdict devient calculable. Tu obtiens : chaque page avec son CPC max posé juste à côté.
4 · Prioriser : CPC max vs. CPC moyen réel
Fais : place le CPC max de chaque page à côté du CPC moyen réel de ton compte ou pays, trie par marge. Pourquoi : un CPC max ne signifie rien isolément. Seul l’écart avec ce que les clics coûtent réellement décide si une page peut se payer. Tu obtiens : la pile à construire TOP 100–200, une pile à corriger et une pile à ignorer.
5 · Diagnostiquer les pages à problème
Fais : pour les pages qui devraient convertir mais ne le font pas, vérifie la compétitivité tarifaire des produits qu’elles listent en premier. Pourquoi : un CR bas sur une page censée vendre est généralement une fuite de merchandising, et une fuite de merchandising se répare. Tu obtiens : des pages sauvées de la pile à ignorer et rendues à la pile à construire, une fois qu’elles peuvent réellement convertir.
Maintenant les mêmes cinq étapes, une par une, chacune avec la chose littérale qu’elle produit.
Étape 1 · L’export GA4, tel qu’il atterrit
Tu n’as pas besoin d’un rapport sophistiqué. Dans GA4, ouvre Explorer → vierge → Format libre, dimension Page de destination + chaîne de requête, métriques Sessions, Événements clés / Conversions, Chiffre d’affaires total. Ajoute Transactions si tu l’as ; sinon l’AOV vient du chiffre d’affaires ÷ conversions. Un filtre en amont. Exclus les pages de détail produit et garde les pages de catégorie et de collection. Tu dimensionnes où envoyer le trafic, et sur la plupart des sites ce sont les catégories, pas les SKU individuels. Mélanger les SKU fausse chaque AOV et chaque CR que tu calcules.
Voici à quoi ressemblent quatre lignes représentatives une fois exportées, avec le CR et l’AOV dérivés :
Landing page Sessions Conv CR Revenue AOV
/cordless-vacuums 8,140 163 2.0% €68,460 €420
/winter-tyres 5,020 156 3.1% €28,080 €180
/sleeping-bags 12,300 135 1.1% €12,825 €95
/phone-cases 9,800 137 1.4% €2,192 €16
(Exemple illustratif.) Le CR est conversions ÷ sessions ; l’AOV est chiffre d’affaires ÷ conversions. C’est tout ce que la formule a besoin de tirer de GA4. Deux colonnes par page, le CR et l’AOV. Remarque déjà que /sleeping-bags attire le plus de sessions du lot tout en convertissant le plus mal. Garde ça en tête, c’est la ligne intéressante pour plus tard.
Étape 2 · Le crawl, et la colonne qui fait le travail
GA4 t’a dit comment chaque page performe. Il ne peut pas te dire qu’une page est structurellement creuse. Une « catégorie » avec deux produits en stock, ou une vue de filtre paramétrique qui ne devrait jamais porter une campagne. Pour ça, tu crawles. Deux voies. Faire écrire par une IA un crawler jetable en cinq minutes, ou utiliser Screaming Frog avec une extraction XPath personnalisée que tu configures en trois minutes environ (mini-guide complet dans le fichier à télécharger en fin d’article). Lance-le en mode Liste sur ton jeu d’URL GA4 et il mouline en arrière-plan pendant que tu fais autre chose.
La seule colonne qui mérite son salaire, c’est le nombre de produits, combien de fiches produit la page affiche réellement. Voici le résultat de l’extraction joint aux quatre mêmes pages, plus une de plus que le crawl signale :
URL Title H1 Products Breadcrumb
/cordless-vacuums Cordless Vacuums … Cordless Vacuums 48 Home>Floorcare>Vacuums
/winter-tyres Winter Tyres | … Winter Tyres 112 Home>Tyres>Winter
/sleeping-bags Sleeping Bags … Sleeping Bags 9 Home>Camping>Sleep
/phone-cases Phone Cases … Phone Cases 640 Home>Accessories>Cases
/clearance-2019 Clearance Clearance 0 Home>Clearance
(Exemple illustratif.) La règle des pages creuses fait son travail sur-le-champ. /clearance-2019 liste zéro produit, une catégorie vide pour laquelle GA4 enregistre encore des sessions. Écarte toute page sous environ trois produits avant de prioriser, et cette page fantôme n’atteint jamais la pile à construire. En pratique, la séquence est courte. Le crawl montre une « catégorie » sans rien de vivant à vendre, tu l’exclus avant la priorisation, et tu ne gaspilles pas une campagne ni l’après-midi d’un analyste sur une page qui n’a rien à offrir.
Étape 3 · Joindre les deux, et la formule sur une seule ligne
Maintenant les deux jeux de données ne font plus qu’un. Joins GA4 et le crawl par URL et chaque page porte à la fois ses fondamentaux (CR, AOV) et sa structure (nombre de produits). Applique maxCPC = CRR cible × CR × AOV sur toute la colonne. Regarde-la atterrir sur une vraie ligne, /cordless-vacuums à un CRR cible de 10 % :
maxCPC = 0,10 × 0,020 × 420 € = 0,84 €.
Une ligne, un plafond. Fais-le pour les quatre survivantes et tu obtiens le CPC max par page dont dépend toute la décision :
Page CR AOV CRR maxCPC = CRR×CR×AOV
/cordless-vacuums 2.0% €420 10% 0.10 × 0.020 × 420 = €0.84
/winter-tyres 3.1% €180 12% 0.12 × 0.031 × 180 = €0.67
/sleeping-bags 1.1% €95 10% 0.10 × 0.011 × 95 = €0.10
/phone-cases 1.4% €16 10% 0.10 × 0.014 × 16 = €0.02
(Exemple illustratif.) Le CRR cible peut différer par page si tes marges le font. /winter-tyres porte 12 % ici parce que la catégorie tolère une efficacité plus lâche. Tout le reste est mécanique. Tu as désormais un CPC max pour chaque page du site ; l’étape suivante est le seul jugement qu’il reste à porter.
Étape 4 · Prioriser : le tri, avant et après
Un CPC max ne signifie rien tout seul. 0,84 € est généreux sur un marché et inabordable sur un autre. Ce qui décide, c’est l’écart avec ce qu’un clic te coûte réellement. Tire donc ton CPC moyen réel par page (ou par marché, si tu ne l’as pas au niveau page) du compte Google Ads et mets les deux côte à côte.
Avant, la jointure brute dans l’ordre quelconque où elle est sortie de GA4, illisible en tant que plan :
Page maxCPC avg CPC
/sleeping-bags €0.10 €0.45
/phone-cases €0.02 €0.35
/cordless-vacuums €0.84 €0.55
/winter-tyres €0.67 €0.40
Après, trié par marge (maxCPC − CPC moyen), les quatre mêmes lignes deviennent un ordre de travail avec le verdict écrit dans la dernière colonne :
| Page de destination | CR | AOV | CRR cible | maxCPC | CPC moyen | Verdict |
|---|---|---|---|---|---|---|
| /cordless-vacuums | 2.0% | €420 | 10% | €0.84 | €0.55 | Construire maintenant |
| /winter-tyres | 3.1% | €180 | 12% | €0.67 | €0.40 | Construire maintenant |
| /sleeping-bags | 1.1% | €95 | 10% | €0.10 | €0.45 | Corriger d'abord (page à problème) |
| /phone-cases | 1.4% | €16 | 10% | €0.02 | €0.35 | Laisser tomber |
(Exemple illustratif.) Les chiffres sont inventés pour montrer le mécanisme, branche donc tes propres données GA4. Chaque maxCPC ici n’est que CRR cible × CR × AOV appliqué à la ligne.
Deux lignes sont évidentes. /cordless-vacuums peut payer 0,84 € contre un marché à 0,55 €, 53 % de marge, construis-la. /winter-tyres pareil. /phone-cases peut se permettre 0,02 € contre 0,35 €. Ça ne marchera jamais, même dans tes rêves les plus fous, laisse-la de côté et ne te retourne pas. Passe de quatre lignes à dix mille et le haut de la liste triée est ton TOP 100–200, les pages à construire en premier, classées par la marge dont elles disposent pour enchérir.
L’intéressante, c’est /sleeping-bags. maxCPC de 0,10 € contre un marché à 0,45 €, donc sur le papier « laisse tomber ». Mais elle avait le plus de sessions de tout l’export et une catégorie qui devrait manifestement vendre. Un CR suspicieusement bas sur une page censée convertir est rarement un problème de demande. C’est une page à problème, et les pages à problème ont droit à un diagnostic, pas à une suppression.
Étape 5 · Pages à problème : le diagnostic, sur une vraie liste
Quand le taux de conversion d’une page se situe bien en dessous de là où la catégorie devrait atterrir, demande-toi pourquoi avant de la jeter. En e-commerce, la réponse, la plupart du temps, c’est la compétitivité tarifaire des produits que la page affiche en premier. Les 10 à 20 premiers produits qu’un visiteur voit sont toute la première impression de la page. Si ce sont tes articles les plus faibles en valeur, le CR s’effondre quelle que soit la demande que la page attire.
Tu lis donc la catégorie exactement comme le client le fait, dans son ordre de tri par défaut, et tu vérifies le prix des positions de tête.
Lire le mix produit de la catégorie dans l'ordre de tri
Tire les produits de /sleeping-bags par leur product_type depuis Google Merchant Center, dans l’ordre de liste par défaut que le visiteur obtient réellement. Le haut de la liste est ce qui convertit (ou non).
Vérifier le prix des positions de tête face au marché
Prends les produits listés en tête et recherche les prix concurrents en direct avec DataForSEO. L’endpoint serp/google/organic/live/advanced renvoie toute la page de résultats (blocs shopping avec marchands et prix, organique en dessous) en JSON structuré. La facturation se fait au SERP de 10 résultats maximum, à un prix de base d’environ 0,002 $ avant les paramètres avancés payants.
Re-tarifer ou ré-ordonner, puis remesurer
Si les positions de tête sont trop chères, tu as deux leviers. Re-tarifer, ou re-trier la catégorie pour que des produits réellement compétitifs mènent. Puis observe le CR. Ce n’est qu’une fois qu’il remonte que tu promeus la page de « à problème » vers la pile à construire.
Voici à quoi ressemble littéralement ce diagnostic sur /sleeping-bags, la page assise à un maxCPC de 0,10 €. Haut de la liste, ton prix contre le concurrent le moins cher que DataForSEO a trouvé pour le même produit :
Pos Product (first-listed) Your price Cheapest comp. Gap
1 AlpineLite 200 Down Bag €129 €99 +30%
2 TrekWarm Mummy −5°C €115 €112 +3%
3 BaseCamp Synthetic XL €89 €92 −3%
4 ValleyHike Junior €45 €47 −4%
(Exemple illustratif.) La fuite est tout en haut. Le produit que 12 300 visiteurs mensuels rencontrent en premier est tarifé 30 % au-dessus de l’offre la moins chère du marché. Tout ce qui est en dessous est compétitif, mais personne ne fait défiler au-delà d’une mauvaise première impression. Baisse le prix du produit de tête à 105 €, ou re-trie pour que les compétitifs BaseCamp et ValleyHike mènent, et le CR se rétablit vers la norme de la catégorie. Relance l’étape 3, le maxCPC décolle des 0,10 € et la page accède à la pile à construire.
C’est la boucle que la plupart des agences ne bouclent jamais, parce qu’elle franchit une frontière qu’elles ne touchent généralement pas. Le travail de la boutique (tarification, merchandising, ordre de tri) et le travail de l’agence (acheter le trafic) sont la même boucle d’optimisation. Règle l’un sans l’autre et tu enchéris dans une fuite.
Après le filtre : choisir comment tu achètes
C’est seulement maintenant, avec la pile à construire en main, que tu choisis le comment. AI Max, Dynamic Search Ads, le STAG classique, ou une combinaison (requête large plus DSA dans une même campagne). Une campagne ou trois ou cinq, ça dépend du client et du volume de conversions ; respecte la règle des quelque 30 conversions par campagne avant de scinder. Je te laisse ce choix volontairement. Tout l’intérêt du pipeline, c’est que tu le fais après les fondamentaux, pas avant.
Quel que soit ton choix, la règle est la même. Une nouvelle campagne ne doit jamais démarrer sur de mauvaises pages. Des pages de destination faibles font dériver ton ROAS cible et empoisonnent la phase d’apprentissage. Le pré-filtre garde le lancement pointé uniquement vers des pages capables de s’autofinancer. À partir de là, construire la super-structure (données de crawl plus recherche de mots clés par catégorie via la Google Ads API, construite par vagues selon la catégorie, la langue et la maturité) est un sujet à part entière, et il a le sien.
La partie qui renvoie au manifeste
Techniquement, rien de tout cela n’est nouveau. Tu aurais pu lancer l’export GA4, le crawl, le scraping de prix et la jointure il y a cinq ans. Mais cela aurait représenté six mois de développement sur mesure, et toute personne saine d’esprit aurait abandonné à mi-chemin. Douze ans à écrire contre la Google Ads API m’ont appris exactement comment ces projets meurent. La raison pour laquelle je l’écris maintenant, c’est qu’avec des outils comme Codex, Claude Code et la génération actuelle d’agents, ça a cessé d’être un projet pour devenir un workflow d’un mardi ordinaire, un script que tu pointes sur un compte et que tu laisses tourner la nuit.
C’est tout le basculement, et c’est le plus clair quand on le voit des deux côtés à la fois. Le travail de tarification et de merchandising de la boutique et le travail publicitaire de l’agence fusionnent en une seule boucle que tu peux enfin régler ensemble. Les fondamentaux te permettent de la boucler.
Télécharge les instructions complètes pour ton IA
Tout le filtre ci-dessus, réécrit en un brief à coller directement dans Claude ou tout agent de code capable. Tu fournis l'export GA4 et le crawl ; il calcule le max CPC de chaque page et te rend les piles à construire, à corriger et à ignorer. Laisse ton e-mail et le fichier est à toi.
One file, one list. I only write when there's something worth reading.
FAQ
Pourquoi utiliser le maxCPC plutôt que de regarder les objectifs de ROAS dans Google Ads ?
Parce que le tROAS de Google réagit après que tu as dépensé de l’argent à apprendre. Le maxCPC est un filtre pré-lancement. Il te dit, avant le moindre clic, quelles pages peuvent mathématiquement se permettre de faire de la publicité. Tu l’utilises pour décider quoi construire ; le tROAS pilote ensuite ce que tu as construit.
Mon CR et mon AOV varient beaucoup d'un mois à l'autre. Ça ne casse pas la formule ?
Utilise une fenêtre stable de 60 à 90 jours et segmente par appareil ou par marché s’ils diffèrent sensiblement. La formule n’a pas vocation à être précise au centime. Elle trie les pages en piles à construire, à corriger et à ignorer, et c’est une marge d’ordre de grandeur que tu cherches.
Ai-je vraiment besoin de Screaming Frog, ou l'IA peut-elle juste écrire le crawler ?
Les deux marchent. Screaming Frog avec une extraction XPath personnalisée est la voie no-code et c’est réellement une configuration de trois minutes. Un crawler scripté est meilleur si tu as besoin que les données soient jointes automatiquement dans un pipeline. Choisis selon qu’il s’agit d’un audit ponctuel ou d’un workflow répétable.
Qu'est-ce qui distingue une « page à problème » d'une page que je devrais juste ignorer ?
Une page à ignorer a des fondamentaux faibles par nature. AOV bas, intention faible, donc son maxCPC est réellement minuscule et le restera toujours (/phone-cases à 0,02 €). Une page à problème devrait convertir. AOV correct, vraie demande, beaucoup de sessions, et pourtant elle ne convertit pas, généralement parce que ses premiers produits affichés sont trop chers ou mal triés (/sleeping-bags à 0,10 €). Les pages à ignorer, tu les laisses de côté ; les pages à problème, tu les corriges, puis tu remesures.
Est-ce que ça ne marche que pour l'e-commerce ?
La formule du maxCPC marche partout où tu as une valeur de conversion, génération de leads incluse, où l’AOV devient la valeur du lead. Le diagnostic des pages à problème (product_type Merchant Center, prix des concurrents, ordre de tri des catégories) est spécifique à l’e-commerce. Les pages à problème en lead gen ont besoin de leur propre diagnostic, généralement une friction de formulaire ou une offre inadaptée.
Quel est le lien avec AI Max et la fin des DSA ?
C’est en amont de cette décision. Quel que soit le type de campagne que tu choisis, AI Max, le successeur des DSA ou le STAG classique, il ne devrait pointer que vers des pages ayant passé ce filtre. Le choix de stratégie change la façon dont tu achètes ; les fondamentaux décident de ce qui vaut la peine d’être acheté.
CTA : Tu veux la pile à construire pour ton site, classée par ce que chaque page peut réellement se permettre ? Envoie-moi ton export GA4 et on fait tourner le filtre ensemble.