1<!DOCTYPE html> 2<html lang="fr"> 3<head> 4<meta charset="UTF-8" /> 5<meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6<title>Audit Google Ads, Identifiez vos leviers de croissance</title> 7<meta name="description" content="Audit complet de votre compte Google Ads : structure, tracking, mots-cles, encheres. Repartez avec un plan d action concret pour ameliorer vos performances." /> 8<link rel="canonical" href="https://sydney-boisseau.com/google-ads/audit/" /> 9<meta property="og:title" content="Audit Google Ads, Identifiez vos leviers de croissance" /> 10<meta property="og:description" content="Audit complet de votre compte Google Ads : structure, tracking, mots-cles, encheres. Repartez avec un plan d action concret pour ameliorer vos performances." /> 11<meta property="og:type" content="article" /> 12<meta property="og:locale" content="fr_FR" /> 13<meta property="og:url" content="https://sydney-boisseau.com/google-ads/audit/" /> 14<meta property="og:image" content="https://sydney-boisseau.com/assets/og-image.jpg" /> 15<meta name="twitter:card" content="summary_large_image" /> 16<meta name="twitter:title" content="Audit Google Ads, Identifiez vos leviers de croissance" /> 17<meta name="twitter:description" content="Audit complet de votre compte Google Ads : structure, tracking, mots-cles, encheres. Repartez avec un plan d action concret pour ameliorer vos performances." /> 18<meta name="twitter:image" content="https://sydney-boisseau.com/assets/og-image.jpg" /> 19<link rel="preconnect" href="https://fonts.googleapis.com" /> 20<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 21<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Instrument+Serif:ital@0;1&display=swap" rel="stylesheet" />
22<script type="application/ld+json"> 23{"@context": "https://schema.org", "@type": "Article", "headline": "Audit Google Ads : 35 points contrôlés, plan d'action en 72 h", "description": "Audit complet de votre compte Google Ads : structure, tracking, mots-cles, encheres. Repartez avec un plan d action concret pour ameliorer vos performances.", "author": {"@type": "Person", "name": "Sydney Boisseau", "jobTitle": "Expert media buying Google Ads, Meta Ads et SEO", "url": "https://sydney-boisseau.com/"}, "publisher": {"@type": "Organization", "name": "Sydney Boisseau", "logo": {"@type": "ImageObject", "url": "https://sydney-boisseau.com/assets/logo-mark-512.png"}}, "image": "https://sydney-boisseau.com/assets/og-image.jpg", "datePublished": "2026-02-01", "dateModified": "2026-05-07", "inLanguage": "fr-FR", "mainEntityOfPage": {"@type": "WebPage", "@id": "https://sydney-boisseau.com/google-ads/audit/"}} 24</script>
vendor: 1 bytes, line 24
24
25<script type="application/ld+json"> 26{"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Accueil", "item": "https://sydney-boisseau.com/"}, {"@type": "ListItem", "position": 2, "name": "Audit Google Ads", "item": "https://sydney-boisseau.com/google-ads/audit/"}]} 27</script>
vendor: 1 bytes, line 27
27
28<script type="application/ld+json"> 29{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Que couvre exactement l'audit en 35 points ?", "acceptedAnswer": {"@type": "Answer", "text": "Six dimensions : structure du compte (8 pts), ciblage et mots-clés (7 pts), annonces et créatifs (6 pts), tracking et conversions (7 pts), performance et budget (5 pts), stratégie globale (2 pts). Chaque point est documenté avec une capture d'écran et un niveau de criticité explicite."}}, {"@type": "Question", "name": "Quelle différence avec l'audit automatique proposé par Google ?", "acceptedAnswer": {"@type": "Answer", "text": "L'audit automatique de Google se concentre sur des métriques de surface (CTR, CPA) sans prendre en compte votre contexte business, la qualité de votre tracking ou la pertinence stratégique de vos campagnes. Un audit professionnel couvre 35 points, livre un rapport visuel et un plan d'action priorisé, pas de simples suggestions in-interface."}}, {"@type": "Question", "name": "Le tracking est-il inclus dans le périmètre de l'audit ?", "acceptedAnswer": {"@type": "Answer", "text": "Oui, 7 points sont dédiés au tracking : conversions configurées, doublons, modèle d'attribution, liaison GA4, liaison Search Console, Enhanced Conversions et Consent Mode RGPD. C'est souvent là que se cachent les anomalies les plus impactantes sur la qualité des données."}}, {"@type": "Question", "name": "Quels accès vous faut-il pour démarrer ?", "acceptedAnswer": {"@type": "Answer", "text": "Un accès en lecture au compte Google Ads, à GA4 et à GTM suffit. Vous restez propriétaire de vos comptes et de toutes les données. L'accès est accordé via votre Google Ads Manager Account, aucun partage de mot de passe n'est nécessaire."}}, {"@type": "Question", "name": "L'audit est-il vraiment livré en 72 h dans tous les cas ?", "acceptedAnswer": {"@type": "Answer", "text": "72 h ouvrées après réception des accès et du brief. Ce délai couvre l'analyse complète des 35 points, la rédaction du rapport visuel et la préparation de la visio de restitution."}}, {"@type": "Question", "name": "Que se passe-t-il après la restitution de l'audit ?", "acceptedAnswer": {"@type": "Answer", "text": "Vous recevez le rapport PDF, le plan d'action priorisé et nous tenons la visio de restitution. Ensuite, vous avez le choix : mettre en oeuvre les recommandations seul, déléguer la gestion via une mission d'accompagnement, ou former votre équipe avec une formation Google Ads."}}]} 30</script>
30 31<style> 32 /* ========================================================= 33 TOKENS (partagés avec la home, ne pas diverger) 34 ========================================================= */ 35 *, *::before, *::after { box-sizing: border-box; } 36 html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-top: 92px; } 37 body { 38 margin: 0; background: #FFFFFF; color: #0A0A0B; 39 font-family: 'Inter', system-ui, -apple-system, sans-serif; 40 font-size: 16px; line-height: 1.6; font-weight: 400; 41 -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; 42 } 43 img { max-width: 100%; display: block; } 44 button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; } 45 a { color: inherit; text-decoration: none; transition: color .2s ease; } 46 47 :root { 48 --bg: #FFFFFF; --bg-soft: #F7F5F1; --ink: #0A0A0B; --ink-2: #52525B; --ink-3: #71717A; 49 --surface: #FAFAF8; --border: #E4E4E7; --border-strong: #D4D4D8; --border-2: #3F3F46; 50 --inverse-bg: #0A0A0B; --inverse-bg-2: #161618; --inverse-fg: #FAFAF8; --inverse-fg-2: #A1A1AA; 51 --accent: #C2410C; --accent-soft: #FBE9DD; --accent-strong: #9A330A; 52 --serif: 'Instrument Serif', Georgia, serif; --sans: 'Inter', system-ui, sans-serif; 53 --max: 1180px; --gutter: clamp(20px, 4vw, 48px); 54 --radius: 16px; --radius-sm: 10px; 55 --shadow-sm: 0 1px 2px rgba(10,10,11,0.04), 0 1px 1px rgba(10,10,11,0.04); 56 --shadow-md: 0 4px 12px rgba(10,10,11,0.06), 0 2px 4px rgba(10,10,11,0.04); 57 } 58 59 /* ========================================================= 60 LAYOUT 61 ========================================================= */ 62 .wrap { max-width: var(--max); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); } 63 64 /* ========================================================= 65 TYPO HELPERS 66 ========================================================= */ 67 .eyebrow { display: inline-flex; align-items: center; gap: 8px; background: var(--accent-soft); 68 color: var(--accent-strong); font-size: 12.5px; font-weight: 600; padding: 5px 11px; border-radius: 999px; 69 letter-spacing: 0.01em; white-space: nowrap; } 70 .eyebrow .dot { width: 6px; height: 6px; background: var(--accent); border-radius: 999px; } 71 h1, h2, h3, h4 { font-family: var(--sans); font-weight: 700; letter-spacing: -0.025em; line-height: 1.1; margin: 0; color: var(--ink); } 72 h2 em, h1 em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -0.01em; } 73 .accent { color: var(--accent); } 74 75 /* ========================================================= 76 BUTTONS 77 ========================================================= */ 78 .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 13px 20px; 79 border-radius: 10px; font-size: 14.5px; font-weight: 600; line-height: 1; 80 transition: transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease; 81 border: 1px solid transparent; white-space: nowrap; cursor: pointer; } 82 .btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; } 83 .btn-primary { background: var(--accent); color: #fff; box-shadow: 0 1px 0 rgba(255,255,255,0.2) inset, 0 6px 14px rgba(194,65,12,0.22); } 84 .btn-primary:hover { background: var(--accent-strong); transform: translateY(-1px); } 85 .btn-ghost { background: #fff; color: var(--ink); border-color: var(--border-strong); } 86 .btn-ghost:hover { border-color: var(--ink); transform: translateY(-1px); } 87 .btn .arrow { width: 16px; height: 16px; } 88 89 /* ========================================================= 90 HEADER (module partagé) 91 ========================================================= */ 92 .site-header { position: sticky; top: 0; z-index: 50; height: 68px; 93 background: rgba(255,255,255,0.86); backdrop-filter: saturate(180%) blur(14px); 94 -webkit-backdrop-filter: saturate(180%) blur(14px); border-bottom: 1px solid var(--border); } 95 .site-header .inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; 96 height: 100%; max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); } 97 .brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 16px; letter-spacing: -0.01em; color: var(--ink); } 98 .brand-mark { width: 32px; height: 32px; border-radius: 8px; background: var(--ink); color: #fff; 99 display: grid; place-items: center; font-weight: 700; font-size: 14px; font-family: var(--sans); } 100 .site-nav { display: flex; gap: 28px; justify-content: center; } 101 .site-nav a { font-size: 14px; font-weight: 500; color: var(--ink-2); } 102 .site-nav a:hover { color: var(--ink); } 103 .site-nav a.current { color: var(--ink); font-weight: 600; } 104 .header-cta { justify-self: end; display: flex; gap: 10px; align-items: center; } 105 .header-cta .btn { padding: 10px 16px; font-size: 14px; } 106 .avail-chip { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-2); 107 border: 1px solid var(--border); border-radius: 999px; padding: 5px 12px 5px 10px; background: #fff; white-space: nowrap; } 108 .avail-chip .pulse { position: relative; width: 8px; height: 8px; } 109 .avail-chip .pulse::after { content: ''; position: absolute; inset: 0; border-radius: 999px; background: #16A34A; 110 box-shadow: 0 0 0 0 rgba(22,163,74,0.5); animation: pulse 2.4s infinite; } 111 @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(22,163,74,0.5); } 70% { box-shadow: 0 0 0 6px rgba(22,163,74,0); } 100% { box-shadow: 0 0 0 0 rgba(22,163,74,0); } } 112 .avail-chip strong { font-weight: 600; color: var(--ink); } 113 .brand-group { display: inline-flex; align-items: center; gap: 14px; } 114 @media (max-width: 1000px) { .avail-chip { display: none; } } 115 @media (max-width: 800px) { .site-nav { display: none; } .site-header .inner { grid-template-columns: 1fr auto; } } 116 117 /* ----- Menu mobile (hamburger + panneau) ----- */ 118 .hamburger { display: none; width: 42px; height: 42px; border-radius: 9px; border: 1px solid var(--border-strong); 119 background: #fff; align-items: center; justify-content: center; flex-shrink: 0; }
120 .hamburger svg { width: 20px; height: 20px; color: var(--ink); } 121 .hamburger .ic-close { display: none; } 122 .hamburger[aria-expanded="true"] .ic-open { display: none; } 123 .hamburger[aria-expanded="true"] .ic-close { display: block; } 124 @media (max-width: 800px) { .hamburger { display: inline-flex; } } 125 .mobile-menu { position: fixed; top: 68px; left: 0; right: 0; z-index: 49; background: #fff; 126 border-bottom: 1px solid var(--border); box-shadow: var(--shadow-md); padding: 12px var(--gutter) 20px; display: none; } 127 .mobile-menu.open { display: block; animation: mm-in .18s ease-out; } 128 @keyframes mm-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } } 129 .mobile-menu nav { display: grid; gap: 0; } 130 .mobile-menu .mm-link { font-size: 16px; font-weight: 600; color: var(--ink); padding: 15px 8px; border-bottom: 1px solid var(--border); } 131 .mobile-menu .mm-link.current { color: var(--accent); } 132 .mobile-menu .mm-cta { margin-top: 16px; } 133 .mobile-menu .mm-cta .btn { width: 100%; padding: 14px; font-size: 15px; } 134 .menu-backdrop { position: fixed; inset: 68px 0 0; z-index: 48; background: rgba(10,10,11,0.35); display: none; } 135 .menu-backdrop.open { display: block; } 136 137 /* ========================================================= 138 BREADCRUMB 139 ========================================================= */ 140 .breadcrumb { padding: 22px 0 0; } 141 .breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; font-size: 13px; color: var(--ink-3); } 142 .breadcrumb a { color: var(--ink-3); } 143 .breadcrumb a:hover { color: var(--accent); } 144 .breadcrumb li[aria-current] { color: var(--ink-2); font-weight: 500; } 145 .breadcrumb .sep { color: var(--border-strong); } 146 147 /* ========================================================= 148 MASTHEAD ÃDITORIAL (entête d'article, sobre, aligné gauche) 149 ========================================================= */ 150 .masthead { padding: 30px 0 0; } 151 .masthead .eyebrow { margin-bottom: 18px; } 152 .masthead h1 { font-size: clamp(33px, 4.4vw, 52px); line-height: 1.06; letter-spacing: -0.032em; max-width: 20ch; margin: 0 0 20px; text-wrap: balance; } 153 .masthead .standfirst { font-size: clamp(17px, 1.55vw, 20px); line-height: 1.55; color: var(--ink-2); max-width: 62ch; margin: 0 0 26px; text-wrap: pretty; } 154 .masthead .standfirst strong { color: var(--ink); font-weight: 600; } 155 .masthead .standfirst a { color: var(--accent); font-weight: 500; text-decoration: underline; text-underline-offset: 2px; } 156 .article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; font-size: 13px; color: var(--ink-3); padding-bottom: 28px; border-bottom: 1px solid var(--border); } 157 .article-meta .am { display: inline-flex; align-items: center; gap: 7px; } 158 .article-meta svg { width: 14px; height: 14px; color: var(--ink-3); } 159 .article-meta .dot-sep { width: 3px; height: 3px; border-radius: 999px; background: var(--border-strong); } 160 .article-meta .author { font-weight: 600; color: var(--ink-2); } 161 162 /* ========================================================= 163 GRILLE ARTICLE (corps + sommaire collant) 164 ========================================================= */ 165 .article { padding: 44px 0 88px; } 166 .article-grid { display: grid; grid-template-columns: minmax(0, 1fr) 284px; gap: 72px; align-items: start; } 167 .article-body { min-width: 0; } 168 .article-body > section { margin: 0 0 60px; scroll-margin-top: 92px; } 169 .article-body > section:last-child { margin-bottom: 0; } 170 171 /* ----- en-tête de bloc ----- */ 172 .block-head { margin: 0 0 22px; } 173 .block-head .kicker { display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin-bottom: 12px; } 174 .block-head h2 { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: clamp(28px, 3.3vw, 40px); letter-spacing: -0.02em; line-height: 1.08; } 175 .block-head .intro { color: var(--ink-2); font-size: 16px; line-height: 1.6; margin: 12px 0 0; max-width: 60ch; } 176 177 /* ----- prose ----- */ 178 .prose p { color: var(--ink-2); font-size: 16.5px; line-height: 1.75; margin: 0 0 20px; max-width: 68ch; text-wrap: pretty; } 179 .prose p:last-child { margin-bottom: 0; } 180 .prose a { color: var(--accent); font-weight: 500; text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; } 181 .prose a:hover { color: var(--accent-strong); } 182 .prose p.lead::first-letter { font-family: var(--serif); font-style: italic; font-size: 3.3em; line-height: .82; float: left; margin: 5px 12px 0 0; color: var(--accent); } 183 .prose h3 { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; margin: 34px 0 10px; } 184 185 /* ----- secteurs (tags calmes) ----- */ 186 .sector-block { margin: 26px 0 0; padding: 20px 22px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); } 187 .sector-block .lbl { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 12px; } 188 .sector-tags { display: flex; flex-wrap: wrap; gap: 8px; } 189 .sector-tags .tag { font-size: 13px; color: var(--ink-2); background: #fff; border: 1px solid var(--border); border-radius: 7px; padding: 5px 11px; } 190 191 /* ----- rôle : liste de définitions à icônes (aplati) ----- */ 192 .role-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 36px; } 193 .role-item { display: flex; gap: 14px; padding: 22px 0; border-top: 1px solid var(--border); } 194 .role-item .ic { width: 38px; height: 38px; border-radius: 9px; background: var(--accent-soft); color: var(--accent); display: grid; place-items: center; flex-shrink: 0; }
195 .role-item .ic svg { width: 19px; height: 19px; } 196 .role-item h3 { font-size: 16px; font-weight: 600; margin: 0 0 4px; letter-spacing: -0.01em; } 197 .role-item h3 a { color: var(--ink); } .role-item h3 a:hover { color: var(--accent); } 198 .role-item p { font-size: 14.5px; color: var(--ink-2); line-height: 1.55; margin: 0; } 199 .role-item p a { color: var(--accent); font-weight: 500; } 200 201 /* ----- tableau comparatif ----- */ 202 .ctable-wrap { border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; } 203 table.ctable { width: 100%; border-collapse: collapse; font-size: 14.5px; } 204 table.ctable th, table.ctable td { text-align: left; padding: 15px 18px; vertical-align: top; line-height: 1.45; } 205 table.ctable thead th { font-size: 12.5px; font-weight: 700; letter-spacing: 0.02em; background: var(--ink); color: var(--inverse-fg); } 206 table.ctable thead th:first-child { color: var(--inverse-fg-2); font-weight: 600; } 207 table.ctable thead th.me { position: relative; } 208 table.ctable thead th.me::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--accent); } 209 table.ctable tbody th { font-weight: 600; color: var(--ink); width: 30%; } 210 table.ctable tbody td { color: var(--ink-2); } 211 table.ctable tbody td.me { color: var(--ink); font-weight: 500; background: rgba(194,65,12,0.04); } 212 table.ctable tbody tr:nth-child(even) td:not(.me), table.ctable tbody tr:nth-child(even) th { background: var(--surface); } 213 table.ctable tbody tr + tr { border-top: 1px solid var(--border); } 214 @media (max-width: 600px) { 215 table.ctable thead { display: none; } 216 table.ctable tbody th, table.ctable tbody td { display: block; width: auto; padding: 5px 16px; } 217 table.ctable tbody th { padding-top: 16px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); } 218 table.ctable tbody td::before { content: attr(data-label) " · "; font-weight: 600; color: var(--ink); } 219 table.ctable tbody td.me { background: transparent; } table.ctable tbody td:last-child { padding-bottom: 14px; } 220 } 221 222 /* ----- checklist (quand faire appel) ----- */ 223 .checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 36px; } 224 .check-item { display: flex; gap: 13px; } 225 .check-item .tick { width: 24px; height: 24px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); display: grid; place-items: center; flex-shrink: 0;
225 margin-top: 1px; } 226 .check-item .tick svg { width: 13px; height: 13px; } 227 .check-item h3 { font-size: 15.5px; font-weight: 600; margin: 0 0 4px; line-height: 1.35; } 228 .check-item p { font-size: 14px; color: var(--ink-2); line-height: 1.55; margin: 0; } 229 230 /* ----- étapes (méthode, liste numérotée verticale) ----- */ 231 .steps { display: grid; gap: 0; } 232 .step { display: flex; gap: 18px; padding: 20px 0; border-top: 1px solid var(--border); } 233 .step:last-child { border-bottom: 1px solid var(--border); } 234 .step .n { width: 34px; height: 34px; border-radius: 999px; border: 1px solid var(--border-strong); color: var(--ink); font-weight: 700; font-size: 14px; display: grid; place-items: center; flex-shrink: 0; font-family: var(--sans); } 235 .step .n.is-accent { background: var(--accent); border-color: var(--accent); color: #fff; } 236 .step h3 { font-size: 16px; font-weight: 600; margin: 0 0 4px; } 237 .step p { font-size: 14.5px; color: var(--ink-2); line-height: 1.55; margin: 0; } 238 239 /* ----- callout (encart inline) ----- */ 240 .callout { border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 0 12px 12px 0; background: var(--surface); padding: 22px 24px; margin: 28px 0 0; } 241 .callout p { margin: 0; font-size: 15px; color: var(--ink-2); line-height: 1.6; } 242 .callout .btn { margin-top: 16px; } 243 244 /* ----- FAQ accordéon ----- */ 245 .faq-cat { font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-3); margin: 28px 0 14px; } 246 .faq-cat:first-of-type { margin-top: 0; } 247 .faq-list { display: grid; gap: 10px; } 248 .faq-item { background: #fff; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; transition: border-color .2s ease; } 249 .faq-item[open] { border-color: var(--border-strong); } 250 .faq-q { width: 100%; text-align: left; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 15.5px; font-weight: 600; color: var(--ink); line-height: 1.4; cursor: pointer; } 251 .faq-chevron { flex-shrink: 0; color: var(--accent); transition: transform .3s ease; width: 17px; height: 17px; } 252 .faq-item[open] .faq-chevron { transform: rotate(180deg); } 253 .faq-a { padding: 0 20px 20px; color: var(--ink-2); font-size: 14.5px; line-height: 1.65; } 254 .faq-a a { color: var(--accent); font-weight: 500; } 255 details > summary { list-style: none; cursor: pointer; } 256 details > summary::-webkit-details-marker { display: none; } 257 details > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; } 258 259 /* ----- maillage interne ----- */ 260 .related-list { display: grid; gap: 10px; } 261 .related-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid var(--border); 262 border-radius: 11px; padding: 16px 20px; background: var(--surface); transition: border-color .2s ease, transform .2s ease, background .2s ease; } 263 .related-link:hover { border-color: var(--accent); transform: translateX(2px); background: #fff; } 264 .related-link span { font-size: 15px; font-weight: 600; color: var(--ink); } 265 .related-link .arrow { width: 17px; height: 17px; color: var(--accent); flex-shrink: 0; } 266 267 /* ========================================================= 268 SIDEBAR, sommaire collant + carte CTA 269 ========================================================= */ 270 .article-aside { position: sticky; top: 92px; display: grid; gap: 18px; } 271 .toc { border: 1px solid var(--border); border-radius: 14px; padding: 20px 18px; background: #fff; } 272 .toc .toc-title { font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--ink-3); font-weight: 600; margin: 0 0 12px; padding: 0 8px; } 273 .toc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; } 274 .toc a { display: block; font-size: 13.5px; color: var(--ink-2); padding: 7px 10px; border-radius: 8px; border-left: 2px solid transparent; line-height: 1.35; transition: color .15s, background .15s, border-color .15s; } 275 .toc a:hover { color: var(--ink); background: var(--surface); } 276 .toc a.active { color: var(--accent); border-left-color: var(--accent); font-weight: 600; background: var(--accent-soft); } 277 .aside-cta { border: 1px solid var(--border); border-radius: 14px; padding: 22px; background: var(--bg-soft); } 278 .aside-cta .ac-eyebrow { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--accent); margin-bottom: 10px; } 279 .aside-cta .ac-eyebrow .pulse { position: relative; width: 7px; height: 7px; } 280 .aside-cta .ac-eyebrow .pulse::after { content: ''; position: absolute; inset: 0; border-radius: 999px; background: #16A34A; } 281 .aside-cta h4 { font-family: var(--sans); font-size: 16px; font-weight: 700; letter-spacing: -0.01em; color: var(--ink); margin: 0 0 8px; } 282 .aside-cta p { font-size: 13.5px; color: var(--ink-2); line-height: 1.5; margin: 0 0 16px; } 283 .aside-cta .btn { width: 100%; } 284 285 @media (max-width: 960px) { 286 .article-grid { grid-template-columns: 1fr; gap: 0; } 287 .article-aside { position: static; grid-template-columns: 1fr; margin-top: 40px; } 288 .toc { display: none; } 289 } 290 291 /* ========================================================= 292 CONTACT (variante claire, calme) 293 ========================================================= */ 294 .contact-block { padding: 84px 0; background: var(--bg-soft); border-top: 1px solid var(--border); } 295 .contact-head { text-align: center; max-width: 580px; margin: 0 auto 40px; } 296 .contact-head h2 { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: clamp(30px, 3.4vw, 42px); letter-spacing: -0.02em; margin: 14px 0 12px; } 297 .contact-head p { color: var(--ink-2); font-size: 16px; line-height: 1.6; margin: 0; } 298 .contact-card { max-width: 760px; margin: 0 auto; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 40px; box-shadow: var(--shadow-sm); } 299 form.contact { display: grid; gap: 22px; } 300 .field { display: grid; gap: 7px; } 301 .field label { font-size: 13px; font-weight: 500; color: var(--ink-2); } 302 .field input, .field textarea { background: #fff; border: 1px solid var(--border-strong); color: var(--ink); 303 font-family: var(--sans); font-size: 15px; padding: 11px 13px; border-radius: 8px; outline: none; transition: border-color .2s ease, box-shadow .2s ease; } 304 .field input:focus, .field textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(194,65,12,0.14); } 305 .field textarea { resize: vertical; min-height: 96px; } 306 .field input::placeholder, .field textarea::placeholder { color: var(--ink-3); } 307 .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } 308 .radio-group { display: flex; flex-wrap: wrap; gap: 8px; } 309 .radio-pill { position: relative; } 310 .radio-pill input { position: absolute; opacity: 0; pointer-events: none; } 311 .radio-pill label { display: inline-flex; align-items: center; border: 1px solid var(--border-strong); background: #fff; 312 color: var(--ink-2); font-size: 13.5px; padding: 9px 13px; border-radius: 8px; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease; }
313 .radio-pill input:checked + label { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-strong); font-weight: 600; } 314 .radio-pill input:focus-visible + label { outline: 2px solid var(--accent); outline-offset: 2px; } 315 form.contact .submit-row { display: flex; flex-direction: column; gap: 14px; align-items: stretch; } 316 form.contact .btn-primary { height: 48px; font-size: 15px; } 317 .rgpd { font-size: 12px; color: var(--ink-3); text-align: center; line-height: 1.5; margin: 0; } 318 .rgpd a { color: var(--ink-2); text-decoration: underline; text-underline-offset: 2px; } 319 @media (max-width: 600px) { .field-row { grid-template-columns: 1fr; } .contact-card { padding: 26px; } } 320 321 /* ========================================================= 322 FOOTER (module partagé) 323 ========================================================= */ 324 footer.site-footer { background: var(--inverse-bg); color: var(--inverse-fg); padding: 72px 0 40px; } 325 footer .foot-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 56px; } 326 footer h4 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--inverse-fg-2); margin: 0 0 18px; font-weight: 600; } 327 footer .col-1 .brand { color: var(--inverse-fg); } 328 footer .col-1 .brand-mark { background: var(--accent); } 329 footer .tagline { font-size: 14px; color: var(--inverse-fg-2); margin: 16px 0 18px; max-width: 320px; line-height: 1.55; } 330 footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; } 331 footer a { color: var(--inverse-fg); font-size: 14px; } 332 footer a:hover { color: var(--accent); } 333 .foot-email { color: var(--inverse-fg); display: inline-block; font-weight: 500; } 334 .foot-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 28px; border-top: 1px solid #27272A; gap: 24px; flex-wrap: wrap; } 335 .foot-bottom .copy { font-size: 13px; color: var(--inverse-fg-2); } 336 .foot-social { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; } 337 .foot-social a { display: inline-flex; padding: 4px; } 338 .foot-social svg { width: 20px; height: 20px; fill: currentColor; display: block; } 339 @media (max-width: 900px) { footer .foot-grid { grid-template-columns: 1fr 1fr; } } 340 @media (max-width: 600px) { footer .foot-grid { grid-template-columns: 1fr; } } 341 342 /* RESPONSIVE, colonnes contenu */ 343 @media (max-width: 560px) { 344 .role-list { grid-template-columns: 1fr; } 345 .checklist { grid-template-columns: 1fr; } 346 } 347 348 /* FADE-UP + FOCUS */ 349 .fade-up { opacity: 0; transform: translateY(14px); transition: opacity .55s ease-out, transform .55s ease-out; } 350 .fade-up.in { opacity: 1; transform: translateY(0); } 351 a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 4px; } 352 353 /* --- Le nom de marque ne doit jamais passer a la ligne (fix 11/08/2026) --- */ 354 .brand span { white-space: nowrap; } 355 @media (max-width: 520px) { 356 .brand { font-size: 14.5px; gap: 8px; } 357 .brand-mark { width: 28px; height: 28px; } 358 .header-cta { gap: 8px; } 359 .header-cta .btn { padding: 9px 11px; font-size: 12.5px; } 360 } 361 @media (max-width: 400px) { 362 .brand { font-size: 13px; gap: 7px; } 363 .brand-mark { width: 26px; height: 26px; } 364 .header-cta { gap: 6px; } 365 .header-cta .btn { padding: 8px 9px; font-size: 11.5px; } 366 .site-header .inner { padding-left: 14px; padding-right: 14px; } 367 } 368 /* Sous 360px, le CTA du header cede la place : il reste dans le menu burger. */ 369 @media (max-width: 359px) { .header-cta > .btn { display: none; } } 370</style> 371</head> 372<body> 373 374<!-- MODULE, HEADER (identique sur toutes les pages) --> 375<header class="site-header" data-screen-label="Header"> 376 <div class="inner"> 377 <div class="brand-group"> 378 <a href="https://sydney-boisseau.com/" class="brand"> 379 <img loading="lazy" decoding="async" src="/assets/logo-mark-512.png" alt="Sydney Boisseau" class="brand-mark" width="32" height="32" style="background:none;object-fit:contain;padding:0" />
380 <span class="brand-name">Sydney Boisseau</span> 381 </a> 382 </div> 383 <nav class="site-nav" aria-label="Navigation principale"> 384 <a href="/consultant-google-ads/" class="current">Consultant</a> 385 <a href="/google-ads/audit/">Audit</a> 386 <a href="/google-ads/formation/">Formation</a> 387 <a href="/consultant-google-ads/tarifs/">Tarifs</a> 388 </nav> 389 <div class="header-cta"> 390 <a href="#contact" class="btn btn-primary"><span>Réserver 30 min</span></a> 391 <button class="hamburger" id="hamburger" aria-label="Ouvrir le menu" aria-expanded="false" aria-controls="mobileMenu"> 392 <svg class="ic-open" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg> 393 <svg class="ic-close" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><line x1="5" y1="5" x2="19" y2="19"/><line x1="19" y1="5" x2="5" y2="19"/></svg> 394 </button> 395 </div> 396 </div> 397</header> 398 399<!-- MODULE, MENU MOBILE (panneau déroulant, â¤800px) --> 400<div class="menu-backdrop" id="menuBackdrop" aria-hidden="true"></div> 401<div class="mobile-menu" id="mobileMenu"> 402 <nav aria-label="Navigation mobile"> 403 <a class="mm-link current" href="/consultant-google-ads/">Consultant</a> 404 <a class="mm-link" href="/google-ads/audit/">Audit</a> 405 <a class="mm-link" href="/google-ads/formation/">Formation</a> 406 <a class="mm-link" href="/consultant-google-ads/tarifs/">Tarifs</a> 407 </nav> 408 <div class="mm-cta"> 409 <a href="#contact" class="btn btn-primary">Réserver 30 min</a> 410 </div> 411</div> 412 413<main id="top"> 414<!-- ============================================================ 415 BREADCRUMB 416 ============================================================ --> 417<nav class="breadcrumb wrap" aria-label="Fil d'ariane" data-screen-label="Breadcrumb"> 418 <ol> 419 <li><a href="https://sydney-boisseau.com/">Accueil</a></li> 420 <li class="sep" aria-hidden="true">âº</li> 421 <li><a href="/google-ads/">Google Ads</a></li> 422 <li class="sep" aria-hidden="true">âº</li> 423 <li aria-current="page">Audit Google Ads</li> 424 </ol> 425</nav> 426 427<header class="masthead wrap" data-screen-label="Masthead"> 428 <span class="eyebrow"><span class="dot"></span> Audit Google Ads</span> 429 <h1>Audit Google Ads : 35 points contrôlés, plan d'action en <em>72 h</em></h1> 430 <p class="standfirst">Analyse complète de la structure, du ciblage, des annonces et du <a href="/google-tag-manager/">tracking</a>. L'objectif : un <strong>rapport visuel + un plan d'action priorisé</strong> en 3 jours ouvrés, pour savoir exactement où part votre budget et comment l'optimiser.</p> 431 <div class="article-meta"> 432 <span class="am author">Par Sydney Boisseau</span> 433 <span class="dot-sep" aria-hidden="true"></span> 434 <span class="am"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg> â 7 min de lecture</span> 435 <span class="dot-sep" aria-hidden="true"></span> 436 <span class="am"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9h18M7 3v3M17 3v3"/><rect x="3" y="5" width="18" height="16" rx="2"/></svg> Mis à jour le 7 mai 2026</span> 437 <span class="dot-sep" aria-hidden="true"></span> 438 <span class="am"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg> Certifié Google Ads</span> 439 </div> 440</header> 441 442<div class="article"> 443 <div class="wrap article-grid"> 444 <div class="article-body"> 445 446 <section id="intro" class="prose fade-up" data-screen-label="Intro"> 447 <p class="lead">Un audit <a href="/google-ads/">Google Ads</a> professionnel est bien plus qu'une vérification de surface. Là où les outils automatiques de Google analysent des métriques génériques, un audit mené par un consultant expérimenté examine en profondeur la structure, le ciblage, les annonces et le tracking pour identifier les vraies causes d'un ROAS décevant ou d'un budget mal alloué.</p> 448 <p>Un audit raté, ou délégué à un outil automatique, conduit à des décisions basées sur des données incomplètes et compromet vos investissements publicitaires. L'enjeu : comprendre non seulement ce qui ne fonctionne pas, mais pourquoi, et définir les priorités pour y remédier avec un plan d'action concret et priorisé.</p> 449 <div class="sector-block"> 450 <p class="lbl">Secteurs accompagnés</p> 451 <div class="sector-tags">
452 <span class="tag">Services B2C</span> 453 <span class="tag">Services B2B</span> 454 <span class="tag">E-commerce</span> 455 <span class="tag">Applications mobiles</span> 456 <span class="tag">TPE & PME</span> 457 <span class="tag">Restauration</span> 458 <span class="tag">Sport & Bien-être</span> 459 <span class="tag">Mode</span> 460 <span class="tag">Enseignement</span> 461 <span class="tag">Automobile</span> 462 </div> 463 </div> 464 </section> 465 466 <section id="points" class="fade-up" data-screen-label="Les 35 points"> 467 <div class="block-head"> 468 <span class="kicker">Périmètre</span> 469 <h2>Les 35 points contrôlés</h2> 470 <p class="intro">Six dimensions analysées en profondeur. Chaque point est documenté, capturé et évalué selon son niveau de criticité.</p> 471 </div> 472 <div class="role-list"> 473 <div class="role-item"> 474 <div class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/></svg></div> 475 <div><h3>Structure du compte, 8 points</h3><p>Architecture campagnes / groupes, naming conventions, partage de budget, stratégies d'enchères, ciblage géo et device, calendrier de diffusion, audiences (in-market, similaires), exclusions emplacements.</p></div> 476 </div> 477 <div class="role-item"> 478 <div class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/></svg></div> 479 <div><h3>Ciblage et mots-clés, 7 points</h3><p>Pertinence des mots-clés, types de correspondance, couverture des intentions, mots-clés négatifs (compte + campagne), termes de recherche déclencheurs, audiences en observation vs targeting, cannibalisation entre campagnes.</p></div> 480 </div> 481 <div class="role-item"> 482 <div class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4z"/></svg></div> 483 <div><h3>Annonces et créa, 6 points</h3><p>Pertinence titres / descriptions, extensions actives (sitelinks, callouts), score de qualité par mot-clé, tests A/B en cours, pertinence images PMAX / Display, cohérence annonce / landing page.</p></div> 484 </div> 485 <div class="role-item"> 486 <div class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M7.5 3H21v13.5L12 21l-9-9z"/><circle cx="8.5" cy="8.5" r="1.4"/></svg></div> 487 <div><h3>Tracking et conversions, 7 points</h3><p>Conversions configurées, doublons / tracking serveur, modèle d'attribution, liaison <a href="/google-analytics/">GA4</a>, liaison Search Console, Enhanced Conversions activées, Consent Mode (RGPD).</p></div> 488 </div> 489 <div class="role-item"> 490 <div class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="3 17 9 11 13 15 21 7"/><polyline points="15 7 21 7 21 13"/></svg></div> 491 <div><h3>Performance et budget, 5 points</h3><p>CPC moyens vs marché, CPA / ROAS par campagne, distribution budget vs ROI, saisonnalité et tendances, comparaison vs benchmark secteur.</p></div> 492 </div> 493 <div class="role-item"> 494 <div class="ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="9"/><polygon points="16 8 10 10 8 16 14 14"/></svg></div> 495 <div><h3>Stratégie globale, 2 points</h3><p>Cohérence avec les objectifs business, roadmap 90 jours recommandée pour repartir avec un cap clair après la restitution.</p></div> 496 </div> 497 </div> 498 </section> 499 500 <section id="comparatif" class="fade-up" data-screen-label="Comparatif"> 501 <div class="block-head">
502 <span class="kicker">Faire le bon choix</span> 503 <h2>Audit professionnel ou audit automatique ?</h2> 504 <p class="intro">Ce qui change concrètement par rapport aux recommandations automatiques proposées par Google.</p> 505 </div> 506 <div class="ctable-wrap"> 507 <table class="ctable"> 508 <thead> 509 <tr><th scope="col">Critère</th><th scope="col" class="me">Audit professionnel</th><th scope="col">Audit automatique Google</th></tr> 510 </thead> 511 <tbody> 512 <tr><th scope="row">Profondeur</th><td class="me" data-label="Audit pro">35 points : structure, ciblage, annonces, tracking, stratégie</td><td data-label="Audit auto">Métriques de surface (CTR, CPA moyen)</td></tr> 513 <tr><th scope="row">Personnalisation</th><td class="me" data-label="Audit pro">Analyse adaptée à votre secteur et vos objectifs business</td><td data-label="Audit auto">Recommandations génériques, sans contexte</td></tr> 514 <tr><th scope="row">Tracking</th><td class="me" data-label="Audit pro">7 points dédiés : GA4, Consent Mode, Enhanced Conversions</td><td data-label="Audit auto">Non vérifié</td></tr> 515 <tr><th scope="row">Livrables</th><td class="me" data-label="Audit pro">Rapport PDF 15-25 pages + plan d'action priorisé</td><td data-label="Audit auto">Suggestions in-interface, sans document</td></tr> 516 <tr><th scope="row">Restitution</th><td class="me" data-label="Audit pro">Visio 45 min pour expliquer et prioriser</td><td data-label="Audit auto">Aucune</td></tr> 517 <tr><th scope="row">Délai</th><td class="me" data-label="Audit pro">Livré en 72 h ouvrées</td><td data-label="Audit auto">Immédiat mais incomplet</td></tr> 518 </tbody> 519 </table> 520 </div> 521 </section> 522 523 <section id="livrables" class="fade-up" data-screen-label="Ce que vous recevez"> 524 <div class="block-head"> 525 <span class="kicker">Livrables</span> 526 <h2>Ce que vous recevez</h2> 527 <p class="intro">Quatre livrables concrets pour repartir avec un cap clair et des priorités établies.</p> 528 </div> 529 <div class="checklist"> 530 <div class="check-item"><div class="tick"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6"><polyline points="20 6 9 17 4 12"/></svg></div><div><h3>Rapport visuel PDF (15-25 pages)</h3><p>Captures d'écran, observations et niveau de criticité par point. Lisible par un dirigeant non technique.</p></div></div> 531 <div class="check-item"><div class="tick"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6"><polyline points="20 6 9 17 4 12"/></svg></div><div><h3>Plan d'action priorisé</h3><p>Liste des actions classées par impact / effort. Quick wins en haut, optimisations long terme en bas.</p></div></div> 532 <div class="check-item"><div class="tick"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6"><polyline points="20 6 9 17 4 12"/></svg></div><div><h3>Tableau de bord Looker (en option)</h3><p>Dashboard de pilotage personnalisé pour suivre les indicateurs clés post-audit.</p></div></div> 533 <div class="check-item"><div class="tick"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6"><polyline points="20 6 9 17 4 12"/></svg></div><div><h3>Visio de restitution (45 min)</h3><p>Présentation des conclusions, échanges sur les priorités, questions ouvertes répondues en live.</p></div></div> 534 </div> 535 </section> 536 537 <section id="methode" class="fade-up" data-screen-label="Méthode"> 538 <div class="block-head"> 539 <span class="kicker">Méthode</span> 540 <h2>L'audit en 72 h : comment ça se passe ?</h2> 541 <p class="intro">Quatre étapes du premier échange à la restitution des livrables.</p> 542 </div> 543 <div class="steps"> 544 <div class="step"><div class="n is-accent">1</div><div><h3>Ãchange initial + accès comptes</h3><p>Brief de 20 min : objectifs business, historique, contraintes. Accès en lecture aux comptes Google Ads, GA4 et GTM.</p></div></div> 545 <div class="step"><div class="n is-accent">2</div><div><h3>Audit en profondeur</h3><p>Passage des 35 points sur le compte. Captures, prises de notes, identification des anomalies critiques.</p></div></div> 546 <div class="step"><div class="n is-accent">3</div><div><h3>Rapport et plan d'action</h3><p>Rédaction du rapport visuel, hiérarchisation des actions par impact / effort, préparation de la restitution.</p></div></div> 547 <div class="step"><div class="n is-accent">4</div><div><h3>Restitution + livrables</h3><p>Visio de 45 min pour présenter les conclusions, partage du rapport et du plan d'action. Vous repartez avec un cap clair.</p></div></div> 548 </div> 549 <div class="callout"> 550 <p>Le premier échange est gratuit et sans engagement. On regarde ensemble ce que révèle votre compte et quelles actions auraient le plus d'impact immédiat.</p> 551 <a href="#contact" class="btn btn-primary">Réserver mon audit
552 <svg class="arrow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 553 </a> 554 </div> 555 </section> 556 557 <section id="strategie" class="prose fade-up" data-screen-label="Approche stratégique"> 558 <div class="block-head"> 559 <span class="kicker">Aller plus loin</span> 560 <h2>Mettre en oeuvre les recommandations</h2> 561 </div> 562 <p>Une fois l'audit terminé, l'enjeu est de transformer le plan d'action en résultats concrets. Le rapport priorise les actions selon leur impact et leur effort : certaines peuvent être appliquées en quelques heures, d'autres s'inscrivent dans une optimisation sur plusieurs semaines.</p> 563 <h3>Quick wins vs optimisations long terme</h3> 564 <p>Les quick wins, exclusion de mots-clés non pertinents, correction d'un tracking défaillant, ajustement d'une stratégie d'enchères, sont identifiés en priorité. Ils libèrent rapidement du budget mal alloué et améliorent la qualité des données sur lesquelles Google Ads s'appuie pour optimiser. Les chantiers structurels (refonte de campagnes, tests créatifs, stratégie PMAX) s'inscrivent dans la roadmap 90 jours incluse dans le rapport.</p> 565 <h3>Le tracking d'abord</h3> 566 <p>Un point revient systématiquement dans les audits : le tracking. Conversions doublées, GA4 mal lié, Consent Mode absent, modèle d'attribution par défaut, sans données fiables, Google Ads optimise sur de mauvaises bases. Corriger le tracking est souvent la première étape, avant même de toucher aux enchères ou aux annonces.</p> 567 <h3>Après l'audit : accompagnement ou autonomie ?</h3> 568 <p>L'audit est conçu pour être exploitable en autonomie : le plan d'action est suffisamment détaillé pour être mis en oeuvre sans aide extérieure. Si vous souhaitez déléguer l'exécution, une <a href="/consultant-google-ads/">mission de gestion</a> peut prendre le relais directement. Si vous préférez monter en compétences en interne, une <a href="/google-ads/formation/">formation</a> d'un à deux jours permet à votre équipe de prendre en main les recommandations.
568</p> 569 </section> 570 571 <section id="faq" class="fade-up" data-screen-label="FAQ"> 572 <div class="block-head"> 573 <span class="kicker">FAQ</span> 574 <h2>Questions fréquentes</h2> 575 <p class="intro">Tout ce qu'on me demande avant de commander un audit. Une autre question ? <a href="#contact" style="color:var(--accent);font-weight:600">Ãcrivez-moi.</a></p> 576 </div> 577 578 <p class="faq-cat">Sur le contenu de l'audit</p> 579 <div class="faq-list"> 580 <details class="faq-item"><summary class="faq-q"><span>Que couvre exactement l'audit en 35 points ?</span><svg class="faq-chevron" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polyline points="3,6 8,11 13,6"/></svg></summary><div class="faq-a">Six dimensions : structure du compte (8 pts), ciblage et mots-clés (7 pts), annonces et créatifs (6 pts), tracking et conversions (7 pts), performance et budget (5 pts), stratégie globale (2 pts). Chaque point est documenté avec une capture d'écran et un niveau de criticité explicite.</div></details> 581 <details class="faq-item"><summary class="faq-q"><span>Quelle différence avec l'audit automatique proposé par Google ?</span><svg class="faq-chevron" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polyline points="3,6 8,11 13,6"/></svg></summary><div class="faq-a">L'audit automatique de Google se concentre sur des métriques de surface (CTR, CPA) sans prendre en compte votre contexte business, la qualité de votre tracking ou la pertinence stratég
581ique de vos campagnes. Un audit professionnel couvre 35 points, livre un rapport visuel et un plan d'action priorisé, pas de simples suggestions in-interface.</div></details> 582 <details class="faq-item"><summary class="faq-q"><span>Le tracking est-il inclus dans le périmètre de l'audit ?</span><svg class="faq-chevron" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polyline points="3,6 8,11 13,6"/></svg></summary><div class="faq-a">Oui, 7 points sont dédiés au tracking : conversions configurées, doublons, modèle d'attribution, liaison GA4, liaison Search Console, Enhanced Conversions et Consent Mode RGPD. C'est souvent là que se cachent les anomalies les plus impactantes sur la qualité des données.</div></details> 583 </div> 584 585 <p class="faq-cat">Pratique et livrables</p> 586 <div class="faq-list"> 587 <details class="faq-item"><summary class="faq-q"><span>Quels accès vous faut-il pour démarrer ?</span><svg class="faq-chevron" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polyline points="3,6 8,11 13,6"/></svg></summary><div class="faq-a">Un accès en lecture au compte Google Ads, à GA4 et à GTM suffit. Vous restez propriétaire de vos comptes et de toutes les données. L'accès est accordé via votre Google Ads Manager Account, aucun partage de mot de passe n'est nécessaire.</div></details> 588 <details class="faq-item"><summary class="faq-q"><span>L'audit est-il vraiment livré en 72 h dans tous les cas ?</span><svg class="faq-chevron" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polyline points="3,6 8,11 13,6"/></svg></summary><div class="faq-a">72 h ouvrées après réception des accès et du brief. Ce délai couvre l'analyse complète des 35 points, la rédaction du rapport visuel et la préparation de la visio de restitution.</div></details> 589 <details class="faq-item"><summary class="faq-q"><span>Que se passe-t-il après la restitution de l'audit ?</span><svg class="faq-chevron" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><polyline points="3,6 8,11 13,6"/></svg></summary><div class="faq-a">Vous recevez le rapport PDF, le plan d'action priorisé et nous tenons la visio de restitution. Ensuite, vous avez le choix : mettre en oeuvre les recommandations seul, déléguer la gestion via une <a href="/consultant-google-ads/">mission d'accompagnement</a>, ou former votre équipe avec une <a href="/google-ads/formation/">formation Google Ads</a>.</div></details> 590 </div> 591 </section> 592 593 <section id="ressources" class="fade-up" data-screen-label="Ressources"> 594 <div class="block-head"> 595 <span class="kicker">Ressources</span> 596 <h2>Pour aller plus loin</h2> 597 </div> 598 <div class="related-list"> 599 <a class="related-link" href="/consultant-google-ads/"><span>Consultant Google Ads freelance</span><svg class="arrow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a> 600 <a class="related-link" href="/google-tag-manager/"><span>Mise en place du tracking GTM</span><svg class="arrow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a> 601 <a class="related-link" href="/google-ads/formation/"><span>Formation Google Ads</span><svg class="arrow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a> 602 <a class="related-link" href="/consultant-google-ads/tarifs/"><span>Tarifs consultant Google Ads</span><svg class="arrow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a> 603 </div> 604 </section> 605 606 </div> 607 608 <aside class="article-aside" data-screen-label="Sommaire"> 609 <nav class="toc" aria-label="Sommaire"> 610 <p class="toc-title">Sur cette page</p> 611 <ul> 612 <li><a href="#intro">Introduction</a></li> 613 <li><a href="#points">Les 35 points</a></li> 614 <li><a href="#comparatif">Audit pro vs automatique</a></li> 615 <li><a href="#livrables">Ce que vous recevez</a></li> 616 <li><a href="#methode">L'audit en 72 h</a></li> 617 <li><a href="#strategie">Après l'audit</a></li> 618 <li><a href="#faq">Questions fréquentes</a></li> 619 <li><a href="#ressources">Pour aller plus loin</a></li> 620 </ul> 621 </nav> 622 <div class="aside-cta">
623 <span class="ac-eyebrow"><span class="pulse"></span> Disponible</span> 624 <h4>Réserver mon audit</h4> 625 <p>35 points contrôlés, rapport visuel + plan d'action priorisé. Livré en 72 h ouvrées. Sans engagement.</p> 626 <a href="#contact" class="btn btn-primary">Réserver mon audit</a> 627 </div> 628 </aside> 629 630 </div> 631</div><section class="contact-block" id="contact" data-screen-label="Contact"> 632 <div class="wrap"> 633 <div class="contact-head"> 634 <span class="eyebrow"><span class="dot"></span> Parlons-en</span> 635 <h2>Parlez-moi de votre projet</h2> 636 <p>Un message, je réponds sous 24 h ouvrées. Si on est aligné, on cale un appel de 30 minutes, gratuit, sans pitch commercial.</p> 637 </div> 638 <div class="contact-card"> 639 <form class="contact" id="contactForm" novalidate> 640 <div class="field-row"> 641 <div class="field"><label for="firstname">Prénom & nom</label><input type="text" id="firstname" name="firstname" placeholder="Camille Aubert" required /></div> 642 <div class="field"><label for="company">Entreprise</label><input type="text" id="company" name="company" placeholder="Nom de votre société" /></div> 643 </div> 644 <div class="field-row"> 645 <div class="field"><label for="email">Email professionnel</label><input type="email" id="email" name="email" placeholder="[email protected]" required /></div> 646 <div class="field"><label for="website">Site web</label><input type="url" id="website" name="website" placeholder="https://" /></div> 647 </div> 648 <div class="field"> 649 <label>Budget publicitaire mensuel *</label> 650 <div class="radio-group"> 651 <span class="radio-pill"><input type="radio" id="b1" name="budget" value="under-1k" required><label for="b1">< 1 000 â¬</label></span> 652 <span class="radio-pill"><input type="radio" id="b2" name="budget" value="1-2k"><label for="b2">1 000 â 2 000 â¬</label></span> 653 <span class="radio-pill"><input type="radio" id="b3" name="budget" value="2-5k"><label for="b3">2 000 â 5 000 â¬</label></span> 654 <span class="radio-pill"><input type="radio" id="b4" name="budget" value="5-10k"><label for="b4">5 000 â 10 000 â¬</label></span> 655 <span class="radio-pill"><input type="radio" id="b5" name="budget" value="over-10k"><label for="b5">> 10 000 â¬</label></span> 656 </div> 657 </div> 658 <div class="field"><label for="message">Votre projet en quelques mots</label><textarea id="message" name="message" placeholder="Objectifs, comptes existants, contexteâ¦" required></textarea></div> 659 <div class="submit-row"> 660 <button type="submit" class="btn btn-primary">Envoyer ma demande 661 <svg class="arrow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 662 </button> 663 <p class="rgpd">Vos données ne servent qu'à vous recontacter. Aucune revente, aucune newsletter automatique. <a href="/mentions-legales/">Mentions légales</a>.</p> 664 </div> 665 </form> 666 </div> 667 </div> 668</section> 669 670</main> 671 672<!-- MODULE, FOOTER (identique sur toutes les pages) --> 673<footer class="site-footer" data-screen-label="Footer"><style id="sb-seo-footer-css">.sb-footer-heading{display:block;font-weight:700;margin:0 0 .5em;line-height:1.2}.sb-footer-h3{font-size:1.25em}.sb-footer-h4{font-size:1.1em}.sb-footer-h5{font-size:1em}.sb-footer-h6{font-size:.95em}.sb-footer-extra-links{max-width:1200px;margin:1.5em auto;padding:0 20px;text-align:center;font-size:.9em;opacity:.85}.sb-footer-extra-links a{margin:0 .75em;text-decoration:underline;color:inherit}</style> 674 <div class="wrap"> 675 <div class="foot-grid"> 676 <div class="col-1"> 677 <div class="brand"><img loading="lazy" decoding="async" src="/assets/logo-mark-512.png" alt="Sydney Boisseau" class="brand-mark" width="32" height="32" style="object-fit:contain;padding:0" /> <span>Sydney Boisseau</span></div> 678 <p class="tagline">Expert media buying : Google Ads, Meta Ads et SEO. Bordeaux et Sud-Ouest, visio dans toute la France.</p> 679 <a class="foot-email" href="mailto:[email protected]">[email protected]</a> 680 </div> 681 <div> 682 <div role="heading" aria-level="4" class="sb-footer-heading sb-footer-h4">Services</div> 683 <ul> 684 <li><a href="/consultant-google-ads/">Consultant Google Ads</a></li> 685 <li><a href="/google-ads/">Google Ads / SEA</a></li> 686 <li><a href="/google-ads/audit/">Audit Google Ads</a></li> 687 <li><a href="/google-analytics/">Google Analytics</a></li> 688 <li><a href="/google-tag-manager/">Google Tag Manager</a></li> 689 </ul> 690 </div> 691 <div> 692 <div role="heading" aria-level="4" class="sb-footer-heading sb-footer-h4">Ressources</div> 693 <ul> 694 <li><a href="/consultant-google-ads/tarifs/">Tarifs</a></li> 695 <li><a href="/google-ads/formation/">Formation Google Ads</a></li> 696 <li><a href="/google-ads/prix-google-ads-par-mois/">Prix Google Ads</a></li> 697 <li><a href="/google-ads/freelance-google-ads-consultant-vs-agence-vs-interne/">Agence vs freelance</a></li> 698 <li><a href="/consultant-google-ads/tpe/">Google Ads pour TPE</a></li> 699 </ul> 700 </div> 701 <div> 702 <div role="heading" aria-level="4" class="sb-footer-heading sb-footer-h4">Villes</div> 703 <ul> 704 <li><a href="/consultant-google-ads/consultant-google-ads-bordeaux/">Bordeaux</a></li> 705 <li><a href="/consultant-google-ads/consultant-google-ads-pessac/">Pessac</a></li> 706 <li><a href="/consultant-google-ads/consultant-google-ads-talence/">Talence</a></li> 707 <li><a href="/consultant-google-ads/consultant-google-ads-begles/">Bègles</a></li> 708 <li><a href="/consultant-google-ads/consultant-google-ads-nice/">Nice</a></li> 709 <li><a href="/consultant-google-ads/consultant-google-ads-angouleme/">Angoulême</a></li> 710 </ul> 711 </div> 712 <div> 713 <div role="heading" aria-level="4" class="sb-footer-heading sb-footer-h4">Informations</div> 714 <ul> 715 <li><a href="/formulaire-contact/">Contact</a></li> 716 <li><a href="/mentions-legales/">Mentions légales</a></li> 717 <li><a href="/politique-de-confidentialite/">Confidentialité</a></li> 718 <li><a href="/plan-du-site/">Plan du site</a></li> 719 </ul> 720 </div> 721 </div> 722 <div class="foot-bottom">
723 <span class="copy">© 2026 Sydney Boisseau. Tous droits réservés. · <a href="/mentions-legales/" style="color:var(--inverse-fg-2)">Mentions légales</a> · <a href="/plan-du-site/" style="color:var(--inverse-fg-2)">Plan du site</a></span> 724 <div class="foot-social"> 725 <a href="https://www.linkedin.com/in/sydney-boisseau/" target="_blank" rel="noopener" aria-label="LinkedIn" title="LinkedIn"><svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg></a> 726 <a href="https://www.youtube.com/@sydney-boisseau/" target="_blank" rel="noopener" aria-label="YouTube" title="YouTube"><svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg></a> 727 <a href="https://www.instagram.com/sydney.growth/" target="_blank" rel="noopener" aria-label="Instagram" title="Instagram"><svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077"/></svg></a> 728 <a href="https://www.tiktok.com/@sydney.growth_" target="_blank" rel="noopener" aria-label="TikTok" title="TikTok"><svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08
728-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/></svg></a> 729 <a href="https://www.malt.fr/profile/sydneyboisseau1" target="_blank" rel="noopener" aria-label="Malt" title="Malt"><svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"><rect x="1" y="9.75" width="22" height="4.5" rx="2.25"/><rect x="1" y="9.75" width="22" height="4.5" rx="2.25" transform="rotate(120 12 12)"/><rect x="10.5" y="9.75" width="12.5" height="4.5" rx="2.25" transform="rotate(60 12 12)"/><rect x="1" y="9.75" width="6.5" height="4.5" rx="2.25" transform="rotate(60 12 12)"/></svg></a> 730 </div> 731 </div> 732 </div> 733</footer> 734
735<script> 736 // Disponibilité : mois suivant 737 (function() { 738 const months = ['janvier','février','mars','avril','mai','juin','juillet','août','septembre','octobre','novembre','décembre']; 739 const nextMonth = new Date(new Date().getFullYear(), new Date().getMonth() + 1, 1); 740 const el = document.getElementById('availMonth'); if (el) el.textContent = months[nextMonth.getMonth()]; 741 })(); 742 743 // Fade-up au scroll 744 (function() { 745 const items = document.querySelectorAll('.fade-up'); 746 if (!('IntersectionObserver' in window)) { items.forEach(el => el.classList.add('in')); return; } 747 const io = new IntersectionObserver((entries) => { 748 entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('in'); io.unobserve(e.target); } }); 749 }, { threshold: 0.1, rootMargin: '0px 0px -40px 0px' }); 750 items.forEach(el => io.observe(el)); 751 })(); 752 753 // Accordéon : un seul ouvert par liste 754 document.querySelectorAll('.faq-list').forEach(list => { 755 list.querySelectorAll('.faq-item').forEach(item => { 756 item.addEventListener('toggle', () => { 757 if (item.open) list.querySelectorAll('.faq-item[open]').forEach(o => { if (o !== item) o.open = false; }); 758 }); 759 }); 760 }); 761 762 // Sommaire : scrollspy (surligne la section visible) 763 (function() { 764 const links = Array.from(document.querySelectorAll('.toc a')); 765 if (!links.length || !('IntersectionObserver' in window)) return; 766 const map = new Map(); 767 links.forEach(a => { const id = a.getAttribute('href').slice(1); const sec = document.getElementById(id); if (sec) map.set(sec, a); }); 768 let current = null; 769 const io = new IntersectionObserver((entries) => { 770 entries.forEach(e => { if (e.isIntersecting) { 771 if (current) current.classList.remove('active'); 772 current = map.get(e.target); if (current) current.classList.add('active'); 773 }}); 774 }, { rootMargin: '-88px 0px -70% 0px', threshold: 0 }); 775 map.forEach((a, sec) => io.observe(sec)); 776 })(); 777 778 // Menu mobile (hamburger) 779 (function() { 780 const burger = document.getElementById('hamburger'); 781 const menu = document.getElementById('mobileMenu'); 782 const backdrop = document.getElementById('menuBackdrop'); 783 if (!burger || !menu) return; 784 function setMenu(open) { 785 burger.setAttribute('aria-expanded', open ? 'true' : 'false'); 786 burger.setAttribute('aria-label', open ? 'Fermer le menu' : 'Ouvrir le menu'); 787 menu.classList.toggle('open', open); 788 if (backdrop) backdrop.classList.toggle('open', open); 789 } 790 burger.addEventListener('click', () => setMenu(burger.getAttribute('aria-expanded') !== 'true')); 791 menu.querySelectorAll('a').forEach(a => a.addEventListener('click', () => setMenu(false))); 792 if (backdrop) backdrop.addEventListener('click', () => setMenu(false)); 793 document.addEventListener('keydown', (e) => { if (e.key === 'Escape') setMenu(false); }); 794 // Referme si on repasse en desktop 795 window.matchMedia('(min-width: 801px)').addEventListener('change', (e) => { if (e.matches) setMenu(false); }); 796 })(); 797 798 // Formulaire (démo, à brancher sur l'endpoint WordPress) 799 (function() { 800 const f = document.getElementById('contactForm'); 801 if (f) f.addEventListener('submit', async (e) => { 802 e.preventDefault(); 803 const btn = f.querySelector('button[type="submit"]'); 804 const data = Object.fromEntries(new FormData(f).entries()); 805 if (!data.budget) { alert('Merci d\u2019indiquer votre budget publicitaire mensuel.'); return; } 806 if (data.budget === 'under-1k') { 807 try { if (window.dataLayer) window.dataLayer.push({ event: 'lp_lead_under_budget', form_budget: data.budget }); } catch (err) {} 808 window.location.href = '/demarrer-la-publicite/'; 809 return; 810 } 811 data.source = window.location.pathname; 812 if (btn) { btn.disabled = true; btn.textContent = 'Envoiâ¦'; } 813 try { 814 const r = await fetch('/wp-json/sb-form/v1/submit', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify(data) }); 815 if (r.ok) { f.innerHTML = '<p style="font-size:18px;color:var(--ink);padding:24px 0;">Merci, votre demande a bien été envoyée. Je vous réponds sous 24h.</p>'; } 816 else { alert('Une erreur est survenue. Réessayez ou écrivez à [email protected]'); if (btn){ btn.disabled=false; btn.textContent='Envoyer ma demande'; } } 817 } catch (err) { alert('Erreur réseau, réessayez.'); if (btn){ btn.disabled=false; btn.textContent='Envoyer ma demande'; } } 818 }); 819 })(); 820</script>
820 821 822</body> 823</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.