Experiments: patch

Autorisation requise

Mettez à jour un test existant. Cette méthode est compatible avec la sémantique "patch". 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

PATCH 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 ID du compte du test à mettre à jour.
experimentId string Identifiant du test à mettre à jour.
profileId string ID de vue (de profil) du test à mettre à jour.
webPropertyId string ID de propriété Web du test à mettre à jour.

L'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

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, indiquez les parties pertinentes d'une ressource "management.experiment" en fonction des règles de la sémantique "patch", avec les propriétés suivantes:

Nom de propriété Valeur Description Notes
Propriétés obligatoires
id string ID de test. Obligatoire pour l'application de correctifs et de mises à jour. La création n'est pas autorisée.
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 de manière uniforme 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 manière dynamique en fonction des performances des variantes. Facultatif : la valeur par défaut est "False". Vous ne pouvez pas modifier ce champ si l'état d'un test est "ENDED". accessible en écriture
minimumExperimentLengthInDays integer Nombre entier compris entre [3, 90]. Indique la durée minimale du test. Peut être modifié pour un test en cours d'exécution. Vous ne pouvez pas modifier ce champ si l'état d'un test est "ENDED". accessible en écriture
name string Nom du test. Vous ne pouvez pas modifier ce champ si l'état d'un test est "ENDED". Ce champ est obligatoire lorsque vous créez un test. accessible en écriture
objectiveMetric string Métrique optimisée par le test. Valeurs correctes: "ga:goal(n)Completions", "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 l'élément "objectMetric" doit être minimisé ou maximisé. Valeurs possibles: "MAXIMUM", "minimum". Facultatif : la valeur par défaut est "MAXIMUM". Ne peut pas être spécifié sans objectifMetric. Ce paramètre ne peut pas être modifié lorsque l'état est "RUNNING" (En cours d'exécution) ou "ENDED" (ENDÉ). accessible en écriture
rewriteVariationUrlsAsOriginal boolean Booléen indiquant si les URL des variantes sont réécrites pour correspondre à celles de l'URL d'origine. Vous ne pouvez pas modifier ce champ si l'état d'un test est "ENDED". accessible en écriture
servingFramework string Structure utilisée pour diffuser les variantes du test et évaluer les résultats. Choix possible:
  • 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
status string État du test. Valeurs possibles: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Les tests peuvent être créés à l'état "BROUILLON", "READY_TO_RUN" ou "RUNNING". Ce champ est obligatoire lorsque vous créez un test. accessible en écriture
trafficCoverage double Nombre à virgule flottante compris entre 0 et 1. Indique la part du trafic qui participe au test. Peut être modifié pour un test en cours d'exécution. Vous ne pouvez pas modifier ce champ si l'état d'un test est "ENDED". accessible en écriture
variations[] list Tableau de variantes. La première variante du tableau est la variante d'origine. Le nombre de variantes ne peut pas changer lorsqu'un test est "EN COURS D'EXÉCUTION". Il faut au moins deux variantes pour que l'état puisse être défini sur "RUNNING" (En cours d'exécution). 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 si l'état d'un test est "ENDED". 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 si l'état d'un test est "ENDED". accessible en écriture
variations[].url string URL de la variante. Vous ne pouvez pas modifier ce champ si l'état d'un test est EN COURS D'EXÉCUTION ou TERMINÉ. accessible en écriture
winnerConfidenceLevel double Nombre à virgule flottante compris entre 0 et 1. Indique le niveau de confiance nécessaire pour choisir une combinaison gagnante. Vous ne pouvez pas modifier ce champ si l'état d'un test est "ENDED". accessible en écriture

Réponse

Lorsque cette méthode fonctionne, elle renvoie une ressource "management.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 patches an existing experiment with new variations.
Variations variationA = new Variations();
variationA.setName("Home A");
variationA.setUrl("homeA.html");
Variations variationB = new Variations();
variationB.setName("Home B");
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 Patch with the updated experiment.
  analytics.management().experiments().patch("123456", "UA-123456-1",
      "7654321", "12233344455555", 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 patches 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 patch method with the updated experiment.
  $analytics->management_experiments->patch('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 patches an existing experiment with a new name,
# and new variations.
try:
  analytics.management().experiments().patch(
      accountId='123456',
      webPropertyId='UA-123456-1',
      profileId='7654321',
      experimentId='ABCDEFG123456abcdefg',
      body={
          'name': 'Landing Page Test April',
          'variations': [
              {
                  'name': 'First Variation',
                  'url': 'index.html'
              },
              {
                  'name': 'Proposed Change',
                  'url': 'indexB.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 patches an existing experiment.
 */
function patchExperiment() {
  var request = gapi.client.analytics.management.experiments.patch(
    {
      '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. });
}