<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Je conçois et pilote vos campagnes Google Ads pour placer votre entreprise face aux personnes qui recherchent déjà vos services, générer davantage d’appels et de demandes de devis qualifiées, puis développer votre chiffre d’affaires.">
<meta name="robots" content="index, follow, max-image-preview:large">
<link rel="canonical" href="https://www.adamspilmann.com/services/google-ads/">
<meta property="og:url" content="https://www.adamspilmann.com/services/google-ads/">
<meta property="og:locale" content="fr_FR">
<meta property="og:type" content="website">
<meta property="og:title" content="Consultant Google Ads pour entreprises de services | Adam Spilmann">
<meta property="og:description" content="Je conçois et pilote vos campagnes Google Ads pour générer davantage d’appels et de demandes de devis qualifiées.">
<meta name="twitter:card" content="summary_large_image">
<title>Consultant Google Ads pour entreprises de services | Adam Spilmann</title>
<link rel="icon" href="../../favicon.svg" type="image/svg+xml">
<script>
// Polyfill Shadow DOM déclaratif : ne fait rien sur les navigateurs qui le
// supportent nativement (Chrome/Edge/Safari/Firefox récents), et attache
// les <template shadowrootmode> à la main sur les navigateurs plus anciens.
(function attachShadowRoots(root) {
root.querySelectorAll("template[shadowrootmode]").forEach((template) => {
const mode = template.getAttribute("shadowrootmode");
const shadowRoot = template.parentNode.attachShadow({ mode });
shadowRoot.appendChild(template.content);
template.remove();
attachShadowRoots(shadowRoot);
});
})(document);
</script>
<style>
@font-face {
font-family: "Overused Grotesk Medium";
src: url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");
font-weight: 500;
font-display: swap;
}
@font-face {
font-family: "Inter";
src: url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");
font-weight: 400;
font-display: swap;
}
@font-face {
font-family: "Inter";
src: url("../../sections-validees/_ressources/communs/inter-medium.woff2") format("woff2");
font-weight: 500;
font-display: swap;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: #161512; }
.qualif-overlay {
position: fixed;
inset: 0;
z-index: 200;
display: none;
align-items: center;
justify-content: center;
padding: 20px;
background: rgba(13, 12, 10, 0.7);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.qualif-overlay.is-open { display: flex; }
.qualif-dialog {
position: relative;
width: min(560px, 100%);
max-height: min(680px, 90vh);
overflow-y: auto;
padding: 32px clamp(20px, 4vw, 40px) 36px;
border-radius: 12px;
background: #f7f7f7;
color: rgba(0, 0, 0, 0.82);
font-family: "Inter", sans-serif;
box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
}
.qualif-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
margin-bottom: 20px;
}
.qualif-brand strong { display: block; font-family: "Overused Grotesk Medium", sans-serif; font-size: 15px; }
.qualif-brand span { display: block; font-size: 12px; color: rgba(0, 0, 0, 0.5); margin-top: 2px; }
.qualif-close {
flex-shrink: 0;
width: 32px;
height: 32px;
border: 0;
border-radius: 50%;
background: rgba(0, 0, 0, 0.06);
font-size: 18px;
line-height: 1;
cursor: pointer;
color: rgba(0, 0, 0, 0.6);
}
.qualif-close:hover { background: rgba(0, 0, 0, 0.12); }
.qualif-progress { height: 3px; border-radius: 999px; background: rgba(0, 0, 0, 0.08); margin-bottom: 28px; overflow: hidden; }
.qualif-progress-bar { height: 100%; width: 0%; background: #161512; border-radius: 999px; transition: width 250ms ease; }
.qualif-panel { display: none; }
.qualif-panel.is-active { display: block; }
.qualif-question { font-family: "Overused Grotesk Medium", sans-serif; font-size: clamp(21px, 3vw, 26px); line-height: 1.2; letter-spacing: -0.02em; margin: 0 0 14px; }
.qualif-subtitle { margin: 0 0 20px; display: grid; gap: 12px; }
.qualif-subtitle span { display: block; font-size: 14px; line-height: 1.55; color: rgba(0, 0, 0, 0.66); }
.qualif-answers { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; border: 0; width: 100%; }
.qualif-answer {
display: flex;
align-items: center;
gap: 12px;
width: 100%;
padding: 14px 16px;
border: 1px solid rgba(0, 0, 0, 0.14);
border-radius: 8px;
background: #fff;
color: inherit;
font-family: "Inter", sans-serif;
font-size: 14.5px;
line-height: 1.4;
text-align: left;
cursor: pointer;
transition: border-color 140ms ease, background 140ms ease;
}
.qualif-answer:hover, .qualif-answer:focus-visible { border-color: rgba(0, 0, 0, 0.35); background: rgba(0, 0, 0, 0.02); }
.qualif-answer .dot { flex-shrink: 0; width: 9px; height: 9px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, 0.3); }
.qualif-disclaimer { margin: 16px 0 0; font-size: 11.5px; line-height: 1.5; color: rgba(0, 0, 0, 0.45); }
.qualif-result { text-align: center; padding-top: 8px; }
.qualif-result-icon { width: 52px; height: 52px; margin: 0 auto 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; }
.qualif-result.ok .qualif-result-icon { background: rgba(31, 122, 82, 0.12); color: #1f7a52; }
.qualif-result.no .qualif-result-icon { background: rgba(179, 38, 30, 0.1); color: #b3261e; }
.qualif-result-label { margin: 0 0 10px; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(0, 0, 0, 0.5); }
.qualif-result-title { font-family: "Overused Grotesk Medium", sans-serif; font-size: 22px; line-height: 1.25; letter-spacing: -0.02em; margin: 0 0 14px; }
.qualif-result-copy { margin: 0 0 24px; font-size: 14.5px; line-height: 1.55; color: rgba(0, 0, 0, 0.66); }
.qualif-whatsapp {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 14px 26px;
border-radius: 999px;
background: #25d366;
color: #fff;
font-size: 14.5px;
font-weight: 500;
text-decoration: none;
}
.qualif-whatsapp:hover { background: #20bd5a; }
.qualif-whatsapp svg { width: 18px; height: 18px; }
.qualif-desktop-note { margin: 18px 0 0; font-size: 12px; color: rgba(0, 0, 0, 0.5); }
.qualif-desktop-number { margin: 2px 0 0; font-size: 14px; font-weight: 500; }
.qualif-instagram {
display: inline-flex;
padding: 14px 26px;
border-radius: 999px;
border: 1px solid rgba(0, 0, 0, 0.2);
color: rgba(0, 0, 0, 0.8);
text-decoration: none;
font-size: 14.5px;
}
.qualif-instagram:hover { border-color: rgba(0, 0, 0, 0.4); }
@media (max-width: 520px) {
.qualif-dialog { padding: 26px 18px 28px; border-radius: 10px; }
}
</style>
</head>
<body>
<div id="hero-frame">
<template shadowrootmode="open">
<style>
@font-face{font-family:"Overused Grotesk Medium";src:url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");font-weight:400;font-display:swap}
*{box-sizing:border-box;-webkit-font-smoothing:antialiased}
:host{display:block;background:#f7f7f7;color:#2F2F2E;font-family:"Inter",sans-serif;font-synthesis:none}
h1,h2,h3{margin:0;font-family:"Overused Grotesk Medium",sans-serif;font-weight:500}
p{margin:0}.inner{max-width:1280px;margin:auto}.eyebrow{font-family:"Inter","Inter Placeholder",sans-serif;font-weight:400;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin:0 0 24px;border-radius:999px;background:rgba(0,0,0,.05);font-family:"Inter",sans-serif;font-size:12px;font-weight:500;line-height:12px;letter-spacing:1.2px;text-transform:uppercase}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.title{font-family:"Overused Grotesk Medium",sans-serif;font-weight:500;font-size:64px;line-height:1.04;letter-spacing:-.04em;text-wrap:balance;color:#2F2F2E}.copy{font-size:15px;line-height:22.5px;letter-spacing:-.3px;color:#2F2F2E}
@media(max-width:809px){.title{font-size:40px;line-height:1.06}}
:host{background:#111820;color:#fff}.hero{position:relative;min-height:760px;padding:28px clamp(20px,5vw,80px) 90px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;isolation:isolate;background:#111820}.hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;display:block;object-fit:cover;object-position:64% center}.hero-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);background:linear-gradient(304deg,rgba(0,0,0,0) 59%,rgba(0,0,0,.2) 100%);-webkit-mask:linear-gradient(237deg,rgba(0,0,0,0) 43.4435%,rgba(0,0,0,.95) 63.0631%,#000 100%);mask:linear-gradient(237deg,rgba(0,0,0,0) 43.4435%,rgba(0,0,0,.95) 63.0631%,#000 100%)}.nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;font-size:14px}.brand{color:#fff;text-decoration:none;font-family:"Overused Grotesk Medium"}.links{display:flex;gap:28px}.links a{color:rgba(255,255,255,.7);text-decoration:none}.content{position:relative;z-index:2;max-width:1120px;margin-top:150px}.hero .eyebrow{font-family:"Inter","Inter Placeholder",sans-serif;font-weight:500;background:rgba(255,255,255,.08)}.hero-title{max-width:1080px;font-size:clamp(58px,7vw,94px);line-height:.96;letter-spacing:-.045em;color:#fff}.hero-title strong{color:#fff;font-weight:500}.lead{max-width:680px;margin-top:30px;font-size:17px;line-height:1.5;color:#fff}
@media(max-width:809px){.hero{min-height:690px;padding:24px 20px 58px}.hero-shade{backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(180deg,rgba(0,0,0,.08) 10%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.88) 100%);-webkit-mask:none;mask:none}.hero-photo{object-position:60% center}.links{display:none}.content{margin-top:100px}.hero-title{font-size:48px;line-height:1}.lead{font-size:15px}}
.hero-title{margin:0;font-family:"Overused Grotesk Medium",sans-serif;font-weight:500}
@media(max-width:809px){.content{width:100%;min-width:0}.hero-title,.lead{max-width:100%;text-wrap:wrap;overflow-wrap:normal}}
</style>
<header class="hero">
<img class="hero-photo" src="../../sections-validees/_ressources/section-01/portrait-adam-hero.webp" alt="Adam Spilmann, consultant Google Ads" width="1920" height="1080" fetchpriority="high">
<div class="hero-shade" aria-hidden="true"></div>
<nav class="nav"><a class="brand" href="../../homepage/">Adam Spilmann</a><div class="links"><a href="#results-frame">Résultats clients</a><a href="#about-frame">À propos</a><a href="#faq-frame">FAQ</a></div></nav>
<div class="content"><h1 class="eyebrow">Consultant Google Ads et SEA</h1><p class="hero-title">Consultant <strong>Google Ads</strong> pour entreprises de services</p><p class="lead">Je conçois et je pilote tes campagnes Google Ads pour te mettre face à des personnes qui recherchent activement tes services et qui sont déjà décidées à passer à l’action. L’objectif est simple : générer des appels et des demandes de devis qualifiées, pas seulement acheter de la visibilité.</p></div>
</header>
</template>
</div>
<div id="intro-frame">
<template shadowrootmode="open">
<style>
@font-face{font-family:"Overused Grotesk Medium";src:url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");font-weight:400;font-display:swap}
*{box-sizing:border-box;-webkit-font-smoothing:antialiased}
:host{display:block;background:#f7f7f7;color:#2F2F2E;font-family:"Inter",sans-serif;font-synthesis:none}
h1,h2,h3{margin:0;font-family:"Overused Grotesk Medium",sans-serif;font-weight:500}
p{margin:0}.inner{max-width:1280px;margin:auto}.eyebrow{font-family:"Inter","Inter Placeholder",sans-serif;font-weight:400;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin:0 0 24px;border-radius:999px;background:rgba(0,0,0,.05);font-family:"Inter",sans-serif;font-size:12px;font-weight:500;line-height:12px;letter-spacing:1.2px;text-transform:uppercase}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.title{font-family:"Overused Grotesk Medium",sans-serif;font-weight:500;font-size:64px;line-height:1.04;letter-spacing:-.04em;text-wrap:balance;color:#2F2F2E}.copy{font-size:15px;line-height:22.5px;letter-spacing:-.3px;color:#2F2F2E}
@media(max-width:809px){.title{font-size:40px;line-height:1.06}}
.section{padding:120px clamp(28px,5.55vw,80px)}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:80px;align-items:center}.title{max-width:720px}.texts{max-width:620px;margin-top:30px}.texts p+p{margin-top:18px}.media{aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:#111820}.media img{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:809px){.section{padding:72px 20px}.layout{grid-template-columns:1fr;gap:42px}.media{order:-1}}</style>
<section class="section"><div class="inner layout"><div><h2 class="eyebrow">Google Ads, c’est quoi ?</h2><p class="title">Être premier sur Google quand tes futurs clients cherchent ton service</p><div class="texts copy"><p>Google Ads, autrefois appelé Google AdWords, permet à ton entreprise d’apparaître au moment précis où une personne recherche ce que tu proposes. Pour un artisan, une entreprise locale ou un prestataire B2B, cette intention de recherche peut devenir un appel ou une demande de devis.</p><p>Beaucoup d’entreprises se plaignent de manquer de clients sans investir dans leur visibilité sur Google. Mais si tu n’apparais pas lorsqu’un prospect cherche ton service, comment veux-tu qu’il te trouve ? J’ai vu des sociétés partir de zéro et atteindre 25 000 à 30 000 euros de bénéfices en quelques mois parce qu’elles avaient compris qu’il fallait investir pour aller chercher leur marché.</p></div></div><div class="media"><img src="../../homepage/assets/service-google-ads.webp" alt="Gestion de campagnes Google Ads et Google AdWords pour une entreprise de services"></div></div></section>
</template>
</div>
<div id="plan-frame">
<template shadowrootmode="open">
<style>
@font-face{font-family:"Overused Grotesk Medium";src:url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");font-weight:400;font-display:swap}
*{box-sizing:border-box;-webkit-font-smoothing:antialiased}
:host{display:block;background:#f7f7f7;color:#2F2F2E;font-family:"Inter",sans-serif;font-synthesis:none}
h1,h2,h3{margin:0;font-family:"Overused Grotesk Medium",sans-serif;font-weight:500}
p{margin:0}.inner{max-width:1280px;margin:auto}.eyebrow{font-family:"Inter","Inter Placeholder",sans-serif;font-weight:400;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin:0 0 24px;border-radius:999px;background:rgba(0,0,0,.05);font-family:"Inter",sans-serif;font-size:12px;font-weight:500;line-height:12px;letter-spacing:1.2px;text-transform:uppercase}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.title{font-family:"Overused Grotesk Medium",sans-serif;font-weight:500;font-size:64px;line-height:1.04;letter-spacing:-.04em;text-wrap:balance;color:#2F2F2E}.copy{font-size:15px;line-height:22.5px;letter-spacing:-.3px;color:#2F2F2E}
@media(max-width:809px){.title{font-size:40px;line-height:1.06}}
.section{padding:120px clamp(28px,5.55vw,80px);background:#e9e9e5}.layout{display:grid;grid-template-columns:minmax(380px,.86fr) minmax(0,1.14fr);gap:80px;align-items:center}.media{aspect-ratio:4/5;overflow:hidden;border-radius:4px}.media img{display:block;width:100%;height:100%;object-fit:cover}.list{margin:42px 0 0;padding:0;list-style:none;border-top:1px solid rgba(47,47,46,.18)}.list li{display:grid;grid-template-columns:32px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid rgba(47,47,46,.18);font-size:15px;line-height:22.5px;color:#2F2F2E}.arrow{font-size:20px}.conclusion{margin-top:30px;font-family:"Overused Grotesk Medium";font-size:23px;line-height:1.3;letter-spacing:-.02em;color:#2F2F2E}@media(max-width:809px){.section{padding:72px 20px}.layout{grid-template-columns:1fr;gap:42px}.media{aspect-ratio:4/3}}</style>
<section class="section"><div class="inner layout"><div class="media"><img src="../../sections-validees/_ressources/section-01/portrait-adam-hero.webp" alt="Adam Spilmann, consultant Google Ads et SEA"></div><div><h2 class="eyebrow">Pourquoi se faire accompagner sur Google Ads ?</h2><p class="title">Les stratégies SEA de 2023 ne sont plus celles qui fonctionnent en 2026</p><ul class="list"><li><span class="arrow">→</span><span>Les coûts par clic augmentent d’année en année. Reprendre une ancienne méthode sans la remettre en question finit souvent par coûter très cher.</span></li><li><span class="arrow">→</span><span>L’intelligence artificielle transforme les enchères, les campagnes et la manière dont Google utilise les données. Il faut comprendre ces évolutions au lieu de les subir.</span></li><li><span class="arrow">→</span><span>Deux comptes du même secteur peuvent réagir différemment selon la zone, la concurrence, le budget et la stratégie commerciale de l’entreprise.</span></li></ul><p class="conclusion">Pour obtenir des campagnes Google Ads performantes, il faut savoir s’adapter, rester exigeant et accepter de remettre la stratégie en question lorsque les chiffres le demandent.</p></div></div></section>
</template>
</div>
<div id="intro2-frame">
<template shadowrootmode="open">
<style>
@font-face{font-family:"Overused Grotesk Medium";src:url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");font-weight:400;font-display:swap}
*{box-sizing:border-box;-webkit-font-smoothing:antialiased}
:host{display:block;background:#f7f7f7;color:#2F2F2E;font-family:"Inter",sans-serif;font-synthesis:none}
h1,h2,h3{margin:0;font-family:"Overused Grotesk Medium",sans-serif;font-weight:500}
p{margin:0}.inner{max-width:1280px;margin:auto}.eyebrow{font-family:"Inter","Inter Placeholder",sans-serif;font-weight:400;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin:0 0 24px;border-radius:999px;background:rgba(0,0,0,.05);font-family:"Inter",sans-serif;font-size:12px;font-weight:500;line-height:12px;letter-spacing:1.2px;text-transform:uppercase}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.title{font-family:"Overused Grotesk Medium",sans-serif;font-weight:500;font-size:64px;line-height:1.04;letter-spacing:-.04em;text-wrap:balance;color:#2F2F2E}.copy{font-size:15px;line-height:22.5px;letter-spacing:-.3px;color:#2F2F2E}
@media(max-width:809px){.title{font-size:40px;line-height:1.06}}
.section{padding:100px clamp(28px,5.55vw,80px)}.head{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:end;margin-bottom:52px}.intro{font-size:14px;line-height:21px;color:#2F2F2E}.cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(47,47,46,.16);border-left:1px solid rgba(47,47,46,.16)}.card{min-height:205px;padding:22px;border-right:1px solid rgba(47,47,46,.16);border-bottom:1px solid rgba(47,47,46,.16);color:#2F2F2E;transition:background .2s}.card:hover{background:#fff}.icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid rgba(47,47,46,.16)}.icon svg{width:23px;height:23px}.card h3{margin-top:25px;font-size:22px;line-height:1.08;letter-spacing:-.025em;color:#2F2F2E}.card p{margin-top:12px;font-size:12.5px;line-height:1.45;color:#2F2F2E}@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:809px){.section{padding:72px 20px}.head{display:block;margin-bottom:48px}.intro{margin-top:24px}.card{min-height:190px;padding:18px}}</style>
<section class="section"><div class="inner"><header class="head"><div><h2 class="eyebrow">Les avantages de Google Ads</h2><p class="title">Utiliser Google pour reprendre le contrôle de ton acquisition.</p></div><p class="intro">Google Ads ne sert pas seulement à obtenir davantage de clics. Bien piloté, ce levier te permet de choisir les services, les clients et les zones que tu veux réellement développer.</p></header><div class="cards"><article class="card"><span class="icon"><svg viewbox="0 0 48 48" aria-hidden="true"><polygon fill="#ffc107" points="30.129,15.75 18.871,9.25 5.871,31.25 17.129,37.75"/><path fill="#1e88e5" d="M31.871 37.75c1.795 3.109 5.847 4.144 8.879 2.379 3.103-1.806 4.174-5.77 2.379-8.879l-13-22c-1.795-3.109-5.835-4.144-8.879-2.379-3.106 1.801-4.174 5.77-2.379 8.879l13 22z"/><circle cx="11.5" cy="34.5" r="6.5" fill="#43a047"/></svg></span><h3>Fin du bouche-à-oreille</h3><p>Construis une source régulière de demandes sans attendre que tes anciens clients parlent de toi.</p></article><article class="card"><span class="icon"><svg viewbox="0 0 48 48" aria-hidden="true"><polygon fill="#ffc107" points="30.129,15.75 18.871,9.25 5.871,31.25 17.129,37.75"/><path fill="#1e88e5" d="M31.871 37.75c1.795 3.109 5.847 4.144 8.879 2.379 3.103-1.806 4.174-5.77 2.379-8.879l-13-22c-1.795-3.109-5.835-4.144-8.879-2.379-3.106 1.801-4.174 5.77-2.379 8.879l13 22z"/><circle cx="11.5" cy="34.5" r="6.5" fill="#43a047"/></svg></span><h3>Être premier localement</h3><p>Place ton entreprise en haut des résultats lorsqu’un prospect recherche ton service dans ta zone.</p></article><article class="card"><span class="icon"><svg viewbox="0 0 48 48" aria-hidden="true"><polygon fill="#ffc107" points="30.129,15.75 18.871,9.25 5.871,31.25 17.129,37.75"/><path fill="#1e88e5" d="M31.871 37.75c1.795 3.109 5.847 4.144 8.879 2.379 3.103-1.806 4.174-5.77 2.379-8.879l-13-22c-1.795-3.109-5.835-4.144-8.879-2.379-3.106 1.801-4.174 5.77-2.379 8.879l13 22z"/><circle cx="11.5" cy="34.5" r="6.5" fill="#43a047"/></svg></span><h3>Dominer un nouveau secteur</h3><p>Lance rapidement ton acquisition dans une ville ou une zone que tu veux développer.</p></article><article class="card"><span class="icon"><svg viewbox="0 0 48 48" aria-hidden="true"><polygon fill="#ffc107" points="30.129,15.75 18.871,9.25 5.871,31.25 17.129,37.75"/><path fill="#1e88e5" d="M31.871 37.75c1.795 3.109 5.847 4.144 8.879 2.379 3.103-1.806 4.174-5.77 2.379-8.879l-13-22c-1.795-3.109-5.835-4.144-8.879-2.379-3.106 1.801-4.174 5.77-2.379 8.879l13 22z"/><circle cx="11.5" cy="34.5" r="6.5" fill="#43a047"/></svg></span><h3>Choisir ses clients</h3><p>Génère suffisamment de demandes pour ne plus être obligé d’accepter tous les projets qui se présentent.</p></article><article class="card"><span class="icon"><svg viewbox="0 0 48 48" aria-hidden="true"><polygon fill="#ffc107" points="30.129,15.75 18.871,9.25 5.871,31.25 17.129,37.75"/><path fill="#1e88e5" d="M31.871 37.75c1.795 3.109 5.847 4.144 8.879 2.379 3.103-1.806 4.174-5.77 2.379-8.879l-13-22c-1.795-3.109-5.835-4.144-8.879-2.379-3.106 1.801-4.174 5.77-2.379 8.879l13 22z"/><circle cx="11.5" cy="34.5" r="6.5" fill="#43a047"/></svg></span><h3>Cibler les meilleurs services</h3><p>Concentre ton budget sur les prestations qui offrent les meilleures marges à ton entreprise.</p></article><article class="card"><span class="icon"><svg viewbox="0 0 48 48" aria-hidden="true"><polygon fill="#ffc107" points="30.129,15.75 18.871,9.25 5.871,31.25 17.129,37.75"/><path fill="#1e88e5" d="M31.871 37.75c1.795 3.109 5.847 4.144 8.879 2.379 3.103-1.806 4.174-5.77 2.379-8.879l-13-22c-1.795-3.109-5.835-4.144-8.879-2.379-3.106 1.801-4.174 5.77-2.379 8.879l13 22z"/><circle cx="11.5" cy="34.5" r="6.5" fill="#43a047"/></svg></span><h3>Accélérer son activité</h3><p>Va chercher immédiatement des prospects au lieu d’attendre que ta visibilité naturelle se développe.</p></article><article class="card"><span class="icon"><svg viewbox="0 0 48 48" aria-hidden="true"><polygon fill="#ffc107" points="30.129,15.75 18.871,9.25 5.871,31.25 17.129,37.75"/><path fill="#1e88e5" d="M31.871 37.75c1.795 3.109 5.847 4.144 8.879 2.379 3.103-1.806 4.174-5.77 2.379-8.879l-13-22c-1.795-3.109-5.835-4.144-8.879-2.379-3.106 1.801-4.174 5.77-2.379 8.879l13 22z"/><circle cx="11.5" cy="34.5" r="6.5" fill="#43a047"/></svg></span><h3>Devancer ses concurrents</h3><p>Apparais devant les entreprises concurrentes au moment où le client est prêt à les contacter.</p></article><article class="card"><span class="icon"><svg viewbox="0 0 48 48" aria-hidden="true"><polygon fill="#ffc107" points="30.129,15.75 18.871,9.25 5.871,31.25 17.129,37.75"/><path fill="#1e88e5" d="M31.871 37.75c1.795 3.109 5.847 4.144 8.879 2.379 3.103-1.806 4.174-5.77 2.379-8.879l-13-22c-1.795-3.109-5.835-4.144-8.879-2.379-3.106 1.801-4.174 5.77-2.379 8.879l13 22z"/><circle cx="11.5" cy="34.5" r="6.5" fill="#43a047"/></svg></span><h3>Stabiliser son acquisition</h3><p>Construis un volume de demandes plus prévisible pour organiser sereinement la croissance de ton entreprise.</p></article></div></div></section>
</template>
</div>
<div id="avant-apres-frame">
<template shadowrootmode="open">
<style>
@font-face{font-family:"Overused Grotesk Medium";src:url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-medium.woff2") format("woff2");font-weight:500;font-display:swap}
* { box-sizing: border-box; }
html, body, :host { margin: 0; background: #111820; }
img { display: block; width: 100%; height: auto; }
h1, h2, h3 { font-family: "Overused Grotesk Medium", sans-serif; font-weight: 500; margin: 0; }
.dark { --background:#111820; --ink:#f7f7f7; --body:rgba(247,247,247,.72); --line:rgba(247,247,247,.14); background: var(--background); color: var(--ink); font-family: "Inter","Inter Placeholder",sans-serif; font-weight: 400; font-synthesis: none; padding: 120px 28px; }
.eyebrow { font-family: "Inter", "Inter Placeholder", sans-serif; font-weight: 400; display: inline-flex; align-items: center; gap: 9px; padding: 9px 14px; border-radius: 999px; background: rgba(247,247,247,.08); margin: 0 0 30px; font-size: 12px; line-height: 1.35; letter-spacing: .08em; text-transform: uppercase; color: rgba(247,247,247,.62); }
.eyebrow:before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.proof { padding: 8px; border-radius: 13px; background: rgba(247,247,247,.06); border: 1px solid rgba(247,247,247,.14); }
.proof img { border-radius: 6px; }
.proof-label { margin: 16px 0 0; font-size: 12px; line-height: 1.35; letter-spacing: .06em; text-transform: uppercase; color: rgba(247,247,247,.48); }
.result { font-size: 22px; line-height: 1.25; letter-spacing: -.02em; margin: 10px 0 12px; color: var(--ink); }
.desc { font-size: 15px; line-height: 22.5px; letter-spacing: -.3px; margin: 0; color: var(--body); }
.v4 .inner { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 80px; align-items: start; }
.v4 .text-col { position: sticky; top: 100px; }
.v4 h3.v4-title { font-size: 64px; line-height: 1.04; letter-spacing: -.04em; margin-bottom: 24px; }
.v4 .text-col .desc { margin-bottom: 16px; }
.v4 .text-col .desc:last-child { margin-bottom: 0; }
.v4 .block + .block { margin-top: 56px; padding-top: 56px; border-top: 1px solid var(--line); }
@media (max-width: 960px) {
.v4 .inner { grid-template-columns: 1fr; gap: 44px; }
.v4 .text-col { position: static; }
}
@media (max-width: 640px) {
.dark.v4 { padding: 72px 16px; }
.v4 h3.v4-title { font-size: 40px; line-height: 1.06; }
}
</style>
<section class="dark v4" id="avant-apres">
<div class="inner">
<div class="text-col">
<h2 class="eyebrow">Avant / Après, résultat client</h2>
<h3 class="v4-title">Comment passer de 67 à 317 appels en 45 jours</h3>
<p class="desc">Avant mon arrivée, la dirigeante travaillait déjà avec un prestataire. Le compte tournait, il y avait quelques appels, mais elle savait qu’il y avait beaucoup plus de volume à aller chercher.</p>
<p class="desc">Le problème n’était pas le budget : elle était prête à investir plus. Le problème, c’est que la personne en face ne suivait pas et ne proposait pas de vrai plan pour passer au niveau supérieur.</p>
</div>
<div class="cards-col">
<div class="block">
<div class="proof"><img src="../../sections-validees/_ressources/section-avant-apres/avant.webp" alt="Google Ads du 1er mai au 15 juin : 1,09 k clics, 68 conversions, 79,57 € par conversion, 5,41 k € de coût"></div>
<p class="proof-label">Avant la reprise du compte</p>
<p class="result">Du 1<sup>er</sup> mai au 15 juin : 5 500 € dépensés, <strong>67 appels, 80 €/appel</strong></p>
<p class="desc">L’ancien prestataire avait réussi à générer quelques demandes, mais l’entreprise savait qu’elle pouvait en obtenir bien plus.</p>
</div>
<div class="block">
<div class="proof"><img src="../../sections-validees/_ressources/section-avant-apres/apres.webp" alt="Google Ads du 15 juin au 1er août : 2,76 k clics, 317 conversions, 42,09 € par conversion, 13,3 k € de coût"></div>
<p class="proof-label">Après la reprise du compte</p>
<p class="result">Du 15 juin au 1<sup>er</sup> août : 12 000 € dépensés, <strong>317 appels, 42 €/appel</strong></p>
<p class="desc">Restructuré avec davantage de campagnes, plus de granularité et beaucoup plus de tests. Et ce n’est encore que le début !</p>
</div>
</div>
</div>
</section>
</template>
</div>
<div id="results-frame">
<template shadowrootmode="open">
<style>
@font-face{font-family:"Overused Grotesk Medium";src:url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");font-weight:500;font-display:swap}@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");font-weight:400;font-display:swap}
:root,:host{--bg:#f7f7f7;--ink:rgba(0,0,0,.86);--soft:rgba(0,0,0,.6);--muted:rgba(0,0,0,.45);--line:rgba(0,0,0,.1)}*{box-sizing:border-box}html,body,:host{margin:0;background:var(--bg);color:var(--ink);font-family:"Inter","Inter Placeholder",sans-serif;font-weight:400;font-synthesis:none}img{display:block;width:100%;height:auto}.results{padding:132px clamp(28px, 5.55vw, 80px) 28px}.inner{max-width:1440px;margin:auto}.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:90px;align-items:end;padding:0 18px 80px}.eyebrow{font-family:"Inter","Inter Placeholder",sans-serif;font-weight:400;display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border-radius:999px;background:rgba(0,0,0,.05);margin:0 0 36px;font-size:12px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}h1,h2,h3{font-family:"Overused Grotesk Medium",sans-serif;font-weight:500}.results-title{font-family:"Overused Grotesk Medium",sans-serif;font-weight:500;max-width:790px;margin:0;font-size:64px;line-height:1.04;letter-spacing:-.04em}.intro{max-width:520px;margin:0;font-family:"Inter","Inter Placeholder",sans-serif;font-size:15px;font-style:normal;font-weight:400;line-height:22.5px;letter-spacing:-.3px;color:var(--ink)}.cases{border-top:1px solid var(--line)}.case{display:grid;grid-template-columns:minmax(400px,.92fr) minmax(420px,1.25fr);gap:36px;align-items:center;padding:46px 16px;border-bottom:1px solid var(--line)}.index{display:block;margin-bottom:10px;font-size:12px;line-height:1.35;letter-spacing:.04em;color:var(--muted)}.copy{display:grid;gap:24px}.case h3{margin:0;font-size:38px;line-height:1.08;letter-spacing:-.03em;color:var(--ink)}.description{max-width:540px}.description p{margin:0;font-family:"Inter","Inter Placeholder",sans-serif;font-size:15px;font-style:normal;font-weight:400;line-height:22.5px;letter-spacing:-.3px;color:var(--soft)}.proof{width:100%;padding:8px;border-radius:13px;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 12px 35px rgba(0,0,0,.06)}.proof img{border-radius:6px}.note{max-width:760px;margin:22px 16px 0;font-size:11px;line-height:1.45;color:var(--muted)}
@media(max-width:1120px){.head{grid-template-columns:1fr 1fr;gap:52px}.case{grid-template-columns:1fr}}
@media(max-width:700px){.results{padding:78px 12px 12px}.head{display:block;padding:0 8px 52px}.eyebrow{font-family:"Inter","Inter Placeholder",sans-serif;font-weight:400;margin-bottom:24px}.results-title{font-size:40px;line-height:1.06}.intro{margin-top:27px}.case{display:block;padding:38px 8px}.index{display:block;margin-bottom:18px;padding:0}.copy{gap:24px}.case h3{font-size:29px}.proof{width:100%;margin-top:30px;padding:5px;border-radius:9px}.proof img{width:100%;height:auto;object-fit:contain}.note{margin:20px 8px 0}}
</style>
<section class="results"><div class="inner"><header class="head"><div><p class="eyebrow">Résultats clients</p><h2 class="results-title">Résultats clients Google Ads</h2></div><p class="intro">Des résultats obtenus dans de nombreux domaines, même quand la concurrence est forte. Si tu veux le numéro de chaque client pour vérifier les résultats, je te les donne avec grand plaisir. Rappel important : les résultats varient selon le marché, la zone géographique, le budget et la concurrence. Les performances passées ne garantissent pas un résultat futur.</p></header><div class="cases">
<article class="case"><div class="copy"><div class="heading-group"><span class="index">01</span><h3>2 000 appels générés</h3></div><div class="description"><p>En 15 mois, cette entreprise d’assainissement qui m’a confié ses campagnes Google Ads a obtenu plus de 2 100 demandes, avec un taux de conversion de 11,47 % et un coût moyen de 51,74 € par contact.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-assainissement.webp" alt="Résultat Google Ads assainissement : 2 110 conversions à 51,74 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">02</span><h3>235 appels générés</h3></div><div class="description"><p>En 6 mois, cette entreprise de plomberie qui m’a confié ses campagnes Google Ads a obtenu 235 appels, pour un coût moyen de 78,08 € par contact et 18 400 € investis.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-plombier2.webp" alt="Résultat Google Ads plomberie : 235 conversions à 78,08 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">03</span><h3>Près de 700 appels générés</h3></div><div class="description"><p>Dans un secteur ultra concurrentiel, cette entreprise de serrurerie qui m’a confié ses campagnes Google Ads a obtenu 699 appels, pour un coût moyen de 101 € par contact et 70 900 € investis.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-serrurier.webp" alt="Résultat Google Ads serrurerie : 699 conversions à 101 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">04</span><h3>489 appels générés</h3></div><div class="description"><p>En un peu plus de 4 mois, cette entreprise de plomberie et serrurerie qui m’a confié ses campagnes Google Ads a obtenu 489 demandes, pour un coût moyen de 61,58 € par contact et 30 100 € investis.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-plombier-serrurier.webp" alt="Résultat Google Ads plomberie et serrurerie : 489 conversions à 61,58 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">05</span><h3>250 demandes générées</h3></div><div class="description"><p>Avec 6 320 € investis, cette entreprise de couverture qui m’a confié ses campagnes Google Ads a obtenu 250 demandes, pour un coût moyen de seulement 25,30 € par contact.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-couvreur-975.webp" alt="Résultat Google Ads couvreur : 250 conversions à 25,30 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">06</span><h3>392 appels générés</h3></div><div class="description"><p>En moins de 2 mois, cette entreprise de désinfection qui m’a confié ses campagnes Google Ads a obtenu 392 appels, pour un coût moyen de 47,15 € par contact et 18 500 € investis.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-desinfection.webp" alt="Résultat Google Ads désinfection : 392 conversions à 47,15 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">07</span><h3>171 demandes générées</h3></div><div class="description"><p>En 4 mois, cette entreprise de recherche de fuite qui m’a confié ses campagnes Google Ads a obtenu 171 demandes, pour un coût moyen de 57,04 € par contact et 9 750 € investis.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-recherchedefuite.webp" alt="Résultat Google Ads recherche de fuite : 171 conversions à 57,04 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">08</span><h3>172 demandes générées</h3></div><div class="description"><p>Avec un budget maîtrisé de 4 180 €, cette entreprise de débarras qui m’a confié ses campagnes Google Ads a obtenu 172 demandes, pour un coût moyen de 24,29 € par contact.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-videmaison.webp" alt="Résultat Google Ads vide maison : 172 conversions à 24,29 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">09</span><h3>Près de 1 500 appels générés</h3></div><div class="description"><p>En 5 mois, cette entreprise de traitement des nuisibles qui m’a confié ses campagnes Google Ads a obtenu 1 470 demandes, pour un coût moyen de 59,46 € par contact et 87 400 € investis.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-nuisibles.webp" alt="Résultat Google Ads nuisibles : 1 470 conversions à 59,46 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">10</span><h3>198 demandes générées</h3></div><div class="description"><p>En moins de 2 mois, ce second compte de traitement des nuisibles que j’ai accompagné a obtenu 198 demandes, pour un coût moyen de 72,83 € par contact et 14 400 € investis.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-nuisibles2.webp" alt="Résultat Google Ads nuisibles : 198 conversions à 72,83 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">11</span><h3>Près de 3 900 appels générés</h3></div><div class="description"><p>Sur une année complète, cette entreprise de dératisation qui m’a confié ses campagnes Google Ads a obtenu 3 870 demandes, pour un coût moyen de 92,45 € par contact et 358 000 € investis.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-deratisation.webp" alt="Résultat Google Ads dératisation : 3 870 conversions à 92,45 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">12</span><h3>Plus de 3 500 demandes générées</h3></div><div class="description"><p>Sur plus de deux ans, cette entreprise de débouchage qui m’a confié ses campagnes Google Ads a obtenu 3 540 demandes, pour un coût moyen maîtrisé de 34,34 € par contact, dans un marché local très concurrentiel.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-debouchage.webp" alt="Résultat Google Ads débouchage : 3 540 conversions à 34,34 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">13</span><h3>Plus de 600 appels générés</h3></div><div class="description"><p>En 7 mois, cette entreprise de plomberie qui m’a confié ses campagnes Google Ads a obtenu 613 appels, pour un coût moyen de 57,89 € par contact et 35 500 € investis.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-plombier1.webp" alt="Résultat Google Ads plombier : 613 conversions à 57,89 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">14</span><h3>756 appels générés en un mois</h3></div><div class="description"><p>En un seul mois, cette entreprise de dépannage multiservices qui m’a confié ses campagnes Google Ads a obtenu 756 appels, avec un taux de conversion de 19,19 % et un coût moyen de 114 € par contact.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-depannage-multiservices.webp" alt="Résultat Google Ads dépannage multiservices : 756 conversions à 114 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">15</span><h3>329 demandes générées</h3></div><div class="description"><p>En 6 mois, cette entreprise de nettoyage qui m’a confié ses campagnes Google Ads a obtenu 329 demandes, pour un coût moyen de 69,52 € par contact et 22 900 € investis.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-grand-nettoyage.webp" alt="Résultat Google Ads grand nettoyage : 329 conversions à 69,52 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">16</span><h3>521 demandes à moins de 15 €</h3></div><div class="description"><p>Ce centre automobile qui m’a confié ses campagnes Google Ads a obtenu 521 demandes, avec un taux de conversion de 22,12 % et un coût moyen de seulement 14,92 € par contact.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-centre-automobile.webp" alt="Résultat Google Ads centre automobile : 521 conversions à 14,92 euros"></div></article>
<article class="case"><div class="copy"><div class="heading-group"><span class="index">17</span><h3>23 demandes en 3 semaines</h3></div><div class="description"><p>En seulement 3 semaines et avec 962 € investis, cet artisan peintre qui m’a confié ses campagnes Google Ads a obtenu 23 demandes, pour un coût moyen de 41,83 € par contact.</p></div></div><div class="proof"><img src="../../sections-validees/_ressources/section-03/resultat-peintre.webp" alt="Résultat Google Ads peintre : 23 conversions à 41,83 euros"></div></article>
</div></div></section>
</template>
</div>
<div id="about-frame">
<template shadowrootmode="open">
<style>
@font-face{font-family:"Overused Grotesk Medium";src:url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-medium.woff2") format("woff2");font-weight:500;font-display:swap}
* { box-sizing: border-box; }
html, body, :host { margin: 0; background: #f7f7f7; }
img { display: block; width: 100%; height: 100%; }
h1, h2, h3 { font-family: "Overused Grotesk Medium", sans-serif; font-weight: 500; margin: 0; }
.about { --background:#f7f7f7; --ink:rgba(0,0,0,.8); --body:rgba(0,0,0,.7); --line:rgba(0,0,0,.1); background: var(--background); color: var(--ink); font-family: "Inter","Inter Placeholder",sans-serif; font-weight: 400; font-synthesis: none; padding: 120px clamp(28px, 5.55vw, 80px) 0; }
.about .inner { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 50px; align-items: center; }
.about-photo { aspect-ratio: 1; border-radius: 4px; overflow: hidden; }
.about-photo img { object-fit: cover; object-position: center 20%; }
.eyebrow { font-family: "Inter", "Inter Placeholder", sans-serif; font-weight: 400; display: inline-flex; align-items: center; gap: 9px; padding: 9px 14px; border-radius: 999px; background: rgba(0,0,0,.05); margin: 0 0 24px; font-size: 12px; line-height: 1.35; letter-spacing: .08em; text-transform: uppercase; color: rgba(0,0,0,.55); }
.eyebrow:before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.about-title { margin-top: 0; font-family: "Overused Grotesk Medium", sans-serif; font-weight: 500; font-size: 64px; line-height: 1.04; letter-spacing: -.04em; margin-bottom: 24px; }
.value-label { font-size: 16px; font-weight: 500; color: rgba(0,0,0,.9); margin: 0 0 20px; }
.checklist { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 16px; max-width: 600px; }
.about-details .desc { font-size: 15px; line-height: 22.5px; letter-spacing: -.3px; color: var(--body); margin: 0 0 36px; max-width: 600px; }
.checklist li { display: flex; align-items: center; gap: 14px; font-size: 15px; line-height: 1.4; letter-spacing: -.1px; color: var(--body); }
.checklist .mark { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; background: rgba(0,0,0,.08); display: inline-flex; align-items: center; justify-content: center; }
.checklist .mark svg { width: 12px; height: 12px; }
.checklist .mark svg path { stroke: rgba(0,0,0,.5); }
.cta { display: inline-flex; align-items: center; gap: 8px; padding: 16px 28px; border-radius: 4px; border: 0; background: #111820; color: #f7f7f7; font-family: "Inter","Inter Placeholder",sans-serif; font-size: 15px; font-weight: 500; letter-spacing: -.2px; cursor: pointer; }
.cta svg { width: 14px; height: 14px; }
@media (max-width: 900px) {
.about .inner { grid-template-columns: 1fr; gap: 36px; }
.about-photo { max-width: 420px; }
}
@media (max-width: 700px) {
.about { padding: 72px 16px 0; }
.about-title { margin-top: 0; font-family: "Overused Grotesk Medium", sans-serif; font-weight: 500; font-size: 40px; line-height: 1.06; }
}
</style>
<section class="about" id="about">
<div class="inner">
<div class="about-photo">
<img src="../../sections-validees/_ressources/section-01/portrait-adam-hero.webp" alt="Adam Spilmann">
</div>
<div class="about-details">
<h2 class="eyebrow">Qui suis-je ?</h2>
<p class="about-title">Environ 13k prospects <strong>générés en 3 ans</strong></p>
<p class="value-label">Moi c’est Adam Spilmann, partenaire Google & Meta Ads des entreprises de services qui veulent plus de clients.</p>
<ul class="checklist">
<li><span class="mark"><svg viewbox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"><path d="M20 6L9 17l-5-5"/></svg></span>Formé sur les marchés publicitaires les plus concurrentiels</li>
<li><span class="mark"><svg viewbox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"><path d="M20 6L9 17l-5-5"/></svg></span>Plusieurs comptes passés de 0 à 10, 20, 50 appels/jour (72 mon record)</li>
<li><span class="mark"><svg viewbox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"><path d="M20 6L9 17l-5-5"/></svg></span>Pas là pour te vendre du rêve, mais pour te dire la réalité, même si elle ne te plaît pas (sorry)</li>
</ul>
<p class="desc">Mes comptes sont pensés pour absorber la croissance, pas seulement pour tourner. Jamais de la vie je ne te garantirai des résultats chiffrés. Par contre, je peux te garantir de déployer tout ce que je sais, sans compter mes heures, tant que ton compte ne performe pas.</p>
</div>
</div>
</section>
</template>
</div>
<div id="etapes-frame">
<template shadowrootmode="open">
<style>
@font-face{font-family:"Overused Grotesk Medium";src:url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-medium.woff2") format("woff2");font-weight:500;font-display:swap}
* { box-sizing: border-box; }
html, body, :host { margin: 0; background: #f7f7f7; }
h1, h2, h3 { font-family: "Overused Grotesk Medium", sans-serif; font-weight: 500; margin: 0; }
.etapes { --background:#f7f7f7; --ink:rgba(0,0,0,.8); --body:rgba(0,0,0,.7); --line:rgba(0,0,0,.12);
background: var(--background); color: var(--ink); font-family: "Inter","Inter Placeholder",sans-serif; font-weight: 400; font-synthesis: none; padding: 120px 28px 0; }
.etapes .inner { max-width: 1280px; margin: 0 auto; }
.eyebrow { font-family: "Inter", "Inter Placeholder", sans-serif; font-weight: 400; display: flex; align-items: center; justify-content: center; gap: 9px; width: fit-content; padding: 9px 14px; border-radius: 999px; background: rgba(0,0,0,.05); margin: 0 auto 30px; font-size: 12px; line-height: 1.35; letter-spacing: .08em; text-transform: uppercase; color: rgba(0,0,0,.55); }
.eyebrow:before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.etapes .steps-title { font-family: "Overused Grotesk Medium", sans-serif; font-weight: 500; text-align: center; max-width: 780px; margin: 0 auto 64px; font-size: 64px; line-height: 1.04; letter-spacing: -.04em; }
/* barre d'onglets horizontale */
.tabs { display: flex; justify-content: center; gap: 8px; border-bottom: 1px solid var(--line); margin-bottom: 56px; }
.tab { appearance: none; border: 0; background: none; cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 18px 24px; margin-bottom: -1px; border-bottom: 2px solid transparent; font-family: "Inter","Inter Placeholder",sans-serif; font-weight: 500; font-size: 15px; line-height: 1.35; letter-spacing: -.2px; color: rgba(0,0,0,.45); }
.tab[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--ink); }
.tab .num { font-size: 12px; letter-spacing: .04em; color: rgba(0,0,0,.35); }
.tab[aria-selected="true"] .num { color: var(--ink); }
.panel { display: none; }
.panel[data-active="true"] { display: block; }
.panel-content { max-width: 760px; margin: 0 auto; }
.panel-content h3 { font-size: 28px; line-height: 1.2; letter-spacing: -.02em; margin: 0 0 24px; }
.panel-content p { margin: 0 0 20px; font-size: 15px; line-height: 22.5px; letter-spacing: -.3px; color: var(--body); }
.panel-content p:last-child { margin-bottom: 0; }
.cta-row { text-align: center; margin-top: 64px; }
.cta { display: inline-flex; align-items: center; gap: 8px; padding: 16px 28px; border-radius: 999px; border: 1px solid var(--ink); background: none; cursor: pointer; color: var(--ink); font-family: "Inter","Inter Placeholder",sans-serif; font-size: 15px; font-weight: 500; letter-spacing: -.2px; text-decoration: none; }
@media (max-width: 700px) {
.etapes { padding: 72px 16px 0; }
.etapes .steps-title { font-size: 40px; line-height: 1.06; margin-bottom: 44px; }
.tabs { justify-content: flex-start; overflow-x: auto; gap: 4px; }
.tab { padding: 14px 16px; font-size: 14px; white-space: nowrap; }
.panel-content h3 { font-size: 23px; }
}
</style>
<section class="etapes" id="etapes">
<div class="inner">
<h2 class="eyebrow">Comment ça marche ?</h2>
<p class="steps-title">Les 4 étapes pour <strong>travailler avec moi</strong></p>
<div class="tabs" role="tablist">
<button class="tab" role="tab" aria-selected="true" data-tab="1"><span class="num">01</span><span>Point stratégique</span></button>
<button class="tab" role="tab" aria-selected="false" data-tab="2"><span class="num">02</span><span>Lancement des campagnes</span></button>
<button class="tab" role="tab" aria-selected="false" data-tab="3"><span class="num">03</span><span>Consolidation des campagnes</span></button>
<button class="tab" role="tab" aria-selected="false" data-tab="4"><span class="num">04</span><span>Scaling et testing agressif</span></button>
</div>
<div class="panel" data-panel="1" data-active="true">
<div class="panel-content">
<h3>Mettre des chiffres sur ton ambition <strong>avant de dépenser</strong></h3>
<p>On se retrouve en visioconférence ou en présentiel autour de tableaux que j'ai construits pour projeter concrètement ton objectif : combien de demandes sont nécessaires pour atteindre ton chiffre d'affaires, combien une demande peut réellement coûter sur ton marché, quels services mettre en avant et quel budget prévoir.</p>
<p>Mon rôle est aussi de remettre de la vérité dans la publicité. Si ton clic coûte déjà 20 €, tu n'auras pas durablement des demandes à 40 €. Le fait qu'un confrère obtienne ce coût dans une zone très peu concurrentielle, au fin fond du Morbihan, ne dit rien de ta réalité. On part donc des chiffres de ton marché, de tes marges et de tes capacités pour construire la stratégie la plus cohérente, sans te vendre du rêve.</p>
</div>
</div>
<div class="panel" data-panel="2">
<div class="panel-content">
<h3>Lancer une base solide, <strong>déjà testée</strong> sur des marchés difficiles</h3>
<p>À partir de ce que nous avons défini ensemble, je déploie une structure de campagnes basée sur des stratégies qui ont déjà fait leurs preuves sur certains des marchés les plus concurrentiels.</p>
<p>L'idée n'est pas de partir d'une expérimentation montée au hasard, mais d'une base solide, pensée pour aller chercher du volume rapidement tout en restant lisible et pilotable. Cette première structure est une valeur sûre, amenée à être améliorée dès que les premières données arrivent.</p>
</div>
</div>
<div class="panel" data-panel="3">
<div class="panel-content">
<h3>Transformer les campagnes performantes en <strong>socle de revenus</strong></h3>
<p>On identifie les campagnes qui trouvent le bon volume, se positionnent correctement face à la concurrence, convertissent et génèrent des demandes que tu arrives réellement à chiffrer et à signer.</p>
<p>On les consolide jusqu'à obtenir des campagnes stables, capables de tourner dans la durée et d'alimenter régulièrement l'entreprise. Elles deviennent une source constante de demandes et de revenus, sur laquelle on peut ensuite s'appuyer pour aller chercher plus loin.</p>
</div>
</div>
<div class="panel" data-panel="4">
<div class="panel-content">
<h3>Scaler et tester plus agressivement <strong>sans brûler la trésorerie</strong></h3>
<p>C'est tout l'intérêt de la consolidation. Une fois qu'un flux stable est installé, on peut augmenter les budgets, ouvrir de nouvelles campagnes et tester plus agressivement de nouveaux services, de nouvelles zones, de nouvelles offres ou de nouvelles stratégies.</p>
<p>L'objectif n'est pas de cramer toute la trésorerie d'un coup. On réinvestit directement une partie du chiffre généré par les campagnes déjà consolidées. Ce socle finance la croissance, limite le risque et permet d'aller chercher plus de volume sans repartir de zéro à chaque test.</p>
</div>
</div>
</div>
</section>
<script>
(() => {
const root = document.currentScript.getRootNode();
const tabs = root.querySelectorAll(".tab");
const panels = root.querySelectorAll(".panel");
tabs.forEach((tab) => {
tab.addEventListener("click", () => {
const id = tab.dataset.tab;
tabs.forEach((t) => t.setAttribute("aria-selected", t === tab ? "true" : "false"));
panels.forEach((p) => (p.dataset.active = p.dataset.panel === id ? "true" : "false"));
});
});
})();
</script>
</template>
</div>
<div id="pourqui-frame">
<template shadowrootmode="open">
<style>
@font-face{font-family:"Overused Grotesk Medium";src:url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-medium.woff2") format("woff2");font-weight:500;font-display:swap}
* { box-sizing: border-box; }
html, body, :host { margin: 0; background: #f7f7f7; }
h1, h2, h3, h4 { font-family: "Overused Grotesk Medium", sans-serif; font-weight: 500; margin: 0; }
.light-bg { --background:#f7f7f7; --ink:rgba(0,0,0,.8); --body:rgba(0,0,0,.7); --line:rgba(0,0,0,.1); background: var(--background); color: var(--ink); font-family: "Inter","Inter Placeholder",sans-serif; font-weight: 400; font-synthesis: none; padding: 120px 28px 0; }
.head { max-width: 900px; margin: 0 auto; text-align: center; padding-bottom: 84px; }
.eyebrow { font-family: "Inter", "Inter Placeholder", sans-serif; font-weight: 400; display: flex; align-items: center; justify-content: center; gap: 9px; width: fit-content; padding: 9px 14px; border-radius: 999px; background: rgba(0,0,0,.05); margin: 0 auto 30px; font-size: 12px; line-height: 1.35; letter-spacing: .08em; text-transform: uppercase; color: rgba(0,0,0,.55); }
.eyebrow:before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.compatibility-title { margin: 0; font-family: "Overused Grotesk Medium", sans-serif; font-weight: 500; font-size: 64px; line-height: 1.04; letter-spacing: -.04em; }
.head .intro { max-width: 640px; margin: 24px auto 0; font-size: 15px; line-height: 22.5px; letter-spacing: -.3px; color: var(--body); }
.inner { max-width: 1160px; margin: 0 auto; }
@media (max-width: 700px) {
.light-bg { padding: 72px 16px 0; }
.head { padding-bottom: 56px; text-align: left; }
.head .eyebrow { font-family: "Inter", "Inter Placeholder", sans-serif; font-weight: 400; justify-content: flex-start; margin-left: 0; margin-right: 0; }
.head .intro { margin-left: 0; margin-right: 0; }
.compatibility-title { margin: 0; font-family: "Overused Grotesk Medium", sans-serif; font-weight: 500; font-size: 40px; line-height: 1.06; }
}
.mirror { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.col-head { display: flex; align-items: center; gap: 16px; margin-bottom: 32px; }
.col-head .mark { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; color: #fff; flex-shrink: 0; }
.good .col-head .mark { background: #1f7a52; }
.bad .col-head .mark { background: #b3261e; }
.col-head h3 { font-size: clamp(24px,2.6vw,32px); line-height: 1.12; letter-spacing: -.03em; color: rgba(0,0,0,.9); }
.acc-list { border-top: 1px solid rgba(0,0,0,.14); }
.acc-item { border-bottom: 1px solid rgba(0,0,0,.14); }
.acc-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 4px; background: none; border: 0; cursor: pointer; text-align: left; font-family: "Inter","Inter Placeholder",sans-serif; }
.acc-trigger h4 { font-family: "Inter","Inter Placeholder",sans-serif; font-weight: 500; font-size: 16px; line-height: 1.4; letter-spacing: -.01em; color: rgba(0,0,0,.9); margin: 0; }
.bad .acc-trigger h4 { color: rgba(0,0,0,.75); }
.acc-plus { position: relative; width: 16px; height: 16px; flex-shrink: 0; }
.acc-plus:before, .acc-plus:after { content: ""; position: absolute; background: rgba(0,0,0,.45); border-radius: 1px; }
.acc-plus:before { top: 50%; left: 0; width: 16px; height: 1.5px; transform: translateY(-50%); }
.acc-plus:after { left: 50%; top: 0; width: 1.5px; height: 16px; transform: translateX(-50%); transition: transform .2s ease; }
.acc-item[data-open="true"] .acc-plus:after { transform: translateX(-50%) rotate(90deg); opacity: 0; }
.acc-panel { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
.acc-panel-inner { padding: 0 28px 26px 4px; }
.acc-panel-inner > p { margin: 0 0 20px; font-size: 15px; line-height: 1.5em; letter-spacing: -.02em; color: var(--body); }
.bad .acc-panel-inner > p { color: rgba(0,0,0,.6); }
.acc-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.acc-points li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; line-height: 1.4; letter-spacing: -.1px; color: rgba(0,0,0,.75); }
.acc-points .pt-mark { width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; color: #fff; flex-shrink: 0; margin-top: 2px; }
.good .acc-points .pt-mark { background: #1f7a52; }
.bad .acc-points .pt-mark { background: #b3261e; }
.bad .acc-points li { color: rgba(0,0,0,.6); }
@media (max-width: 900px) {
.mirror { grid-template-columns: 1fr; gap: 48px; }
}
</style>
<section class="light-bg" id="pour-qui">
<div class="head">
<h2 class="eyebrow">Pour qui est cette offre ?</h2>
<p class="compatibility-title">Nos profils sont-ils <strong>compatibles ?</strong></p>
<p class="intro">Ce que j’aime, ce sont les entreprises qui raisonnent en volume et en rentabilité. Ce que je fuis, ce sont celles qui préfèrent commenter les chiffres plutôt que générer davantage de demandes.</p>
</div>
<div class="inner">
<div class="mirror">
<div class="good">
<div class="col-head"><span class="mark">✓</span><h3>Le profil que j’accompagne</h3></div>
<div class="acc-list">
<div class="acc-item" data-open="true">
<button class="acc-trigger"><h4>Une vision à long terme</h4><span class="acc-plus"></span></button>
<div class="acc-panel"><div class="acc-panel-inner">
<p>Ils raisonnent sur 90 à 180 jours, pas sur une semaine isolée. Un mois plus calme ne les inquiète pas si la tendance de fond reste bonne.</p>
<ul class="acc-points">
<li><span class="pt-mark">✓</span>Analyse les résultats sur plusieurs mois, pas semaine par semaine</li>
<li><span class="pt-mark">✓</span>Accepte une phase de test avant de juger la rentabilité</li>
<li><span class="pt-mark">✓</span>Garde le cap même si un mois est plus calme</li>
</ul>
</div></div>
</div>
<div class="acc-item" data-open="false">
<button class="acc-trigger"><h4>Une compréhension de l’investissement en ads</h4><span class="acc-plus"></span></button>
<div class="acc-panel"><div class="acc-panel-inner">
<p>Le budget publicitaire est vu comme un investissement, pas comme une dépense. Ils regardent ce qu’il rapporte, pas seulement ce qu’il coûte.</p>
<ul class="acc-points">
<li><span class="pt-mark">✓</span>Raisonne en retour sur investissement, pas en coût affiché</li>
<li><span class="pt-mark">✓</span>Prêt à augmenter le budget si la rentabilité suit</li>
<li><span class="pt-mark">✓</span>Comprend qu’un compte a besoin de données pour s’optimiser</li>
</ul>
</div></div>
</div>
<div class="acc-item" data-open="false">
<button class="acc-trigger"><h4>Une culture du volume et de la rentabilité</h4><span class="acc-plus"></span></button>
<div class="acc-panel"><div class="acc-panel-inner">
<p>15 appels à 70 € valent mieux que 2 appels à 40 € si le chiffre et la marge suivent. Le volume ne leur fait pas peur.</p>
<ul class="acc-points">
<li><span class="pt-mark">✓</span>Veut maximiser le nombre de demandes, pas juste réduire le coût par lead</li>
<li><span class="pt-mark">✓</span>À l’aise avec un volume élevé tant que la marge suit</li>
<li><span class="pt-mark">✓</span>Sait absorber les nouvelles demandes côté terrain</li>
</ul>
</div></div>
</div>
<div class="acc-item" data-open="false">
<button class="acc-trigger"><h4>Ne croit plus aux méthodes miracles</h4><span class="acc-plus"></span></button>
<div class="acc-panel"><div class="acc-panel-inner">
<p>Méfie-toi des agences qui promettent 300 prospects dès le premier mois, sans engagement dans la durée et avec des conditions de paiement floues. Ce qu’il faut chercher, ce n’est pas une promesse impossible à tenir : c’est quelqu’un qui s’implique vraiment dans ton business.</p>
<ul class="acc-points">
<li><span class="pt-mark">✓</span>Aucune promesse de volume irréaliste dès le premier mois</li>
<li><span class="pt-mark">✓</span>Un engagement clair dans la durée, pas un coup d’un soir</li>
<li><span class="pt-mark">✓</span>Des conditions de paiement transparentes, écrites noir sur blanc</li>
</ul>
</div></div>
</div>
</div>
</div>
<div class="bad">
<div class="col-head"><span class="mark">✕</span><h3>Le profil que j’évite</h3></div>
<div class="acc-list">
<div class="acc-item" data-open="true">
<button class="acc-trigger"><h4>La forme avant le fond</h4><span class="acc-plus"></span></button>
<div class="acc-panel"><div class="acc-panel-inner">
<p>Plus attentifs aux reportings, aux réunions et aux micro-variations qu’au volume réel de demandes généré.</p>
<ul class="acc-points">
<li><span class="pt-mark">✕</span>Se concentre sur les rapports plutôt que sur les demandes générées</li>
<li><span class="pt-mark">✕</span>Commente chaque micro-variation du coût par clic</li>
<li><span class="pt-mark">✕</span>Préfère un beau reporting à un résultat concret</li>
</ul>
</div></div>
</div>
<div class="acc-item" data-open="false">
<button class="acc-trigger"><h4>L’exigence de promesses de résultats</h4><span class="acc-plus"></span></button>
<div class="acc-panel"><div class="acc-panel-inner">
<p>Veulent une garantie chiffrée avant même de commencer, alors que la publicité reste un système à ajuster, pas une formule magique.</p>
<ul class="acc-points">
<li><span class="pt-mark">✕</span>Demande une garantie de résultat avant même de démarrer</li>
<li><span class="pt-mark">✕</span>Compare à un concurrent sans connaître son propre marché</li>
<li><span class="pt-mark">✕</span>Veut un chiffre figé plutôt qu’une stratégie qui s’ajuste</li>
</ul>
</div></div>
</div>
<div class="acc-item" data-open="false">
<button class="acc-trigger"><h4>Le prix avant la rentabilité</h4><span class="acc-plus"></span></button>
<div class="acc-panel"><div class="acc-panel-inner">
<p>Cherchent le moins cher possible plutôt que le plus rentable. Un budget plus élevé mais plus rentable ne les intéresse pas.</p>
<ul class="acc-points">
<li><span class="pt-mark">✕</span>Cherche le prestataire le moins cher, pas le plus rentable</li>
<li><span class="pt-mark">✕</span>Hésite à investir même quand le retour est démontré</li>
<li><span class="pt-mark">✕</span>Compare des devis sans comparer les résultats obtenus</li>
</ul>
</div></div>
</div>
<div class="acc-item" data-open="false">
<button class="acc-trigger"><h4>Le blocage au moindre imprévu</h4><span class="acc-plus"></span></button>
<div class="acc-panel"><div class="acc-panel-inner">
<p>Bloquent sur un dépassement budgétaire même lorsque la croissance suit. La bureaucratie passe avant l’encaissement.</p>
<ul class="acc-points">
<li><span class="pt-mark">✕</span>Bloque le budget dès le moindre dépassement</li>
<li><span class="pt-mark">✕</span>Freine une campagne qui fonctionne par excès de prudence</li>
<li><span class="pt-mark">✕</span>Priorise la validation interne à la vitesse d’exécution</li>
</ul>
</div></div>
</div>
</div>
</div>
</div>
</div>
</section>
<script>
(() => {
const root = document.currentScript.getRootNode();
root.querySelectorAll(".acc-list").forEach((list) => {
const items = [...list.querySelectorAll(".acc-item")];
const applyState = () => {
items.forEach((item) => {
const panel = item.querySelector(".acc-panel");
panel.style.maxHeight = item.dataset.open === "true" ? `${panel.scrollHeight}px` : "0px";
});
};
items.forEach((item) => {
item.querySelector(".acc-trigger").addEventListener("click", () => {
const isOpen = item.dataset.open === "true";
items.forEach((i) => (i.dataset.open = "false"));
item.dataset.open = isOpen ? "false" : "true";
applyState();
});
});
applyState();
window.addEventListener("resize", applyState);
});
})();
</script>
</template>
</div>
<div id="faq-frame">
<template shadowrootmode="open">
<style>
@font-face {
font-family: "Overused Grotesk Medium";
src: url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");
font-display: swap;
font-style: normal;
font-weight: 500;
}
@font-face {
font-family: "Inter";
src: url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");
font-display: swap;
font-style: normal;
font-weight: 400;
}
@font-face {
font-family: "Inter";
src: url("../../sections-validees/_ressources/communs/inter-medium.woff2") format("woff2");
font-display: swap;
font-style: normal;
font-weight: 500;
}
:root,
:host {
--background: #f7f7f7;
--ink: rgba(0, 0, 0, 0.9);
--body: rgba(0, 0, 0, 0.7);
--line: rgba(0, 0, 0, 0.1);
--pill: rgba(0, 0, 0, 0.05);
}
* {
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
}
html,
body,
:host {
margin: 0;
min-height: 100%;
background: var(--background);
}
body,
:host {
color: var(--ink);
font-family: "Inter", "Inter Placeholder", sans-serif;
font-synthesis: none;
}
.faq {
min-height: 100vh;
padding: 86px 40px;
display: flex;
align-items: center;
background: var(--background);
}
.container {
width: min(1160px, 100%);
margin: 0 auto;
}
.header {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 24px;
margin-bottom: 68px;
}
.eyebrow { font-family: "Inter", "Inter Placeholder", sans-serif; font-weight: 400;
display: inline-flex;
align-items: center;
gap: 8px;
min-height: 28px;
padding: 8px 12px;
border-radius: 999px;
background: var(--pill);
color: var(--ink);
font-size: 12px;
font-weight: 500;
line-height: 12px;
letter-spacing: 1.2px;
text-transform: uppercase;
}
.eyebrow::before {
content: "";
width: 6px;
height: 6px;
flex: 0 0 6px;
border-radius: 999px;
background: var(--ink);
}
.faq-title {
max-width: 780px;
margin: 0;
font-family: "Overused Grotesk Medium", "Overused Grotesk Medium Placeholder", sans-serif;
font-size: 64px;
font-weight: 500;
line-height: 1.04;
letter-spacing: -0.04em;
text-wrap: balance;
}
.faq-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 80px;
}
.faq-column {
min-width: 0;
}
details {
border-bottom: 1px solid var(--line);
}
.faq-column details:first-child {
border-top: 1px solid var(--line);
}
summary {
min-height: 78px;
padding: 24px 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
list-style: none;
cursor: pointer;
color: var(--ink);
font-size: 16px;
font-weight: 500;
line-height: 1.4;
letter-spacing: -0.01em;
}
summary::-webkit-details-marker {
display: none;
}
.icon {
position: relative;
width: 18px;
height: 18px;
flex: 0 0 18px;
}
.icon::before,
.icon::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 14px;
height: 1px;
background: #161512;
transform: translate(-50%, -50%);
transition: transform 180ms ease, opacity 180ms ease;
}
.icon::after {
transform: translate(-50%, -50%) rotate(90deg);
}
details[open] .icon::after {
opacity: 0;
transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}
.answer {
max-width: 520px;
margin: 0;
padding: 0 42px 24px 0;
color: var(--body);
font-size: 15px;
font-weight: 400;
line-height: 22.5px;
letter-spacing: -0.3px;
}
@media (max-width: 809px) {
.faq {
min-height: auto;
padding: 64px 20px;
}
.header {
gap: 20px;
margin-bottom: 48px;
}
.faq-title {
font-size: 40px;
line-height: 1.06;
}
.faq-grid {
grid-template-columns: 1fr;
column-gap: 0;
}
.faq-column + .faq-column details:first-child {
border-top: 0;
}
summary {
min-height: 74px;
padding: 22px 0;
font-size: 15px;
}
.answer {
padding-right: 30px;
}
}
</style>
<section class="faq" id="faq" aria-labelledby="faq-title">
<div class="container">
<header class="header">
<h2 class="eyebrow" id="faq-title">Questions fréquentes sur Google Ads</h2>
<p class="faq-title">Les questions que l’on me pose <strong>le plus souvent</strong></p>
</header>
<div class="faq-grid">
<div class="faq-column">
<details open>
<summary>
<span>Peux-tu accompagner le lancement d’une nouvelle activité ?</span>
<span class="icon" aria-hidden="true"></span>
</summary>
<p class="answer">Oui, totalement. Je l’ai déjà fait plusieurs fois, avec des entreprises parties de zéro et devenues très rentables en quelques mois. Mais lancer une activité ne signifie pas forcément se lancer sans argent. Si tu viens de créer ta micro-entreprise avec 300 € à investir, je ne peux pas t’aider : on ne construit pas un système d’acquisition solide avec ses derniers euros. En revanche, si tu lances une entreprise, une activité ou une implantation avec une vraie enveloppe pour te développer, c’est exactement le genre de projet que j’aime accompagner.</p>
</details>
<details>
<summary>
<span>Pourquoi refuses-tu de garantir un nombre d’appels ?</span>
<span class="icon" aria-hidden="true"></span>
</summary>
<p class="answer">Parce que garantir un nombre d’appels, c’est du bullshit. Je pourrais te promettre 30 appels en 90 jours, mais je ne prendrais aucun risque. Deux campagnes identiques ne produisent jamais exactement les mêmes résultats : les enchères, la concurrence et les prospects changent d’une zone à l’autre. Mes clients ne signent pas pour une garantie artificielle. Ils signent parce que j’ai déjà atteint les niveaux qu’ils veulent viser. Ma garantie, c’est mon implication : je vais me tuer sur leur compte jusqu’à trouver ce qui fonctionne.</p>
</details>
<details>
<summary>
<span>Peut-on relancer un compte qui a déjà échoué ?</span>
<span class="icon" aria-hidden="true"></span>
</summary>
<p class="answer">Oui. Un compte qui a échoué n’est pas forcément un compte qui ne pouvait pas fonctionner. Nous auditons les campagnes, le tracking, la landing page, l’offre et le traitement des appels pour trouver le vrai point de blocage. Ensuite, il faut poser la question que beaucoup évitent : les moyens engagés étaient-ils cohérents avec les objectifs ? Tu ne peux pas vouloir générer 50 000 € de chiffre d’affaires supplémentaire avec 500 € de budget, puis conclure que Google Ads ne fonctionne pas.</p>
</details>
<details>
<summary>
<span>Mon marché est concurrentiel : peut-il quand même être rentable ?</span>
<span class="icon" aria-hidden="true"></span>
</summary>
<p class="answer">Quand j’entends qu’un marché est « trop concurrentiel », je demande : trop concurrentiel par rapport à quoi ? Tu es couvreur, tu peux gagner 20 000 ou 30 000 € sur une rénovation, mais investir 3 000 € pour trouver des clients te paraît déraisonnable ? Tu es plombier, tu factures une recherche de fuite près de 1 000 €, mais une demande à 80 € serait impossible à rentabiliser ? Si tes concurrents investissent pour rester visibles, c’est probablement qu’ils y trouvent leur compte. Le problème n’est pas toujours la concurrence. Parfois, c’est simplement la peur d’investir.</p>
</details>
</div>
<div class="faq-column">
<details>
<summary>
<span>Puis-je vérifier les résultats de tes anciens clients ?</span>
<span class="icon" aria-hidden="true"></span>
</summary>
<p class="answer">Oui, avec grand plaisir. Je peux te montrer la majorité des comptes Google Ads que je gère, avec leurs dépenses, les appels générés et le contexte des résultats. Avec leur accord, je peux également te transmettre les coordonnées de certains clients pour que tu leur poses directement tes questions. Je préfère te montrer de vrais comptes plutôt que te demander de croire une capture d’écran sortie de son contexte.</p>
</details>
<details>
<summary>
<span>Peux-tu m’aider à conquérir un nouveau secteur ?</span>
<span class="icon" aria-hidden="true"></span>
</summary>
<p class="answer">Oui, je l’ai déjà fait plusieurs fois. Si tu veux ouvrir une nouvelle ville, un département ou une zone, dis-le-moi dès le départ. Je construirai une stratégie spécifique avec des budgets, des services et des objectifs adaptés à chaque secteur. Je ne lance pas quelques annonces dans une nouvelle ville en espérant que ça prenne : je réfléchis au tunnel complet, de la visibilité jusqu’au traitement des appels et à la rentabilité de la zone.</p>
</details>
<details>
<summary>
<span>Quelqu’un a déjà géré mes publicités sans succès : que feras-tu différemment ?</span>
<span class="icon" aria-hidden="true"></span>
</summary>
<p class="answer">Beaucoup de personnes s’improvisent expertes après avoir lancé quelques campagnes. De mon côté, j’ai dépensé plusieurs millions d’euros et généré des dizaines de milliers d’appels pour mes clients. Je commencerai par auditer ton compte et t’expliquer précisément ce qui n’allait pas. Mais demande-toi aussi si ton ancien prestataire avait déjà atteint les résultats que tu lui demandais. Tu veux générer 30 000 € de bénéfices supplémentaires par mois ? Pourquoi confier cet objectif à quelqu’un qui ne l’a jamais fait ?</p>
</details>
<details>
<summary>
<span>Je n’ai que quelques centaines d’euros à investir : est-ce suffisant ?</span>
<span class="icon" aria-hidden="true"></span>
</summary>
<p class="answer">Dans la majorité des entreprises de services, non. Je préfère te le dire franchement plutôt que d’encaisser tes derniers euros pour faire semblant de travailler. Avec quelques centaines d’euros, tu n’auras généralement ni le volume ni les données nécessaires pour prendre de bonnes décisions. Pour la plupart des entreprises que j’accompagne, investir moins de 3 000 € par mois n’a pas beaucoup de sens. Si cet investissement met ton entreprise en danger, ne lance pas Google Ads maintenant : ce n’est pas un bouton magique pour sauver une société sans trésorerie.</p>
</details>
</div>
</div>
</div>
</section>
</template>
</div>
<div id="footer-frame">
<template shadowrootmode="open">
<style>
@font-face{font-family:"Overused Grotesk Medium";src:url("../../sections-validees/_ressources/communs/overused-grotesk-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url("../../sections-validees/_ressources/communs/inter-medium.woff2") format("woff2");font-weight:500;font-display:swap}
* { box-sizing: border-box; -webkit-font-smoothing: antialiased; }
html, body, :host { margin: 0; background: #161512; }
h1, h2, h3 { font-family: "Overused Grotesk Medium", sans-serif; font-weight: 500; margin: 0; }
.site-footer { background: #161512; color: #f7f7f7; font-family: "Inter","Inter Placeholder",sans-serif; font-weight: 400; font-synthesis: none; padding: 96px clamp(28px, 5.55vw, 80px) 32px; }
.site-footer .inner { max-width: 1160px; margin: 0 auto; }
.top { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-bottom: 56px; }
.brand .name { font-size: 32px; line-height: 1.1; letter-spacing: -.02em; color: #f7f7f7; margin-bottom: 14px; }
.brand .tagline { max-width: 440px; font-size: 15px; line-height: 22.5px; letter-spacing: -.3px; color: #f7f7f7; margin: 0; }
.button { flex-shrink: 0; min-height: 52px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid #f7f7f7; border-radius: 4px; background: #f7f7f7; color: rgba(0,0,0,.9); text-decoration: none; font-size: 14px; line-height: 1; white-space: nowrap; }
.arrow { font-size: 16px; line-height: 0; }
.columns { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 32px; padding: 56px 0; border-top: 1px solid rgba(255,255,255,.12); }
.col-label { font-size: 12px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; color: rgba(255,255,255,.5); margin: 0 0 20px; }
.col-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.col-list li a,
.col-list li span { color: #f7f7f7; text-decoration: none; font-size: 15px; line-height: 1.4; letter-spacing: -.1px; }
.col-list li a:hover { color: rgba(255,255,255,.7); }
.col-note { max-width: 260px; font-size: 15px; line-height: 22.5px; letter-spacing: -.3px; color: #f7f7f7; margin: 0; }
.bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.12); font-size: 13px; line-height: 1.4; letter-spacing: -.1px; color: rgba(255,255,255,.5); }
.bottom-links { display: flex; flex-wrap: wrap; gap: 20px; }
.bottom-links a { color: rgba(255,255,255,.5); text-decoration: none; }
.bottom-links a:hover { color: rgba(255,255,255,.8); }
@media (max-width: 900px) {
.columns { grid-template-columns: repeat(2, minmax(0,1fr)); row-gap: 40px; }
}
@media (max-width: 700px) {
.site-footer { padding: 64px 20px 24px; }
.top { flex-direction: column; align-items: flex-start; gap: 24px; padding-bottom: 40px; }
.brand .name { font-size: 26px; }
.columns { grid-template-columns: 1fr; gap: 32px; padding: 40px 0; }
.bottom { flex-direction: column; align-items: flex-start; gap: 14px; }
}
</style>
<footer class="site-footer">
<div class="inner">
<div class="top">
<div class="brand">
<p class="name">Adam Spilmann</p>
<p class="tagline">Acquisition Google Ads et Facebook Ads pour les entreprises de services qui veulent absorber la croissance, pas seulement tourner.</p>
</div>
<a class="button" href="mailto:adam@adamspilmann.fr" data-open-qualif>Réserver un échange <span class="arrow" aria-hidden="true">→</span></a>
</div>
<div class="columns">
<div>
<p class="col-label">Navigation</p>
<ul class="col-list">
<li><a href="#hero-frame" data-scroll-target="#hero-frame">Accueil</a></li>
<li><a href="#results-frame" data-scroll-target="#results-frame">Résultats clients</a></li>
<li><a href="#about-frame" data-scroll-target="#about-frame">Qui suis-je</a></li>
<li><a href="#faq-frame" data-scroll-target="#faq-frame">FAQ</a></li>
</ul>
</div>
<div>
<p class="col-label">Contact</p>
<ul class="col-list">
<li><a href="mailto:adam@adamspilmann.fr">adam@adamspilmann.fr</a></li>
<li><span>Réponse sous 24h ouvrées</span></li>
</ul>
</div>
<div>
<p class="col-label">Légal</p>
<ul class="col-list">
<li><a href="../../mentions-legales.html" target="_parent">Mentions légales</a></li>
<li><a href="../../politique-de-confidentialite.html" target="_parent">Politique de confidentialité</a></li>
</ul>
</div>
<div>
<p class="col-label">Services</p>
<ul class="col-list">
<li><a href="../../services/google-ads/" target="_parent">Google Ads</a></li>
<li><a href="../../services/facebook-ads/" target="_parent">Facebook Ads</a></li>
<li><a href="../../services/audit-google-ads/" target="_parent">Audit Google Ads</a></li>
<li><a href="../../services/audit-facebook-ads/" target="_parent">Audit Facebook Ads</a></li>
<li><a href="../../services/creation-page-de-vente/" target="_parent">Page de vente</a></li>
<li><a href="../../services/partenaire-publicitaire/" target="_parent">Partenaire publicitaire</a></li>
</ul>
</div>
</div>
<div class="bottom">
<p>© 2026 Adam Spilmann. Tous droits réservés.</p>
<div class="bottom-links">
<a href="../../mentions-legales.html" target="_parent">Mentions légales</a>
<a href="../../politique-de-confidentialite.html" target="_parent">Politique de confidentialité</a>
</div>
</div>
</div>
</footer>
<script>
(() => {
const root = document.currentScript.getRootNode();
root.querySelectorAll("[data-open-qualif]").forEach((control) => {
control.addEventListener("click", (event) => {
if (typeof window.openQualifPopup !== "function") return;
event.preventDefault();
window.openQualifPopup();
});
});
root.querySelectorAll("[data-scroll-target]").forEach((control) => {
control.addEventListener("click", (event) => {
event.preventDefault();
const target = document.querySelector(control.dataset.scrollTarget);
if (target) target.scrollIntoView({ behavior: "smooth", block: "start" });
});
});
})();
</script>
</template>
</div>
<div class="qualif-overlay" id="qualif-overlay" aria-hidden="true">
<div class="qualif-dialog" role="dialog" aria-modal="true" aria-labelledby="qualif-title">
<div class="qualif-header">
<div class="qualif-brand">
<strong>Adam Spilmann</strong>
<span>Qualification du projet</span>
</div>
<button type="button" class="qualif-close" id="qualif-close" aria-label="Fermer">×</button>
</div>
<div class="qualif-progress"><div class="qualif-progress-bar" id="qualif-progress-bar"></div></div>
<div class="qualif-panel" data-panel="step-1">
<p class="qualif-question" id="qualif-title">Point important : je ne suis pas un sauveur d’entreprise.</p>
<p class="qualif-subtitle">
<span>Google Ads peut être extrêmement rentable, mais il faut un minimum de budget pour lancer, tester et optimiser une stratégie correctement.</span>
<span>On voit de tout sur les réseaux sociaux, mais non : 500 € ne suffisent pas pour transformer un compte en machine à générer des clients. J’ai monté des comptes à 10, 20, parfois 50 appels par jour, et aucun n’a démarré avec quelques centaines d’euros.</span>
<span>Je ne te demande pas de rouler sur l’or. En revanche, si tu as de grandes ambitions pour ton entreprise, il faut être prêt à mettre les moyens en face pour les atteindre.</span>
<span>La publicité est un levier de développement, pas une méthode miracle.</span>
</p>
<div class="qualif-answers">
<button type="button" class="qualif-answer" data-next="step-2" data-label="Je suis prêt à mettre les moyens pour me développer"><span class="dot" aria-hidden="true"></span><span>Je suis prêt à mettre les moyens pour me développer</span></button>
<button type="button" class="qualif-answer" data-next="result-no" data-label="Je préfère continuer sans investir dans mon acquisition"><span class="dot" aria-hidden="true"></span><span>Je préfère continuer sans investir dans mon acquisition</span></button>
</div>
</div>
<div class="qualif-panel" data-panel="step-2">
<p class="qualif-question">Quand veux-tu commencer à recevoir plus de clients grâce à la publicité ?</p>
<div class="qualif-answers">
<button type="button" class="qualif-answer" data-next="step-3" data-label="Le plus rapidement possible"><span class="dot" aria-hidden="true"></span><span>Le plus rapidement possible</span></button>
<button type="button" class="qualif-answer" data-next="step-3" data-label="Dans les semaines à venir"><span class="dot" aria-hidden="true"></span><span>Dans les semaines à venir</span></button>
<button type="button" class="qualif-answer" data-next="result-no" data-label="Je compare actuellement différentes offres"><span class="dot" aria-hidden="true"></span><span>Je compare actuellement différentes offres</span></button>
</div>
</div>
<div class="qualif-panel" data-panel="step-3">
<p class="qualif-question">Mise en situation FICTIVE</p>
<p class="qualif-subtitle"><span>Une solution pourrait permettre de générer 50 000 € de chiffre d’affaires supplémentaire chaque mois. Sa mise en place représente un investissement initial de 5 000 €. Quelle serait ta première réaction ?</span></p>
<div class="qualif-answers">
<button type="button" class="qualif-answer" data-next="result-ok" data-label="L’investissement me semble cohérent si le plan est sérieux et le potentiel crédible."><span class="dot" aria-hidden="true"></span><span>L’investissement me semble cohérent si le plan est sérieux et le potentiel crédible.</span></button>
<button type="button" class="qualif-answer" data-next="result-no" data-label="5 000 €, c’est trop cher, même si cela me rapporte 50 000 €."><span class="dot" aria-hidden="true"></span><span>5 000 €, c’est trop cher, même si cela me rapporte 50 000 €.</span></button>
<button type="button" class="qualif-answer" data-next="result-ok" data-label="Si cela me rapporte 50 000 €, je suis prêt à investir 5 000 €."><span class="dot" aria-hidden="true"></span><span>Si cela me rapporte 50 000 €, je suis prêt à investir 5 000 €.</span></button>
<button type="button" class="qualif-answer" data-next="result-no" data-label="Je cherche actuellement une solution aux alentours de 500 €."><span class="dot" aria-hidden="true"></span><span>Je cherche actuellement une solution aux alentours de 500 €.</span></button>
</div>
<p class="qualif-disclaimer">Cette situation est un exemple entièrement fictif. Les montants présentés ne correspondent pas nécessairement au prix d’une prestation ou aux résultats pouvant être obtenus.</p>
</div>
<div class="qualif-panel qualif-result ok" data-panel="result-ok">
<div class="qualif-result-icon">✓</div>
<p class="qualif-result-label">Ton profil semble correspondre</p>
<p class="qualif-result-title">Super, d’après tes réponses, il y a de fortes chances que je puisse t’aider à te développer !</p>
<p class="qualif-result-copy">Je t’invite à m’envoyer directement un message WhatsApp en cliquant sur le bouton pour que nous puissions échanger ensemble.</p>
<a class="qualif-whatsapp" id="qualif-whatsapp-link" href="#" target="_blank" rel="noopener noreferrer">
<svg viewbox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M19.05 4.91A9.82 9.82 0 0 0 12.03 2C6.57 2 2.13 6.44 2.13 11.9c0 1.75.46 3.46 1.33 4.96L2 22l5.27-1.38a9.84 9.84 0 0 0 4.74 1.21h.01c5.46 0 9.9-4.44 9.9-9.9a9.8 9.8 0 0 0-2.87-7.02Zm-7.02 15.25h-.01a8.14 8.14 0 0 1-4.15-1.14l-.3-.18-3.13.82.84-3.05-.2-.31a8.18 8.18 0 0 1-1.25-4.39c0-4.5 3.66-8.16 8.17-8.16 2.18 0 4.22.85 5.76 2.39a8.09 8.09 0 0 1 2.38 5.77c0 4.5-3.66 8.16-8.16 8.16Zm4.48-6.11c-.25-.12-1.47-.72-1.7-.8-.23-.09-.4-.12-.57.12-.17.25-.65.8-.8.97-.15.17-.29.19-.54.06-.25-.12-1.04-.38-1.98-1.22-.73-.65-1.22-1.45-1.37-1.69-.14-.25-.02-.38.11-.5.11-.11.25-.29.37-.43.12-.15.17-.25.25-.42.08-.17.04-.31-.02-.43-.06-.12-.57-1.37-.78-1.88-.21-.5-.42-.43-.57-.43h-.49c-.17 0-.43.06-.66.31-.23.25-.87.85-.87 2.08s.89 2.41 1.01 2.58c.12.17 1.76 2.69 4.27 3.77.6.26 1.07.42 1.43.54.6.19 1.14.16 1.57.1.48-.07 1.47-.6 1.68-1.18.21-.59.21-1.09.15-1.19-.06-.11-.23-.17-.48-.29Z"/></svg>
<span>Clique ici pour lancer une conversation WhatsApp</span>
</a>
<p class="qualif-desktop-note">Tu es sur ordinateur ? Envoie-moi directement un message à ce numéro :</p>
<p class="qualif-desktop-number">+33 7 59 60 49 17</p>
</div>
<div class="qualif-panel qualif-result no" data-panel="result-no">
<div class="qualif-result-icon">×</div>
<p class="qualif-result-label">Ton profil semble moins correspondre</p>
<p class="qualif-result-title">Il semblerait, d’après tes réponses, que tu ne sois peut-être pas éligible à mon offre.</p>
<p class="qualif-result-copy">Cela ne signifie pas que ton projet n’est pas intéressant. Tu peux toujours m’envoyer directement un message sur Instagram pour m’expliquer ta situation.</p>
<a class="qualif-instagram" href="#" target="_blank" rel="noopener noreferrer">M’envoyer un message sur Instagram</a>
</div>
</div>
</div>
<script>
// Standard visuel global : libellés foncés et section Étapes sur fond #111820.
(() => {
["intro-frame","plan-frame","intro2-frame","results-frame","about-frame","etapes-frame","pourqui-frame","faq-frame"].forEach((id) => {
const root = document.querySelector(`#${id}`)?.shadowRoot;
if (!root) return;
const style = document.createElement("style");
style.textContent = `.eyebrow{min-height:28px!important;display:flex!important;width:fit-content!important;align-items:center!important;gap:8px!important;padding:8px 12px!important;border-radius:999px!important;font-family:"Inter","Inter Placeholder",sans-serif!important;font-size:12px!important;font-weight:500!important;line-height:12px!important;letter-spacing:1.2px!important;text-transform:uppercase!important;background:#111820!important;color:#fff!important}.eyebrow:before,.eyebrow::before{width:6px!important;height:6px!important;flex:0 0 6px!important;border-radius:50%!important;background:currentColor!important}`;
root.appendChild(style);
});
// Variante locale de comparaison : les nouvelles sections utilisent
// uniquement les neutres documentés dans le style guide.
["intro-frame","plan-frame","intro2-frame"].forEach((id) => {
const root = document.querySelector(`#${id}`)?.shadowRoot;
if (!root) return;
const style = document.createElement("style");
style.textContent = `:host{color:rgba(0,0,0,.9)!important}.title,.copy,.intro,.list li,.conclusion,.card,.card h3,.card p{color:rgba(0,0,0,.9)!important}.section{background:#f7f7f7!important}`;
root.appendChild(style);
});
const steps = document.querySelector("#etapes-frame")?.shadowRoot;
if (steps) {
const style = document.createElement("style");
style.textContent = `:host{background:#111820!important;color:#f7f7f7!important}.etapes{--background:#111820!important;--ink:#f7f7f7!important;--body:rgba(247,247,247,.7)!important;--line:rgba(247,247,247,.14)!important;background:#111820!important;color:#f7f7f7!important;padding-bottom:120px!important}.eyebrow{font-weight:500!important;background:rgba(247,247,247,.08)!important;color:rgba(247,247,247,.72)!important}.etapes .steps-title,.panel-content h3{color:#f7f7f7!important}.panel-content p{color:rgba(247,247,247,.7)!important}.tabs{border-bottom-color:rgba(247,247,247,.14)!important}.tab{color:rgba(247,247,247,.5)!important}.tab .num{color:rgba(247,247,247,.36)!important}.tab[aria-selected="true"]{color:#f7f7f7!important;border-bottom-color:#f7f7f7!important}.tab[aria-selected="true"] .num{color:rgba(247,247,247,.7)!important}.cta{border-color:#f7f7f7!important;color:#f7f7f7!important}@media(max-width:700px){.etapes{padding-bottom:72px!important}.tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;border-bottom:0!important;margin-bottom:44px!important}.tab{width:100%!important;min-height:74px!important;margin:0!important;padding:13px 12px!important;white-space:normal!important;text-align:left!important;justify-content:flex-start!important;align-items:flex-start!important;border:1px solid rgba(247,247,247,.18)!important;border-radius:4px!important;line-height:1.25!important}.tab[aria-selected="true"]{background:rgba(247,247,247,.1)!important;border-color:rgba(247,247,247,.55)!important;color:#f7f7f7!important}}`;
steps.appendChild(style);
}
const about = document.querySelector("#about-frame")?.shadowRoot;
if (about) {
const style = document.createElement("style");
style.textContent = `.about{padding-bottom:120px!important}@media(max-width:700px){.about{padding-bottom:72px!important}}`;
about.appendChild(style);
}
})();
// Les scripts placés dans un Shadow DOM déclaratif restent inertes après
// le parsing HTML. Les interactions sont donc initialisées depuis la page.
const heroRoot = document.querySelector("#hero-frame")?.shadowRoot;
if (heroRoot) {
const menuToggle = heroRoot.querySelector(".menu-toggle");
const mobileMenu = heroRoot.querySelector("#mobile-menu");
const closeMenu = () => {
menuToggle.setAttribute("aria-expanded", "false");
menuToggle.setAttribute("aria-label", "Ouvrir le menu");
mobileMenu.classList.remove("is-open");
};
menuToggle?.addEventListener("click", () => {
const willOpen = menuToggle.getAttribute("aria-expanded") !== "true";
menuToggle.setAttribute("aria-expanded", String(willOpen));
menuToggle.setAttribute("aria-label", willOpen ? "Fermer le menu" : "Ouvrir le menu");
mobileMenu.classList.toggle("is-open", willOpen);
});
heroRoot.querySelectorAll("[data-scroll-target]").forEach((control) => {
control.addEventListener("click", (event) => {
event.preventDefault();
document.querySelector(control.dataset.scrollTarget)?.scrollIntoView({ behavior: "smooth", block: "start" });
closeMenu();
});
});
heroRoot.querySelectorAll("[data-open-qualif]").forEach((control) => {
control.addEventListener("click", (event) => {
if (typeof window.openQualifPopup !== "function") return;
event.preventDefault();
window.openQualifPopup();
closeMenu();
});
});
}
const etapesRoot = document.querySelector("#etapes-frame")?.shadowRoot;
if (etapesRoot) {
const tabs = etapesRoot.querySelectorAll(".tab");
const panels = etapesRoot.querySelectorAll(".panel");
tabs.forEach((tab) => {
tab.addEventListener("click", () => {
const id = tab.dataset.tab;
tabs.forEach((item) => item.setAttribute("aria-selected", item === tab ? "true" : "false"));
panels.forEach((panel) => {
panel.dataset.active = panel.dataset.panel === id ? "true" : "false";
});
});
});
}
const pourQuiRoot = document.querySelector("#pourqui-frame")?.shadowRoot;
if (pourQuiRoot) {
pourQuiRoot.querySelectorAll(".acc-list").forEach((list) => {
const items = [...list.querySelectorAll(".acc-item")];
const applyState = () => {
items.forEach((item) => {
const panel = item.querySelector(".acc-panel");
panel.style.maxHeight = item.dataset.open === "true" ? `${panel.scrollHeight}px` : "0px";
});
};
items.forEach((item) => {
item.querySelector(".acc-trigger")?.addEventListener("click", () => {
const isOpen = item.dataset.open === "true";
items.forEach((other) => { other.dataset.open = "false"; });
item.dataset.open = isOpen ? "false" : "true";
applyState();
});
});
applyState();
window.addEventListener("resize", applyState);
});
}
const enableExclusiveDetails = (root) => {
if (!root) return;
const details = [...root.querySelectorAll("details")];
details.forEach((item) => {
item.addEventListener("toggle", () => {
if (!item.open) return;
details.forEach((other) => {
if (other !== item) other.open = false;
});
});
});
};
enableExclusiveDetails(document.querySelector("#plan-frame")?.shadowRoot);
enableExclusiveDetails(document.querySelector("#faq-frame")?.shadowRoot);
const footerRoot = document.querySelector("#footer-frame")?.shadowRoot;
if (footerRoot) {
footerRoot.querySelectorAll("[data-open-qualif]").forEach((control) => {
control.addEventListener("click", (event) => {
if (typeof window.openQualifPopup !== "function") return;
event.preventDefault();
window.openQualifPopup();
});
});
footerRoot.querySelectorAll("[data-scroll-target]").forEach((control) => {
control.addEventListener("click", (event) => {
event.preventDefault();
document.querySelector(control.dataset.scrollTarget)?.scrollIntoView({ behavior: "smooth", block: "start" });
});
});
}
// Popup de préqualification.
const qualifOverlay = document.querySelector("#qualif-overlay");
const qualifPanels = document.querySelectorAll(".qualif-panel");
const qualifProgressBar = document.querySelector("#qualif-progress-bar");
const qualifWhatsappLink = document.querySelector("#qualif-whatsapp-link");
const qualifCloseBtn = document.querySelector("#qualif-close");
const QUALIF_PROGRESS = { "step-1": "33%", "step-2": "66%", "step-3": "100%", "result-ok": "100%", "result-no": "100%" };
const QUALIF_LABELS = { "step-1": "Budget & ambition", "step-2": "Calendrier", "step-3": "Mise en situation" };
const QUALIF_WHATSAPP_NUMBER = "33759604917";
let qualifAnswers = {};
const qualifShowPanel = (id) => {
qualifPanels.forEach((panel) => {
panel.classList.toggle("is-active", panel.dataset.panel === id);
});
qualifProgressBar.style.width = QUALIF_PROGRESS[id] || "0%";
};
const qualifBuildWhatsappLink = () => {
const lines = Object.keys(QUALIF_LABELS)
.filter((id) => qualifAnswers[id])
.map((id) => `• ${QUALIF_LABELS[id]} : ${qualifAnswers[id]}`)
.join("\n");
const message = `Bonjour Adam, je viens de remplir ton questionnaire.\n\nVoici ma situation :\n${lines}\n\nJe souhaiterais échanger avec toi pour voir ce qu'il est possible de mettre en place.`;
return `https://wa.me/${QUALIF_WHATSAPP_NUMBER}?text=${encodeURIComponent(message)}`;
};
window.openQualifPopup = () => {
qualifAnswers = {};
qualifShowPanel("step-1");
qualifOverlay.classList.add("is-open");
qualifOverlay.setAttribute("aria-hidden", "false");
document.body.style.overflow = "hidden";
};
window.closeQualifPopup = () => {
qualifOverlay.classList.remove("is-open");
qualifOverlay.setAttribute("aria-hidden", "true");
document.body.style.overflow = "";
};
qualifCloseBtn.addEventListener("click", () => window.closeQualifPopup());
qualifOverlay.addEventListener("click", (event) => {
if (event.target === qualifOverlay) window.closeQualifPopup();
});
document.addEventListener("keydown", (event) => {
if (event.key === "Escape" && qualifOverlay.classList.contains("is-open")) window.closeQualifPopup();
});
document.querySelectorAll(".qualif-answer").forEach((button) => {
button.addEventListener("click", () => {
const panel = button.closest(".qualif-panel");
qualifAnswers[panel.dataset.panel] = button.dataset.label;
const next = button.dataset.next;
if (next === "result-ok") qualifWhatsappLink.href = qualifBuildWhatsappLink();
qualifShowPanel(next);
});
});
</script>
</body>
</html>