Experimentos: update

Requiere autorización

Actualizar un experimento. Consulta un ejemplo.

Además de los parámetros estándar, este método admite los parámetros que se enumeran en la tabla correspondiente.

Solicitud

Solicitud HTTP

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

Parámetros

Nombre de parámetro Valor Descripción
Parámetros de ruta
accountId string ID de cuenta del experimento que se actualizará.
experimentId string ID del experimento que se actualizará.
profileId string ID de vista (perfil) del experimento que se actualizará.
webPropertyId string ID de propiedad web del experimento que se actualizará.

Autorización

Esta solicitud requiere autorización con al menos uno de los ámbitos siguientes. Más información sobre la autenticación y la autorización

Alcance
https://www.googleapis.com/auth/analytics
https://www.googleapis.com/auth/analytics.edit

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporciona un recurso management.experiment con las propiedades siguientes:

Nombre de propiedad Valor Descripción Notas
Propiedades obligatorias
id string ID de experimento. Obligatorio para el parche y la actualización. No se permite para la creación.
name string Nombre del experimento. Este campo no se puede cambiar en un experimento cuyo estado sea ENDED. Este campo es obligatorio al crear un experimento. editable
status string Estado del experimento. Valores posibles: "DRAFT", "READY_TO_RUN", "RUNNING" y "ENDED". Los experimentos se pueden crear con el estado "DRAFT", "READY_TO_RUN" o "RUNNING". Este campo es obligatorio al crear un experimento. editable
variations[].name string Nombre de la variación. Este campo es obligatorio al crear un experimento. Este campo no se puede cambiar en un experimento cuyo estado sea ENDED. editable
Propiedades opcionales
description string Notas sobre este experimento. editable
editableInGaUi boolean Si el valor es true, el usuario final podrá editar el experimento mediante la interfaz de usuario de Google Analytics. editable
equalWeighting boolean Campo booleano que especifica si el tráfico se distribuirá uniformemente en todas las variaciones. Si el valor es "false", los experimentos de contenido siguen el comportamiento predeterminado de ajustar el tráfico dinámicamente según el rendimiento de las variaciones. Opcional; el valor predeterminado es "false". Este campo no se puede cambiar en un experimento cuyo estado sea ENDED. editable
minimumExperimentLengthInDays integer Número entero en [3, 90]. Especifica la duración mínima del experimento. Se puede cambiar en un experimento en ejecución. Este campo no se puede cambiar en un experimento cuyo estado sea ENDED. editable
objectiveMetric string Métrica que está optimizando el experimento. Valores válidos: "ga:goal(n)Completions", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions" y "ga:transactionRevenue". Este campo es obligatorio si el estado es "RUNNING" y servingFramework tiene el valor "REDIRECT" o "API". editable
optimizationType string Indica si objectiveMetric se debe minimizar o maximizar. Valores posibles: "MAXIMUM" y "MINIMUM". Opcional; el valor predeterminado es "MAXIMUM". No se puede especificar sin objectiveMetric. No se puede modificar si el estado es "RUNNING" o "ENDED". editable
rewriteVariationUrlsAsOriginal boolean Campo booleano que especifica si las URL de las variaciones se reescriben para coincidir con las originales. Este campo no se puede cambiar en un experimento cuyo estado sea ENDED. editable
servingFramework string Marco de trabajo utilizado para publicar las variaciones del experimento y evaluar los resultados. Uno de estos valores:
  • REDIRECT: Google Analytics redirecciona el tráfico a diferentes páginas de variaciones, registra la variación elegida y evalúa los resultados.
  • API: Google Analytics elige y registra la variación que se publicará, y evalúa los resultados; el objeto que ha realizado la llamada es responsable de publicar la variación seleccionada.
  • EXTERNAL: las variaciones se publicarán externamente y la variación elegida se notificará a Google Analytics. El objeto que ha realizado la llamada es responsable de publicar la variación seleccionada y de evaluar los resultados.
editable
trafficCoverage double Número de coma flotante entre 0 y 1. Especifica la fracción del tráfico que participa en el experimento. Se puede cambiar en un experimento en ejecución. Este campo no se puede cambiar en un experimento cuyo estado sea ENDED. editable
variations[] list Matriz de variaciones. La primera variación de la matriz es el original. El número de variaciones no se puede cambiar una vez que el experimento se encuentre en el estado RUNNING. Se requieren al menos dos variaciones para que el estado se pueda configurar como RUNNING. editable
variations[].status string Estado de la variación. Valores posibles: "ACTIVE" e "INACTIVE". Las variaciones con el estado INACTIVE no se publican. Este campo no se puede cambiar en un experimento cuyo estado sea ENDED. editable
variations[].url string URL de la variación. Este campo no se puede cambiar en un experimento cuyo estado sea RUNNING o ENDED. editable
winnerConfidenceLevel double Número de coma flotante entre 0 y 1. Especifica el nivel de confianza necesario para elegir un ganador. Este campo no se puede cambiar en un experimento cuyo estado sea ENDED. editable

Respuesta

Si se realiza correctamente, este método devuelve un recurso management.experiment en el cuerpo de la respuesta.

Ejemplos

Nota: Los ejemplos de código disponibles para este método no representan todos los lenguajes de programación admitidos (consulta la página de bibliotecas de cliente para obtener una lista de los lenguajes admitidos).

Java

Utiliza la biblioteca de 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

Utiliza la biblioteca de 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

Utiliza la biblioteca de 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

Utiliza la biblioteca de 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. });
}