Experiments: update

Autorisation requise

Mettez à jour un test existant. Voir un exemple.

Outre les paramètres standards, cette méthode accepte les paramètres répertoriés dans le tableau des paramètres.

Requête

Requête HTTP

PUT https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/profiles/profileId/experiments/experimentId

Paramètres

Nom du paramètre Valeur Description
Paramètres de chemin d'accès
accountId string Numéro du compte du test à mettre à jour.
experimentId string Identifiant du test à mettre à jour.
profileId string ID de la vue (profil) du test à mettre à jour.
webPropertyId string ID de propriété Web du test à mettre à jour.

Autorisation

Une autorisation est requise pour cette requête. Celle-ci doit inclure au moins l'un des champs d'application suivants. En savoir plus sur le processus d'authentification et d'autorisation

Définition du champ d'application
https://www.googleapis.com/auth/analytics
https://www.googleapis.com/auth/analytics.edit

Corps de la requête

Dans le corps de la requête, fournissez une ressource de gestion.experiment avec les propriétés suivantes:

Nom de propriété Valeur Description Remarques
Propriétés obligatoires
id string ID du test. Requis pour les correctifs et les mises à jour. Création non autorisée.
name string Nom du test. Vous ne pouvez pas modifier ce champ pour un test dont l'état est ENDED. Ce champ est obligatoire lorsque vous créez un test. accessible en écriture
status string État du test. Valeurs possibles: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Vous pouvez créer un test à l'état "BROUILLON", "READY_TO_RUN" ou "RUNNING". Ce champ est obligatoire lorsque vous créez un test. accessible en écriture
variations[].name string Nom de la variante. Ce champ est obligatoire lorsque vous créez un test. Vous ne pouvez pas modifier ce champ pour un test dont l'état est ENDED. accessible en écriture
Propriétés facultatives
description string Remarques sur ce test. accessible en écriture
editableInGaUi boolean Si la valeur est "true", l'utilisateur final pourra modifier le test via l'interface utilisateur Google Analytics. accessible en écriture
equalWeighting boolean Booléen spécifiant si le trafic doit être réparti uniformément entre toutes les variantes. Si la valeur est "False", les tests de page de contenu suivent le comportement par défaut qui consiste à ajuster le trafic de façon dynamique en fonction des performances des variantes. Facultatif : la valeur par défaut est "False". Vous ne pouvez pas modifier ce champ pour un test dont l'état est ENDED. accessible en écriture
minimumExperimentLengthInDays integer Nombre entier compris entre [3, 90]. Indique la durée minimale du test. Ce paramètre peut être modifié pour un test en cours d'exécution. Vous ne pouvez pas modifier ce champ pour un test dont l'état est ENDED. accessible en écriture
objectiveMetric string Métrique optimisée par le test. Valeurs correctes: "ga:goal(n)Completes", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". Ce champ est obligatoire si l'état est "RUNNING" (En cours d'exécution) et que "servingFramework" est défini sur "REDIRECT" ou "API". accessible en écriture
optimizationType string Indique si la métrique "objectMetric doit être réduite ou maximisée". Valeurs possibles: "MAXIMUM", "Minimum". Facultatif : la valeur par défaut est "MAXIMUM". Impossible de spécifier la valeur sans objectifMetric. Ce paramètre ne peut pas être modifié lorsque l'état est "RUNNING" (En cours d'exécution) ou "ENDED" (Terminé). accessible en écriture
rewriteVariationUrlsAsOriginal boolean Booléen spécifiant si les URL des variantes sont réécrites pour correspondre à celles de l'original. Vous ne pouvez pas modifier ce champ pour un test dont l'état est ENDED. accessible en écriture
servingFramework string Framework utilisé pour diffuser les variantes du test et évaluer les résultats. Au choix:
  • REDIRECT: Google Analytics redirige le trafic vers différentes variantes de page, signale la variante choisie et évalue les résultats.
  • API: Google Analytics choisit et signale la variante à diffuser et évalue les résultats. L'appelant est responsable de la diffusion de la variante sélectionnée.
  • EXTERNAL: les variantes seront diffusées en externe et la variante choisie sera transmise à Google Analytics. L'appelant est responsable de la diffusion de la variante sélectionnée et de l'évaluation des résultats.
accessible en écriture
trafficCoverage double Nombre à virgule flottante compris entre 0 et 1. Indique la part du trafic participant au test. Ce paramètre peut être modifié pour un test en cours d'exécution. Vous ne pouvez pas modifier ce champ pour un test dont l'état est ENDED. accessible en écriture
variations[] list Tableau de variantes. La première variante du tableau est l'original. Le nombre de variantes ne peut pas changer lorsqu'un test est à l'état EN COURS D'EXÉCUTION. Il faut au moins deux variantes avant de pouvoir définir l'état sur "RUNNING" (En cours d'exécution). accessible en écriture
variations[].status string État de la variante. Valeurs possibles: "ACTIVE", "INACTIVE". Les variantes INACTIVE ne sont pas diffusées. Vous ne pouvez pas modifier ce champ pour un test dont l'état est ENDED. accessible en écriture
variations[].url string URL de la variante. Vous ne pouvez pas modifier ce champ pour un test dont l'état est "RUNNING" (En cours d'exécution) ou "ENDED" (Terminé). accessible en écriture
winnerConfidenceLevel double Nombre à virgule flottante compris entre 0 et 1. Spécifie le niveau de confiance nécessaire pour choisir une combinaison gagnante. Vous ne pouvez pas modifier ce champ pour un test dont l'état est ENDED. accessible en écriture

Réponse

Lorsque cette méthode fonctionne, elle renvoie une ressource de gestion.experiment dans le corps de la réponse.

Exemples

Remarque : Les langages de programmation compatibles ne figurent pas tous dans les exemples de code présentés pour cette méthode (consultez la page Bibliothèques clientes pour obtenir la liste des langages compatibles).

Java

Utilise la bibliothèque cliente Java.

/*
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Experiments Developer Guide for details.
 */


// This example updates an existing experiment with new variations.
Variations variationA = new Variations();
variationA.setName("Home Alpha");
variationA.setUrl("homeA.html");
Variations variationB = new Variations();
variationB.setName("Home Beta");
variationB.setUrl("homeB.html");
List<Variations> variations = Arrays.asList(variationA, variationB);

try {
  // First get an existing Experiment.
  Experiment body = analytics.management().experiments().get("123456",
      "UA-123456-1", "7654321", "122333444455555").execute();

  // Set the new variations.
  body.setVariations(variations);

  // Call Update with the updated experiment.
  analytics.management().experiments().update("123456", "UA-123456-1",
      "7654321", "122333444455555", body).execute();
} catch (GoogleJsonResponseException e) {
  System.err.println("There was a service error: "
      + e.getDetails().getCode() + " : "
      + e.getDetails().getMessage());
}

PHP

Utilise la bibliothèque cliente PHP.

/**
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Experiments Developer Guide for details.
 */

/**
 * This request updates an existing experiment.
 */

// Construct the first variation.
$variationA = new Google_Service_Analytics_ExperimentVariations();
$variationA->setName('VariationA');
$variationA->setUrl('index.html');

// Construct the second variation.
$variationB = new Google_Service_Analytics_ExperimentVariations();
$variationB->setName('VariationB');
$variationB->setUrl('indexB.html');

try {
  // Get an existing Experiment.
  $experiment = $analytics->management_experiments->get('123456',
      'UA-123456-1', '7654321', '122333444455555');

  // Set the new variations.
  $experiment->setVariations(array($variationA, $variationB));

  // Call the update method with the updated experiment.
  $analytics->management_experiments->update('123456', 'UA-123456-1',
      '7654321', '122333444455555', $experiment);
} catch (apiServiceException $e) {
  print 'There was an Analytics API service error '
      . $e->getCode() . ':' . $e->getMessage();

} catch (apiException $e) {
  print 'There was a general API error '
      . $e->getCode() . ':' . $e->getMessage();
}


Python

Utilise la bibliothèque cliente Python.

# Note: This code assumes you have an authorized Analytics service object.
# See the Experiments Developer Guide for details.

# This request updates an existing experiment with a new name,
# and new variations.
try:
  analytics.management().experiments().update(
      accountId='123456',
      webPropertyId='UA-123456-1',
      profileId='7654321',
      experimentId='ABCDEFG123456abcdefg',
      body={
          'name': 'Updated Test Title',
          'status': 'DRAFT',
          'variations': [
              {
                  'name': 'Checkout Page',
                  'url': 'checkout.html'
              },
              {
                  'name': 'Proposed Checkout Page',
                  'url': 'newCheckout.html'
              }
          ]
      }
  ).execute()

except TypeError, error:
  # Handle errors in constructing a query.
  print 'There was an error in constructing your query : %s' % error

except HttpError, error:
  # Handle API errors.
  print ('There was an API error : %s : %s' %
         (error.resp.status, error.resp.reason))

JavaScript

Utilise la bibliothèque cliente JavaScript

/*
 * Note: This code assumes you have an authorized Analytics client object.
 * See the Experiments Developer Guide for details.
 */

/*
 * This request updates an existing experiment.
 */
function updateExperiment() {
  var request = gapi.client.analytics.management.experiments.update(
    {
      'accountId': '123456',
      'webPropertyId': 'UA-123456-1',
      'profileId': '7654321',
      'experimentId': '122333444455555',
      'resource': {
        'name': 'Landing Page Test',
        'status': 'DRAFT',
        'variations': [
          {
            'name': 'VariationA',
            'url': 'index.html'
          },
          {
            'name': 'VariationB',
            'url': 'indexB.html'
          }
        ]
      }
    });
  request.execute(function (response) { // Handle the response. });
}