Требуется авторизация
Обновляет существующий эксперимент. Этот метод поддерживает семантику PATCH. Пример.
Помимо стандартных параметров, этот метод поддерживает перечисленные в таблице ниже.
Запрос
HTTP-запрос
PATCH https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/profiles/profileId/experiments/experimentId
Параметры
Название параметра | Значение | Описание |
---|---|---|
Параметры пути | ||
accountId |
string |
Идентификатор аккаунта для обновляемого эксперимента. |
experimentId |
string |
Идентификатор обновляемого эксперимента. |
profileId |
string |
Идентификатор представления (профиля) для обновляемого эксперимента. |
webPropertyId |
string |
Идентификатор веб-ресурса для обновляемого эксперимента. |
Авторизация
Для выполнения этого запроса требуется авторизация как минимум в одной из следующих областей доступа. Подробнее...
Область доступа |
---|
https://www.googleapis.com/auth/analytics |
https://www.googleapis.com/auth/analytics.edit |
Тело запроса
В теле запроса требуется предоставить части ресурса management.experiment со следующими свойствами в соответствии с правилами семантики PATCH:
Название свойства | Значение | Описание | Примечания |
---|---|---|---|
Обязательные свойства | |||
id |
string |
Идентификатор эксперимента. Обязательное поле для методов patch и update. Не используется в методе create. | |
Необязательные свойства | |||
description |
string |
Описание эксперимента. | Можно редактировать |
editableInGaUi |
boolean |
Указывает, может ли конечный пользователь редактировать эксперимент через интерфейс Google Analytics (значение true). | Можно редактировать |
equalWeighting |
boolean |
Логическое значение, задающее равномерное распределение трафика между всеми вариантами. Если задано значение false, эксперименты со страницами будут происходить в соответствии с заданным по умолчанию поведением с динамической корректировкой трафика на основе эффективности вариантов. Необязательный параметр, по умолчанию равный false. Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. | Можно редактировать |
minimumExperimentLengthInDays |
integer |
Целое число в диапазоне [3, 90], которое определяет минимальную продолжительность эксперимента и может изменяться во время его проведения. Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. | Можно редактировать |
name |
string |
Название эксперимента. Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. Обязательно при создании эксперимента. | Можно редактировать |
objectiveMetric |
string |
Показатель, который оптимизируется в рамках эксперимента. Допустимые значения: ga:goal(n)Completions, ga:adsenseAdsClicks, ga:adsenseAdsViewed, ga:adsenseRevenue, ga:bounces, ga:pageviews, ga:sessionDuration, ga:transactions, ga:transactionRevenue. Если эксперимент имеет статус RUNNING, а параметр servingFramework имеет значение REDIRECT или API, это поле является обязательным. | Можно редактировать |
optimizationType |
string |
Указывает, требуется ли добиться минимального или максимального значения параметра objectiveMetric. Допустимые значения: MAXIMUM, MINIMUM. Необязательный параметр, по умолчанию равный MAXIMUM. Задается только вместе с параметром objectiveMetric и не может изменяться для экспериментов со статусом RUNNING или ENDED. | Можно редактировать |
rewriteVariationUrlsAsOriginal |
boolean |
Логическое значение, позволяющее перезаписывать URL вариантов в соответствии с URL исходной страницы. Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. | Можно редактировать |
servingFramework |
string |
Платформа для показа и анализа вариантов эксперимента. Допустимые значения:
|
Можно редактировать |
status |
string |
Статус эксперимента. Допустимые значения: DRAFT, READY_TO_RUN, RUNNING, ENDED. Создаваемому эксперименту можно присваивать первые три статуса. При создании эксперимента это поле является обязательным. | Можно редактировать |
trafficCoverage |
double |
Число с плавающей запятой в диапазоне от 0 до 1. Определяет долю трафика, включаемую в эксперимент, и может изменяться во время его проведения. Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. | Можно редактировать |
variations[] |
list |
Массив вариантов. Первым элементом является исходная страница. После того, как эксперименту присвоен статус RUNNING, количество вариантов нельзя изменить. Статус RUNNING может получить только эксперимент с как минимум двумя вариантами. | Можно редактировать |
variations[].name |
string |
Название варианта. При создании эксперимента это поле является обязательным. Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. | Можно редактировать |
variations[].status |
string |
Статус варианта. Допустимые значения: ACTIVE (активный) и INACTIVE (не показывается). Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. | Можно редактировать |
variations[].url |
string |
URL варианта. Для выполняющихся (статус RUNNING) и завершенных (статус ENDED) экспериментов это поле доступно только для чтения. | Можно редактировать |
winnerConfidenceLevel |
double |
Число с плавающей запятой в диапазоне от 0 до 1. Задает уровень доверительной вероятности для определения победившего варианта. Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. | Можно редактировать |
Ответ
В случае успеха метод возвращает ресурс management.experiment в теле ответа.
Примеры
Примечание. Примеры кода для этого метода не охватывают все поддерживаемые языки программирования (их список опубликован на странице, посвященной клиентским библиотекам).
Java
Используется клиентская библиотека 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
Используется клиентская библиотека 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
Используется клиентская библиотека 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
Используется клиентская библиотека 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. }); }