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 cadena ID de cuenta del experimento que se actualizará.
experimentId cadena ID del experimento que se actualizará.
profileId cadena ID de vista (perfil) del experimento que se actualizará.
webPropertyId cadena 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 cadena ID de experimento. Obligatorio para el parche y la actualización. No se permite para la creación.
Propiedades opcionales
description cadena Notas sobre este experimento. editable
editableInGaUi booleano Si el valor es "true", el usuario final podrá modificar el experimento mediante la interfaz de usuario de Google Analytics. editable
equalWeighting booleano 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 entero 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 cadena 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 cadena 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 cadena 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 booleano 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 cadena 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 cadena 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 doble Número de punto 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 cadena 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 cadena 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 cadena URL de la variación. Este campo no se puede cambiar en un experimento cuyo estado sea RUNNING o ENDED. editable
winnerConfidenceLevel doble Número de punto 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. });
}