Détection, Projet, Devis, Closing, Onboarding — un fichier CSV à importer en 2 clics.
Cochez ceux qui vous manquent et corrigez en 30 min. PDF gratuit.
Calcul automatique sur 12 critères. Vos commerciaux appellent les bons leads en premier.
Réduisez vos opérations de 70% sans toucher aux fonctionnalités. Applicable en 1h.
La checklist en 10 étapes issue de 30+ migrations réussies.
| Page | Lead Magnet | Couleur | Hook principal |
|---|---|---|---|
| Pipelines | Template CSV 5 pipelines | ● Vert #017737 | "Gagnez 2h de config" |
| Champs | Checklist 28 champs PDF | ● Bleu #3B82F6 | "90% des CRM oublient" |
| Lead Scoring | Blueprint Make.com V2 | ● Violet #7C3AED | "Trie 500 leads/semaine" |
| Automatisations | Guide 5 astuces Make | ● Orange #F97316 | "Divisez par 3 vos opérations" |
| Migration | Checklist 10 étapes | ● Teal #0D9488 | "Zéro donnée perdue" |
Récupérez le template CSV des 5 pipelines que 50+ équipes B2B utilisent déjà.
Ce script détecte automatiquement la page et affiche le bon Lead Magnet (inline + popup exit-intent).
// ============================================ // CONFIGURATION DES LEAD MAGNETS PAR PAGE // ============================================ const leadMagnets = { // Détection par URL (contient...) 'pipelines': { id: 'pipelines', emoji: '📥', title: 'Gagnez 2h de config', subtitle: 'Template CSV des 5 pipelines prêts à l\'import', cta: 'Télécharger le template CSV', exitText: 'Récupérez le CSV des 5 pipelines que 50+ équipes utilisent déjà.', color: '#017737', colorLight: '#f0fdf4', formId: 'form-pipelines' // ID du formulaire (ConvertKit, Mailchimp...) }, 'champs': { id: 'champs', emoji: '✅', title: 'Les 28 champs que 90% oublient', subtitle: 'Checklist PDF pour un CRM propre', cta: 'Recevoir la checklist gratuite', exitText: 'Votre CRM est-il vraiment propre ? Vérifiez avec notre checklist.', color: '#3B82F6', colorLight: '#eff6ff', formId: 'form-champs' }, 'scoring': { id: 'scoring', emoji: '🎯', title: 'Le blueprint du scoring V2', subtitle: 'Système Make.com qui trie 500 leads/semaine', cta: 'Voir le blueprint complet', exitText: 'Vos commerciaux perdent du temps sur des leads froids ?', color: '#7C3AED', colorLight: '#f5f3ff', formId: 'form-scoring' }, 'automatisations': { id: 'automatisations', emoji: '⚡', title: '5 astuces pour -70% d\'opérations Make', subtitle: 'Guide court applicable en 1 heure', cta: 'Télécharger les 5 astuces', exitText: 'Vous payez trop cher Make.com ? Ces 5 astuces changent tout.', color: '#F97316', colorLight: '#fff7ed', formId: 'form-automatisations' }, 'migration': { id: 'migration', emoji: '🚚', title: 'Migrer sans perdre une donnée', subtitle: 'Checklist en 10 étapes (30+ migrations)', cta: 'Recevoir la checklist migration', exitText: 'Peur de perdre des données ? Cette checklist sécurise tout.', color: '#0D9488', colorLight: '#f0fdfa', formId: 'form-migration' } }; // ============================================ // DÉTECTION DE LA PAGE COURANTE // ============================================ function detectCurrentLeadMagnet() { const url = window.location.pathname.toLowerCase(); for (const [key, magnet] of Object.entries(leadMagnets)) { if (url.includes(key)) { return magnet; } } // Default : premier Lead Magnet (pipelines) return leadMagnets['pipelines']; } // ============================================ // GÉNÉRATION DE L'INLINE BOX // ============================================ function createInlineBox(magnet) { const html = ` <div class="lead-magnet-inline" style=" background: linear-gradient(135deg, ${magnet.colorLight} 0%, ${magnet.colorLight}dd 100%); border: 2px solid ${magnet.color}; border-radius: 12px; padding: 1.5rem; margin: 2rem 0; text-align: left; "> <div style="font-size: 2rem; margin-bottom: 0.75rem;">${magnet.emoji}</div> <h4 style="font-size: 1.1rem; font-weight: 700; color: ${magnet.color}; margin-bottom: 0.5rem;"> ${magnet.title} </h4> <p style="color: #475569; margin-bottom: 1rem; font-size: 0.95rem;"> ${magnet.subtitle} </p> <button onclick="openLeadMagnetPopup('${magnet.id}')" style=" background: ${magnet.color}; color: #fff; padding: 0.75rem 1.5rem; border-radius: 8px; font-weight: 600; border: none; cursor: pointer; font-size: 0.95rem; "> ${magnet.cta} → </button> </div> `; return html; } // ============================================ // GÉNÉRATION DE LA POPUP // ============================================ function createPopup(magnet) { const popup = document.createElement('div'); popup.id = 'lead-magnet-popup'; popup.innerHTML = ` <div class="popup-overlay" onclick="closeLeadMagnetPopup()" style=" position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 9998; opacity: 0; transition: opacity 0.3s; "></div> <div class="popup-content" style=" position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.9); background: #fff; border-radius: 16px; padding: 2rem; max-width: 400px; width: 90%; z-index: 9999; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25); opacity: 0; transition: all 0.3s; "> <button onclick="closeLeadMagnetPopup()" style=" position: absolute; top: 1rem; right: 1rem; width: 32px; height: 32px; background: #f1f5f9; border: none; border-radius: 50%; cursor: pointer; font-size: 1.25rem; color: #64748b; ">×</button> <div style="font-size: 2.5rem; margin-bottom: 1rem;">${magnet.emoji}</div> <h3 style="font-size: 1.25rem; font-weight: 700; margin-bottom: 0.5rem;"> Attendez ! Avant de partir... </h3> <p style="color: #475569; margin-bottom: 1.5rem;"> ${magnet.exitText} </p> <form onsubmit="submitLeadMagnetForm(event, '${magnet.id}')"> <input type="email" name="email" required placeholder="votre@email.com" style=" width: 100%; padding: 0.875rem; border: 2px solid #e2e8f0; border-radius: 8px; margin-bottom: 1rem; font-size: 1rem; box-sizing: border-box; "> <button type="submit" style=" width: 100%; background: ${magnet.color}; color: #fff; padding: 0.875rem; border-radius: 8px; font-weight: 600; border: none; font-size: 1rem; cursor: pointer; "> ${magnet.cta} → </button> </form> <p style="font-size: 0.8rem; color: #94a3b8; text-align: center; margin-top: 1rem;"> 🔒 Pas de spam. Désabonnement en 1 clic. </p> </div> `; document.body.appendChild(popup); // Animation d'entrée setTimeout(() => { popup.querySelector('.popup-overlay').style.opacity = '1'; popup.querySelector('.popup-content').style.opacity = '1'; popup.querySelector('.popup-content').style.transform = 'translate(-50%, -50%) scale(1)'; }, 10); } // ============================================ // CONTRÔLES POPUP // ============================================ function openLeadMagnetPopup(magnetId) { const magnet = Object.values(leadMagnets).find(m => m.id === magnetId); if (magnet) createPopup(magnet); } function closeLeadMagnetPopup() { const popup = document.getElementById('lead-magnet-popup'); if (popup) { popup.querySelector('.popup-overlay').style.opacity = '0'; popup.querySelector('.popup-content').style.opacity = '0'; setTimeout(() => popup.remove(), 300); } } function submitLeadMagnetForm(event, magnetId) { event.preventDefault(); const email = event.target.querySelector('input[name="email"]').value; // Envoyer à ton service (ConvertKit, Mailchimp, etc.) console.log(`Lead Magnet: ${magnetId}, Email: ${email}`); // Exemple : envoyer à ConvertKit // fetch('https://api.convertkit.com/v3/forms/YOUR_FORM_ID/subscribe', { // method: 'POST', // headers: { 'Content-Type': 'application/json' }, // body: JSON.stringify({ api_key: 'YOUR_API_KEY', email, tags: [magnetId] }) // }); // Afficher confirmation event.target.innerHTML = '<p style="text-align:center;padding:1rem;color:#16a34a;font-weight:600;">✅ C\'est envoyé ! Vérifiez votre boîte mail.</p>'; // Sauvegarder en localStorage pour ne pas réafficher localStorage.setItem(`lead-magnet-${magnetId}`, 'submitted'); setTimeout(closeLeadMagnetPopup, 2000); } // ============================================ // EXIT INTENT DETECTION // ============================================ let exitIntentShown = false; function initExitIntent(magnet) { // Vérifier si déjà soumis if (localStorage.getItem(`lead-magnet-${magnet.id}`)) return; // Desktop : détection mouvement souris vers le haut document.addEventListener('mouseout', (e) => { if (exitIntentShown) return; if (e.clientY < 10 && e.relatedTarget === null) { exitIntentShown = true; createPopup(magnet); } }); // Mobile : détection scroll rapide vers le haut (retour) let lastScrollY = window.scrollY; let scrollVelocity = 0; window.addEventListener('scroll', () => { scrollVelocity = lastScrollY - window.scrollY; lastScrollY = window.scrollY; // Si scroll rapide vers le haut près du top if (!exitIntentShown && scrollVelocity > 50 && window.scrollY < 200) { exitIntentShown = true; setTimeout(() => createPopup(magnet), 500); } }); } // ============================================ // INITIALISATION // ============================================ document.addEventListener('DOMContentLoaded', () => { const magnet = detectCurrentLeadMagnet(); // Insérer l'inline box après le 3ème paragraphe (ou #inline-lead-magnet) const target = document.querySelector('#inline-lead-magnet') || document.querySelectorAll('.content p')[2]; if (target) { target.insertAdjacentHTML('afterend', createInlineBox(magnet)); } // Activer exit intent (après 30s sur la page) setTimeout(() => initExitIntent(magnet), 30000); });