// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.ads.admanager.v1; option csharp_namespace = "Google.Ads.AdManager.V1"; option go_package = "google.golang.org/genproto/googleapis/ads/admanager/v1;admanager"; option java_multiple_files = true; option java_outer_classname = "GoalProto"; option java_package = "com.google.ads.admanager.v1"; option objc_class_prefix = "GAA"; option php_namespace = "Google\\Ads\\AdManager\\V1"; // Defines the criteria a [LineItem][google.ads.admanager.v1.LineItem] needs to // satisfy to meet its delivery // goal. message Goal { // The type of the goal for the LineItem. It defines the period over which the // goal should be reached. GoalTypeEnum.GoalType goal_type = 1; // The type of the goal unit for the LineItem. UnitTypeEnum.UnitType unit_type = 2; // If this is a primary goal, it represents the number or percentage of // impressions or clicks that will be reserved. If the line item is of type // [LineItemTypeEnum.LineItemType.SPONSORSHIP][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.SPONSORSHIP], // it represents the percentage of available impressions reserved. If the line // item is of type // [LineItemTypeEnum.LineItemType.BULK][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.BULK] // or // [LineItemTypeEnum.LineItemType.PRICE_PRIORITY][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.PRICE_PRIORITY], // it represents the number of remaining impressions reserved. If the line // item is of type // [LineItemTypeEnum.LineItemType.NETWORK][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.NETWORK] // or // [LineItemTypeEnum.LineItemType.HOUSE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.HOUSE], // it represents the percentage of remaining impressions reserved.

If this // is an impression cap goal, it represents the number of impressions or // conversions that the line item will stop serving at if reached. For valid // line item types, see [LineItem.impressions_cap][]. int64 units = 3; } // Wrapper message for // [GoalType][google.ads.admanager.v1.GoalTypeEnum.GoalType]. message GoalTypeEnum { // Specifies the type of the goal for a LineItem. enum GoalType { // Default value. This value is unused. GOAL_TYPE_UNSPECIFIED = 0; // No goal is specified for the number of ads delivered. // The line item [type][google.ads.admanager.v1.LineItem.line_item_type] // must be one of: // // * [LineItemTypeEnum.LineItemType.PRICE_PRIORITY][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.PRICE_PRIORITY] // * [LineItemTypeEnum.LineItemType.AD_EXCHANGE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.AD_EXCHANGE] // * [LineItemTypeEnum.LineItemType.CLICK_TRACKING][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.CLICK_TRACKING] NONE = 1; // There is a goal on the number of ads delivered for this line item during // its entire lifetime. // The line item [type][google.ads.admanager.v1.LineItem.line_item_type] // must be one of: // // * [LineItemTypeEnum.LineItemType.STANDARD][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.STANDARD] // * [LineItemTypeEnum.LineItemType.BULK][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.BULK] // * [LineItemTypeEnum.LineItemType.PRICE_PRIORITY][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.PRICE_PRIORITY] // * [LineItemTypeEnum.LineItemType.ADSENSE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.ADSENSE] // * [LineItemTypeEnum.LineItemType.AD_EXCHANGE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.AD_EXCHANGE] // * [LineItemTypeEnum.LineItemType.ADMOB][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.ADMOB] // * [LineItemTypeEnum.LineItemType.CLICK_TRACKING][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.CLICK_TRACKING] LIFETIME = 2; // There is a daily goal on the number of ads delivered for this line item. // The line item [type][google.ads.admanager.v1.LineItem.line_item_type] // must be one of: // // * [LineItemTypeEnum.LineItemType.SPONSORSHIP][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.SPONSORSHIP] // * [LineItemTypeEnum.LineItemType.NETWORK][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.NETWORK] // * [LineItemTypeEnum.LineItemType.PRICE_PRIORITY][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.PRICE_PRIORITY] // * [LineItemTypeEnum.LineItemType.HOUSE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.HOUSE] // * [LineItemTypeEnum.LineItemType.ADSENSE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.ADSENSE] // * [LineItemTypeEnum.LineItemType.AD_EXCHANGE][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.AD_EXCHANGE] // * [LineItemTypeEnum.LineItemType.ADMOB][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.ADMOB] // * [LineItemTypeEnum.LineItemType.BUMPER][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.BUMPER] DAILY = 3; } } // Wrapper message for // [UnitType][google.ads.admanager.v1.UnitTypeEnum.UnitType]. message UnitTypeEnum { // Indicates the type of unit used for defining a reservation. The // [LineItem.cost_type][google.ads.admanager.v1.LineItem.cost_type] can differ // from the UnitType - an ad can have an impression goal, but be billed by its // click. Usually CostType and UnitType will refer to the same unit. enum UnitType { // Default value. This value is unused. UNIT_TYPE_UNSPECIFIED = 0; // The number of impressions served by creatives associated with the line // item. IMPRESSIONS = 1; // The number of clicks reported by creatives associated with the line item. // The line item [type][google.ads.admanager.v1.LineItem.line_item_type] // must be one of: // // * [LineItemTypeEnum.LineItemType.STANDARD][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.STANDARD] // * [LineItemTypeEnum.LineItemType.BULK][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.BULK] // * [LineItemTypeEnum.LineItemType.PRICE_PRIORITY][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.PRICE_PRIORITY] CLICKS = 2; // The number of view-through Cost-Per-Action (CPA) conversions from // creatives associated with the line item. This is only supported as // secondary goal and the // [LineItem.cost_type][google.ads.admanager.v1.LineItem.cost_type] must be // [CostTypeEnum.CostType.CPA][]. CLICK_THROUGH_CPA_CONVERSIONS = 3; // The number of view-through Cost-Per-Action (CPA) conversions from // creatives associated with the line item. This is only supported as // secondary goal and the // [LineItem.cost_type][google.ads.admanager.v1.LineItem.cost_type] must be // [CostTypeEnum.CostType.CPA}. VIEW_THROUGH_CPA_CONVERSIONS = 4; // The number of total Cost-Per-Action (CPA) conversions from creatives // associated with the line item. This is only supported as secondary goal // and the [LineItem.cost_type} must be [CostTypeEnum.CostType.CPA}. TOTAL_CPA_CONVERSIONS = 5; // The number of viewable impressions reported by creatives associated with // the line item. The // [LineItem.line_item_type][google.ads.admanager.v1.LineItem.line_item_type] // must be // [LineItemTypeEnum.LineItemType.STANDARD][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.STANDARD]. VIEWABLE_IMPRESSIONS = 6; // The number of in-target impressions reported by third party measurements. // The // [LineItem.line_item_type][google.ads.admanager.v1.LineItem.line_item_type] // must be // [LineItemTypeEnum.LineItemType.STANDARD][google.ads.admanager.v1.LineItemTypeEnum.LineItemType.STANDARD]. IN_TARGET_IMPRESSIONS = 7; } }