xref: /aosp_15_r20/external/googleapis/google/ads/admanager/v1/goal.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.admanager.v1;
18
19option csharp_namespace = "Google.Ads.AdManager.V1";
20option go_package = "google.golang.org/genproto/googleapis/ads/admanager/v1;admanager";
21option java_multiple_files = true;
22option java_outer_classname = "GoalProto";
23option java_package = "com.google.ads.admanager.v1";
24option objc_class_prefix = "GAA";
25option php_namespace = "Google\\Ads\\AdManager\\V1";
26
27// Defines the criteria a [LineItem][google.ads.admanager.v1.LineItem] needs to
28// satisfy to meet its delivery
29//  goal.
30message Goal {
31  // The type of the goal for the LineItem. It defines the period over which the
32  // goal should be reached.
33  GoalTypeEnum.GoalType goal_type = 1;
34
35  // The type of the goal unit for the LineItem.
36  UnitTypeEnum.UnitType unit_type = 2;
37
38  // If this is a primary goal, it represents the number or percentage of
39  // impressions or clicks that will be reserved. If the line item is of type
40  // [LineItemTypeEnum.LineItemType.SPONSORSHIP][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.SPONSORSHIP],
41  // it represents the percentage of available impressions reserved. If the line
42  // item is of type
43  // [LineItemTypeEnum.LineItemType.BULK][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.BULK]
44  // or
45  // [LineItemTypeEnum.LineItemType.PRICE_PRIORITY][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.PRICE_PRIORITY],
46  // it represents the number of remaining impressions reserved. If the line
47  // item is of type
48  // [LineItemTypeEnum.LineItemType.NETWORK][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.NETWORK]
49  // or
50  // [LineItemTypeEnum.LineItemType.HOUSE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.HOUSE],
51  // it represents the percentage of remaining impressions reserved. <p>If this
52  // is an impression cap goal, it represents the number of impressions or
53  // conversions that the line item will stop serving at if reached. For valid
54  // line item types, see [LineItem.impressions_cap][].
55  int64 units = 3;
56}
57
58// Wrapper message for
59// [GoalType][google.ads.admanager.v1.GoalTypeEnum.GoalType].
60message GoalTypeEnum {
61  // Specifies the type of the goal for a LineItem.
62  enum GoalType {
63    // Default value. This value is unused.
64    GOAL_TYPE_UNSPECIFIED = 0;
65
66    // No goal is specified for the number of ads delivered.
67    // The line item [type][google.ads.admanager.v1.LineItem.line_item_type]
68    // must be one of:
69    //
70    // * [LineItemTypeEnum.LineItemType.PRICE_PRIORITY][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.PRICE_PRIORITY]
71    // * [LineItemTypeEnum.LineItemType.AD_EXCHANGE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.AD_EXCHANGE]
72    // * [LineItemTypeEnum.LineItemType.CLICK_TRACKING][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.CLICK_TRACKING]
73    NONE = 1;
74
75    // There is a goal on the number of ads delivered for this line item during
76    // its entire lifetime.
77    // The line item [type][google.ads.admanager.v1.LineItem.line_item_type]
78    // must be one of:
79    //
80    // * [LineItemTypeEnum.LineItemType.STANDARD][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.STANDARD]
81    // * [LineItemTypeEnum.LineItemType.BULK][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.BULK]
82    // * [LineItemTypeEnum.LineItemType.PRICE_PRIORITY][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.PRICE_PRIORITY]
83    // * [LineItemTypeEnum.LineItemType.ADSENSE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.ADSENSE]
84    // * [LineItemTypeEnum.LineItemType.AD_EXCHANGE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.AD_EXCHANGE]
85    // * [LineItemTypeEnum.LineItemType.ADMOB][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.ADMOB]
86    // * [LineItemTypeEnum.LineItemType.CLICK_TRACKING][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.CLICK_TRACKING]
87    LIFETIME = 2;
88
89    // There is a daily goal on the number of ads delivered for this line item.
90    // The line item [type][google.ads.admanager.v1.LineItem.line_item_type]
91    // must be one of:
92    //
93    // * [LineItemTypeEnum.LineItemType.SPONSORSHIP][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.SPONSORSHIP]
94    // * [LineItemTypeEnum.LineItemType.NETWORK][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.NETWORK]
95    // * [LineItemTypeEnum.LineItemType.PRICE_PRIORITY][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.PRICE_PRIORITY]
96    // * [LineItemTypeEnum.LineItemType.HOUSE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.HOUSE]
97    // * [LineItemTypeEnum.LineItemType.ADSENSE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.ADSENSE]
98    // * [LineItemTypeEnum.LineItemType.AD_EXCHANGE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.AD_EXCHANGE]
99    // * [LineItemTypeEnum.LineItemType.ADMOB][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.ADMOB]
100    // * [LineItemTypeEnum.LineItemType.BUMPER][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.BUMPER]
101    DAILY = 3;
102  }
103}
104
105// Wrapper message for
106// [UnitType][google.ads.admanager.v1.UnitTypeEnum.UnitType].
107message UnitTypeEnum {
108  // Indicates the type of unit used for defining a reservation. The
109  // [LineItem.cost_type][google.ads.admanager.v1.LineItem.cost_type] can differ
110  // from the UnitType - an ad can have an impression goal, but be billed by its
111  // click. Usually CostType and UnitType will refer to the same unit.
112  enum UnitType {
113    // Default value. This value is unused.
114    UNIT_TYPE_UNSPECIFIED = 0;
115
116    // The number of impressions served by creatives associated with the line
117    // item.
118    IMPRESSIONS = 1;
119
120    // The number of clicks reported by creatives associated with the line item.
121    // The line item [type][google.ads.admanager.v1.LineItem.line_item_type]
122    // must be one of:
123    //
124    // * [LineItemTypeEnum.LineItemType.STANDARD][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.STANDARD]
125    // * [LineItemTypeEnum.LineItemType.BULK][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.BULK]
126    // * [LineItemTypeEnum.LineItemType.PRICE_PRIORITY][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.PRICE_PRIORITY]
127    CLICKS = 2;
128
129    // The number of view-through Cost-Per-Action (CPA) conversions from
130    // creatives associated with the line item. This is only supported as
131    // secondary goal and the
132    // [LineItem.cost_type][google.ads.admanager.v1.LineItem.cost_type] must be
133    // [CostTypeEnum.CostType.CPA][].
134    CLICK_THROUGH_CPA_CONVERSIONS = 3;
135
136    // The number of view-through Cost-Per-Action (CPA) conversions from
137    // creatives associated with the line item. This is only supported as
138    // secondary goal and the
139    // [LineItem.cost_type][google.ads.admanager.v1.LineItem.cost_type] must be
140    // [CostTypeEnum.CostType.CPA}.
141    VIEW_THROUGH_CPA_CONVERSIONS = 4;
142
143    // The number of total Cost-Per-Action (CPA) conversions from creatives
144    // associated with the line item. This is only supported as secondary goal
145    // and the [LineItem.cost_type} must be [CostTypeEnum.CostType.CPA}.
146    TOTAL_CPA_CONVERSIONS = 5;
147
148    // The number of viewable impressions reported by creatives associated with
149    // the line item. The
150    // [LineItem.line_item_type][google.ads.admanager.v1.LineItem.line_item_type]
151    // must be
152    // [LineItemTypeEnum.LineItemType.STANDARD][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.STANDARD].
153    VIEWABLE_IMPRESSIONS = 6;
154
155    // The number of in-target impressions reported by third party measurements.
156    // The
157    // [LineItem.line_item_type][google.ads.admanager.v1.LineItem.line_item_type]
158    // must be
159    // [LineItemTypeEnum.LineItemType.STANDARD][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.STANDARD].
160    IN_TARGET_IMPRESSIONS = 7;
161  }
162}
163