10
votes

Comment choisir des variations pour plusieurs expériences de contenu?

J'utilise l'API JavaScript pour les expériences de contenu Google Analytics et il semble que vous ayez deux choix:

  1. Exécutez une expérience à la fois et google attribue à Google assignez la variation, que vous pouvez obtenir d'utiliser ChoixVariation () ou
  2. Exécutez plusieurs expériences à la fois et attribuez-vous la variation vous-même à l'aide de setchenenVariation ()

    (1) permet à Google contrôler le nombre d'utilisateurs attribués à chaque variation que j'ai besoin, mais j'ai plusieurs expériences. Cela semble assez basique. Qu'est-ce que je manque?


2 commentaires

Essayez-vous de réaliser quoi que ce soit en particulier? Ou juste curieux de savoir ce qui est possible en utilisant l'expérience de contenu de GA JS API?


@ NT_1 Mon patron a une douzaine d'expériences qu'il veut courir, beaucoup simultanément. Ce serait mieux si nous pouvions contrôler ces expériences de GA.


4 Réponses :


2
votes

Lorsque vous utilisez de nombreuses expériences simultanément, le problème est que si vous avez des visiteurs d'une expérience qui interagissent avec des éléments d'une autre expérience exécutée sur votre site, il est difficile de prendre en compte ces effets interactifs. Cela inclinera vos données et conduira à des conclusions défectueuses.Si vous êtes absolument confiant dans la manière d'analyser plusieurs expériences simultanées, c'est bon être sûr et exécuté une expérience à la fois.


1 commentaires

Ne cherche pas une explication de la raison pour laquelle je ne devrais pas vouloir faire ce que je veux en fait faire, mais merci.



19
votes

Je ne pense pas que tu ne manques rien. Ma compréhension est que l'API d'expériences GA vous permet d'attribuer un visiteur à n'importe quelle version d'un seul test A / B / N avec le Choisissez la commande de variation : xxx

Toutefois, cette fonction est uniquement disponible si vous spécifiez l'ID d'expérimentation lors du chargement de l'API.js sur la page.

Si ce que vous voulez faire est de Exécuter plusieurs tests A / B sur une seule page en même temps , il s'agit vraiment de tests multi-variations et malheureusement, cela n'est pas disponible " Expériences sur le contenu de GA (utilisée pour être disponible avec Google Site Web Optimizer). Vous pouvez toujours le faire "simuler" à l'aide de votre propre seau, avec code comme: xxx

Vous devrez décider si vous voulez que un visiteur ne visionne que une expérience à la fois ou Entrez plusieurs expériences simultanément.

La première option est probablement plus fiable mais signifie que vous devrez diviser votre visiteur dans de nombreux godets, ce qui signifie que vos tests prendront beaucoup de temps avant de renvoyer un résultat.

Si vous utilisez la deuxième option, vous devez faire attention: si vos expériences ne sont pas indépendantes, vous ne pourrez pas faire confiance aux résultats des tests de Google Analytics, car les tests statistiques utilisés dans les expériences de contenu assument l'indépendance. Même si vos expériences sont indépendantes, vous devrez avoir une scission égale parmi toutes les combinaisons de variation.

J'espère que cela aide!


3 commentaires

Merci, c'est exactement ce que je faire, mais je me sentais stupide parce que cela semblait être réinventé de la roue. Nous avons effectué un test multi-variation brut: attribuer des scissions égales à aléatoire et uniquement tester (apparemment) parties non liées de l'interface utilisateur.


Quelqu'un pourrait-il fournir un exemple complet du code qui devrait être utilisé? Je suppose que le code fourni par NT_1 est juste pour l'orientation, mais doit être complété / modifié pour le faire fonctionner, non? J'ai posé une question à ce sujet dans une question séparée ( Stackoverflow.com/Questtions/23524229/... ) sans réponses jusqu'à présent.


Mais comment définissez-vous le chrosenvariation dans setchenenVariation () Si vous ne connaissez pas le nombre total de variations disponibles à choisir?



2
votes

j'ai résolu ceci à l'aide d'un script nœud.js.

Les expériences de contenu Google hors de la boîte vous font choisir entre:

  • Charger CXAPI patché uniquement pour 1 Expérience
  • Chargez la plaine CXAPI et perdez la possibilité d'appeler la fonction ChoisirVariation (), vous permettant de mettre en œuvre votre propre algorithme de choix (qui est une honte, car l'idée de bandit multi-armé de Google est vraiment intelligente).

    Donc, j'ai fait de l'ingénierie inverse sur la manière dont Google CXAPI JS est corrigé pour 1 expériennement, il l'empêche, il suffit simplement d'appuyer sur les informations d'expérience (les variations de poids) au milieu du fichier, j'ai expérimenté la touche touchante le paquet ajoutant manuellement plusieurs expériences, et maintenant je peux appeler cxapi.choosevariation (expérimentation) pour chaque expérience et fonctionne bien!

    Les poids changent tous les 12hs, donc je l'ai automatisé, j'ai créé une petite application nœud.js qui téléchargera CXAPI de Google, puis téléchargez-la à plusieurs reprises pour chaque expérience que vous spécifiez et corrigez une CXAPI avec toutes vos expériences.

    voile !, plusieurs expériences sur n'importe quelle page.

    Voici le repo: https://github.com/benjamine/mutagen , fourchette à volonté

    Cette application nœud.js corrigera CXAPI pour plusieurs expériences et comportera également (et minifiez) vos variations


0 commentaires

2
votes

Cette solution fonctionne très bien pour moi. Les avantages sont:

  • pas nœud.js requis li>
  • aucune modification du site nécessaire - le site reste entièrement cachable li>
  • Approche Google Multi-armée-Bandit utilisée, pas de patch li>
  • facilement maintenable li> ul>

    Module JavaScript fournissant toutes les fonctionnalités d'exécution de plusieurs expériences Google: strong> p>

    <?php
    
    use UnitedPrototype\GoogleAnalytics;
    
    require_once dirname(__FILE__) . '/libs/googleAnalytics/Experiment.php';
    
    $experimentId = (!empty($_GET['experimentId'])) ? $_GET['experimentId'] : null;
    
    $returnData = array(
        'experimentId' => $experimentId,
    );
    
    try {
        $experiment = new GoogleAnalytics\Experiment($experimentId);
    
        $variation = $experiment->chooseNewVariation();
    
        if (is_integer($variation)) {
    
            $returnData['success'] = true;
            $returnData['choosenVariation'] = $variation;
        }
    
    } catch (Exception $exception) {
    
        $returnData['success'] = false;
        $returnData['error'] = $exception;
    }
    
    header('Content-Type: application/json');
    
    echo json_encode($returnData);
    


10 commentaires

Hkandulla, pourriez-vous fournir une explication (comment l'utiliser, où mettre chaque code, quels éléments du code doivent être modifiés / personnalisés pour chaque site Web ou test ...), pas seulement les extraits de code? Si vous le souhaitez, vous pouvez également l'inclure comme une réponse à ma question Stackoverflow.com/Questtions/23524229/... merci!


Salut Migueltic, désolé pour ma réponse tardive. Le code PHP passe dans un seul fichier PHP (API-API.PI.PI.PI.PI.PI.PI.PI.PI-API.PI.PI. / API.PI-API.PI. Ceci fonctionne comme une API et le JavaScript appelle ce fichier via Tjax. Le module JavaScript doit être inclus dans votre fichier HTML (tête!) Après avoir inclus www.google-analytics.com/cx/api.js . Le JavaScript Snippet peut aller n'importe où après avoir inclus le module JavaScript .


J'espère que cela pourra aider. Sinon, laissez-moi savoir!


Merci Hkandulla, je pense que je comprends bien mieux maintenant. Nous devons également télécharger le fichier php-gacx sur /libs/googleanalytics/experiment.php, non? Et la seule chose que nous devons changer de tout ce code est l'extrait JavaScript avec l'identifiant de chaque test et les changements de jQuery que nous voulons faire pour le test, non?


Oui, téléchargez cette classe GithUB.com/thomasbachem/php-gacx et inclure-le dans votre propre API (Script PHP comme ci-dessus) - Je l'ai appelé Ga-Experiments-Api.php. Vous devriez que l'API devrait fonctionner lorsque vous l'appelez comme ça /ga-experiments-api.php?experimentid dans le navigateur. L'expérimentation doit être valide.


Je pense que j'ai suivi les étapes correctement, mais cela ne fonctionne pas du tout pour moi (les variations de test ne sont jamais affichées et que l'AG n'enregistre pas de sessions dans le tableau de bord expérimenté). Pourriez-vous examiner rapidement le code source de mon site ( efetic.com ) au cas où vous pouvez voir Qu'est-ce que je fais mal, s'il vous plaît? Merci encore!


J'ai regardé votre site. Les expériences Ga-expériences-API.PHP ne sont pas correctement connectées à GA. Je retourne: {"expérimentation": "nkele64zrxkgv7umrln11q", "succès": false, "erreur": {}}. Malheureusement, le "$ retourné [" erreur "] = $ exception;" ne renvoie pas l'exception réelle, donc je ne peux pas voir quel est le problème réel. Vous devez déboguer le script PHP - appelez-le à travers cette URL: /ga-experiments-api.php?experimentsId=nkele64zrxkgv7umrln11q et sortie / débogage des variables ($ Expérimentez, $ variation) à l'intérieur de la clause TRY-CLAUSE. Cela devrait vous donner une idée où le problème est créé.


J'ai découvert ce qui causait l'erreur (CURL n'était pas installé sur mon serveur). Maintenant, c'est résolu, mais cela ne montre toujours pas que les variations et l'AG n'enregistrent rien dans le tableau de bord expérimenté. Je ne sais pas si c'est lié, mais quand je rechargez /ga-experiments-api.php?experimentsid=nkele64zrxkgv7umrln11q, il affiche une "évité de choix" différente à chaque fois (comme si elle est attribuée au hasard chaque fois que la page charge). Cela ne devrait pas travailler comme ça, non? Tout indice sur quel est le problème sous-jacent?


Je pense que tu es presque là! L'API semble fonctionner bien. La raison pour laquelle vous ne voyez rien n'est à l'intérieur de l'ajax.success var chenosenvariation = data.choosenvariation; retourne "indéfini". Je pense que c'est parce que vous jQuery est trop vieux (1.12). Pourriez-vous s'il vous plaît mettre à jour votre jQuery et laissez-moi savoir quand c'est fait.


J'ai mis à jour JQuery à 1.7.1. Maintenant, il montre les variations, mais ne fonctionne pas OK: lorsque je le rechargez, il modifie la variation montrée et je pense que cela ne montre que la variation du test dont le code apparaît ci-dessous (je ne faisais que la variation d'un test, a changé l'ordre du Les scripts de test, puis l'autre test a commencé montrant et le premier a cessé de montrer). Il n'y a pas de données dans les panneaux GA (j'ai attendu comme 15 heures) et il manifeste toujours une autre "évité de choix" chaque fois que je rechargez /ga-experiments-api.php?experimentérieur=nkele64zrxkgv7umrln11q Merci pour votre patience, Hkandulla!