Je souhaite savoir s'il est possible d'effectuer un test A/B sur différentes versions de la même URL à l'aide de Google Analytics.
Jusqu'à présent, j'ai effectué des tests A/B sur différentes URL, telles que xxx1.html
et xxx2.html
, puis comparé les deux.
Mais ce que je veux faire est de faire un test A/B avec la même URL, mais avec la version actuelle et une version à venir. Est-ce possible?
Vous pouvez le faire en utilisant l’API de contenu. Son installation est un peu déroutante, mais voici quelques astuces qui suivent ce guide: https://developers.google.com/analytics/solutions/experiments-client-side
Vous avez d’abord besoin d’un script javascript/jQuery dans la zone de tête (ish) de votre modèle. Chaque function()
dans expVers[]
est une variante de l’expérience. Vous pouvez en faire autant que vous le souhaitez, mais 2 ou 3 semblent donner les meilleurs résultats, l'un des 3 étant rapidement pondéré par Google (quelques jours). C'est un pseudo-code pour ajouter une classe rouge ou orange à btn:
<!-- Include the content API snippet above this. The Google hosted snippet can fail for some reasons so I paste it in. -->
<script type="text/javascript">
// Set variants as indices
var getIndex = cxApi.chooseVariation(),
expVers = [
function() {
log = 'Variant 1';
$('.btn').addClass('red');
},
function() {
log = 'Variant 2';
$('.btn').addClass('orange');
}
];
</script>
Donc, ceux-ci sont définis, nous devons maintenant déclencher un changement pour l'utilisateur après le chargement du DOM. C'est un peu plus simple, mettez-le ci-dessous comme dans votre pied de page:
<script type="text/javascript">
// Trigger and show variant to user
$(function() {
expVers[getIndex]();
console.log(log);
});
</script>
Maintenant, il y a 3 choses à considérer que le guide ne parle pas vraiment.
1) Vous ne pouvez pas supprimer des expériences passées [sans utiliser l'API d'analyse]. Alors, créez une nouvelle propriété à tester au lieu de la faire sur votre propriété principale. Vous ne voulez pas ajouter à votre propriété principale des expériences de test, d'échec ou autre.
2) Assurez-vous que votre adresse IP est ignorée par un filtre Google Analytics, sans quoi vos tests risquent d'obtenir des résultats décevants. Ces expériences sont basées sur des cookies. Ainsi, lorsque vous testez, vous pouvez tester les variantes de changement ou la pondération en supprimant votre cookie GA et en l'actualisant. Ou si vous utilisez cette méthode , vous pouvez créer une chaîne de requête pour "forcer" une variante à s'afficher pendant les tests. De plus, dans les extraits ci-dessus, il y a une journalisation. Ceci est important pour diverses raisons, telles que des modifications plus ambiguës ou "cachées" qui ne sont pas nécessairement faciles à voir. Appuyez sur F12 (inspecteur de chrome) et appuyez sur l'onglet console. Vous verrez quelle variante a été déclenchée ou toute autre information que vous souhaitez ajouter aux journaux.
3) Comme cette expérience est du côté client, il peut y avoir/il y aura une situation FOUC pour un moment comme la page premiers chargements pour au moins 1 pool de variantes. Ce que je veux dire par là, c'est que vous testez 3 couleurs de boutons. Ils sont bleus par défaut et vous effectuez une expérience pour tester également les variantes rouge et orange. Ainsi, un utilisateur frappe, voit les boutons bleus pendant un moment, puis JS entre en jeu et les modifie en rouge ou en orange. Cela se produit en raison du délai avant que DOM ne soit prêt (JS ne s'exécute pas avant DOM, par exemple).
Il existe différentes manières de gérer cela, telles que rendre les boutons invisibles avec CSS ou créer une superposition de chargement, jusqu'à ce que JS soit chargé et rendu visible. Chaque instance/site/thème peut nécessiter une manière différente de "masquer" ceci pour éviter les FOUC ou tout scintillement, etc. S'il ne s'agit que d'un changement mineur, peut-être pourrez-vous vivre avec ... mais un FOUC/scintillement avec des changements plus importants peut affecter légèrement les résultats de votre test. Pensez à un logo scintillant par exemple. Ou bien un utilisateur sur une connexion très lente ayant un délai énorme avant que JS n'intervienne. Bonne chance d'expérimenter!
Oui.
Une solution consiste à utiliser l'API d'expérimentation de contenu: https://developers.google.com/analytics/solutions/experiments-client-side . Pour l’essentiel, vous allez utiliser JavaScript pour créer les variations et laisser l’API indiquer à la page laquelle afficher. Si vous êtes à l'aise avec JS, cela semble être la voie à suivre.
Bien entendu, d’autres services tels que Optimizely, VWO, Unbounce, etc. peuvent gérer l’essentiel de ce processus, vous n’avez donc pas besoin d’écrire le JS. Cependant, tout le monde ne travaillera probablement pas pour votre situation spécifique.
ne autre méthode
Dans mon cas, l’application côté serveur s’est chargée de servir le fichier A/B et il s’agissait de modèles distincts. Je préférerais ne pas utiliser JavaScript pour manipuler le DOM pour mes modifications ... ce qui me semble limité et souffre également de la situation FOUC mentionnée dans la réponse sélectionnée.
Nous avons envoyé un événement personnalisé à Google Analytics après l'envoi de la "page view".
Envoyez d’abord un événement personnalisé à Google Analytics
// For an "A" visitor:
ga('send', 'pageview');
ga('send', 'event', 'Visitor Variant', 'A', '', { nonInteraction: true });
// and for a "B" visitor:
ga('send', 'pageview');
ga('send', 'event', 'Visitor Variant', 'B', '', { nonInteraction: true });
Le drapeau "non-interaction" est nécessaire ou cet événement comptera comme une deuxième page vue, réduisant artificiellement votre taux de rebond à 0% pour tous les visiteurs.
Ensuite, comparez A/B dans Google Analytics via des segments
Pour la création de rapports, créez simplement des segments dans Google Analytics en utilisant la "Catégorie d'événement" de "Variante de visiteur" et "Action d'événement" de "A" ou "B". Les étiquettes de "Variante de visiteur", "A" et "B" sont toutes personnalisées et vous pouvez les modifier comme vous le souhaitez, à condition qu'elles correspondent dans le code JavaScript ci-dessus et dans Google Analytics.
Disclaimer
Ce n'est probablement pas l'utilisation canonique des événements personnalisés de Google Analytics, mais c'est ce qui a été fait pour moi.