Experimentos: patch

Requiere autorización

Actualizar un experimento. Este método es compatible con la semántica de parches. Consultar 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

PATCH 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, indica las partes relevantes de un recurso management.experiment, según las reglas de la semántica de parches, 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.
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
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
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
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
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[].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
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 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

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

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

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 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. });
}