Aller au contenu principal
7 min de lecture

Intégration Webflow

Ajoutez Zenovay à n'importe quel site Webflow en moins de trois minutes. La prise en charge first-class du Custom Code par Webflow fait de cette intégration l'une des plus propres de tous les CMS — collez, publiez, c'est fait.

Webflow Custom Code nécessite un Site Plan payant (Basic, CMS, Business ou Ecommerce) sur le site lui-même. Les plans Workspace seuls ne sont pas suffisants.


Démarrage rapide

ÉtapeCe que vous faites
1Tableau de bord ZenovayCopiez votre snippet de suivi
2Webflow Designer → Site settings → Custom codeCollez-le dans Head code
3Publiez sur votre domaine *.webflow.io ou personnaliséCliquez sur Publish
4Tableau de bord ZenovayLes visiteurs en temps réel apparaissent en ~30 secondes

Méthode 1 : Custom Code pour tout le site (recommandée)

Webflow vous permet d'injecter du HTML dans le <head> de chaque page de votre site via Site Settings. C'est l'approche prise en charge pour tout pixel d'analytics ou de marketing.

Étape par étape

  1. Ouvrez votre projet dans le Webflow Designer.
  2. Cliquez sur l'icône d'engrenage dans la barre latérale gauche pour ouvrir Site Settings.
  3. Allez dans l'onglet Custom Code.
  4. Dans le champ Head code, collez :
<script defer data-tracking-code="YOUR_TRACKING_CODE" src="https://api.zenovay.com/z.js"></script>
  1. Faites défiler vers le bas et cliquez sur Save Changes.
  2. Revenez au Designer et cliquez sur Publish (en haut à droite) → sélectionnez vos domaines → Publish to Selected Domains.

Vérifier

Ouvrez votre site publié en navigation privée et consultez le code source — vous devriez voir <script defer data-tracking-code=...> près du début de <head>. Votre visite devrait apparaître dans la vue en temps réel Zenovay en 30 secondes.


Méthode 2 : Custom Code par page

Si vous souhaitez ne suivre qu'un sous-ensemble de pages (par exemple des landing pages, pas le sous-répertoire docs), Webflow prend en charge le code Head par page :

  1. Dans le Designer, sélectionnez la page dans le panneau Pages à gauche.
  2. Cliquez sur l'icône d'engrenage à côté du nom de la page → Page Settings.
  3. Faites défiler jusqu'à Custom Code → Inside <head> tag.
  4. Collez le même snippet.
  5. Sauvegardez et publiez.

Le Custom Code au niveau de la page est ajouté après le code à l'échelle du site — si vous collez dans les deux endroits, vous double-compterez. Choisissez une portée.


Suivi des événements personnalisés

Une fois le script chargé (il est différé, attendez donc DOMContentLoaded), vous pouvez appeler window.zenovay() depuis n'importe quel script inline ou code personnalisé d'interactions Webflow :

Suivre un clic sur un CTA

Insérez un élément HTML Embed à côté de votre bouton CTA :

<script>
  document.addEventListener('DOMContentLoaded', () => {
    const cta = document.querySelector('[data-zv-cta]');
    if (!cta) return;
    cta.addEventListener('click', () => {
      if (window.zenovay) {
        window.zenovay('track', 'cta_clicked', {
          location: cta.dataset.zvCta,
          page: window.location.pathname,
        });
      }
    });
  });
</script>

Ajoutez ensuite data-zv-cta="hero-primary" à votre bouton dans le Designer (via la section Custom attributes dans les paramètres de l'élément).

Suivre les soumissions de formulaires

Les formulaires natifs Webflow émettent un événement submit que vous pouvez écouter :

<script>
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('form[data-name]').forEach(form => {
      form.addEventListener('submit', () => {
        if (window.zenovay) {
          window.zenovay('track', 'form_submitted', {
            form_name: form.getAttribute('data-name'),
            page: window.location.pathname,
          });
        }
      });
    });
  });
</script>

Identifier les utilisateurs connectés (Memberstack, Outseta, Memberspace)

Si vous utilisez un add-on d'adhésion Webflow, identifiez le visiteur dès que sa session est connue. Avec Memberstack :

<script>
  window.$memberstackDom?.getCurrentMember().then(({ data: member }) => {
    if (member && window.zenovay) {
      window.zenovay('identify', {
        userId: member.id,
        email: member.auth?.email,
        plan: member.planConnections?.[0]?.planName,
      });
    }
  });
</script>

Suivi des achats Webflow Ecommerce

Si vous vendez via Webflow Ecommerce, déclenchez un événement purchase sur la page de confirmation de commande (/order-confirmation/[order-id]) :

  1. Ajoutez un HTML Embed à votre template de page de confirmation de commande.
  2. Collez :
<script>
  document.addEventListener('DOMContentLoaded', () => {
    const total = document.querySelector('[data-wf-order-total]')?.textContent;
    const orderId = window.location.pathname.split('/').pop();
    if (window.zenovay && total) {
      window.zenovay('track', 'purchase', {
        transaction_id: orderId,
        revenue: parseFloat(total.replace(/[^0-9.]/g, '')),
        currency: 'USD', // adjust if your store uses another currency
      });
    }
  });
</script>

Pour une attribution de revenus précise (remboursements, taxes, abonnements), utilisez plutôt des webhooks côté serveur depuis votre compte Stripe ou Webflow Ecommerce — le suivi côté client peut manquer des commandes si l'acheteur ferme l'onglet.


Exigences du plan

  • Webflow Starter (gratuit) : Custom Code est désactivé. Passez à un Site Plan payant.
  • Webflow Basic / CMS / Business / Ecommerce : Custom Code est entièrement activé.
  • Plan Workspace uniquement : insuffisant en soi — vous avez besoin d'un Site Plan sur le site lui-même.

Pièges courants

Site Settings vs Page Settings. Le code Head à l'échelle du site s'applique à toutes les pages, y compris les pages 404, de recherche et protégées par mot de passe. Le code Head spécifique à une page ne s'applique qu'à cette page. Si vous voulez un seul tracker pour tout le site, utilisez Site Settings — ne mélangez pas les portées.

Webflow supprime les balises <script> dans les prévisualisations .webflow.io si votre plan n'inclut pas Custom Code. Assurez-vous d'être sur un Site Plan payant avant de tester.

Le snippet s'exécute après les interactions Webflow. Zenovay est différé, donc il se charge après le rendu initial. C'est intentionnel — cela signifie que nous ne bloquons pas l'affichage. Si vous souhaitez déclencher un événement avant que Zenovay soit chargé, mettez-le en file d'attente : window.zenovay = window.zenovay || function(){ (window.zenovay.q = window.zenovay.q || []).push(arguments); };

<script> dans les éléments HTML Embed est exécuté. Webflow le permet, mais sachez que cela signifie que vous pouvez accidentellement double-installer si vous collez le snippet dans un Embed au lieu de Site Settings → Custom Code. Utilisez Site Settings pour le tracker ; n'utilisez les Embeds que pour le suivi d'événements spécifiques à une page.

Le HTML publié de Webflow est fortement mis en cache en périphérie. Attendez 1 à 2 minutes après Publish avant de tester. Forcez le rechargement avec Cmd/Ctrl+Shift+R.


Dépannage

SymptômeCause probableSolution
Pas de donnéesCustom Code désactivé sur le planPassez à un Site Plan payant
Pas de donnéesSite non publié depuis l'ajout du snippetCliquez sur Publish dans le Designer
La moitié des pages suiviesCode Head au niveau de la page remplace le niveau du siteDéplacez le snippet vers Site Settings uniquement
Pages vues en doubleSnippet collé dans Site Settings et HTML EmbedSupprimez-en un
Événements ne se déclenchent pasLe script d'événement personnalisé s'est exécuté avant le chargement de ZenovayEncapsulez dans DOMContentLoaded

Confidentialité et conformité

Ajoutez data-cookieless="true" au snippet pour fonctionner en mode entièrement sans cookies (pas de cookies, pas de stockage local) — requis pour de nombreux déploiements UE/RU avant qu'un consentement soit enregistré :

<script defer
        data-tracking-code="YOUR_TRACKING_CODE"
        data-cookieless="true"
        src="https://api.zenovay.com/z.js"></script>

Consultez la Conformité à la confidentialité pour tous les détails.


Ressources associées


Besoin d'aide ? Contactez [email protected] ou visitez notre Centre d'aide.

Cette page vous a-t-elle été utile ?