Comment créer un compteur de places restantes dans Webflow ?
Apprenez à créer un compteur de places restantes avec urgence dynamique dans Webflow pour augmenter les conversions.
Dans ce tutoriel, Sandro cofondateur de l'agence Webflow Gemeos vous montre comment créer un compteur de places restantes avec expiration dans Webflow pour créer de l'urgence et augmenter les conversions.
Exemple
Simulez différents niveaux d'urgence
| État | Places restantes | Couleur | Message |
|---|---|---|---|
| Disponible | 8 à 20 | Vert (#22c55e) | X places disponibles |
| Tension | 4 à 7 | Orange (#f59e0b) | X places restantes, réservez vite |
| Urgence | 1 à 3 | Rouge (#ef4444) | Plus que X place(s) ! |
| Complet | 0 | Rouge (#ef4444) | Rejoignez la liste d'attente |
1. Créez les éléments dans Webflow
Créez un Text Block seats-left pour le nombre de places. Créez un Div seats-bar-track (fond gris, height 6px, border-radius) contenant un Div seats-bar (width: 0%, height: 100%). Créez un Text Block seats-message pour le message contextuel.
2. Connectez à une vraie source de données
En production, remplacez le localStorage par un fetch vers votre API, Airtable ou Google Sheets. Exemple avec Airtable :
fetch('https://api.airtable.com/v0/YOUR_BASE/Registrations?fields[]=Status', {
headers: { 'Authorization': 'Bearer YOUR_KEY' }
})
.then(function(r) { return r.json(); })
.then(function(data) {
var taken = data.records.filter(function(r) {
return r.fields.Status === 'Confirmed';
}).length;
// Mettre à jour l'UI avec taken
});3. Ajoutez le script dans Footer code
(function() {
var el = document.getElementById('seats-left');
var bar = document.getElementById('seats-bar');
var msg = document.getElementById('seats-message');
if (!el) return;
// Configuration
var TOTAL = 20;
var KEY = 'seats-taken-' + window.location.pathname;
// Récupère ou initialise le compteur (simulé côté client)
// En production : remplacez par un fetch vers votre API
var taken = parseInt(localStorage.getItem(KEY) || Math.floor(Math.random() * 8 + 10));
localStorage.setItem(KEY, taken);
var left = Math.max(0, TOTAL - taken);
var pct = Math.round((taken / TOTAL) * 100);
el.textContent = left;
if (bar) {
bar.style.width = pct + '%';
bar.style.background = left <= 3 ? '#ef4444' : left <= 7 ? '#f59e0b' : '#22c55e';
}
if (msg) {
if (left === 0) {
msg.textContent = 'Complet — rejoignez la liste d'attente';
msg.style.color = '#ef4444';
} else if (left <= 3) {
msg.textContent = 'Plus que ' + left + ' place' + (left > 1 ? 's' : '') + ' !';
msg.style.color = '#ef4444';
} else if (left <= 7) {
msg.textContent = left + ' places restantes — réservez vite';
msg.style.color = '#f59e0b';
} else {
msg.textContent = left + ' places disponibles';
msg.style.color = '#22c55e';
}
}
})();Conclusion
Le compteur de places restantes est l'un des outils de conversion les plus efficaces. Cas d'usage :
- Webinaires avec nombre de participants limité
- Offres d'accompagnement à places limitées
- Accès early access ou beta avec quota
Lorem ipsum
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.










.avif)




