1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.ads.googleads.v14.resources; 18 19import "google/ads/googleads/v14/common/metric_goal.proto"; 20import "google/ads/googleads/v14/enums/async_action_status.proto"; 21import "google/ads/googleads/v14/enums/experiment_status.proto"; 22import "google/ads/googleads/v14/enums/experiment_type.proto"; 23import "google/api/field_behavior.proto"; 24import "google/api/resource.proto"; 25 26option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; 27option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; 28option java_multiple_files = true; 29option java_outer_classname = "ExperimentProto"; 30option java_package = "com.google.ads.googleads.v14.resources"; 31option objc_class_prefix = "GAA"; 32option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; 33option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; 34 35// Proto file describing the Experiment resource. 36 37// A Google ads experiment for users to experiment changes on multiple 38// campaigns, compare the performance, and apply the effective changes. 39message Experiment { 40 option (google.api.resource) = { 41 type: "googleads.googleapis.com/Experiment" 42 pattern: "customers/{customer_id}/experiments/{trial_id}" 43 }; 44 45 // Immutable. The resource name of the experiment. 46 // Experiment resource names have the form: 47 // 48 // `customers/{customer_id}/experiments/{experiment_id}` 49 string resource_name = 1 [ 50 (google.api.field_behavior) = IMMUTABLE, 51 (google.api.resource_reference) = { 52 type: "googleads.googleapis.com/Experiment" 53 } 54 ]; 55 56 // Output only. The ID of the experiment. Read only. 57 optional int64 experiment_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; 58 59 // Required. The name of the experiment. It must have a minimum length of 1 60 // and maximum length of 1024. It must be unique under a customer. 61 string name = 10 [(google.api.field_behavior) = REQUIRED]; 62 63 // The description of the experiment. It must have a minimum length of 1 and 64 // maximum length of 2048. 65 string description = 11; 66 67 // For system managed experiments, the advertiser must provide a suffix during 68 // construction, in the setup stage before moving to initiated. The suffix 69 // will be appended to the in-design and experiment campaign names so that the 70 // name is base campaign name + suffix. 71 string suffix = 12; 72 73 // Required. The product/feature that uses this experiment. 74 google.ads.googleads.v14.enums.ExperimentTypeEnum.ExperimentType type = 13 75 [(google.api.field_behavior) = REQUIRED]; 76 77 // The Advertiser-chosen status of this experiment. 78 google.ads.googleads.v14.enums.ExperimentStatusEnum.ExperimentStatus status = 79 14; 80 81 // Date when the experiment starts. By default, the experiment starts 82 // now or on the campaign's start date, whichever is later. If this field is 83 // set, then the experiment starts at the beginning of the specified date in 84 // the customer's time zone. 85 // 86 // Format: YYYY-MM-DD 87 // Example: 2019-03-14 88 optional string start_date = 15; 89 90 // Date when the experiment ends. By default, the experiment ends on 91 // the campaign's end date. If this field is set, then the experiment ends at 92 // the end of the specified date in the customer's time zone. 93 // 94 // Format: YYYY-MM-DD 95 // Example: 2019-04-18 96 optional string end_date = 16; 97 98 // The goals of this experiment. 99 repeated google.ads.googleads.v14.common.MetricGoal goals = 17; 100 101 // Output only. The resource name of the long-running operation that can be 102 // used to poll for completion of experiment schedule or promote. The most 103 // recent long running operation is returned. 104 optional string long_running_operation = 18 105 [(google.api.field_behavior) = OUTPUT_ONLY]; 106 107 // Output only. The status of the experiment promotion process. 108 google.ads.googleads.v14.enums.AsyncActionStatusEnum.AsyncActionStatus 109 promote_status = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; 110} 111