Experiments: update

Memerlukan otorisasi

Memperbarui eksperimen yang ada. Lihat contoh.

Selain parameter standar, metode ini mendukung parameter yang tercantum dalam tabel parameter.

Permintaan

Permintaan HTTP

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

Parameter

Nama parameter Nilai Deskripsi
Parameter jalur
accountId string ID akun eksperimen yang akan diperbarui.
experimentId string ID eksperimen dari eksperimen yang akan diperbarui.
profileId string ID Tampilan (Profil) eksperimen yang akan diperbarui.
webPropertyId string ID properti web eksperimen yang akan diperbarui.

Otorisasi

Permintaan ini memerlukan otorisasi dengan setidaknya salah satu cakupan berikut (baca selengkapnya tentang autentikasi dan otorisasi).

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

Isi permintaan

Dalam isi permintaan, berikan resource management.experiment dengan properti berikut:

Nama properti Nilai Deskripsi Catatan
Properti yang Diperlukan
id string ID Eksperimen. Diperlukan untuk patch dan update. Tidak diizinkan untuk membuat.
name string Nama eksperimen. Kolom ini tidak dapat diubah untuk eksperimen yang statusnya adalah ENDED. Kolom ini wajib diisi saat membuat eksperimen. dapat ditulis
status string Status eksperimen. Nilai yang mungkin: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Eksperimen dapat dibuat dalam status "DRAF", "READY_TO_RUN", atau "RUNNING". Kolom ini wajib diisi saat membuat eksperimen. dapat ditulis
variations[].name string Nama variasi. Kolom ini wajib diisi saat membuat eksperimen. Kolom ini tidak dapat diubah untuk eksperimen yang statusnya adalah ENDED. dapat ditulis
Properti Opsional
description string Catatan tentang eksperimen ini. dapat ditulis
editableInGaUi boolean Jika true (benar), pengguna akhir akan dapat mengedit eksperimen melalui antarmuka pengguna Google Analytics. dapat ditulis
equalWeighting boolean Boolean yang menentukan apakah akan mendistribusikan traffic secara merata di semua variasi. Jika nilainya False, eksperimen konten akan mengikuti perilaku default penyesuaian traffic secara dinamis berdasarkan performa variasi. Opsional -- defaultnya adalah False. Kolom ini tidak dapat diubah untuk eksperimen yang statusnya adalah ENDED. dapat ditulis
minimumExperimentLengthInDays integer Bilangan bulat di [3, 90]. Menentukan durasi minimum eksperimen. Dapat diubah untuk eksperimen yang sedang berjalan. Kolom ini tidak dapat diubah untuk eksperimen yang statusnya adalah ENDED. dapat ditulis
objectiveMetric string Metrik yang dioptimalkan oleh eksperimen. Nilai yang valid: "ga:goal(n)Completions", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". Kolom ini wajib diisi jika statusnya adalah "RUNNING" dan serveFramework adalah salah satu dari "REDIRECT" atau "API". dapat ditulis
optimizationType string Apakah objektifMetric harus diminimalkan atau dimaksimalkan. Nilai yang mungkin: "MAXIMUM", "MINIMUM". Opsional--ditetapkan secara default ke "MAXIMUM". Tidak dapat ditentukan tanpa objektifMetric. Tidak dapat diubah jika status adalah "RUNNING" atau "ENDED". dapat ditulis
rewriteVariationUrlsAsOriginal boolean Boolean yang menentukan apakah variasi URL ditulis ulang agar cocok dengan yang asli. Kolom ini tidak dapat diubah untuk eksperimen yang statusnya adalah ENDED. dapat ditulis
servingFramework string Kerangka kerja yang digunakan untuk menayangkan variasi eksperimen dan mengevaluasi hasilnya. Salah satu dari:
  • PENGALIHAN: Google Analytics mengalihkan traffic ke halaman variasi yang berbeda, melaporkan variasi yang dipilih, dan mengevaluasi hasilnya.
  • API: Google Analytics memilih dan melaporkan variasi untuk menayangkan dan mengevaluasi hasilnya; pemanggil bertanggung jawab untuk menayangkan variasi yang dipilih.
  • EKSTERNAL: Variasi akan ditayangkan secara eksternal dan variasi yang dipilih dilaporkan ke Google Analytics. Pemanggil bertanggung jawab untuk menayangkan variasi yang dipilih dan mengevaluasi hasilnya.
dapat ditulis
trafficCoverage double Bilangan floating point antara 0 dan 1. Menentukan bagian traffic yang berpartisipasi dalam eksperimen. Dapat diubah untuk eksperimen yang sedang berjalan. Kolom ini tidak dapat diubah untuk eksperimen yang statusnya adalah ENDED. dapat ditulis
variations[] list Array variasi. Variasi pertama dalam array adalah yang asli. Jumlah variasi tidak dapat berubah setelah percobaan dalam status BERJALAN. Setidaknya diperlukan dua variasi sebelum status dapat disetel ke BERLARI. dapat ditulis
variations[].status string Status variasi. Nilai yang mungkin: "ACTIVE", "INACTIVE". Variasi yang TIDAK AKTIF tidak ditayangkan. Kolom ini tidak dapat diubah untuk eksperimen yang statusnya adalah ENDED. dapat ditulis
variations[].url string URL variasi. Kolom ini tidak dapat diubah untuk eksperimen yang statusnya RUNNING atau ENDED. dapat ditulis
winnerConfidenceLevel double Bilangan floating point antara 0 dan 1. Menentukan tingkat keyakinan yang diperlukan untuk memilih pemenang. Kolom ini tidak dapat diubah untuk eksperimen yang statusnya adalah ENDED. dapat ditulis

Respons

Jika berhasil, metode ini akan menampilkan resource management.experiment di isi respons.

Contoh

Catatan: Contoh kode yang tersedia untuk metode ini tidak merepresentasikan semua bahasa pemrograman yang didukung (lihat halaman library klien untuk mengetahui daftar bahasa yang didukung).

Java

Menggunakan library klien 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

Menggunakan library klien 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

Menggunakan library klien 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

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