Experiments: patch

Richiede l'autorizzazione

Aggiornare un esperimento esistente. Questo metodo supporta la semantica della patch. Vedi un esempio.

Oltre ai parametri standard, questo metodo supporta quelli elencati nella tabella dei parametri.

Richiesta

Richiesta HTTP

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

Parametri

Nome del parametro Valore Descrizione
Parametri del percorso
accountId string ID account dell'esperimento da aggiornare.
experimentId string L'ID esperimento dell'esperimento da aggiornare.
profileId string Visualizza l'ID (profilo) dell'esperimento da aggiornare.
webPropertyId string ID proprietà web dell'esperimento da aggiornare.

Autorizzazione

Questa richiesta richiede l'autorizzazione con almeno uno dei seguenti ambiti (scopri di più su autenticazione e autorizzazione).

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

Corpo della richiesta

Nel corpo della richiesta, fornisci le parti pertinenti di una risorsa management.experiment, in base alle regole della semantica delle patch, con le seguenti proprietà:

Nome proprietà Valore Descrizione Note
Proprietà obbligatorie
id string ID esperimento. Obbligatorio per la patch e l'aggiornamento. Non consentita per la creazione.
Proprietà facoltative
description string Note su questo esperimento. scrivibile
editableInGaUi boolean Se il valore è true, l'utente finale può modificare l'esperimento tramite l'interfaccia utente di Google Analytics. scrivibile
equalWeighting boolean Valore booleano che specifica se distribuire il traffico in modo uniforme tra tutte le varianti. Se il valore è False, gli esperimenti sui contenuti seguono il comportamento predefinito di aggiustamento del traffico in base al rendimento della variante. Facoltativo: il valore predefinito è False. Questo campo non può essere modificato per un esperimento il cui stato è ENDED. scrivibile
minimumExperimentLengthInDays integer Un numero intero compreso tra [3, 90]. Specifica la durata minima dell'esperimento. Può essere modificato per un esperimento in esecuzione. Questo campo non può essere modificato per un esperimento il cui stato è ENDED. scrivibile
name string Nome dell'esperimento. Questo campo non può essere modificato per un esperimento il cui stato è ENDED. Questo campo è obbligatorio durante la creazione di un esperimento. scrivibile
objectiveMetric string La metrica ottimizzata dall'esperimento. Valori validi: "ga:goal(n)Completes", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". Questo campo è obbligatorio se lo stato è "RUNNING" e ServingFramework è uno di "REDIRECT" o "API". scrivibile
optimizationType string Indica se obiettivoMetric deve essere ridotto al minimo o massimizzato. Valori possibili: "MAXIMUM", "MAXIMUM". Facoltativo: il valore predefinito è "MAXIMUM". Non può essere specificato senza objectMetric. Non può essere modificato quando lo stato è "IN ESECUZIONE" o "ENDED". scrivibile
rewriteVariationUrlsAsOriginal boolean Valore booleano che specifica se gli URL delle varianti devono essere riscritti per corrispondere a quelli dell'originale. Questo campo non può essere modificato per un esperimento il cui stato è ENDED. scrivibile
servingFramework string Il framework utilizzato per pubblicare le varianti dell'esperimento e valutare i risultati. Uno dei seguenti:
  • REINDIRIZZAMENTO: Google Analytics reindirizza il traffico a diverse pagine delle varianti, registra la variante scelta e valuta i risultati.
  • API: Google Analytics sceglie e segnala la variante per pubblicare e valuta i risultati; il chiamante è responsabile della pubblicazione della variante selezionata.
  • ESTERNA: le varianti verranno pubblicate esternamente e la variante scelta verrà segnalata a Google Analytics. Il chiamante è responsabile della pubblicazione della variante selezionata e della valutazione dei risultati.
scrivibile
status string Stato dell'esperimento. Valori possibili: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Gli esperimenti possono essere creati nello stato "BOZZA", "READY_TO_RUN" o "IN ESECUZIONE". Questo campo è obbligatorio durante la creazione di un esperimento. scrivibile
trafficCoverage double Un numero in virgola mobile compreso tra 0 e 1. Specifica la frazione di traffico che partecipa all'esperimento. Può essere modificato per un esperimento in esecuzione. Questo campo non può essere modificato per un esperimento il cui stato è ENDED. scrivibile
variations[] list Array di varianti. La prima variante dell'array è l'originale. Quando un esperimento è in stato IN ESECUZIONE, il numero di varianti può non cambiare. Sono necessarie almeno due varianti prima di poter impostare lo stato su IN ESECUZIONE. scrivibile
variations[].name string Il nome della variante. Questo campo è obbligatorio durante la creazione di un esperimento. Questo campo non può essere modificato per un esperimento il cui stato è ENDED. scrivibile
variations[].status string Stato della variante. Valori possibili: "ACTIVE", "INACTIVE". Le varianti INACTIVE non vengono pubblicate. Questo campo non può essere modificato per un esperimento il cui stato è ENDED. scrivibile
variations[].url string L'URL della variante. Questo campo non può essere modificato per un esperimento il cui stato è IN ESECUZIONE o TERMINATO. scrivibile
winnerConfidenceLevel double Un numero in virgola mobile compreso tra 0 e 1. Specifica il livello di confidenza necessario per scegliere un vincitore. Questo campo non può essere modificato per un esperimento il cui stato è ENDED. scrivibile

Risposta

Se l'esito è positivo, questo metodo restituisce una management.experiment resource nel corpo della risposta.

Esempi

Nota: gli esempi di codice disponibili per questo metodo non rappresentano tutti i linguaggi di programmazione supportati (consulta la pagina relativa alle librerie client per un elenco dei linguaggi supportati).

Java

Utilizza la libreria client 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

Utilizza la libreria client 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

Utilizza la libreria client 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

Utilizza la libreria client 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. });
}