// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/ads/googleads/v1/enums/app_campaign_bidding_strategy_goal_type.proto

package enums // import "google.golang.org/genproto/googleapis/ads/googleads/v1/enums"

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

// Goal type of App campaign BiddingStrategy.
type AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType int32

const (
	// Not specified.
	AppCampaignBiddingStrategyGoalTypeEnum_UNSPECIFIED AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType = 0
	// Used for return value only. Represents value unknown in this version.
	AppCampaignBiddingStrategyGoalTypeEnum_UNKNOWN AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType = 1
	// Aim to maximize the number of app installs. The cpa bid is the
	// target cost per install.
	AppCampaignBiddingStrategyGoalTypeEnum_OPTIMIZE_INSTALLS_TARGET_INSTALL_COST AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType = 2
	// Aim to maximize the long term number of selected in-app conversions from
	// app installs. The cpa bid is the target cost per install.
	AppCampaignBiddingStrategyGoalTypeEnum_OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType = 3
	// Aim to maximize the long term number of selected in-app conversions from
	// app installs. The cpa bid is the target cost per in-app conversion. Note
	// that the actual cpa may seem higher than the target cpa at first, since
	// the long term conversions haven’t happened yet.
	AppCampaignBiddingStrategyGoalTypeEnum_OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType = 4
	// Aim to maximize all conversions' value, i.e. install + selected in-app
	// conversions while achieving or exceeding target return on advertising
	// spend.
	AppCampaignBiddingStrategyGoalTypeEnum_OPTIMIZE_RETURN_ON_ADVERTISING_SPEND AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType = 5
)

var AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType_name = map[int32]string{
	0: "UNSPECIFIED",
	1: "UNKNOWN",
	2: "OPTIMIZE_INSTALLS_TARGET_INSTALL_COST",
	3: "OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST",
	4: "OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST",
	5: "OPTIMIZE_RETURN_ON_ADVERTISING_SPEND",
}
var AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType_value = map[string]int32{
	"UNSPECIFIED":                           0,
	"UNKNOWN":                               1,
	"OPTIMIZE_INSTALLS_TARGET_INSTALL_COST": 2,
	"OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST":    3,
	"OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST": 4,
	"OPTIMIZE_RETURN_ON_ADVERTISING_SPEND":               5,
}

func (x AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType) String() string {
	return proto.EnumName(AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType_name, int32(x))
}
func (AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_app_campaign_bidding_strategy_goal_type_f6a7d1f1531eb5da, []int{0, 0}
}

// Container for enum describing goal towards which the bidding strategy of an
// app campaign should optimize for.
type AppCampaignBiddingStrategyGoalTypeEnum struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AppCampaignBiddingStrategyGoalTypeEnum) Reset() {
	*m = AppCampaignBiddingStrategyGoalTypeEnum{}
}
func (m *AppCampaignBiddingStrategyGoalTypeEnum) String() string { return proto.CompactTextString(m) }
func (*AppCampaignBiddingStrategyGoalTypeEnum) ProtoMessage()    {}
func (*AppCampaignBiddingStrategyGoalTypeEnum) Descriptor() ([]byte, []int) {
	return fileDescriptor_app_campaign_bidding_strategy_goal_type_f6a7d1f1531eb5da, []int{0}
}
func (m *AppCampaignBiddingStrategyGoalTypeEnum) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AppCampaignBiddingStrategyGoalTypeEnum.Unmarshal(m, b)
}
func (m *AppCampaignBiddingStrategyGoalTypeEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AppCampaignBiddingStrategyGoalTypeEnum.Marshal(b, m, deterministic)
}
func (dst *AppCampaignBiddingStrategyGoalTypeEnum) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AppCampaignBiddingStrategyGoalTypeEnum.Merge(dst, src)
}
func (m *AppCampaignBiddingStrategyGoalTypeEnum) XXX_Size() int {
	return xxx_messageInfo_AppCampaignBiddingStrategyGoalTypeEnum.Size(m)
}
func (m *AppCampaignBiddingStrategyGoalTypeEnum) XXX_DiscardUnknown() {
	xxx_messageInfo_AppCampaignBiddingStrategyGoalTypeEnum.DiscardUnknown(m)
}

var xxx_messageInfo_AppCampaignBiddingStrategyGoalTypeEnum proto.InternalMessageInfo

func init() {
	proto.RegisterType((*AppCampaignBiddingStrategyGoalTypeEnum)(nil), "google.ads.googleads.v1.enums.AppCampaignBiddingStrategyGoalTypeEnum")
	proto.RegisterEnum("google.ads.googleads.v1.enums.AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType", AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType_name, AppCampaignBiddingStrategyGoalTypeEnum_AppCampaignBiddingStrategyGoalType_value)
}

func init() {
	proto.RegisterFile("google/ads/googleads/v1/enums/app_campaign_bidding_strategy_goal_type.proto", fileDescriptor_app_campaign_bidding_strategy_goal_type_f6a7d1f1531eb5da)
}

var fileDescriptor_app_campaign_bidding_strategy_goal_type_f6a7d1f1531eb5da = []byte{
	// 413 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0xcd, 0x8a, 0xdb, 0x30,
	0x10, 0x6e, 0xbc, 0xfd, 0x01, 0xed, 0xa1, 0xc1, 0xc7, 0xd2, 0x3d, 0x6c, 0xe8, 0xef, 0x45, 0xc6,
	0x5d, 0xe8, 0x41, 0x3d, 0x29, 0x89, 0x6a, 0xc4, 0x6e, 0x65, 0x63, 0x29, 0x2e, 0x2c, 0x01, 0xa1,
	0x5d, 0x1b, 0x61, 0x48, 0x24, 0x11, 0x79, 0x17, 0x72, 0xef, 0x93, 0xf4, 0xd8, 0x4b, 0xdf, 0xa3,
	0x8f, 0xd2, 0x67, 0xe8, 0xa1, 0xc4, 0x4a, 0xdc, 0x1e, 0xda, 0x6e, 0x2f, 0xe6, 0xf3, 0xcc, 0xf7,
	0x23, 0x66, 0x06, 0x9c, 0x6b, 0x6b, 0xf5, 0xaa, 0x49, 0x54, 0xed, 0x93, 0x00, 0x77, 0xe8, 0x36,
	0x4d, 0x1a, 0x73, 0xb3, 0xf6, 0x89, 0x72, 0x4e, 0x5e, 0xab, 0xb5, 0x53, 0xad, 0x36, 0xf2, 0xaa,
	0xad, 0xeb, 0xd6, 0x68, 0xe9, 0xbb, 0x8d, 0xea, 0x1a, 0xbd, 0x95, 0xda, 0xaa, 0x95, 0xec, 0xb6,
	0xae, 0x81, 0x6e, 0x63, 0x3b, 0x1b, 0x9f, 0x04, 0x07, 0xa8, 0x6a, 0x0f, 0x07, 0x33, 0x78, 0x9b,
	0xc2, 0xde, 0xec, 0xc9, 0xd3, 0x43, 0x96, 0x6b, 0x13, 0x65, 0x8c, 0xed, 0x54, 0xd7, 0x5a, 0xe3,
	0x83, 0x78, 0xf2, 0x35, 0x02, 0x2f, 0xb0, 0x73, 0xb3, 0x7d, 0xda, 0x34, 0x84, 0xf1, 0x7d, 0x56,
	0x66, 0xd5, 0x4a, 0x6c, 0x5d, 0x43, 0xcc, 0xcd, 0x7a, 0xf2, 0x29, 0x02, 0x93, 0xbb, 0xa9, 0xf1,
	0x63, 0x70, 0xbc, 0x60, 0xbc, 0x20, 0x33, 0xfa, 0x9e, 0x92, 0xf9, 0xf8, 0x5e, 0x7c, 0x0c, 0x1e,
	0x2d, 0xd8, 0x39, 0xcb, 0x3f, 0xb2, 0xf1, 0x28, 0x7e, 0x0d, 0x9e, 0xe7, 0x85, 0xa0, 0x1f, 0xe8,
	0x25, 0x91, 0x94, 0x71, 0x81, 0x2f, 0x2e, 0xb8, 0x14, 0xb8, 0xcc, 0x88, 0x38, 0xfc, 0xcb, 0x59,
	0xce, 0xc5, 0x38, 0x8a, 0xcf, 0x40, 0xf2, 0x1b, 0x55, 0xe2, 0xa2, 0x90, 0xb3, 0x9c, 0x55, 0xa4,
	0xe4, 0x34, 0x67, 0x7f, 0x16, 0x1d, 0xc5, 0x6f, 0xc1, 0x9b, 0xff, 0x10, 0xfd, 0x2a, 0x05, 0xdd,
	0xfd, 0xf8, 0x15, 0x78, 0x36, 0xe8, 0x4a, 0x22, 0x16, 0x25, 0x93, 0x39, 0x93, 0x78, 0x5e, 0x91,
	0x52, 0x50, 0x4e, 0x59, 0x26, 0x79, 0x41, 0xd8, 0x7c, 0xfc, 0x60, 0xfa, 0x63, 0x04, 0x4e, 0xaf,
	0xed, 0x1a, 0xfe, 0x73, 0xea, 0xd3, 0x97, 0x77, 0x4f, 0xaa, 0xd8, 0x2d, 0xa0, 0x18, 0x5d, 0x4e,
	0xf7, 0x4e, 0xda, 0xae, 0x94, 0xd1, 0xd0, 0x6e, 0x74, 0xa2, 0x1b, 0xd3, 0xaf, 0xe7, 0x70, 0x1c,
	0xae, 0xf5, 0x7f, 0xb9, 0x95, 0x77, 0xfd, 0xf7, 0x73, 0x74, 0x94, 0x61, 0xfc, 0x25, 0x3a, 0xc9,
	0x82, 0x15, 0xae, 0x3d, 0x0c, 0x70, 0x87, 0xaa, 0x14, 0xee, 0x16, 0xe8, 0xbf, 0x1d, 0xfa, 0x4b,
	0x5c, 0xfb, 0xe5, 0xd0, 0x5f, 0x56, 0xe9, 0xb2, 0xef, 0x7f, 0x8f, 0x4e, 0x43, 0x11, 0x21, 0x5c,
	0x7b, 0x84, 0x06, 0x06, 0x42, 0x55, 0x8a, 0x50, 0xcf, 0xb9, 0x7a, 0xd8, 0x3f, 0xec, 0xec, 0x67,
	0x00, 0x00, 0x00, 0xff, 0xff, 0xa7, 0x7a, 0x3b, 0x7b, 0xc3, 0x02, 0x00, 0x00,
}
