xref: /aosp_15_r20/external/googleapis/google/ads/googleads/v16/common/simulation.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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.v16.common;
18
19option csharp_namespace = "Google.Ads.GoogleAds.V16.Common";
20option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common";
21option java_multiple_files = true;
22option java_outer_classname = "SimulationProto";
23option java_package = "com.google.ads.googleads.v16.common";
24option objc_class_prefix = "GAA";
25option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common";
26option ruby_package = "Google::Ads::GoogleAds::V16::Common";
27
28// Proto file describing simulation points.
29
30// A container for simulation points for simulations of type CPC_BID.
31message CpcBidSimulationPointList {
32  // Projected metrics for a series of CPC bid amounts.
33  repeated CpcBidSimulationPoint points = 1;
34}
35
36// A container for simulation points for simulations of type CPV_BID.
37message CpvBidSimulationPointList {
38  // Projected metrics for a series of CPV bid amounts.
39  repeated CpvBidSimulationPoint points = 1;
40}
41
42// A container for simulation points for simulations of type TARGET_CPA.
43message TargetCpaSimulationPointList {
44  // Projected metrics for a series of target CPA amounts.
45  repeated TargetCpaSimulationPoint points = 1;
46}
47
48// A container for simulation points for simulations of type TARGET_ROAS.
49message TargetRoasSimulationPointList {
50  // Projected metrics for a series of target ROAS amounts.
51  repeated TargetRoasSimulationPoint points = 1;
52}
53
54// A container for simulation points for simulations of type PERCENT_CPC_BID.
55message PercentCpcBidSimulationPointList {
56  // Projected metrics for a series of percent CPC bid amounts.
57  repeated PercentCpcBidSimulationPoint points = 1;
58}
59
60// A container for simulation points for simulations of type BUDGET.
61message BudgetSimulationPointList {
62  // Projected metrics for a series of budget amounts.
63  repeated BudgetSimulationPoint points = 1;
64}
65
66// A container for simulation points for simulations of type
67// TARGET_IMPRESSION_SHARE.
68message TargetImpressionShareSimulationPointList {
69  // Projected metrics for a specific target impression share value.
70  repeated TargetImpressionShareSimulationPoint points = 1;
71}
72
73// Projected metrics for a specific CPC bid amount.
74message CpcBidSimulationPoint {
75  // Projected required daily budget that the advertiser must set in order to
76  // receive the estimated traffic, in micros of advertiser currency.
77  int64 required_budget_amount_micros = 17;
78
79  // Projected number of biddable conversions.
80  optional double biddable_conversions = 9;
81
82  // Projected total value of biddable conversions.
83  optional double biddable_conversions_value = 10;
84
85  // Projected number of clicks.
86  optional int64 clicks = 11;
87
88  // Projected cost in micros.
89  optional int64 cost_micros = 12;
90
91  // Projected number of impressions.
92  optional int64 impressions = 13;
93
94  // Projected number of top slot impressions.
95  // Only search advertising channel type supports this field.
96  optional int64 top_slot_impressions = 14;
97
98  // When SimulationModificationMethod = UNIFORM or DEFAULT,
99  // cpc_bid_micros is set.
100  // When SimulationModificationMethod = SCALING,
101  // cpc_bid_scaling_modifier is set.
102  oneof cpc_simulation_key_value {
103    // The simulated CPC bid upon which projected metrics are based.
104    int64 cpc_bid_micros = 15;
105
106    // The simulated scaling modifier upon which projected metrics are based.
107    // All CPC bids relevant to the simulated entity are scaled by this
108    // modifier.
109    double cpc_bid_scaling_modifier = 16;
110  }
111}
112
113// Projected metrics for a specific CPV bid amount.
114message CpvBidSimulationPoint {
115  // The simulated CPV bid upon which projected metrics are based.
116  optional int64 cpv_bid_micros = 5;
117
118  // Projected cost in micros.
119  optional int64 cost_micros = 6;
120
121  // Projected number of impressions.
122  optional int64 impressions = 7;
123
124  // Projected number of views.
125  optional int64 views = 8;
126}
127
128// Projected metrics for a specific target CPA amount.
129message TargetCpaSimulationPoint {
130  // Projected required daily budget that the advertiser must set in order to
131  // receive the estimated traffic, in micros of advertiser currency.
132  int64 required_budget_amount_micros = 19;
133
134  // Projected number of biddable conversions.
135  optional double biddable_conversions = 9;
136
137  // Projected total value of biddable conversions.
138  optional double biddable_conversions_value = 10;
139
140  // Projected number of app installs.
141  double app_installs = 15;
142
143  // Projected number of in-app actions.
144  double in_app_actions = 16;
145
146  // Projected number of clicks.
147  optional int64 clicks = 11;
148
149  // Projected cost in micros.
150  optional int64 cost_micros = 12;
151
152  // Projected number of impressions.
153  optional int64 impressions = 13;
154
155  // Projected number of top slot impressions.
156  // Only search advertising channel type supports this field.
157  optional int64 top_slot_impressions = 14;
158
159  // Projected number of interactions.
160  // Only discovery advertising channel type supports this field.
161  optional int64 interactions = 20;
162
163  // When SimulationModificationMethod = UNIFORM or DEFAULT,
164  // target_cpa_micros is set.
165  // When SimulationModificationMethod = SCALING,
166  // target_cpa_scaling_modifier is set.
167  oneof target_cpa_simulation_key_value {
168    // The simulated target CPA upon which projected metrics are based.
169    int64 target_cpa_micros = 17;
170
171    // The simulated scaling modifier upon which projected metrics are based.
172    // All CPA targets relevant to the simulated entity are scaled by this
173    // modifier.
174    double target_cpa_scaling_modifier = 18;
175  }
176}
177
178// Projected metrics for a specific target ROAS amount.
179message TargetRoasSimulationPoint {
180  // The simulated target ROAS upon which projected metrics are based.
181  optional double target_roas = 8;
182
183  // Projected required daily budget that the advertiser must set in order to
184  // receive the estimated traffic, in micros of advertiser currency.
185  int64 required_budget_amount_micros = 15;
186
187  // Projected number of biddable conversions.
188  optional double biddable_conversions = 9;
189
190  // Projected total value of biddable conversions.
191  optional double biddable_conversions_value = 10;
192
193  // Projected number of clicks.
194  optional int64 clicks = 11;
195
196  // Projected cost in micros.
197  optional int64 cost_micros = 12;
198
199  // Projected number of impressions.
200  optional int64 impressions = 13;
201
202  // Projected number of top slot impressions.
203  // Only Search advertising channel type supports this field.
204  optional int64 top_slot_impressions = 14;
205}
206
207// Projected metrics for a specific percent CPC amount. Only Hotel advertising
208// channel type supports this field.
209message PercentCpcBidSimulationPoint {
210  // The simulated percent CPC upon which projected metrics are based. Percent
211  // CPC expressed as fraction of the advertised price for some good or service.
212  // The value stored here is 1,000,000 * [fraction].
213  optional int64 percent_cpc_bid_micros = 1;
214
215  // Projected number of biddable conversions.
216  optional double biddable_conversions = 2;
217
218  // Projected total value of biddable conversions in local currency.
219  optional double biddable_conversions_value = 3;
220
221  // Projected number of clicks.
222  optional int64 clicks = 4;
223
224  // Projected cost in micros.
225  optional int64 cost_micros = 5;
226
227  // Projected number of impressions.
228  optional int64 impressions = 6;
229
230  // Projected number of top slot impressions.
231  optional int64 top_slot_impressions = 7;
232}
233
234// Projected metrics for a specific budget amount.
235message BudgetSimulationPoint {
236  // The simulated budget upon which projected metrics are based.
237  int64 budget_amount_micros = 1;
238
239  // Projected required daily cpc bid ceiling that the advertiser must set to
240  // realize this simulation, in micros of the advertiser currency.
241  // Only campaigns with the Target Spend bidding strategy support this field.
242  int64 required_cpc_bid_ceiling_micros = 2;
243
244  // Projected number of biddable conversions.
245  double biddable_conversions = 3;
246
247  // Projected total value of biddable conversions.
248  double biddable_conversions_value = 4;
249
250  // Projected number of clicks.
251  int64 clicks = 5;
252
253  // Projected cost in micros.
254  int64 cost_micros = 6;
255
256  // Projected number of impressions.
257  int64 impressions = 7;
258
259  // Projected number of top slot impressions.
260  // Only search advertising channel type supports this field.
261  int64 top_slot_impressions = 8;
262
263  // Projected number of interactions.
264  // Only discovery advertising channel type supports this field.
265  int64 interactions = 9;
266}
267
268// Projected metrics for a specific target impression share value.
269message TargetImpressionShareSimulationPoint {
270  // The simulated target impression share value (in micros) upon which
271  // projected metrics are based.
272  // For example, 10% impression share, which is equal to 0.1, is stored as
273  // 100_000. This value is validated and will not exceed 1M (100%).
274  int64 target_impression_share_micros = 1;
275
276  // Projected required daily cpc bid ceiling that the advertiser must set to
277  // realize this simulation, in micros of the advertiser currency.
278  int64 required_cpc_bid_ceiling_micros = 2;
279
280  // Projected required daily budget that the advertiser must set in order to
281  // receive the estimated traffic, in micros of advertiser currency.
282  int64 required_budget_amount_micros = 3;
283
284  // Projected number of biddable conversions.
285  double biddable_conversions = 4;
286
287  // Projected total value of biddable conversions.
288  double biddable_conversions_value = 5;
289
290  // Projected number of clicks.
291  int64 clicks = 6;
292
293  // Projected cost in micros.
294  int64 cost_micros = 7;
295
296  // Projected number of impressions.
297  int64 impressions = 8;
298
299  // Projected number of top slot impressions.
300  // Only search advertising channel type supports this field.
301  int64 top_slot_impressions = 9;
302
303  // Projected number of absolute top impressions.
304  // Only search advertising channel type supports this field.
305  int64 absolute_top_impressions = 10;
306}
307