Experiments: patch

Requiere autorización

Actualiza un experimento existente. Este método es compatible con la semántica de parches. Ve un ejemplo.

Además de los parámetros estándar, este método admite los parámetros enumerados en la tabla de parámetros.

Solicitud

Solicitud HTTP

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

Parámetros

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

Autorización

Esta solicitud requiere autorización con al menos uno de los siguientes alcances (obtén más información acerca de la autenticación y 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 las partes relevantes de un recurso management.experiment de acuerdo con las reglas de semántica de parches, con las siguientes propiedades:

Nombre de la propiedad Valor Descripción Notas
Propiedades obligatorias
id string ID del experimento. Obligatorio para el parche y la actualización. No se permite para la creación.
Propiedades opcionales
description string Notas sobre este experimento. admite escritura
editableInGaUi boolean Si es verdadero, el usuario final podrá editar el experimento a través de la interfaz de usuario de Google Analytics. admite escritura
equalWeighting boolean Booleano que especifica si se debe distribuir el tráfico de manera uniforme entre todas las variaciones. Si el valor es Falso, los experimentos de contenido seguirán el comportamiento predeterminado de ajustar el tráfico de forma dinámica en función del rendimiento de la variación. Opcional: El valor predeterminado es falso. Este campo no se puede modificar en un experimento cuyo estado es ENDED. admite escritura
minimumExperimentLengthInDays integer Es un número entero en [3, 90]. Especifica la duración mínima del experimento. Se puede cambiar para un experimento en ejecución. Este campo no se puede modificar en un experimento cuyo estado es ENDED. admite escritura
name string Nombre del experimento. Este campo no se puede modificar en un experimento cuyo estado es ENDED. Este campo es obligatorio cuando se crea un experimento. admite escritura
objectiveMetric string Es la métrica que optimiza el experimento. Valores válidos: "ga:goal(n)Finisheds", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". Este campo es obligatorio si el estado es "RUNNING" y el valor de "ServingFramework" es "REDIRECT" o "API". admite escritura
optimizationType string Indica si el objetivoMetric debe minimizarse o maximizarse. Valores posibles: "MAXIMUM" y "minimum" Opcional: El valor predeterminado es "MAXIMUM". No se puede especificar sin metaMetric. No se puede modificar cuando el estado es "RUNNING" o "ENDED". admite escritura
rewriteVariationUrlsAsOriginal boolean Es un valor booleano que especifica si las URL de variaciones se reescriben para que coincidan con las del original. Este campo no se puede modificar en un experimento cuyo estado es ENDED. admite escritura
servingFramework string Es el marco de trabajo que se utiliza para publicar las variaciones del experimento y evaluar los resultados. Uno de los siguientes:
  • REDIRECT: Google Analytics redirecciona el tráfico a diferentes páginas de variaciones, informa la variación elegida y evalúa los resultados.
  • API: Google Analytics selecciona y, luego, informa la variación que publicará y evalúa los resultados. El llamador es responsable de entregar la variación seleccionada.
  • EXTERNO: Las variaciones se publicarán de forma externa, y la variación elegida se informará a Google Analytics. El llamador es responsable de entregar la variación seleccionada y evaluar los resultados.
admite escritura
status string Estado del experimento. Valores posibles: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Los experimentos pueden crearse en los estados "DRAFT", "READY_TO_RUN" o "RUNNING". Este campo es obligatorio cuando se crea un experimento. admite escritura
trafficCoverage double Es un número de punto flotante entre 0 y 1. Especifica la fracción del tráfico que participa en el experimento. Se puede cambiar para un experimento en ejecución. Este campo no se puede modificar en un experimento cuyo estado es ENDED. admite escritura
variations[] list Es un array de variaciones. La primera variación del array es la original. Es posible que la cantidad de variaciones no cambie una vez que el experimento se encuentre en estado RUNNING. Se requieren al menos dos variaciones para poder establecer el estado como RUNNING. admite escritura
variations[].name string Es el nombre de la variación. Este campo es obligatorio cuando se crea un experimento. Este campo no se puede modificar en un experimento cuyo estado es ENDED. admite escritura
variations[].status string Es el estado de la variante. Valores posibles: "ACTIVE", "INACTIVE". No se publican variaciones INACTIVE. Este campo no se puede modificar en un experimento cuyo estado es ENDED. admite escritura
variations[].url string Es la URL de la variante. No se puede modificar este campo en un experimento cuyo estado es RUNNING o ENDED. admite escritura
winnerConfidenceLevel double Es un número de punto flotante entre 0 y 1. Especifica el nivel de confianza necesario para elegir un ganador. Este campo no se puede modificar en un experimento cuyo estado es ENDED. admite escritura

Respuesta

Si se aplica correctamente, este método muestra 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 cliente para consultar una lista de lenguajes admitidos).

Java

Usa la biblioteca cliente de 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 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

Usa la biblioteca cliente de 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

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