Un guide pratique de Tests A/B côté serveur avec Deno et
TL;DR — Réponse rapide
5 min de lectureLes tests A/B côté serveur dans Fresh attribuent des variantes avant le rendu, évitent le scintillement de client-side, envoient uniquement des métadonnées d'expérience respectueuses de la confidentialité et mesurent les conversions globales par variante.
Ce guide explique Tests A/B côté serveur avec Deno et de manière pratique, avec un accent sur les décisions d'analytics respectueuses de la vie privée.
Les tests A/B côté serveur choisissent la variante avant le rendu de la page. Cela en fait un bon choix pour Deno Fresh, qui est d'abord serveur et envoie du JavaScript uniquement pour les îles interactives. La documentation sur l'architecture de Fresh décrit les pages telles que rendues sur le serveur avec uniquement des îlots hydratés sur le client. Voir la documentation Fresh sur architecture.
Cette approche évite le problème de test classique client-side : une page se charge, un script de test s'exécute et l'utilisateur voit un scintillement lorsque la variante change.
Que tester côté serveur
Les bons tests server-side incluent :
- Mise en page des tarifs.
- Longueur du formulaire d'inscription.
- Copie de héros.
- placement CTA.
- Structure de navigation.
- Ordre des étapes de paiement.
- Parcours d'intégration.
Évitez de tester de petites modifications, sauf si vous avez un volume élevé. Pour les sites à faible trafic, testez les différences significatives ou utilisez la recherche qualitative au lieu de prétendre que de petits changements de couleur produiront des conclusions fiables.
Stratégie d'affectation
Vous avez besoin d’une affectation de variantes cohérente. Possibilités :
- Cookie anonyme de courte durée.
- Session côté serveur.
- Compte authentifié ID.
- Hachage déterministe d'un first-party ID stable.
Pour un site Web public, un cookie first-party de courte durée est simple, mais il peut néanmoins soulever des questions de consentement en fonction de la juridiction et de l'objectif. Si vous souhaitez éviter complètement les cookies, attribuez par demande des tests de contenu à faibles enjeux, mais comprenez que les visiteurs peuvent voir différentes variantes au fil des visites.
Pour les expériences de produits authentifiées, utilisez l'attribution au niveau du compte ou de l'utilisateur dans le cadre de votre gouvernance d'analyse de produits, et non des analyses de marketing publiques.
Fresh Forme d'implémentation
Le middleware Fresh peut s'exécuter avant une route et transmettre l'état via le contexte de la demande. La documentation Fresh explique que le middleware reçoit un contexte avec la requête et renvoie une réponse, et que le routage du système de fichiers peut définir le middleware dans les fichiers _middleware.ts. Voir Fresh documentation middleware.
Un flux typique :
- Le middleware vérifie si la demande est éligible à l'expérimentation.
- Il lit une affectation de variante existante si elle est présente.
- En cas d'absence, il attribue une variante en utilisant une méthode aléatoire stable.
- Il stocke la mission dans un cookie ou une session serveur de courte durée.
- Il transmet le nom_expérience et la variante au contexte de route.
- L'itinéraire restitue immédiatement la version correcte.
- Un événement d'exposition est enregistré une fois par session ou mission.
- Les événements de conversion incluent les mêmes métadonnées de test.
Conception d'événements respectueux de la confidentialité
Envoyez des métadonnées de test, pas d'identité :
Event: experiment_exposed
Properties:
- experiment_name = pricing_page_layout
- variant = compact
- page_template = pricing
Événement : demo_requested
Propriétés :
- nom_expérience = pricing_page_layout
- variante = compacte
- form_type = démoN'envoyez pas d'e-mail, de nom, de société, d'utilisateur ID, d'adresse IP ou de contenu de formulaire en texte libre à l'analyse du site Web.
Évitez de compter les rechargements comme des expositions
Une exposition devrait signifier que le visiteur a eu une réelle chance de voir la variante. Si vous déclenchez un événement à chaque rendu du serveur, les rechargements augmentent le nombre.
Meilleures options :
- Définir un indicateur d'exposition au niveau de la session.
- Exposition au feu une seule fois par mission d'expérimentation.
- Suivez page_view normalement et gardez experimental_exposed séparé.
- Excluez les robots et les demandes de prélecture lorsque cela est possible.
Résultats de mesure
Pour chaque variante, comparez :
Flowsery
Essai gratuit
Tableau de bord en temps réel
Suivi des objectifs
Suivi sans cookies
- Expositions.
- Nombre de conversions.
- Taux de conversion.
- Progression de l'entonnoir.
- Mélange d'appareils.
- Mélange de sources.
- Mesures de garde-fou telles que les erreurs de formulaire ou le rebond.
N'utilisez pas uniquement le nombre de conversions brut. Une variante avec plus de conversions peut simplement avoir reçu plus de trafic ou un meilleur mix de sources.
Mises en garde statistiques
Les tests A/B nécessitent suffisamment de volume. Si chaque variante compte quelques dizaines de visiteurs, les analyses peuvent toujours indiquer une direction, mais elles ne peuvent pas prouver grand-chose. Décidez à l'avance :
-Conversion primaire.
- Durée d'exécution minimale.
- Taille minimale de l'échantillon ou seuil pratique.
- Segments à surveiller.
- Métriques de garde-corps.
- Règle d'arrêt.
Évitez de jeter un coup d’œil quotidiennement et de déclarer un gagnant lorsque le graphique semble passionnant.
Pourquoi le côté serveur s'adapte aux analyses axées sur la confidentialité
Les outils de test côté client ajoutent souvent des scripts, des cookies, des requêtes third-party et un scintillement visuel. Une configuration server-side peut être plus petite :
- Pas de script de test third-party.
- Pas de réécriture de DOM après chargement.
- Moins de JavaScript expédié.
- Les métadonnées des expériences restent minimes.
- Les conversions peuvent être comptabilisées globalement.
Le modèle d'îles de Fresh est utile car le JavaScript interactif est optionnel. La documentation Fresh décrit les îlots comme les parties interactives du client de la page, tandis que le reste reste rendu par le serveur. Voir Fresh documentation des îles.
Conclusion
Les tests A/B côté serveur ne consistent pas à ajouter plus de suivi. Il s'agit de prendre des décisions contrôlées en matière de produits ou de marketing avec moins de frais généraux. Attribuez des variantes avant le rendu, gardez les métadonnées propres, mesurez les conversions globales et arrêtez le test uniquement lorsque le résultat est suffisamment solide pour modifier ce que vous expédiez.
Cachez soigneusement
Les expériences côté serveur et la mise en cache peuvent entrer en conflit. Si un CDN met en cache la première variante rendue pour tout le monde, votre test est interrompu. Soit vous modifiez le cache en fonction de l'affectation de l'expérience, soit vous désactivez la mise en cache pleine page sur les routes d'expérimentation, soit vous déplacez la partie variable derrière une décision Edge ou serveur qui n'est pas mise en cache de manière incorrecte.
Documenter le comportement du cache avant le lancement. De nombreux tests A/B échouent non pas à cause de statistiques, mais parce que l'infrastructure a servi la variante A à presque tout le monde.
Terminez le test proprement
Lorsqu'un gagnant est choisi, supprimez la logique d'affectation, les cookies obsolètes et les propriétés d'événement spécifiques à l'expérience. Conservez une annotation dans Analytics avec la date de lancement. Les expériences obsolètes depuis longtemps rendent les tableaux de bord plus difficiles à lire et peuvent maintenir en vie des cookies ou des branches inutiles.
Gardez les expériences suffisamment petites pour pouvoir être maintenues
Chaque expérience ajoute une logique de branchement. Nommez clairement les expériences, définissez une date d'expiration et attribuez un propriétaire. Si un test ne peut pas être surveillé, terminé et nettoyé, il ne doit pas être lancé. Les meilleurs systèmes de test server-side sont ennuyeux : un point de décision, une métrique principale, un ticket de nettoyage.
Liste de contrôle des expériences de pré-lancement
Avant la mise en ligne d'une expérience server-side, confirmez la méthode d'affectation, le comportement du cache, l'événement d'exposition, la conversion principale, les métriques de garde-fou, la règle de taille d'échantillon, le propriétaire et la date de nettoyage. Si un cookie ou une session de serveur est utilisé pour l'affectation, documentez pourquoi il est nécessaire et combien de temps il dure.
Après le lancement, comparez le nombre d'expositions avec le trafic des pages et le nombre de conversions avec les enregistrements backend. Si l’expérience ne peut pas se terminer proprement, ou si ses événements révèlent des données de formulaire personnel, le test n’est pas prêt.
Cet article vous a-t-il été utile ?
Dites-nous ce que vous en pensez !
Avant de partir...
Flowsery
Des analyses orientées revenus pour votre site web
Suivez chaque visiteur, source et conversion en temps réel. Simple, puissant et entièrement conforme au RGPD.
Tableau de bord en temps réel
Suivi des objectifs
Suivi sans cookies
Articles connexes
Un guide pratique de suivi des tests A/B
Ce guide de suivi des tests A/B montre comment comparer les variantes avec des balises, mesurer les conversions et exécuter des expériences légères dans des analyses axées sur la confidentialité.
Un guide pratique de erreurs 404
Les erreurs 404 nuisent à l'expérience utilisateur, à la visibilité des recherches et aux conversions. Apprenez à repérer les pages cassées dans vos analyses, à hiérarchiser les problèmes les plus graves et à les résoudre avec des redirections et des liens plus propres.
Un guide pratique de analyse des pages de destination
Découvrez comment analyse des pages de destination influence les analytics respectueux de la vie privée, la qualité de mesure et les décisions concrètes pour un site web.