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

package enums

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	_ "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.ProtoPackageIsVersion3 // please upgrade the proto package

// The attribution model that describes how to distribute credit for a
// particular conversion across potentially many prior interactions.
type AttributionModelEnum_AttributionModel int32

const (
	// Not specified.
	AttributionModelEnum_UNSPECIFIED AttributionModelEnum_AttributionModel = 0
	// Used for return value only. Represents value unknown in this version.
	AttributionModelEnum_UNKNOWN AttributionModelEnum_AttributionModel = 1
	// Uses external attribution.
	AttributionModelEnum_EXTERNAL AttributionModelEnum_AttributionModel = 100
	// Attributes all credit for a conversion to its last click.
	AttributionModelEnum_GOOGLE_ADS_LAST_CLICK AttributionModelEnum_AttributionModel = 101
	// Attributes all credit for a conversion to its first click using Google
	// Search attribution.
	AttributionModelEnum_GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK AttributionModelEnum_AttributionModel = 102
	// Attributes credit for a conversion equally across all of its clicks using
	// Google Search attribution.
	AttributionModelEnum_GOOGLE_SEARCH_ATTRIBUTION_LINEAR AttributionModelEnum_AttributionModel = 103
	// Attributes exponentially more credit for a conversion to its more recent
	// clicks using Google Search attribution (half-life is 1 week).
	AttributionModelEnum_GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY AttributionModelEnum_AttributionModel = 104
	// Attributes 40% of the credit for a conversion to its first and last
	// clicks. Remaining 20% is evenly distributed across all other clicks. This
	// uses Google Search attribution.
	AttributionModelEnum_GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED AttributionModelEnum_AttributionModel = 105
	// Flexible model that uses machine learning to determine the appropriate
	// distribution of credit among clicks using Google Search attribution.
	AttributionModelEnum_GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN AttributionModelEnum_AttributionModel = 106
)

var AttributionModelEnum_AttributionModel_name = map[int32]string{
	0:   "UNSPECIFIED",
	1:   "UNKNOWN",
	100: "EXTERNAL",
	101: "GOOGLE_ADS_LAST_CLICK",
	102: "GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK",
	103: "GOOGLE_SEARCH_ATTRIBUTION_LINEAR",
	104: "GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY",
	105: "GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED",
	106: "GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN",
}

var AttributionModelEnum_AttributionModel_value = map[string]int32{
	"UNSPECIFIED":                              0,
	"UNKNOWN":                                  1,
	"EXTERNAL":                                 100,
	"GOOGLE_ADS_LAST_CLICK":                    101,
	"GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK":    102,
	"GOOGLE_SEARCH_ATTRIBUTION_LINEAR":         103,
	"GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY":     104,
	"GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED": 105,
	"GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN":    106,
}

func (x AttributionModelEnum_AttributionModel) String() string {
	return proto.EnumName(AttributionModelEnum_AttributionModel_name, int32(x))
}

func (AttributionModelEnum_AttributionModel) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_1c756564395f8b71, []int{0, 0}
}

// Container for enum representing the attribution model that describes how to
// distribute credit for a particular conversion across potentially many prior
// interactions.
type AttributionModelEnum struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AttributionModelEnum) Reset()         { *m = AttributionModelEnum{} }
func (m *AttributionModelEnum) String() string { return proto.CompactTextString(m) }
func (*AttributionModelEnum) ProtoMessage()    {}
func (*AttributionModelEnum) Descriptor() ([]byte, []int) {
	return fileDescriptor_1c756564395f8b71, []int{0}
}

func (m *AttributionModelEnum) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AttributionModelEnum.Unmarshal(m, b)
}
func (m *AttributionModelEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AttributionModelEnum.Marshal(b, m, deterministic)
}
func (m *AttributionModelEnum) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AttributionModelEnum.Merge(m, src)
}
func (m *AttributionModelEnum) XXX_Size() int {
	return xxx_messageInfo_AttributionModelEnum.Size(m)
}
func (m *AttributionModelEnum) XXX_DiscardUnknown() {
	xxx_messageInfo_AttributionModelEnum.DiscardUnknown(m)
}

var xxx_messageInfo_AttributionModelEnum proto.InternalMessageInfo

func init() {
	proto.RegisterEnum("google.ads.googleads.v3.enums.AttributionModelEnum_AttributionModel", AttributionModelEnum_AttributionModel_name, AttributionModelEnum_AttributionModel_value)
	proto.RegisterType((*AttributionModelEnum)(nil), "google.ads.googleads.v3.enums.AttributionModelEnum")
}

func init() {
	proto.RegisterFile("google/ads/googleads/v3/enums/attribution_model.proto", fileDescriptor_1c756564395f8b71)
}

var fileDescriptor_1c756564395f8b71 = []byte{
	// 407 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xdd, 0x6a, 0xd4, 0x40,
	0x1c, 0xc5, 0xdd, 0x08, 0x2a, 0x53, 0xc1, 0x61, 0xb0, 0x17, 0x8a, 0x05, 0x5b, 0x2a, 0x54, 0x90,
	0xc9, 0x45, 0xf0, 0x66, 0xbc, 0xfa, 0x27, 0x99, 0xae, 0x43, 0xd3, 0xc9, 0x92, 0x64, 0xd7, 0x0f,
	0x16, 0x86, 0xd4, 0xc4, 0x18, 0xd9, 0x64, 0x96, 0x9d, 0x6c, 0x1f, 0xc8, 0x4b, 0xc1, 0xd7, 0xf0,
	0xc2, 0x47, 0xe9, 0x53, 0x48, 0x92, 0x6e, 0x0a, 0x85, 0xec, 0x4d, 0x38, 0xe4, 0xfc, 0xce, 0x61,
	0x98, 0x33, 0xe8, 0x7d, 0xa1, 0x75, 0xb1, 0xca, 0xed, 0x34, 0x33, 0x76, 0x2f, 0x5b, 0x75, 0xed,
	0xd8, 0x79, 0xbd, 0xad, 0x8c, 0x9d, 0x36, 0xcd, 0xa6, 0xbc, 0xda, 0x36, 0xa5, 0xae, 0x55, 0xa5,
	0xb3, 0x7c, 0x45, 0xd7, 0x1b, 0xdd, 0x68, 0x72, 0xd4, 0xb3, 0x34, 0xcd, 0x0c, 0x1d, 0x62, 0xf4,
	0xda, 0xa1, 0x5d, 0xec, 0xe5, 0xab, 0x5d, 0xeb, 0xba, 0xb4, 0xd3, 0xba, 0xd6, 0x4d, 0xda, 0x36,
	0x98, 0x3e, 0x7c, 0xf2, 0xd7, 0x42, 0xcf, 0xe1, 0xae, 0xf8, 0xb2, 0xed, 0xe5, 0xf5, 0xb6, 0x3a,
	0xf9, 0x63, 0x21, 0x7c, 0xdf, 0x20, 0xcf, 0xd0, 0xc1, 0x5c, 0xc6, 0x33, 0xee, 0x89, 0x73, 0xc1,
	0x7d, 0xfc, 0x80, 0x1c, 0xa0, 0xc7, 0x73, 0x79, 0x21, 0xc3, 0x4f, 0x12, 0x4f, 0xc8, 0x53, 0xf4,
	0x84, 0x7f, 0x4e, 0x78, 0x24, 0x21, 0xc0, 0x19, 0x79, 0x81, 0x0e, 0xa7, 0x61, 0x38, 0x0d, 0xb8,
	0x02, 0x3f, 0x56, 0x01, 0xc4, 0x89, 0xf2, 0x02, 0xe1, 0x5d, 0xe0, 0x9c, 0xbc, 0x45, 0x6f, 0x6e,
	0xad, 0x98, 0x43, 0xe4, 0x7d, 0x54, 0x90, 0x24, 0x91, 0x70, 0xe7, 0x89, 0x08, 0xa5, 0x3a, 0x17,
	0xd1, 0x80, 0x7e, 0x27, 0xa7, 0xe8, 0xf5, 0x38, 0x1a, 0x08, 0xc9, 0x21, 0xc2, 0x05, 0x39, 0x43,
	0xa7, 0xe3, 0x54, 0x22, 0x2e, 0xb9, 0xf2, 0xb9, 0x07, 0x5f, 0xf0, 0x0f, 0xf2, 0x0e, 0x9d, 0x8d,
	0x93, 0xb3, 0x30, 0x16, 0x9d, 0x70, 0x21, 0xe6, 0x3e, 0x2e, 0xf7, 0x1f, 0xd4, 0x87, 0x04, 0x94,
	0x1f, 0x89, 0x05, 0x97, 0xf8, 0xa7, 0x7b, 0x33, 0x41, 0xc7, 0xdf, 0x74, 0x45, 0xf7, 0x8e, 0xe1,
	0x1e, 0xde, 0xbf, 0xd2, 0x59, 0xbb, 0xc2, 0x6c, 0xf2, 0xd5, 0xbd, 0xcd, 0x15, 0x7a, 0x95, 0xd6,
	0x05, 0xd5, 0x9b, 0xc2, 0x2e, 0xf2, 0xba, 0xdb, 0x68, 0xf7, 0x16, 0xd6, 0xa5, 0x19, 0x79, 0x1a,
	0x1f, 0xba, 0xef, 0x2f, 0xeb, 0xe1, 0x14, 0xe0, 0xb7, 0x75, 0x34, 0xed, 0xab, 0x20, 0x33, 0xb4,
	0x97, 0xad, 0x5a, 0x38, 0xb4, 0xdd, 0xd5, 0xfc, 0xdb, 0xf9, 0x4b, 0xc8, 0xcc, 0x72, 0xf0, 0x97,
	0x0b, 0x67, 0xd9, 0xf9, 0x37, 0xd6, 0x71, 0xff, 0x93, 0x31, 0xc8, 0x0c, 0x63, 0x03, 0xc1, 0xd8,
	0xc2, 0x61, 0xac, 0x63, 0xae, 0x1e, 0x75, 0x07, 0x73, 0xfe, 0x07, 0x00, 0x00, 0xff, 0xff, 0xfe,
	0x05, 0x57, 0x6f, 0xb2, 0x02, 0x00, 0x00,
}
