Требуется авторизация
Создает эксперимент. Пример.
Помимо стандартных параметров, этот метод поддерживает перечисленные в таблице ниже.
Запрос
HTTP-запрос
POST https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/profiles/profileId/experiments
Параметры
Название параметра | Значение | Описание |
---|---|---|
Параметры пути | ||
accountId |
string |
Идентификатор аккаунта, для которого требуется создать эксперимент. |
profileId |
string |
Идентификатор представления (профиля), для которого требуется создать эксперимент. |
webPropertyId |
string |
Идентификатор веб-ресурса, для которого требуется создать эксперимент. |
Авторизация
Для выполнения этого запроса требуется авторизация как минимум в одной из следующих областей доступа. Подробнее...
Область доступа |
---|
https://www.googleapis.com/auth/analytics |
https://www.googleapis.com/auth/analytics.edit |
Тело запроса
В теле запроса необходимо предоставить ресурс management.experiment со следующими свойствами:
Название свойства | Значение | Описание | Примечания |
---|---|---|---|
Обязательные свойства | |||
name |
string |
Название эксперимента. Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. Обязательно при создании эксперимента. | Можно редактировать |
status |
string |
Статус эксперимента. Допустимые значения: DRAFT, READY_TO_RUN, RUNNING, ENDED. Создаваемому эксперименту можно присваивать первые три статуса. При создании эксперимента это поле является обязательным. | Можно редактировать |
variations[].name |
string |
Название варианта. При создании эксперимента это поле является обязательным. Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. | Можно редактировать |
Необязательные свойства | |||
description |
string |
Описание эксперимента. | Можно редактировать |
editableInGaUi |
boolean |
Указывает, может ли конечный пользователь редактировать эксперимент через интерфейс Google Analytics (значение true). | Можно редактировать |
equalWeighting |
boolean |
Логическое значение, задающее равномерное распределение трафика между всеми вариантами. Если задано значение false, эксперименты со страницами будут происходить в соответствии с заданным по умолчанию поведением с динамической корректировкой трафика на основе эффективности вариантов. Необязательный параметр, по умолчанию равный false. Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. | Можно редактировать |
minimumExperimentLengthInDays |
integer |
Целое число в диапазоне [3, 90], которое определяет минимальную продолжительность эксперимента и может изменяться во время его проведения. Для завершенных экспериментов (статус 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 |
Платформа для показа и анализа вариантов эксперимента. Допустимые значения:
|
Можно редактировать |
trafficCoverage |
double |
Число с плавающей запятой в диапазоне от 0 до 1. Определяет долю трафика, включаемую в эксперимент, и может изменяться во время его проведения. Для завершенных экспериментов (статус ENDED) это поле доступно только для чтения. | Можно редактировать |
variations[] |
list |
Массив вариантов. Первым элементом является исходная страница. После того, как эксперименту присвоен статус RUNNING, количество вариантов нельзя изменить. Статус RUNNING может получить только эксперимент с как минимум двумя вариантами. | Можно редактировать |
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 request creates a new Experiment. */ // Construct the body of the request. Experiment body = new Experiment(); body.setName("Landing Page Experiment"); body.setStatus("DRAFT"); // Construct the first variation. Variations variationA = new Variations(); variationA.setName("Variation A"); variationA.setUrl("index.html"); // Construct the second variation. Variations variationB = new Variations(); variationB.setName("Variation B"); variationB.setUrl("indexB.html"); // Set the variations. body.setVariations(Arrays.asList(variationA, variationB)); try { analytics.management().experiments().insert("123456", "UA-123456-1", "7654321", 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 creates a new experiment. */ // Construct the body of the request. $experiment = new Google_Service_Analytics_Experiment(); $experiment->setName('Landing Page Experiment'); $experiment->setStatus('DRAFT'); // 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'); // Set the variations. $experiment->setVariations(array($variationA, $variationB)); try { $analytics->management_experiments->insert('123456', 'UA-123456-1', '7654321', $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. # Example #1: # Creates a new DRAFT experiment with two variations. try: experiments = analytics.management().experiments().insert( accountId='123456', webPropertyId='UA-123456-1', profileId='98765432', body={ 'name': 'Landing Page Test', 'status': 'DRAFT', 'variations': [ { 'name': 'Variation A', 'url': 'index.html' }, { 'name': 'Variation B', '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 creates a new Experiment. */ function insertExperiment() { var request = gapi.client.analytics.management.experiments.insert( { 'accountId': '123456', 'webPropertyId': 'UA-123456-1', 'profileId': '7654321', '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. }); }