...

Source file src/google.golang.org/api/searchads360/v0/searchads360-gen.go

Documentation: google.golang.org/api/searchads360/v0

     1  // Copyright 2024 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package searchads360 provides access to the Search Ads 360 Reporting API.
     8  //
     9  // For product documentation, see: https://developers.google.com/search-ads/reporting
    10  //
    11  // # Library status
    12  //
    13  // These client libraries are officially supported by Google. However, this
    14  // library is considered complete and is in maintenance mode. This means
    15  // that we will address critical bugs and security issues but will not add
    16  // any new features.
    17  //
    18  // When possible, we recommend using our newer
    19  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    20  // that are still actively being worked and iterated on.
    21  //
    22  // # Creating a client
    23  //
    24  // Usage example:
    25  //
    26  //	import "google.golang.org/api/searchads360/v0"
    27  //	...
    28  //	ctx := context.Background()
    29  //	searchads360Service, err := searchads360.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // To use an API key for authentication (note: some APIs do not support API
    38  // keys), use [google.golang.org/api/option.WithAPIKey]:
    39  //
    40  //	searchads360Service, err := searchads360.NewService(ctx, option.WithAPIKey("AIza..."))
    41  //
    42  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    43  // flow, use [google.golang.org/api/option.WithTokenSource]:
    44  //
    45  //	config := &oauth2.Config{...}
    46  //	// ...
    47  //	token, err := config.Exchange(ctx, ...)
    48  //	searchads360Service, err := searchads360.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    49  //
    50  // See [google.golang.org/api/option.ClientOption] for details on options.
    51  package searchads360 // import "google.golang.org/api/searchads360/v0"
    52  
    53  import (
    54  	"bytes"
    55  	"context"
    56  	"encoding/json"
    57  	"errors"
    58  	"fmt"
    59  	"io"
    60  	"net/http"
    61  	"net/url"
    62  	"strconv"
    63  	"strings"
    64  
    65  	googleapi "google.golang.org/api/googleapi"
    66  	internal "google.golang.org/api/internal"
    67  	gensupport "google.golang.org/api/internal/gensupport"
    68  	option "google.golang.org/api/option"
    69  	internaloption "google.golang.org/api/option/internaloption"
    70  	htransport "google.golang.org/api/transport/http"
    71  )
    72  
    73  // Always reference these packages, just in case the auto-generated code
    74  // below doesn't.
    75  var _ = bytes.NewBuffer
    76  var _ = strconv.Itoa
    77  var _ = fmt.Sprintf
    78  var _ = json.NewDecoder
    79  var _ = io.Copy
    80  var _ = url.Parse
    81  var _ = gensupport.MarshalJSON
    82  var _ = googleapi.Version
    83  var _ = errors.New
    84  var _ = strings.Replace
    85  var _ = context.Canceled
    86  var _ = internaloption.WithDefaultEndpoint
    87  var _ = internal.Version
    88  
    89  const apiId = "searchads360:v0"
    90  const apiName = "searchads360"
    91  const apiVersion = "v0"
    92  const basePath = "https://searchads360.googleapis.com/"
    93  const basePathTemplate = "https://searchads360.UNIVERSE_DOMAIN/"
    94  const mtlsBasePath = "https://searchads360.mtls.googleapis.com/"
    95  
    96  // OAuth2 scopes used by this API.
    97  const (
    98  	// View and manage your advertising data in DoubleClick Search
    99  	DoubleclicksearchScope = "https://www.googleapis.com/auth/doubleclicksearch"
   100  )
   101  
   102  // NewService creates a new Service.
   103  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   104  	scopesOption := internaloption.WithDefaultScopes(
   105  		"https://www.googleapis.com/auth/doubleclicksearch",
   106  	)
   107  	// NOTE: prepend, so we don't override user-specified scopes.
   108  	opts = append([]option.ClientOption{scopesOption}, opts...)
   109  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   110  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   111  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   112  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   113  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   114  	if err != nil {
   115  		return nil, err
   116  	}
   117  	s, err := New(client)
   118  	if err != nil {
   119  		return nil, err
   120  	}
   121  	if endpoint != "" {
   122  		s.BasePath = endpoint
   123  	}
   124  	return s, nil
   125  }
   126  
   127  // New creates a new Service. It uses the provided http.Client for requests.
   128  //
   129  // Deprecated: please use NewService instead.
   130  // To provide a custom HTTP client, use option.WithHTTPClient.
   131  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   132  func New(client *http.Client) (*Service, error) {
   133  	if client == nil {
   134  		return nil, errors.New("client is nil")
   135  	}
   136  	s := &Service{client: client, BasePath: basePath}
   137  	s.Customers = NewCustomersService(s)
   138  	s.SearchAds360Fields = NewSearchAds360FieldsService(s)
   139  	return s, nil
   140  }
   141  
   142  type Service struct {
   143  	client    *http.Client
   144  	BasePath  string // API endpoint base URL
   145  	UserAgent string // optional additional User-Agent fragment
   146  
   147  	Customers *CustomersService
   148  
   149  	SearchAds360Fields *SearchAds360FieldsService
   150  }
   151  
   152  func (s *Service) userAgent() string {
   153  	if s.UserAgent == "" {
   154  		return googleapi.UserAgent
   155  	}
   156  	return googleapi.UserAgent + " " + s.UserAgent
   157  }
   158  
   159  func NewCustomersService(s *Service) *CustomersService {
   160  	rs := &CustomersService{s: s}
   161  	rs.CustomColumns = NewCustomersCustomColumnsService(s)
   162  	rs.SearchAds360 = NewCustomersSearchAds360Service(s)
   163  	return rs
   164  }
   165  
   166  type CustomersService struct {
   167  	s *Service
   168  
   169  	CustomColumns *CustomersCustomColumnsService
   170  
   171  	SearchAds360 *CustomersSearchAds360Service
   172  }
   173  
   174  func NewCustomersCustomColumnsService(s *Service) *CustomersCustomColumnsService {
   175  	rs := &CustomersCustomColumnsService{s: s}
   176  	return rs
   177  }
   178  
   179  type CustomersCustomColumnsService struct {
   180  	s *Service
   181  }
   182  
   183  func NewCustomersSearchAds360Service(s *Service) *CustomersSearchAds360Service {
   184  	rs := &CustomersSearchAds360Service{s: s}
   185  	return rs
   186  }
   187  
   188  type CustomersSearchAds360Service struct {
   189  	s *Service
   190  }
   191  
   192  func NewSearchAds360FieldsService(s *Service) *SearchAds360FieldsService {
   193  	rs := &SearchAds360FieldsService{s: s}
   194  	return rs
   195  }
   196  
   197  type SearchAds360FieldsService struct {
   198  	s *Service
   199  }
   200  
   201  // GoogleAdsSearchads360V0Common__AdScheduleInfo: Represents an AdSchedule
   202  // criterion. AdSchedule is specified as the day of the week and a time
   203  // interval within which ads will be shown. No more than six AdSchedules can be
   204  // added for the same day.
   205  type GoogleAdsSearchads360V0Common__AdScheduleInfo struct {
   206  	// DayOfWeek: Day of the week the schedule applies to. This field is required
   207  	// for CREATE operations and is prohibited on UPDATE operations.
   208  	//
   209  	// Possible values:
   210  	//   "UNSPECIFIED" - Not specified.
   211  	//   "UNKNOWN" - The value is unknown in this version.
   212  	//   "MONDAY" - Monday.
   213  	//   "TUESDAY" - Tuesday.
   214  	//   "WEDNESDAY" - Wednesday.
   215  	//   "THURSDAY" - Thursday.
   216  	//   "FRIDAY" - Friday.
   217  	//   "SATURDAY" - Saturday.
   218  	//   "SUNDAY" - Sunday.
   219  	DayOfWeek string `json:"dayOfWeek,omitempty"`
   220  	// EndHour: Ending hour in 24 hour time; 24 signifies end of the day. This
   221  	// field must be between 0 and 24, inclusive. This field is required for CREATE
   222  	// operations and is prohibited on UPDATE operations.
   223  	EndHour int64 `json:"endHour,omitempty"`
   224  	// EndMinute: Minutes after the end hour at which this schedule ends. The
   225  	// schedule is exclusive of the end minute. This field is required for CREATE
   226  	// operations and is prohibited on UPDATE operations.
   227  	//
   228  	// Possible values:
   229  	//   "UNSPECIFIED" - Not specified.
   230  	//   "UNKNOWN" - The value is unknown in this version.
   231  	//   "ZERO" - Zero minutes past the hour.
   232  	//   "FIFTEEN" - Fifteen minutes past the hour.
   233  	//   "THIRTY" - Thirty minutes past the hour.
   234  	//   "FORTY_FIVE" - Forty-five minutes past the hour.
   235  	EndMinute string `json:"endMinute,omitempty"`
   236  	// StartHour: Starting hour in 24 hour time. This field must be between 0 and
   237  	// 23, inclusive. This field is required for CREATE operations and is
   238  	// prohibited on UPDATE operations.
   239  	StartHour int64 `json:"startHour,omitempty"`
   240  	// StartMinute: Minutes after the start hour at which this schedule starts.
   241  	// This field is required for CREATE operations and is prohibited on UPDATE
   242  	// operations.
   243  	//
   244  	// Possible values:
   245  	//   "UNSPECIFIED" - Not specified.
   246  	//   "UNKNOWN" - The value is unknown in this version.
   247  	//   "ZERO" - Zero minutes past the hour.
   248  	//   "FIFTEEN" - Fifteen minutes past the hour.
   249  	//   "THIRTY" - Thirty minutes past the hour.
   250  	//   "FORTY_FIVE" - Forty-five minutes past the hour.
   251  	StartMinute string `json:"startMinute,omitempty"`
   252  	// ForceSendFields is a list of field names (e.g. "DayOfWeek") to
   253  	// unconditionally include in API requests. By default, fields with empty or
   254  	// default values are omitted from API requests. See
   255  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   256  	// details.
   257  	ForceSendFields []string `json:"-"`
   258  	// NullFields is a list of field names (e.g. "DayOfWeek") to include in API
   259  	// requests with the JSON null value. By default, fields with empty values are
   260  	// omitted from API requests. See
   261  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   262  	NullFields []string `json:"-"`
   263  }
   264  
   265  func (s *GoogleAdsSearchads360V0Common__AdScheduleInfo) MarshalJSON() ([]byte, error) {
   266  	type NoMethod GoogleAdsSearchads360V0Common__AdScheduleInfo
   267  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   268  }
   269  
   270  // GoogleAdsSearchads360V0Common__AgeRangeInfo: An age range criterion.
   271  type GoogleAdsSearchads360V0Common__AgeRangeInfo struct {
   272  	// Type: Type of the age range.
   273  	//
   274  	// Possible values:
   275  	//   "UNSPECIFIED" - Not specified.
   276  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
   277  	// version.
   278  	//   "AGE_RANGE_18_24" - Between 18 and 24 years old.
   279  	//   "AGE_RANGE_25_34" - Between 25 and 34 years old.
   280  	//   "AGE_RANGE_35_44" - Between 35 and 44 years old.
   281  	//   "AGE_RANGE_45_54" - Between 45 and 54 years old.
   282  	//   "AGE_RANGE_55_64" - Between 55 and 64 years old.
   283  	//   "AGE_RANGE_65_UP" - 65 years old and beyond.
   284  	//   "AGE_RANGE_UNDETERMINED" - Undetermined age range.
   285  	Type string `json:"type,omitempty"`
   286  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
   287  	// include in API requests. By default, fields with empty or default values are
   288  	// omitted from API requests. See
   289  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   290  	// details.
   291  	ForceSendFields []string `json:"-"`
   292  	// NullFields is a list of field names (e.g. "Type") to include in API requests
   293  	// with the JSON null value. By default, fields with empty values are omitted
   294  	// from API requests. See
   295  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   296  	NullFields []string `json:"-"`
   297  }
   298  
   299  func (s *GoogleAdsSearchads360V0Common__AgeRangeInfo) MarshalJSON() ([]byte, error) {
   300  	type NoMethod GoogleAdsSearchads360V0Common__AgeRangeInfo
   301  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   302  }
   303  
   304  // GoogleAdsSearchads360V0Common__AssetInteractionTarget: An
   305  // AssetInteractionTarget segment.
   306  type GoogleAdsSearchads360V0Common__AssetInteractionTarget struct {
   307  	// Asset: The asset resource name.
   308  	Asset string `json:"asset,omitempty"`
   309  	// InteractionOnThisAsset: Only used with CustomerAsset, CampaignAsset and
   310  	// AdGroupAsset metrics. Indicates whether the interaction metrics occurred on
   311  	// the asset itself or a different asset or ad unit.
   312  	InteractionOnThisAsset bool `json:"interactionOnThisAsset,omitempty"`
   313  	// ForceSendFields is a list of field names (e.g. "Asset") to unconditionally
   314  	// include in API requests. By default, fields with empty or default values are
   315  	// omitted from API requests. See
   316  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   317  	// details.
   318  	ForceSendFields []string `json:"-"`
   319  	// NullFields is a list of field names (e.g. "Asset") to include in API
   320  	// requests with the JSON null value. By default, fields with empty values are
   321  	// omitted from API requests. See
   322  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   323  	NullFields []string `json:"-"`
   324  }
   325  
   326  func (s *GoogleAdsSearchads360V0Common__AssetInteractionTarget) MarshalJSON() ([]byte, error) {
   327  	type NoMethod GoogleAdsSearchads360V0Common__AssetInteractionTarget
   328  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   329  }
   330  
   331  // GoogleAdsSearchads360V0Common__AssetUsage: Contains the usage information of
   332  // the asset.
   333  type GoogleAdsSearchads360V0Common__AssetUsage struct {
   334  	// Asset: Resource name of the asset.
   335  	Asset string `json:"asset,omitempty"`
   336  	// ServedAssetFieldType: The served field type of the asset.
   337  	//
   338  	// Possible values:
   339  	//   "UNSPECIFIED" - No value has been specified.
   340  	//   "UNKNOWN" - The received value is not known in this version. This is a
   341  	// response-only value.
   342  	//   "HEADLINE_1" - The asset is used in headline 1.
   343  	//   "HEADLINE_2" - The asset is used in headline 2.
   344  	//   "HEADLINE_3" - The asset is used in headline 3.
   345  	//   "DESCRIPTION_1" - The asset is used in description 1.
   346  	//   "DESCRIPTION_2" - The asset is used in description 2.
   347  	//   "HEADLINE" - The asset was used in a headline. Use this only if there is
   348  	// only one headline in the ad. Otherwise, use the HEADLINE_1, HEADLINE_2 or
   349  	// HEADLINE_3 enums
   350  	//   "HEADLINE_IN_PORTRAIT" - The asset was used as a headline in portrait
   351  	// image.
   352  	//   "LONG_HEADLINE" - The asset was used in a long headline (used in
   353  	// MultiAssetResponsiveAd).
   354  	//   "DESCRIPTION" - The asset was used in a description. Use this only if
   355  	// there is only one description in the ad. Otherwise, use the DESCRIPTION_1 or
   356  	// DESCRIPTION_@ enums
   357  	//   "DESCRIPTION_IN_PORTRAIT" - The asset was used as description in portrait
   358  	// image.
   359  	//   "BUSINESS_NAME_IN_PORTRAIT" - The asset was used as business name in
   360  	// portrait image.
   361  	//   "BUSINESS_NAME" - The asset was used as business name.
   362  	//   "MARKETING_IMAGE" - The asset was used as a marketing image.
   363  	//   "MARKETING_IMAGE_IN_PORTRAIT" - The asset was used as a marketing image in
   364  	// portrait image.
   365  	//   "SQUARE_MARKETING_IMAGE" - The asset was used as a square marketing image.
   366  	//   "PORTRAIT_MARKETING_IMAGE" - The asset was used as a portrait marketing
   367  	// image.
   368  	//   "LOGO" - The asset was used as a logo.
   369  	//   "LANDSCAPE_LOGO" - The asset was used as a landscape logo.
   370  	//   "CALL_TO_ACTION" - The asset was used as a call-to-action.
   371  	//   "YOU_TUBE_VIDEO" - The asset was used as a YouTube video.
   372  	//   "SITELINK" - This asset is used as a sitelink.
   373  	//   "CALL" - This asset is used as a call.
   374  	//   "MOBILE_APP" - This asset is used as a mobile app.
   375  	//   "CALLOUT" - This asset is used as a callout.
   376  	//   "STRUCTURED_SNIPPET" - This asset is used as a structured snippet.
   377  	//   "PRICE" - This asset is used as a price.
   378  	//   "PROMOTION" - This asset is used as a promotion.
   379  	//   "AD_IMAGE" - This asset is used as an image.
   380  	//   "LEAD_FORM" - The asset is used as a lead form.
   381  	//   "BUSINESS_LOGO" - The asset is used as a business logo.
   382  	ServedAssetFieldType string `json:"servedAssetFieldType,omitempty"`
   383  	// ForceSendFields is a list of field names (e.g. "Asset") to unconditionally
   384  	// include in API requests. By default, fields with empty or default values are
   385  	// omitted from API requests. See
   386  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   387  	// details.
   388  	ForceSendFields []string `json:"-"`
   389  	// NullFields is a list of field names (e.g. "Asset") to include in API
   390  	// requests with the JSON null value. By default, fields with empty values are
   391  	// omitted from API requests. See
   392  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   393  	NullFields []string `json:"-"`
   394  }
   395  
   396  func (s *GoogleAdsSearchads360V0Common__AssetUsage) MarshalJSON() ([]byte, error) {
   397  	type NoMethod GoogleAdsSearchads360V0Common__AssetUsage
   398  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   399  }
   400  
   401  // GoogleAdsSearchads360V0Common__AudienceInfo: An audience criterion.
   402  type GoogleAdsSearchads360V0Common__AudienceInfo struct {
   403  	// Audience: The Audience resource name.
   404  	Audience string `json:"audience,omitempty"`
   405  	// ForceSendFields is a list of field names (e.g. "Audience") to
   406  	// unconditionally include in API requests. By default, fields with empty or
   407  	// default values are omitted from API requests. See
   408  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   409  	// details.
   410  	ForceSendFields []string `json:"-"`
   411  	// NullFields is a list of field names (e.g. "Audience") to include in API
   412  	// requests with the JSON null value. By default, fields with empty values are
   413  	// omitted from API requests. See
   414  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   415  	NullFields []string `json:"-"`
   416  }
   417  
   418  func (s *GoogleAdsSearchads360V0Common__AudienceInfo) MarshalJSON() ([]byte, error) {
   419  	type NoMethod GoogleAdsSearchads360V0Common__AudienceInfo
   420  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   421  }
   422  
   423  // GoogleAdsSearchads360V0Common__BusinessProfileLocation: Business Profile
   424  // location data synced from the linked Business Profile account.
   425  type GoogleAdsSearchads360V0Common__BusinessProfileLocation struct {
   426  	// Labels: Advertiser specified label for the location on the Business Profile
   427  	// account. This is synced from the Business Profile account.
   428  	Labels []string `json:"labels,omitempty"`
   429  	// ListingId: Listing ID of this Business Profile location. This is synced from
   430  	// the linked Business Profile account.
   431  	ListingId int64 `json:"listingId,omitempty,string"`
   432  	// StoreCode: Business Profile store code of this location. This is synced from
   433  	// the Business Profile account.
   434  	StoreCode string `json:"storeCode,omitempty"`
   435  	// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
   436  	// include in API requests. By default, fields with empty or default values are
   437  	// omitted from API requests. See
   438  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   439  	// details.
   440  	ForceSendFields []string `json:"-"`
   441  	// NullFields is a list of field names (e.g. "Labels") to include in API
   442  	// requests with the JSON null value. By default, fields with empty values are
   443  	// omitted from API requests. See
   444  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   445  	NullFields []string `json:"-"`
   446  }
   447  
   448  func (s *GoogleAdsSearchads360V0Common__BusinessProfileLocation) MarshalJSON() ([]byte, error) {
   449  	type NoMethod GoogleAdsSearchads360V0Common__BusinessProfileLocation
   450  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   451  }
   452  
   453  // GoogleAdsSearchads360V0Common__CallToActionAsset: A call to action asset.
   454  type GoogleAdsSearchads360V0Common__CallToActionAsset struct {
   455  	// CallToAction: Call to action.
   456  	//
   457  	// Possible values:
   458  	//   "UNSPECIFIED" - Not specified.
   459  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
   460  	// version.
   461  	//   "LEARN_MORE" - The call to action type is learn more.
   462  	//   "GET_QUOTE" - The call to action type is get quote.
   463  	//   "APPLY_NOW" - The call to action type is apply now.
   464  	//   "SIGN_UP" - The call to action type is sign up.
   465  	//   "CONTACT_US" - The call to action type is contact us.
   466  	//   "SUBSCRIBE" - The call to action type is subscribe.
   467  	//   "DOWNLOAD" - The call to action type is download.
   468  	//   "BOOK_NOW" - The call to action type is book now.
   469  	//   "SHOP_NOW" - The call to action type is shop now.
   470  	//   "BUY_NOW" - The call to action type is buy now.
   471  	//   "DONATE_NOW" - The call to action type is donate now.
   472  	//   "ORDER_NOW" - The call to action type is order now.
   473  	//   "PLAY_NOW" - The call to action type is play now.
   474  	//   "SEE_MORE" - The call to action type is see more.
   475  	//   "START_NOW" - The call to action type is start now.
   476  	//   "VISIT_SITE" - The call to action type is visit site.
   477  	//   "WATCH_NOW" - The call to action type is watch now.
   478  	CallToAction string `json:"callToAction,omitempty"`
   479  	// ForceSendFields is a list of field names (e.g. "CallToAction") to
   480  	// unconditionally include in API requests. By default, fields with empty or
   481  	// default values are omitted from API requests. See
   482  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   483  	// details.
   484  	ForceSendFields []string `json:"-"`
   485  	// NullFields is a list of field names (e.g. "CallToAction") to include in API
   486  	// requests with the JSON null value. By default, fields with empty values are
   487  	// omitted from API requests. See
   488  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   489  	NullFields []string `json:"-"`
   490  }
   491  
   492  func (s *GoogleAdsSearchads360V0Common__CallToActionAsset) MarshalJSON() ([]byte, error) {
   493  	type NoMethod GoogleAdsSearchads360V0Common__CallToActionAsset
   494  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   495  }
   496  
   497  // GoogleAdsSearchads360V0Common__CustomParameter: A mapping that can be used
   498  // by custom parameter tags in a `tracking_url_template`, `final_urls`, or
   499  // `mobile_final_urls`.
   500  type GoogleAdsSearchads360V0Common__CustomParameter struct {
   501  	// Key: The key matching the parameter tag name.
   502  	Key string `json:"key,omitempty"`
   503  	// Value: The value to be substituted.
   504  	Value string `json:"value,omitempty"`
   505  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
   506  	// include in API requests. By default, fields with empty or default values are
   507  	// omitted from API requests. See
   508  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   509  	// details.
   510  	ForceSendFields []string `json:"-"`
   511  	// NullFields is a list of field names (e.g. "Key") to include in API requests
   512  	// with the JSON null value. By default, fields with empty values are omitted
   513  	// from API requests. See
   514  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   515  	NullFields []string `json:"-"`
   516  }
   517  
   518  func (s *GoogleAdsSearchads360V0Common__CustomParameter) MarshalJSON() ([]byte, error) {
   519  	type NoMethod GoogleAdsSearchads360V0Common__CustomParameter
   520  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   521  }
   522  
   523  // GoogleAdsSearchads360V0Common__DeviceInfo: A device criterion.
   524  type GoogleAdsSearchads360V0Common__DeviceInfo struct {
   525  	// Type: Type of the device.
   526  	//
   527  	// Possible values:
   528  	//   "UNSPECIFIED" - Not specified.
   529  	//   "UNKNOWN" - The value is unknown in this version.
   530  	//   "MOBILE" - Mobile devices with full browsers.
   531  	//   "TABLET" - Tablets with full browsers.
   532  	//   "DESKTOP" - Computers.
   533  	//   "CONNECTED_TV" - Smart TVs and game consoles.
   534  	//   "OTHER" - Other device types.
   535  	Type string `json:"type,omitempty"`
   536  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
   537  	// include in API requests. By default, fields with empty or default values are
   538  	// omitted from API requests. See
   539  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   540  	// details.
   541  	ForceSendFields []string `json:"-"`
   542  	// NullFields is a list of field names (e.g. "Type") to include in API requests
   543  	// with the JSON null value. By default, fields with empty values are omitted
   544  	// from API requests. See
   545  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   546  	NullFields []string `json:"-"`
   547  }
   548  
   549  func (s *GoogleAdsSearchads360V0Common__DeviceInfo) MarshalJSON() ([]byte, error) {
   550  	type NoMethod GoogleAdsSearchads360V0Common__DeviceInfo
   551  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   552  }
   553  
   554  // GoogleAdsSearchads360V0Common__EnhancedCpc: An automated bidding strategy
   555  // that raises bids for clicks that seem more likely to lead to a conversion
   556  // and lowers them for clicks where they seem less likely. This bidding
   557  // strategy is deprecated and cannot be created anymore. Use ManualCpc with
   558  // enhanced_cpc_enabled set to true for equivalent functionality.
   559  type GoogleAdsSearchads360V0Common__EnhancedCpc struct {
   560  }
   561  
   562  // GoogleAdsSearchads360V0Common__FrequencyCapEntry: A rule specifying the
   563  // maximum number of times an ad (or some set of ads) can be shown to a user
   564  // over a particular time period.
   565  type GoogleAdsSearchads360V0Common__FrequencyCapEntry struct {
   566  }
   567  
   568  // GoogleAdsSearchads360V0Common__GenderInfo: A gender criterion.
   569  type GoogleAdsSearchads360V0Common__GenderInfo struct {
   570  	// Type: Type of the gender.
   571  	//
   572  	// Possible values:
   573  	//   "UNSPECIFIED" - Not specified.
   574  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
   575  	// version.
   576  	//   "MALE" - Male.
   577  	//   "FEMALE" - Female.
   578  	//   "UNDETERMINED" - Undetermined gender.
   579  	Type string `json:"type,omitempty"`
   580  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
   581  	// include in API requests. By default, fields with empty or default values are
   582  	// omitted from API requests. See
   583  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   584  	// details.
   585  	ForceSendFields []string `json:"-"`
   586  	// NullFields is a list of field names (e.g. "Type") to include in API requests
   587  	// with the JSON null value. By default, fields with empty values are omitted
   588  	// from API requests. See
   589  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   590  	NullFields []string `json:"-"`
   591  }
   592  
   593  func (s *GoogleAdsSearchads360V0Common__GenderInfo) MarshalJSON() ([]byte, error) {
   594  	type NoMethod GoogleAdsSearchads360V0Common__GenderInfo
   595  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   596  }
   597  
   598  // GoogleAdsSearchads360V0Common__ImageAsset: An Image asset.
   599  type GoogleAdsSearchads360V0Common__ImageAsset struct {
   600  	// FileSize: File size of the image asset in bytes.
   601  	FileSize int64 `json:"fileSize,omitempty,string"`
   602  	// FullSize: Metadata for this image at its original size.
   603  	FullSize *GoogleAdsSearchads360V0Common__ImageDimension `json:"fullSize,omitempty"`
   604  	// MimeType: MIME type of the image asset.
   605  	//
   606  	// Possible values:
   607  	//   "UNSPECIFIED" - The mime type has not been specified.
   608  	//   "UNKNOWN" - The received value is not known in this version. This is a
   609  	// response-only value.
   610  	//   "IMAGE_JPEG" - MIME type of image/jpeg.
   611  	//   "IMAGE_GIF" - MIME type of image/gif.
   612  	//   "IMAGE_PNG" - MIME type of image/png.
   613  	//   "FLASH" - MIME type of application/x-shockwave-flash.
   614  	//   "TEXT_HTML" - MIME type of text/html.
   615  	//   "PDF" - MIME type of application/pdf.
   616  	//   "MSWORD" - MIME type of application/msword.
   617  	//   "MSEXCEL" - MIME type of application/vnd.ms-excel.
   618  	//   "RTF" - MIME type of application/rtf.
   619  	//   "AUDIO_WAV" - MIME type of audio/wav.
   620  	//   "AUDIO_MP3" - MIME type of audio/mp3.
   621  	//   "HTML5_AD_ZIP" - MIME type of application/x-html5-ad-zip.
   622  	MimeType string `json:"mimeType,omitempty"`
   623  	// ForceSendFields is a list of field names (e.g. "FileSize") to
   624  	// unconditionally include in API requests. By default, fields with empty or
   625  	// default values are omitted from API requests. See
   626  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   627  	// details.
   628  	ForceSendFields []string `json:"-"`
   629  	// NullFields is a list of field names (e.g. "FileSize") to include in API
   630  	// requests with the JSON null value. By default, fields with empty values are
   631  	// omitted from API requests. See
   632  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   633  	NullFields []string `json:"-"`
   634  }
   635  
   636  func (s *GoogleAdsSearchads360V0Common__ImageAsset) MarshalJSON() ([]byte, error) {
   637  	type NoMethod GoogleAdsSearchads360V0Common__ImageAsset
   638  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   639  }
   640  
   641  // GoogleAdsSearchads360V0Common__ImageDimension: Metadata for an image at a
   642  // certain size, either original or resized.
   643  type GoogleAdsSearchads360V0Common__ImageDimension struct {
   644  	// HeightPixels: Height of the image.
   645  	HeightPixels int64 `json:"heightPixels,omitempty,string"`
   646  	// Url: A URL that returns the image with this height and width.
   647  	Url string `json:"url,omitempty"`
   648  	// WidthPixels: Width of the image.
   649  	WidthPixels int64 `json:"widthPixels,omitempty,string"`
   650  	// ForceSendFields is a list of field names (e.g. "HeightPixels") to
   651  	// unconditionally include in API requests. By default, fields with empty or
   652  	// default values are omitted from API requests. See
   653  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   654  	// details.
   655  	ForceSendFields []string `json:"-"`
   656  	// NullFields is a list of field names (e.g. "HeightPixels") to include in API
   657  	// requests with the JSON null value. By default, fields with empty values are
   658  	// omitted from API requests. See
   659  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   660  	NullFields []string `json:"-"`
   661  }
   662  
   663  func (s *GoogleAdsSearchads360V0Common__ImageDimension) MarshalJSON() ([]byte, error) {
   664  	type NoMethod GoogleAdsSearchads360V0Common__ImageDimension
   665  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   666  }
   667  
   668  // GoogleAdsSearchads360V0Common__Keyword: A Keyword criterion segment.
   669  type GoogleAdsSearchads360V0Common__Keyword struct {
   670  	// AdGroupCriterion: The AdGroupCriterion resource name.
   671  	AdGroupCriterion string `json:"adGroupCriterion,omitempty"`
   672  	// Info: Keyword info.
   673  	Info *GoogleAdsSearchads360V0Common__KeywordInfo `json:"info,omitempty"`
   674  	// ForceSendFields is a list of field names (e.g. "AdGroupCriterion") to
   675  	// unconditionally include in API requests. By default, fields with empty or
   676  	// default values are omitted from API requests. See
   677  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   678  	// details.
   679  	ForceSendFields []string `json:"-"`
   680  	// NullFields is a list of field names (e.g. "AdGroupCriterion") to include in
   681  	// API requests with the JSON null value. By default, fields with empty values
   682  	// are omitted from API requests. See
   683  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   684  	NullFields []string `json:"-"`
   685  }
   686  
   687  func (s *GoogleAdsSearchads360V0Common__Keyword) MarshalJSON() ([]byte, error) {
   688  	type NoMethod GoogleAdsSearchads360V0Common__Keyword
   689  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   690  }
   691  
   692  // GoogleAdsSearchads360V0Common__KeywordInfo: A keyword criterion.
   693  type GoogleAdsSearchads360V0Common__KeywordInfo struct {
   694  	// MatchType: The match type of the keyword.
   695  	//
   696  	// Possible values:
   697  	//   "UNSPECIFIED" - Not specified.
   698  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
   699  	// version.
   700  	//   "EXACT" - Exact match.
   701  	//   "PHRASE" - Phrase match.
   702  	//   "BROAD" - Broad match.
   703  	MatchType string `json:"matchType,omitempty"`
   704  	// Text: The text of the keyword (at most 80 characters and 10 words).
   705  	Text string `json:"text,omitempty"`
   706  	// ForceSendFields is a list of field names (e.g. "MatchType") to
   707  	// unconditionally include in API requests. By default, fields with empty or
   708  	// default values are omitted from API requests. See
   709  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   710  	// details.
   711  	ForceSendFields []string `json:"-"`
   712  	// NullFields is a list of field names (e.g. "MatchType") to include in API
   713  	// requests with the JSON null value. By default, fields with empty values are
   714  	// omitted from API requests. See
   715  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   716  	NullFields []string `json:"-"`
   717  }
   718  
   719  func (s *GoogleAdsSearchads360V0Common__KeywordInfo) MarshalJSON() ([]byte, error) {
   720  	type NoMethod GoogleAdsSearchads360V0Common__KeywordInfo
   721  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   722  }
   723  
   724  // GoogleAdsSearchads360V0Common__LanguageInfo: A language criterion.
   725  type GoogleAdsSearchads360V0Common__LanguageInfo struct {
   726  	// LanguageConstant: The language constant resource name.
   727  	LanguageConstant string `json:"languageConstant,omitempty"`
   728  	// ForceSendFields is a list of field names (e.g. "LanguageConstant") to
   729  	// unconditionally include in API requests. By default, fields with empty or
   730  	// default values are omitted from API requests. See
   731  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   732  	// details.
   733  	ForceSendFields []string `json:"-"`
   734  	// NullFields is a list of field names (e.g. "LanguageConstant") to include in
   735  	// API requests with the JSON null value. By default, fields with empty values
   736  	// are omitted from API requests. See
   737  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   738  	NullFields []string `json:"-"`
   739  }
   740  
   741  func (s *GoogleAdsSearchads360V0Common__LanguageInfo) MarshalJSON() ([]byte, error) {
   742  	type NoMethod GoogleAdsSearchads360V0Common__LanguageInfo
   743  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   744  }
   745  
   746  // GoogleAdsSearchads360V0Common__ListingGroupInfo: A listing group criterion.
   747  type GoogleAdsSearchads360V0Common__ListingGroupInfo struct {
   748  	// Type: Type of the listing group.
   749  	//
   750  	// Possible values:
   751  	//   "UNSPECIFIED" - Not specified.
   752  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
   753  	// version.
   754  	//   "SUBDIVISION" - Subdivision of products along some listing dimension.
   755  	// These nodes are not used by serving to target listing entries, but is purely
   756  	// to define the structure of the tree.
   757  	//   "UNIT" - Listing group unit that defines a bid.
   758  	Type string `json:"type,omitempty"`
   759  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
   760  	// include in API requests. By default, fields with empty or default values are
   761  	// omitted from API requests. See
   762  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   763  	// details.
   764  	ForceSendFields []string `json:"-"`
   765  	// NullFields is a list of field names (e.g. "Type") to include in API requests
   766  	// with the JSON null value. By default, fields with empty values are omitted
   767  	// from API requests. See
   768  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   769  	NullFields []string `json:"-"`
   770  }
   771  
   772  func (s *GoogleAdsSearchads360V0Common__ListingGroupInfo) MarshalJSON() ([]byte, error) {
   773  	type NoMethod GoogleAdsSearchads360V0Common__ListingGroupInfo
   774  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   775  }
   776  
   777  // GoogleAdsSearchads360V0Common__LocationGroupInfo: A radius around a list of
   778  // locations specified through a feed.
   779  type GoogleAdsSearchads360V0Common__LocationGroupInfo struct {
   780  	// FeedItemSets: FeedItemSets whose FeedItems are targeted. If multiple IDs are
   781  	// specified, then all items that appear in at least one set are targeted. This
   782  	// field cannot be used with geo_target_constants. This is optional and can
   783  	// only be set in CREATE operations.
   784  	FeedItemSets []string `json:"feedItemSets,omitempty"`
   785  	// GeoTargetConstants: Geo target constant(s) restricting the scope of the
   786  	// geographic area within the feed. Currently only one geo target constant is
   787  	// allowed.
   788  	GeoTargetConstants []string `json:"geoTargetConstants,omitempty"`
   789  	// Radius: Distance in units specifying the radius around targeted locations.
   790  	// This is required and must be set in CREATE operations.
   791  	Radius int64 `json:"radius,omitempty,string"`
   792  	// RadiusUnits: Unit of the radius. Miles and meters are supported for geo
   793  	// target constants. Milli miles and meters are supported for feed item sets.
   794  	// This is required and must be set in CREATE operations.
   795  	//
   796  	// Possible values:
   797  	//   "UNSPECIFIED" - Not specified.
   798  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
   799  	// version.
   800  	//   "METERS" - Meters
   801  	//   "MILES" - Miles
   802  	//   "MILLI_MILES" - Milli Miles
   803  	RadiusUnits string `json:"radiusUnits,omitempty"`
   804  	// ForceSendFields is a list of field names (e.g. "FeedItemSets") to
   805  	// unconditionally include in API requests. By default, fields with empty or
   806  	// default values are omitted from API requests. See
   807  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   808  	// details.
   809  	ForceSendFields []string `json:"-"`
   810  	// NullFields is a list of field names (e.g. "FeedItemSets") to include in API
   811  	// requests with the JSON null value. By default, fields with empty values are
   812  	// omitted from API requests. See
   813  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   814  	NullFields []string `json:"-"`
   815  }
   816  
   817  func (s *GoogleAdsSearchads360V0Common__LocationGroupInfo) MarshalJSON() ([]byte, error) {
   818  	type NoMethod GoogleAdsSearchads360V0Common__LocationGroupInfo
   819  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   820  }
   821  
   822  // GoogleAdsSearchads360V0Common__LocationInfo: A location criterion.
   823  type GoogleAdsSearchads360V0Common__LocationInfo struct {
   824  	// GeoTargetConstant: The geo target constant resource name.
   825  	GeoTargetConstant string `json:"geoTargetConstant,omitempty"`
   826  	// ForceSendFields is a list of field names (e.g. "GeoTargetConstant") to
   827  	// unconditionally include in API requests. By default, fields with empty or
   828  	// default values are omitted from API requests. See
   829  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   830  	// details.
   831  	ForceSendFields []string `json:"-"`
   832  	// NullFields is a list of field names (e.g. "GeoTargetConstant") to include in
   833  	// API requests with the JSON null value. By default, fields with empty values
   834  	// are omitted from API requests. See
   835  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   836  	NullFields []string `json:"-"`
   837  }
   838  
   839  func (s *GoogleAdsSearchads360V0Common__LocationInfo) MarshalJSON() ([]byte, error) {
   840  	type NoMethod GoogleAdsSearchads360V0Common__LocationInfo
   841  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   842  }
   843  
   844  // GoogleAdsSearchads360V0Common__ManualCpa: Manual bidding strategy that
   845  // allows advertiser to set the bid per advertiser-specified action.
   846  type GoogleAdsSearchads360V0Common__ManualCpa struct {
   847  }
   848  
   849  // GoogleAdsSearchads360V0Common__ManualCpc: Manual click-based bidding where
   850  // user pays per click.
   851  type GoogleAdsSearchads360V0Common__ManualCpc struct {
   852  	// EnhancedCpcEnabled: Whether bids are to be enhanced based on conversion
   853  	// optimizer data.
   854  	EnhancedCpcEnabled bool `json:"enhancedCpcEnabled,omitempty"`
   855  	// ForceSendFields is a list of field names (e.g. "EnhancedCpcEnabled") to
   856  	// unconditionally include in API requests. By default, fields with empty or
   857  	// default values are omitted from API requests. See
   858  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   859  	// details.
   860  	ForceSendFields []string `json:"-"`
   861  	// NullFields is a list of field names (e.g. "EnhancedCpcEnabled") to include
   862  	// in API requests with the JSON null value. By default, fields with empty
   863  	// values are omitted from API requests. See
   864  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   865  	NullFields []string `json:"-"`
   866  }
   867  
   868  func (s *GoogleAdsSearchads360V0Common__ManualCpc) MarshalJSON() ([]byte, error) {
   869  	type NoMethod GoogleAdsSearchads360V0Common__ManualCpc
   870  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   871  }
   872  
   873  // GoogleAdsSearchads360V0Common__ManualCpm: Manual impression-based bidding
   874  // where user pays per thousand impressions.
   875  type GoogleAdsSearchads360V0Common__ManualCpm struct {
   876  }
   877  
   878  // GoogleAdsSearchads360V0Common__MaximizeConversionValue: An automated bidding
   879  // strategy to help get the most conversion value for your campaigns while
   880  // spending your budget.
   881  type GoogleAdsSearchads360V0Common__MaximizeConversionValue struct {
   882  	// CpcBidCeilingMicros: Maximum bid limit that can be set by the bid strategy.
   883  	// The limit applies to all keywords managed by the strategy. Mutable for
   884  	// portfolio bidding strategies only.
   885  	CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"`
   886  	// CpcBidFloorMicros: Minimum bid limit that can be set by the bid strategy.
   887  	// The limit applies to all keywords managed by the strategy. Mutable for
   888  	// portfolio bidding strategies only.
   889  	CpcBidFloorMicros int64 `json:"cpcBidFloorMicros,omitempty,string"`
   890  	// TargetRoas: The target return on ad spend (ROAS) option. If set, the bid
   891  	// strategy will maximize revenue while averaging the target return on ad
   892  	// spend. If the target ROAS is high, the bid strategy may not be able to spend
   893  	// the full budget. If the target ROAS is not set, the bid strategy will aim to
   894  	// achieve the highest possible ROAS for the budget.
   895  	TargetRoas float64 `json:"targetRoas,omitempty"`
   896  	// ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") to
   897  	// unconditionally include in API requests. By default, fields with empty or
   898  	// default values are omitted from API requests. See
   899  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   900  	// details.
   901  	ForceSendFields []string `json:"-"`
   902  	// NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to include
   903  	// in API requests with the JSON null value. By default, fields with empty
   904  	// values are omitted from API requests. See
   905  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   906  	NullFields []string `json:"-"`
   907  }
   908  
   909  func (s *GoogleAdsSearchads360V0Common__MaximizeConversionValue) MarshalJSON() ([]byte, error) {
   910  	type NoMethod GoogleAdsSearchads360V0Common__MaximizeConversionValue
   911  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   912  }
   913  
   914  func (s *GoogleAdsSearchads360V0Common__MaximizeConversionValue) UnmarshalJSON(data []byte) error {
   915  	type NoMethod GoogleAdsSearchads360V0Common__MaximizeConversionValue
   916  	var s1 struct {
   917  		TargetRoas gensupport.JSONFloat64 `json:"targetRoas"`
   918  		*NoMethod
   919  	}
   920  	s1.NoMethod = (*NoMethod)(s)
   921  	if err := json.Unmarshal(data, &s1); err != nil {
   922  		return err
   923  	}
   924  	s.TargetRoas = float64(s1.TargetRoas)
   925  	return nil
   926  }
   927  
   928  // GoogleAdsSearchads360V0Common__MaximizeConversions: An automated bidding
   929  // strategy to help get the most conversions for your campaigns while spending
   930  // your budget.
   931  type GoogleAdsSearchads360V0Common__MaximizeConversions struct {
   932  	// CpcBidCeilingMicros: Maximum bid limit that can be set by the bid strategy.
   933  	// The limit applies to all keywords managed by the strategy. Mutable for
   934  	// portfolio bidding strategies only.
   935  	CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"`
   936  	// CpcBidFloorMicros: Minimum bid limit that can be set by the bid strategy.
   937  	// The limit applies to all keywords managed by the strategy. Mutable for
   938  	// portfolio bidding strategies only.
   939  	CpcBidFloorMicros int64 `json:"cpcBidFloorMicros,omitempty,string"`
   940  	// TargetCpaMicros: The target cost-per-action (CPA) option. This is the
   941  	// average amount that you would like to spend per conversion action specified
   942  	// in micro units of the bidding strategy's currency. If set, the bid strategy
   943  	// will get as many conversions as possible at or below the target
   944  	// cost-per-action. If the target CPA is not set, the bid strategy will aim to
   945  	// achieve the lowest possible CPA given the budget.
   946  	TargetCpaMicros int64 `json:"targetCpaMicros,omitempty,string"`
   947  	// ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") to
   948  	// unconditionally include in API requests. By default, fields with empty or
   949  	// default values are omitted from API requests. See
   950  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   951  	// details.
   952  	ForceSendFields []string `json:"-"`
   953  	// NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to include
   954  	// in API requests with the JSON null value. By default, fields with empty
   955  	// values are omitted from API requests. See
   956  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   957  	NullFields []string `json:"-"`
   958  }
   959  
   960  func (s *GoogleAdsSearchads360V0Common__MaximizeConversions) MarshalJSON() ([]byte, error) {
   961  	type NoMethod GoogleAdsSearchads360V0Common__MaximizeConversions
   962  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   963  }
   964  
   965  // GoogleAdsSearchads360V0Common__Metrics: Metrics data.
   966  type GoogleAdsSearchads360V0Common__Metrics struct {
   967  	// AbsoluteTopImpressionPercentage: Search absolute top impression share is the
   968  	// percentage of your Search ad impressions that are shown in the most
   969  	// prominent Search position.
   970  	AbsoluteTopImpressionPercentage float64 `json:"absoluteTopImpressionPercentage,omitempty"`
   971  	// AllConversions: The total number of conversions. This includes all
   972  	// conversions regardless of the value of include_in_conversions_metric.
   973  	AllConversions float64 `json:"allConversions,omitempty"`
   974  	// AllConversionsByConversionDate: The total number of conversions. This
   975  	// includes all conversions regardless of the value of
   976  	// include_in_conversions_metric. When this column is selected with date, the
   977  	// values in date column means the conversion date. Details for the
   978  	// by_conversion_date columns are available at
   979  	// https://support.google.com/sa360/answer/9250611.
   980  	AllConversionsByConversionDate float64 `json:"allConversionsByConversionDate,omitempty"`
   981  	// AllConversionsFromClickToCall: The number of times people clicked the "Call"
   982  	// button to call a store during or after clicking an ad. This number doesn't
   983  	// include whether or not calls were connected, or the duration of any calls.
   984  	// This metric applies to feed items only.
   985  	AllConversionsFromClickToCall float64 `json:"allConversionsFromClickToCall,omitempty"`
   986  	// AllConversionsFromDirections: The number of times people clicked a "Get
   987  	// directions" button to navigate to a store after clicking an ad. This metric
   988  	// applies to feed items only.
   989  	AllConversionsFromDirections float64 `json:"allConversionsFromDirections,omitempty"`
   990  	// AllConversionsFromInteractionsRate: All conversions from interactions (as
   991  	// oppose to view through conversions) divided by the number of ad
   992  	// interactions.
   993  	AllConversionsFromInteractionsRate float64 `json:"allConversionsFromInteractionsRate,omitempty"`
   994  	// AllConversionsFromInteractionsValuePerInteraction: The value of all
   995  	// conversions from interactions divided by the total number of interactions.
   996  	AllConversionsFromInteractionsValuePerInteraction float64 `json:"allConversionsFromInteractionsValuePerInteraction,omitempty"`
   997  	// AllConversionsFromMenu: The number of times people clicked a link to view a
   998  	// store's menu after clicking an ad. This metric applies to feed items only.
   999  	AllConversionsFromMenu float64 `json:"allConversionsFromMenu,omitempty"`
  1000  	// AllConversionsFromOrder: The number of times people placed an order at a
  1001  	// store after clicking an ad. This metric applies to feed items only.
  1002  	AllConversionsFromOrder float64 `json:"allConversionsFromOrder,omitempty"`
  1003  	// AllConversionsFromOtherEngagement: The number of other conversions (for
  1004  	// example, posting a review or saving a location for a store) that occurred
  1005  	// after people clicked an ad. This metric applies to feed items only.
  1006  	AllConversionsFromOtherEngagement float64 `json:"allConversionsFromOtherEngagement,omitempty"`
  1007  	// AllConversionsFromStoreVisit: Estimated number of times people visited a
  1008  	// store after clicking an ad. This metric applies to feed items only.
  1009  	AllConversionsFromStoreVisit float64 `json:"allConversionsFromStoreVisit,omitempty"`
  1010  	// AllConversionsFromStoreWebsite: The number of times that people were taken
  1011  	// to a store's URL after clicking an ad. This metric applies to feed items
  1012  	// only.
  1013  	AllConversionsFromStoreWebsite float64 `json:"allConversionsFromStoreWebsite,omitempty"`
  1014  	// AllConversionsValue: The value of all conversions.
  1015  	AllConversionsValue float64 `json:"allConversionsValue,omitempty"`
  1016  	// AllConversionsValueByConversionDate: The value of all conversions. When this
  1017  	// column is selected with date, the values in date column means the conversion
  1018  	// date. Details for the by_conversion_date columns are available at
  1019  	// https://support.google.com/sa360/answer/9250611.
  1020  	AllConversionsValueByConversionDate float64 `json:"allConversionsValueByConversionDate,omitempty"`
  1021  	// AllConversionsValuePerCost: The value of all conversions divided by the
  1022  	// total cost of ad interactions (such as clicks for text ads or views for
  1023  	// video ads).
  1024  	AllConversionsValuePerCost float64 `json:"allConversionsValuePerCost,omitempty"`
  1025  	// AverageCost: The average amount you pay per interaction. This amount is the
  1026  	// total cost of your ads divided by the total number of interactions.
  1027  	AverageCost float64 `json:"averageCost,omitempty"`
  1028  	// AverageCpc: The total cost of all clicks divided by the total number of
  1029  	// clicks received. This metric is a monetary value and returned in the
  1030  	// customer's currency by default. See the metrics_currency parameter at
  1031  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1032  	AverageCpc float64 `json:"averageCpc,omitempty"`
  1033  	// AverageCpm: Average cost-per-thousand impressions (CPM). This metric is a
  1034  	// monetary value and returned in the customer's currency by default. See the
  1035  	// metrics_currency parameter at
  1036  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1037  	AverageCpm float64 `json:"averageCpm,omitempty"`
  1038  	// Clicks: The number of clicks.
  1039  	Clicks int64 `json:"clicks,omitempty,string"`
  1040  	// ClientAccountConversions: The number of client account conversions. This
  1041  	// only includes conversion actions which
  1042  	// include_in_client_account_conversions_metric attribute is set to true. If
  1043  	// you use conversion-based bidding, your bid strategies will optimize for
  1044  	// these conversions.
  1045  	ClientAccountConversions float64 `json:"clientAccountConversions,omitempty"`
  1046  	// ClientAccountConversionsValue: The value of client account conversions. This
  1047  	// only includes conversion actions which
  1048  	// include_in_client_account_conversions_metric attribute is set to true. If
  1049  	// you use conversion-based bidding, your bid strategies will optimize for
  1050  	// these conversions.
  1051  	ClientAccountConversionsValue float64 `json:"clientAccountConversionsValue,omitempty"`
  1052  	// ClientAccountCrossSellCostOfGoodsSoldMicros: Client account cross-sell cost
  1053  	// of goods sold (COGS) is the total cost of products sold as a result of
  1054  	// advertising a different product. How it works: You report conversions with
  1055  	// cart data for completed purchases on your website. If the ad that was
  1056  	// interacted with before the purchase has an associated product (see Shopping
  1057  	// Ads) then this product is considered the advertised product. Any product
  1058  	// included in the order the customer places is a sold product. If these
  1059  	// products don't match then this is considered cross-sell. Cross-sell cost of
  1060  	// goods sold is the total cost of the products sold that weren't advertised.
  1061  	// Example: Someone clicked on a Shopping ad for a hat then bought the same hat
  1062  	// and a shirt. The hat has a cost of goods sold value of $3, the shirt has a
  1063  	// cost of goods sold value of $5. The cross-sell cost of goods sold for this
  1064  	// order is $5. This metric is only available if you report conversions with
  1065  	// cart data. This metric is a monetary value and returned in the customer's
  1066  	// currency by default. See the metrics_currency parameter at
  1067  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1068  	ClientAccountCrossSellCostOfGoodsSoldMicros int64 `json:"clientAccountCrossSellCostOfGoodsSoldMicros,omitempty,string"`
  1069  	// ClientAccountCrossSellGrossProfitMicros: Client account cross-sell gross
  1070  	// profit is the profit you made from products sold as a result of advertising
  1071  	// a different product, minus cost of goods sold (COGS). How it works: You
  1072  	// report conversions with cart data for completed purchases on your website.
  1073  	// If the ad that was interacted with before the purchase has an associated
  1074  	// product (see Shopping Ads) then this product is considered the advertised
  1075  	// product. Any product included in the purchase is a sold product. If these
  1076  	// products don't match then this is considered cross-sell. Cross-sell gross
  1077  	// profit is the revenue you made from cross-sell attributed to your ads minus
  1078  	// the cost of the goods sold. Example: Someone clicked on a Shopping ad for a
  1079  	// hat then bought the same hat and a shirt. The shirt is priced $20 and has a
  1080  	// cost of goods sold value of $5. The cross-sell gross profit of this order is
  1081  	// $15 = $20 - $5. This metric is only available if you report conversions with
  1082  	// cart data. This metric is a monetary value and returned in the customer's
  1083  	// currency by default. See the metrics_currency parameter at
  1084  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1085  	ClientAccountCrossSellGrossProfitMicros int64 `json:"clientAccountCrossSellGrossProfitMicros,omitempty,string"`
  1086  	// ClientAccountCrossSellRevenueMicros: Client account cross-sell revenue is
  1087  	// the total amount you made from products sold as a result of advertising a
  1088  	// different product. How it works: You report conversions with cart data for
  1089  	// completed purchases on your website. If the ad that was interacted with
  1090  	// before the purchase has an associated product (see Shopping Ads) then this
  1091  	// product is considered the advertised product. Any product included in the
  1092  	// order the customer places is a sold product. If these products don't match
  1093  	// then this is considered cross-sell. Cross-sell revenue is the total value
  1094  	// you made from cross-sell attributed to your ads. Example: Someone clicked on
  1095  	// a Shopping ad for a hat then bought the same hat and a shirt. The hat is
  1096  	// priced $10 and the shirt is priced $20. The cross-sell revenue of this order
  1097  	// is $20. This metric is only available if you report conversions with cart
  1098  	// data. This metric is a monetary value and returned in the customer's
  1099  	// currency by default. See the metrics_currency parameter at
  1100  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1101  	ClientAccountCrossSellRevenueMicros int64 `json:"clientAccountCrossSellRevenueMicros,omitempty,string"`
  1102  	// ClientAccountCrossSellUnitsSold: Client account cross-sell units sold is the
  1103  	// total number of products sold as a result of advertising a different
  1104  	// product. How it works: You report conversions with cart data for completed
  1105  	// purchases on your website. If the ad that was interacted with before the
  1106  	// purchase has an associated product (see Shopping Ads) then this product is
  1107  	// considered the advertised product. Any product included in the order the
  1108  	// customer places is a sold product. If these products don't match then this
  1109  	// is considered cross-sell. Cross-sell units sold is the total number of
  1110  	// cross-sold products from all orders attributed to your ads. Example: Someone
  1111  	// clicked on a Shopping ad for a hat then bought the same hat, a shirt and a
  1112  	// jacket. The cross-sell units sold in this order is 2. This metric is only
  1113  	// available if you report conversions with cart data.
  1114  	ClientAccountCrossSellUnitsSold float64 `json:"clientAccountCrossSellUnitsSold,omitempty"`
  1115  	// ClientAccountLeadCostOfGoodsSoldMicros: Client account lead cost of goods
  1116  	// sold (COGS) is the total cost of products sold as a result of advertising
  1117  	// the same product. How it works: You report conversions with cart data for
  1118  	// completed purchases on your website. If the ad that was interacted with has
  1119  	// an associated product (see Shopping Ads) then this product is considered the
  1120  	// advertised product. Any product included in the order the customer places is
  1121  	// a sold product. If the advertised and sold products match, then the cost of
  1122  	// these goods is counted under lead cost of goods sold. Example: Someone
  1123  	// clicked on a Shopping ad for a hat then bought the same hat and a shirt. The
  1124  	// hat has a cost of goods sold value of $3, the shirt has a cost of goods sold
  1125  	// value of $5. The lead cost of goods sold for this order is $3. This metric
  1126  	// is only available if you report conversions with cart data. This metric is a
  1127  	// monetary value and returned in the customer's currency by default. See the
  1128  	// metrics_currency parameter at
  1129  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1130  	ClientAccountLeadCostOfGoodsSoldMicros int64 `json:"clientAccountLeadCostOfGoodsSoldMicros,omitempty,string"`
  1131  	// ClientAccountLeadGrossProfitMicros: Client account lead gross profit is the
  1132  	// profit you made from products sold as a result of advertising the same
  1133  	// product, minus cost of goods sold (COGS). How it works: You report
  1134  	// conversions with cart data for completed purchases on your website. If the
  1135  	// ad that was interacted with before the purchase has an associated product
  1136  	// (see Shopping Ads) then this product is considered the advertised product.
  1137  	// Any product included in the order the customer places is a sold product. If
  1138  	// the advertised and sold products match, then the revenue you made from these
  1139  	// sales minus the cost of goods sold is your lead gross profit. Example:
  1140  	// Someone clicked on a Shopping ad for a hat then bought the same hat and a
  1141  	// shirt. The hat is priced $10 and has a cost of goods sold value of $3. The
  1142  	// lead gross profit of this order is $7 = $10 - $3. This metric is only
  1143  	// available if you report conversions with cart data. This metric is a
  1144  	// monetary value and returned in the customer's currency by default. See the
  1145  	// metrics_currency parameter at
  1146  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1147  	ClientAccountLeadGrossProfitMicros int64 `json:"clientAccountLeadGrossProfitMicros,omitempty,string"`
  1148  	// ClientAccountLeadRevenueMicros: Client account lead revenue is the total
  1149  	// amount you made from products sold as a result of advertising the same
  1150  	// product. How it works: You report conversions with cart data for completed
  1151  	// purchases on your website. If the ad that was interacted with before the
  1152  	// purchase has an associated product (see Shopping Ads) then this product is
  1153  	// considered the advertised product. Any product included in the order the
  1154  	// customer places is a sold product. If the advertised and sold products
  1155  	// match, then the total value you made from the sales of these products is
  1156  	// shown under lead revenue. Example: Someone clicked on a Shopping ad for a
  1157  	// hat then bought the same hat and a shirt. The hat is priced $10 and the
  1158  	// shirt is priced $20. The lead revenue of this order is $10. This metric is
  1159  	// only available if you report conversions with cart data. This metric is a
  1160  	// monetary value and returned in the customer's currency by default. See the
  1161  	// metrics_currency parameter at
  1162  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1163  	ClientAccountLeadRevenueMicros int64 `json:"clientAccountLeadRevenueMicros,omitempty,string"`
  1164  	// ClientAccountLeadUnitsSold: Client account lead units sold is the total
  1165  	// number of products sold as a result of advertising the same product. How it
  1166  	// works: You report conversions with cart data for completed purchases on your
  1167  	// website. If the ad that was interacted with before the purchase has an
  1168  	// associated product (see Shopping Ads) then this product is considered the
  1169  	// advertised product. Any product included in the order the customer places is
  1170  	// a sold product. If the advertised and sold products match, then the total
  1171  	// number of these products sold is shown under lead units sold. Example:
  1172  	// Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt
  1173  	// and a jacket. The lead units sold in this order is 1. This metric is only
  1174  	// available if you report conversions with cart data.
  1175  	ClientAccountLeadUnitsSold float64 `json:"clientAccountLeadUnitsSold,omitempty"`
  1176  	// ClientAccountViewThroughConversions: The total number of view-through
  1177  	// conversions. These happen when a customer sees an image or rich media ad,
  1178  	// then later completes a conversion on your site without interacting with (for
  1179  	// example, clicking on) another ad.
  1180  	ClientAccountViewThroughConversions int64 `json:"clientAccountViewThroughConversions,omitempty,string"`
  1181  	// ContentBudgetLostImpressionShare: The estimated percent of times that your
  1182  	// ad was eligible to show on the Display Network but didn't because your
  1183  	// budget was too low. Note: Content budget lost impression share is reported
  1184  	// in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
  1185  	ContentBudgetLostImpressionShare float64 `json:"contentBudgetLostImpressionShare,omitempty"`
  1186  	// ContentImpressionShare: The impressions you've received on the Display
  1187  	// Network divided by the estimated number of impressions you were eligible to
  1188  	// receive. Note: Content impression share is reported in the range of 0.1 to
  1189  	// 1. Any value below 0.1 is reported as 0.0999.
  1190  	ContentImpressionShare float64 `json:"contentImpressionShare,omitempty"`
  1191  	// ContentRankLostImpressionShare: The estimated percentage of impressions on
  1192  	// the Display Network that your ads didn't receive due to poor Ad Rank. Note:
  1193  	// Content rank lost impression share is reported in the range of 0 to 0.9. Any
  1194  	// value above 0.9 is reported as 0.9001.
  1195  	ContentRankLostImpressionShare float64 `json:"contentRankLostImpressionShare,omitempty"`
  1196  	// ConversionCustomMetrics: The conversion custom metrics.
  1197  	ConversionCustomMetrics []*GoogleAdsSearchads360V0Common__Value `json:"conversionCustomMetrics,omitempty"`
  1198  	// Conversions: The number of conversions. This only includes conversion
  1199  	// actions which include_in_conversions_metric attribute is set to true. If you
  1200  	// use conversion-based bidding, your bid strategies will optimize for these
  1201  	// conversions.
  1202  	Conversions float64 `json:"conversions,omitempty"`
  1203  	// ConversionsByConversionDate: The sum of conversions by conversion date for
  1204  	// biddable conversion types. Can be fractional due to attribution modeling.
  1205  	// When this column is selected with date, the values in date column means the
  1206  	// conversion date.
  1207  	ConversionsByConversionDate float64 `json:"conversionsByConversionDate,omitempty"`
  1208  	// ConversionsFromInteractionsRate: Average biddable conversions (from
  1209  	// interaction) per conversion eligible interaction. Shows how often, on
  1210  	// average, an ad interaction leads to a biddable conversion.
  1211  	ConversionsFromInteractionsRate float64 `json:"conversionsFromInteractionsRate,omitempty"`
  1212  	// ConversionsFromInteractionsValuePerInteraction: The value of conversions
  1213  	// from interactions divided by the number of ad interactions. This only
  1214  	// includes conversion actions which include_in_conversions_metric attribute is
  1215  	// set to true. If you use conversion-based bidding, your bid strategies will
  1216  	// optimize for these conversions.
  1217  	ConversionsFromInteractionsValuePerInteraction float64 `json:"conversionsFromInteractionsValuePerInteraction,omitempty"`
  1218  	// ConversionsValue: The sum of conversion values for the conversions included
  1219  	// in the "conversions" field. This metric is useful only if you entered a
  1220  	// value for your conversion actions.
  1221  	ConversionsValue float64 `json:"conversionsValue,omitempty"`
  1222  	// ConversionsValueByConversionDate: The sum of biddable conversions value by
  1223  	// conversion date. When this column is selected with date, the values in date
  1224  	// column means the conversion date.
  1225  	ConversionsValueByConversionDate float64 `json:"conversionsValueByConversionDate,omitempty"`
  1226  	// ConversionsValuePerCost: The value of biddable conversion divided by the
  1227  	// total cost of conversion eligible interactions.
  1228  	ConversionsValuePerCost float64 `json:"conversionsValuePerCost,omitempty"`
  1229  	// CostMicros: The sum of your cost-per-click (CPC) and cost-per-thousand
  1230  	// impressions (CPM) costs during this period. This metric is a monetary value
  1231  	// and returned in the customer's currency by default. See the metrics_currency
  1232  	// parameter at
  1233  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1234  	CostMicros int64 `json:"costMicros,omitempty,string"`
  1235  	// CostPerAllConversions: The cost of ad interactions divided by all
  1236  	// conversions.
  1237  	CostPerAllConversions float64 `json:"costPerAllConversions,omitempty"`
  1238  	// CostPerConversion: Average conversion eligible cost per biddable conversion.
  1239  	CostPerConversion float64 `json:"costPerConversion,omitempty"`
  1240  	// CostPerCurrentModelAttributedConversion: The cost of ad interactions divided
  1241  	// by current model attributed conversions. This only includes conversion
  1242  	// actions which include_in_conversions_metric attribute is set to true. If you
  1243  	// use conversion-based bidding, your bid strategies will optimize for these
  1244  	// conversions.
  1245  	CostPerCurrentModelAttributedConversion float64 `json:"costPerCurrentModelAttributedConversion,omitempty"`
  1246  	// CrossDeviceConversions: Conversions from when a customer clicks on an ad on
  1247  	// one device, then converts on a different device or browser. Cross-device
  1248  	// conversions are already included in all_conversions.
  1249  	CrossDeviceConversions float64 `json:"crossDeviceConversions,omitempty"`
  1250  	// CrossDeviceConversionsValue: The sum of the value of cross-device
  1251  	// conversions.
  1252  	CrossDeviceConversionsValue float64 `json:"crossDeviceConversionsValue,omitempty"`
  1253  	// CrossSellCostOfGoodsSoldMicros: Cross-sell cost of goods sold (COGS) is the
  1254  	// total cost of products sold as a result of advertising a different product.
  1255  	// How it works: You report conversions with cart data for completed purchases
  1256  	// on your website. If the ad that was interacted with before the purchase has
  1257  	// an associated product (see Shopping Ads) then this product is considered the
  1258  	// advertised product. Any product included in the order the customer places is
  1259  	// a sold product. If these products don't match then this is considered
  1260  	// cross-sell. Cross-sell cost of goods sold is the total cost of the products
  1261  	// sold that weren't advertised. Example: Someone clicked on a Shopping ad for
  1262  	// a hat then bought the same hat and a shirt. The hat has a cost of goods sold
  1263  	// value of $3, the shirt has a cost of goods sold value of $5. The cross-sell
  1264  	// cost of goods sold for this order is $5. This metric is only available if
  1265  	// you report conversions with cart data. This metric is a monetary value and
  1266  	// returned in the customer's currency by default. See the metrics_currency
  1267  	// parameter at
  1268  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1269  	CrossSellCostOfGoodsSoldMicros int64 `json:"crossSellCostOfGoodsSoldMicros,omitempty,string"`
  1270  	// CrossSellGrossProfitMicros: Cross-sell gross profit is the profit you made
  1271  	// from products sold as a result of advertising a different product, minus
  1272  	// cost of goods sold (COGS). How it works: You report conversions with cart
  1273  	// data for completed purchases on your website. If the ad that was interacted
  1274  	// with before the purchase has an associated product (see Shopping Ads) then
  1275  	// this product is considered the advertised product. Any product included in
  1276  	// the purchase is a sold product. If these products don't match then this is
  1277  	// considered cross-sell. Cross-sell gross profit is the revenue you made from
  1278  	// cross-sell attributed to your ads minus the cost of the goods sold. Example:
  1279  	// Someone clicked on a Shopping ad for a hat then bought the same hat and a
  1280  	// shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The
  1281  	// cross-sell gross profit of this order is $15 = $20 - $5. This metric is only
  1282  	// available if you report conversions with cart data. This metric is a
  1283  	// monetary value and returned in the customer's currency by default. See the
  1284  	// metrics_currency parameter at
  1285  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1286  	CrossSellGrossProfitMicros int64 `json:"crossSellGrossProfitMicros,omitempty,string"`
  1287  	// CrossSellRevenueMicros: Cross-sell revenue is the total amount you made from
  1288  	// products sold as a result of advertising a different product. How it works:
  1289  	// You report conversions with cart data for completed purchases on your
  1290  	// website. If the ad that was interacted with before the purchase has an
  1291  	// associated product (see Shopping Ads) then this product is considered the
  1292  	// advertised product. Any product included in the order the customer places is
  1293  	// a sold product. If these products don't match then this is considered
  1294  	// cross-sell. Cross-sell revenue is the total value you made from cross-sell
  1295  	// attributed to your ads. Example: Someone clicked on a Shopping ad for a hat
  1296  	// then bought the same hat and a shirt. The hat is priced $10 and the shirt is
  1297  	// priced $20. The cross-sell revenue of this order is $20. This metric is only
  1298  	// available if you report conversions with cart data. This metric is a
  1299  	// monetary value and returned in the customer's currency by default. See the
  1300  	// metrics_currency parameter at
  1301  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1302  	CrossSellRevenueMicros int64 `json:"crossSellRevenueMicros,omitempty,string"`
  1303  	// CrossSellUnitsSold: Cross-sell units sold is the total number of products
  1304  	// sold as a result of advertising a different product. How it works: You
  1305  	// report conversions with cart data for completed purchases on your website.
  1306  	// If the ad that was interacted with before the purchase has an associated
  1307  	// product (see Shopping Ads) then this product is considered the advertised
  1308  	// product. Any product included in the order the customer places is a sold
  1309  	// product. If these products don't match then this is considered cross-sell.
  1310  	// Cross-sell units sold is the total number of cross-sold products from all
  1311  	// orders attributed to your ads. Example: Someone clicked on a Shopping ad for
  1312  	// a hat then bought the same hat, a shirt and a jacket. The cross-sell units
  1313  	// sold in this order is 2. This metric is only available if you report
  1314  	// conversions with cart data.
  1315  	CrossSellUnitsSold float64 `json:"crossSellUnitsSold,omitempty"`
  1316  	// Ctr: The number of clicks your ad receives (Clicks) divided by the number of
  1317  	// times your ad is shown (Impressions).
  1318  	Ctr float64 `json:"ctr,omitempty"`
  1319  	// HistoricalCreativeQualityScore: The creative historical quality score.
  1320  	//
  1321  	// Possible values:
  1322  	//   "UNSPECIFIED" - Not specified.
  1323  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  1324  	// version.
  1325  	//   "BELOW_AVERAGE" - Quality of the creative is below average.
  1326  	//   "AVERAGE" - Quality of the creative is average.
  1327  	//   "ABOVE_AVERAGE" - Quality of the creative is above average.
  1328  	HistoricalCreativeQualityScore string `json:"historicalCreativeQualityScore,omitempty"`
  1329  	// HistoricalLandingPageQualityScore: The quality of historical landing page
  1330  	// experience.
  1331  	//
  1332  	// Possible values:
  1333  	//   "UNSPECIFIED" - Not specified.
  1334  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  1335  	// version.
  1336  	//   "BELOW_AVERAGE" - Quality of the creative is below average.
  1337  	//   "AVERAGE" - Quality of the creative is average.
  1338  	//   "ABOVE_AVERAGE" - Quality of the creative is above average.
  1339  	HistoricalLandingPageQualityScore string `json:"historicalLandingPageQualityScore,omitempty"`
  1340  	// HistoricalQualityScore: The historical quality score.
  1341  	HistoricalQualityScore int64 `json:"historicalQualityScore,omitempty,string"`
  1342  	// HistoricalSearchPredictedCtr: The historical search predicted click through
  1343  	// rate (CTR).
  1344  	//
  1345  	// Possible values:
  1346  	//   "UNSPECIFIED" - Not specified.
  1347  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  1348  	// version.
  1349  	//   "BELOW_AVERAGE" - Quality of the creative is below average.
  1350  	//   "AVERAGE" - Quality of the creative is average.
  1351  	//   "ABOVE_AVERAGE" - Quality of the creative is above average.
  1352  	HistoricalSearchPredictedCtr string `json:"historicalSearchPredictedCtr,omitempty"`
  1353  	// Impressions: Count of how often your ad has appeared on a search results
  1354  	// page or website on the Google Network.
  1355  	Impressions int64 `json:"impressions,omitempty,string"`
  1356  	// InteractionEventTypes: The types of payable and free interactions.
  1357  	//
  1358  	// Possible values:
  1359  	//   "UNSPECIFIED" - Not specified.
  1360  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  1361  	// version.
  1362  	//   "CLICK" - Click to site. In most cases, this interaction navigates to an
  1363  	// external location, usually the advertiser's landing page. This is also the
  1364  	// default InteractionEventType for click events.
  1365  	//   "ENGAGEMENT" - The user's expressed intent to engage with the ad in-place.
  1366  	//   "VIDEO_VIEW" - User viewed a video ad.
  1367  	//   "NONE" - The default InteractionEventType for ad conversion events. This
  1368  	// is used when an ad conversion row does NOT indicate that the free
  1369  	// interactions (for example, the ad conversions) should be 'promoted' and
  1370  	// reported as part of the core metrics. These are simply other (ad)
  1371  	// conversions.
  1372  	InteractionEventTypes []string `json:"interactionEventTypes,omitempty"`
  1373  	// InteractionRate: How often people interact with your ad after it is shown to
  1374  	// them. This is the number of interactions divided by the number of times your
  1375  	// ad is shown.
  1376  	InteractionRate float64 `json:"interactionRate,omitempty"`
  1377  	// Interactions: The number of interactions. An interaction is the main user
  1378  	// action associated with an ad format-clicks for text and shopping ads, views
  1379  	// for video ads, and so on.
  1380  	Interactions int64 `json:"interactions,omitempty,string"`
  1381  	// InvalidClickRate: The percentage of clicks filtered out of your total number
  1382  	// of clicks (filtered + non-filtered clicks) during the reporting period.
  1383  	InvalidClickRate float64 `json:"invalidClickRate,omitempty"`
  1384  	// InvalidClicks: Number of clicks Google considers illegitimate and doesn't
  1385  	// charge you for.
  1386  	InvalidClicks int64 `json:"invalidClicks,omitempty,string"`
  1387  	// LeadCostOfGoodsSoldMicros: Lead cost of goods sold (COGS) is the total cost
  1388  	// of products sold as a result of advertising the same product. How it works:
  1389  	// You report conversions with cart data for completed purchases on your
  1390  	// website. If the ad that was interacted with has an associated product (see
  1391  	// Shopping Ads) then this product is considered the advertised product. Any
  1392  	// product included in the order the customer places is a sold product. If the
  1393  	// advertised and sold products match, then the cost of these goods is counted
  1394  	// under lead cost of goods sold. Example: Someone clicked on a Shopping ad for
  1395  	// a hat then bought the same hat and a shirt. The hat has a cost of goods sold
  1396  	// value of $3, the shirt has a cost of goods sold value of $5. The lead cost
  1397  	// of goods sold for this order is $3. This metric is only available if you
  1398  	// report conversions with cart data. This metric is a monetary value and
  1399  	// returned in the customer's currency by default. See the metrics_currency
  1400  	// parameter at
  1401  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1402  	LeadCostOfGoodsSoldMicros int64 `json:"leadCostOfGoodsSoldMicros,omitempty,string"`
  1403  	// LeadGrossProfitMicros: Lead gross profit is the profit you made from
  1404  	// products sold as a result of advertising the same product, minus cost of
  1405  	// goods sold (COGS). How it works: You report conversions with cart data for
  1406  	// completed purchases on your website. If the ad that was interacted with
  1407  	// before the purchase has an associated product (see Shopping Ads) then this
  1408  	// product is considered the advertised product. Any product included in the
  1409  	// order the customer places is a sold product. If the advertised and sold
  1410  	// products match, then the revenue you made from these sales minus the cost of
  1411  	// goods sold is your lead gross profit. Example: Someone clicked on a Shopping
  1412  	// ad for a hat then bought the same hat and a shirt. The hat is priced $10 and
  1413  	// has a cost of goods sold value of $3. The lead gross profit of this order is
  1414  	// $7 = $10 - $3. This metric is only available if you report conversions with
  1415  	// cart data. This metric is a monetary value and returned in the customer's
  1416  	// currency by default. See the metrics_currency parameter at
  1417  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1418  	LeadGrossProfitMicros int64 `json:"leadGrossProfitMicros,omitempty,string"`
  1419  	// LeadRevenueMicros: Lead revenue is the total amount you made from products
  1420  	// sold as a result of advertising the same product. How it works: You report
  1421  	// conversions with cart data for completed purchases on your website. If the
  1422  	// ad that was interacted with before the purchase has an associated product
  1423  	// (see Shopping Ads) then this product is considered the advertised product.
  1424  	// Any product included in the order the customer places is a sold product. If
  1425  	// the advertised and sold products match, then the total value you made from
  1426  	// the sales of these products is shown under lead revenue. Example: Someone
  1427  	// clicked on a Shopping ad for a hat then bought the same hat and a shirt. The
  1428  	// hat is priced $10 and the shirt is priced $20. The lead revenue of this
  1429  	// order is $10. This metric is only available if you report conversions with
  1430  	// cart data. This metric is a monetary value and returned in the customer's
  1431  	// currency by default. See the metrics_currency parameter at
  1432  	// https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
  1433  	LeadRevenueMicros int64 `json:"leadRevenueMicros,omitempty,string"`
  1434  	// LeadUnitsSold: Lead units sold is the total number of products sold as a
  1435  	// result of advertising the same product. How it works: You report conversions
  1436  	// with cart data for completed purchases on your website. If the ad that was
  1437  	// interacted with before the purchase has an associated product (see Shopping
  1438  	// Ads) then this product is considered the advertised product. Any product
  1439  	// included in the order the customer places is a sold product. If the
  1440  	// advertised and sold products match, then the total number of these products
  1441  	// sold is shown under lead units sold. Example: Someone clicked on a Shopping
  1442  	// ad for a hat then bought the same hat, a shirt and a jacket. The lead units
  1443  	// sold in this order is 1. This metric is only available if you report
  1444  	// conversions with cart data.
  1445  	LeadUnitsSold float64 `json:"leadUnitsSold,omitempty"`
  1446  	// MobileFriendlyClicksPercentage: The percentage of mobile clicks that go to a
  1447  	// mobile-friendly page.
  1448  	MobileFriendlyClicksPercentage float64 `json:"mobileFriendlyClicksPercentage,omitempty"`
  1449  	// RawEventConversionMetrics: The raw event conversion metrics.
  1450  	RawEventConversionMetrics []*GoogleAdsSearchads360V0Common__Value `json:"rawEventConversionMetrics,omitempty"`
  1451  	// SearchAbsoluteTopImpressionShare: The percentage of the customer's Shopping
  1452  	// or Search ad impressions that are shown in the most prominent Shopping
  1453  	// position. See https://support.google.com/sa360/answer/9566729 for details.
  1454  	// Any value below 0.1 is reported as 0.0999.
  1455  	SearchAbsoluteTopImpressionShare float64 `json:"searchAbsoluteTopImpressionShare,omitempty"`
  1456  	// SearchBudgetLostAbsoluteTopImpressionShare: The number estimating how often
  1457  	// your ad wasn't the very first ad among the top ads in the search results due
  1458  	// to a low budget. Note: Search budget lost absolute top impression share is
  1459  	// reported in the range of 0 to 0.9. Any value above 0.9 is reported as
  1460  	// 0.9001.
  1461  	SearchBudgetLostAbsoluteTopImpressionShare float64 `json:"searchBudgetLostAbsoluteTopImpressionShare,omitempty"`
  1462  	// SearchBudgetLostImpressionShare: The estimated percent of times that your ad
  1463  	// was eligible to show on the Search Network but didn't because your budget
  1464  	// was too low. Note: Search budget lost impression share is reported in the
  1465  	// range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
  1466  	SearchBudgetLostImpressionShare float64 `json:"searchBudgetLostImpressionShare,omitempty"`
  1467  	// SearchBudgetLostTopImpressionShare: The number estimating how often your ad
  1468  	// didn't show adjacent to the top organic search results due to a low budget.
  1469  	// Note: Search budget lost top impression share is reported in the range of 0
  1470  	// to 0.9. Any value above 0.9 is reported as 0.9001.
  1471  	SearchBudgetLostTopImpressionShare float64 `json:"searchBudgetLostTopImpressionShare,omitempty"`
  1472  	// SearchClickShare: The number of clicks you've received on the Search Network
  1473  	// divided by the estimated number of clicks you were eligible to receive.
  1474  	// Note: Search click share is reported in the range of 0.1 to 1. Any value
  1475  	// below 0.1 is reported as 0.0999.
  1476  	SearchClickShare float64 `json:"searchClickShare,omitempty"`
  1477  	// SearchExactMatchImpressionShare: The impressions you've received divided by
  1478  	// the estimated number of impressions you were eligible to receive on the
  1479  	// Search Network for search terms that matched your keywords exactly (or were
  1480  	// close variants of your keyword), regardless of your keyword match types.
  1481  	// Note: Search exact match impression share is reported in the range of 0.1 to
  1482  	// 1. Any value below 0.1 is reported as 0.0999.
  1483  	SearchExactMatchImpressionShare float64 `json:"searchExactMatchImpressionShare,omitempty"`
  1484  	// SearchImpressionShare: The impressions you've received on the Search Network
  1485  	// divided by the estimated number of impressions you were eligible to receive.
  1486  	// Note: Search impression share is reported in the range of 0.1 to 1. Any
  1487  	// value below 0.1 is reported as 0.0999.
  1488  	SearchImpressionShare float64 `json:"searchImpressionShare,omitempty"`
  1489  	// SearchRankLostAbsoluteTopImpressionShare: The number estimating how often
  1490  	// your ad wasn't the very first ad among the top ads in the search results due
  1491  	// to poor Ad Rank. Note: Search rank lost absolute top impression share is
  1492  	// reported in the range of 0 to 0.9. Any value above 0.9 is reported as
  1493  	// 0.9001.
  1494  	SearchRankLostAbsoluteTopImpressionShare float64 `json:"searchRankLostAbsoluteTopImpressionShare,omitempty"`
  1495  	// SearchRankLostImpressionShare: The estimated percentage of impressions on
  1496  	// the Search Network that your ads didn't receive due to poor Ad Rank. Note:
  1497  	// Search rank lost impression share is reported in the range of 0 to 0.9. Any
  1498  	// value above 0.9 is reported as 0.9001.
  1499  	SearchRankLostImpressionShare float64 `json:"searchRankLostImpressionShare,omitempty"`
  1500  	// SearchRankLostTopImpressionShare: The number estimating how often your ad
  1501  	// didn't show adjacent to the top organic search results due to poor Ad Rank.
  1502  	// Note: Search rank lost top impression share is reported in the range of 0 to
  1503  	// 0.9. Any value above 0.9 is reported as 0.9001.
  1504  	SearchRankLostTopImpressionShare float64 `json:"searchRankLostTopImpressionShare,omitempty"`
  1505  	// SearchTopImpressionShare: The impressions you've received among the top ads
  1506  	// compared to the estimated number of impressions you were eligible to receive
  1507  	// among the top ads. Note: Search top impression share is reported in the
  1508  	// range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. Top ads are
  1509  	// generally above the top organic results, although they may show below the
  1510  	// top organic results on certain queries.
  1511  	SearchTopImpressionShare float64 `json:"searchTopImpressionShare,omitempty"`
  1512  	// TopImpressionPercentage: The percent of your ad impressions that are shown
  1513  	// adjacent to the top organic search results.
  1514  	TopImpressionPercentage float64 `json:"topImpressionPercentage,omitempty"`
  1515  	// ValuePerAllConversions: The value of all conversions divided by the number
  1516  	// of all conversions.
  1517  	ValuePerAllConversions float64 `json:"valuePerAllConversions,omitempty"`
  1518  	// ValuePerAllConversionsByConversionDate: The value of all conversions divided
  1519  	// by the number of all conversions. When this column is selected with date,
  1520  	// the values in date column means the conversion date. Details for the
  1521  	// by_conversion_date columns are available at
  1522  	// https://support.google.com/sa360/answer/9250611.
  1523  	ValuePerAllConversionsByConversionDate float64 `json:"valuePerAllConversionsByConversionDate,omitempty"`
  1524  	// ValuePerConversion: The value of biddable conversion divided by the number
  1525  	// of biddable conversions. Shows how much, on average, each of the biddable
  1526  	// conversions is worth.
  1527  	ValuePerConversion float64 `json:"valuePerConversion,omitempty"`
  1528  	// ValuePerConversionsByConversionDate: Biddable conversions value by
  1529  	// conversion date divided by biddable conversions by conversion date. Shows
  1530  	// how much, on average, each of the biddable conversions is worth (by
  1531  	// conversion date). When this column is selected with date, the values in date
  1532  	// column means the conversion date.
  1533  	ValuePerConversionsByConversionDate float64 `json:"valuePerConversionsByConversionDate,omitempty"`
  1534  	// Visits: Clicks that Search Ads 360 has successfully recorded and forwarded
  1535  	// to an advertiser's landing page.
  1536  	Visits float64 `json:"visits,omitempty"`
  1537  	// ForceSendFields is a list of field names (e.g.
  1538  	// "AbsoluteTopImpressionPercentage") to unconditionally include in API
  1539  	// requests. By default, fields with empty or default values are omitted from
  1540  	// API requests. See
  1541  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1542  	// details.
  1543  	ForceSendFields []string `json:"-"`
  1544  	// NullFields is a list of field names (e.g. "AbsoluteTopImpressionPercentage")
  1545  	// to include in API requests with the JSON null value. By default, fields with
  1546  	// empty values are omitted from API requests. See
  1547  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1548  	NullFields []string `json:"-"`
  1549  }
  1550  
  1551  func (s *GoogleAdsSearchads360V0Common__Metrics) MarshalJSON() ([]byte, error) {
  1552  	type NoMethod GoogleAdsSearchads360V0Common__Metrics
  1553  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1554  }
  1555  
  1556  func (s *GoogleAdsSearchads360V0Common__Metrics) UnmarshalJSON(data []byte) error {
  1557  	type NoMethod GoogleAdsSearchads360V0Common__Metrics
  1558  	var s1 struct {
  1559  		AbsoluteTopImpressionPercentage                   gensupport.JSONFloat64 `json:"absoluteTopImpressionPercentage"`
  1560  		AllConversions                                    gensupport.JSONFloat64 `json:"allConversions"`
  1561  		AllConversionsByConversionDate                    gensupport.JSONFloat64 `json:"allConversionsByConversionDate"`
  1562  		AllConversionsFromClickToCall                     gensupport.JSONFloat64 `json:"allConversionsFromClickToCall"`
  1563  		AllConversionsFromDirections                      gensupport.JSONFloat64 `json:"allConversionsFromDirections"`
  1564  		AllConversionsFromInteractionsRate                gensupport.JSONFloat64 `json:"allConversionsFromInteractionsRate"`
  1565  		AllConversionsFromInteractionsValuePerInteraction gensupport.JSONFloat64 `json:"allConversionsFromInteractionsValuePerInteraction"`
  1566  		AllConversionsFromMenu                            gensupport.JSONFloat64 `json:"allConversionsFromMenu"`
  1567  		AllConversionsFromOrder                           gensupport.JSONFloat64 `json:"allConversionsFromOrder"`
  1568  		AllConversionsFromOtherEngagement                 gensupport.JSONFloat64 `json:"allConversionsFromOtherEngagement"`
  1569  		AllConversionsFromStoreVisit                      gensupport.JSONFloat64 `json:"allConversionsFromStoreVisit"`
  1570  		AllConversionsFromStoreWebsite                    gensupport.JSONFloat64 `json:"allConversionsFromStoreWebsite"`
  1571  		AllConversionsValue                               gensupport.JSONFloat64 `json:"allConversionsValue"`
  1572  		AllConversionsValueByConversionDate               gensupport.JSONFloat64 `json:"allConversionsValueByConversionDate"`
  1573  		AllConversionsValuePerCost                        gensupport.JSONFloat64 `json:"allConversionsValuePerCost"`
  1574  		AverageCost                                       gensupport.JSONFloat64 `json:"averageCost"`
  1575  		AverageCpc                                        gensupport.JSONFloat64 `json:"averageCpc"`
  1576  		AverageCpm                                        gensupport.JSONFloat64 `json:"averageCpm"`
  1577  		ClientAccountConversions                          gensupport.JSONFloat64 `json:"clientAccountConversions"`
  1578  		ClientAccountConversionsValue                     gensupport.JSONFloat64 `json:"clientAccountConversionsValue"`
  1579  		ClientAccountCrossSellUnitsSold                   gensupport.JSONFloat64 `json:"clientAccountCrossSellUnitsSold"`
  1580  		ClientAccountLeadUnitsSold                        gensupport.JSONFloat64 `json:"clientAccountLeadUnitsSold"`
  1581  		ContentBudgetLostImpressionShare                  gensupport.JSONFloat64 `json:"contentBudgetLostImpressionShare"`
  1582  		ContentImpressionShare                            gensupport.JSONFloat64 `json:"contentImpressionShare"`
  1583  		ContentRankLostImpressionShare                    gensupport.JSONFloat64 `json:"contentRankLostImpressionShare"`
  1584  		Conversions                                       gensupport.JSONFloat64 `json:"conversions"`
  1585  		ConversionsByConversionDate                       gensupport.JSONFloat64 `json:"conversionsByConversionDate"`
  1586  		ConversionsFromInteractionsRate                   gensupport.JSONFloat64 `json:"conversionsFromInteractionsRate"`
  1587  		ConversionsFromInteractionsValuePerInteraction    gensupport.JSONFloat64 `json:"conversionsFromInteractionsValuePerInteraction"`
  1588  		ConversionsValue                                  gensupport.JSONFloat64 `json:"conversionsValue"`
  1589  		ConversionsValueByConversionDate                  gensupport.JSONFloat64 `json:"conversionsValueByConversionDate"`
  1590  		ConversionsValuePerCost                           gensupport.JSONFloat64 `json:"conversionsValuePerCost"`
  1591  		CostPerAllConversions                             gensupport.JSONFloat64 `json:"costPerAllConversions"`
  1592  		CostPerConversion                                 gensupport.JSONFloat64 `json:"costPerConversion"`
  1593  		CostPerCurrentModelAttributedConversion           gensupport.JSONFloat64 `json:"costPerCurrentModelAttributedConversion"`
  1594  		CrossDeviceConversions                            gensupport.JSONFloat64 `json:"crossDeviceConversions"`
  1595  		CrossDeviceConversionsValue                       gensupport.JSONFloat64 `json:"crossDeviceConversionsValue"`
  1596  		CrossSellUnitsSold                                gensupport.JSONFloat64 `json:"crossSellUnitsSold"`
  1597  		Ctr                                               gensupport.JSONFloat64 `json:"ctr"`
  1598  		InteractionRate                                   gensupport.JSONFloat64 `json:"interactionRate"`
  1599  		InvalidClickRate                                  gensupport.JSONFloat64 `json:"invalidClickRate"`
  1600  		LeadUnitsSold                                     gensupport.JSONFloat64 `json:"leadUnitsSold"`
  1601  		MobileFriendlyClicksPercentage                    gensupport.JSONFloat64 `json:"mobileFriendlyClicksPercentage"`
  1602  		SearchAbsoluteTopImpressionShare                  gensupport.JSONFloat64 `json:"searchAbsoluteTopImpressionShare"`
  1603  		SearchBudgetLostAbsoluteTopImpressionShare        gensupport.JSONFloat64 `json:"searchBudgetLostAbsoluteTopImpressionShare"`
  1604  		SearchBudgetLostImpressionShare                   gensupport.JSONFloat64 `json:"searchBudgetLostImpressionShare"`
  1605  		SearchBudgetLostTopImpressionShare                gensupport.JSONFloat64 `json:"searchBudgetLostTopImpressionShare"`
  1606  		SearchClickShare                                  gensupport.JSONFloat64 `json:"searchClickShare"`
  1607  		SearchExactMatchImpressionShare                   gensupport.JSONFloat64 `json:"searchExactMatchImpressionShare"`
  1608  		SearchImpressionShare                             gensupport.JSONFloat64 `json:"searchImpressionShare"`
  1609  		SearchRankLostAbsoluteTopImpressionShare          gensupport.JSONFloat64 `json:"searchRankLostAbsoluteTopImpressionShare"`
  1610  		SearchRankLostImpressionShare                     gensupport.JSONFloat64 `json:"searchRankLostImpressionShare"`
  1611  		SearchRankLostTopImpressionShare                  gensupport.JSONFloat64 `json:"searchRankLostTopImpressionShare"`
  1612  		SearchTopImpressionShare                          gensupport.JSONFloat64 `json:"searchTopImpressionShare"`
  1613  		TopImpressionPercentage                           gensupport.JSONFloat64 `json:"topImpressionPercentage"`
  1614  		ValuePerAllConversions                            gensupport.JSONFloat64 `json:"valuePerAllConversions"`
  1615  		ValuePerAllConversionsByConversionDate            gensupport.JSONFloat64 `json:"valuePerAllConversionsByConversionDate"`
  1616  		ValuePerConversion                                gensupport.JSONFloat64 `json:"valuePerConversion"`
  1617  		ValuePerConversionsByConversionDate               gensupport.JSONFloat64 `json:"valuePerConversionsByConversionDate"`
  1618  		Visits                                            gensupport.JSONFloat64 `json:"visits"`
  1619  		*NoMethod
  1620  	}
  1621  	s1.NoMethod = (*NoMethod)(s)
  1622  	if err := json.Unmarshal(data, &s1); err != nil {
  1623  		return err
  1624  	}
  1625  	s.AbsoluteTopImpressionPercentage = float64(s1.AbsoluteTopImpressionPercentage)
  1626  	s.AllConversions = float64(s1.AllConversions)
  1627  	s.AllConversionsByConversionDate = float64(s1.AllConversionsByConversionDate)
  1628  	s.AllConversionsFromClickToCall = float64(s1.AllConversionsFromClickToCall)
  1629  	s.AllConversionsFromDirections = float64(s1.AllConversionsFromDirections)
  1630  	s.AllConversionsFromInteractionsRate = float64(s1.AllConversionsFromInteractionsRate)
  1631  	s.AllConversionsFromInteractionsValuePerInteraction = float64(s1.AllConversionsFromInteractionsValuePerInteraction)
  1632  	s.AllConversionsFromMenu = float64(s1.AllConversionsFromMenu)
  1633  	s.AllConversionsFromOrder = float64(s1.AllConversionsFromOrder)
  1634  	s.AllConversionsFromOtherEngagement = float64(s1.AllConversionsFromOtherEngagement)
  1635  	s.AllConversionsFromStoreVisit = float64(s1.AllConversionsFromStoreVisit)
  1636  	s.AllConversionsFromStoreWebsite = float64(s1.AllConversionsFromStoreWebsite)
  1637  	s.AllConversionsValue = float64(s1.AllConversionsValue)
  1638  	s.AllConversionsValueByConversionDate = float64(s1.AllConversionsValueByConversionDate)
  1639  	s.AllConversionsValuePerCost = float64(s1.AllConversionsValuePerCost)
  1640  	s.AverageCost = float64(s1.AverageCost)
  1641  	s.AverageCpc = float64(s1.AverageCpc)
  1642  	s.AverageCpm = float64(s1.AverageCpm)
  1643  	s.ClientAccountConversions = float64(s1.ClientAccountConversions)
  1644  	s.ClientAccountConversionsValue = float64(s1.ClientAccountConversionsValue)
  1645  	s.ClientAccountCrossSellUnitsSold = float64(s1.ClientAccountCrossSellUnitsSold)
  1646  	s.ClientAccountLeadUnitsSold = float64(s1.ClientAccountLeadUnitsSold)
  1647  	s.ContentBudgetLostImpressionShare = float64(s1.ContentBudgetLostImpressionShare)
  1648  	s.ContentImpressionShare = float64(s1.ContentImpressionShare)
  1649  	s.ContentRankLostImpressionShare = float64(s1.ContentRankLostImpressionShare)
  1650  	s.Conversions = float64(s1.Conversions)
  1651  	s.ConversionsByConversionDate = float64(s1.ConversionsByConversionDate)
  1652  	s.ConversionsFromInteractionsRate = float64(s1.ConversionsFromInteractionsRate)
  1653  	s.ConversionsFromInteractionsValuePerInteraction = float64(s1.ConversionsFromInteractionsValuePerInteraction)
  1654  	s.ConversionsValue = float64(s1.ConversionsValue)
  1655  	s.ConversionsValueByConversionDate = float64(s1.ConversionsValueByConversionDate)
  1656  	s.ConversionsValuePerCost = float64(s1.ConversionsValuePerCost)
  1657  	s.CostPerAllConversions = float64(s1.CostPerAllConversions)
  1658  	s.CostPerConversion = float64(s1.CostPerConversion)
  1659  	s.CostPerCurrentModelAttributedConversion = float64(s1.CostPerCurrentModelAttributedConversion)
  1660  	s.CrossDeviceConversions = float64(s1.CrossDeviceConversions)
  1661  	s.CrossDeviceConversionsValue = float64(s1.CrossDeviceConversionsValue)
  1662  	s.CrossSellUnitsSold = float64(s1.CrossSellUnitsSold)
  1663  	s.Ctr = float64(s1.Ctr)
  1664  	s.InteractionRate = float64(s1.InteractionRate)
  1665  	s.InvalidClickRate = float64(s1.InvalidClickRate)
  1666  	s.LeadUnitsSold = float64(s1.LeadUnitsSold)
  1667  	s.MobileFriendlyClicksPercentage = float64(s1.MobileFriendlyClicksPercentage)
  1668  	s.SearchAbsoluteTopImpressionShare = float64(s1.SearchAbsoluteTopImpressionShare)
  1669  	s.SearchBudgetLostAbsoluteTopImpressionShare = float64(s1.SearchBudgetLostAbsoluteTopImpressionShare)
  1670  	s.SearchBudgetLostImpressionShare = float64(s1.SearchBudgetLostImpressionShare)
  1671  	s.SearchBudgetLostTopImpressionShare = float64(s1.SearchBudgetLostTopImpressionShare)
  1672  	s.SearchClickShare = float64(s1.SearchClickShare)
  1673  	s.SearchExactMatchImpressionShare = float64(s1.SearchExactMatchImpressionShare)
  1674  	s.SearchImpressionShare = float64(s1.SearchImpressionShare)
  1675  	s.SearchRankLostAbsoluteTopImpressionShare = float64(s1.SearchRankLostAbsoluteTopImpressionShare)
  1676  	s.SearchRankLostImpressionShare = float64(s1.SearchRankLostImpressionShare)
  1677  	s.SearchRankLostTopImpressionShare = float64(s1.SearchRankLostTopImpressionShare)
  1678  	s.SearchTopImpressionShare = float64(s1.SearchTopImpressionShare)
  1679  	s.TopImpressionPercentage = float64(s1.TopImpressionPercentage)
  1680  	s.ValuePerAllConversions = float64(s1.ValuePerAllConversions)
  1681  	s.ValuePerAllConversionsByConversionDate = float64(s1.ValuePerAllConversionsByConversionDate)
  1682  	s.ValuePerConversion = float64(s1.ValuePerConversion)
  1683  	s.ValuePerConversionsByConversionDate = float64(s1.ValuePerConversionsByConversionDate)
  1684  	s.Visits = float64(s1.Visits)
  1685  	return nil
  1686  }
  1687  
  1688  // GoogleAdsSearchads360V0Common__MobileAppAsset: An asset representing a
  1689  // mobile app.
  1690  type GoogleAdsSearchads360V0Common__MobileAppAsset struct {
  1691  	// AppId: Required. A string that uniquely identifies a mobile application. It
  1692  	// should just contain the platform native id, like "com.android.ebay" for
  1693  	// Android or "12345689" for iOS.
  1694  	AppId string `json:"appId,omitempty"`
  1695  	// AppStore: Required. The application store that distributes this specific
  1696  	// app.
  1697  	//
  1698  	// Possible values:
  1699  	//   "UNSPECIFIED" - Not specified.
  1700  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  1701  	// version.
  1702  	//   "APPLE_APP_STORE" - Mobile app vendor for Apple app store.
  1703  	//   "GOOGLE_APP_STORE" - Mobile app vendor for Google app store.
  1704  	AppStore string `json:"appStore,omitempty"`
  1705  	// ForceSendFields is a list of field names (e.g. "AppId") to unconditionally
  1706  	// include in API requests. By default, fields with empty or default values are
  1707  	// omitted from API requests. See
  1708  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1709  	// details.
  1710  	ForceSendFields []string `json:"-"`
  1711  	// NullFields is a list of field names (e.g. "AppId") to include in API
  1712  	// requests with the JSON null value. By default, fields with empty values are
  1713  	// omitted from API requests. See
  1714  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1715  	NullFields []string `json:"-"`
  1716  }
  1717  
  1718  func (s *GoogleAdsSearchads360V0Common__MobileAppAsset) MarshalJSON() ([]byte, error) {
  1719  	type NoMethod GoogleAdsSearchads360V0Common__MobileAppAsset
  1720  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1721  }
  1722  
  1723  // GoogleAdsSearchads360V0Common__PercentCpc: A bidding strategy where bids are
  1724  // a fraction of the advertised price for some good or service.
  1725  type GoogleAdsSearchads360V0Common__PercentCpc struct {
  1726  	// CpcBidCeilingMicros: Maximum bid limit that can be set by the bid strategy.
  1727  	// This is an optional field entered by the advertiser and specified in local
  1728  	// micros. Note: A zero value is interpreted in the same way as having
  1729  	// bid_ceiling undefined.
  1730  	CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"`
  1731  	// EnhancedCpcEnabled: Adjusts the bid for each auction upward or downward,
  1732  	// depending on the likelihood of a conversion. Individual bids may exceed
  1733  	// cpc_bid_ceiling_micros, but the average bid amount for a campaign should
  1734  	// not.
  1735  	EnhancedCpcEnabled bool `json:"enhancedCpcEnabled,omitempty"`
  1736  	// ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") to
  1737  	// unconditionally include in API requests. By default, fields with empty or
  1738  	// default values are omitted from API requests. See
  1739  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1740  	// details.
  1741  	ForceSendFields []string `json:"-"`
  1742  	// NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to include
  1743  	// in API requests with the JSON null value. By default, fields with empty
  1744  	// values are omitted from API requests. See
  1745  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1746  	NullFields []string `json:"-"`
  1747  }
  1748  
  1749  func (s *GoogleAdsSearchads360V0Common__PercentCpc) MarshalJSON() ([]byte, error) {
  1750  	type NoMethod GoogleAdsSearchads360V0Common__PercentCpc
  1751  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1752  }
  1753  
  1754  // GoogleAdsSearchads360V0Common__RealTimeBiddingSetting: Settings for
  1755  // Real-Time Bidding, a feature only available for campaigns targeting the Ad
  1756  // Exchange network.
  1757  type GoogleAdsSearchads360V0Common__RealTimeBiddingSetting struct {
  1758  	// OptIn: Whether the campaign is opted in to real-time bidding.
  1759  	OptIn bool `json:"optIn,omitempty"`
  1760  	// ForceSendFields is a list of field names (e.g. "OptIn") to unconditionally
  1761  	// include in API requests. By default, fields with empty or default values are
  1762  	// omitted from API requests. See
  1763  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1764  	// details.
  1765  	ForceSendFields []string `json:"-"`
  1766  	// NullFields is a list of field names (e.g. "OptIn") to include in API
  1767  	// requests with the JSON null value. By default, fields with empty values are
  1768  	// omitted from API requests. See
  1769  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1770  	NullFields []string `json:"-"`
  1771  }
  1772  
  1773  func (s *GoogleAdsSearchads360V0Common__RealTimeBiddingSetting) MarshalJSON() ([]byte, error) {
  1774  	type NoMethod GoogleAdsSearchads360V0Common__RealTimeBiddingSetting
  1775  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1776  }
  1777  
  1778  // GoogleAdsSearchads360V0Common__SearchAds360ExpandedDynamicSearchAdInfo: An
  1779  // expanded dynamic search ad.
  1780  type GoogleAdsSearchads360V0Common__SearchAds360ExpandedDynamicSearchAdInfo struct {
  1781  	// AdTrackingId: The tracking id of the ad.
  1782  	AdTrackingId int64 `json:"adTrackingId,omitempty,string"`
  1783  	// Description1: The first line of the ad's description.
  1784  	Description1 string `json:"description1,omitempty"`
  1785  	// Description2: The second line of the ad's description.
  1786  	Description2 string `json:"description2,omitempty"`
  1787  	// ForceSendFields is a list of field names (e.g. "AdTrackingId") to
  1788  	// unconditionally include in API requests. By default, fields with empty or
  1789  	// default values are omitted from API requests. See
  1790  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1791  	// details.
  1792  	ForceSendFields []string `json:"-"`
  1793  	// NullFields is a list of field names (e.g. "AdTrackingId") to include in API
  1794  	// requests with the JSON null value. By default, fields with empty values are
  1795  	// omitted from API requests. See
  1796  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1797  	NullFields []string `json:"-"`
  1798  }
  1799  
  1800  func (s *GoogleAdsSearchads360V0Common__SearchAds360ExpandedDynamicSearchAdInfo) MarshalJSON() ([]byte, error) {
  1801  	type NoMethod GoogleAdsSearchads360V0Common__SearchAds360ExpandedDynamicSearchAdInfo
  1802  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1803  }
  1804  
  1805  // GoogleAdsSearchads360V0Common__SearchAds360ExpandedTextAdInfo: A Search Ads
  1806  // 360 expanded text ad.
  1807  type GoogleAdsSearchads360V0Common__SearchAds360ExpandedTextAdInfo struct {
  1808  	// AdTrackingId: The tracking id of the ad.
  1809  	AdTrackingId int64 `json:"adTrackingId,omitempty,string"`
  1810  	// Description1: The first line of the ad's description.
  1811  	Description1 string `json:"description1,omitempty"`
  1812  	// Description2: The second line of the ad's description.
  1813  	Description2 string `json:"description2,omitempty"`
  1814  	// Headline: The headline of the ad.
  1815  	Headline string `json:"headline,omitempty"`
  1816  	// Headline2: The second headline of the ad.
  1817  	Headline2 string `json:"headline2,omitempty"`
  1818  	// Headline3: The third headline of the ad.
  1819  	Headline3 string `json:"headline3,omitempty"`
  1820  	// Path1: Text appended to the auto-generated visible URL with a delimiter.
  1821  	Path1 string `json:"path1,omitempty"`
  1822  	// Path2: Text appended to path1 with a delimiter.
  1823  	Path2 string `json:"path2,omitempty"`
  1824  	// ForceSendFields is a list of field names (e.g. "AdTrackingId") to
  1825  	// unconditionally include in API requests. By default, fields with empty or
  1826  	// default values are omitted from API requests. See
  1827  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1828  	// details.
  1829  	ForceSendFields []string `json:"-"`
  1830  	// NullFields is a list of field names (e.g. "AdTrackingId") to include in API
  1831  	// requests with the JSON null value. By default, fields with empty values are
  1832  	// omitted from API requests. See
  1833  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1834  	NullFields []string `json:"-"`
  1835  }
  1836  
  1837  func (s *GoogleAdsSearchads360V0Common__SearchAds360ExpandedTextAdInfo) MarshalJSON() ([]byte, error) {
  1838  	type NoMethod GoogleAdsSearchads360V0Common__SearchAds360ExpandedTextAdInfo
  1839  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1840  }
  1841  
  1842  // GoogleAdsSearchads360V0Common__SearchAds360ProductAdInfo: A Search Ads 360
  1843  // product ad.
  1844  type GoogleAdsSearchads360V0Common__SearchAds360ProductAdInfo struct {
  1845  }
  1846  
  1847  // GoogleAdsSearchads360V0Common__SearchAds360ResponsiveSearchAdInfo: A Search
  1848  // Ads 360 responsive search ad.
  1849  type GoogleAdsSearchads360V0Common__SearchAds360ResponsiveSearchAdInfo struct {
  1850  	// AdTrackingId: The tracking id of the ad.
  1851  	AdTrackingId int64 `json:"adTrackingId,omitempty,string"`
  1852  	// Path1: Text appended to the auto-generated visible URL with a delimiter.
  1853  	Path1 string `json:"path1,omitempty"`
  1854  	// Path2: Text appended to path1 with a delimiter.
  1855  	Path2 string `json:"path2,omitempty"`
  1856  	// ForceSendFields is a list of field names (e.g. "AdTrackingId") to
  1857  	// unconditionally include in API requests. By default, fields with empty or
  1858  	// default values are omitted from API requests. See
  1859  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1860  	// details.
  1861  	ForceSendFields []string `json:"-"`
  1862  	// NullFields is a list of field names (e.g. "AdTrackingId") to include in API
  1863  	// requests with the JSON null value. By default, fields with empty values are
  1864  	// omitted from API requests. See
  1865  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1866  	NullFields []string `json:"-"`
  1867  }
  1868  
  1869  func (s *GoogleAdsSearchads360V0Common__SearchAds360ResponsiveSearchAdInfo) MarshalJSON() ([]byte, error) {
  1870  	type NoMethod GoogleAdsSearchads360V0Common__SearchAds360ResponsiveSearchAdInfo
  1871  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1872  }
  1873  
  1874  // GoogleAdsSearchads360V0Common__SearchAds360TextAdInfo: A Search Ads 360 text
  1875  // ad.
  1876  type GoogleAdsSearchads360V0Common__SearchAds360TextAdInfo struct {
  1877  	// AdTrackingId: The tracking id of the ad.
  1878  	AdTrackingId int64 `json:"adTrackingId,omitempty,string"`
  1879  	// Description1: The first line of the ad's description.
  1880  	Description1 string `json:"description1,omitempty"`
  1881  	// Description2: The second line of the ad's description.
  1882  	Description2 string `json:"description2,omitempty"`
  1883  	// DisplayMobileUrl: The displayed mobile URL of the ad.
  1884  	DisplayMobileUrl string `json:"displayMobileUrl,omitempty"`
  1885  	// DisplayUrl: The displayed URL of the ad.
  1886  	DisplayUrl string `json:"displayUrl,omitempty"`
  1887  	// Headline: The headline of the ad.
  1888  	Headline string `json:"headline,omitempty"`
  1889  	// ForceSendFields is a list of field names (e.g. "AdTrackingId") to
  1890  	// unconditionally include in API requests. By default, fields with empty or
  1891  	// default values are omitted from API requests. See
  1892  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1893  	// details.
  1894  	ForceSendFields []string `json:"-"`
  1895  	// NullFields is a list of field names (e.g. "AdTrackingId") to include in API
  1896  	// requests with the JSON null value. By default, fields with empty values are
  1897  	// omitted from API requests. See
  1898  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1899  	NullFields []string `json:"-"`
  1900  }
  1901  
  1902  func (s *GoogleAdsSearchads360V0Common__SearchAds360TextAdInfo) MarshalJSON() ([]byte, error) {
  1903  	type NoMethod GoogleAdsSearchads360V0Common__SearchAds360TextAdInfo
  1904  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1905  }
  1906  
  1907  // GoogleAdsSearchads360V0Common__Segments: Segment only fields.
  1908  type GoogleAdsSearchads360V0Common__Segments struct {
  1909  	// AdNetworkType: Ad network type.
  1910  	//
  1911  	// Possible values:
  1912  	//   "UNSPECIFIED" - Not specified.
  1913  	//   "UNKNOWN" - The value is unknown in this version.
  1914  	//   "SEARCH" - Google search.
  1915  	//   "SEARCH_PARTNERS" - Search partners.
  1916  	//   "CONTENT" - Display Network.
  1917  	//   "YOUTUBE_SEARCH" - YouTube Search.
  1918  	//   "YOUTUBE_WATCH" - YouTube Videos
  1919  	//   "MIXED" - Cross-network.
  1920  	AdNetworkType string `json:"adNetworkType,omitempty"`
  1921  	// AssetInteractionTarget: Only used with CustomerAsset, CampaignAsset and
  1922  	// AdGroupAsset metrics. Indicates whether the interaction metrics occurred on
  1923  	// the asset itself or a different asset or ad unit. Interactions (for example,
  1924  	// clicks) are counted across all the parts of the served ad (for example, Ad
  1925  	// itself and other components like Sitelinks) when they are served together.
  1926  	// When interaction_on_this_asset is true, it means the interactions are on
  1927  	// this specific asset and when interaction_on_this_asset is false, it means
  1928  	// the interactions is not on this specific asset but on other parts of the
  1929  	// served ad this asset is served with.
  1930  	AssetInteractionTarget *GoogleAdsSearchads360V0Common__AssetInteractionTarget `json:"assetInteractionTarget,omitempty"`
  1931  	// ConversionAction: Resource name of the conversion action.
  1932  	ConversionAction string `json:"conversionAction,omitempty"`
  1933  	// ConversionActionCategory: Conversion action category.
  1934  	//
  1935  	// Possible values:
  1936  	//   "UNSPECIFIED" - Not specified.
  1937  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  1938  	// version.
  1939  	//   "DEFAULT" - Default category.
  1940  	//   "PAGE_VIEW" - User visiting a page.
  1941  	//   "PURCHASE" - Purchase, sales, or "order placed" event.
  1942  	//   "SIGNUP" - Signup user action.
  1943  	//   "LEAD" - Lead-generating action.
  1944  	//   "DOWNLOAD" - Software download action (as for an app).
  1945  	//   "ADD_TO_CART" - The addition of items to a shopping cart or bag on an
  1946  	// advertiser site.
  1947  	//   "BEGIN_CHECKOUT" - When someone enters the checkout flow on an advertiser
  1948  	// site.
  1949  	//   "SUBSCRIBE_PAID" - The start of a paid subscription for a product or
  1950  	// service.
  1951  	//   "PHONE_CALL_LEAD" - A call to indicate interest in an advertiser's
  1952  	// offering.
  1953  	//   "IMPORTED_LEAD" - A lead conversion imported from an external source into
  1954  	// Google Ads.
  1955  	//   "SUBMIT_LEAD_FORM" - A submission of a form on an advertiser site
  1956  	// indicating business interest.
  1957  	//   "BOOK_APPOINTMENT" - A booking of an appointment with an advertiser's
  1958  	// business.
  1959  	//   "REQUEST_QUOTE" - A quote or price estimate request.
  1960  	//   "GET_DIRECTIONS" - A search for an advertiser's business location with
  1961  	// intention to visit.
  1962  	//   "OUTBOUND_CLICK" - A click to an advertiser's partner's site.
  1963  	//   "CONTACT" - A call, SMS, email, chat or other type of contact to an
  1964  	// advertiser.
  1965  	//   "ENGAGEMENT" - A website engagement event such as long site time or a
  1966  	// Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA
  1967  	// Gold goal imports.
  1968  	//   "STORE_VISIT" - A visit to a physical store location.
  1969  	//   "STORE_SALE" - A sale occurring in a physical store.
  1970  	//   "QUALIFIED_LEAD" - A lead conversion imported from an external source into
  1971  	// Google Ads, that has been further qualified by the advertiser
  1972  	// (marketing/sales team). In the lead-to-sale journey, advertisers get leads,
  1973  	// then act on them by reaching out to the consumer. If the consumer is
  1974  	// interested and may end up buying their product, the advertiser marks such
  1975  	// leads as "qualified leads".
  1976  	//   "CONVERTED_LEAD" - A lead conversion imported from an external source into
  1977  	// Google Ads, that has further completed a chosen stage as defined by the lead
  1978  	// gen advertiser.
  1979  	ConversionActionCategory string `json:"conversionActionCategory,omitempty"`
  1980  	// ConversionActionName: Conversion action name.
  1981  	ConversionActionName string `json:"conversionActionName,omitempty"`
  1982  	// ConversionCustomDimensions: The conversion custom dimensions.
  1983  	ConversionCustomDimensions []*GoogleAdsSearchads360V0Common__Value `json:"conversionCustomDimensions,omitempty"`
  1984  	// Date: Date to which metrics apply. yyyy-MM-dd format, for example,
  1985  	// 2018-04-17.
  1986  	Date string `json:"date,omitempty"`
  1987  	// DayOfWeek: Day of the week, for example, MONDAY.
  1988  	//
  1989  	// Possible values:
  1990  	//   "UNSPECIFIED" - Not specified.
  1991  	//   "UNKNOWN" - The value is unknown in this version.
  1992  	//   "MONDAY" - Monday.
  1993  	//   "TUESDAY" - Tuesday.
  1994  	//   "WEDNESDAY" - Wednesday.
  1995  	//   "THURSDAY" - Thursday.
  1996  	//   "FRIDAY" - Friday.
  1997  	//   "SATURDAY" - Saturday.
  1998  	//   "SUNDAY" - Sunday.
  1999  	DayOfWeek string `json:"dayOfWeek,omitempty"`
  2000  	// Device: Device to which metrics apply.
  2001  	//
  2002  	// Possible values:
  2003  	//   "UNSPECIFIED" - Not specified.
  2004  	//   "UNKNOWN" - The value is unknown in this version.
  2005  	//   "MOBILE" - Mobile devices with full browsers.
  2006  	//   "TABLET" - Tablets with full browsers.
  2007  	//   "DESKTOP" - Computers.
  2008  	//   "CONNECTED_TV" - Smart TVs and game consoles.
  2009  	//   "OTHER" - Other device types.
  2010  	Device string `json:"device,omitempty"`
  2011  	// Keyword: Keyword criterion.
  2012  	Keyword *GoogleAdsSearchads360V0Common__Keyword `json:"keyword,omitempty"`
  2013  	// Month: Month as represented by the date of the first day of a month.
  2014  	// Formatted as yyyy-MM-dd.
  2015  	Month string `json:"month,omitempty"`
  2016  	// ProductBiddingCategoryLevel1: Bidding category (level 1) of the product.
  2017  	ProductBiddingCategoryLevel1 string `json:"productBiddingCategoryLevel1,omitempty"`
  2018  	// ProductBiddingCategoryLevel2: Bidding category (level 2) of the product.
  2019  	ProductBiddingCategoryLevel2 string `json:"productBiddingCategoryLevel2,omitempty"`
  2020  	// ProductBiddingCategoryLevel3: Bidding category (level 3) of the product.
  2021  	ProductBiddingCategoryLevel3 string `json:"productBiddingCategoryLevel3,omitempty"`
  2022  	// ProductBiddingCategoryLevel4: Bidding category (level 4) of the product.
  2023  	ProductBiddingCategoryLevel4 string `json:"productBiddingCategoryLevel4,omitempty"`
  2024  	// ProductBiddingCategoryLevel5: Bidding category (level 5) of the product.
  2025  	ProductBiddingCategoryLevel5 string `json:"productBiddingCategoryLevel5,omitempty"`
  2026  	// ProductBrand: Brand of the product.
  2027  	ProductBrand string `json:"productBrand,omitempty"`
  2028  	// ProductChannel: Channel of the product.
  2029  	//
  2030  	// Possible values:
  2031  	//   "UNSPECIFIED" - Not specified.
  2032  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  2033  	// version.
  2034  	//   "ONLINE" - The item is sold online.
  2035  	//   "LOCAL" - The item is sold in local stores.
  2036  	ProductChannel string `json:"productChannel,omitempty"`
  2037  	// ProductChannelExclusivity: Channel exclusivity of the product.
  2038  	//
  2039  	// Possible values:
  2040  	//   "UNSPECIFIED" - Not specified.
  2041  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  2042  	// version.
  2043  	//   "SINGLE_CHANNEL" - The item is sold through one channel only, either local
  2044  	// stores or online as indicated by its ProductChannel.
  2045  	//   "MULTI_CHANNEL" - The item is matched to its online or local stores
  2046  	// counterpart, indicating it is available for purchase in both
  2047  	// ShoppingProductChannels.
  2048  	ProductChannelExclusivity string `json:"productChannelExclusivity,omitempty"`
  2049  	// ProductCondition: Condition of the product.
  2050  	//
  2051  	// Possible values:
  2052  	//   "UNSPECIFIED" - Not specified.
  2053  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  2054  	// version.
  2055  	//   "OLD" - The product condition is old.
  2056  	//   "NEW" - The product condition is new.
  2057  	//   "REFURBISHED" - The product condition is refurbished.
  2058  	//   "USED" - The product condition is used.
  2059  	ProductCondition string `json:"productCondition,omitempty"`
  2060  	// ProductCountry: Resource name of the geo target constant for the country of
  2061  	// sale of the product.
  2062  	ProductCountry string `json:"productCountry,omitempty"`
  2063  	// ProductCustomAttribute0: Custom attribute 0 of the product.
  2064  	ProductCustomAttribute0 string `json:"productCustomAttribute0,omitempty"`
  2065  	// ProductCustomAttribute1: Custom attribute 1 of the product.
  2066  	ProductCustomAttribute1 string `json:"productCustomAttribute1,omitempty"`
  2067  	// ProductCustomAttribute2: Custom attribute 2 of the product.
  2068  	ProductCustomAttribute2 string `json:"productCustomAttribute2,omitempty"`
  2069  	// ProductCustomAttribute3: Custom attribute 3 of the product.
  2070  	ProductCustomAttribute3 string `json:"productCustomAttribute3,omitempty"`
  2071  	// ProductCustomAttribute4: Custom attribute 4 of the product.
  2072  	ProductCustomAttribute4 string `json:"productCustomAttribute4,omitempty"`
  2073  	// ProductItemId: Item ID of the product.
  2074  	ProductItemId string `json:"productItemId,omitempty"`
  2075  	// ProductLanguage: Resource name of the language constant for the language of
  2076  	// the product.
  2077  	ProductLanguage string `json:"productLanguage,omitempty"`
  2078  	// ProductSoldBiddingCategoryLevel1: Bidding category (level 1) of the product
  2079  	// sold.
  2080  	ProductSoldBiddingCategoryLevel1 string `json:"productSoldBiddingCategoryLevel1,omitempty"`
  2081  	// ProductSoldBiddingCategoryLevel2: Bidding category (level 2) of the product
  2082  	// sold.
  2083  	ProductSoldBiddingCategoryLevel2 string `json:"productSoldBiddingCategoryLevel2,omitempty"`
  2084  	// ProductSoldBiddingCategoryLevel3: Bidding category (level 3) of the product
  2085  	// sold.
  2086  	ProductSoldBiddingCategoryLevel3 string `json:"productSoldBiddingCategoryLevel3,omitempty"`
  2087  	// ProductSoldBiddingCategoryLevel4: Bidding category (level 4) of the product
  2088  	// sold.
  2089  	ProductSoldBiddingCategoryLevel4 string `json:"productSoldBiddingCategoryLevel4,omitempty"`
  2090  	// ProductSoldBiddingCategoryLevel5: Bidding category (level 5) of the product
  2091  	// sold.
  2092  	ProductSoldBiddingCategoryLevel5 string `json:"productSoldBiddingCategoryLevel5,omitempty"`
  2093  	// ProductSoldBrand: Brand of the product sold.
  2094  	ProductSoldBrand string `json:"productSoldBrand,omitempty"`
  2095  	// ProductSoldCondition: Condition of the product sold.
  2096  	//
  2097  	// Possible values:
  2098  	//   "UNSPECIFIED" - Not specified.
  2099  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  2100  	// version.
  2101  	//   "OLD" - The product condition is old.
  2102  	//   "NEW" - The product condition is new.
  2103  	//   "REFURBISHED" - The product condition is refurbished.
  2104  	//   "USED" - The product condition is used.
  2105  	ProductSoldCondition string `json:"productSoldCondition,omitempty"`
  2106  	// ProductSoldCustomAttribute0: Custom attribute 0 of the product sold.
  2107  	ProductSoldCustomAttribute0 string `json:"productSoldCustomAttribute0,omitempty"`
  2108  	// ProductSoldCustomAttribute1: Custom attribute 1 of the product sold.
  2109  	ProductSoldCustomAttribute1 string `json:"productSoldCustomAttribute1,omitempty"`
  2110  	// ProductSoldCustomAttribute2: Custom attribute 2 of the product sold.
  2111  	ProductSoldCustomAttribute2 string `json:"productSoldCustomAttribute2,omitempty"`
  2112  	// ProductSoldCustomAttribute3: Custom attribute 3 of the product sold.
  2113  	ProductSoldCustomAttribute3 string `json:"productSoldCustomAttribute3,omitempty"`
  2114  	// ProductSoldCustomAttribute4: Custom attribute 4 of the product sold.
  2115  	ProductSoldCustomAttribute4 string `json:"productSoldCustomAttribute4,omitempty"`
  2116  	// ProductSoldItemId: Item ID of the product sold.
  2117  	ProductSoldItemId string `json:"productSoldItemId,omitempty"`
  2118  	// ProductSoldTitle: Title of the product sold.
  2119  	ProductSoldTitle string `json:"productSoldTitle,omitempty"`
  2120  	// ProductSoldTypeL1: Type (level 1) of the product sold.
  2121  	ProductSoldTypeL1 string `json:"productSoldTypeL1,omitempty"`
  2122  	// ProductSoldTypeL2: Type (level 2) of the product sold.
  2123  	ProductSoldTypeL2 string `json:"productSoldTypeL2,omitempty"`
  2124  	// ProductSoldTypeL3: Type (level 3) of the product sold.
  2125  	ProductSoldTypeL3 string `json:"productSoldTypeL3,omitempty"`
  2126  	// ProductSoldTypeL4: Type (level 4) of the product sold.
  2127  	ProductSoldTypeL4 string `json:"productSoldTypeL4,omitempty"`
  2128  	// ProductSoldTypeL5: Type (level 5) of the product sold.
  2129  	ProductSoldTypeL5 string `json:"productSoldTypeL5,omitempty"`
  2130  	// ProductStoreId: Store ID of the product.
  2131  	ProductStoreId string `json:"productStoreId,omitempty"`
  2132  	// ProductTitle: Title of the product.
  2133  	ProductTitle string `json:"productTitle,omitempty"`
  2134  	// ProductTypeL1: Type (level 1) of the product.
  2135  	ProductTypeL1 string `json:"productTypeL1,omitempty"`
  2136  	// ProductTypeL2: Type (level 2) of the product.
  2137  	ProductTypeL2 string `json:"productTypeL2,omitempty"`
  2138  	// ProductTypeL3: Type (level 3) of the product.
  2139  	ProductTypeL3 string `json:"productTypeL3,omitempty"`
  2140  	// ProductTypeL4: Type (level 4) of the product.
  2141  	ProductTypeL4 string `json:"productTypeL4,omitempty"`
  2142  	// ProductTypeL5: Type (level 5) of the product.
  2143  	ProductTypeL5 string `json:"productTypeL5,omitempty"`
  2144  	// Quarter: Quarter as represented by the date of the first day of a quarter.
  2145  	// Uses the calendar year for quarters, for example, the second quarter of 2018
  2146  	// starts on 2018-04-01. Formatted as yyyy-MM-dd.
  2147  	Quarter string `json:"quarter,omitempty"`
  2148  	// RawEventConversionDimensions: The raw event conversion dimensions.
  2149  	RawEventConversionDimensions []*GoogleAdsSearchads360V0Common__Value `json:"rawEventConversionDimensions,omitempty"`
  2150  	// Week: Week as defined as Monday through Sunday, and represented by the date
  2151  	// of Monday. Formatted as yyyy-MM-dd.
  2152  	Week string `json:"week,omitempty"`
  2153  	// Year: Year, formatted as yyyy.
  2154  	Year int64 `json:"year,omitempty"`
  2155  	// ForceSendFields is a list of field names (e.g. "AdNetworkType") to
  2156  	// unconditionally include in API requests. By default, fields with empty or
  2157  	// default values are omitted from API requests. See
  2158  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2159  	// details.
  2160  	ForceSendFields []string `json:"-"`
  2161  	// NullFields is a list of field names (e.g. "AdNetworkType") to include in API
  2162  	// requests with the JSON null value. By default, fields with empty values are
  2163  	// omitted from API requests. See
  2164  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2165  	NullFields []string `json:"-"`
  2166  }
  2167  
  2168  func (s *GoogleAdsSearchads360V0Common__Segments) MarshalJSON() ([]byte, error) {
  2169  	type NoMethod GoogleAdsSearchads360V0Common__Segments
  2170  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2171  }
  2172  
  2173  // GoogleAdsSearchads360V0Common__TargetCpa: An automated bid strategy that
  2174  // sets bids to help get as many conversions as possible at the target
  2175  // cost-per-acquisition (CPA) you set.
  2176  type GoogleAdsSearchads360V0Common__TargetCpa struct {
  2177  	// CpcBidCeilingMicros: Maximum bid limit that can be set by the bid strategy.
  2178  	// The limit applies to all keywords managed by the strategy. This should only
  2179  	// be set for portfolio bid strategies.
  2180  	CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"`
  2181  	// CpcBidFloorMicros: Minimum bid limit that can be set by the bid strategy.
  2182  	// The limit applies to all keywords managed by the strategy. This should only
  2183  	// be set for portfolio bid strategies.
  2184  	CpcBidFloorMicros int64 `json:"cpcBidFloorMicros,omitempty,string"`
  2185  	// TargetCpaMicros: Average CPA target. This target should be greater than or
  2186  	// equal to minimum billable unit based on the currency for the account.
  2187  	TargetCpaMicros int64 `json:"targetCpaMicros,omitempty,string"`
  2188  	// ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") to
  2189  	// unconditionally include in API requests. By default, fields with empty or
  2190  	// default values are omitted from API requests. See
  2191  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2192  	// details.
  2193  	ForceSendFields []string `json:"-"`
  2194  	// NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to include
  2195  	// in API requests with the JSON null value. By default, fields with empty
  2196  	// values are omitted from API requests. See
  2197  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2198  	NullFields []string `json:"-"`
  2199  }
  2200  
  2201  func (s *GoogleAdsSearchads360V0Common__TargetCpa) MarshalJSON() ([]byte, error) {
  2202  	type NoMethod GoogleAdsSearchads360V0Common__TargetCpa
  2203  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2204  }
  2205  
  2206  // GoogleAdsSearchads360V0Common__TargetCpm: Target CPM (cost per thousand
  2207  // impressions) is an automated bidding strategy that sets bids to optimize
  2208  // performance given the target CPM you set.
  2209  type GoogleAdsSearchads360V0Common__TargetCpm struct {
  2210  }
  2211  
  2212  // GoogleAdsSearchads360V0Common__TargetImpressionShare: An automated bidding
  2213  // strategy that sets bids so that a certain percentage of search ads are shown
  2214  // at the top of the first page (or other targeted location).
  2215  type GoogleAdsSearchads360V0Common__TargetImpressionShare struct {
  2216  	// CpcBidCeilingMicros: The highest CPC bid the automated bidding system is
  2217  	// permitted to specify. This is a required field entered by the advertiser
  2218  	// that sets the ceiling and specified in local micros.
  2219  	CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"`
  2220  	// Location: The targeted location on the search results page.
  2221  	//
  2222  	// Possible values:
  2223  	//   "UNSPECIFIED" - Not specified.
  2224  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  2225  	// version.
  2226  	//   "ANYWHERE_ON_PAGE" - Any location on the web page.
  2227  	//   "TOP_OF_PAGE" - Top box of ads.
  2228  	//   "ABSOLUTE_TOP_OF_PAGE" - Top slot in the top box of ads.
  2229  	Location string `json:"location,omitempty"`
  2230  	// LocationFractionMicros: The chosen fraction of ads to be shown in the
  2231  	// targeted location in micros. For example, 1% equals 10,000.
  2232  	LocationFractionMicros int64 `json:"locationFractionMicros,omitempty,string"`
  2233  	// ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") to
  2234  	// unconditionally include in API requests. By default, fields with empty or
  2235  	// default values are omitted from API requests. See
  2236  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2237  	// details.
  2238  	ForceSendFields []string `json:"-"`
  2239  	// NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to include
  2240  	// in API requests with the JSON null value. By default, fields with empty
  2241  	// values are omitted from API requests. See
  2242  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2243  	NullFields []string `json:"-"`
  2244  }
  2245  
  2246  func (s *GoogleAdsSearchads360V0Common__TargetImpressionShare) MarshalJSON() ([]byte, error) {
  2247  	type NoMethod GoogleAdsSearchads360V0Common__TargetImpressionShare
  2248  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2249  }
  2250  
  2251  // GoogleAdsSearchads360V0Common__TargetOutrankShare: An automated bidding
  2252  // strategy that sets bids based on the target fraction of auctions where the
  2253  // advertiser should outrank a specific competitor. This strategy is
  2254  // deprecated.
  2255  type GoogleAdsSearchads360V0Common__TargetOutrankShare struct {
  2256  	// CpcBidCeilingMicros: Maximum bid limit that can be set by the bid strategy.
  2257  	// The limit applies to all keywords managed by the strategy.
  2258  	CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"`
  2259  	// ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") to
  2260  	// unconditionally include in API requests. By default, fields with empty or
  2261  	// default values are omitted from API requests. See
  2262  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2263  	// details.
  2264  	ForceSendFields []string `json:"-"`
  2265  	// NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to include
  2266  	// in API requests with the JSON null value. By default, fields with empty
  2267  	// values are omitted from API requests. See
  2268  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2269  	NullFields []string `json:"-"`
  2270  }
  2271  
  2272  func (s *GoogleAdsSearchads360V0Common__TargetOutrankShare) MarshalJSON() ([]byte, error) {
  2273  	type NoMethod GoogleAdsSearchads360V0Common__TargetOutrankShare
  2274  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2275  }
  2276  
  2277  // GoogleAdsSearchads360V0Common__TargetRestriction: The list of
  2278  // per-targeting-dimension targeting settings.
  2279  type GoogleAdsSearchads360V0Common__TargetRestriction struct {
  2280  	// BidOnly: Indicates whether to restrict your ads to show only for the
  2281  	// criteria you have selected for this targeting_dimension, or to target all
  2282  	// values for this targeting_dimension and show ads based on your targeting in
  2283  	// other TargetingDimensions. A value of `true` means that these criteria will
  2284  	// only apply bid modifiers, and not affect targeting. A value of `false` means
  2285  	// that these criteria will restrict targeting as well as applying bid
  2286  	// modifiers.
  2287  	BidOnly bool `json:"bidOnly,omitempty"`
  2288  	// TargetingDimension: The targeting dimension that these settings apply to.
  2289  	//
  2290  	// Possible values:
  2291  	//   "UNSPECIFIED" - Not specified.
  2292  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  2293  	// version.
  2294  	//   "KEYWORD" - Keyword criteria, for example, 'mars cruise'. KEYWORD may be
  2295  	// used as a custom bid dimension. Keywords are always a targeting dimension,
  2296  	// so may not be set as a target "ALL" dimension with TargetRestriction.
  2297  	//   "AUDIENCE" - Audience criteria, which include user list, user interest,
  2298  	// custom affinity, and custom in market.
  2299  	//   "TOPIC" - Topic criteria for targeting categories of content, for example,
  2300  	// 'category::Animals>Pets' Used for Display and Video targeting.
  2301  	//   "GENDER" - Criteria for targeting gender.
  2302  	//   "AGE_RANGE" - Criteria for targeting age ranges.
  2303  	//   "PLACEMENT" - Placement criteria, which include websites like
  2304  	// 'www.flowers4sale.com', as well as mobile applications, mobile app
  2305  	// categories, YouTube videos, and YouTube channels.
  2306  	//   "PARENTAL_STATUS" - Criteria for parental status targeting.
  2307  	//   "INCOME_RANGE" - Criteria for income range targeting.
  2308  	TargetingDimension string `json:"targetingDimension,omitempty"`
  2309  	// ForceSendFields is a list of field names (e.g. "BidOnly") to unconditionally
  2310  	// include in API requests. By default, fields with empty or default values are
  2311  	// omitted from API requests. See
  2312  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2313  	// details.
  2314  	ForceSendFields []string `json:"-"`
  2315  	// NullFields is a list of field names (e.g. "BidOnly") to include in API
  2316  	// requests with the JSON null value. By default, fields with empty values are
  2317  	// omitted from API requests. See
  2318  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2319  	NullFields []string `json:"-"`
  2320  }
  2321  
  2322  func (s *GoogleAdsSearchads360V0Common__TargetRestriction) MarshalJSON() ([]byte, error) {
  2323  	type NoMethod GoogleAdsSearchads360V0Common__TargetRestriction
  2324  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2325  }
  2326  
  2327  // GoogleAdsSearchads360V0Common__TargetRoas: An automated bidding strategy
  2328  // that helps you maximize revenue while averaging a specific target return on
  2329  // ad spend (ROAS).
  2330  type GoogleAdsSearchads360V0Common__TargetRoas struct {
  2331  	// CpcBidCeilingMicros: Maximum bid limit that can be set by the bid strategy.
  2332  	// The limit applies to all keywords managed by the strategy. This should only
  2333  	// be set for portfolio bid strategies.
  2334  	CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"`
  2335  	// CpcBidFloorMicros: Minimum bid limit that can be set by the bid strategy.
  2336  	// The limit applies to all keywords managed by the strategy. This should only
  2337  	// be set for portfolio bid strategies.
  2338  	CpcBidFloorMicros int64 `json:"cpcBidFloorMicros,omitempty,string"`
  2339  	// TargetRoas: Required. The chosen revenue (based on conversion data) per unit
  2340  	// of spend. Value must be between 0.01 and 1000.0, inclusive.
  2341  	TargetRoas float64 `json:"targetRoas,omitempty"`
  2342  	// ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") to
  2343  	// unconditionally include in API requests. By default, fields with empty or
  2344  	// default values are omitted from API requests. See
  2345  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2346  	// details.
  2347  	ForceSendFields []string `json:"-"`
  2348  	// NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to include
  2349  	// in API requests with the JSON null value. By default, fields with empty
  2350  	// values are omitted from API requests. See
  2351  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2352  	NullFields []string `json:"-"`
  2353  }
  2354  
  2355  func (s *GoogleAdsSearchads360V0Common__TargetRoas) MarshalJSON() ([]byte, error) {
  2356  	type NoMethod GoogleAdsSearchads360V0Common__TargetRoas
  2357  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2358  }
  2359  
  2360  func (s *GoogleAdsSearchads360V0Common__TargetRoas) UnmarshalJSON(data []byte) error {
  2361  	type NoMethod GoogleAdsSearchads360V0Common__TargetRoas
  2362  	var s1 struct {
  2363  		TargetRoas gensupport.JSONFloat64 `json:"targetRoas"`
  2364  		*NoMethod
  2365  	}
  2366  	s1.NoMethod = (*NoMethod)(s)
  2367  	if err := json.Unmarshal(data, &s1); err != nil {
  2368  		return err
  2369  	}
  2370  	s.TargetRoas = float64(s1.TargetRoas)
  2371  	return nil
  2372  }
  2373  
  2374  // GoogleAdsSearchads360V0Common__TargetSpend: An automated bid strategy that
  2375  // sets your bids to help get as many clicks as possible within your budget.
  2376  type GoogleAdsSearchads360V0Common__TargetSpend struct {
  2377  	// CpcBidCeilingMicros: Maximum bid limit that can be set by the bid strategy.
  2378  	// The limit applies to all keywords managed by the strategy.
  2379  	CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"`
  2380  	// TargetSpendMicros: The spend target under which to maximize clicks. A
  2381  	// TargetSpend bidder will attempt to spend the smaller of this value or the
  2382  	// natural throttling spend amount. If not specified, the budget is used as the
  2383  	// spend target. This field is deprecated and should no longer be used. See
  2384  	// https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html
  2385  	// for details.
  2386  	TargetSpendMicros int64 `json:"targetSpendMicros,omitempty,string"`
  2387  	// ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") to
  2388  	// unconditionally include in API requests. By default, fields with empty or
  2389  	// default values are omitted from API requests. See
  2390  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2391  	// details.
  2392  	ForceSendFields []string `json:"-"`
  2393  	// NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to include
  2394  	// in API requests with the JSON null value. By default, fields with empty
  2395  	// values are omitted from API requests. See
  2396  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2397  	NullFields []string `json:"-"`
  2398  }
  2399  
  2400  func (s *GoogleAdsSearchads360V0Common__TargetSpend) MarshalJSON() ([]byte, error) {
  2401  	type NoMethod GoogleAdsSearchads360V0Common__TargetSpend
  2402  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2403  }
  2404  
  2405  // GoogleAdsSearchads360V0Common__TargetingSetting: Settings for the
  2406  // targeting-related features, at the campaign and ad group levels. For more
  2407  // details about the targeting setting, visit
  2408  // https://support.google.com/google-ads/answer/7365594
  2409  type GoogleAdsSearchads360V0Common__TargetingSetting struct {
  2410  	// TargetRestrictions: The per-targeting-dimension setting to restrict the
  2411  	// reach of your campaign or ad group.
  2412  	TargetRestrictions []*GoogleAdsSearchads360V0Common__TargetRestriction `json:"targetRestrictions,omitempty"`
  2413  	// ForceSendFields is a list of field names (e.g. "TargetRestrictions") to
  2414  	// unconditionally include in API requests. By default, fields with empty or
  2415  	// default values are omitted from API requests. See
  2416  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2417  	// details.
  2418  	ForceSendFields []string `json:"-"`
  2419  	// NullFields is a list of field names (e.g. "TargetRestrictions") to include
  2420  	// in API requests with the JSON null value. By default, fields with empty
  2421  	// values are omitted from API requests. See
  2422  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2423  	NullFields []string `json:"-"`
  2424  }
  2425  
  2426  func (s *GoogleAdsSearchads360V0Common__TargetingSetting) MarshalJSON() ([]byte, error) {
  2427  	type NoMethod GoogleAdsSearchads360V0Common__TargetingSetting
  2428  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2429  }
  2430  
  2431  // GoogleAdsSearchads360V0Common__TextAsset: A Text asset.
  2432  type GoogleAdsSearchads360V0Common__TextAsset struct {
  2433  	// Text: Text content of the text asset.
  2434  	Text string `json:"text,omitempty"`
  2435  	// ForceSendFields is a list of field names (e.g. "Text") to unconditionally
  2436  	// include in API requests. By default, fields with empty or default values are
  2437  	// omitted from API requests. See
  2438  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2439  	// details.
  2440  	ForceSendFields []string `json:"-"`
  2441  	// NullFields is a list of field names (e.g. "Text") to include in API requests
  2442  	// with the JSON null value. By default, fields with empty values are omitted
  2443  	// from API requests. See
  2444  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2445  	NullFields []string `json:"-"`
  2446  }
  2447  
  2448  func (s *GoogleAdsSearchads360V0Common__TextAsset) MarshalJSON() ([]byte, error) {
  2449  	type NoMethod GoogleAdsSearchads360V0Common__TextAsset
  2450  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2451  }
  2452  
  2453  // GoogleAdsSearchads360V0Common__TextLabel: A type of label displaying text on
  2454  // a colored background.
  2455  type GoogleAdsSearchads360V0Common__TextLabel struct {
  2456  	// BackgroundColor: Background color of the label in RGB format. This string
  2457  	// must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'.
  2458  	// Note: The background color may not be visible for manager accounts.
  2459  	BackgroundColor string `json:"backgroundColor,omitempty"`
  2460  	// Description: A short description of the label. The length must be no more
  2461  	// than 200 characters.
  2462  	Description string `json:"description,omitempty"`
  2463  	// ForceSendFields is a list of field names (e.g. "BackgroundColor") to
  2464  	// unconditionally include in API requests. By default, fields with empty or
  2465  	// default values are omitted from API requests. See
  2466  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2467  	// details.
  2468  	ForceSendFields []string `json:"-"`
  2469  	// NullFields is a list of field names (e.g. "BackgroundColor") to include in
  2470  	// API requests with the JSON null value. By default, fields with empty values
  2471  	// are omitted from API requests. See
  2472  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2473  	NullFields []string `json:"-"`
  2474  }
  2475  
  2476  func (s *GoogleAdsSearchads360V0Common__TextLabel) MarshalJSON() ([]byte, error) {
  2477  	type NoMethod GoogleAdsSearchads360V0Common__TextLabel
  2478  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2479  }
  2480  
  2481  // GoogleAdsSearchads360V0Common__UnifiedCallAsset: A unified call asset.
  2482  type GoogleAdsSearchads360V0Common__UnifiedCallAsset struct {
  2483  	// AdScheduleTargets: List of non-overlapping schedules specifying all time
  2484  	// intervals for which the asset may serve. There can be a maximum of 6
  2485  	// schedules per day, 42 in total.
  2486  	AdScheduleTargets []*GoogleAdsSearchads360V0Common__AdScheduleInfo `json:"adScheduleTargets,omitempty"`
  2487  	// CallConversionAction: The conversion action to attribute a call conversion
  2488  	// to. If not set, the default conversion action is used. This field only has
  2489  	// effect if call_conversion_reporting_state is set to
  2490  	// USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
  2491  	CallConversionAction string `json:"callConversionAction,omitempty"`
  2492  	// CallConversionReportingState: Output only. Indicates whether this CallAsset
  2493  	// should use its own call conversion setting, follow the account level
  2494  	// setting, or disable call conversion.
  2495  	//
  2496  	// Possible values:
  2497  	//   "UNSPECIFIED" - Not specified.
  2498  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  2499  	// version.
  2500  	//   "DISABLED" - Call conversion action is disabled.
  2501  	//   "USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION" - Call conversion action will
  2502  	// use call conversion type set at the account level.
  2503  	//   "USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION" - Call conversion action will
  2504  	// use call conversion type set at the resource (call only ads/call extensions)
  2505  	// level.
  2506  	CallConversionReportingState string `json:"callConversionReportingState,omitempty"`
  2507  	// CallOnly: Whether the call only shows the phone number without a link to the
  2508  	// website. Applies to Microsoft Ads.
  2509  	CallOnly bool `json:"callOnly,omitempty"`
  2510  	// CallTrackingEnabled: Whether the call should be enabled on call tracking.
  2511  	// Applies to Microsoft Ads.
  2512  	CallTrackingEnabled bool `json:"callTrackingEnabled,omitempty"`
  2513  	// CountryCode: Two-letter country code of the phone number. Examples: 'US',
  2514  	// 'us'.
  2515  	CountryCode string `json:"countryCode,omitempty"`
  2516  	// EndDate: Last date of when this asset is effective and still serving, in
  2517  	// yyyy-MM-dd format.
  2518  	EndDate string `json:"endDate,omitempty"`
  2519  	// PhoneNumber: The advertiser's raw phone number. Examples: '1234567890',
  2520  	// '(123)456-7890'
  2521  	PhoneNumber string `json:"phoneNumber,omitempty"`
  2522  	// StartDate: Start date of when this asset is effective and can begin serving,
  2523  	// in yyyy-MM-dd format.
  2524  	StartDate string `json:"startDate,omitempty"`
  2525  	// UseSearcherTimeZone: Whether to show the call extension in search user's
  2526  	// time zone. Applies to Microsoft Ads.
  2527  	UseSearcherTimeZone bool `json:"useSearcherTimeZone,omitempty"`
  2528  	// ForceSendFields is a list of field names (e.g. "AdScheduleTargets") to
  2529  	// unconditionally include in API requests. By default, fields with empty or
  2530  	// default values are omitted from API requests. See
  2531  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2532  	// details.
  2533  	ForceSendFields []string `json:"-"`
  2534  	// NullFields is a list of field names (e.g. "AdScheduleTargets") to include in
  2535  	// API requests with the JSON null value. By default, fields with empty values
  2536  	// are omitted from API requests. See
  2537  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2538  	NullFields []string `json:"-"`
  2539  }
  2540  
  2541  func (s *GoogleAdsSearchads360V0Common__UnifiedCallAsset) MarshalJSON() ([]byte, error) {
  2542  	type NoMethod GoogleAdsSearchads360V0Common__UnifiedCallAsset
  2543  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2544  }
  2545  
  2546  // GoogleAdsSearchads360V0Common__UnifiedCalloutAsset: A unified callout asset.
  2547  type GoogleAdsSearchads360V0Common__UnifiedCalloutAsset struct {
  2548  	// AdScheduleTargets: List of non-overlapping schedules specifying all time
  2549  	// intervals for which the asset may serve. There can be a maximum of 6
  2550  	// schedules per day, 42 in total.
  2551  	AdScheduleTargets []*GoogleAdsSearchads360V0Common__AdScheduleInfo `json:"adScheduleTargets,omitempty"`
  2552  	// CalloutText: The callout text. The length of this string should be between 1
  2553  	// and 25, inclusive.
  2554  	CalloutText string `json:"calloutText,omitempty"`
  2555  	// EndDate: Last date of when this asset is effective and still serving, in
  2556  	// yyyy-MM-dd format.
  2557  	EndDate string `json:"endDate,omitempty"`
  2558  	// StartDate: Start date of when this asset is effective and can begin serving,
  2559  	// in yyyy-MM-dd format.
  2560  	StartDate string `json:"startDate,omitempty"`
  2561  	// UseSearcherTimeZone: Whether to show the asset in search user's time zone.
  2562  	// Applies to Microsoft Ads.
  2563  	UseSearcherTimeZone bool `json:"useSearcherTimeZone,omitempty"`
  2564  	// ForceSendFields is a list of field names (e.g. "AdScheduleTargets") to
  2565  	// unconditionally include in API requests. By default, fields with empty or
  2566  	// default values are omitted from API requests. See
  2567  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2568  	// details.
  2569  	ForceSendFields []string `json:"-"`
  2570  	// NullFields is a list of field names (e.g. "AdScheduleTargets") to include in
  2571  	// API requests with the JSON null value. By default, fields with empty values
  2572  	// are omitted from API requests. See
  2573  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2574  	NullFields []string `json:"-"`
  2575  }
  2576  
  2577  func (s *GoogleAdsSearchads360V0Common__UnifiedCalloutAsset) MarshalJSON() ([]byte, error) {
  2578  	type NoMethod GoogleAdsSearchads360V0Common__UnifiedCalloutAsset
  2579  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2580  }
  2581  
  2582  // GoogleAdsSearchads360V0Common__UnifiedLocationAsset: A unified location
  2583  // asset.
  2584  type GoogleAdsSearchads360V0Common__UnifiedLocationAsset struct {
  2585  	// BusinessProfileLocations: The list of business locations for the customer.
  2586  	// This will only be returned if the Location Asset is syncing from the
  2587  	// Business Profile account. It is possible to have multiple Business Profile
  2588  	// listings under the same account that point to the same Place ID.
  2589  	BusinessProfileLocations []*GoogleAdsSearchads360V0Common__BusinessProfileLocation `json:"businessProfileLocations,omitempty"`
  2590  	// LocationOwnershipType: The type of location ownership. If the type is
  2591  	// BUSINESS_OWNER, it will be served as a location extension. If the type is
  2592  	// AFFILIATE, it will be served as an affiliate location.
  2593  	//
  2594  	// Possible values:
  2595  	//   "UNSPECIFIED" - Not specified.
  2596  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  2597  	// version.
  2598  	//   "BUSINESS_OWNER" - Business Owner of location(legacy location extension -
  2599  	// LE).
  2600  	//   "AFFILIATE" - Affiliate location(Third party location extension - ALE).
  2601  	LocationOwnershipType string `json:"locationOwnershipType,omitempty"`
  2602  	// PlaceId: Place IDs uniquely identify a place in the Google Places database
  2603  	// and on Google Maps. This field is unique for a given customer ID and asset
  2604  	// type. See https://developers.google.com/places/web-service/place-id to learn
  2605  	// more about Place ID.
  2606  	PlaceId string `json:"placeId,omitempty"`
  2607  	// ForceSendFields is a list of field names (e.g. "BusinessProfileLocations")
  2608  	// to unconditionally include in API requests. By default, fields with empty or
  2609  	// default values are omitted from API requests. See
  2610  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2611  	// details.
  2612  	ForceSendFields []string `json:"-"`
  2613  	// NullFields is a list of field names (e.g. "BusinessProfileLocations") to
  2614  	// include in API requests with the JSON null value. By default, fields with
  2615  	// empty values are omitted from API requests. See
  2616  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2617  	NullFields []string `json:"-"`
  2618  }
  2619  
  2620  func (s *GoogleAdsSearchads360V0Common__UnifiedLocationAsset) MarshalJSON() ([]byte, error) {
  2621  	type NoMethod GoogleAdsSearchads360V0Common__UnifiedLocationAsset
  2622  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2623  }
  2624  
  2625  // GoogleAdsSearchads360V0Common__UnifiedPageFeedAsset: A Unified Page Feed
  2626  // asset.
  2627  type GoogleAdsSearchads360V0Common__UnifiedPageFeedAsset struct {
  2628  	// Labels: Labels used to group the page urls.
  2629  	Labels []string `json:"labels,omitempty"`
  2630  	// PageUrl: The webpage that advertisers want to target.
  2631  	PageUrl string `json:"pageUrl,omitempty"`
  2632  	// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
  2633  	// include in API requests. By default, fields with empty or default values are
  2634  	// omitted from API requests. See
  2635  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2636  	// details.
  2637  	ForceSendFields []string `json:"-"`
  2638  	// NullFields is a list of field names (e.g. "Labels") to include in API
  2639  	// requests with the JSON null value. By default, fields with empty values are
  2640  	// omitted from API requests. See
  2641  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2642  	NullFields []string `json:"-"`
  2643  }
  2644  
  2645  func (s *GoogleAdsSearchads360V0Common__UnifiedPageFeedAsset) MarshalJSON() ([]byte, error) {
  2646  	type NoMethod GoogleAdsSearchads360V0Common__UnifiedPageFeedAsset
  2647  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2648  }
  2649  
  2650  // GoogleAdsSearchads360V0Common__UnifiedSitelinkAsset: A unified sitelink
  2651  // asset.
  2652  type GoogleAdsSearchads360V0Common__UnifiedSitelinkAsset struct {
  2653  	// AdScheduleTargets: List of non-overlapping schedules specifying all time
  2654  	// intervals for which the asset may serve. There can be a maximum of 6
  2655  	// schedules per day, 42 in total.
  2656  	AdScheduleTargets []*GoogleAdsSearchads360V0Common__AdScheduleInfo `json:"adScheduleTargets,omitempty"`
  2657  	// Description1: First line of the description for the sitelink. If set, the
  2658  	// length should be between 1 and 35, inclusive, and description2 must also be
  2659  	// set.
  2660  	Description1 string `json:"description1,omitempty"`
  2661  	// Description2: Second line of the description for the sitelink. If set, the
  2662  	// length should be between 1 and 35, inclusive, and description1 must also be
  2663  	// set.
  2664  	Description2 string `json:"description2,omitempty"`
  2665  	// EndDate: Last date of when this asset is effective and still serving, in
  2666  	// yyyy-MM-dd format.
  2667  	EndDate string `json:"endDate,omitempty"`
  2668  	// LinkText: URL display text for the sitelink. The length of this string
  2669  	// should be between 1 and 25, inclusive.
  2670  	LinkText string `json:"linkText,omitempty"`
  2671  	// MobilePreferred: Whether the preference is for the sitelink asset to be
  2672  	// displayed on mobile devices. Applies to Microsoft Ads.
  2673  	MobilePreferred bool `json:"mobilePreferred,omitempty"`
  2674  	// StartDate: Start date of when this asset is effective and can begin serving,
  2675  	// in yyyy-MM-dd format.
  2676  	StartDate string `json:"startDate,omitempty"`
  2677  	// TrackingId: ID used for tracking clicks for the sitelink asset. This is a
  2678  	// Yahoo! Japan only field.
  2679  	TrackingId int64 `json:"trackingId,omitempty,string"`
  2680  	// UseSearcherTimeZone: Whether to show the sitelink asset in search user's
  2681  	// time zone. Applies to Microsoft Ads.
  2682  	UseSearcherTimeZone bool `json:"useSearcherTimeZone,omitempty"`
  2683  	// ForceSendFields is a list of field names (e.g. "AdScheduleTargets") to
  2684  	// unconditionally include in API requests. By default, fields with empty or
  2685  	// default values are omitted from API requests. See
  2686  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2687  	// details.
  2688  	ForceSendFields []string `json:"-"`
  2689  	// NullFields is a list of field names (e.g. "AdScheduleTargets") to include in
  2690  	// API requests with the JSON null value. By default, fields with empty values
  2691  	// are omitted from API requests. See
  2692  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2693  	NullFields []string `json:"-"`
  2694  }
  2695  
  2696  func (s *GoogleAdsSearchads360V0Common__UnifiedSitelinkAsset) MarshalJSON() ([]byte, error) {
  2697  	type NoMethod GoogleAdsSearchads360V0Common__UnifiedSitelinkAsset
  2698  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2699  }
  2700  
  2701  // GoogleAdsSearchads360V0Common__UserListInfo: A User List criterion.
  2702  // Represents a user list that is defined by the advertiser to be targeted.
  2703  type GoogleAdsSearchads360V0Common__UserListInfo struct {
  2704  	// UserList: The User List resource name.
  2705  	UserList string `json:"userList,omitempty"`
  2706  	// ForceSendFields is a list of field names (e.g. "UserList") to
  2707  	// unconditionally include in API requests. By default, fields with empty or
  2708  	// default values are omitted from API requests. See
  2709  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2710  	// details.
  2711  	ForceSendFields []string `json:"-"`
  2712  	// NullFields is a list of field names (e.g. "UserList") to include in API
  2713  	// requests with the JSON null value. By default, fields with empty values are
  2714  	// omitted from API requests. See
  2715  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2716  	NullFields []string `json:"-"`
  2717  }
  2718  
  2719  func (s *GoogleAdsSearchads360V0Common__UserListInfo) MarshalJSON() ([]byte, error) {
  2720  	type NoMethod GoogleAdsSearchads360V0Common__UserListInfo
  2721  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2722  }
  2723  
  2724  // GoogleAdsSearchads360V0Common__Value: A generic data container.
  2725  type GoogleAdsSearchads360V0Common__Value struct {
  2726  	// BooleanValue: A boolean.
  2727  	BooleanValue bool `json:"booleanValue,omitempty"`
  2728  	// DoubleValue: A double.
  2729  	DoubleValue float64 `json:"doubleValue,omitempty"`
  2730  	// FloatValue: A float.
  2731  	FloatValue float64 `json:"floatValue,omitempty"`
  2732  	// Int64Value: An int64.
  2733  	Int64Value int64 `json:"int64Value,omitempty,string"`
  2734  	// StringValue: A string.
  2735  	StringValue string `json:"stringValue,omitempty"`
  2736  	// ForceSendFields is a list of field names (e.g. "BooleanValue") to
  2737  	// unconditionally include in API requests. By default, fields with empty or
  2738  	// default values are omitted from API requests. See
  2739  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2740  	// details.
  2741  	ForceSendFields []string `json:"-"`
  2742  	// NullFields is a list of field names (e.g. "BooleanValue") to include in API
  2743  	// requests with the JSON null value. By default, fields with empty values are
  2744  	// omitted from API requests. See
  2745  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2746  	NullFields []string `json:"-"`
  2747  }
  2748  
  2749  func (s *GoogleAdsSearchads360V0Common__Value) MarshalJSON() ([]byte, error) {
  2750  	type NoMethod GoogleAdsSearchads360V0Common__Value
  2751  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2752  }
  2753  
  2754  func (s *GoogleAdsSearchads360V0Common__Value) UnmarshalJSON(data []byte) error {
  2755  	type NoMethod GoogleAdsSearchads360V0Common__Value
  2756  	var s1 struct {
  2757  		DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
  2758  		FloatValue  gensupport.JSONFloat64 `json:"floatValue"`
  2759  		*NoMethod
  2760  	}
  2761  	s1.NoMethod = (*NoMethod)(s)
  2762  	if err := json.Unmarshal(data, &s1); err != nil {
  2763  		return err
  2764  	}
  2765  	s.DoubleValue = float64(s1.DoubleValue)
  2766  	s.FloatValue = float64(s1.FloatValue)
  2767  	return nil
  2768  }
  2769  
  2770  // GoogleAdsSearchads360V0Common__WebpageConditionInfo: Logical expression for
  2771  // targeting webpages of an advertiser's website.
  2772  type GoogleAdsSearchads360V0Common__WebpageConditionInfo struct {
  2773  	// Argument: Argument of webpage targeting condition.
  2774  	Argument string `json:"argument,omitempty"`
  2775  	// Operand: Operand of webpage targeting condition.
  2776  	//
  2777  	// Possible values:
  2778  	//   "UNSPECIFIED" - Not specified.
  2779  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  2780  	// version.
  2781  	//   "URL" - Operand denoting a webpage URL targeting condition.
  2782  	//   "CATEGORY" - Operand denoting a webpage category targeting condition.
  2783  	//   "PAGE_TITLE" - Operand denoting a webpage title targeting condition.
  2784  	//   "PAGE_CONTENT" - Operand denoting a webpage content targeting condition.
  2785  	//   "CUSTOM_LABEL" - Operand denoting a webpage custom label targeting
  2786  	// condition.
  2787  	Operand string `json:"operand,omitempty"`
  2788  	// Operator: Operator of webpage targeting condition.
  2789  	//
  2790  	// Possible values:
  2791  	//   "UNSPECIFIED" - Not specified.
  2792  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  2793  	// version.
  2794  	//   "EQUALS" - The argument web condition is equal to the compared web
  2795  	// condition.
  2796  	//   "CONTAINS" - The argument web condition is part of the compared web
  2797  	// condition.
  2798  	Operator string `json:"operator,omitempty"`
  2799  	// ForceSendFields is a list of field names (e.g. "Argument") to
  2800  	// unconditionally include in API requests. By default, fields with empty or
  2801  	// default values are omitted from API requests. See
  2802  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2803  	// details.
  2804  	ForceSendFields []string `json:"-"`
  2805  	// NullFields is a list of field names (e.g. "Argument") to include in API
  2806  	// requests with the JSON null value. By default, fields with empty values are
  2807  	// omitted from API requests. See
  2808  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2809  	NullFields []string `json:"-"`
  2810  }
  2811  
  2812  func (s *GoogleAdsSearchads360V0Common__WebpageConditionInfo) MarshalJSON() ([]byte, error) {
  2813  	type NoMethod GoogleAdsSearchads360V0Common__WebpageConditionInfo
  2814  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2815  }
  2816  
  2817  // GoogleAdsSearchads360V0Common__WebpageInfo: Represents a criterion for
  2818  // targeting webpages of an advertiser's website.
  2819  type GoogleAdsSearchads360V0Common__WebpageInfo struct {
  2820  	// Conditions: Conditions, or logical expressions, for webpage targeting. The
  2821  	// list of webpage targeting conditions are and-ed together when evaluated for
  2822  	// targeting. An empty list of conditions indicates all pages of the campaign's
  2823  	// website are targeted. This field is required for CREATE operations and is
  2824  	// prohibited on UPDATE operations.
  2825  	Conditions []*GoogleAdsSearchads360V0Common__WebpageConditionInfo `json:"conditions,omitempty"`
  2826  	// CoveragePercentage: Website criteria coverage percentage. This is the
  2827  	// computed percentage of website coverage based on the website target,
  2828  	// negative website target and negative keywords in the ad group and campaign.
  2829  	// For instance, when coverage returns as 1, it indicates it has 100% coverage.
  2830  	// This field is read-only.
  2831  	CoveragePercentage float64 `json:"coveragePercentage,omitempty"`
  2832  	// CriterionName: The name of the criterion that is defined by this parameter.
  2833  	// The name value will be used for identifying, sorting and filtering criteria
  2834  	// with this type of parameters. This field is required for CREATE operations
  2835  	// and is prohibited on UPDATE operations.
  2836  	CriterionName string `json:"criterionName,omitempty"`
  2837  	// ForceSendFields is a list of field names (e.g. "Conditions") to
  2838  	// unconditionally include in API requests. By default, fields with empty or
  2839  	// default values are omitted from API requests. See
  2840  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2841  	// details.
  2842  	ForceSendFields []string `json:"-"`
  2843  	// NullFields is a list of field names (e.g. "Conditions") to include in API
  2844  	// requests with the JSON null value. By default, fields with empty values are
  2845  	// omitted from API requests. See
  2846  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2847  	NullFields []string `json:"-"`
  2848  }
  2849  
  2850  func (s *GoogleAdsSearchads360V0Common__WebpageInfo) MarshalJSON() ([]byte, error) {
  2851  	type NoMethod GoogleAdsSearchads360V0Common__WebpageInfo
  2852  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2853  }
  2854  
  2855  func (s *GoogleAdsSearchads360V0Common__WebpageInfo) UnmarshalJSON(data []byte) error {
  2856  	type NoMethod GoogleAdsSearchads360V0Common__WebpageInfo
  2857  	var s1 struct {
  2858  		CoveragePercentage gensupport.JSONFloat64 `json:"coveragePercentage"`
  2859  		*NoMethod
  2860  	}
  2861  	s1.NoMethod = (*NoMethod)(s)
  2862  	if err := json.Unmarshal(data, &s1); err != nil {
  2863  		return err
  2864  	}
  2865  	s.CoveragePercentage = float64(s1.CoveragePercentage)
  2866  	return nil
  2867  }
  2868  
  2869  // GoogleAdsSearchads360V0Common__YoutubeVideoAsset: A YouTube asset.
  2870  type GoogleAdsSearchads360V0Common__YoutubeVideoAsset struct {
  2871  	// YoutubeVideoId: YouTube video id. This is the 11 character string value used
  2872  	// in the YouTube video URL.
  2873  	YoutubeVideoId string `json:"youtubeVideoId,omitempty"`
  2874  	// YoutubeVideoTitle: YouTube video title.
  2875  	YoutubeVideoTitle string `json:"youtubeVideoTitle,omitempty"`
  2876  	// ForceSendFields is a list of field names (e.g. "YoutubeVideoId") to
  2877  	// unconditionally include in API requests. By default, fields with empty or
  2878  	// default values are omitted from API requests. See
  2879  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2880  	// details.
  2881  	ForceSendFields []string `json:"-"`
  2882  	// NullFields is a list of field names (e.g. "YoutubeVideoId") to include in
  2883  	// API requests with the JSON null value. By default, fields with empty values
  2884  	// are omitted from API requests. See
  2885  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2886  	NullFields []string `json:"-"`
  2887  }
  2888  
  2889  func (s *GoogleAdsSearchads360V0Common__YoutubeVideoAsset) MarshalJSON() ([]byte, error) {
  2890  	type NoMethod GoogleAdsSearchads360V0Common__YoutubeVideoAsset
  2891  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2892  }
  2893  
  2894  // GoogleAdsSearchads360V0ErrorsErrorLocationFieldPathElement: A part of a
  2895  // field path.
  2896  type GoogleAdsSearchads360V0ErrorsErrorLocationFieldPathElement struct {
  2897  	// FieldName: The name of a field or a oneof
  2898  	FieldName string `json:"fieldName,omitempty"`
  2899  	// Index: If field_name is a repeated field, this is the element that failed
  2900  	Index int64 `json:"index,omitempty"`
  2901  	// ForceSendFields is a list of field names (e.g. "FieldName") to
  2902  	// unconditionally include in API requests. By default, fields with empty or
  2903  	// default values are omitted from API requests. See
  2904  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2905  	// details.
  2906  	ForceSendFields []string `json:"-"`
  2907  	// NullFields is a list of field names (e.g. "FieldName") to include in API
  2908  	// requests with the JSON null value. By default, fields with empty values are
  2909  	// omitted from API requests. See
  2910  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2911  	NullFields []string `json:"-"`
  2912  }
  2913  
  2914  func (s *GoogleAdsSearchads360V0ErrorsErrorLocationFieldPathElement) MarshalJSON() ([]byte, error) {
  2915  	type NoMethod GoogleAdsSearchads360V0ErrorsErrorLocationFieldPathElement
  2916  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2917  }
  2918  
  2919  // GoogleAdsSearchads360V0Errors__ErrorCode: The error reason represented by
  2920  // type and enum.
  2921  type GoogleAdsSearchads360V0Errors__ErrorCode struct {
  2922  	// AuthenticationError: Indicates failure to properly authenticate user.
  2923  	//
  2924  	// Possible values:
  2925  	//   "UNSPECIFIED" - Enum unspecified.
  2926  	//   "UNKNOWN" - The received error code is not known in this version.
  2927  	//   "AUTHENTICATION_ERROR" - Authentication of the request failed.
  2928  	//   "CLIENT_CUSTOMER_ID_INVALID" - Client customer ID is not a number.
  2929  	//   "CUSTOMER_NOT_FOUND" - No customer found for the provided customer ID.
  2930  	//   "GOOGLE_ACCOUNT_DELETED" - Client's Google account is deleted.
  2931  	//   "GOOGLE_ACCOUNT_COOKIE_INVALID" - Account login token in the cookie is
  2932  	// invalid.
  2933  	//   "GOOGLE_ACCOUNT_AUTHENTICATION_FAILED" - A problem occurred during Google
  2934  	// account authentication.
  2935  	//   "GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH" - The user in the Google
  2936  	// account login token does not match the user ID in the cookie.
  2937  	//   "LOGIN_COOKIE_REQUIRED" - Login cookie is required for authentication.
  2938  	//   "NOT_ADS_USER" - The Google account that generated the OAuth access token
  2939  	// is not associated with a Search Ads 360 account. Create a new account, or
  2940  	// add the Google account to an existing Search Ads 360 account.
  2941  	//   "OAUTH_TOKEN_INVALID" - OAuth token in the header is not valid.
  2942  	//   "OAUTH_TOKEN_EXPIRED" - OAuth token in the header has expired.
  2943  	//   "OAUTH_TOKEN_DISABLED" - OAuth token in the header has been disabled.
  2944  	//   "OAUTH_TOKEN_REVOKED" - OAuth token in the header has been revoked.
  2945  	//   "OAUTH_TOKEN_HEADER_INVALID" - OAuth token HTTP header is malformed.
  2946  	//   "LOGIN_COOKIE_INVALID" - Login cookie is not valid.
  2947  	//   "USER_ID_INVALID" - User ID in the header is not a valid ID.
  2948  	//   "TWO_STEP_VERIFICATION_NOT_ENROLLED" - An account administrator changed
  2949  	// this account's authentication settings. To access this account, enable
  2950  	// 2-Step Verification in your Google account at
  2951  	// https://www.google.com/landing/2step.
  2952  	//   "ADVANCED_PROTECTION_NOT_ENROLLED" - An account administrator changed this
  2953  	// account's authentication settings. To access this account, enable Advanced
  2954  	// Protection in your Google account at
  2955  	// https://landing.google.com/advancedprotection.
  2956  	AuthenticationError string `json:"authenticationError,omitempty"`
  2957  	// AuthorizationError: An error encountered when trying to authorize a user.
  2958  	//
  2959  	// Possible values:
  2960  	//   "UNSPECIFIED" - Enum unspecified.
  2961  	//   "UNKNOWN" - The received error code is not known in this version.
  2962  	//   "USER_PERMISSION_DENIED" - User doesn't have permission to access
  2963  	// customer. Note: If you're accessing a client customer, the manager's
  2964  	// customer ID must be set in the `login-customer-id` header. Learn more at
  2965  	// https://developers.google.com/search-ads/reporting/concepts/call-structure#login_customer_id_header
  2966  	//   "PROJECT_DISABLED" - The Google Cloud project sent in the request does not
  2967  	// have permission to access the api.
  2968  	//   "AUTHORIZATION_ERROR" - Authorization of the client failed.
  2969  	//   "ACTION_NOT_PERMITTED" - The user does not have permission to perform this
  2970  	// action (for example, ADD, UPDATE, REMOVE) on the resource or call a method.
  2971  	//   "INCOMPLETE_SIGNUP" - Signup not complete.
  2972  	//   "CUSTOMER_NOT_ENABLED" - The customer account can't be accessed because it
  2973  	// is not yet enabled or has been deactivated.
  2974  	//   "MISSING_TOS" - The developer must sign the terms of service. They can be
  2975  	// found here: https://developers.google.com/terms
  2976  	//   "INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION" - The login
  2977  	// customer specified does not have access to the account specified, so the
  2978  	// request is invalid.
  2979  	//   "SERVICE_ACCESS_DENIED" - The developer specified does not have access to
  2980  	// the service.
  2981  	//   "ACCESS_DENIED_FOR_ACCOUNT_TYPE" - The customer (or login customer) isn't
  2982  	// allowed in Search Ads 360 API. It belongs to another ads system.
  2983  	//   "METRIC_ACCESS_DENIED" - The developer does not have access to the metrics
  2984  	// queried.
  2985  	AuthorizationError string `json:"authorizationError,omitempty"`
  2986  	// CustomColumnError: The reasons for the custom column error
  2987  	//
  2988  	// Possible values:
  2989  	//   "UNSPECIFIED" - Enum unspecified.
  2990  	//   "UNKNOWN" - The received error code is not known in this version.
  2991  	//   "CUSTOM_COLUMN_NOT_FOUND" - The custom column has not been found.
  2992  	//   "CUSTOM_COLUMN_NOT_AVAILABLE" - The custom column is not available.
  2993  	CustomColumnError string `json:"customColumnError,omitempty"`
  2994  	// DateError: The reasons for the date error
  2995  	//
  2996  	// Possible values:
  2997  	//   "UNSPECIFIED" - Enum unspecified.
  2998  	//   "UNKNOWN" - The received error code is not known in this version.
  2999  	//   "INVALID_FIELD_VALUES_IN_DATE" - Given field values do not correspond to a
  3000  	// valid date.
  3001  	//   "INVALID_FIELD_VALUES_IN_DATE_TIME" - Given field values do not correspond
  3002  	// to a valid date time.
  3003  	//   "INVALID_STRING_DATE" - The string date's format should be yyyy-mm-dd.
  3004  	//   "INVALID_STRING_DATE_TIME_MICROS" - The string date time's format should
  3005  	// be yyyy-mm-dd hh:mm:ss.ssssss.
  3006  	//   "INVALID_STRING_DATE_TIME_SECONDS" - The string date time's format should
  3007  	// be yyyy-mm-dd hh:mm:ss.
  3008  	//   "INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET" - The string date time's
  3009  	// format should be yyyy-mm-dd hh:mm:ss+|-hh:mm.
  3010  	//   "EARLIER_THAN_MINIMUM_DATE" - Date is before allowed minimum.
  3011  	//   "LATER_THAN_MAXIMUM_DATE" - Date is after allowed maximum.
  3012  	//   "DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE" - Date range bounds are
  3013  	// not in order.
  3014  	//   "DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL" - Both dates in range are
  3015  	// null.
  3016  	DateError string `json:"dateError,omitempty"`
  3017  	// DateRangeError: The reasons for the date range error
  3018  	//
  3019  	// Possible values:
  3020  	//   "UNSPECIFIED" - Enum unspecified.
  3021  	//   "UNKNOWN" - The received error code is not known in this version.
  3022  	//   "INVALID_DATE" - Invalid date.
  3023  	//   "START_DATE_AFTER_END_DATE" - The start date was after the end date.
  3024  	//   "CANNOT_SET_DATE_TO_PAST" - Cannot set date to past time
  3025  	//   "AFTER_MAXIMUM_ALLOWABLE_DATE" - A date was used that is past the system
  3026  	// "last" date.
  3027  	//   "CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED" - Trying to change start
  3028  	// date on a resource that has started.
  3029  	DateRangeError string `json:"dateRangeError,omitempty"`
  3030  	// DistinctError: The reasons for the distinct error
  3031  	//
  3032  	// Possible values:
  3033  	//   "UNSPECIFIED" - Enum unspecified.
  3034  	//   "UNKNOWN" - The received error code is not known in this version.
  3035  	//   "DUPLICATE_ELEMENT" - Duplicate element.
  3036  	//   "DUPLICATE_TYPE" - Duplicate type.
  3037  	DistinctError string `json:"distinctError,omitempty"`
  3038  	// HeaderError: The reasons for the header error.
  3039  	//
  3040  	// Possible values:
  3041  	//   "UNSPECIFIED" - Enum unspecified.
  3042  	//   "UNKNOWN" - The received error code is not known in this version.
  3043  	//   "INVALID_USER_SELECTED_CUSTOMER_ID" - The user selected customer ID could
  3044  	// not be validated.
  3045  	//   "INVALID_LOGIN_CUSTOMER_ID" - The login customer ID could not be
  3046  	// validated.
  3047  	HeaderError string `json:"headerError,omitempty"`
  3048  	// InternalError: An unexpected server-side error.
  3049  	//
  3050  	// Possible values:
  3051  	//   "UNSPECIFIED" - Enum unspecified.
  3052  	//   "UNKNOWN" - The received error code is not known in this version.
  3053  	//   "INTERNAL_ERROR" - API encountered unexpected internal error.
  3054  	//   "ERROR_CODE_NOT_PUBLISHED" - The intended error code doesn't exist in
  3055  	// specified API version. It will be released in a future API version.
  3056  	//   "TRANSIENT_ERROR" - API encountered an unexpected transient error. The
  3057  	// user should retry their request in these cases.
  3058  	//   "DEADLINE_EXCEEDED" - The request took longer than a deadline.
  3059  	InternalError string `json:"internalError,omitempty"`
  3060  	// InvalidParameterError: The reasons for invalid parameter errors.
  3061  	//
  3062  	// Possible values:
  3063  	//   "UNSPECIFIED" - Enum unspecified.
  3064  	//   "UNKNOWN" - The received error code is not known in this version.
  3065  	//   "INVALID_CURRENCY_CODE" - The specified currency code is invalid.
  3066  	InvalidParameterError string `json:"invalidParameterError,omitempty"`
  3067  	// QueryError: An error with the query
  3068  	//
  3069  	// Possible values:
  3070  	//   "UNSPECIFIED" - Name unspecified.
  3071  	//   "UNKNOWN" - The received error code is not known in this version.
  3072  	//   "QUERY_ERROR" - Returned if all other query error reasons are not
  3073  	// applicable.
  3074  	//   "BAD_ENUM_CONSTANT" - A condition used in the query references an invalid
  3075  	// enum constant.
  3076  	//   "BAD_ESCAPE_SEQUENCE" - Query contains an invalid escape sequence.
  3077  	//   "BAD_FIELD_NAME" - Field name is invalid.
  3078  	//   "BAD_LIMIT_VALUE" - Limit value is invalid (for example, not a number)
  3079  	//   "BAD_NUMBER" - Encountered number can not be parsed.
  3080  	//   "BAD_OPERATOR" - Invalid operator encountered.
  3081  	//   "BAD_PARAMETER_NAME" - Parameter unknown or not supported.
  3082  	//   "BAD_PARAMETER_VALUE" - Parameter have invalid value.
  3083  	//   "BAD_RESOURCE_TYPE_IN_FROM_CLAUSE" - Invalid resource type was specified
  3084  	// in the FROM clause.
  3085  	//   "BAD_SYMBOL" - Non-ASCII symbol encountered outside of strings.
  3086  	//   "BAD_VALUE" - Value is invalid.
  3087  	//   "DATE_RANGE_TOO_WIDE" - Date filters fail to restrict date to a range
  3088  	// smaller than 31 days. Applicable if the query is segmented by date.
  3089  	//   "DATE_RANGE_TOO_NARROW" - Filters on date/week/month/quarter have a start
  3090  	// date after end date.
  3091  	//   "EXPECTED_AND" - Expected AND between values with BETWEEN operator.
  3092  	//   "EXPECTED_BY" - Expecting ORDER BY to have BY.
  3093  	//   "EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE" - There was no dimension field
  3094  	// selected.
  3095  	//   "EXPECTED_FILTERS_ON_DATE_RANGE" - Missing filters on date related fields.
  3096  	//   "EXPECTED_FROM" - Missing FROM clause.
  3097  	//   "EXPECTED_LIST" - The operator used in the conditions requires the value
  3098  	// to be a list.
  3099  	//   "EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE" - Fields used in WHERE or
  3100  	// ORDER BY clauses are missing from the SELECT clause.
  3101  	//   "EXPECTED_SELECT" - SELECT is missing at the beginning of query.
  3102  	//   "EXPECTED_SINGLE_VALUE" - A list was passed as a value to a condition
  3103  	// whose operator expects a single value.
  3104  	//   "EXPECTED_VALUE_WITH_BETWEEN_OPERATOR" - Missing one or both values with
  3105  	// BETWEEN operator.
  3106  	//   "INVALID_DATE_FORMAT" - Invalid date format. Expected 'YYYY-MM-DD'.
  3107  	//   "MISALIGNED_DATE_FOR_FILTER" - Misaligned date value for the filter. The
  3108  	// date should be the start of a week/month/quarter if the filtered field is
  3109  	// segments.week/segments.month/segments.quarter.
  3110  	//   "INVALID_STRING_VALUE" - Value passed was not a string when it should have
  3111  	// been. For example, it was a number or unquoted literal.
  3112  	//   "INVALID_VALUE_WITH_BETWEEN_OPERATOR" - A String value passed to the
  3113  	// BETWEEN operator does not parse as a date.
  3114  	//   "INVALID_VALUE_WITH_DURING_OPERATOR" - The value passed to the DURING
  3115  	// operator is not a Date range literal
  3116  	//   "INVALID_VALUE_WITH_LIKE_OPERATOR" - A value was passed to the LIKE
  3117  	// operator.
  3118  	//   "OPERATOR_FIELD_MISMATCH" - An operator was provided that is inapplicable
  3119  	// to the field being filtered.
  3120  	//   "PROHIBITED_EMPTY_LIST_IN_CONDITION" - A Condition was found with an empty
  3121  	// list.
  3122  	//   "PROHIBITED_ENUM_CONSTANT" - A condition used in the query references an
  3123  	// unsupported enum constant.
  3124  	//   "PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE" - Fields that are not
  3125  	// allowed to be selected together were included in the SELECT clause.
  3126  	//   "PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE" - A field that is not orderable was
  3127  	// included in the ORDER BY clause.
  3128  	//   "PROHIBITED_FIELD_IN_SELECT_CLAUSE" - A field that is not selectable was
  3129  	// included in the SELECT clause.
  3130  	//   "PROHIBITED_FIELD_IN_WHERE_CLAUSE" - A field that is not filterable was
  3131  	// included in the WHERE clause.
  3132  	//   "PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE" - Resource type specified in the
  3133  	// FROM clause is not supported by this service.
  3134  	//   "PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE" - A field that comes from an
  3135  	// incompatible resource was included in the SELECT clause.
  3136  	//   "PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE" - A field that comes from an
  3137  	// incompatible resource was included in the WHERE clause.
  3138  	//   "PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE" - A metric incompatible with
  3139  	// the main resource or other selected segmenting resources was included in the
  3140  	// SELECT or WHERE clause.
  3141  	//   "PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE" - A segment incompatible
  3142  	// with the main resource or other selected segmenting resources was included
  3143  	// in the SELECT or WHERE clause.
  3144  	//   "PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE" - A segment in
  3145  	// the SELECT clause is incompatible with a metric in the SELECT or WHERE
  3146  	// clause.
  3147  	//   "LIMIT_VALUE_TOO_LOW" - The value passed to the limit clause is too low.
  3148  	//   "PROHIBITED_NEWLINE_IN_STRING" - Query has a string containing a newline
  3149  	// character.
  3150  	//   "PROHIBITED_VALUE_COMBINATION_IN_LIST" - List contains values of different
  3151  	// types.
  3152  	//   "PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR" - The values passed
  3153  	// to the BETWEEN operator are not of the same type.
  3154  	//   "STRING_NOT_TERMINATED" - Query contains unterminated string.
  3155  	//   "TOO_MANY_SEGMENTS" - Too many segments are specified in SELECT clause.
  3156  	//   "UNEXPECTED_END_OF_QUERY" - Query is incomplete and cannot be parsed.
  3157  	//   "UNEXPECTED_FROM_CLAUSE" - FROM clause cannot be specified in this query.
  3158  	//   "UNRECOGNIZED_FIELD" - Query contains one or more unrecognized fields.
  3159  	//   "UNEXPECTED_INPUT" - Query has an unexpected extra part.
  3160  	//   "REQUESTED_METRICS_FOR_MANAGER" - Metrics cannot be requested for a
  3161  	// manager account. To retrieve metrics, issue separate requests against each
  3162  	// client account under the manager account.
  3163  	//   "FILTER_HAS_TOO_MANY_VALUES" - The number of values (right-hand-side
  3164  	// operands) in a filter exceeds the limit.
  3165  	QueryError string `json:"queryError,omitempty"`
  3166  	// QuotaError: An error with the amount of quota remaining.
  3167  	//
  3168  	// Possible values:
  3169  	//   "UNSPECIFIED" - Enum unspecified.
  3170  	//   "UNKNOWN" - The received error code is not known in this version.
  3171  	//   "RESOURCE_EXHAUSTED" - Too many requests.
  3172  	//   "RESOURCE_TEMPORARILY_EXHAUSTED" - Too many requests in a short amount of
  3173  	// time.
  3174  	QuotaError string `json:"quotaError,omitempty"`
  3175  	// RequestError: An error caused by the request
  3176  	//
  3177  	// Possible values:
  3178  	//   "UNSPECIFIED" - Enum unspecified.
  3179  	//   "UNKNOWN" - The received error code is not known in this version.
  3180  	//   "RESOURCE_NAME_MISSING" - Resource name is required for this request.
  3181  	//   "RESOURCE_NAME_MALFORMED" - Resource name provided is malformed.
  3182  	//   "BAD_RESOURCE_ID" - Resource name provided is malformed.
  3183  	//   "INVALID_PRODUCT_NAME" - Product name is invalid.
  3184  	//   "INVALID_CUSTOMER_ID" - Customer ID is invalid.
  3185  	//   "OPERATION_REQUIRED" - Mutate operation should have either create, update,
  3186  	// or remove specified.
  3187  	//   "RESOURCE_NOT_FOUND" - Requested resource not found.
  3188  	//   "INVALID_PAGE_TOKEN" - Next page token specified in user request is
  3189  	// invalid.
  3190  	//   "EXPIRED_PAGE_TOKEN" - Next page token specified in user request has
  3191  	// expired.
  3192  	//   "INVALID_PAGE_SIZE" - Page size specified in user request is invalid.
  3193  	//   "REQUIRED_FIELD_MISSING" - Required field is missing.
  3194  	//   "IMMUTABLE_FIELD" - The field cannot be modified because it's immutable.
  3195  	// It's also possible that the field can be modified using 'create' operation
  3196  	// but not 'update'.
  3197  	//   "TOO_MANY_MUTATE_OPERATIONS" - Received too many entries in request.
  3198  	//   "CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT" - Request cannot be executed by a
  3199  	// manager account.
  3200  	//   "CANNOT_MODIFY_FOREIGN_FIELD" - Mutate request was attempting to modify a
  3201  	// readonly field. For instance, Budget fields can be requested for Ad Group,
  3202  	// but are read-only for adGroups:mutate.
  3203  	//   "INVALID_ENUM_VALUE" - Enum value is not permitted.
  3204  	//   "LOGIN_CUSTOMER_ID_PARAMETER_MISSING" - The login-customer-id parameter is
  3205  	// required for this request.
  3206  	//   "LOGIN_OR_LINKED_CUSTOMER_ID_PARAMETER_REQUIRED" - Either
  3207  	// login-customer-id or linked-customer-id parameter is required for this
  3208  	// request.
  3209  	//   "VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN" - page_token is set in the validate
  3210  	// only request
  3211  	//   "CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS" -
  3212  	// return_summary_row cannot be enabled if request did not select any metrics
  3213  	// field.
  3214  	//   "CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS" -
  3215  	// return_summary_row should not be enabled for validate only requests.
  3216  	//   "INCONSISTENT_RETURN_SUMMARY_ROW_VALUE" - return_summary_row parameter
  3217  	// value should be the same between requests with page_token field set and
  3218  	// their original request.
  3219  	//   "TOTAL_RESULTS_COUNT_NOT_ORIGINALLY_REQUESTED" - The total results count
  3220  	// cannot be returned if it was not requested in the original request.
  3221  	//   "RPC_DEADLINE_TOO_SHORT" - Deadline specified by the client was too short.
  3222  	//   "PRODUCT_NOT_SUPPORTED" - The product associated with the request is not
  3223  	// supported for the current request.
  3224  	RequestError string `json:"requestError,omitempty"`
  3225  	// SizeLimitError: The reasons for the size limit error
  3226  	//
  3227  	// Possible values:
  3228  	//   "UNSPECIFIED" - Enum unspecified.
  3229  	//   "UNKNOWN" - The received error code is not known in this version.
  3230  	//   "REQUEST_SIZE_LIMIT_EXCEEDED" - The number of entries in the request
  3231  	// exceeds the system limit, or the contents of the operations exceed
  3232  	// transaction limits due to their size or complexity. Try reducing the number
  3233  	// of entries per request.
  3234  	//   "RESPONSE_SIZE_LIMIT_EXCEEDED" - The number of entries in the response
  3235  	// exceeds the system limit.
  3236  	SizeLimitError string `json:"sizeLimitError,omitempty"`
  3237  	// ForceSendFields is a list of field names (e.g. "AuthenticationError") to
  3238  	// unconditionally include in API requests. By default, fields with empty or
  3239  	// default values are omitted from API requests. See
  3240  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3241  	// details.
  3242  	ForceSendFields []string `json:"-"`
  3243  	// NullFields is a list of field names (e.g. "AuthenticationError") to include
  3244  	// in API requests with the JSON null value. By default, fields with empty
  3245  	// values are omitted from API requests. See
  3246  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3247  	NullFields []string `json:"-"`
  3248  }
  3249  
  3250  func (s *GoogleAdsSearchads360V0Errors__ErrorCode) MarshalJSON() ([]byte, error) {
  3251  	type NoMethod GoogleAdsSearchads360V0Errors__ErrorCode
  3252  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3253  }
  3254  
  3255  // GoogleAdsSearchads360V0Errors__ErrorDetails: Additional error details.
  3256  type GoogleAdsSearchads360V0Errors__ErrorDetails struct {
  3257  	// QuotaErrorDetails: Details on the quota error, including the scope (account
  3258  	// or developer), the rate bucket name and the retry delay.
  3259  	QuotaErrorDetails *GoogleAdsSearchads360V0Errors__QuotaErrorDetails `json:"quotaErrorDetails,omitempty"`
  3260  	// UnpublishedErrorCode: The error code that should have been returned, but
  3261  	// wasn't. This is used when the error code is not published in the client
  3262  	// specified version.
  3263  	UnpublishedErrorCode string `json:"unpublishedErrorCode,omitempty"`
  3264  	// ForceSendFields is a list of field names (e.g. "QuotaErrorDetails") to
  3265  	// unconditionally include in API requests. By default, fields with empty or
  3266  	// default values are omitted from API requests. See
  3267  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3268  	// details.
  3269  	ForceSendFields []string `json:"-"`
  3270  	// NullFields is a list of field names (e.g. "QuotaErrorDetails") to include in
  3271  	// API requests with the JSON null value. By default, fields with empty values
  3272  	// are omitted from API requests. See
  3273  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3274  	NullFields []string `json:"-"`
  3275  }
  3276  
  3277  func (s *GoogleAdsSearchads360V0Errors__ErrorDetails) MarshalJSON() ([]byte, error) {
  3278  	type NoMethod GoogleAdsSearchads360V0Errors__ErrorDetails
  3279  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3280  }
  3281  
  3282  // GoogleAdsSearchads360V0Errors__ErrorLocation: Describes the part of the
  3283  // request proto that caused the error.
  3284  type GoogleAdsSearchads360V0Errors__ErrorLocation struct {
  3285  	// FieldPathElements: A field path that indicates which field was invalid in
  3286  	// the request.
  3287  	FieldPathElements []*GoogleAdsSearchads360V0ErrorsErrorLocationFieldPathElement `json:"fieldPathElements,omitempty"`
  3288  	// ForceSendFields is a list of field names (e.g. "FieldPathElements") to
  3289  	// unconditionally include in API requests. By default, fields with empty or
  3290  	// default values are omitted from API requests. See
  3291  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3292  	// details.
  3293  	ForceSendFields []string `json:"-"`
  3294  	// NullFields is a list of field names (e.g. "FieldPathElements") to include in
  3295  	// API requests with the JSON null value. By default, fields with empty values
  3296  	// are omitted from API requests. See
  3297  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3298  	NullFields []string `json:"-"`
  3299  }
  3300  
  3301  func (s *GoogleAdsSearchads360V0Errors__ErrorLocation) MarshalJSON() ([]byte, error) {
  3302  	type NoMethod GoogleAdsSearchads360V0Errors__ErrorLocation
  3303  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3304  }
  3305  
  3306  // GoogleAdsSearchads360V0Errors__QuotaErrorDetails: Additional quota error
  3307  // details when there is QuotaError.
  3308  type GoogleAdsSearchads360V0Errors__QuotaErrorDetails struct {
  3309  	// RateName: The high level description of the quota bucket. Examples are "Get
  3310  	// requests for standard access" or "Requests per account".
  3311  	RateName string `json:"rateName,omitempty"`
  3312  	// RateScope: The rate scope of the quota limit.
  3313  	//
  3314  	// Possible values:
  3315  	//   "UNSPECIFIED" - Unspecified enum
  3316  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  3317  	// version.
  3318  	//   "ACCOUNT" - Per customer account quota
  3319  	//   "DEVELOPER" - Per project quota
  3320  	RateScope string `json:"rateScope,omitempty"`
  3321  	// RetryDelay: Backoff period that customers should wait before sending next
  3322  	// request.
  3323  	RetryDelay string `json:"retryDelay,omitempty"`
  3324  	// ForceSendFields is a list of field names (e.g. "RateName") to
  3325  	// unconditionally include in API requests. By default, fields with empty or
  3326  	// default values are omitted from API requests. See
  3327  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3328  	// details.
  3329  	ForceSendFields []string `json:"-"`
  3330  	// NullFields is a list of field names (e.g. "RateName") to include in API
  3331  	// requests with the JSON null value. By default, fields with empty values are
  3332  	// omitted from API requests. See
  3333  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3334  	NullFields []string `json:"-"`
  3335  }
  3336  
  3337  func (s *GoogleAdsSearchads360V0Errors__QuotaErrorDetails) MarshalJSON() ([]byte, error) {
  3338  	type NoMethod GoogleAdsSearchads360V0Errors__QuotaErrorDetails
  3339  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3340  }
  3341  
  3342  // GoogleAdsSearchads360V0Errors__SearchAds360Error: SearchAds360-specific
  3343  // error.
  3344  type GoogleAdsSearchads360V0Errors__SearchAds360Error struct {
  3345  	// Details: Additional error details, which are returned by certain error
  3346  	// codes. Most error codes do not include details.
  3347  	Details *GoogleAdsSearchads360V0Errors__ErrorDetails `json:"details,omitempty"`
  3348  	// ErrorCode: An enum value that indicates which error occurred.
  3349  	ErrorCode *GoogleAdsSearchads360V0Errors__ErrorCode `json:"errorCode,omitempty"`
  3350  	// Location: Describes the part of the request proto that caused the error.
  3351  	Location *GoogleAdsSearchads360V0Errors__ErrorLocation `json:"location,omitempty"`
  3352  	// Message: A human-readable description of the error.
  3353  	Message string `json:"message,omitempty"`
  3354  	// Trigger: The value that triggered the error.
  3355  	Trigger *GoogleAdsSearchads360V0Common__Value `json:"trigger,omitempty"`
  3356  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  3357  	// include in API requests. By default, fields with empty or default values are
  3358  	// omitted from API requests. See
  3359  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3360  	// details.
  3361  	ForceSendFields []string `json:"-"`
  3362  	// NullFields is a list of field names (e.g. "Details") to include in API
  3363  	// requests with the JSON null value. By default, fields with empty values are
  3364  	// omitted from API requests. See
  3365  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3366  	NullFields []string `json:"-"`
  3367  }
  3368  
  3369  func (s *GoogleAdsSearchads360V0Errors__SearchAds360Error) MarshalJSON() ([]byte, error) {
  3370  	type NoMethod GoogleAdsSearchads360V0Errors__SearchAds360Error
  3371  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3372  }
  3373  
  3374  // GoogleAdsSearchads360V0Errors__SearchAds360Failure: Describes how a Search
  3375  // Ads 360 API call failed. It's returned inside google.rpc.Status.details when
  3376  // a call fails.
  3377  type GoogleAdsSearchads360V0Errors__SearchAds360Failure struct {
  3378  	// Errors: The list of errors that occurred.
  3379  	Errors []*GoogleAdsSearchads360V0Errors__SearchAds360Error `json:"errors,omitempty"`
  3380  	// RequestId: The unique ID of the request that is used for debugging purposes.
  3381  	RequestId string `json:"requestId,omitempty"`
  3382  	// ForceSendFields is a list of field names (e.g. "Errors") to unconditionally
  3383  	// include in API requests. By default, fields with empty or default values are
  3384  	// omitted from API requests. See
  3385  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3386  	// details.
  3387  	ForceSendFields []string `json:"-"`
  3388  	// NullFields is a list of field names (e.g. "Errors") to include in API
  3389  	// requests with the JSON null value. By default, fields with empty values are
  3390  	// omitted from API requests. See
  3391  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3392  	NullFields []string `json:"-"`
  3393  }
  3394  
  3395  func (s *GoogleAdsSearchads360V0Errors__SearchAds360Failure) MarshalJSON() ([]byte, error) {
  3396  	type NoMethod GoogleAdsSearchads360V0Errors__SearchAds360Failure
  3397  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3398  }
  3399  
  3400  // GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionVa
  3401  // lue: An automated bidding strategy to help get the most conversion value for
  3402  // your campaigns while spending your budget.
  3403  type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue struct {
  3404  	// TargetRoas: Output only. The target return on ad spend (ROAS) option. If
  3405  	// set, the bid strategy will maximize revenue while averaging the target
  3406  	// return on ad spend. If the target ROAS is high, the bid strategy may not be
  3407  	// able to spend the full budget. If the target ROAS is not set, the bid
  3408  	// strategy will aim to achieve the highest possible ROAS for the budget.
  3409  	TargetRoas float64 `json:"targetRoas,omitempty"`
  3410  	// ForceSendFields is a list of field names (e.g. "TargetRoas") to
  3411  	// unconditionally include in API requests. By default, fields with empty or
  3412  	// default values are omitted from API requests. See
  3413  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3414  	// details.
  3415  	ForceSendFields []string `json:"-"`
  3416  	// NullFields is a list of field names (e.g. "TargetRoas") to include in API
  3417  	// requests with the JSON null value. By default, fields with empty values are
  3418  	// omitted from API requests. See
  3419  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3420  	NullFields []string `json:"-"`
  3421  }
  3422  
  3423  func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue) MarshalJSON() ([]byte, error) {
  3424  	type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue
  3425  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3426  }
  3427  
  3428  func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue) UnmarshalJSON(data []byte) error {
  3429  	type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue
  3430  	var s1 struct {
  3431  		TargetRoas gensupport.JSONFloat64 `json:"targetRoas"`
  3432  		*NoMethod
  3433  	}
  3434  	s1.NoMethod = (*NoMethod)(s)
  3435  	if err := json.Unmarshal(data, &s1); err != nil {
  3436  		return err
  3437  	}
  3438  	s.TargetRoas = float64(s1.TargetRoas)
  3439  	return nil
  3440  }
  3441  
  3442  // GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversions:
  3443  //
  3444  //	An automated bidding strategy to help get the most conversions for your
  3445  //
  3446  // campaigns while spending your budget.
  3447  type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversions struct {
  3448  	// TargetCpa: Output only. The target cost per acquisition (CPA) option. This
  3449  	// is the average amount that you would like to spend per acquisition.
  3450  	TargetCpa int64 `json:"targetCpa,omitempty,string"`
  3451  	// TargetCpaMicros: Output only. The target cost per acquisition (CPA) option.
  3452  	// This is the average amount that you would like to spend per acquisition.
  3453  	TargetCpaMicros int64 `json:"targetCpaMicros,omitempty,string"`
  3454  	// ForceSendFields is a list of field names (e.g. "TargetCpa") to
  3455  	// unconditionally include in API requests. By default, fields with empty or
  3456  	// default values are omitted from API requests. See
  3457  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3458  	// details.
  3459  	ForceSendFields []string `json:"-"`
  3460  	// NullFields is a list of field names (e.g. "TargetCpa") to include in API
  3461  	// requests with the JSON null value. By default, fields with empty values are
  3462  	// omitted from API requests. See
  3463  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3464  	NullFields []string `json:"-"`
  3465  }
  3466  
  3467  func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversions) MarshalJSON() ([]byte, error) {
  3468  	type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversions
  3469  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3470  }
  3471  
  3472  // GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetCpa: An
  3473  // automated bid strategy that sets bids to help get as many conversions as
  3474  // possible at the target cost-per-acquisition (CPA) you set.
  3475  type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetCpa struct {
  3476  	// TargetCpaMicros: Output only. Average CPA target. This target should be
  3477  	// greater than or equal to minimum billable unit based on the currency for the
  3478  	// account.
  3479  	TargetCpaMicros int64 `json:"targetCpaMicros,omitempty,string"`
  3480  	// ForceSendFields is a list of field names (e.g. "TargetCpaMicros") to
  3481  	// unconditionally include in API requests. By default, fields with empty or
  3482  	// default values are omitted from API requests. See
  3483  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3484  	// details.
  3485  	ForceSendFields []string `json:"-"`
  3486  	// NullFields is a list of field names (e.g. "TargetCpaMicros") to include in
  3487  	// API requests with the JSON null value. By default, fields with empty values
  3488  	// are omitted from API requests. See
  3489  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3490  	NullFields []string `json:"-"`
  3491  }
  3492  
  3493  func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetCpa) MarshalJSON() ([]byte, error) {
  3494  	type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetCpa
  3495  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3496  }
  3497  
  3498  // GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetImpressionShar
  3499  // e: An automated bidding strategy that sets bids so that a certain percentage
  3500  // of search ads are shown at the top of the first page (or other targeted
  3501  // location).
  3502  type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetImpressionShare struct {
  3503  	// CpcBidCeilingMicros: Output only. The highest CPC bid the automated bidding
  3504  	// system is permitted to specify. This is a required field entered by the
  3505  	// advertiser that sets the ceiling and specified in local micros.
  3506  	CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"`
  3507  	// Location: Output only. The targeted location on the search results page.
  3508  	//
  3509  	// Possible values:
  3510  	//   "UNSPECIFIED" - Not specified.
  3511  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  3512  	// version.
  3513  	//   "ANYWHERE_ON_PAGE" - Any location on the web page.
  3514  	//   "TOP_OF_PAGE" - Top box of ads.
  3515  	//   "ABSOLUTE_TOP_OF_PAGE" - Top slot in the top box of ads.
  3516  	Location string `json:"location,omitempty"`
  3517  	// LocationFractionMicros: The chosen fraction of ads to be shown in the
  3518  	// targeted location in micros. For example, 1% equals 10,000.
  3519  	LocationFractionMicros int64 `json:"locationFractionMicros,omitempty,string"`
  3520  	// ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") to
  3521  	// unconditionally include in API requests. By default, fields with empty or
  3522  	// default values are omitted from API requests. See
  3523  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3524  	// details.
  3525  	ForceSendFields []string `json:"-"`
  3526  	// NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to include
  3527  	// in API requests with the JSON null value. By default, fields with empty
  3528  	// values are omitted from API requests. See
  3529  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3530  	NullFields []string `json:"-"`
  3531  }
  3532  
  3533  func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetImpressionShare) MarshalJSON() ([]byte, error) {
  3534  	type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetImpressionShare
  3535  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3536  }
  3537  
  3538  // GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas: An
  3539  // automated bidding strategy that helps you maximize revenue while averaging a
  3540  // specific target return on ad spend (ROAS).
  3541  type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas struct {
  3542  	// TargetRoas: Output only. The chosen revenue (based on conversion data) per
  3543  	// unit of spend.
  3544  	TargetRoas float64 `json:"targetRoas,omitempty"`
  3545  	// ForceSendFields is a list of field names (e.g. "TargetRoas") to
  3546  	// unconditionally include in API requests. By default, fields with empty or
  3547  	// default values are omitted from API requests. See
  3548  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3549  	// details.
  3550  	ForceSendFields []string `json:"-"`
  3551  	// NullFields is a list of field names (e.g. "TargetRoas") to include in API
  3552  	// requests with the JSON null value. By default, fields with empty values are
  3553  	// omitted from API requests. See
  3554  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3555  	NullFields []string `json:"-"`
  3556  }
  3557  
  3558  func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas) MarshalJSON() ([]byte, error) {
  3559  	type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas
  3560  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3561  }
  3562  
  3563  func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas) UnmarshalJSON(data []byte) error {
  3564  	type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas
  3565  	var s1 struct {
  3566  		TargetRoas gensupport.JSONFloat64 `json:"targetRoas"`
  3567  		*NoMethod
  3568  	}
  3569  	s1.NoMethod = (*NoMethod)(s)
  3570  	if err := json.Unmarshal(data, &s1); err != nil {
  3571  		return err
  3572  	}
  3573  	s.TargetRoas = float64(s1.TargetRoas)
  3574  	return nil
  3575  }
  3576  
  3577  // GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetSpend: An
  3578  // automated bid strategy that sets your bids to help get as many clicks as
  3579  // possible within your budget.
  3580  type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetSpend struct {
  3581  	// CpcBidCeilingMicros: Output only. Maximum bid limit that can be set by the
  3582  	// bid strategy. The limit applies to all keywords managed by the strategy.
  3583  	CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"`
  3584  	// TargetSpendMicros: Output only. The spend target under which to maximize
  3585  	// clicks. A TargetSpend bidder will attempt to spend the smaller of this value
  3586  	// or the natural throttling spend amount. If not specified, the budget is used
  3587  	// as the spend target. This field is deprecated and should no longer be used.
  3588  	// See
  3589  	// https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html
  3590  	// for details.
  3591  	TargetSpendMicros int64 `json:"targetSpendMicros,omitempty,string"`
  3592  	// ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") to
  3593  	// unconditionally include in API requests. By default, fields with empty or
  3594  	// default values are omitted from API requests. See
  3595  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3596  	// details.
  3597  	ForceSendFields []string `json:"-"`
  3598  	// NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to include
  3599  	// in API requests with the JSON null value. By default, fields with empty
  3600  	// values are omitted from API requests. See
  3601  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3602  	NullFields []string `json:"-"`
  3603  }
  3604  
  3605  func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetSpend) MarshalJSON() ([]byte, error) {
  3606  	type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetSpend
  3607  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3608  }
  3609  
  3610  // GoogleAdsSearchads360V0ResourcesAdGroupCriterionPositionEstimates: Estimates
  3611  // for criterion bids at various positions.
  3612  type GoogleAdsSearchads360V0ResourcesAdGroupCriterionPositionEstimates struct {
  3613  	// TopOfPageCpcMicros: Output only. The estimate of the CPC bid required for ad
  3614  	// to be displayed at the top of the first page of search results.
  3615  	TopOfPageCpcMicros int64 `json:"topOfPageCpcMicros,omitempty,string"`
  3616  	// ForceSendFields is a list of field names (e.g. "TopOfPageCpcMicros") to
  3617  	// unconditionally include in API requests. By default, fields with empty or
  3618  	// default values are omitted from API requests. See
  3619  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3620  	// details.
  3621  	ForceSendFields []string `json:"-"`
  3622  	// NullFields is a list of field names (e.g. "TopOfPageCpcMicros") to include
  3623  	// in API requests with the JSON null value. By default, fields with empty
  3624  	// values are omitted from API requests. See
  3625  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3626  	NullFields []string `json:"-"`
  3627  }
  3628  
  3629  func (s *GoogleAdsSearchads360V0ResourcesAdGroupCriterionPositionEstimates) MarshalJSON() ([]byte, error) {
  3630  	type NoMethod GoogleAdsSearchads360V0ResourcesAdGroupCriterionPositionEstimates
  3631  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3632  }
  3633  
  3634  // GoogleAdsSearchads360V0ResourcesAdGroupCriterionQualityInfo: A container for
  3635  // ad group criterion quality information.
  3636  type GoogleAdsSearchads360V0ResourcesAdGroupCriterionQualityInfo struct {
  3637  	// QualityScore: Output only. The quality score. This field may not be
  3638  	// populated if Google does not have enough information to determine a value.
  3639  	QualityScore int64 `json:"qualityScore,omitempty"`
  3640  	// ForceSendFields is a list of field names (e.g. "QualityScore") to
  3641  	// unconditionally include in API requests. By default, fields with empty or
  3642  	// default values are omitted from API requests. See
  3643  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3644  	// details.
  3645  	ForceSendFields []string `json:"-"`
  3646  	// NullFields is a list of field names (e.g. "QualityScore") to include in API
  3647  	// requests with the JSON null value. By default, fields with empty values are
  3648  	// omitted from API requests. See
  3649  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3650  	NullFields []string `json:"-"`
  3651  }
  3652  
  3653  func (s *GoogleAdsSearchads360V0ResourcesAdGroupCriterionQualityInfo) MarshalJSON() ([]byte, error) {
  3654  	type NoMethod GoogleAdsSearchads360V0ResourcesAdGroupCriterionQualityInfo
  3655  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3656  }
  3657  
  3658  // GoogleAdsSearchads360V0ResourcesCampaignDynamicSearchAdsSetting: The setting
  3659  // for controlling Dynamic Search Ads (DSA).
  3660  type GoogleAdsSearchads360V0ResourcesCampaignDynamicSearchAdsSetting struct {
  3661  	// DomainName: Required. The Internet domain name that this setting represents,
  3662  	// for example, "google.com" or "www.google.com".
  3663  	DomainName string `json:"domainName,omitempty"`
  3664  	// LanguageCode: Required. The language code specifying the language of the
  3665  	// domain, for example, "en".
  3666  	LanguageCode string `json:"languageCode,omitempty"`
  3667  	// UseSuppliedUrlsOnly: Whether the campaign uses advertiser supplied URLs
  3668  	// exclusively.
  3669  	UseSuppliedUrlsOnly bool `json:"useSuppliedUrlsOnly,omitempty"`
  3670  	// ForceSendFields is a list of field names (e.g. "DomainName") to
  3671  	// unconditionally include in API requests. By default, fields with empty or
  3672  	// default values are omitted from API requests. See
  3673  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3674  	// details.
  3675  	ForceSendFields []string `json:"-"`
  3676  	// NullFields is a list of field names (e.g. "DomainName") to include in API
  3677  	// requests with the JSON null value. By default, fields with empty values are
  3678  	// omitted from API requests. See
  3679  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3680  	NullFields []string `json:"-"`
  3681  }
  3682  
  3683  func (s *GoogleAdsSearchads360V0ResourcesCampaignDynamicSearchAdsSetting) MarshalJSON() ([]byte, error) {
  3684  	type NoMethod GoogleAdsSearchads360V0ResourcesCampaignDynamicSearchAdsSetting
  3685  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3686  }
  3687  
  3688  // GoogleAdsSearchads360V0ResourcesCampaignGeoTargetTypeSetting: Represents a
  3689  // collection of settings related to ads geotargeting.
  3690  type GoogleAdsSearchads360V0ResourcesCampaignGeoTargetTypeSetting struct {
  3691  	// NegativeGeoTargetType: The setting used for negative geotargeting in this
  3692  	// particular campaign.
  3693  	//
  3694  	// Possible values:
  3695  	//   "UNSPECIFIED" - Not specified.
  3696  	//   "UNKNOWN" - The value is unknown in this version.
  3697  	//   "PRESENCE_OR_INTEREST" - Specifies that a user is excluded from seeing the
  3698  	// ad if they are in, or show interest in, advertiser's excluded locations.
  3699  	//   "PRESENCE" - Specifies that a user is excluded from seeing the ad if they
  3700  	// are in advertiser's excluded locations.
  3701  	NegativeGeoTargetType string `json:"negativeGeoTargetType,omitempty"`
  3702  	// PositiveGeoTargetType: The setting used for positive geotargeting in this
  3703  	// particular campaign.
  3704  	//
  3705  	// Possible values:
  3706  	//   "UNSPECIFIED" - Not specified.
  3707  	//   "UNKNOWN" - The value is unknown in this version.
  3708  	//   "PRESENCE_OR_INTEREST" - Specifies that an ad is triggered if the user is
  3709  	// in, or shows interest in, advertiser's targeted locations.
  3710  	//   "SEARCH_INTEREST" - Specifies that an ad is triggered if the user searches
  3711  	// for advertiser's targeted locations. This can only be used with Search and
  3712  	// standard Shopping campaigns.
  3713  	//   "PRESENCE" - Specifies that an ad is triggered if the user is in or
  3714  	// regularly in advertiser's targeted locations.
  3715  	PositiveGeoTargetType string `json:"positiveGeoTargetType,omitempty"`
  3716  	// ForceSendFields is a list of field names (e.g. "NegativeGeoTargetType") to
  3717  	// unconditionally include in API requests. By default, fields with empty or
  3718  	// default values are omitted from API requests. See
  3719  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3720  	// details.
  3721  	ForceSendFields []string `json:"-"`
  3722  	// NullFields is a list of field names (e.g. "NegativeGeoTargetType") to
  3723  	// include in API requests with the JSON null value. By default, fields with
  3724  	// empty values are omitted from API requests. See
  3725  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3726  	NullFields []string `json:"-"`
  3727  }
  3728  
  3729  func (s *GoogleAdsSearchads360V0ResourcesCampaignGeoTargetTypeSetting) MarshalJSON() ([]byte, error) {
  3730  	type NoMethod GoogleAdsSearchads360V0ResourcesCampaignGeoTargetTypeSetting
  3731  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3732  }
  3733  
  3734  // GoogleAdsSearchads360V0ResourcesCampaignNetworkSettings: The network
  3735  // settings for the campaign.
  3736  type GoogleAdsSearchads360V0ResourcesCampaignNetworkSettings struct {
  3737  	// TargetContentNetwork: Whether ads will be served on specified placements in
  3738  	// the Google Display Network. Placements are specified using the Placement
  3739  	// criterion.
  3740  	TargetContentNetwork bool `json:"targetContentNetwork,omitempty"`
  3741  	// TargetGoogleSearch: Whether ads will be served with google.com search
  3742  	// results.
  3743  	TargetGoogleSearch bool `json:"targetGoogleSearch,omitempty"`
  3744  	// TargetPartnerSearchNetwork: Whether ads will be served on the Google Partner
  3745  	// Network. This is available only to some select Google partner accounts.
  3746  	TargetPartnerSearchNetwork bool `json:"targetPartnerSearchNetwork,omitempty"`
  3747  	// TargetSearchNetwork: Whether ads will be served on partner sites in the
  3748  	// Google Search Network (requires `target_google_search` to also be `true`).
  3749  	TargetSearchNetwork bool `json:"targetSearchNetwork,omitempty"`
  3750  	// ForceSendFields is a list of field names (e.g. "TargetContentNetwork") to
  3751  	// unconditionally include in API requests. By default, fields with empty or
  3752  	// default values are omitted from API requests. See
  3753  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3754  	// details.
  3755  	ForceSendFields []string `json:"-"`
  3756  	// NullFields is a list of field names (e.g. "TargetContentNetwork") to include
  3757  	// in API requests with the JSON null value. By default, fields with empty
  3758  	// values are omitted from API requests. See
  3759  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3760  	NullFields []string `json:"-"`
  3761  }
  3762  
  3763  func (s *GoogleAdsSearchads360V0ResourcesCampaignNetworkSettings) MarshalJSON() ([]byte, error) {
  3764  	type NoMethod GoogleAdsSearchads360V0ResourcesCampaignNetworkSettings
  3765  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3766  }
  3767  
  3768  // GoogleAdsSearchads360V0ResourcesCampaignOptimizationGoalSetting:
  3769  // Optimization goal setting for this campaign, which includes a set of
  3770  // optimization goal types.
  3771  type GoogleAdsSearchads360V0ResourcesCampaignOptimizationGoalSetting struct {
  3772  	// OptimizationGoalTypes: The list of optimization goal types.
  3773  	//
  3774  	// Possible values:
  3775  	//   "UNSPECIFIED" - Not specified.
  3776  	//   "UNKNOWN" - Used as a return value only. Represents value unknown in this
  3777  	// version.
  3778  	//   "CALL_CLICKS" - Optimize for call clicks. Call click conversions are times
  3779  	// people selected 'Call' to contact a store after viewing an ad.
  3780  	//   "DRIVING_DIRECTIONS" - Optimize for driving directions. Driving directions
  3781  	// conversions are times people selected 'Get directions' to navigate to a
  3782  	// store after viewing an ad.
  3783  	//   "APP_PRE_REGISTRATION" - Optimize for pre-registration. Pre-registration
  3784  	// conversions are the number of pre-registration signups to receive a
  3785  	// notification when the app is released.
  3786  	OptimizationGoalTypes []string `json:"optimizationGoalTypes,omitempty"`
  3787  	// ForceSendFields is a list of field names (e.g. "OptimizationGoalTypes") to
  3788  	// unconditionally include in API requests. By default, fields with empty or
  3789  	// default values are omitted from API requests. See
  3790  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3791  	// details.
  3792  	ForceSendFields []string `json:"-"`
  3793  	// NullFields is a list of field names (e.g. "OptimizationGoalTypes") to
  3794  	// include in API requests with the JSON null value. By default, fields with
  3795  	// empty values are omitted from API requests. See
  3796  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3797  	NullFields []string `json:"-"`
  3798  }
  3799  
  3800  func (s *GoogleAdsSearchads360V0ResourcesCampaignOptimizationGoalSetting) MarshalJSON() ([]byte, error) {
  3801  	type NoMethod GoogleAdsSearchads360V0ResourcesCampaignOptimizationGoalSetting
  3802  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3803  }
  3804  
  3805  // GoogleAdsSearchads360V0ResourcesCampaignSelectiveOptimization: Selective
  3806  // optimization setting for this campaign, which includes a set of conversion
  3807  // actions to optimize this campaign towards. This feature only applies to app
  3808  // campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN
  3809  // or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
  3810  type GoogleAdsSearchads360V0ResourcesCampaignSelectiveOptimization struct {
  3811  	// ConversionActions: The selected set of conversion actions for optimizing
  3812  	// this campaign.
  3813  	ConversionActions []string `json:"conversionActions,omitempty"`
  3814  	// ForceSendFields is a list of field names (e.g. "ConversionActions") to
  3815  	// unconditionally include in API requests. By default, fields with empty or
  3816  	// default values are omitted from API requests. See
  3817  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3818  	// details.
  3819  	ForceSendFields []string `json:"-"`
  3820  	// NullFields is a list of field names (e.g. "ConversionActions") to include in
  3821  	// API requests with the JSON null value. By default, fields with empty values
  3822  	// are omitted from API requests. See
  3823  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3824  	NullFields []string `json:"-"`
  3825  }
  3826  
  3827  func (s *GoogleAdsSearchads360V0ResourcesCampaignSelectiveOptimization) MarshalJSON() ([]byte, error) {
  3828  	type NoMethod GoogleAdsSearchads360V0ResourcesCampaignSelectiveOptimization
  3829  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3830  }
  3831  
  3832  // GoogleAdsSearchads360V0ResourcesCampaignShoppingSetting: The setting for
  3833  // Shopping campaigns. Defines the universe of products that can be advertised
  3834  // by the campaign, and how this campaign interacts with other Shopping
  3835  // campaigns.
  3836  type GoogleAdsSearchads360V0ResourcesCampaignShoppingSetting struct {
  3837  	// CampaignPriority: Priority of the campaign. Campaigns with numerically
  3838  	// higher priorities take precedence over those with lower priorities. This
  3839  	// field is required for Shopping campaigns, with values between 0 and 2,
  3840  	// inclusive. This field is optional for Smart Shopping campaigns, but must be
  3841  	// equal to 3 if set.
  3842  	CampaignPriority int64 `json:"campaignPriority,omitempty"`
  3843  	// EnableLocal: Whether to include local products.
  3844  	EnableLocal bool `json:"enableLocal,omitempty"`
  3845  	// FeedLabel: Feed label of products to include in the campaign. Only one of
  3846  	// feed_label or sales_country can be set. If used instead of sales_country,
  3847  	// the feed_label field accepts country codes in the same format for example:
  3848  	// 'XX'. Otherwise can be any string used for feed label in Google Merchant
  3849  	// Center.
  3850  	FeedLabel string `json:"feedLabel,omitempty"`
  3851  	// MerchantId: Immutable. ID of the Merchant Center account. This field is
  3852  	// required for create operations. This field is immutable for Shopping
  3853  	// campaigns.
  3854  	MerchantId int64 `json:"merchantId,omitempty,string"`
  3855  	// SalesCountry: Sales country of products to include in the campaign.
  3856  	SalesCountry string `json:"salesCountry,omitempty"`
  3857  	// UseVehicleInventory: Immutable. Whether to target Vehicle Listing inventory.
  3858  	UseVehicleInventory bool `json:"useVehicleInventory,omitempty"`
  3859  	// ForceSendFields is a list of field names (e.g. "CampaignPriority") to
  3860  	// unconditionally include in API requests. By default, fields with empty or
  3861  	// default values are omitted from API requests. See
  3862  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3863  	// details.
  3864  	ForceSendFields []string `json:"-"`
  3865  	// NullFields is a list of field names (e.g. "CampaignPriority") to include in
  3866  	// API requests with the JSON null value. By default, fields with empty values
  3867  	// are omitted from API requests. See
  3868  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3869  	NullFields []string `json:"-"`
  3870  }
  3871  
  3872  func (s *GoogleAdsSearchads360V0ResourcesCampaignShoppingSetting) MarshalJSON() ([]byte, error) {
  3873  	type NoMethod GoogleAdsSearchads360V0ResourcesCampaignShoppingSetting
  3874  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3875  }
  3876  
  3877  // GoogleAdsSearchads360V0ResourcesCampaignTrackingSetting: Campaign-level
  3878  // settings for tracking information.
  3879  type GoogleAdsSearchads360V0ResourcesCampaignTrackingSetting struct {
  3880  	// TrackingUrl: Output only. The url used for dynamic tracking.
  3881  	TrackingUrl string `json:"trackingUrl,omitempty"`
  3882  	// ForceSendFields is a list of field names (e.g. "TrackingUrl") to
  3883  	// unconditionally include in API requests. By default, fields with empty or
  3884  	// default values are omitted from API requests. See
  3885  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3886  	// details.
  3887  	ForceSendFields []string `json:"-"`
  3888  	// NullFields is a list of field names (e.g. "TrackingUrl") to include in API
  3889  	// requests with the JSON null value. By default, fields with empty values are
  3890  	// omitted from API requests. See
  3891  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3892  	NullFields []string `json:"-"`
  3893  }
  3894  
  3895  func (s *GoogleAdsSearchads360V0ResourcesCampaignTrackingSetting) MarshalJSON() ([]byte, error) {
  3896  	type NoMethod GoogleAdsSearchads360V0ResourcesCampaignTrackingSetting
  3897  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3898  }
  3899  
  3900  // GoogleAdsSearchads360V0ResourcesConversionActionAttributionModelSettings:
  3901  // Settings related to this conversion action's attribution model.
  3902  type GoogleAdsSearchads360V0ResourcesConversionActionAttributionModelSettings struct {
  3903  	// AttributionModel: The attribution model type of this conversion action.
  3904  	//
  3905  	// Possible values:
  3906  	//   "UNSPECIFIED" - Not specified.
  3907  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  3908  	// version.
  3909  	//   "EXTERNAL" - Uses external attribution.
  3910  	//   "GOOGLE_ADS_LAST_CLICK" - Attributes all credit for a conversion to its
  3911  	// last click.
  3912  	//   "GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK" - Attributes all credit for a
  3913  	// conversion to its first click using Google Search attribution.
  3914  	//   "GOOGLE_SEARCH_ATTRIBUTION_LINEAR" - Attributes credit for a conversion
  3915  	// equally across all of its clicks using Google Search attribution.
  3916  	//   "GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY" - Attributes exponentially more
  3917  	// credit for a conversion to its more recent clicks using Google Search
  3918  	// attribution (half-life is 1 week).
  3919  	//   "GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED" - Attributes 40% of the credit
  3920  	// for a conversion to its first and last clicks. Remaining 20% is evenly
  3921  	// distributed across all other clicks. This uses Google Search attribution.
  3922  	//   "GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN" - Flexible model that uses machine
  3923  	// learning to determine the appropriate distribution of credit among clicks
  3924  	// using Google Search attribution.
  3925  	AttributionModel string `json:"attributionModel,omitempty"`
  3926  	// DataDrivenModelStatus: Output only. The status of the data-driven
  3927  	// attribution model for the conversion action.
  3928  	//
  3929  	// Possible values:
  3930  	//   "UNSPECIFIED" - Not specified.
  3931  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  3932  	// version.
  3933  	//   "AVAILABLE" - The data driven model is available.
  3934  	//   "STALE" - The data driven model is stale. It hasn't been updated for at
  3935  	// least 7 days. It is still being used, but will become expired if it does not
  3936  	// get updated for 30 days.
  3937  	//   "EXPIRED" - The data driven model expired. It hasn't been updated for at
  3938  	// least 30 days and cannot be used. Most commonly this is because there hasn't
  3939  	// been the required number of events in a recent 30-day period.
  3940  	//   "NEVER_GENERATED" - The data driven model has never been generated. Most
  3941  	// commonly this is because there has never been the required number of events
  3942  	// in any 30-day period.
  3943  	DataDrivenModelStatus string `json:"dataDrivenModelStatus,omitempty"`
  3944  	// ForceSendFields is a list of field names (e.g. "AttributionModel") to
  3945  	// unconditionally include in API requests. By default, fields with empty or
  3946  	// default values are omitted from API requests. See
  3947  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3948  	// details.
  3949  	ForceSendFields []string `json:"-"`
  3950  	// NullFields is a list of field names (e.g. "AttributionModel") to include in
  3951  	// API requests with the JSON null value. By default, fields with empty values
  3952  	// are omitted from API requests. See
  3953  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3954  	NullFields []string `json:"-"`
  3955  }
  3956  
  3957  func (s *GoogleAdsSearchads360V0ResourcesConversionActionAttributionModelSettings) MarshalJSON() ([]byte, error) {
  3958  	type NoMethod GoogleAdsSearchads360V0ResourcesConversionActionAttributionModelSettings
  3959  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3960  }
  3961  
  3962  // GoogleAdsSearchads360V0ResourcesConversionActionFloodlightSettings: Settings
  3963  // related to a Floodlight conversion action.
  3964  type GoogleAdsSearchads360V0ResourcesConversionActionFloodlightSettings struct {
  3965  	// ActivityGroupTag: Output only. String used to identify a Floodlight activity
  3966  	// group when reporting conversions.
  3967  	ActivityGroupTag string `json:"activityGroupTag,omitempty"`
  3968  	// ActivityId: Output only. ID of the Floodlight activity in DoubleClick
  3969  	// Campaign Manager (DCM).
  3970  	ActivityId int64 `json:"activityId,omitempty,string"`
  3971  	// ActivityTag: Output only. String used to identify a Floodlight activity when
  3972  	// reporting conversions.
  3973  	ActivityTag string `json:"activityTag,omitempty"`
  3974  	// ForceSendFields is a list of field names (e.g. "ActivityGroupTag") to
  3975  	// unconditionally include in API requests. By default, fields with empty or
  3976  	// default values are omitted from API requests. See
  3977  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3978  	// details.
  3979  	ForceSendFields []string `json:"-"`
  3980  	// NullFields is a list of field names (e.g. "ActivityGroupTag") to include in
  3981  	// API requests with the JSON null value. By default, fields with empty values
  3982  	// are omitted from API requests. See
  3983  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3984  	NullFields []string `json:"-"`
  3985  }
  3986  
  3987  func (s *GoogleAdsSearchads360V0ResourcesConversionActionFloodlightSettings) MarshalJSON() ([]byte, error) {
  3988  	type NoMethod GoogleAdsSearchads360V0ResourcesConversionActionFloodlightSettings
  3989  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3990  }
  3991  
  3992  // GoogleAdsSearchads360V0ResourcesConversionActionValueSettings: Settings
  3993  // related to the value for conversion events associated with this conversion
  3994  // action.
  3995  type GoogleAdsSearchads360V0ResourcesConversionActionValueSettings struct {
  3996  	// AlwaysUseDefaultValue: Controls whether the default value and default
  3997  	// currency code are used in place of the value and currency code specified in
  3998  	// conversion events for this conversion action.
  3999  	AlwaysUseDefaultValue bool `json:"alwaysUseDefaultValue,omitempty"`
  4000  	// DefaultCurrencyCode: The currency code to use when conversion events for
  4001  	// this conversion action are sent with an invalid or missing currency code, or
  4002  	// when this conversion action is configured to always use the default value.
  4003  	DefaultCurrencyCode string `json:"defaultCurrencyCode,omitempty"`
  4004  	// DefaultValue: The value to use when conversion events for this conversion
  4005  	// action are sent with an invalid, disallowed or missing value, or when this
  4006  	// conversion action is configured to always use the default value.
  4007  	DefaultValue float64 `json:"defaultValue,omitempty"`
  4008  	// ForceSendFields is a list of field names (e.g. "AlwaysUseDefaultValue") to
  4009  	// unconditionally include in API requests. By default, fields with empty or
  4010  	// default values are omitted from API requests. See
  4011  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4012  	// details.
  4013  	ForceSendFields []string `json:"-"`
  4014  	// NullFields is a list of field names (e.g. "AlwaysUseDefaultValue") to
  4015  	// include in API requests with the JSON null value. By default, fields with
  4016  	// empty values are omitted from API requests. See
  4017  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4018  	NullFields []string `json:"-"`
  4019  }
  4020  
  4021  func (s *GoogleAdsSearchads360V0ResourcesConversionActionValueSettings) MarshalJSON() ([]byte, error) {
  4022  	type NoMethod GoogleAdsSearchads360V0ResourcesConversionActionValueSettings
  4023  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4024  }
  4025  
  4026  func (s *GoogleAdsSearchads360V0ResourcesConversionActionValueSettings) UnmarshalJSON(data []byte) error {
  4027  	type NoMethod GoogleAdsSearchads360V0ResourcesConversionActionValueSettings
  4028  	var s1 struct {
  4029  		DefaultValue gensupport.JSONFloat64 `json:"defaultValue"`
  4030  		*NoMethod
  4031  	}
  4032  	s1.NoMethod = (*NoMethod)(s)
  4033  	if err := json.Unmarshal(data, &s1); err != nil {
  4034  		return err
  4035  	}
  4036  	s.DefaultValue = float64(s1.DefaultValue)
  4037  	return nil
  4038  }
  4039  
  4040  // GoogleAdsSearchads360V0ResourcesConversionCustomVariableFloodlightConversionC
  4041  // ustomVariableInfo: Information for Search Ads 360 Floodlight Conversion
  4042  // Custom Variables.
  4043  type GoogleAdsSearchads360V0ResourcesConversionCustomVariableFloodlightConversionCustomVariableInfo struct {
  4044  	// FloodlightVariableDataType: Output only. Floodlight variable data type
  4045  	// defined in Search Ads 360.
  4046  	//
  4047  	// Possible values:
  4048  	//   "UNSPECIFIED" - Not specified.
  4049  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4050  	// version.
  4051  	//   "NUMBER" - Represents a floodlight variable of "Number" type. This
  4052  	// variable may be assigned to floodlight variables of DIMENSION or METRIC
  4053  	// types.
  4054  	//   "STRING" - Represents a floodlight variable of "String" type. This
  4055  	// variable may be assigned to floodlight variables of DIMENSION type.
  4056  	FloodlightVariableDataType string `json:"floodlightVariableDataType,omitempty"`
  4057  	// FloodlightVariableType: Output only. Floodlight variable type defined in
  4058  	// Search Ads 360.
  4059  	//
  4060  	// Possible values:
  4061  	//   "UNSPECIFIED" - Not specified.
  4062  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4063  	// version.
  4064  	//   "DIMENSION" - Dimension floodlight variable type.
  4065  	//   "METRIC" - Metric floodlight variable type.
  4066  	//   "UNSET" - Floodlight variable type is unset.
  4067  	FloodlightVariableType string `json:"floodlightVariableType,omitempty"`
  4068  	// ForceSendFields is a list of field names (e.g. "FloodlightVariableDataType")
  4069  	// to unconditionally include in API requests. By default, fields with empty or
  4070  	// default values are omitted from API requests. See
  4071  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4072  	// details.
  4073  	ForceSendFields []string `json:"-"`
  4074  	// NullFields is a list of field names (e.g. "FloodlightVariableDataType") to
  4075  	// include in API requests with the JSON null value. By default, fields with
  4076  	// empty values are omitted from API requests. See
  4077  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4078  	NullFields []string `json:"-"`
  4079  }
  4080  
  4081  func (s *GoogleAdsSearchads360V0ResourcesConversionCustomVariableFloodlightConversionCustomVariableInfo) MarshalJSON() ([]byte, error) {
  4082  	type NoMethod GoogleAdsSearchads360V0ResourcesConversionCustomVariableFloodlightConversionCustomVariableInfo
  4083  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4084  }
  4085  
  4086  // GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductBiddingCate
  4087  // gory: One element of a bidding category at a certain level. Top-level
  4088  // categories are at level 1, their children at level 2, and so on. We
  4089  // currently support up to 5 levels. The user must specify a dimension type
  4090  // that indicates the level of the category. All cases of the same subdivision
  4091  // must have the same dimension type (category level).
  4092  type GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductBiddingCategory struct {
  4093  	// Id: ID of the product bidding category. This ID is equivalent to the
  4094  	// google_product_category ID as described in this article:
  4095  	// https://support.google.com/merchants/answer/6324436
  4096  	Id int64 `json:"id,omitempty,string"`
  4097  	// Level: Indicates the level of the category in the taxonomy.
  4098  	//
  4099  	// Possible values:
  4100  	//   "UNSPECIFIED" - Not specified.
  4101  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4102  	// version.
  4103  	//   "LEVEL1" - Level 1.
  4104  	//   "LEVEL2" - Level 2.
  4105  	//   "LEVEL3" - Level 3.
  4106  	//   "LEVEL4" - Level 4.
  4107  	//   "LEVEL5" - Level 5.
  4108  	Level string `json:"level,omitempty"`
  4109  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  4110  	// include in API requests. By default, fields with empty or default values are
  4111  	// omitted from API requests. See
  4112  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4113  	// details.
  4114  	ForceSendFields []string `json:"-"`
  4115  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  4116  	// with the JSON null value. By default, fields with empty values are omitted
  4117  	// from API requests. See
  4118  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4119  	NullFields []string `json:"-"`
  4120  }
  4121  
  4122  func (s *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductBiddingCategory) MarshalJSON() ([]byte, error) {
  4123  	type NoMethod GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductBiddingCategory
  4124  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4125  }
  4126  
  4127  // GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductBrand:
  4128  // Brand of the product.
  4129  type GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductBrand struct {
  4130  	// Value: String value of the product brand.
  4131  	Value string `json:"value,omitempty"`
  4132  	// ForceSendFields is a list of field names (e.g. "Value") to unconditionally
  4133  	// include in API requests. By default, fields with empty or default values are
  4134  	// omitted from API requests. See
  4135  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4136  	// details.
  4137  	ForceSendFields []string `json:"-"`
  4138  	// NullFields is a list of field names (e.g. "Value") to include in API
  4139  	// requests with the JSON null value. By default, fields with empty values are
  4140  	// omitted from API requests. See
  4141  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4142  	NullFields []string `json:"-"`
  4143  }
  4144  
  4145  func (s *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductBrand) MarshalJSON() ([]byte, error) {
  4146  	type NoMethod GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductBrand
  4147  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4148  }
  4149  
  4150  // GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductChannel:
  4151  // Locality of a product offer.
  4152  type GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductChannel struct {
  4153  	// Channel: Value of the locality.
  4154  	//
  4155  	// Possible values:
  4156  	//   "UNSPECIFIED" - Not specified.
  4157  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4158  	// version.
  4159  	//   "ONLINE" - The item is sold online.
  4160  	//   "LOCAL" - The item is sold in local stores.
  4161  	Channel string `json:"channel,omitempty"`
  4162  	// ForceSendFields is a list of field names (e.g. "Channel") to unconditionally
  4163  	// include in API requests. By default, fields with empty or default values are
  4164  	// omitted from API requests. See
  4165  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4166  	// details.
  4167  	ForceSendFields []string `json:"-"`
  4168  	// NullFields is a list of field names (e.g. "Channel") to include in API
  4169  	// requests with the JSON null value. By default, fields with empty values are
  4170  	// omitted from API requests. See
  4171  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4172  	NullFields []string `json:"-"`
  4173  }
  4174  
  4175  func (s *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductChannel) MarshalJSON() ([]byte, error) {
  4176  	type NoMethod GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductChannel
  4177  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4178  }
  4179  
  4180  // GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductCondition:
  4181  // Condition of a product offer.
  4182  type GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductCondition struct {
  4183  	// Condition: Value of the condition.
  4184  	//
  4185  	// Possible values:
  4186  	//   "UNSPECIFIED" - Not specified.
  4187  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4188  	// version.
  4189  	//   "NEW" - The product condition is new.
  4190  	//   "REFURBISHED" - The product condition is refurbished.
  4191  	//   "USED" - The product condition is used.
  4192  	Condition string `json:"condition,omitempty"`
  4193  	// ForceSendFields is a list of field names (e.g. "Condition") to
  4194  	// unconditionally include in API requests. By default, fields with empty or
  4195  	// default values are omitted from API requests. See
  4196  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4197  	// details.
  4198  	ForceSendFields []string `json:"-"`
  4199  	// NullFields is a list of field names (e.g. "Condition") to include in API
  4200  	// requests with the JSON null value. By default, fields with empty values are
  4201  	// omitted from API requests. See
  4202  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4203  	NullFields []string `json:"-"`
  4204  }
  4205  
  4206  func (s *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductCondition) MarshalJSON() ([]byte, error) {
  4207  	type NoMethod GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductCondition
  4208  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4209  }
  4210  
  4211  // GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductCustomAttri
  4212  // bute: Custom attribute of a product offer.
  4213  type GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductCustomAttribute struct {
  4214  	// Index: Indicates the index of the custom attribute.
  4215  	//
  4216  	// Possible values:
  4217  	//   "UNSPECIFIED" - Not specified.
  4218  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4219  	// version.
  4220  	//   "INDEX0" - First listing group filter custom attribute.
  4221  	//   "INDEX1" - Second listing group filter custom attribute.
  4222  	//   "INDEX2" - Third listing group filter custom attribute.
  4223  	//   "INDEX3" - Fourth listing group filter custom attribute.
  4224  	//   "INDEX4" - Fifth listing group filter custom attribute.
  4225  	Index string `json:"index,omitempty"`
  4226  	// Value: String value of the product custom attribute.
  4227  	Value string `json:"value,omitempty"`
  4228  	// ForceSendFields is a list of field names (e.g. "Index") to unconditionally
  4229  	// include in API requests. By default, fields with empty or default values are
  4230  	// omitted from API requests. See
  4231  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4232  	// details.
  4233  	ForceSendFields []string `json:"-"`
  4234  	// NullFields is a list of field names (e.g. "Index") to include in API
  4235  	// requests with the JSON null value. By default, fields with empty values are
  4236  	// omitted from API requests. See
  4237  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4238  	NullFields []string `json:"-"`
  4239  }
  4240  
  4241  func (s *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductCustomAttribute) MarshalJSON() ([]byte, error) {
  4242  	type NoMethod GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductCustomAttribute
  4243  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4244  }
  4245  
  4246  // GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductItemId:
  4247  // Item id of a product offer.
  4248  type GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductItemId struct {
  4249  	// Value: Value of the id.
  4250  	Value string `json:"value,omitempty"`
  4251  	// ForceSendFields is a list of field names (e.g. "Value") to unconditionally
  4252  	// include in API requests. By default, fields with empty or default values are
  4253  	// omitted from API requests. See
  4254  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4255  	// details.
  4256  	ForceSendFields []string `json:"-"`
  4257  	// NullFields is a list of field names (e.g. "Value") to include in API
  4258  	// requests with the JSON null value. By default, fields with empty values are
  4259  	// omitted from API requests. See
  4260  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4261  	NullFields []string `json:"-"`
  4262  }
  4263  
  4264  func (s *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductItemId) MarshalJSON() ([]byte, error) {
  4265  	type NoMethod GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductItemId
  4266  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4267  }
  4268  
  4269  // GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductType: Type
  4270  // of a product offer.
  4271  type GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductType struct {
  4272  	// Level: Level of the type.
  4273  	//
  4274  	// Possible values:
  4275  	//   "UNSPECIFIED" - Not specified.
  4276  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4277  	// version.
  4278  	//   "LEVEL1" - Level 1.
  4279  	//   "LEVEL2" - Level 2.
  4280  	//   "LEVEL3" - Level 3.
  4281  	//   "LEVEL4" - Level 4.
  4282  	//   "LEVEL5" - Level 5.
  4283  	Level string `json:"level,omitempty"`
  4284  	// Value: Value of the type.
  4285  	Value string `json:"value,omitempty"`
  4286  	// ForceSendFields is a list of field names (e.g. "Level") to unconditionally
  4287  	// include in API requests. By default, fields with empty or default values are
  4288  	// omitted from API requests. See
  4289  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4290  	// details.
  4291  	ForceSendFields []string `json:"-"`
  4292  	// NullFields is a list of field names (e.g. "Level") to include in API
  4293  	// requests with the JSON null value. By default, fields with empty values are
  4294  	// omitted from API requests. See
  4295  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4296  	NullFields []string `json:"-"`
  4297  }
  4298  
  4299  func (s *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductType) MarshalJSON() ([]byte, error) {
  4300  	type NoMethod GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductType
  4301  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4302  }
  4303  
  4304  // GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy: Represents a
  4305  // view of BiddingStrategies owned by and shared with the customer. In contrast
  4306  // to BiddingStrategy, this resource includes strategies owned by managers of
  4307  // the customer and shared with this customer - in addition to strategies owned
  4308  // by this customer. This resource does not provide metrics and only exposes a
  4309  // limited subset of the BiddingStrategy attributes.
  4310  type GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy struct {
  4311  	// Id: Output only. The ID of the bidding strategy.
  4312  	Id int64 `json:"id,omitempty,string"`
  4313  	// MaximizeConversionValue: Output only. An automated bidding strategy to help
  4314  	// get the most conversion value for your campaigns while spending your budget.
  4315  	MaximizeConversionValue *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue `json:"maximizeConversionValue,omitempty"`
  4316  	// MaximizeConversions: Output only. An automated bidding strategy to help get
  4317  	// the most conversions for your campaigns while spending your budget.
  4318  	MaximizeConversions *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversions `json:"maximizeConversions,omitempty"`
  4319  	// Name: Output only. The name of the bidding strategy.
  4320  	Name string `json:"name,omitempty"`
  4321  	// OwnerCustomerId: Output only. The ID of the Customer which owns the bidding
  4322  	// strategy.
  4323  	OwnerCustomerId int64 `json:"ownerCustomerId,omitempty,string"`
  4324  	// OwnerDescriptiveName: Output only. descriptive_name of the Customer which
  4325  	// owns the bidding strategy.
  4326  	OwnerDescriptiveName string `json:"ownerDescriptiveName,omitempty"`
  4327  	// ResourceName: Output only. The resource name of the accessible bidding
  4328  	// strategy. AccessibleBiddingStrategy resource names have the form:
  4329  	// `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}`
  4330  	ResourceName string `json:"resourceName,omitempty"`
  4331  	// TargetCpa: Output only. A bidding strategy that sets bids to help get as
  4332  	// many conversions as possible at the target cost-per-acquisition (CPA) you
  4333  	// set.
  4334  	TargetCpa *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetCpa `json:"targetCpa,omitempty"`
  4335  	// TargetImpressionShare: Output only. A bidding strategy that automatically
  4336  	// optimizes towards a chosen percentage of impressions.
  4337  	TargetImpressionShare *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetImpressionShare `json:"targetImpressionShare,omitempty"`
  4338  	// TargetRoas: Output only. A bidding strategy that helps you maximize revenue
  4339  	// while averaging a specific target Return On Ad Spend (ROAS).
  4340  	TargetRoas *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas `json:"targetRoas,omitempty"`
  4341  	// TargetSpend: Output only. A bid strategy that sets your bids to help get as
  4342  	// many clicks as possible within your budget.
  4343  	TargetSpend *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetSpend `json:"targetSpend,omitempty"`
  4344  	// Type: Output only. The type of the bidding strategy.
  4345  	//
  4346  	// Possible values:
  4347  	//   "UNSPECIFIED" - Not specified.
  4348  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4349  	// version.
  4350  	//   "COMMISSION" - Commission is an automatic bidding strategy in which the
  4351  	// advertiser pays a certain portion of the conversion value.
  4352  	//   "ENHANCED_CPC" - Enhanced CPC is a bidding strategy that raises bids for
  4353  	// clicks that seem more likely to lead to a conversion and lowers them for
  4354  	// clicks where they seem less likely.
  4355  	//   "INVALID" - Used for return value only. Indicates that a campaign does not
  4356  	// have a bidding strategy. This prevents the campaign from serving. For
  4357  	// example, a campaign may be attached to a manager bidding strategy and the
  4358  	// serving account is subsequently unlinked from the manager account. In this
  4359  	// case the campaign will automatically be detached from the now inaccessible
  4360  	// manager bidding strategy and transition to the INVALID bidding strategy
  4361  	// type.
  4362  	//   "MANUAL_CPA" - Manual bidding strategy that allows advertiser to set the
  4363  	// bid per advertiser-specified action.
  4364  	//   "MANUAL_CPC" - Manual click based bidding where user pays per click.
  4365  	//   "MANUAL_CPM" - Manual impression based bidding where user pays per
  4366  	// thousand impressions.
  4367  	//   "MANUAL_CPV" - A bidding strategy that pays a configurable amount per
  4368  	// video view.
  4369  	//   "MAXIMIZE_CONVERSIONS" - A bidding strategy that automatically maximizes
  4370  	// number of conversions given a daily budget.
  4371  	//   "MAXIMIZE_CONVERSION_VALUE" - An automated bidding strategy that
  4372  	// automatically sets bids to maximize revenue while spending your budget.
  4373  	//   "PAGE_ONE_PROMOTED" - Page-One Promoted bidding scheme, which sets max cpc
  4374  	// bids to target impressions on page one or page one promoted slots on
  4375  	// google.com. This enum value is deprecated.
  4376  	//   "PERCENT_CPC" - Percent Cpc is bidding strategy where bids are a fraction
  4377  	// of the advertised price for some good or service.
  4378  	//   "TARGET_CPA" - Target CPA is an automated bid strategy that sets bids to
  4379  	// help get as many conversions as possible at the target cost-per-acquisition
  4380  	// (CPA) you set.
  4381  	//   "TARGET_CPM" - Target CPM is an automated bid strategy that sets bids to
  4382  	// help get as many impressions as possible at the target cost per one thousand
  4383  	// impressions (CPM) you set.
  4384  	//   "TARGET_IMPRESSION_SHARE" - An automated bidding strategy that sets bids
  4385  	// so that a certain percentage of search ads are shown at the top of the first
  4386  	// page (or other targeted location).
  4387  	//   "TARGET_OUTRANK_SHARE" - Target Outrank Share is an automated bidding
  4388  	// strategy that sets bids based on the target fraction of auctions where the
  4389  	// advertiser should outrank a specific competitor. This enum value is
  4390  	// deprecated.
  4391  	//   "TARGET_ROAS" - Target ROAS is an automated bidding strategy that helps
  4392  	// you maximize revenue while averaging a specific target Return On Average
  4393  	// Spend (ROAS).
  4394  	//   "TARGET_SPEND" - Target Spend is an automated bid strategy that sets your
  4395  	// bids to help get as many clicks as possible within your budget.
  4396  	Type string `json:"type,omitempty"`
  4397  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  4398  	// include in API requests. By default, fields with empty or default values are
  4399  	// omitted from API requests. See
  4400  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4401  	// details.
  4402  	ForceSendFields []string `json:"-"`
  4403  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  4404  	// with the JSON null value. By default, fields with empty values are omitted
  4405  	// from API requests. See
  4406  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4407  	NullFields []string `json:"-"`
  4408  }
  4409  
  4410  func (s *GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy) MarshalJSON() ([]byte, error) {
  4411  	type NoMethod GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy
  4412  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4413  }
  4414  
  4415  // GoogleAdsSearchads360V0Resources__Ad: An ad.
  4416  type GoogleAdsSearchads360V0Resources__Ad struct {
  4417  	// DisplayUrl: The URL that appears in the ad description for some ad formats.
  4418  	DisplayUrl string `json:"displayUrl,omitempty"`
  4419  	// ExpandedDynamicSearchAd: Immutable. Details pertaining to an expanded
  4420  	// dynamic search ad.
  4421  	ExpandedDynamicSearchAd *GoogleAdsSearchads360V0Common__SearchAds360ExpandedDynamicSearchAdInfo `json:"expandedDynamicSearchAd,omitempty"`
  4422  	// ExpandedTextAd: Immutable. Details pertaining to an expanded text ad.
  4423  	ExpandedTextAd *GoogleAdsSearchads360V0Common__SearchAds360ExpandedTextAdInfo `json:"expandedTextAd,omitempty"`
  4424  	// FinalUrls: The list of possible final URLs after all cross-domain redirects
  4425  	// for the ad.
  4426  	FinalUrls []string `json:"finalUrls,omitempty"`
  4427  	// Id: Output only. The ID of the ad.
  4428  	Id int64 `json:"id,omitempty,string"`
  4429  	// Name: Immutable. The name of the ad. This is only used to be able to
  4430  	// identify the ad. It does not need to be unique and does not affect the
  4431  	// served ad. The name field is currently only supported for DisplayUploadAd,
  4432  	// ImageAd, ShoppingComparisonListingAd and VideoAd.
  4433  	Name string `json:"name,omitempty"`
  4434  	// ProductAd: Immutable. Details pertaining to a product ad.
  4435  	ProductAd *GoogleAdsSearchads360V0Common__SearchAds360ProductAdInfo `json:"productAd,omitempty"`
  4436  	// ResourceName: Immutable. The resource name of the ad. Ad resource names have
  4437  	// the form: `customers/{customer_id}/ads/{ad_id}`
  4438  	ResourceName string `json:"resourceName,omitempty"`
  4439  	// ResponsiveSearchAd: Immutable. Details pertaining to a responsive search ad.
  4440  	ResponsiveSearchAd *GoogleAdsSearchads360V0Common__SearchAds360ResponsiveSearchAdInfo `json:"responsiveSearchAd,omitempty"`
  4441  	// TextAd: Immutable. Details pertaining to a text ad.
  4442  	TextAd *GoogleAdsSearchads360V0Common__SearchAds360TextAdInfo `json:"textAd,omitempty"`
  4443  	// Type: Output only. The type of ad.
  4444  	//
  4445  	// Possible values:
  4446  	//   "UNSPECIFIED" - No value has been specified.
  4447  	//   "UNKNOWN" - The received value is not known in this version. This is a
  4448  	// response-only value.
  4449  	//   "TEXT_AD" - The ad is a text ad.
  4450  	//   "EXPANDED_TEXT_AD" - The ad is an expanded text ad.
  4451  	//   "CALL_ONLY_AD" - The ad is a call only ad.
  4452  	//   "EXPANDED_DYNAMIC_SEARCH_AD" - The ad is an expanded dynamic search ad.
  4453  	//   "HOTEL_AD" - The ad is a hotel ad.
  4454  	//   "SHOPPING_SMART_AD" - The ad is a Smart Shopping ad.
  4455  	//   "SHOPPING_PRODUCT_AD" - The ad is a standard Shopping ad.
  4456  	//   "VIDEO_AD" - The ad is a video ad.
  4457  	//   "GMAIL_AD" - This ad is a Gmail ad.
  4458  	//   "IMAGE_AD" - This ad is an Image ad.
  4459  	//   "RESPONSIVE_SEARCH_AD" - The ad is a responsive search ad.
  4460  	//   "LEGACY_RESPONSIVE_DISPLAY_AD" - The ad is a legacy responsive display ad.
  4461  	//   "APP_AD" - The ad is an app ad.
  4462  	//   "LEGACY_APP_INSTALL_AD" - The ad is a legacy app install ad.
  4463  	//   "RESPONSIVE_DISPLAY_AD" - The ad is a responsive display ad.
  4464  	//   "LOCAL_AD" - The ad is a local ad.
  4465  	//   "HTML5_UPLOAD_AD" - The ad is a display upload ad with the HTML5_UPLOAD_AD
  4466  	// product type.
  4467  	//   "DYNAMIC_HTML5_AD" - The ad is a display upload ad with one of the
  4468  	// DYNAMIC_HTML5_* product types.
  4469  	//   "APP_ENGAGEMENT_AD" - The ad is an app engagement ad.
  4470  	//   "SHOPPING_COMPARISON_LISTING_AD" - The ad is a Shopping Comparison Listing
  4471  	// ad.
  4472  	//   "VIDEO_BUMPER_AD" - Video bumper ad.
  4473  	//   "VIDEO_NON_SKIPPABLE_IN_STREAM_AD" - Video non-skippable in-stream ad.
  4474  	//   "VIDEO_OUTSTREAM_AD" - Video outstream ad.
  4475  	//   "VIDEO_TRUEVIEW_DISCOVERY_AD" - Video TrueView in-display ad.
  4476  	//   "VIDEO_TRUEVIEW_IN_STREAM_AD" - Video TrueView in-stream ad.
  4477  	//   "VIDEO_RESPONSIVE_AD" - Video responsive ad.
  4478  	//   "SMART_CAMPAIGN_AD" - Smart campaign ad.
  4479  	//   "APP_PRE_REGISTRATION_AD" - Universal app pre-registration ad.
  4480  	//   "DISCOVERY_MULTI_ASSET_AD" - Discovery multi asset ad.
  4481  	//   "DISCOVERY_CAROUSEL_AD" - Discovery carousel ad.
  4482  	//   "TRAVEL_AD" - Travel ad.
  4483  	//   "DISCOVERY_VIDEO_RESPONSIVE_AD" - Discovery video responsive ad.
  4484  	Type string `json:"type,omitempty"`
  4485  	// ForceSendFields is a list of field names (e.g. "DisplayUrl") to
  4486  	// unconditionally include in API requests. By default, fields with empty or
  4487  	// default values are omitted from API requests. See
  4488  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4489  	// details.
  4490  	ForceSendFields []string `json:"-"`
  4491  	// NullFields is a list of field names (e.g. "DisplayUrl") to include in API
  4492  	// requests with the JSON null value. By default, fields with empty values are
  4493  	// omitted from API requests. See
  4494  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4495  	NullFields []string `json:"-"`
  4496  }
  4497  
  4498  func (s *GoogleAdsSearchads360V0Resources__Ad) MarshalJSON() ([]byte, error) {
  4499  	type NoMethod GoogleAdsSearchads360V0Resources__Ad
  4500  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4501  }
  4502  
  4503  // GoogleAdsSearchads360V0Resources__AdGroup: An ad group.
  4504  type GoogleAdsSearchads360V0Resources__AdGroup struct {
  4505  	// AdRotationMode: The ad rotation mode of the ad group.
  4506  	//
  4507  	// Possible values:
  4508  	//   "UNSPECIFIED" - The ad rotation mode has not been specified.
  4509  	//   "UNKNOWN" - The received value is not known in this version. This is a
  4510  	// response-only value.
  4511  	//   "OPTIMIZE" - Optimize ad group ads based on clicks or conversions.
  4512  	//   "ROTATE_FOREVER" - Rotate evenly forever.
  4513  	AdRotationMode string `json:"adRotationMode,omitempty"`
  4514  	// CpcBidMicros: The maximum CPC (cost-per-click) bid.
  4515  	CpcBidMicros int64 `json:"cpcBidMicros,omitempty,string"`
  4516  	// CreationTime: Output only. The timestamp when this ad_group was created. The
  4517  	// timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss"
  4518  	// format.
  4519  	CreationTime string `json:"creationTime,omitempty"`
  4520  	// EndDate: Output only. Date when the ad group ends serving ads. By default,
  4521  	// the ad group ends on the ad group's end date. If this field is set, then the
  4522  	// ad group ends at the end of the specified date in the customer's time zone.
  4523  	// This field is only available for Microsoft Advertising and Facebook gateway
  4524  	// accounts. Format: YYYY-MM-DD Example: 2019-03-14
  4525  	EndDate string `json:"endDate,omitempty"`
  4526  	// EngineId: Output only. ID of the ad group in the external engine account.
  4527  	// This field is for non-Google Ads account only, for example, Yahoo Japan,
  4528  	// Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
  4529  	EngineId string `json:"engineId,omitempty"`
  4530  	// EngineStatus: Output only. The Engine Status for ad group.
  4531  	//
  4532  	// Possible values:
  4533  	//   "UNSPECIFIED" - Not specified.
  4534  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4535  	// version.
  4536  	//   "AD_GROUP_ELIGIBLE" - Deprecated. Do not use.
  4537  	//   "AD_GROUP_EXPIRED" - No ads are running for this ad group, because the ad
  4538  	// group's end date has passed.
  4539  	//   "AD_GROUP_REMOVED" - The ad group has been deleted.
  4540  	//   "AD_GROUP_DRAFT" - No ads are running for this ad group because the
  4541  	// associated ad group is still in draft form.
  4542  	//   "AD_GROUP_PAUSED" - The ad group has been paused.
  4543  	//   "AD_GROUP_SERVING" - The ad group is active and currently serving ads.
  4544  	//   "AD_GROUP_SUBMITTED" - The ad group has been submitted (Microsoft Bing Ads
  4545  	// legacy status).
  4546  	//   "CAMPAIGN_PAUSED" - No ads are running for this ad group, because the
  4547  	// campaign has been paused.
  4548  	//   "ACCOUNT_PAUSED" - No ads are running for this ad group, because the
  4549  	// account has been paused.
  4550  	EngineStatus string `json:"engineStatus,omitempty"`
  4551  	// Id: Output only. The ID of the ad group.
  4552  	Id int64 `json:"id,omitempty,string"`
  4553  	// Labels: Output only. The resource names of labels attached to this ad group.
  4554  	Labels []string `json:"labels,omitempty"`
  4555  	// LanguageCode: Output only. The language of the ads and keywords in an ad
  4556  	// group. This field is only available for Microsoft Advertising accounts. More
  4557  	// details:
  4558  	// https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
  4559  	LanguageCode string `json:"languageCode,omitempty"`
  4560  	// LastModifiedTime: Output only. The datetime when this ad group was last
  4561  	// modified. The datetime is in the customer's time zone and in "yyyy-MM-dd
  4562  	// HH:mm:ss.ssssss" format.
  4563  	LastModifiedTime string `json:"lastModifiedTime,omitempty"`
  4564  	// Name: The name of the ad group. This field is required and should not be
  4565  	// empty when creating new ad groups. It must contain fewer than 255 UTF-8
  4566  	// full-width characters. It must not contain any null (code point 0x0), NL
  4567  	// line feed (code point 0xA) or carriage return (code point 0xD) characters.
  4568  	Name string `json:"name,omitempty"`
  4569  	// ResourceName: Immutable. The resource name of the ad group. Ad group
  4570  	// resource names have the form:
  4571  	// `customers/{customer_id}/adGroups/{ad_group_id}`
  4572  	ResourceName string `json:"resourceName,omitempty"`
  4573  	// StartDate: Output only. Date when this ad group starts serving ads. By
  4574  	// default, the ad group starts now or the ad group's start date, whichever is
  4575  	// later. If this field is set, then the ad group starts at the beginning of
  4576  	// the specified date in the customer's time zone. This field is only available
  4577  	// for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD
  4578  	// Example: 2019-03-14
  4579  	StartDate string `json:"startDate,omitempty"`
  4580  	// Status: The status of the ad group.
  4581  	//
  4582  	// Possible values:
  4583  	//   "UNSPECIFIED" - The status has not been specified.
  4584  	//   "UNKNOWN" - The received value is not known in this version. This is a
  4585  	// response-only value.
  4586  	//   "ENABLED" - The ad group is enabled.
  4587  	//   "PAUSED" - The ad group is paused.
  4588  	//   "REMOVED" - The ad group is removed.
  4589  	Status string `json:"status,omitempty"`
  4590  	// TargetingSetting: Setting for targeting related features.
  4591  	TargetingSetting *GoogleAdsSearchads360V0Common__TargetingSetting `json:"targetingSetting,omitempty"`
  4592  	// Type: Immutable. The type of the ad group.
  4593  	//
  4594  	// Possible values:
  4595  	//   "UNSPECIFIED" - The type has not been specified.
  4596  	//   "UNKNOWN" - The received value is not known in this version. This is a
  4597  	// response-only value.
  4598  	//   "SEARCH_STANDARD" - The default ad group type for Search campaigns.
  4599  	//   "DISPLAY_STANDARD" - The default ad group type for Display campaigns.
  4600  	//   "SHOPPING_PRODUCT_ADS" - The ad group type for Shopping campaigns serving
  4601  	// standard product ads.
  4602  	//   "SHOPPING_SHOWCASE_ADS" - The type for ad groups that are limited to
  4603  	// serving Showcase or Merchant ads in Shopping results.
  4604  	//   "HOTEL_ADS" - The default ad group type for Hotel campaigns.
  4605  	//   "SHOPPING_SMART_ADS" - The type for ad groups in Smart Shopping campaigns.
  4606  	//   "VIDEO_BUMPER" - Short unskippable in-stream video ads.
  4607  	//   "VIDEO_TRUE_VIEW_IN_STREAM" - TrueView (skippable) in-stream video ads.
  4608  	//   "VIDEO_TRUE_VIEW_IN_DISPLAY" - TrueView in-display video ads.
  4609  	//   "VIDEO_NON_SKIPPABLE_IN_STREAM" - Unskippable in-stream video ads.
  4610  	//   "VIDEO_OUTSTREAM" - Outstream video ads.
  4611  	//   "SEARCH_DYNAMIC_ADS" - Ad group type for Dynamic Search Ads ad groups.
  4612  	//   "SHOPPING_COMPARISON_LISTING_ADS" - The type for ad groups in Shopping
  4613  	// Comparison Listing campaigns.
  4614  	//   "PROMOTED_HOTEL_ADS" - The ad group type for Promoted Hotel ad groups.
  4615  	//   "VIDEO_RESPONSIVE" - Video responsive ad groups.
  4616  	//   "VIDEO_EFFICIENT_REACH" - Video efficient reach ad groups.
  4617  	//   "SMART_CAMPAIGN_ADS" - Ad group type for Smart campaigns.
  4618  	//   "TRAVEL_ADS" - Ad group type for Travel campaigns.
  4619  	Type string `json:"type,omitempty"`
  4620  	// ForceSendFields is a list of field names (e.g. "AdRotationMode") to
  4621  	// unconditionally include in API requests. By default, fields with empty or
  4622  	// default values are omitted from API requests. See
  4623  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4624  	// details.
  4625  	ForceSendFields []string `json:"-"`
  4626  	// NullFields is a list of field names (e.g. "AdRotationMode") to include in
  4627  	// API requests with the JSON null value. By default, fields with empty values
  4628  	// are omitted from API requests. See
  4629  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4630  	NullFields []string `json:"-"`
  4631  }
  4632  
  4633  func (s *GoogleAdsSearchads360V0Resources__AdGroup) MarshalJSON() ([]byte, error) {
  4634  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroup
  4635  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4636  }
  4637  
  4638  // GoogleAdsSearchads360V0Resources__AdGroupAd: An ad group ad.
  4639  type GoogleAdsSearchads360V0Resources__AdGroupAd struct {
  4640  	// Ad: Immutable. The ad.
  4641  	Ad *GoogleAdsSearchads360V0Resources__Ad `json:"ad,omitempty"`
  4642  	// CreationTime: Output only. The timestamp when this ad_group_ad was created.
  4643  	// The datetime is in the customer's time zone and in "yyyy-MM-dd
  4644  	// HH:mm:ss.ssssss" format.
  4645  	CreationTime string `json:"creationTime,omitempty"`
  4646  	// EngineId: Output only. ID of the ad in the external engine account. This
  4647  	// field is for SearchAds 360 account only, for example, Yahoo Japan,
  4648  	// Microsoft, Baidu etc. For non-SearchAds 360 entity, use "ad_group_ad.ad.id"
  4649  	// instead.
  4650  	EngineId string `json:"engineId,omitempty"`
  4651  	// EngineStatus: Output only. Additional status of the ad in the external
  4652  	// engine account. Possible statuses (depending on the type of external
  4653  	// account) include active, eligible, pending review, etc.
  4654  	//
  4655  	// Possible values:
  4656  	//   "UNSPECIFIED" - No value has been specified.
  4657  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4658  	// version.
  4659  	//   "AD_GROUP_AD_ELIGIBLE" - Deprecated. Do not use.
  4660  	//   "AD_GROUP_AD_INAPPROPRIATE_FOR_CAMPAIGN" - Baidu: Creative was not
  4661  	// approved.
  4662  	//   "AD_GROUP_AD_MOBILE_URL_UNDER_REVIEW" - Baidu: Mobile URL in process to be
  4663  	// reviewed.
  4664  	//   "AD_GROUP_AD_PARTIALLY_INVALID" - Baidu: Creative is invalid on mobile
  4665  	// device but valid on desktop.
  4666  	//   "AD_GROUP_AD_TO_BE_ACTIVATED" - Baidu: Creative is ready for activation.
  4667  	//   "AD_GROUP_AD_NOT_REVIEWED" - Baidu: Creative not reviewed.
  4668  	//   "AD_GROUP_AD_ON_HOLD" - Deprecated. Do not use. Previously used by Gemini
  4669  	//   "AD_GROUP_AD_PAUSED" - Creative has been paused.
  4670  	//   "AD_GROUP_AD_REMOVED" - Creative has been removed.
  4671  	//   "AD_GROUP_AD_PENDING_REVIEW" - Creative is pending review.
  4672  	//   "AD_GROUP_AD_UNDER_REVIEW" - Creative is under review.
  4673  	//   "AD_GROUP_AD_APPROVED" - Creative has been approved.
  4674  	//   "AD_GROUP_AD_DISAPPROVED" - Creative has been disapproved.
  4675  	//   "AD_GROUP_AD_SERVING" - Creative is serving.
  4676  	//   "AD_GROUP_AD_ACCOUNT_PAUSED" - Creative has been paused because the
  4677  	// account is paused.
  4678  	//   "AD_GROUP_AD_CAMPAIGN_PAUSED" - Creative has been paused because the
  4679  	// campaign is paused.
  4680  	//   "AD_GROUP_AD_AD_GROUP_PAUSED" - Creative has been paused because the ad
  4681  	// group is paused.
  4682  	EngineStatus string `json:"engineStatus,omitempty"`
  4683  	// Labels: Output only. The resource names of labels attached to this ad group
  4684  	// ad.
  4685  	Labels []string `json:"labels,omitempty"`
  4686  	// LastModifiedTime: Output only. The datetime when this ad group ad was last
  4687  	// modified. The datetime is in the customer's time zone and in "yyyy-MM-dd
  4688  	// HH:mm:ss.ssssss" format.
  4689  	LastModifiedTime string `json:"lastModifiedTime,omitempty"`
  4690  	// ResourceName: Immutable. The resource name of the ad. Ad group ad resource
  4691  	// names have the form:
  4692  	// `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
  4693  	ResourceName string `json:"resourceName,omitempty"`
  4694  	// Status: The status of the ad.
  4695  	//
  4696  	// Possible values:
  4697  	//   "UNSPECIFIED" - No value has been specified.
  4698  	//   "UNKNOWN" - The received value is not known in this version. This is a
  4699  	// response-only value.
  4700  	//   "ENABLED" - The ad group ad is enabled.
  4701  	//   "PAUSED" - The ad group ad is paused.
  4702  	//   "REMOVED" - The ad group ad is removed.
  4703  	Status string `json:"status,omitempty"`
  4704  	// ForceSendFields is a list of field names (e.g. "Ad") to unconditionally
  4705  	// include in API requests. By default, fields with empty or default values are
  4706  	// omitted from API requests. See
  4707  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4708  	// details.
  4709  	ForceSendFields []string `json:"-"`
  4710  	// NullFields is a list of field names (e.g. "Ad") to include in API requests
  4711  	// with the JSON null value. By default, fields with empty values are omitted
  4712  	// from API requests. See
  4713  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4714  	NullFields []string `json:"-"`
  4715  }
  4716  
  4717  func (s *GoogleAdsSearchads360V0Resources__AdGroupAd) MarshalJSON() ([]byte, error) {
  4718  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroupAd
  4719  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4720  }
  4721  
  4722  // GoogleAdsSearchads360V0Resources__AdGroupAdLabel: A relationship between an
  4723  // ad group ad and a label.
  4724  type GoogleAdsSearchads360V0Resources__AdGroupAdLabel struct {
  4725  	// AdGroupAd: Immutable. The ad group ad to which the label is attached.
  4726  	AdGroupAd string `json:"adGroupAd,omitempty"`
  4727  	// Label: Immutable. The label assigned to the ad group ad.
  4728  	Label string `json:"label,omitempty"`
  4729  	// ResourceName: Immutable. The resource name of the ad group ad label. Ad
  4730  	// group ad label resource names have the form:
  4731  	// `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
  4732  	ResourceName string `json:"resourceName,omitempty"`
  4733  	// ForceSendFields is a list of field names (e.g. "AdGroupAd") to
  4734  	// unconditionally include in API requests. By default, fields with empty or
  4735  	// default values are omitted from API requests. See
  4736  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4737  	// details.
  4738  	ForceSendFields []string `json:"-"`
  4739  	// NullFields is a list of field names (e.g. "AdGroupAd") to include in API
  4740  	// requests with the JSON null value. By default, fields with empty values are
  4741  	// omitted from API requests. See
  4742  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4743  	NullFields []string `json:"-"`
  4744  }
  4745  
  4746  func (s *GoogleAdsSearchads360V0Resources__AdGroupAdLabel) MarshalJSON() ([]byte, error) {
  4747  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroupAdLabel
  4748  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4749  }
  4750  
  4751  // GoogleAdsSearchads360V0Resources__AdGroupAsset: A link between an ad group
  4752  // and an asset.
  4753  type GoogleAdsSearchads360V0Resources__AdGroupAsset struct {
  4754  	// AdGroup: Required. Immutable. The ad group to which the asset is linked.
  4755  	AdGroup string `json:"adGroup,omitempty"`
  4756  	// Asset: Required. Immutable. The asset which is linked to the ad group.
  4757  	Asset string `json:"asset,omitempty"`
  4758  	// ResourceName: Immutable. The resource name of the ad group asset.
  4759  	// AdGroupAsset resource names have the form:
  4760  	// `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
  4761  	ResourceName string `json:"resourceName,omitempty"`
  4762  	// Status: Status of the ad group asset.
  4763  	//
  4764  	// Possible values:
  4765  	//   "UNSPECIFIED" - Not specified.
  4766  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4767  	// version.
  4768  	//   "ENABLED" - Asset link is enabled.
  4769  	//   "REMOVED" - Asset link has been removed.
  4770  	//   "PAUSED" - Asset link is paused.
  4771  	Status string `json:"status,omitempty"`
  4772  	// ForceSendFields is a list of field names (e.g. "AdGroup") to unconditionally
  4773  	// include in API requests. By default, fields with empty or default values are
  4774  	// omitted from API requests. See
  4775  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4776  	// details.
  4777  	ForceSendFields []string `json:"-"`
  4778  	// NullFields is a list of field names (e.g. "AdGroup") to include in API
  4779  	// requests with the JSON null value. By default, fields with empty values are
  4780  	// omitted from API requests. See
  4781  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4782  	NullFields []string `json:"-"`
  4783  }
  4784  
  4785  func (s *GoogleAdsSearchads360V0Resources__AdGroupAsset) MarshalJSON() ([]byte, error) {
  4786  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroupAsset
  4787  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4788  }
  4789  
  4790  // GoogleAdsSearchads360V0Resources__AdGroupAssetSet: AdGroupAssetSet is the
  4791  // linkage between an ad group and an asset set. Creating an AdGroupAssetSet
  4792  // links an asset set with an ad group.
  4793  type GoogleAdsSearchads360V0Resources__AdGroupAssetSet struct {
  4794  	// AdGroup: Immutable. The ad group to which this asset set is linked.
  4795  	AdGroup string `json:"adGroup,omitempty"`
  4796  	// AssetSet: Immutable. The asset set which is linked to the ad group.
  4797  	AssetSet string `json:"assetSet,omitempty"`
  4798  	// ResourceName: Immutable. The resource name of the ad group asset set. Ad
  4799  	// group asset set resource names have the form:
  4800  	// `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}`
  4801  	ResourceName string `json:"resourceName,omitempty"`
  4802  	// Status: Output only. The status of the ad group asset set. Read-only.
  4803  	//
  4804  	// Possible values:
  4805  	//   "UNSPECIFIED" - The status has not been specified.
  4806  	//   "UNKNOWN" - The received value is not known in this version. This is a
  4807  	// response-only value.
  4808  	//   "ENABLED" - The linkage between asset set and its container is enabled.
  4809  	//   "REMOVED" - The linkage between asset set and its container is removed.
  4810  	Status string `json:"status,omitempty"`
  4811  	// ForceSendFields is a list of field names (e.g. "AdGroup") to unconditionally
  4812  	// include in API requests. By default, fields with empty or default values are
  4813  	// omitted from API requests. See
  4814  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4815  	// details.
  4816  	ForceSendFields []string `json:"-"`
  4817  	// NullFields is a list of field names (e.g. "AdGroup") to include in API
  4818  	// requests with the JSON null value. By default, fields with empty values are
  4819  	// omitted from API requests. See
  4820  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4821  	NullFields []string `json:"-"`
  4822  }
  4823  
  4824  func (s *GoogleAdsSearchads360V0Resources__AdGroupAssetSet) MarshalJSON() ([]byte, error) {
  4825  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroupAssetSet
  4826  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4827  }
  4828  
  4829  // GoogleAdsSearchads360V0Resources__AdGroupAudienceView: An ad group audience
  4830  // view. Includes performance data from interests and remarketing lists for
  4831  // Display Network and YouTube Network ads, and remarketing lists for search
  4832  // ads (RLSA), aggregated at the audience level.
  4833  type GoogleAdsSearchads360V0Resources__AdGroupAudienceView struct {
  4834  	// ResourceName: Output only. The resource name of the ad group audience view.
  4835  	// Ad group audience view resource names have the form:
  4836  	// `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}`
  4837  	ResourceName string `json:"resourceName,omitempty"`
  4838  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  4839  	// unconditionally include in API requests. By default, fields with empty or
  4840  	// default values are omitted from API requests. See
  4841  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4842  	// details.
  4843  	ForceSendFields []string `json:"-"`
  4844  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  4845  	// requests with the JSON null value. By default, fields with empty values are
  4846  	// omitted from API requests. See
  4847  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4848  	NullFields []string `json:"-"`
  4849  }
  4850  
  4851  func (s *GoogleAdsSearchads360V0Resources__AdGroupAudienceView) MarshalJSON() ([]byte, error) {
  4852  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroupAudienceView
  4853  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4854  }
  4855  
  4856  // GoogleAdsSearchads360V0Resources__AdGroupBidModifier: Represents an ad group
  4857  // bid modifier.
  4858  type GoogleAdsSearchads360V0Resources__AdGroupBidModifier struct {
  4859  	// BidModifier: The modifier for the bid when the criterion matches. The
  4860  	// modifier must be in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for
  4861  	// PreferredContent. Use 0 to opt out of a Device type.
  4862  	BidModifier float64 `json:"bidModifier,omitempty"`
  4863  	// Device: Immutable. A device criterion.
  4864  	Device *GoogleAdsSearchads360V0Common__DeviceInfo `json:"device,omitempty"`
  4865  	// ResourceName: Immutable. The resource name of the ad group bid modifier. Ad
  4866  	// group bid modifier resource names have the form:
  4867  	// `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
  4868  	ResourceName string `json:"resourceName,omitempty"`
  4869  	// ForceSendFields is a list of field names (e.g. "BidModifier") to
  4870  	// unconditionally include in API requests. By default, fields with empty or
  4871  	// default values are omitted from API requests. See
  4872  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4873  	// details.
  4874  	ForceSendFields []string `json:"-"`
  4875  	// NullFields is a list of field names (e.g. "BidModifier") to include in API
  4876  	// requests with the JSON null value. By default, fields with empty values are
  4877  	// omitted from API requests. See
  4878  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4879  	NullFields []string `json:"-"`
  4880  }
  4881  
  4882  func (s *GoogleAdsSearchads360V0Resources__AdGroupBidModifier) MarshalJSON() ([]byte, error) {
  4883  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroupBidModifier
  4884  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4885  }
  4886  
  4887  func (s *GoogleAdsSearchads360V0Resources__AdGroupBidModifier) UnmarshalJSON(data []byte) error {
  4888  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroupBidModifier
  4889  	var s1 struct {
  4890  		BidModifier gensupport.JSONFloat64 `json:"bidModifier"`
  4891  		*NoMethod
  4892  	}
  4893  	s1.NoMethod = (*NoMethod)(s)
  4894  	if err := json.Unmarshal(data, &s1); err != nil {
  4895  		return err
  4896  	}
  4897  	s.BidModifier = float64(s1.BidModifier)
  4898  	return nil
  4899  }
  4900  
  4901  // GoogleAdsSearchads360V0Resources__AdGroupCriterion: An ad group criterion.
  4902  // The ad_group_criterion report only returns criteria that were explicitly
  4903  // added to the ad group.
  4904  type GoogleAdsSearchads360V0Resources__AdGroupCriterion struct {
  4905  	// AdGroup: Immutable. The ad group to which the criterion belongs.
  4906  	AdGroup string `json:"adGroup,omitempty"`
  4907  	// AgeRange: Immutable. Age range.
  4908  	AgeRange *GoogleAdsSearchads360V0Common__AgeRangeInfo `json:"ageRange,omitempty"`
  4909  	// BidModifier: The modifier for the bid when the criterion matches. The
  4910  	// modifier must be in the range: 0.1 - 10.0. Most targetable criteria types
  4911  	// support modifiers.
  4912  	BidModifier float64 `json:"bidModifier,omitempty"`
  4913  	// CpcBidMicros: The CPC (cost-per-click) bid.
  4914  	CpcBidMicros int64 `json:"cpcBidMicros,omitempty,string"`
  4915  	// CreationTime: Output only. The timestamp when this ad group criterion was
  4916  	// created. The timestamp is in the customer's time zone and in "yyyy-MM-dd
  4917  	// HH:mm:ss" format.
  4918  	CreationTime string `json:"creationTime,omitempty"`
  4919  	// CriterionId: Output only. The ID of the criterion.
  4920  	CriterionId int64 `json:"criterionId,omitempty,string"`
  4921  	// EffectiveCpcBidMicros: Output only. The effective CPC (cost-per-click) bid.
  4922  	EffectiveCpcBidMicros int64 `json:"effectiveCpcBidMicros,omitempty,string"`
  4923  	// EngineId: Output only. ID of the ad group criterion in the external engine
  4924  	// account. This field is for non-Google Ads account only, for example, Yahoo
  4925  	// Japan, Microsoft, Baidu etc. For Google Ads entity, use
  4926  	// "ad_group_criterion.criterion_id" instead.
  4927  	EngineId string `json:"engineId,omitempty"`
  4928  	// EngineStatus: Output only. The Engine Status for ad group criterion.
  4929  	//
  4930  	// Possible values:
  4931  	//   "UNSPECIFIED" - Not specified.
  4932  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  4933  	// version.
  4934  	//   "AD_GROUP_CRITERION_ELIGIBLE" - Deprecated. Do not use.
  4935  	//   "AD_GROUP_CRITERION_INAPPROPRIATE_FOR_CAMPAIGN" - Baidu: Bid or quality
  4936  	// too low to be displayed.
  4937  	//   "AD_GROUP_CRITERION_INVALID_MOBILE_SEARCH" - Baidu: Bid or quality too low
  4938  	// for mobile, but eligible to display for desktop.
  4939  	//   "AD_GROUP_CRITERION_INVALID_PC_SEARCH" - Baidu: Bid or quality too low for
  4940  	// desktop, but eligible to display for mobile.
  4941  	//   "AD_GROUP_CRITERION_INVALID_SEARCH" - Baidu: Bid or quality too low to be
  4942  	// displayed.
  4943  	//   "AD_GROUP_CRITERION_LOW_SEARCH_VOLUME" - Baidu: Paused by Baidu due to low
  4944  	// search volume.
  4945  	//   "AD_GROUP_CRITERION_MOBILE_URL_UNDER_REVIEW" - Baidu: Mobile URL in
  4946  	// process to be reviewed.
  4947  	//   "AD_GROUP_CRITERION_PARTIALLY_INVALID" - Baidu: The landing page for one
  4948  	// device is invalid, while the landing page for the other device is valid.
  4949  	//   "AD_GROUP_CRITERION_TO_BE_ACTIVATED" - Baidu: Keyword has been created and
  4950  	// paused by Baidu account management, and is now ready for you to activate it.
  4951  	//   "AD_GROUP_CRITERION_UNDER_REVIEW" - Baidu: In process to be reviewed by
  4952  	// Baidu. Gemini: Criterion under review.
  4953  	//   "AD_GROUP_CRITERION_NOT_REVIEWED" - Baidu: Criterion to be reviewed.
  4954  	//   "AD_GROUP_CRITERION_ON_HOLD" - Deprecated. Do not use. Previously used by
  4955  	// Gemini
  4956  	//   "AD_GROUP_CRITERION_PENDING_REVIEW" - Y!J : Criterion pending review
  4957  	//   "AD_GROUP_CRITERION_PAUSED" - Criterion has been paused.
  4958  	//   "AD_GROUP_CRITERION_REMOVED" - Criterion has been removed.
  4959  	//   "AD_GROUP_CRITERION_APPROVED" - Criterion has been approved.
  4960  	//   "AD_GROUP_CRITERION_DISAPPROVED" - Criterion has been disapproved.
  4961  	//   "AD_GROUP_CRITERION_SERVING" - Criterion is active and serving.
  4962  	//   "AD_GROUP_CRITERION_ACCOUNT_PAUSED" - Criterion has been paused since the
  4963  	// account is paused.
  4964  	EngineStatus string `json:"engineStatus,omitempty"`
  4965  	// FinalUrlSuffix: URL template for appending params to final URL.
  4966  	FinalUrlSuffix string `json:"finalUrlSuffix,omitempty"`
  4967  	// FinalUrls: The list of possible final URLs after all cross-domain redirects
  4968  	// for the ad.
  4969  	FinalUrls []string `json:"finalUrls,omitempty"`
  4970  	// Gender: Immutable. Gender.
  4971  	Gender *GoogleAdsSearchads360V0Common__GenderInfo `json:"gender,omitempty"`
  4972  	// Keyword: Immutable. Keyword.
  4973  	Keyword *GoogleAdsSearchads360V0Common__KeywordInfo `json:"keyword,omitempty"`
  4974  	// Labels: Output only. The resource names of labels attached to this ad group
  4975  	// criterion.
  4976  	Labels []string `json:"labels,omitempty"`
  4977  	// LastModifiedTime: Output only. The datetime when this ad group criterion was
  4978  	// last modified. The datetime is in the customer's time zone and in
  4979  	// "yyyy-MM-dd HH:mm:ss.ssssss" format.
  4980  	LastModifiedTime string `json:"lastModifiedTime,omitempty"`
  4981  	// ListingGroup: Immutable. Listing group.
  4982  	ListingGroup *GoogleAdsSearchads360V0Common__ListingGroupInfo `json:"listingGroup,omitempty"`
  4983  	// Location: Immutable. Location.
  4984  	Location *GoogleAdsSearchads360V0Common__LocationInfo `json:"location,omitempty"`
  4985  	// Negative: Immutable. Whether to target (`false`) or exclude (`true`) the
  4986  	// criterion. This field is immutable. To switch a criterion from positive to
  4987  	// negative, remove then re-add it.
  4988  	Negative bool `json:"negative,omitempty"`
  4989  	// PositionEstimates: Output only. Estimates for criterion bids at various
  4990  	// positions.
  4991  	PositionEstimates *GoogleAdsSearchads360V0ResourcesAdGroupCriterionPositionEstimates `json:"positionEstimates,omitempty"`
  4992  	// QualityInfo: Output only. Information regarding the quality of the
  4993  	// criterion.
  4994  	QualityInfo *GoogleAdsSearchads360V0ResourcesAdGroupCriterionQualityInfo `json:"qualityInfo,omitempty"`
  4995  	// ResourceName: Immutable. The resource name of the ad group criterion. Ad
  4996  	// group criterion resource names have the form:
  4997  	// `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
  4998  	ResourceName string `json:"resourceName,omitempty"`
  4999  	// Status: The status of the criterion. This is the status of the ad group
  5000  	// criterion entity, set by the client. Note: UI reports may incorporate
  5001  	// additional information that affects whether a criterion is eligible to run.
  5002  	// In some cases a criterion that's REMOVED in the API can still show as
  5003  	// enabled in the UI. For example, campaigns by default show to users of all
  5004  	// age ranges unless excluded. The UI will show each age range as "enabled",
  5005  	// since they're eligible to see the ads; but AdGroupCriterion.status will show
  5006  	// "removed", since no positive criterion was added.
  5007  	//
  5008  	// Possible values:
  5009  	//   "UNSPECIFIED" - No value has been specified.
  5010  	//   "UNKNOWN" - The received value is not known in this version. This is a
  5011  	// response-only value.
  5012  	//   "ENABLED" - The ad group criterion is enabled.
  5013  	//   "PAUSED" - The ad group criterion is paused.
  5014  	//   "REMOVED" - The ad group criterion is removed.
  5015  	Status string `json:"status,omitempty"`
  5016  	// TrackingUrlTemplate: The URL template for constructing a tracking URL.
  5017  	TrackingUrlTemplate string `json:"trackingUrlTemplate,omitempty"`
  5018  	// Type: Output only. The type of the criterion.
  5019  	//
  5020  	// Possible values:
  5021  	//   "UNSPECIFIED" - Not specified.
  5022  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  5023  	// version.
  5024  	//   "KEYWORD" - Keyword, for example, 'mars cruise'.
  5025  	//   "PLACEMENT" - Placement, also known as Website, for example,
  5026  	// 'www.flowers4sale.com'
  5027  	//   "MOBILE_APP_CATEGORY" - Mobile application categories to target.
  5028  	//   "MOBILE_APPLICATION" - Mobile applications to target.
  5029  	//   "DEVICE" - Devices to target.
  5030  	//   "LOCATION" - Locations to target.
  5031  	//   "LISTING_GROUP" - Listing groups to target.
  5032  	//   "AD_SCHEDULE" - Ad Schedule.
  5033  	//   "AGE_RANGE" - Age range.
  5034  	//   "GENDER" - Gender.
  5035  	//   "INCOME_RANGE" - Income Range.
  5036  	//   "PARENTAL_STATUS" - Parental status.
  5037  	//   "YOUTUBE_VIDEO" - YouTube Video.
  5038  	//   "YOUTUBE_CHANNEL" - YouTube Channel.
  5039  	//   "USER_LIST" - User list.
  5040  	//   "PROXIMITY" - Proximity.
  5041  	//   "TOPIC" - A topic target on the display network (for example, "Pets &
  5042  	// Animals").
  5043  	//   "LISTING_SCOPE" - Listing scope to target.
  5044  	//   "LANGUAGE" - Language.
  5045  	//   "IP_BLOCK" - IpBlock.
  5046  	//   "CONTENT_LABEL" - Content Label for category exclusion.
  5047  	//   "CARRIER" - Carrier.
  5048  	//   "USER_INTEREST" - A category the user is interested in.
  5049  	//   "WEBPAGE" - Webpage criterion for dynamic search ads.
  5050  	//   "OPERATING_SYSTEM_VERSION" - Operating system version.
  5051  	//   "APP_PAYMENT_MODEL" - App payment model.
  5052  	//   "MOBILE_DEVICE" - Mobile device.
  5053  	//   "CUSTOM_AFFINITY" - Custom affinity.
  5054  	//   "CUSTOM_INTENT" - Custom intent.
  5055  	//   "LOCATION_GROUP" - Location group.
  5056  	//   "CUSTOM_AUDIENCE" - Custom audience
  5057  	//   "COMBINED_AUDIENCE" - Combined audience
  5058  	//   "KEYWORD_THEME" - Smart Campaign keyword theme
  5059  	//   "AUDIENCE" - Audience
  5060  	//   "LOCAL_SERVICE_ID" - Local Services Ads Service ID.
  5061  	//   "BRAND" - Brand
  5062  	//   "BRAND_LIST" - Brand List
  5063  	//   "LIFE_EVENT" - Life Event
  5064  	Type string `json:"type,omitempty"`
  5065  	// UserList: Immutable. User List.
  5066  	UserList *GoogleAdsSearchads360V0Common__UserListInfo `json:"userList,omitempty"`
  5067  	// Webpage: Immutable. Webpage
  5068  	Webpage *GoogleAdsSearchads360V0Common__WebpageInfo `json:"webpage,omitempty"`
  5069  	// ForceSendFields is a list of field names (e.g. "AdGroup") to unconditionally
  5070  	// include in API requests. By default, fields with empty or default values are
  5071  	// omitted from API requests. See
  5072  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5073  	// details.
  5074  	ForceSendFields []string `json:"-"`
  5075  	// NullFields is a list of field names (e.g. "AdGroup") to include in API
  5076  	// requests with the JSON null value. By default, fields with empty values are
  5077  	// omitted from API requests. See
  5078  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5079  	NullFields []string `json:"-"`
  5080  }
  5081  
  5082  func (s *GoogleAdsSearchads360V0Resources__AdGroupCriterion) MarshalJSON() ([]byte, error) {
  5083  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroupCriterion
  5084  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5085  }
  5086  
  5087  func (s *GoogleAdsSearchads360V0Resources__AdGroupCriterion) UnmarshalJSON(data []byte) error {
  5088  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroupCriterion
  5089  	var s1 struct {
  5090  		BidModifier gensupport.JSONFloat64 `json:"bidModifier"`
  5091  		*NoMethod
  5092  	}
  5093  	s1.NoMethod = (*NoMethod)(s)
  5094  	if err := json.Unmarshal(data, &s1); err != nil {
  5095  		return err
  5096  	}
  5097  	s.BidModifier = float64(s1.BidModifier)
  5098  	return nil
  5099  }
  5100  
  5101  // GoogleAdsSearchads360V0Resources__AdGroupCriterionLabel: A relationship
  5102  // between an ad group criterion and a label.
  5103  type GoogleAdsSearchads360V0Resources__AdGroupCriterionLabel struct {
  5104  	// AdGroupCriterion: Immutable. The ad group criterion to which the label is
  5105  	// attached.
  5106  	AdGroupCriterion string `json:"adGroupCriterion,omitempty"`
  5107  	// Label: Immutable. The label assigned to the ad group criterion.
  5108  	Label string `json:"label,omitempty"`
  5109  	// ResourceName: Immutable. The resource name of the ad group criterion label.
  5110  	// Ad group criterion label resource names have the form:
  5111  	// `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~
  5112  	// {label_id}`
  5113  	ResourceName string `json:"resourceName,omitempty"`
  5114  	// ForceSendFields is a list of field names (e.g. "AdGroupCriterion") to
  5115  	// unconditionally include in API requests. By default, fields with empty or
  5116  	// default values are omitted from API requests. See
  5117  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5118  	// details.
  5119  	ForceSendFields []string `json:"-"`
  5120  	// NullFields is a list of field names (e.g. "AdGroupCriterion") to include in
  5121  	// API requests with the JSON null value. By default, fields with empty values
  5122  	// are omitted from API requests. See
  5123  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5124  	NullFields []string `json:"-"`
  5125  }
  5126  
  5127  func (s *GoogleAdsSearchads360V0Resources__AdGroupCriterionLabel) MarshalJSON() ([]byte, error) {
  5128  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroupCriterionLabel
  5129  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5130  }
  5131  
  5132  // GoogleAdsSearchads360V0Resources__AdGroupLabel: A relationship between an ad
  5133  // group and a label.
  5134  type GoogleAdsSearchads360V0Resources__AdGroupLabel struct {
  5135  	// AdGroup: Immutable. The ad group to which the label is attached.
  5136  	AdGroup string `json:"adGroup,omitempty"`
  5137  	// Label: Immutable. The label assigned to the ad group.
  5138  	Label string `json:"label,omitempty"`
  5139  	// ResourceName: Immutable. The resource name of the ad group label. Ad group
  5140  	// label resource names have the form:
  5141  	// `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
  5142  	ResourceName string `json:"resourceName,omitempty"`
  5143  	// ForceSendFields is a list of field names (e.g. "AdGroup") to unconditionally
  5144  	// include in API requests. By default, fields with empty or default values are
  5145  	// omitted from API requests. See
  5146  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5147  	// details.
  5148  	ForceSendFields []string `json:"-"`
  5149  	// NullFields is a list of field names (e.g. "AdGroup") to include in API
  5150  	// requests with the JSON null value. By default, fields with empty values are
  5151  	// omitted from API requests. See
  5152  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5153  	NullFields []string `json:"-"`
  5154  }
  5155  
  5156  func (s *GoogleAdsSearchads360V0Resources__AdGroupLabel) MarshalJSON() ([]byte, error) {
  5157  	type NoMethod GoogleAdsSearchads360V0Resources__AdGroupLabel
  5158  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5159  }
  5160  
  5161  // GoogleAdsSearchads360V0Resources__AgeRangeView: An age range view.
  5162  type GoogleAdsSearchads360V0Resources__AgeRangeView struct {
  5163  	// ResourceName: Output only. The resource name of the age range view. Age
  5164  	// range view resource names have the form:
  5165  	// `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}`
  5166  	ResourceName string `json:"resourceName,omitempty"`
  5167  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  5168  	// unconditionally include in API requests. By default, fields with empty or
  5169  	// default values are omitted from API requests. See
  5170  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5171  	// details.
  5172  	ForceSendFields []string `json:"-"`
  5173  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  5174  	// requests with the JSON null value. By default, fields with empty values are
  5175  	// omitted from API requests. See
  5176  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5177  	NullFields []string `json:"-"`
  5178  }
  5179  
  5180  func (s *GoogleAdsSearchads360V0Resources__AgeRangeView) MarshalJSON() ([]byte, error) {
  5181  	type NoMethod GoogleAdsSearchads360V0Resources__AgeRangeView
  5182  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5183  }
  5184  
  5185  // GoogleAdsSearchads360V0Resources__Asset: Asset is a part of an ad which can
  5186  // be shared across multiple ads. It can be an image (ImageAsset), a video
  5187  // (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To
  5188  // stop an asset from serving, remove the asset from the entity that is using
  5189  // it.
  5190  type GoogleAdsSearchads360V0Resources__Asset struct {
  5191  	// CallAsset: Output only. A unified call asset.
  5192  	CallAsset *GoogleAdsSearchads360V0Common__UnifiedCallAsset `json:"callAsset,omitempty"`
  5193  	// CallToActionAsset: Immutable. A call to action asset.
  5194  	CallToActionAsset *GoogleAdsSearchads360V0Common__CallToActionAsset `json:"callToActionAsset,omitempty"`
  5195  	// CalloutAsset: Output only. A unified callout asset.
  5196  	CalloutAsset *GoogleAdsSearchads360V0Common__UnifiedCalloutAsset `json:"calloutAsset,omitempty"`
  5197  	// CreationTime: Output only. The timestamp when this asset was created. The
  5198  	// timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss"
  5199  	// format.
  5200  	CreationTime string `json:"creationTime,omitempty"`
  5201  	// EngineStatus: Output only. The Engine Status for an asset.
  5202  	//
  5203  	// Possible values:
  5204  	//   "UNSPECIFIED" - Not specified.
  5205  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  5206  	// version.
  5207  	//   "SERVING" - The asset is active.
  5208  	//   "SERVING_LIMITED" - The asset is active limited.
  5209  	//   "DISAPPROVED" - The asset is disapproved (not eligible).
  5210  	//   "DISABLED" - The asset is inactive (pending).
  5211  	//   "REMOVED" - The asset has been removed.
  5212  	EngineStatus string `json:"engineStatus,omitempty"`
  5213  	// FinalUrls: A list of possible final URLs after all cross domain redirects.
  5214  	FinalUrls []string `json:"finalUrls,omitempty"`
  5215  	// Id: Output only. The ID of the asset.
  5216  	Id int64 `json:"id,omitempty,string"`
  5217  	// ImageAsset: Output only. An image asset.
  5218  	ImageAsset *GoogleAdsSearchads360V0Common__ImageAsset `json:"imageAsset,omitempty"`
  5219  	// LastModifiedTime: Output only. The datetime when this asset was last
  5220  	// modified. The datetime is in the customer's time zone and in "yyyy-MM-dd
  5221  	// HH:mm:ss.ssssss" format.
  5222  	LastModifiedTime string `json:"lastModifiedTime,omitempty"`
  5223  	// LocationAsset: Output only. A unified location asset.
  5224  	LocationAsset *GoogleAdsSearchads360V0Common__UnifiedLocationAsset `json:"locationAsset,omitempty"`
  5225  	// MobileAppAsset: A mobile app asset.
  5226  	MobileAppAsset *GoogleAdsSearchads360V0Common__MobileAppAsset `json:"mobileAppAsset,omitempty"`
  5227  	// Name: Optional name of the asset.
  5228  	Name string `json:"name,omitempty"`
  5229  	// PageFeedAsset: Output only. A unified page feed asset.
  5230  	PageFeedAsset *GoogleAdsSearchads360V0Common__UnifiedPageFeedAsset `json:"pageFeedAsset,omitempty"`
  5231  	// ResourceName: Immutable. The resource name of the asset. Asset resource
  5232  	// names have the form: `customers/{customer_id}/assets/{asset_id}`
  5233  	ResourceName string `json:"resourceName,omitempty"`
  5234  	// SitelinkAsset: Output only. A unified sitelink asset.
  5235  	SitelinkAsset *GoogleAdsSearchads360V0Common__UnifiedSitelinkAsset `json:"sitelinkAsset,omitempty"`
  5236  	// Status: Output only. The status of the asset.
  5237  	//
  5238  	// Possible values:
  5239  	//   "UNSPECIFIED" - The status has not been specified.
  5240  	//   "UNKNOWN" - The received value is not known in this version. This is a
  5241  	// response-only value.
  5242  	//   "ENABLED" - The asset is enabled.
  5243  	//   "REMOVED" - The asset is removed.
  5244  	//   "ARCHIVED" - The asset is archived.
  5245  	//   "PENDING_SYSTEM_GENERATED" - The asset is system generated pending user
  5246  	// review.
  5247  	Status string `json:"status,omitempty"`
  5248  	// TextAsset: Output only. A text asset.
  5249  	TextAsset *GoogleAdsSearchads360V0Common__TextAsset `json:"textAsset,omitempty"`
  5250  	// TrackingUrlTemplate: URL template for constructing a tracking URL.
  5251  	TrackingUrlTemplate string `json:"trackingUrlTemplate,omitempty"`
  5252  	// Type: Output only. Type of the asset.
  5253  	//
  5254  	// Possible values:
  5255  	//   "UNSPECIFIED" - Not specified.
  5256  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  5257  	// version.
  5258  	//   "YOUTUBE_VIDEO" - YouTube video asset.
  5259  	//   "MEDIA_BUNDLE" - Media bundle asset.
  5260  	//   "IMAGE" - Image asset.
  5261  	//   "TEXT" - Text asset.
  5262  	//   "LEAD_FORM" - Lead form asset.
  5263  	//   "BOOK_ON_GOOGLE" - Book on Google asset.
  5264  	//   "PROMOTION" - Promotion asset.
  5265  	//   "CALLOUT" - Callout asset.
  5266  	//   "STRUCTURED_SNIPPET" - Structured Snippet asset.
  5267  	//   "SITELINK" - Sitelink asset.
  5268  	//   "PAGE_FEED" - Page Feed asset.
  5269  	//   "DYNAMIC_EDUCATION" - Dynamic Education asset.
  5270  	//   "MOBILE_APP" - Mobile app asset.
  5271  	//   "HOTEL_CALLOUT" - Hotel callout asset.
  5272  	//   "CALL" - Call asset.
  5273  	//   "PRICE" - Price asset.
  5274  	//   "CALL_TO_ACTION" - Call to action asset.
  5275  	//   "DYNAMIC_REAL_ESTATE" - Dynamic real estate asset.
  5276  	//   "DYNAMIC_CUSTOM" - Dynamic custom asset.
  5277  	//   "DYNAMIC_HOTELS_AND_RENTALS" - Dynamic hotels and rentals asset.
  5278  	//   "DYNAMIC_FLIGHTS" - Dynamic flights asset.
  5279  	//   "DISCOVERY_CAROUSEL_CARD" - Discovery Carousel Card asset.
  5280  	//   "DYNAMIC_TRAVEL" - Dynamic travel asset.
  5281  	//   "DYNAMIC_LOCAL" - Dynamic local asset.
  5282  	//   "DYNAMIC_JOBS" - Dynamic jobs asset.
  5283  	//   "LOCATION" - Location asset.
  5284  	//   "HOTEL_PROPERTY" - Hotel property asset.
  5285  	Type string `json:"type,omitempty"`
  5286  	// YoutubeVideoAsset: Immutable. A YouTube video asset.
  5287  	YoutubeVideoAsset *GoogleAdsSearchads360V0Common__YoutubeVideoAsset `json:"youtubeVideoAsset,omitempty"`
  5288  	// ForceSendFields is a list of field names (e.g. "CallAsset") to
  5289  	// unconditionally include in API requests. By default, fields with empty or
  5290  	// default values are omitted from API requests. See
  5291  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5292  	// details.
  5293  	ForceSendFields []string `json:"-"`
  5294  	// NullFields is a list of field names (e.g. "CallAsset") to include in API
  5295  	// requests with the JSON null value. By default, fields with empty values are
  5296  	// omitted from API requests. See
  5297  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5298  	NullFields []string `json:"-"`
  5299  }
  5300  
  5301  func (s *GoogleAdsSearchads360V0Resources__Asset) MarshalJSON() ([]byte, error) {
  5302  	type NoMethod GoogleAdsSearchads360V0Resources__Asset
  5303  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5304  }
  5305  
  5306  // GoogleAdsSearchads360V0Resources__AssetGroup: An asset group.
  5307  // AssetGroupAsset is used to link an asset to the asset group.
  5308  // AssetGroupSignal is used to associate a signal to an asset group.
  5309  type GoogleAdsSearchads360V0Resources__AssetGroup struct {
  5310  	// AdStrength: Output only. Overall ad strength of this asset group.
  5311  	//
  5312  	// Possible values:
  5313  	//   "UNSPECIFIED" - Not specified.
  5314  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  5315  	// version.
  5316  	//   "PENDING" - The ad strength is currently pending.
  5317  	//   "NO_ADS" - No ads could be generated.
  5318  	//   "POOR" - Poor strength.
  5319  	//   "AVERAGE" - Average strength.
  5320  	//   "GOOD" - Good strength.
  5321  	//   "EXCELLENT" - Excellent strength.
  5322  	AdStrength string `json:"adStrength,omitempty"`
  5323  	// Campaign: Immutable. The campaign with which this asset group is associated.
  5324  	// The asset which is linked to the asset group.
  5325  	Campaign string `json:"campaign,omitempty"`
  5326  	// FinalMobileUrls: A list of final mobile URLs after all cross domain
  5327  	// redirects. In performance max, by default, the urls are eligible for
  5328  	// expansion unless opted out.
  5329  	FinalMobileUrls []string `json:"finalMobileUrls,omitempty"`
  5330  	// FinalUrls: A list of final URLs after all cross domain redirects. In
  5331  	// performance max, by default, the urls are eligible for expansion unless
  5332  	// opted out.
  5333  	FinalUrls []string `json:"finalUrls,omitempty"`
  5334  	// Id: Output only. The ID of the asset group.
  5335  	Id int64 `json:"id,omitempty,string"`
  5336  	// Name: Required. Name of the asset group. Required. It must have a minimum
  5337  	// length of 1 and maximum length of 128. It must be unique under a campaign.
  5338  	Name string `json:"name,omitempty"`
  5339  	// Path1: First part of text that may appear appended to the url displayed in
  5340  	// the ad.
  5341  	Path1 string `json:"path1,omitempty"`
  5342  	// Path2: Second part of text that may appear appended to the url displayed in
  5343  	// the ad. This field can only be set when path1 is set.
  5344  	Path2 string `json:"path2,omitempty"`
  5345  	// ResourceName: Immutable. The resource name of the asset group. Asset group
  5346  	// resource names have the form:
  5347  	// `customers/{customer_id}/assetGroups/{asset_group_id}`
  5348  	ResourceName string `json:"resourceName,omitempty"`
  5349  	// Status: The status of the asset group.
  5350  	//
  5351  	// Possible values:
  5352  	//   "UNSPECIFIED" - The status has not been specified.
  5353  	//   "UNKNOWN" - The received value is not known in this version.
  5354  	//   "ENABLED" - The asset group is enabled.
  5355  	//   "PAUSED" - The asset group is paused.
  5356  	//   "REMOVED" - The asset group is removed.
  5357  	Status string `json:"status,omitempty"`
  5358  	// ForceSendFields is a list of field names (e.g. "AdStrength") to
  5359  	// unconditionally include in API requests. By default, fields with empty or
  5360  	// default values are omitted from API requests. See
  5361  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5362  	// details.
  5363  	ForceSendFields []string `json:"-"`
  5364  	// NullFields is a list of field names (e.g. "AdStrength") to include in API
  5365  	// requests with the JSON null value. By default, fields with empty values are
  5366  	// omitted from API requests. See
  5367  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5368  	NullFields []string `json:"-"`
  5369  }
  5370  
  5371  func (s *GoogleAdsSearchads360V0Resources__AssetGroup) MarshalJSON() ([]byte, error) {
  5372  	type NoMethod GoogleAdsSearchads360V0Resources__AssetGroup
  5373  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5374  }
  5375  
  5376  // GoogleAdsSearchads360V0Resources__AssetGroupAsset: AssetGroupAsset is the
  5377  // link between an asset and an asset group. Adding an AssetGroupAsset links an
  5378  // asset with an asset group.
  5379  type GoogleAdsSearchads360V0Resources__AssetGroupAsset struct {
  5380  	// Asset: Immutable. The asset which this asset group asset is linking.
  5381  	Asset string `json:"asset,omitempty"`
  5382  	// AssetGroup: Immutable. The asset group which this asset group asset is
  5383  	// linking.
  5384  	AssetGroup string `json:"assetGroup,omitempty"`
  5385  	// FieldType: The description of the placement of the asset within the asset
  5386  	// group. For example: HEADLINE, YOUTUBE_VIDEO etc
  5387  	//
  5388  	// Possible values:
  5389  	//   "UNSPECIFIED" - Not specified.
  5390  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  5391  	// version.
  5392  	//   "HEADLINE" - The asset is linked for use as a headline.
  5393  	//   "DESCRIPTION" - The asset is linked for use as a description.
  5394  	//   "MANDATORY_AD_TEXT" - The asset is linked for use as mandatory ad text.
  5395  	//   "MARKETING_IMAGE" - The asset is linked for use as a marketing image.
  5396  	//   "MEDIA_BUNDLE" - The asset is linked for use as a media bundle.
  5397  	//   "YOUTUBE_VIDEO" - The asset is linked for use as a YouTube video.
  5398  	//   "BOOK_ON_GOOGLE" - The asset is linked to indicate that a hotels campaign
  5399  	// is "Book on Google" enabled.
  5400  	//   "LEAD_FORM" - The asset is linked for use as a Lead Form extension.
  5401  	//   "PROMOTION" - The asset is linked for use as a Promotion extension.
  5402  	//   "CALLOUT" - The asset is linked for use as a Callout extension.
  5403  	//   "STRUCTURED_SNIPPET" - The asset is linked for use as a Structured Snippet
  5404  	// extension.
  5405  	//   "SITELINK" - The asset is linked for use as a Sitelink.
  5406  	//   "MOBILE_APP" - The asset is linked for use as a Mobile App extension.
  5407  	//   "HOTEL_CALLOUT" - The asset is linked for use as a Hotel Callout
  5408  	// extension.
  5409  	//   "CALL" - The asset is linked for use as a Call extension.
  5410  	//   "PRICE" - The asset is linked for use as a Price extension.
  5411  	//   "LONG_HEADLINE" - The asset is linked for use as a long headline.
  5412  	//   "BUSINESS_NAME" - The asset is linked for use as a business name.
  5413  	//   "SQUARE_MARKETING_IMAGE" - The asset is linked for use as a square
  5414  	// marketing image.
  5415  	//   "PORTRAIT_MARKETING_IMAGE" - The asset is linked for use as a portrait
  5416  	// marketing image.
  5417  	//   "LOGO" - The asset is linked for use as a logo.
  5418  	//   "LANDSCAPE_LOGO" - The asset is linked for use as a landscape logo.
  5419  	//   "VIDEO" - The asset is linked for use as a non YouTube logo.
  5420  	//   "CALL_TO_ACTION_SELECTION" - The asset is linked for use to select a
  5421  	// call-to-action.
  5422  	//   "AD_IMAGE" - The asset is linked for use to select an ad image.
  5423  	//   "BUSINESS_LOGO" - The asset is linked for use as a business logo.
  5424  	//   "HOTEL_PROPERTY" - The asset is linked for use as a hotel property in a
  5425  	// Performance Max for travel goals campaign.
  5426  	//   "DISCOVERY_CAROUSEL_CARD" - The asset is linked for use as a discovery
  5427  	// carousel card.
  5428  	FieldType string `json:"fieldType,omitempty"`
  5429  	// ResourceName: Immutable. The resource name of the asset group asset. Asset
  5430  	// group asset resource name have the form:
  5431  	// `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_
  5432  	// type}`
  5433  	ResourceName string `json:"resourceName,omitempty"`
  5434  	// Status: The status of the link between an asset and asset group.
  5435  	//
  5436  	// Possible values:
  5437  	//   "UNSPECIFIED" - Not specified.
  5438  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  5439  	// version.
  5440  	//   "ENABLED" - Asset link is enabled.
  5441  	//   "REMOVED" - Asset link has been removed.
  5442  	//   "PAUSED" - Asset link is paused.
  5443  	Status string `json:"status,omitempty"`
  5444  	// ForceSendFields is a list of field names (e.g. "Asset") to unconditionally
  5445  	// include in API requests. By default, fields with empty or default values are
  5446  	// omitted from API requests. See
  5447  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5448  	// details.
  5449  	ForceSendFields []string `json:"-"`
  5450  	// NullFields is a list of field names (e.g. "Asset") to include in API
  5451  	// requests with the JSON null value. By default, fields with empty values are
  5452  	// omitted from API requests. See
  5453  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5454  	NullFields []string `json:"-"`
  5455  }
  5456  
  5457  func (s *GoogleAdsSearchads360V0Resources__AssetGroupAsset) MarshalJSON() ([]byte, error) {
  5458  	type NoMethod GoogleAdsSearchads360V0Resources__AssetGroupAsset
  5459  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5460  }
  5461  
  5462  // GoogleAdsSearchads360V0Resources__AssetGroupAssetCombinationData: Asset
  5463  // group asset combination data
  5464  type GoogleAdsSearchads360V0Resources__AssetGroupAssetCombinationData struct {
  5465  	// AssetCombinationServedAssets: Output only. Served assets.
  5466  	AssetCombinationServedAssets []*GoogleAdsSearchads360V0Common__AssetUsage `json:"assetCombinationServedAssets,omitempty"`
  5467  	// ForceSendFields is a list of field names (e.g.
  5468  	// "AssetCombinationServedAssets") to unconditionally include in API requests.
  5469  	// By default, fields with empty or default values are omitted from API
  5470  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  5471  	// for more details.
  5472  	ForceSendFields []string `json:"-"`
  5473  	// NullFields is a list of field names (e.g. "AssetCombinationServedAssets") to
  5474  	// include in API requests with the JSON null value. By default, fields with
  5475  	// empty values are omitted from API requests. See
  5476  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5477  	NullFields []string `json:"-"`
  5478  }
  5479  
  5480  func (s *GoogleAdsSearchads360V0Resources__AssetGroupAssetCombinationData) MarshalJSON() ([]byte, error) {
  5481  	type NoMethod GoogleAdsSearchads360V0Resources__AssetGroupAssetCombinationData
  5482  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5483  }
  5484  
  5485  // GoogleAdsSearchads360V0Resources__AssetGroupListingGroupFilter:
  5486  // AssetGroupListingGroupFilter represents a listing group filter tree node in
  5487  // an asset group.
  5488  type GoogleAdsSearchads360V0Resources__AssetGroupListingGroupFilter struct {
  5489  	// AssetGroup: Immutable. The asset group which this asset group listing group
  5490  	// filter is part of.
  5491  	AssetGroup string `json:"assetGroup,omitempty"`
  5492  	// CaseValue: Dimension value with which this listing group is refining its
  5493  	// parent. Undefined for the root group.
  5494  	CaseValue *GoogleAdsSearchads360V0Resources__ListingGroupFilterDimension `json:"caseValue,omitempty"`
  5495  	// Id: Output only. The ID of the ListingGroupFilter.
  5496  	Id int64 `json:"id,omitempty,string"`
  5497  	// ParentListingGroupFilter: Immutable. Resource name of the parent listing
  5498  	// group subdivision. Null for the root listing group filter node.
  5499  	ParentListingGroupFilter string `json:"parentListingGroupFilter,omitempty"`
  5500  	// Path: Output only. The path of dimensions defining this listing group
  5501  	// filter.
  5502  	Path *GoogleAdsSearchads360V0Resources__ListingGroupFilterDimensionPath `json:"path,omitempty"`
  5503  	// ResourceName: Immutable. The resource name of the asset group listing group
  5504  	// filter. Asset group listing group filter resource name have the form:
  5505  	// `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{list
  5506  	// ing_group_filter_id}`
  5507  	ResourceName string `json:"resourceName,omitempty"`
  5508  	// Type: Immutable. Type of a listing group filter node.
  5509  	//
  5510  	// Possible values:
  5511  	//   "UNSPECIFIED" - Not specified.
  5512  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  5513  	// version.
  5514  	//   "SUBDIVISION" - Subdivision of products along some listing dimensions.
  5515  	//   "UNIT_INCLUDED" - An included listing group filter leaf node.
  5516  	//   "UNIT_EXCLUDED" - An excluded listing group filter leaf node.
  5517  	Type string `json:"type,omitempty"`
  5518  	// Vertical: Immutable. The vertical the current node tree represents. All
  5519  	// nodes in the same tree must belong to the same vertical.
  5520  	//
  5521  	// Possible values:
  5522  	//   "UNSPECIFIED" - Not specified.
  5523  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  5524  	// version.
  5525  	//   "SHOPPING" - Represents the shopping vertical. The vertical is allowed
  5526  	// only in Performance Max for Retail campaigns.
  5527  	Vertical string `json:"vertical,omitempty"`
  5528  	// ForceSendFields is a list of field names (e.g. "AssetGroup") to
  5529  	// unconditionally include in API requests. By default, fields with empty or
  5530  	// default values are omitted from API requests. See
  5531  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5532  	// details.
  5533  	ForceSendFields []string `json:"-"`
  5534  	// NullFields is a list of field names (e.g. "AssetGroup") to include in API
  5535  	// requests with the JSON null value. By default, fields with empty values are
  5536  	// omitted from API requests. See
  5537  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5538  	NullFields []string `json:"-"`
  5539  }
  5540  
  5541  func (s *GoogleAdsSearchads360V0Resources__AssetGroupListingGroupFilter) MarshalJSON() ([]byte, error) {
  5542  	type NoMethod GoogleAdsSearchads360V0Resources__AssetGroupListingGroupFilter
  5543  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5544  }
  5545  
  5546  // GoogleAdsSearchads360V0Resources__AssetGroupSignal: AssetGroupSignal
  5547  // represents a signal in an asset group. The existence of a signal tells the
  5548  // performance max campaign who's most likely to convert. Performance Max uses
  5549  // the signal to look for new people with similar or stronger intent to find
  5550  // conversions across Search, Display, Video, and more.
  5551  type GoogleAdsSearchads360V0Resources__AssetGroupSignal struct {
  5552  	// AssetGroup: Immutable. The asset group which this asset group signal belongs
  5553  	// to.
  5554  	AssetGroup string `json:"assetGroup,omitempty"`
  5555  	// Audience: Immutable. The audience signal to be used by the performance max
  5556  	// campaign.
  5557  	Audience *GoogleAdsSearchads360V0Common__AudienceInfo `json:"audience,omitempty"`
  5558  	// ResourceName: Immutable. The resource name of the asset group signal. Asset
  5559  	// group signal resource name have the form:
  5560  	// `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}`
  5561  	ResourceName string `json:"resourceName,omitempty"`
  5562  	// ForceSendFields is a list of field names (e.g. "AssetGroup") to
  5563  	// unconditionally include in API requests. By default, fields with empty or
  5564  	// default values are omitted from API requests. See
  5565  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5566  	// details.
  5567  	ForceSendFields []string `json:"-"`
  5568  	// NullFields is a list of field names (e.g. "AssetGroup") to include in API
  5569  	// requests with the JSON null value. By default, fields with empty values are
  5570  	// omitted from API requests. See
  5571  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5572  	NullFields []string `json:"-"`
  5573  }
  5574  
  5575  func (s *GoogleAdsSearchads360V0Resources__AssetGroupSignal) MarshalJSON() ([]byte, error) {
  5576  	type NoMethod GoogleAdsSearchads360V0Resources__AssetGroupSignal
  5577  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5578  }
  5579  
  5580  // GoogleAdsSearchads360V0Resources__AssetGroupTopCombinationView: A view on
  5581  // the usage of ad group ad asset combination.
  5582  type GoogleAdsSearchads360V0Resources__AssetGroupTopCombinationView struct {
  5583  	// AssetGroupTopCombinations: Output only. The top combinations of assets that
  5584  	// served together.
  5585  	AssetGroupTopCombinations []*GoogleAdsSearchads360V0Resources__AssetGroupAssetCombinationData `json:"assetGroupTopCombinations,omitempty"`
  5586  	// ResourceName: Output only. The resource name of the asset group top
  5587  	// combination view. AssetGroup Top Combination view resource names have the
  5588  	// form:
  5589  	// "customers/{customer_id}/assetGroupTopCombinationViews/{asset_group_id}~{ass
  5590  	// et_combination_category}"
  5591  	ResourceName string `json:"resourceName,omitempty"`
  5592  	// ForceSendFields is a list of field names (e.g. "AssetGroupTopCombinations")
  5593  	// to unconditionally include in API requests. By default, fields with empty or
  5594  	// default values are omitted from API requests. See
  5595  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5596  	// details.
  5597  	ForceSendFields []string `json:"-"`
  5598  	// NullFields is a list of field names (e.g. "AssetGroupTopCombinations") to
  5599  	// include in API requests with the JSON null value. By default, fields with
  5600  	// empty values are omitted from API requests. See
  5601  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5602  	NullFields []string `json:"-"`
  5603  }
  5604  
  5605  func (s *GoogleAdsSearchads360V0Resources__AssetGroupTopCombinationView) MarshalJSON() ([]byte, error) {
  5606  	type NoMethod GoogleAdsSearchads360V0Resources__AssetGroupTopCombinationView
  5607  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5608  }
  5609  
  5610  // GoogleAdsSearchads360V0Resources__AssetSet: An asset set representing a
  5611  // collection of assets. Use AssetSetAsset to link an asset to the asset set.
  5612  type GoogleAdsSearchads360V0Resources__AssetSet struct {
  5613  	// Id: Output only. The ID of the asset set.
  5614  	Id int64 `json:"id,omitempty,string"`
  5615  	// ResourceName: Immutable. The resource name of the asset set. Asset set
  5616  	// resource names have the form:
  5617  	// `customers/{customer_id}/assetSets/{asset_set_id}`
  5618  	ResourceName string `json:"resourceName,omitempty"`
  5619  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  5620  	// include in API requests. By default, fields with empty or default values are
  5621  	// omitted from API requests. See
  5622  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5623  	// details.
  5624  	ForceSendFields []string `json:"-"`
  5625  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  5626  	// with the JSON null value. By default, fields with empty values are omitted
  5627  	// from API requests. See
  5628  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5629  	NullFields []string `json:"-"`
  5630  }
  5631  
  5632  func (s *GoogleAdsSearchads360V0Resources__AssetSet) MarshalJSON() ([]byte, error) {
  5633  	type NoMethod GoogleAdsSearchads360V0Resources__AssetSet
  5634  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5635  }
  5636  
  5637  // GoogleAdsSearchads360V0Resources__AssetSetAsset: AssetSetAsset is the link
  5638  // between an asset and an asset set. Adding an AssetSetAsset links an asset
  5639  // with an asset set.
  5640  type GoogleAdsSearchads360V0Resources__AssetSetAsset struct {
  5641  	// Asset: Immutable. The asset which this asset set asset is linking to.
  5642  	Asset string `json:"asset,omitempty"`
  5643  	// AssetSet: Immutable. The asset set which this asset set asset is linking to.
  5644  	AssetSet string `json:"assetSet,omitempty"`
  5645  	// ResourceName: Immutable. The resource name of the asset set asset. Asset set
  5646  	// asset resource names have the form:
  5647  	// `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
  5648  	ResourceName string `json:"resourceName,omitempty"`
  5649  	// Status: Output only. The status of the asset set asset. Read-only.
  5650  	//
  5651  	// Possible values:
  5652  	//   "UNSPECIFIED" - The status has not been specified.
  5653  	//   "UNKNOWN" - The received value is not known in this version. This is a
  5654  	// response-only value.
  5655  	//   "ENABLED" - The asset set asset is enabled.
  5656  	//   "REMOVED" - The asset set asset is removed.
  5657  	Status string `json:"status,omitempty"`
  5658  	// ForceSendFields is a list of field names (e.g. "Asset") to unconditionally
  5659  	// include in API requests. By default, fields with empty or default values are
  5660  	// omitted from API requests. See
  5661  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5662  	// details.
  5663  	ForceSendFields []string `json:"-"`
  5664  	// NullFields is a list of field names (e.g. "Asset") to include in API
  5665  	// requests with the JSON null value. By default, fields with empty values are
  5666  	// omitted from API requests. See
  5667  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5668  	NullFields []string `json:"-"`
  5669  }
  5670  
  5671  func (s *GoogleAdsSearchads360V0Resources__AssetSetAsset) MarshalJSON() ([]byte, error) {
  5672  	type NoMethod GoogleAdsSearchads360V0Resources__AssetSetAsset
  5673  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5674  }
  5675  
  5676  // GoogleAdsSearchads360V0Resources__Audience: Audience is an effective
  5677  // targeting option that lets you intersect different segment attributes, such
  5678  // as detailed demographics and affinities, to create audiences that represent
  5679  // sections of your target segments.
  5680  type GoogleAdsSearchads360V0Resources__Audience struct {
  5681  	// Description: Description of this audience.
  5682  	Description string `json:"description,omitempty"`
  5683  	// Id: Output only. ID of the audience.
  5684  	Id int64 `json:"id,omitempty,string"`
  5685  	// Name: Required. Name of the audience. It should be unique across all
  5686  	// audiences. It must have a minimum length of 1 and maximum length of 255.
  5687  	Name string `json:"name,omitempty"`
  5688  	// ResourceName: Immutable. The resource name of the audience. Audience names
  5689  	// have the form: `customers/{customer_id}/audiences/{audience_id}`
  5690  	ResourceName string `json:"resourceName,omitempty"`
  5691  	// ForceSendFields is a list of field names (e.g. "Description") to
  5692  	// unconditionally include in API requests. By default, fields with empty or
  5693  	// default values are omitted from API requests. See
  5694  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5695  	// details.
  5696  	ForceSendFields []string `json:"-"`
  5697  	// NullFields is a list of field names (e.g. "Description") to include in API
  5698  	// requests with the JSON null value. By default, fields with empty values are
  5699  	// omitted from API requests. See
  5700  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5701  	NullFields []string `json:"-"`
  5702  }
  5703  
  5704  func (s *GoogleAdsSearchads360V0Resources__Audience) MarshalJSON() ([]byte, error) {
  5705  	type NoMethod GoogleAdsSearchads360V0Resources__Audience
  5706  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5707  }
  5708  
  5709  // GoogleAdsSearchads360V0Resources__BiddingStrategy: A bidding strategy.
  5710  type GoogleAdsSearchads360V0Resources__BiddingStrategy struct {
  5711  	// CampaignCount: Output only. The number of campaigns attached to this bidding
  5712  	// strategy. This field is read-only.
  5713  	CampaignCount int64 `json:"campaignCount,omitempty,string"`
  5714  	// CurrencyCode: Immutable. The currency used by the bidding strategy (ISO 4217
  5715  	// three-letter code). For bidding strategies in manager customers, this
  5716  	// currency can be set on creation and defaults to the manager customer's
  5717  	// currency. For serving customers, this field cannot be set; all strategies in
  5718  	// a serving customer implicitly use the serving customer's currency. In all
  5719  	// cases the effective_currency_code field returns the currency used by the
  5720  	// strategy.
  5721  	CurrencyCode string `json:"currencyCode,omitempty"`
  5722  	// EffectiveCurrencyCode: Output only. The currency used by the bidding
  5723  	// strategy (ISO 4217 three-letter code). For bidding strategies in manager
  5724  	// customers, this is the currency set by the advertiser when creating the
  5725  	// strategy. For serving customers, this is the customer's currency_code.
  5726  	// Bidding strategy metrics are reported in this currency. This field is
  5727  	// read-only.
  5728  	EffectiveCurrencyCode string `json:"effectiveCurrencyCode,omitempty"`
  5729  	// EnhancedCpc: A bidding strategy that raises bids for clicks that seem more
  5730  	// likely to lead to a conversion and lowers them for clicks where they seem
  5731  	// less likely.
  5732  	EnhancedCpc *GoogleAdsSearchads360V0Common__EnhancedCpc `json:"enhancedCpc,omitempty"`
  5733  	// Id: Output only. The ID of the bidding strategy.
  5734  	Id int64 `json:"id,omitempty,string"`
  5735  	// MaximizeConversionValue: An automated bidding strategy to help get the most
  5736  	// conversion value for your campaigns while spending your budget.
  5737  	MaximizeConversionValue *GoogleAdsSearchads360V0Common__MaximizeConversionValue `json:"maximizeConversionValue,omitempty"`
  5738  	// MaximizeConversions: An automated bidding strategy to help get the most
  5739  	// conversions for your campaigns while spending your budget.
  5740  	MaximizeConversions *GoogleAdsSearchads360V0Common__MaximizeConversions `json:"maximizeConversions,omitempty"`
  5741  	// Name: The name of the bidding strategy. All bidding strategies within an
  5742  	// account must be named distinctly. The length of this string should be
  5743  	// between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
  5744  	Name string `json:"name,omitempty"`
  5745  	// NonRemovedCampaignCount: Output only. The number of non-removed campaigns
  5746  	// attached to this bidding strategy. This field is read-only.
  5747  	NonRemovedCampaignCount int64 `json:"nonRemovedCampaignCount,omitempty,string"`
  5748  	// ResourceName: Immutable. The resource name of the bidding strategy. Bidding
  5749  	// strategy resource names have the form:
  5750  	// `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
  5751  	ResourceName string `json:"resourceName,omitempty"`
  5752  	// Status: Output only. The status of the bidding strategy. This field is
  5753  	// read-only.
  5754  	//
  5755  	// Possible values:
  5756  	//   "UNSPECIFIED" - No value has been specified.
  5757  	//   "UNKNOWN" - The received value is not known in this version. This is a
  5758  	// response-only value.
  5759  	//   "ENABLED" - The bidding strategy is enabled.
  5760  	//   "REMOVED" - The bidding strategy is removed.
  5761  	Status string `json:"status,omitempty"`
  5762  	// TargetCpa: A bidding strategy that sets bids to help get as many conversions
  5763  	// as possible at the target cost-per-acquisition (CPA) you set.
  5764  	TargetCpa *GoogleAdsSearchads360V0Common__TargetCpa `json:"targetCpa,omitempty"`
  5765  	// TargetImpressionShare: A bidding strategy that automatically optimizes
  5766  	// towards a chosen percentage of impressions.
  5767  	TargetImpressionShare *GoogleAdsSearchads360V0Common__TargetImpressionShare `json:"targetImpressionShare,omitempty"`
  5768  	// TargetOutrankShare: A bidding strategy that sets bids based on the target
  5769  	// fraction of auctions where the advertiser should outrank a specific
  5770  	// competitor. This field is deprecated. Creating a new bidding strategy with
  5771  	// this field or attaching bidding strategies with this field to a campaign
  5772  	// will fail. Mutates to strategies that already have this scheme populated are
  5773  	// allowed.
  5774  	TargetOutrankShare *GoogleAdsSearchads360V0Common__TargetOutrankShare `json:"targetOutrankShare,omitempty"`
  5775  	// TargetRoas: A bidding strategy that helps you maximize revenue while
  5776  	// averaging a specific target Return On Ad Spend (ROAS).
  5777  	TargetRoas *GoogleAdsSearchads360V0Common__TargetRoas `json:"targetRoas,omitempty"`
  5778  	// TargetSpend: A bid strategy that sets your bids to help get as many clicks
  5779  	// as possible within your budget.
  5780  	TargetSpend *GoogleAdsSearchads360V0Common__TargetSpend `json:"targetSpend,omitempty"`
  5781  	// Type: Output only. The type of the bidding strategy. Create a bidding
  5782  	// strategy by setting the bidding scheme. This field is read-only.
  5783  	//
  5784  	// Possible values:
  5785  	//   "UNSPECIFIED" - Not specified.
  5786  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  5787  	// version.
  5788  	//   "COMMISSION" - Commission is an automatic bidding strategy in which the
  5789  	// advertiser pays a certain portion of the conversion value.
  5790  	//   "ENHANCED_CPC" - Enhanced CPC is a bidding strategy that raises bids for
  5791  	// clicks that seem more likely to lead to a conversion and lowers them for
  5792  	// clicks where they seem less likely.
  5793  	//   "INVALID" - Used for return value only. Indicates that a campaign does not
  5794  	// have a bidding strategy. This prevents the campaign from serving. For
  5795  	// example, a campaign may be attached to a manager bidding strategy and the
  5796  	// serving account is subsequently unlinked from the manager account. In this
  5797  	// case the campaign will automatically be detached from the now inaccessible
  5798  	// manager bidding strategy and transition to the INVALID bidding strategy
  5799  	// type.
  5800  	//   "MANUAL_CPA" - Manual bidding strategy that allows advertiser to set the
  5801  	// bid per advertiser-specified action.
  5802  	//   "MANUAL_CPC" - Manual click based bidding where user pays per click.
  5803  	//   "MANUAL_CPM" - Manual impression based bidding where user pays per
  5804  	// thousand impressions.
  5805  	//   "MANUAL_CPV" - A bidding strategy that pays a configurable amount per
  5806  	// video view.
  5807  	//   "MAXIMIZE_CONVERSIONS" - A bidding strategy that automatically maximizes
  5808  	// number of conversions given a daily budget.
  5809  	//   "MAXIMIZE_CONVERSION_VALUE" - An automated bidding strategy that
  5810  	// automatically sets bids to maximize revenue while spending your budget.
  5811  	//   "PAGE_ONE_PROMOTED" - Page-One Promoted bidding scheme, which sets max cpc
  5812  	// bids to target impressions on page one or page one promoted slots on
  5813  	// google.com. This enum value is deprecated.
  5814  	//   "PERCENT_CPC" - Percent Cpc is bidding strategy where bids are a fraction
  5815  	// of the advertised price for some good or service.
  5816  	//   "TARGET_CPA" - Target CPA is an automated bid strategy that sets bids to
  5817  	// help get as many conversions as possible at the target cost-per-acquisition
  5818  	// (CPA) you set.
  5819  	//   "TARGET_CPM" - Target CPM is an automated bid strategy that sets bids to
  5820  	// help get as many impressions as possible at the target cost per one thousand
  5821  	// impressions (CPM) you set.
  5822  	//   "TARGET_IMPRESSION_SHARE" - An automated bidding strategy that sets bids
  5823  	// so that a certain percentage of search ads are shown at the top of the first
  5824  	// page (or other targeted location).
  5825  	//   "TARGET_OUTRANK_SHARE" - Target Outrank Share is an automated bidding
  5826  	// strategy that sets bids based on the target fraction of auctions where the
  5827  	// advertiser should outrank a specific competitor. This enum value is
  5828  	// deprecated.
  5829  	//   "TARGET_ROAS" - Target ROAS is an automated bidding strategy that helps
  5830  	// you maximize revenue while averaging a specific target Return On Average
  5831  	// Spend (ROAS).
  5832  	//   "TARGET_SPEND" - Target Spend is an automated bid strategy that sets your
  5833  	// bids to help get as many clicks as possible within your budget.
  5834  	Type string `json:"type,omitempty"`
  5835  	// ForceSendFields is a list of field names (e.g. "CampaignCount") to
  5836  	// unconditionally include in API requests. By default, fields with empty or
  5837  	// default values are omitted from API requests. See
  5838  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5839  	// details.
  5840  	ForceSendFields []string `json:"-"`
  5841  	// NullFields is a list of field names (e.g. "CampaignCount") to include in API
  5842  	// requests with the JSON null value. By default, fields with empty values are
  5843  	// omitted from API requests. See
  5844  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5845  	NullFields []string `json:"-"`
  5846  }
  5847  
  5848  func (s *GoogleAdsSearchads360V0Resources__BiddingStrategy) MarshalJSON() ([]byte, error) {
  5849  	type NoMethod GoogleAdsSearchads360V0Resources__BiddingStrategy
  5850  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5851  }
  5852  
  5853  // GoogleAdsSearchads360V0Resources__Campaign: A campaign.
  5854  type GoogleAdsSearchads360V0Resources__Campaign struct {
  5855  	// AccessibleBiddingStrategy: Output only. Resource name of
  5856  	// AccessibleBiddingStrategy, a read-only view of the unrestricted attributes
  5857  	// of the attached portfolio bidding strategy identified by 'bidding_strategy'.
  5858  	// Empty, if the campaign does not use a portfolio strategy. Unrestricted
  5859  	// strategy attributes are available to all customers with whom the strategy is
  5860  	// shared and are read from the AccessibleBiddingStrategy resource. In
  5861  	// contrast, restricted attributes are only available to the owner customer of
  5862  	// the strategy and their managers. Restricted attributes can only be read from
  5863  	// the BiddingStrategy resource.
  5864  	AccessibleBiddingStrategy string `json:"accessibleBiddingStrategy,omitempty"`
  5865  	// AdServingOptimizationStatus: The ad serving optimization status of the
  5866  	// campaign.
  5867  	//
  5868  	// Possible values:
  5869  	//   "UNSPECIFIED" - No value has been specified.
  5870  	//   "UNKNOWN" - The received value is not known in this version. This is a
  5871  	// response-only value.
  5872  	//   "OPTIMIZE" - Ad serving is optimized based on CTR for the campaign.
  5873  	//   "CONVERSION_OPTIMIZE" - Ad serving is optimized based on CTR * Conversion
  5874  	// for the campaign. If the campaign is not in the conversion optimizer bidding
  5875  	// strategy, it will default to OPTIMIZED.
  5876  	//   "ROTATE" - Ads are rotated evenly for 90 days, then optimized for clicks.
  5877  	//   "ROTATE_INDEFINITELY" - Show lower performing ads more evenly with higher
  5878  	// performing ads, and do not optimize.
  5879  	//   "UNAVAILABLE" - Ad serving optimization status is not available.
  5880  	AdServingOptimizationStatus string `json:"adServingOptimizationStatus,omitempty"`
  5881  	// AdvertisingChannelSubType: Immutable. Optional refinement to
  5882  	// `advertising_channel_type`. Must be a valid sub-type of the parent channel
  5883  	// type. Can be set only when creating campaigns. After campaign is created,
  5884  	// the field can not be changed.
  5885  	//
  5886  	// Possible values:
  5887  	//   "UNSPECIFIED" - Not specified.
  5888  	//   "UNKNOWN" - Used as a return value only. Represents value unknown in this
  5889  	// version.
  5890  	//   "SEARCH_MOBILE_APP" - Mobile app campaigns for Search.
  5891  	//   "DISPLAY_MOBILE_APP" - Mobile app campaigns for Display.
  5892  	//   "SEARCH_EXPRESS" - AdWords express campaigns for search.
  5893  	//   "DISPLAY_EXPRESS" - AdWords Express campaigns for display.
  5894  	//   "SHOPPING_SMART_ADS" - Smart Shopping campaigns.
  5895  	//   "DISPLAY_GMAIL_AD" - Gmail Ad campaigns.
  5896  	//   "DISPLAY_SMART_CAMPAIGN" - Smart display campaigns. New campaigns of this
  5897  	// sub type cannot be created.
  5898  	//   "VIDEO_OUTSTREAM" - Video Outstream campaigns.
  5899  	//   "VIDEO_ACTION" - Video TrueView for Action campaigns.
  5900  	//   "VIDEO_NON_SKIPPABLE" - Video campaigns with non-skippable video ads.
  5901  	//   "APP_CAMPAIGN" - App Campaign that lets you easily promote your Android or
  5902  	// iOS app across Google's top properties including Search, Play, YouTube, and
  5903  	// the Google Display Network.
  5904  	//   "APP_CAMPAIGN_FOR_ENGAGEMENT" - App Campaign for engagement, focused on
  5905  	// driving re-engagement with the app across several of Google's top properties
  5906  	// including Search, YouTube, and the Google Display Network.
  5907  	//   "LOCAL_CAMPAIGN" - Campaigns specialized for local advertising.
  5908  	//   "SHOPPING_COMPARISON_LISTING_ADS" - Shopping Comparison Listing campaigns.
  5909  	//   "SMART_CAMPAIGN" - Standard Smart campaigns.
  5910  	//   "VIDEO_SEQUENCE" - Video campaigns with sequence video ads.
  5911  	//   "APP_CAMPAIGN_FOR_PRE_REGISTRATION" - App Campaign for pre registration,
  5912  	// specialized for advertising mobile app pre-registration, that targets
  5913  	// multiple advertising channels across Google Play, YouTube and Display
  5914  	// Network.
  5915  	//   "VIDEO_REACH_TARGET_FREQUENCY" - Video reach campaign with Target
  5916  	// Frequency bidding strategy.
  5917  	//   "TRAVEL_ACTIVITIES" - Travel Activities campaigns.
  5918  	AdvertisingChannelSubType string `json:"advertisingChannelSubType,omitempty"`
  5919  	// AdvertisingChannelType: Immutable. The primary serving target for ads within
  5920  	// the campaign. The targeting options can be refined in `network_settings`.
  5921  	// This field is required and should not be empty when creating new campaigns.
  5922  	// Can be set only when creating campaigns. After the campaign is created, the
  5923  	// field can not be changed.
  5924  	//
  5925  	// Possible values:
  5926  	//   "UNSPECIFIED" - Not specified.
  5927  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  5928  	// version.
  5929  	//   "SEARCH" - Search Network. Includes display bundled, and Search+
  5930  	// campaigns.
  5931  	//   "DISPLAY" - Google Display Network only.
  5932  	//   "SHOPPING" - Shopping campaigns serve on the shopping property and on
  5933  	// google.com search results.
  5934  	//   "HOTEL" - Hotel Ads campaigns.
  5935  	//   "VIDEO" - Video campaigns.
  5936  	//   "MULTI_CHANNEL" - App Campaigns, and App Campaigns for Engagement, that
  5937  	// run across multiple channels.
  5938  	//   "LOCAL" - Local ads campaigns.
  5939  	//   "SMART" - Smart campaigns.
  5940  	//   "PERFORMANCE_MAX" - Performance Max campaigns.
  5941  	//   "LOCAL_SERVICES" - Local services campaigns.
  5942  	//   "DISCOVERY" - Discovery campaigns.
  5943  	//   "TRAVEL" - Travel campaigns.
  5944  	AdvertisingChannelType string `json:"advertisingChannelType,omitempty"`
  5945  	// BiddingStrategy: Portfolio bidding strategy used by campaign.
  5946  	BiddingStrategy string `json:"biddingStrategy,omitempty"`
  5947  	// BiddingStrategySystemStatus: Output only. The system status of the
  5948  	// campaign's bidding strategy.
  5949  	//
  5950  	// Possible values:
  5951  	//   "UNSPECIFIED" - Signals that an unexpected error occurred, for example, no
  5952  	// bidding strategy type was found, or no status information was found.
  5953  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  5954  	// version.
  5955  	//   "ENABLED" - The bid strategy is active, and AdWords cannot find any
  5956  	// specific issues with the strategy.
  5957  	//   "LEARNING_NEW" - The bid strategy is learning because it has been recently
  5958  	// created or recently reactivated.
  5959  	//   "LEARNING_SETTING_CHANGE" - The bid strategy is learning because of a
  5960  	// recent setting change.
  5961  	//   "LEARNING_BUDGET_CHANGE" - The bid strategy is learning because of a
  5962  	// recent budget change.
  5963  	//   "LEARNING_COMPOSITION_CHANGE" - The bid strategy is learning because of
  5964  	// recent change in number of campaigns, ad groups or keywords attached to it.
  5965  	//   "LEARNING_CONVERSION_TYPE_CHANGE" - The bid strategy depends on conversion
  5966  	// reporting and the customer recently modified conversion types that were
  5967  	// relevant to the bid strategy.
  5968  	//   "LEARNING_CONVERSION_SETTING_CHANGE" - The bid strategy depends on
  5969  	// conversion reporting and the customer recently changed their conversion
  5970  	// settings.
  5971  	//   "LIMITED_BY_CPC_BID_CEILING" - The bid strategy is limited by its bid
  5972  	// ceiling.
  5973  	//   "LIMITED_BY_CPC_BID_FLOOR" - The bid strategy is limited by its bid floor.
  5974  	//   "LIMITED_BY_DATA" - The bid strategy is limited because there was not
  5975  	// enough conversion traffic over the past weeks.
  5976  	//   "LIMITED_BY_BUDGET" - A significant fraction of keywords in this bid
  5977  	// strategy are limited by budget.
  5978  	//   "LIMITED_BY_LOW_PRIORITY_SPEND" - The bid strategy cannot reach its target
  5979  	// spend because its spend has been de-prioritized.
  5980  	//   "LIMITED_BY_LOW_QUALITY" - A significant fraction of keywords in this bid
  5981  	// strategy have a low Quality Score.
  5982  	//   "LIMITED_BY_INVENTORY" - The bid strategy cannot fully spend its budget
  5983  	// because of narrow targeting.
  5984  	//   "MISCONFIGURED_ZERO_ELIGIBILITY" - Missing conversion tracking (no pings
  5985  	// present) and/or remarketing lists for SSC.
  5986  	//   "MISCONFIGURED_CONVERSION_TYPES" - The bid strategy depends on conversion
  5987  	// reporting and the customer is lacking conversion types that might be
  5988  	// reported against this strategy.
  5989  	//   "MISCONFIGURED_CONVERSION_SETTINGS" - The bid strategy depends on
  5990  	// conversion reporting and the customer's conversion settings are
  5991  	// misconfigured.
  5992  	//   "MISCONFIGURED_SHARED_BUDGET" - There are campaigns outside the bid
  5993  	// strategy that share budgets with campaigns included in the strategy.
  5994  	//   "MISCONFIGURED_STRATEGY_TYPE" - The campaign has an invalid strategy type
  5995  	// and is not serving.
  5996  	//   "PAUSED" - The bid strategy is not active. Either there are no active
  5997  	// campaigns, ad groups or keywords attached to the bid strategy. Or there are
  5998  	// no active budgets connected to the bid strategy.
  5999  	//   "UNAVAILABLE" - This bid strategy currently does not support status
  6000  	// reporting.
  6001  	//   "MULTIPLE_LEARNING" - There were multiple LEARNING_* system statuses for
  6002  	// this bid strategy during the time in question.
  6003  	//   "MULTIPLE_LIMITED" - There were multiple LIMITED_* system statuses for
  6004  	// this bid strategy during the time in question.
  6005  	//   "MULTIPLE_MISCONFIGURED" - There were multiple MISCONFIGURED_* system
  6006  	// statuses for this bid strategy during the time in question.
  6007  	//   "MULTIPLE" - There were multiple system statuses for this bid strategy
  6008  	// during the time in question.
  6009  	BiddingStrategySystemStatus string `json:"biddingStrategySystemStatus,omitempty"`
  6010  	// BiddingStrategyType: Output only. The type of bidding strategy. A bidding
  6011  	// strategy can be created by setting either the bidding scheme to create a
  6012  	// standard bidding strategy or the `bidding_strategy` field to create a
  6013  	// portfolio bidding strategy. This field is read-only.
  6014  	//
  6015  	// Possible values:
  6016  	//   "UNSPECIFIED" - Not specified.
  6017  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6018  	// version.
  6019  	//   "COMMISSION" - Commission is an automatic bidding strategy in which the
  6020  	// advertiser pays a certain portion of the conversion value.
  6021  	//   "ENHANCED_CPC" - Enhanced CPC is a bidding strategy that raises bids for
  6022  	// clicks that seem more likely to lead to a conversion and lowers them for
  6023  	// clicks where they seem less likely.
  6024  	//   "INVALID" - Used for return value only. Indicates that a campaign does not
  6025  	// have a bidding strategy. This prevents the campaign from serving. For
  6026  	// example, a campaign may be attached to a manager bidding strategy and the
  6027  	// serving account is subsequently unlinked from the manager account. In this
  6028  	// case the campaign will automatically be detached from the now inaccessible
  6029  	// manager bidding strategy and transition to the INVALID bidding strategy
  6030  	// type.
  6031  	//   "MANUAL_CPA" - Manual bidding strategy that allows advertiser to set the
  6032  	// bid per advertiser-specified action.
  6033  	//   "MANUAL_CPC" - Manual click based bidding where user pays per click.
  6034  	//   "MANUAL_CPM" - Manual impression based bidding where user pays per
  6035  	// thousand impressions.
  6036  	//   "MANUAL_CPV" - A bidding strategy that pays a configurable amount per
  6037  	// video view.
  6038  	//   "MAXIMIZE_CONVERSIONS" - A bidding strategy that automatically maximizes
  6039  	// number of conversions given a daily budget.
  6040  	//   "MAXIMIZE_CONVERSION_VALUE" - An automated bidding strategy that
  6041  	// automatically sets bids to maximize revenue while spending your budget.
  6042  	//   "PAGE_ONE_PROMOTED" - Page-One Promoted bidding scheme, which sets max cpc
  6043  	// bids to target impressions on page one or page one promoted slots on
  6044  	// google.com. This enum value is deprecated.
  6045  	//   "PERCENT_CPC" - Percent Cpc is bidding strategy where bids are a fraction
  6046  	// of the advertised price for some good or service.
  6047  	//   "TARGET_CPA" - Target CPA is an automated bid strategy that sets bids to
  6048  	// help get as many conversions as possible at the target cost-per-acquisition
  6049  	// (CPA) you set.
  6050  	//   "TARGET_CPM" - Target CPM is an automated bid strategy that sets bids to
  6051  	// help get as many impressions as possible at the target cost per one thousand
  6052  	// impressions (CPM) you set.
  6053  	//   "TARGET_IMPRESSION_SHARE" - An automated bidding strategy that sets bids
  6054  	// so that a certain percentage of search ads are shown at the top of the first
  6055  	// page (or other targeted location).
  6056  	//   "TARGET_OUTRANK_SHARE" - Target Outrank Share is an automated bidding
  6057  	// strategy that sets bids based on the target fraction of auctions where the
  6058  	// advertiser should outrank a specific competitor. This enum value is
  6059  	// deprecated.
  6060  	//   "TARGET_ROAS" - Target ROAS is an automated bidding strategy that helps
  6061  	// you maximize revenue while averaging a specific target Return On Average
  6062  	// Spend (ROAS).
  6063  	//   "TARGET_SPEND" - Target Spend is an automated bid strategy that sets your
  6064  	// bids to help get as many clicks as possible within your budget.
  6065  	BiddingStrategyType string `json:"biddingStrategyType,omitempty"`
  6066  	// CampaignBudget: The budget of the campaign.
  6067  	CampaignBudget string `json:"campaignBudget,omitempty"`
  6068  	// CreateTime: Output only. The timestamp when this campaign was created. The
  6069  	// timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss"
  6070  	// format. create_time will be deprecated in v1. Use creation_time instead.
  6071  	CreateTime string `json:"createTime,omitempty"`
  6072  	// CreationTime: Output only. The timestamp when this campaign was created. The
  6073  	// timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss"
  6074  	// format.
  6075  	CreationTime string `json:"creationTime,omitempty"`
  6076  	// DynamicSearchAdsSetting: The setting for controlling Dynamic Search Ads
  6077  	// (DSA).
  6078  	DynamicSearchAdsSetting *GoogleAdsSearchads360V0ResourcesCampaignDynamicSearchAdsSetting `json:"dynamicSearchAdsSetting,omitempty"`
  6079  	// EndDate: The last day of the campaign in serving customer's timezone in
  6080  	// YYYY-MM-DD format. On create, defaults to 2037-12-30, which means the
  6081  	// campaign will run indefinitely. To set an existing campaign to run
  6082  	// indefinitely, set this field to 2037-12-30.
  6083  	EndDate string `json:"endDate,omitempty"`
  6084  	// EngineId: Output only. ID of the campaign in the external engine account.
  6085  	// This field is for non-Google Ads account only, for example, Yahoo Japan,
  6086  	// Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
  6087  	EngineId string `json:"engineId,omitempty"`
  6088  	// ExcludedParentAssetFieldTypes: The asset field types that should be excluded
  6089  	// from this campaign. Asset links with these field types will not be inherited
  6090  	// by this campaign from the upper level.
  6091  	//
  6092  	// Possible values:
  6093  	//   "UNSPECIFIED" - Not specified.
  6094  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6095  	// version.
  6096  	//   "HEADLINE" - The asset is linked for use as a headline.
  6097  	//   "DESCRIPTION" - The asset is linked for use as a description.
  6098  	//   "MANDATORY_AD_TEXT" - The asset is linked for use as mandatory ad text.
  6099  	//   "MARKETING_IMAGE" - The asset is linked for use as a marketing image.
  6100  	//   "MEDIA_BUNDLE" - The asset is linked for use as a media bundle.
  6101  	//   "YOUTUBE_VIDEO" - The asset is linked for use as a YouTube video.
  6102  	//   "BOOK_ON_GOOGLE" - The asset is linked to indicate that a hotels campaign
  6103  	// is "Book on Google" enabled.
  6104  	//   "LEAD_FORM" - The asset is linked for use as a Lead Form extension.
  6105  	//   "PROMOTION" - The asset is linked for use as a Promotion extension.
  6106  	//   "CALLOUT" - The asset is linked for use as a Callout extension.
  6107  	//   "STRUCTURED_SNIPPET" - The asset is linked for use as a Structured Snippet
  6108  	// extension.
  6109  	//   "SITELINK" - The asset is linked for use as a Sitelink.
  6110  	//   "MOBILE_APP" - The asset is linked for use as a Mobile App extension.
  6111  	//   "HOTEL_CALLOUT" - The asset is linked for use as a Hotel Callout
  6112  	// extension.
  6113  	//   "CALL" - The asset is linked for use as a Call extension.
  6114  	//   "PRICE" - The asset is linked for use as a Price extension.
  6115  	//   "LONG_HEADLINE" - The asset is linked for use as a long headline.
  6116  	//   "BUSINESS_NAME" - The asset is linked for use as a business name.
  6117  	//   "SQUARE_MARKETING_IMAGE" - The asset is linked for use as a square
  6118  	// marketing image.
  6119  	//   "PORTRAIT_MARKETING_IMAGE" - The asset is linked for use as a portrait
  6120  	// marketing image.
  6121  	//   "LOGO" - The asset is linked for use as a logo.
  6122  	//   "LANDSCAPE_LOGO" - The asset is linked for use as a landscape logo.
  6123  	//   "VIDEO" - The asset is linked for use as a non YouTube logo.
  6124  	//   "CALL_TO_ACTION_SELECTION" - The asset is linked for use to select a
  6125  	// call-to-action.
  6126  	//   "AD_IMAGE" - The asset is linked for use to select an ad image.
  6127  	//   "BUSINESS_LOGO" - The asset is linked for use as a business logo.
  6128  	//   "HOTEL_PROPERTY" - The asset is linked for use as a hotel property in a
  6129  	// Performance Max for travel goals campaign.
  6130  	//   "DISCOVERY_CAROUSEL_CARD" - The asset is linked for use as a discovery
  6131  	// carousel card.
  6132  	ExcludedParentAssetFieldTypes []string `json:"excludedParentAssetFieldTypes,omitempty"`
  6133  	// FinalUrlSuffix: Suffix used to append query parameters to landing pages that
  6134  	// are served with parallel tracking.
  6135  	FinalUrlSuffix string `json:"finalUrlSuffix,omitempty"`
  6136  	// FrequencyCaps: A list that limits how often each user will see this
  6137  	// campaign's ads.
  6138  	FrequencyCaps []*GoogleAdsSearchads360V0Common__FrequencyCapEntry `json:"frequencyCaps,omitempty"`
  6139  	// GeoTargetTypeSetting: The setting for ads geotargeting.
  6140  	GeoTargetTypeSetting *GoogleAdsSearchads360V0ResourcesCampaignGeoTargetTypeSetting `json:"geoTargetTypeSetting,omitempty"`
  6141  	// Id: Output only. The ID of the campaign.
  6142  	Id int64 `json:"id,omitempty,string"`
  6143  	// Labels: Output only. The resource names of labels attached to this campaign.
  6144  	Labels []string `json:"labels,omitempty"`
  6145  	// LastModifiedTime: Output only. The datetime when this campaign was last
  6146  	// modified. The datetime is in the customer's time zone and in "yyyy-MM-dd
  6147  	// HH:mm:ss.ssssss" format.
  6148  	LastModifiedTime string `json:"lastModifiedTime,omitempty"`
  6149  	// ManualCpa: Standard Manual CPA bidding strategy. Manual bidding strategy
  6150  	// that allows advertiser to set the bid per advertiser-specified action.
  6151  	// Supported only for Local Services campaigns.
  6152  	ManualCpa *GoogleAdsSearchads360V0Common__ManualCpa `json:"manualCpa,omitempty"`
  6153  	// ManualCpc: Standard Manual CPC bidding strategy. Manual click-based bidding
  6154  	// where user pays per click.
  6155  	ManualCpc *GoogleAdsSearchads360V0Common__ManualCpc `json:"manualCpc,omitempty"`
  6156  	// ManualCpm: Standard Manual CPM bidding strategy. Manual impression-based
  6157  	// bidding where user pays per thousand impressions.
  6158  	ManualCpm *GoogleAdsSearchads360V0Common__ManualCpm `json:"manualCpm,omitempty"`
  6159  	// MaximizeConversionValue: Standard Maximize Conversion Value bidding strategy
  6160  	// that automatically sets bids to maximize revenue while spending your budget.
  6161  	MaximizeConversionValue *GoogleAdsSearchads360V0Common__MaximizeConversionValue `json:"maximizeConversionValue,omitempty"`
  6162  	// MaximizeConversions: Standard Maximize Conversions bidding strategy that
  6163  	// automatically maximizes number of conversions while spending your budget.
  6164  	MaximizeConversions *GoogleAdsSearchads360V0Common__MaximizeConversions `json:"maximizeConversions,omitempty"`
  6165  	// Name: The name of the campaign. This field is required and should not be
  6166  	// empty when creating new campaigns. It must not contain any null (code point
  6167  	// 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD)
  6168  	// characters.
  6169  	Name string `json:"name,omitempty"`
  6170  	// NetworkSettings: The network settings for the campaign.
  6171  	NetworkSettings *GoogleAdsSearchads360V0ResourcesCampaignNetworkSettings `json:"networkSettings,omitempty"`
  6172  	// OptimizationGoalSetting: Optimization goal setting for this campaign, which
  6173  	// includes a set of optimization goal types.
  6174  	OptimizationGoalSetting *GoogleAdsSearchads360V0ResourcesCampaignOptimizationGoalSetting `json:"optimizationGoalSetting,omitempty"`
  6175  	// PercentCpc: Standard Percent Cpc bidding strategy where bids are a fraction
  6176  	// of the advertised price for some good or service.
  6177  	PercentCpc *GoogleAdsSearchads360V0Common__PercentCpc `json:"percentCpc,omitempty"`
  6178  	// RealTimeBiddingSetting: Settings for Real-Time Bidding, a feature only
  6179  	// available for campaigns targeting the Ad Exchange network.
  6180  	RealTimeBiddingSetting *GoogleAdsSearchads360V0Common__RealTimeBiddingSetting `json:"realTimeBiddingSetting,omitempty"`
  6181  	// ResourceName: Immutable. The resource name of the campaign. Campaign
  6182  	// resource names have the form:
  6183  	// `customers/{customer_id}/campaigns/{campaign_id}`
  6184  	ResourceName string `json:"resourceName,omitempty"`
  6185  	// SelectiveOptimization: Selective optimization setting for this campaign,
  6186  	// which includes a set of conversion actions to optimize this campaign
  6187  	// towards. This feature only applies to app campaigns that use MULTI_CHANNEL
  6188  	// as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as
  6189  	// AdvertisingChannelSubType.
  6190  	SelectiveOptimization *GoogleAdsSearchads360V0ResourcesCampaignSelectiveOptimization `json:"selectiveOptimization,omitempty"`
  6191  	// ServingStatus: Output only. The ad serving status of the campaign.
  6192  	//
  6193  	// Possible values:
  6194  	//   "UNSPECIFIED" - No value has been specified.
  6195  	//   "UNKNOWN" - The received value is not known in this version. This is a
  6196  	// response-only value.
  6197  	//   "SERVING" - Serving.
  6198  	//   "NONE" - None.
  6199  	//   "ENDED" - Ended.
  6200  	//   "PENDING" - Pending.
  6201  	//   "SUSPENDED" - Suspended.
  6202  	ServingStatus string `json:"servingStatus,omitempty"`
  6203  	// ShoppingSetting: The setting for controlling Shopping campaigns.
  6204  	ShoppingSetting *GoogleAdsSearchads360V0ResourcesCampaignShoppingSetting `json:"shoppingSetting,omitempty"`
  6205  	// StartDate: The date when campaign started in serving customer's timezone in
  6206  	// YYYY-MM-DD format.
  6207  	StartDate string `json:"startDate,omitempty"`
  6208  	// Status: The status of the campaign. When a new campaign is added, the status
  6209  	// defaults to ENABLED.
  6210  	//
  6211  	// Possible values:
  6212  	//   "UNSPECIFIED" - Not specified.
  6213  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6214  	// version.
  6215  	//   "ENABLED" - Campaign is active and can show ads.
  6216  	//   "PAUSED" - Campaign has been paused by the user.
  6217  	//   "REMOVED" - Campaign has been removed.
  6218  	Status string `json:"status,omitempty"`
  6219  	// TargetCpa: Standard Target CPA bidding strategy that automatically sets bids
  6220  	// to help get as many conversions as possible at the target
  6221  	// cost-per-acquisition (CPA) you set.
  6222  	TargetCpa *GoogleAdsSearchads360V0Common__TargetCpa `json:"targetCpa,omitempty"`
  6223  	// TargetCpm: A bidding strategy that automatically optimizes cost per thousand
  6224  	// impressions.
  6225  	TargetCpm *GoogleAdsSearchads360V0Common__TargetCpm `json:"targetCpm,omitempty"`
  6226  	// TargetImpressionShare: Target Impression Share bidding strategy. An
  6227  	// automated bidding strategy that sets bids to achieve a chosen percentage of
  6228  	// impressions.
  6229  	TargetImpressionShare *GoogleAdsSearchads360V0Common__TargetImpressionShare `json:"targetImpressionShare,omitempty"`
  6230  	// TargetRoas: Standard Target ROAS bidding strategy that automatically
  6231  	// maximizes revenue while averaging a specific target return on ad spend
  6232  	// (ROAS).
  6233  	TargetRoas *GoogleAdsSearchads360V0Common__TargetRoas `json:"targetRoas,omitempty"`
  6234  	// TargetSpend: Standard Target Spend bidding strategy that automatically sets
  6235  	// your bids to help get as many clicks as possible within your budget.
  6236  	TargetSpend *GoogleAdsSearchads360V0Common__TargetSpend `json:"targetSpend,omitempty"`
  6237  	// TrackingSetting: Output only. Campaign-level settings for tracking
  6238  	// information.
  6239  	TrackingSetting *GoogleAdsSearchads360V0ResourcesCampaignTrackingSetting `json:"trackingSetting,omitempty"`
  6240  	// TrackingUrlTemplate: The URL template for constructing a tracking URL.
  6241  	TrackingUrlTemplate string `json:"trackingUrlTemplate,omitempty"`
  6242  	// UrlCustomParameters: The list of mappings used to substitute custom
  6243  	// parameter tags in a `tracking_url_template`, `final_urls`, or
  6244  	// `mobile_final_urls`.
  6245  	UrlCustomParameters []*GoogleAdsSearchads360V0Common__CustomParameter `json:"urlCustomParameters,omitempty"`
  6246  	// UrlExpansionOptOut: Represents opting out of URL expansion to more targeted
  6247  	// URLs. If opted out (true), only the final URLs in the asset group or URLs
  6248  	// specified in the advertiser's Google Merchant Center or business data feeds
  6249  	// are targeted. If opted in (false), the entire domain will be targeted. This
  6250  	// field can only be set for Performance Max campaigns, where the default value
  6251  	// is false.
  6252  	UrlExpansionOptOut bool `json:"urlExpansionOptOut,omitempty"`
  6253  	// ForceSendFields is a list of field names (e.g. "AccessibleBiddingStrategy")
  6254  	// to unconditionally include in API requests. By default, fields with empty or
  6255  	// default values are omitted from API requests. See
  6256  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6257  	// details.
  6258  	ForceSendFields []string `json:"-"`
  6259  	// NullFields is a list of field names (e.g. "AccessibleBiddingStrategy") to
  6260  	// include in API requests with the JSON null value. By default, fields with
  6261  	// empty values are omitted from API requests. See
  6262  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6263  	NullFields []string `json:"-"`
  6264  }
  6265  
  6266  func (s *GoogleAdsSearchads360V0Resources__Campaign) MarshalJSON() ([]byte, error) {
  6267  	type NoMethod GoogleAdsSearchads360V0Resources__Campaign
  6268  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6269  }
  6270  
  6271  // GoogleAdsSearchads360V0Resources__CampaignAsset: A link between a Campaign
  6272  // and an Asset.
  6273  type GoogleAdsSearchads360V0Resources__CampaignAsset struct {
  6274  	// Asset: Immutable. The asset which is linked to the campaign.
  6275  	Asset string `json:"asset,omitempty"`
  6276  	// Campaign: Immutable. The campaign to which the asset is linked.
  6277  	Campaign string `json:"campaign,omitempty"`
  6278  	// ResourceName: Immutable. The resource name of the campaign asset.
  6279  	// CampaignAsset resource names have the form:
  6280  	// `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}
  6281  	// `
  6282  	ResourceName string `json:"resourceName,omitempty"`
  6283  	// Status: Output only. Status of the campaign asset.
  6284  	//
  6285  	// Possible values:
  6286  	//   "UNSPECIFIED" - Not specified.
  6287  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6288  	// version.
  6289  	//   "ENABLED" - Asset link is enabled.
  6290  	//   "REMOVED" - Asset link has been removed.
  6291  	//   "PAUSED" - Asset link is paused.
  6292  	Status string `json:"status,omitempty"`
  6293  	// ForceSendFields is a list of field names (e.g. "Asset") to unconditionally
  6294  	// include in API requests. By default, fields with empty or default values are
  6295  	// omitted from API requests. See
  6296  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6297  	// details.
  6298  	ForceSendFields []string `json:"-"`
  6299  	// NullFields is a list of field names (e.g. "Asset") to include in API
  6300  	// requests with the JSON null value. By default, fields with empty values are
  6301  	// omitted from API requests. See
  6302  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6303  	NullFields []string `json:"-"`
  6304  }
  6305  
  6306  func (s *GoogleAdsSearchads360V0Resources__CampaignAsset) MarshalJSON() ([]byte, error) {
  6307  	type NoMethod GoogleAdsSearchads360V0Resources__CampaignAsset
  6308  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6309  }
  6310  
  6311  // GoogleAdsSearchads360V0Resources__CampaignAssetSet: CampaignAssetSet is the
  6312  // linkage between a campaign and an asset set. Adding a CampaignAssetSet links
  6313  // an asset set with a campaign.
  6314  type GoogleAdsSearchads360V0Resources__CampaignAssetSet struct {
  6315  	// AssetSet: Immutable. The asset set which is linked to the campaign.
  6316  	AssetSet string `json:"assetSet,omitempty"`
  6317  	// Campaign: Immutable. The campaign to which this asset set is linked.
  6318  	Campaign string `json:"campaign,omitempty"`
  6319  	// ResourceName: Immutable. The resource name of the campaign asset set. Asset
  6320  	// set asset resource names have the form:
  6321  	// `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
  6322  	ResourceName string `json:"resourceName,omitempty"`
  6323  	// Status: Output only. The status of the campaign asset set asset. Read-only.
  6324  	//
  6325  	// Possible values:
  6326  	//   "UNSPECIFIED" - The status has not been specified.
  6327  	//   "UNKNOWN" - The received value is not known in this version. This is a
  6328  	// response-only value.
  6329  	//   "ENABLED" - The linkage between asset set and its container is enabled.
  6330  	//   "REMOVED" - The linkage between asset set and its container is removed.
  6331  	Status string `json:"status,omitempty"`
  6332  	// ForceSendFields is a list of field names (e.g. "AssetSet") to
  6333  	// unconditionally include in API requests. By default, fields with empty or
  6334  	// default values are omitted from API requests. See
  6335  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6336  	// details.
  6337  	ForceSendFields []string `json:"-"`
  6338  	// NullFields is a list of field names (e.g. "AssetSet") to include in API
  6339  	// requests with the JSON null value. By default, fields with empty values are
  6340  	// omitted from API requests. See
  6341  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6342  	NullFields []string `json:"-"`
  6343  }
  6344  
  6345  func (s *GoogleAdsSearchads360V0Resources__CampaignAssetSet) MarshalJSON() ([]byte, error) {
  6346  	type NoMethod GoogleAdsSearchads360V0Resources__CampaignAssetSet
  6347  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6348  }
  6349  
  6350  // GoogleAdsSearchads360V0Resources__CampaignAudienceView: A campaign audience
  6351  // view. Includes performance data from interests and remarketing lists for
  6352  // Display Network and YouTube Network ads, and remarketing lists for search
  6353  // ads (RLSA), aggregated by campaign and audience criterion. This view only
  6354  // includes audiences attached at the campaign level.
  6355  type GoogleAdsSearchads360V0Resources__CampaignAudienceView struct {
  6356  	// ResourceName: Output only. The resource name of the campaign audience view.
  6357  	// Campaign audience view resource names have the form:
  6358  	// `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}`
  6359  	ResourceName string `json:"resourceName,omitempty"`
  6360  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  6361  	// unconditionally include in API requests. By default, fields with empty or
  6362  	// default values are omitted from API requests. See
  6363  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6364  	// details.
  6365  	ForceSendFields []string `json:"-"`
  6366  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  6367  	// requests with the JSON null value. By default, fields with empty values are
  6368  	// omitted from API requests. See
  6369  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6370  	NullFields []string `json:"-"`
  6371  }
  6372  
  6373  func (s *GoogleAdsSearchads360V0Resources__CampaignAudienceView) MarshalJSON() ([]byte, error) {
  6374  	type NoMethod GoogleAdsSearchads360V0Resources__CampaignAudienceView
  6375  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6376  }
  6377  
  6378  // GoogleAdsSearchads360V0Resources__CampaignBudget: A campaign budget.
  6379  type GoogleAdsSearchads360V0Resources__CampaignBudget struct {
  6380  	// AmountMicros: The amount of the budget, in the local currency for the
  6381  	// account. Amount is specified in micros, where one million is equivalent to
  6382  	// one currency unit. Monthly spend is capped at 30.4 times this amount.
  6383  	AmountMicros int64 `json:"amountMicros,omitempty,string"`
  6384  	// DeliveryMethod: The delivery method that determines the rate at which the
  6385  	// campaign budget is spent. Defaults to STANDARD if unspecified in a create
  6386  	// operation.
  6387  	//
  6388  	// Possible values:
  6389  	//   "UNSPECIFIED" - Not specified.
  6390  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6391  	// version.
  6392  	//   "STANDARD" - The budget server will throttle serving evenly across the
  6393  	// entire time period.
  6394  	//   "ACCELERATED" - The budget server will not throttle serving, and ads will
  6395  	// serve as fast as possible.
  6396  	DeliveryMethod string `json:"deliveryMethod,omitempty"`
  6397  	// Period: Immutable. Period over which to spend the budget. Defaults to DAILY
  6398  	// if not specified.
  6399  	//
  6400  	// Possible values:
  6401  	//   "UNSPECIFIED" - Not specified.
  6402  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6403  	// version.
  6404  	//   "DAILY" - Daily budget.
  6405  	//   "FIXED_DAILY" - Fixed daily budget.
  6406  	//   "CUSTOM_PERIOD" - Custom budget can be used with total_amount to specify
  6407  	// lifetime budget limit.
  6408  	Period string `json:"period,omitempty"`
  6409  	// ResourceName: Immutable. The resource name of the campaign budget. Campaign
  6410  	// budget resource names have the form:
  6411  	// `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
  6412  	ResourceName string `json:"resourceName,omitempty"`
  6413  	// ForceSendFields is a list of field names (e.g. "AmountMicros") to
  6414  	// unconditionally include in API requests. By default, fields with empty or
  6415  	// default values are omitted from API requests. See
  6416  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6417  	// details.
  6418  	ForceSendFields []string `json:"-"`
  6419  	// NullFields is a list of field names (e.g. "AmountMicros") to include in API
  6420  	// requests with the JSON null value. By default, fields with empty values are
  6421  	// omitted from API requests. See
  6422  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6423  	NullFields []string `json:"-"`
  6424  }
  6425  
  6426  func (s *GoogleAdsSearchads360V0Resources__CampaignBudget) MarshalJSON() ([]byte, error) {
  6427  	type NoMethod GoogleAdsSearchads360V0Resources__CampaignBudget
  6428  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6429  }
  6430  
  6431  // GoogleAdsSearchads360V0Resources__CampaignCriterion: A campaign criterion.
  6432  type GoogleAdsSearchads360V0Resources__CampaignCriterion struct {
  6433  	// AgeRange: Immutable. Age range.
  6434  	AgeRange *GoogleAdsSearchads360V0Common__AgeRangeInfo `json:"ageRange,omitempty"`
  6435  	// BidModifier: The modifier for the bids when the criterion matches. The
  6436  	// modifier must be in the range: 0.1 - 10.0. Most targetable criteria types
  6437  	// support modifiers. Use 0 to opt out of a Device type.
  6438  	BidModifier float64 `json:"bidModifier,omitempty"`
  6439  	// CriterionId: Output only. The ID of the criterion. This field is ignored
  6440  	// during mutate.
  6441  	CriterionId int64 `json:"criterionId,omitempty,string"`
  6442  	// Device: Immutable. Device.
  6443  	Device *GoogleAdsSearchads360V0Common__DeviceInfo `json:"device,omitempty"`
  6444  	// DisplayName: Output only. The display name of the criterion. This field is
  6445  	// ignored for mutates.
  6446  	DisplayName string `json:"displayName,omitempty"`
  6447  	// Gender: Immutable. Gender.
  6448  	Gender *GoogleAdsSearchads360V0Common__GenderInfo `json:"gender,omitempty"`
  6449  	// Keyword: Immutable. Keyword.
  6450  	Keyword *GoogleAdsSearchads360V0Common__KeywordInfo `json:"keyword,omitempty"`
  6451  	// Language: Immutable. Language.
  6452  	Language *GoogleAdsSearchads360V0Common__LanguageInfo `json:"language,omitempty"`
  6453  	// LastModifiedTime: Output only. The datetime when this campaign criterion was
  6454  	// last modified. The datetime is in the customer's time zone and in
  6455  	// "yyyy-MM-dd HH:mm:ss.ssssss" format.
  6456  	LastModifiedTime string `json:"lastModifiedTime,omitempty"`
  6457  	// Location: Immutable. Location.
  6458  	Location *GoogleAdsSearchads360V0Common__LocationInfo `json:"location,omitempty"`
  6459  	// LocationGroup: Immutable. Location Group
  6460  	LocationGroup *GoogleAdsSearchads360V0Common__LocationGroupInfo `json:"locationGroup,omitempty"`
  6461  	// Negative: Immutable. Whether to target (`false`) or exclude (`true`) the
  6462  	// criterion.
  6463  	Negative bool `json:"negative,omitempty"`
  6464  	// ResourceName: Immutable. The resource name of the campaign criterion.
  6465  	// Campaign criterion resource names have the form:
  6466  	// `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
  6467  	ResourceName string `json:"resourceName,omitempty"`
  6468  	// Status: The status of the criterion.
  6469  	//
  6470  	// Possible values:
  6471  	//   "UNSPECIFIED" - No value has been specified.
  6472  	//   "UNKNOWN" - The received value is not known in this version. This is a
  6473  	// response-only value.
  6474  	//   "ENABLED" - The campaign criterion is enabled.
  6475  	//   "PAUSED" - The campaign criterion is paused.
  6476  	//   "REMOVED" - The campaign criterion is removed.
  6477  	Status string `json:"status,omitempty"`
  6478  	// Type: Output only. The type of the criterion.
  6479  	//
  6480  	// Possible values:
  6481  	//   "UNSPECIFIED" - Not specified.
  6482  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6483  	// version.
  6484  	//   "KEYWORD" - Keyword, for example, 'mars cruise'.
  6485  	//   "PLACEMENT" - Placement, also known as Website, for example,
  6486  	// 'www.flowers4sale.com'
  6487  	//   "MOBILE_APP_CATEGORY" - Mobile application categories to target.
  6488  	//   "MOBILE_APPLICATION" - Mobile applications to target.
  6489  	//   "DEVICE" - Devices to target.
  6490  	//   "LOCATION" - Locations to target.
  6491  	//   "LISTING_GROUP" - Listing groups to target.
  6492  	//   "AD_SCHEDULE" - Ad Schedule.
  6493  	//   "AGE_RANGE" - Age range.
  6494  	//   "GENDER" - Gender.
  6495  	//   "INCOME_RANGE" - Income Range.
  6496  	//   "PARENTAL_STATUS" - Parental status.
  6497  	//   "YOUTUBE_VIDEO" - YouTube Video.
  6498  	//   "YOUTUBE_CHANNEL" - YouTube Channel.
  6499  	//   "USER_LIST" - User list.
  6500  	//   "PROXIMITY" - Proximity.
  6501  	//   "TOPIC" - A topic target on the display network (for example, "Pets &
  6502  	// Animals").
  6503  	//   "LISTING_SCOPE" - Listing scope to target.
  6504  	//   "LANGUAGE" - Language.
  6505  	//   "IP_BLOCK" - IpBlock.
  6506  	//   "CONTENT_LABEL" - Content Label for category exclusion.
  6507  	//   "CARRIER" - Carrier.
  6508  	//   "USER_INTEREST" - A category the user is interested in.
  6509  	//   "WEBPAGE" - Webpage criterion for dynamic search ads.
  6510  	//   "OPERATING_SYSTEM_VERSION" - Operating system version.
  6511  	//   "APP_PAYMENT_MODEL" - App payment model.
  6512  	//   "MOBILE_DEVICE" - Mobile device.
  6513  	//   "CUSTOM_AFFINITY" - Custom affinity.
  6514  	//   "CUSTOM_INTENT" - Custom intent.
  6515  	//   "LOCATION_GROUP" - Location group.
  6516  	//   "CUSTOM_AUDIENCE" - Custom audience
  6517  	//   "COMBINED_AUDIENCE" - Combined audience
  6518  	//   "KEYWORD_THEME" - Smart Campaign keyword theme
  6519  	//   "AUDIENCE" - Audience
  6520  	//   "LOCAL_SERVICE_ID" - Local Services Ads Service ID.
  6521  	//   "BRAND" - Brand
  6522  	//   "BRAND_LIST" - Brand List
  6523  	//   "LIFE_EVENT" - Life Event
  6524  	Type string `json:"type,omitempty"`
  6525  	// UserList: Immutable. User List.
  6526  	UserList *GoogleAdsSearchads360V0Common__UserListInfo `json:"userList,omitempty"`
  6527  	// Webpage: Immutable. Webpage.
  6528  	Webpage *GoogleAdsSearchads360V0Common__WebpageInfo `json:"webpage,omitempty"`
  6529  	// ForceSendFields is a list of field names (e.g. "AgeRange") to
  6530  	// unconditionally include in API requests. By default, fields with empty or
  6531  	// default values are omitted from API requests. See
  6532  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6533  	// details.
  6534  	ForceSendFields []string `json:"-"`
  6535  	// NullFields is a list of field names (e.g. "AgeRange") to include in API
  6536  	// requests with the JSON null value. By default, fields with empty values are
  6537  	// omitted from API requests. See
  6538  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6539  	NullFields []string `json:"-"`
  6540  }
  6541  
  6542  func (s *GoogleAdsSearchads360V0Resources__CampaignCriterion) MarshalJSON() ([]byte, error) {
  6543  	type NoMethod GoogleAdsSearchads360V0Resources__CampaignCriterion
  6544  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6545  }
  6546  
  6547  func (s *GoogleAdsSearchads360V0Resources__CampaignCriterion) UnmarshalJSON(data []byte) error {
  6548  	type NoMethod GoogleAdsSearchads360V0Resources__CampaignCriterion
  6549  	var s1 struct {
  6550  		BidModifier gensupport.JSONFloat64 `json:"bidModifier"`
  6551  		*NoMethod
  6552  	}
  6553  	s1.NoMethod = (*NoMethod)(s)
  6554  	if err := json.Unmarshal(data, &s1); err != nil {
  6555  		return err
  6556  	}
  6557  	s.BidModifier = float64(s1.BidModifier)
  6558  	return nil
  6559  }
  6560  
  6561  // GoogleAdsSearchads360V0Resources__CampaignLabel: Represents a relationship
  6562  // between a campaign and a label.
  6563  type GoogleAdsSearchads360V0Resources__CampaignLabel struct {
  6564  	// Campaign: Immutable. The campaign to which the label is attached.
  6565  	Campaign string `json:"campaign,omitempty"`
  6566  	// Label: Immutable. The label assigned to the campaign.
  6567  	Label string `json:"label,omitempty"`
  6568  	// ResourceName: Immutable. Name of the resource. Campaign label resource names
  6569  	// have the form:
  6570  	// `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
  6571  	ResourceName string `json:"resourceName,omitempty"`
  6572  	// ForceSendFields is a list of field names (e.g. "Campaign") to
  6573  	// unconditionally include in API requests. By default, fields with empty or
  6574  	// default values are omitted from API requests. See
  6575  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6576  	// details.
  6577  	ForceSendFields []string `json:"-"`
  6578  	// NullFields is a list of field names (e.g. "Campaign") to include in API
  6579  	// requests with the JSON null value. By default, fields with empty values are
  6580  	// omitted from API requests. See
  6581  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6582  	NullFields []string `json:"-"`
  6583  }
  6584  
  6585  func (s *GoogleAdsSearchads360V0Resources__CampaignLabel) MarshalJSON() ([]byte, error) {
  6586  	type NoMethod GoogleAdsSearchads360V0Resources__CampaignLabel
  6587  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6588  }
  6589  
  6590  // GoogleAdsSearchads360V0Resources__CartDataSalesView: Cart data sales view.
  6591  type GoogleAdsSearchads360V0Resources__CartDataSalesView struct {
  6592  	// ResourceName: Output only. The resource name of the Cart data sales view.
  6593  	// Cart data sales view resource names have the form:
  6594  	// `customers/{customer_id}/cartDataSalesView`
  6595  	ResourceName string `json:"resourceName,omitempty"`
  6596  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  6597  	// unconditionally include in API requests. By default, fields with empty or
  6598  	// default values are omitted from API requests. See
  6599  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6600  	// details.
  6601  	ForceSendFields []string `json:"-"`
  6602  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  6603  	// requests with the JSON null value. By default, fields with empty values are
  6604  	// omitted from API requests. See
  6605  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6606  	NullFields []string `json:"-"`
  6607  }
  6608  
  6609  func (s *GoogleAdsSearchads360V0Resources__CartDataSalesView) MarshalJSON() ([]byte, error) {
  6610  	type NoMethod GoogleAdsSearchads360V0Resources__CartDataSalesView
  6611  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6612  }
  6613  
  6614  // GoogleAdsSearchads360V0Resources__Conversion: A conversion.
  6615  type GoogleAdsSearchads360V0Resources__Conversion struct {
  6616  	// AdId: Output only. Ad ID. A value of 0 indicates that the ad is
  6617  	// unattributed.
  6618  	AdId int64 `json:"adId,omitempty,string"`
  6619  	// AdvertiserConversionId: Output only. For offline conversions, this is an ID
  6620  	// provided by advertisers. If an advertiser doesn't specify such an ID, Search
  6621  	// Ads 360 generates one. For online conversions, this is equal to the id
  6622  	// column or the floodlight_order_id column depending on the advertiser's
  6623  	// Floodlight instructions.
  6624  	AdvertiserConversionId string `json:"advertiserConversionId,omitempty"`
  6625  	// AssetFieldType: Output only. Asset field type of the conversion event.
  6626  	//
  6627  	// Possible values:
  6628  	//   "UNSPECIFIED" - Not specified.
  6629  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6630  	// version.
  6631  	//   "HEADLINE" - The asset is linked for use as a headline.
  6632  	//   "DESCRIPTION" - The asset is linked for use as a description.
  6633  	//   "MANDATORY_AD_TEXT" - The asset is linked for use as mandatory ad text.
  6634  	//   "MARKETING_IMAGE" - The asset is linked for use as a marketing image.
  6635  	//   "MEDIA_BUNDLE" - The asset is linked for use as a media bundle.
  6636  	//   "YOUTUBE_VIDEO" - The asset is linked for use as a YouTube video.
  6637  	//   "BOOK_ON_GOOGLE" - The asset is linked to indicate that a hotels campaign
  6638  	// is "Book on Google" enabled.
  6639  	//   "LEAD_FORM" - The asset is linked for use as a Lead Form extension.
  6640  	//   "PROMOTION" - The asset is linked for use as a Promotion extension.
  6641  	//   "CALLOUT" - The asset is linked for use as a Callout extension.
  6642  	//   "STRUCTURED_SNIPPET" - The asset is linked for use as a Structured Snippet
  6643  	// extension.
  6644  	//   "SITELINK" - The asset is linked for use as a Sitelink.
  6645  	//   "MOBILE_APP" - The asset is linked for use as a Mobile App extension.
  6646  	//   "HOTEL_CALLOUT" - The asset is linked for use as a Hotel Callout
  6647  	// extension.
  6648  	//   "CALL" - The asset is linked for use as a Call extension.
  6649  	//   "PRICE" - The asset is linked for use as a Price extension.
  6650  	//   "LONG_HEADLINE" - The asset is linked for use as a long headline.
  6651  	//   "BUSINESS_NAME" - The asset is linked for use as a business name.
  6652  	//   "SQUARE_MARKETING_IMAGE" - The asset is linked for use as a square
  6653  	// marketing image.
  6654  	//   "PORTRAIT_MARKETING_IMAGE" - The asset is linked for use as a portrait
  6655  	// marketing image.
  6656  	//   "LOGO" - The asset is linked for use as a logo.
  6657  	//   "LANDSCAPE_LOGO" - The asset is linked for use as a landscape logo.
  6658  	//   "VIDEO" - The asset is linked for use as a non YouTube logo.
  6659  	//   "CALL_TO_ACTION_SELECTION" - The asset is linked for use to select a
  6660  	// call-to-action.
  6661  	//   "AD_IMAGE" - The asset is linked for use to select an ad image.
  6662  	//   "BUSINESS_LOGO" - The asset is linked for use as a business logo.
  6663  	//   "HOTEL_PROPERTY" - The asset is linked for use as a hotel property in a
  6664  	// Performance Max for travel goals campaign.
  6665  	//   "DISCOVERY_CAROUSEL_CARD" - The asset is linked for use as a discovery
  6666  	// carousel card.
  6667  	AssetFieldType string `json:"assetFieldType,omitempty"`
  6668  	// AssetId: Output only. ID of the asset which was interacted with during the
  6669  	// conversion event.
  6670  	AssetId int64 `json:"assetId,omitempty,string"`
  6671  	// AttributionType: Output only. What the conversion is attributed to: Visit or
  6672  	// Keyword+Ad.
  6673  	//
  6674  	// Possible values:
  6675  	//   "UNSPECIFIED" - Not specified.
  6676  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6677  	// version.
  6678  	//   "VISIT" - The conversion is attributed to a visit.
  6679  	//   "CRITERION_AD" - The conversion is attributed to a criterion and ad pair.
  6680  	AttributionType string `json:"attributionType,omitempty"`
  6681  	// ClickId: Output only. A unique string, for the visit that the conversion is
  6682  	// attributed to, that is passed to the landing page as the click id URL
  6683  	// parameter.
  6684  	ClickId string `json:"clickId,omitempty"`
  6685  	// ConversionDateTime: Output only. The timestamp of the conversion event.
  6686  	ConversionDateTime string `json:"conversionDateTime,omitempty"`
  6687  	// ConversionLastModifiedDateTime: Output only. The timestamp of the last time
  6688  	// the conversion was modified.
  6689  	ConversionLastModifiedDateTime string `json:"conversionLastModifiedDateTime,omitempty"`
  6690  	// ConversionQuantity: Output only. The quantity of items recorded by the
  6691  	// conversion, as determined by the qty url parameter. The advertiser is
  6692  	// responsible for dynamically populating the parameter (such as number of
  6693  	// items sold in the conversion), otherwise it defaults to 1.
  6694  	ConversionQuantity int64 `json:"conversionQuantity,omitempty,string"`
  6695  	// ConversionRevenueMicros: Output only. The adjusted revenue in micros for the
  6696  	// conversion event. This will always be in the currency of the serving
  6697  	// account.
  6698  	ConversionRevenueMicros int64 `json:"conversionRevenueMicros,omitempty,string"`
  6699  	// ConversionVisitDateTime: Output only. The timestamp of the visit that the
  6700  	// conversion is attributed to.
  6701  	ConversionVisitDateTime string `json:"conversionVisitDateTime,omitempty"`
  6702  	// CriterionId: Output only. Search Ads 360 criterion ID. A value of 0
  6703  	// indicates that the criterion is unattributed.
  6704  	CriterionId int64 `json:"criterionId,omitempty,string"`
  6705  	// FloodlightOrderId: Output only. The Floodlight order ID provided by the
  6706  	// advertiser for the conversion.
  6707  	FloodlightOrderId string `json:"floodlightOrderId,omitempty"`
  6708  	// FloodlightOriginalRevenue: Output only. The original, unchanged revenue
  6709  	// associated with the Floodlight event (in the currency of the current
  6710  	// report), before Floodlight currency instruction modifications.
  6711  	FloodlightOriginalRevenue int64 `json:"floodlightOriginalRevenue,omitempty,string"`
  6712  	// Id: Output only. The ID of the conversion
  6713  	Id int64 `json:"id,omitempty,string"`
  6714  	// MerchantId: Output only. The SearchAds360 inventory account ID containing
  6715  	// the product that was clicked on. SearchAds360 generates this ID when you
  6716  	// link an inventory account in SearchAds360.
  6717  	MerchantId int64 `json:"merchantId,omitempty,string"`
  6718  	// ProductChannel: Output only. The sales channel of the product that was
  6719  	// clicked on: Online or Local.
  6720  	//
  6721  	// Possible values:
  6722  	//   "UNSPECIFIED" - Not specified.
  6723  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6724  	// version.
  6725  	//   "ONLINE" - The item is sold online.
  6726  	//   "LOCAL" - The item is sold in local stores.
  6727  	ProductChannel string `json:"productChannel,omitempty"`
  6728  	// ProductCountryCode: Output only. The country (ISO-3166-format) registered
  6729  	// for the inventory feed that contains the product clicked on.
  6730  	ProductCountryCode string `json:"productCountryCode,omitempty"`
  6731  	// ProductId: Output only. The ID of the product clicked on.
  6732  	ProductId string `json:"productId,omitempty"`
  6733  	// ProductLanguageCode: Output only. The language (ISO-639-1) that has been set
  6734  	// for the Merchant Center feed containing data about the product.
  6735  	ProductLanguageCode string `json:"productLanguageCode,omitempty"`
  6736  	// ProductStoreId: Output only. The store in the Local Inventory Ad that was
  6737  	// clicked on. This should match the store IDs used in your local products
  6738  	// feed.
  6739  	ProductStoreId string `json:"productStoreId,omitempty"`
  6740  	// ResourceName: Output only. The resource name of the conversion. Conversion
  6741  	// resource names have the form:
  6742  	// `customers/{customer_id}/conversions/{ad_group_id}~{criterion_id}~{ds_convers
  6743  	// ion_id}`
  6744  	ResourceName string `json:"resourceName,omitempty"`
  6745  	// Status: Output only. The status of the conversion, either ENABLED or
  6746  	// REMOVED..
  6747  	//
  6748  	// Possible values:
  6749  	//   "UNSPECIFIED" - Not specified.
  6750  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6751  	// version.
  6752  	//   "ENABLED" - The conversion is enabled.
  6753  	//   "REMOVED" - The conversion has been removed.
  6754  	Status string `json:"status,omitempty"`
  6755  	// VisitId: Output only. The SearchAds360 visit ID that the conversion is
  6756  	// attributed to.
  6757  	VisitId int64 `json:"visitId,omitempty,string"`
  6758  	// ForceSendFields is a list of field names (e.g. "AdId") to unconditionally
  6759  	// include in API requests. By default, fields with empty or default values are
  6760  	// omitted from API requests. See
  6761  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6762  	// details.
  6763  	ForceSendFields []string `json:"-"`
  6764  	// NullFields is a list of field names (e.g. "AdId") to include in API requests
  6765  	// with the JSON null value. By default, fields with empty values are omitted
  6766  	// from API requests. See
  6767  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6768  	NullFields []string `json:"-"`
  6769  }
  6770  
  6771  func (s *GoogleAdsSearchads360V0Resources__Conversion) MarshalJSON() ([]byte, error) {
  6772  	type NoMethod GoogleAdsSearchads360V0Resources__Conversion
  6773  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6774  }
  6775  
  6776  // GoogleAdsSearchads360V0Resources__ConversionAction: A conversion action.
  6777  type GoogleAdsSearchads360V0Resources__ConversionAction struct {
  6778  	// AppId: App ID for an app conversion action.
  6779  	AppId string `json:"appId,omitempty"`
  6780  	// AttributionModelSettings: Settings related to this conversion action's
  6781  	// attribution model.
  6782  	AttributionModelSettings *GoogleAdsSearchads360V0ResourcesConversionActionAttributionModelSettings `json:"attributionModelSettings,omitempty"`
  6783  	// Category: The category of conversions reported for this conversion action.
  6784  	//
  6785  	// Possible values:
  6786  	//   "UNSPECIFIED" - Not specified.
  6787  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6788  	// version.
  6789  	//   "DEFAULT" - Default category.
  6790  	//   "PAGE_VIEW" - User visiting a page.
  6791  	//   "PURCHASE" - Purchase, sales, or "order placed" event.
  6792  	//   "SIGNUP" - Signup user action.
  6793  	//   "LEAD" - Lead-generating action.
  6794  	//   "DOWNLOAD" - Software download action (as for an app).
  6795  	//   "ADD_TO_CART" - The addition of items to a shopping cart or bag on an
  6796  	// advertiser site.
  6797  	//   "BEGIN_CHECKOUT" - When someone enters the checkout flow on an advertiser
  6798  	// site.
  6799  	//   "SUBSCRIBE_PAID" - The start of a paid subscription for a product or
  6800  	// service.
  6801  	//   "PHONE_CALL_LEAD" - A call to indicate interest in an advertiser's
  6802  	// offering.
  6803  	//   "IMPORTED_LEAD" - A lead conversion imported from an external source into
  6804  	// Google Ads.
  6805  	//   "SUBMIT_LEAD_FORM" - A submission of a form on an advertiser site
  6806  	// indicating business interest.
  6807  	//   "BOOK_APPOINTMENT" - A booking of an appointment with an advertiser's
  6808  	// business.
  6809  	//   "REQUEST_QUOTE" - A quote or price estimate request.
  6810  	//   "GET_DIRECTIONS" - A search for an advertiser's business location with
  6811  	// intention to visit.
  6812  	//   "OUTBOUND_CLICK" - A click to an advertiser's partner's site.
  6813  	//   "CONTACT" - A call, SMS, email, chat or other type of contact to an
  6814  	// advertiser.
  6815  	//   "ENGAGEMENT" - A website engagement event such as long site time or a
  6816  	// Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA
  6817  	// Gold goal imports.
  6818  	//   "STORE_VISIT" - A visit to a physical store location.
  6819  	//   "STORE_SALE" - A sale occurring in a physical store.
  6820  	//   "QUALIFIED_LEAD" - A lead conversion imported from an external source into
  6821  	// Google Ads, that has been further qualified by the advertiser
  6822  	// (marketing/sales team). In the lead-to-sale journey, advertisers get leads,
  6823  	// then act on them by reaching out to the consumer. If the consumer is
  6824  	// interested and may end up buying their product, the advertiser marks such
  6825  	// leads as "qualified leads".
  6826  	//   "CONVERTED_LEAD" - A lead conversion imported from an external source into
  6827  	// Google Ads, that has further completed a chosen stage as defined by the lead
  6828  	// gen advertiser.
  6829  	Category string `json:"category,omitempty"`
  6830  	// ClickThroughLookbackWindowDays: The maximum number of days that may elapse
  6831  	// between an interaction (for example, a click) and a conversion event.
  6832  	ClickThroughLookbackWindowDays int64 `json:"clickThroughLookbackWindowDays,omitempty,string"`
  6833  	// CreationTime: Output only. Timestamp of the Floodlight activity's creation,
  6834  	// formatted in ISO 8601.
  6835  	CreationTime string `json:"creationTime,omitempty"`
  6836  	// FloodlightSettings: Output only. Floodlight settings for Floodlight
  6837  	// conversion types.
  6838  	FloodlightSettings *GoogleAdsSearchads360V0ResourcesConversionActionFloodlightSettings `json:"floodlightSettings,omitempty"`
  6839  	// Id: Output only. The ID of the conversion action.
  6840  	Id int64 `json:"id,omitempty,string"`
  6841  	// IncludeInClientAccountConversionsMetric: Whether this conversion action
  6842  	// should be included in the "client_account_conversions" metric.
  6843  	IncludeInClientAccountConversionsMetric bool `json:"includeInClientAccountConversionsMetric,omitempty"`
  6844  	// IncludeInConversionsMetric: Output only. Whether this conversion action
  6845  	// should be included in the "conversions" metric.
  6846  	IncludeInConversionsMetric bool `json:"includeInConversionsMetric,omitempty"`
  6847  	// Name: The name of the conversion action. This field is required and should
  6848  	// not be empty when creating new conversion actions.
  6849  	Name string `json:"name,omitempty"`
  6850  	// OwnerCustomer: Output only. The resource name of the conversion action owner
  6851  	// customer, or null if this is a system-defined conversion action.
  6852  	OwnerCustomer string `json:"ownerCustomer,omitempty"`
  6853  	// PrimaryForGoal: If a conversion action's primary_for_goal bit is false, the
  6854  	// conversion action is non-biddable for all campaigns regardless of their
  6855  	// customer conversion goal or campaign conversion goal. However, custom
  6856  	// conversion goals do not respect primary_for_goal, so if a campaign has a
  6857  	// custom conversion goal configured with a primary_for_goal = false conversion
  6858  	// action, that conversion action is still biddable. By default,
  6859  	// primary_for_goal will be true if not set. In V9, primary_for_goal can only
  6860  	// be set to false after creation through an 'update' operation because it's
  6861  	// not declared as optional.
  6862  	PrimaryForGoal bool `json:"primaryForGoal,omitempty"`
  6863  	// ResourceName: Immutable. The resource name of the conversion action.
  6864  	// Conversion action resource names have the form:
  6865  	// `customers/{customer_id}/conversionActions/{conversion_action_id}`
  6866  	ResourceName string `json:"resourceName,omitempty"`
  6867  	// Status: The status of this conversion action for conversion event accrual.
  6868  	//
  6869  	// Possible values:
  6870  	//   "UNSPECIFIED" - Not specified.
  6871  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6872  	// version.
  6873  	//   "ENABLED" - Conversions will be recorded.
  6874  	//   "REMOVED" - Conversions will not be recorded.
  6875  	//   "HIDDEN" - Conversions will not be recorded and the conversion action will
  6876  	// not appear in the UI.
  6877  	Status string `json:"status,omitempty"`
  6878  	// Type: Immutable. The type of this conversion action.
  6879  	//
  6880  	// Possible values:
  6881  	//   "UNSPECIFIED" - Not specified.
  6882  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  6883  	// version.
  6884  	//   "AD_CALL" - Conversions that occur when a user clicks on an ad's call
  6885  	// extension.
  6886  	//   "CLICK_TO_CALL" - Conversions that occur when a user on a mobile device
  6887  	// clicks a phone number.
  6888  	//   "GOOGLE_PLAY_DOWNLOAD" - Conversions that occur when a user downloads a
  6889  	// mobile app from the Google Play Store.
  6890  	//   "GOOGLE_PLAY_IN_APP_PURCHASE" - Conversions that occur when a user makes a
  6891  	// purchase in an app through Android billing.
  6892  	//   "UPLOAD_CALLS" - Call conversions that are tracked by the advertiser and
  6893  	// uploaded.
  6894  	//   "UPLOAD_CLICKS" - Conversions that are tracked by the advertiser and
  6895  	// uploaded with attributed clicks.
  6896  	//   "WEBPAGE" - Conversions that occur on a webpage.
  6897  	//   "WEBSITE_CALL" - Conversions that occur when a user calls a
  6898  	// dynamically-generated phone number from an advertiser's website.
  6899  	//   "STORE_SALES_DIRECT_UPLOAD" - Store Sales conversion based on first-party
  6900  	// or third-party merchant data uploads. Only customers on the allowlist can
  6901  	// use store sales direct upload types.
  6902  	//   "STORE_SALES" - Store Sales conversion based on first-party or third-party
  6903  	// merchant data uploads and/or from in-store purchases using cards from
  6904  	// payment networks. Only customers on the allowlist can use store sales types.
  6905  	// Read only.
  6906  	//   "FIREBASE_ANDROID_FIRST_OPEN" - Android app first open conversions tracked
  6907  	// through Firebase.
  6908  	//   "FIREBASE_ANDROID_IN_APP_PURCHASE" - Android app in app purchase
  6909  	// conversions tracked through Firebase.
  6910  	//   "FIREBASE_ANDROID_CUSTOM" - Android app custom conversions tracked through
  6911  	// Firebase.
  6912  	//   "FIREBASE_IOS_FIRST_OPEN" - iOS app first open conversions tracked through
  6913  	// Firebase.
  6914  	//   "FIREBASE_IOS_IN_APP_PURCHASE" - iOS app in app purchase conversions
  6915  	// tracked through Firebase.
  6916  	//   "FIREBASE_IOS_CUSTOM" - iOS app custom conversions tracked through
  6917  	// Firebase.
  6918  	//   "THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN" - Android app first open
  6919  	// conversions tracked through Third Party App Analytics.
  6920  	//   "THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE" - Android app in app
  6921  	// purchase conversions tracked through Third Party App Analytics.
  6922  	//   "THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM" - Android app custom
  6923  	// conversions tracked through Third Party App Analytics.
  6924  	//   "THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN" - iOS app first open
  6925  	// conversions tracked through Third Party App Analytics.
  6926  	//   "THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE" - iOS app in app purchase
  6927  	// conversions tracked through Third Party App Analytics.
  6928  	//   "THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM" - iOS app custom conversions
  6929  	// tracked through Third Party App Analytics.
  6930  	//   "ANDROID_APP_PRE_REGISTRATION" - Conversions that occur when a user
  6931  	// pre-registers a mobile app from the Google Play Store. Read only.
  6932  	//   "ANDROID_INSTALLS_ALL_OTHER_APPS" - Conversions that track all Google Play
  6933  	// downloads which aren't tracked by an app-specific type. Read only.
  6934  	//   "FLOODLIGHT_ACTION" - Floodlight activity that counts the number of times
  6935  	// that users have visited a particular webpage after seeing or clicking on one
  6936  	// of an advertiser's ads. Read only.
  6937  	//   "FLOODLIGHT_TRANSACTION" - Floodlight activity that tracks the number of
  6938  	// sales made or the number of items purchased. Can also capture the total
  6939  	// value of each sale. Read only.
  6940  	//   "GOOGLE_HOSTED" - Conversions that track local actions from Google's
  6941  	// products and services after interacting with an ad. Read only.
  6942  	//   "LEAD_FORM_SUBMIT" - Conversions reported when a user submits a lead form.
  6943  	// Read only.
  6944  	//   "SALESFORCE" - Conversions that come from Salesforce. Read only.
  6945  	//   "SEARCH_ADS_360" - Conversions imported from Search Ads 360 Floodlight
  6946  	// data. Read only.
  6947  	//   "SMART_CAMPAIGN_AD_CLICKS_TO_CALL" - Call conversions that occur on Smart
  6948  	// campaign Ads without call tracking setup, using Smart campaign custom
  6949  	// criteria. Read only.
  6950  	//   "SMART_CAMPAIGN_MAP_CLICKS_TO_CALL" - The user clicks on a call element
  6951  	// within Google Maps. Smart campaign only. Read only.
  6952  	//   "SMART_CAMPAIGN_MAP_DIRECTIONS" - The user requests directions to a
  6953  	// business location within Google Maps. Smart campaign only. Read only.
  6954  	//   "SMART_CAMPAIGN_TRACKED_CALLS" - Call conversions that occur on Smart
  6955  	// campaign Ads with call tracking setup, using Smart campaign custom criteria.
  6956  	// Read only.
  6957  	//   "STORE_VISITS" - Conversions that occur when a user visits an advertiser's
  6958  	// retail store. Read only.
  6959  	//   "WEBPAGE_CODELESS" - Conversions created from website events (such as form
  6960  	// submissions or page loads), that don't use individually coded event
  6961  	// snippets. Read only.
  6962  	//   "UNIVERSAL_ANALYTICS_GOAL" - Conversions that come from linked Universal
  6963  	// Analytics goals.
  6964  	//   "UNIVERSAL_ANALYTICS_TRANSACTION" - Conversions that come from linked
  6965  	// Universal Analytics transactions.
  6966  	//   "GOOGLE_ANALYTICS_4_CUSTOM" - Conversions that come from linked Google
  6967  	// Analytics 4 custom event conversions.
  6968  	//   "GOOGLE_ANALYTICS_4_PURCHASE" - Conversions that come from linked Google
  6969  	// Analytics 4 purchase conversions.
  6970  	Type string `json:"type,omitempty"`
  6971  	// ValueSettings: Settings related to the value for conversion events
  6972  	// associated with this conversion action.
  6973  	ValueSettings *GoogleAdsSearchads360V0ResourcesConversionActionValueSettings `json:"valueSettings,omitempty"`
  6974  	// ForceSendFields is a list of field names (e.g. "AppId") to unconditionally
  6975  	// include in API requests. By default, fields with empty or default values are
  6976  	// omitted from API requests. See
  6977  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6978  	// details.
  6979  	ForceSendFields []string `json:"-"`
  6980  	// NullFields is a list of field names (e.g. "AppId") to include in API
  6981  	// requests with the JSON null value. By default, fields with empty values are
  6982  	// omitted from API requests. See
  6983  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6984  	NullFields []string `json:"-"`
  6985  }
  6986  
  6987  func (s *GoogleAdsSearchads360V0Resources__ConversionAction) MarshalJSON() ([]byte, error) {
  6988  	type NoMethod GoogleAdsSearchads360V0Resources__ConversionAction
  6989  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6990  }
  6991  
  6992  // GoogleAdsSearchads360V0Resources__ConversionCustomVariable: A conversion
  6993  // custom variable. See "About custom Floodlight metrics and dimensions in the
  6994  // new Search Ads 360" at https://support.google.com/sa360/answer/13567857
  6995  type GoogleAdsSearchads360V0Resources__ConversionCustomVariable struct {
  6996  	// Cardinality: Output only. Cardinality of the conversion custom variable.
  6997  	//
  6998  	// Possible values:
  6999  	//   "UNSPECIFIED" - Not specified.
  7000  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7001  	// version.
  7002  	//   "BELOW_ALL_LIMITS" - The conversion custom variable has cardinality below
  7003  	// all limits. The variable can be used for segmentation, and stats can accrue
  7004  	// for new values if the variable is enabled.
  7005  	//   "EXCEEDS_SEGMENTATION_LIMIT_BUT_NOT_STATS_LIMIT" - The conversion custom
  7006  	// variable has cardinality that exceeds the segmentation limit, but does not
  7007  	// exceed the stats limit. Segmentation will be disabled, but stats can accrue
  7008  	// for new values if the variable is enabled.
  7009  	//   "APPROACHES_STATS_LIMIT" - The conversion custom variable has exceeded the
  7010  	// segmentation limits, and is approaching the stats limits (> 90%).
  7011  	// Segmentation will be disabled, but stats can accrue for new values if the
  7012  	// variable is enabled.
  7013  	//   "EXCEEDS_STATS_LIMIT" - The conversion custom variable has exceeded both
  7014  	// the segmentation limits and stats limits. Segmentation will be disabled, and
  7015  	// stats for enabled variables can accrue only if the existing values do not
  7016  	// increase the cardinality of the variable any further.
  7017  	Cardinality string `json:"cardinality,omitempty"`
  7018  	// CustomColumnIds: Output only. The IDs of custom columns that use this
  7019  	// conversion custom variable.
  7020  	CustomColumnIds googleapi.Int64s `json:"customColumnIds,omitempty"`
  7021  	// Family: Output only. Family of the conversion custom variable.
  7022  	//
  7023  	// Possible values:
  7024  	//   "UNSPECIFIED" - Not specified.
  7025  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7026  	// version.
  7027  	//   "STANDARD" - The standard conversion custom variable. Customers are
  7028  	// required to activate before use.
  7029  	//   "FLOODLIGHT" - The conversion custom variable imported from a custom
  7030  	// floodlight variable.
  7031  	Family string `json:"family,omitempty"`
  7032  	// FloodlightConversionCustomVariableInfo: Output only. Fields for Search Ads
  7033  	// 360 floodlight conversion custom variables.
  7034  	FloodlightConversionCustomVariableInfo *GoogleAdsSearchads360V0ResourcesConversionCustomVariableFloodlightConversionCustomVariableInfo `json:"floodlightConversionCustomVariableInfo,omitempty"`
  7035  	// Id: Output only. The ID of the conversion custom variable.
  7036  	Id int64 `json:"id,omitempty,string"`
  7037  	// Name: Required. The name of the conversion custom variable. Name should be
  7038  	// unique. The maximum length of name is 100 characters. There should not be
  7039  	// any extra spaces before and after.
  7040  	Name string `json:"name,omitempty"`
  7041  	// OwnerCustomer: Output only. The resource name of the customer that owns the
  7042  	// conversion custom variable.
  7043  	OwnerCustomer string `json:"ownerCustomer,omitempty"`
  7044  	// ResourceName: Immutable. The resource name of the conversion custom
  7045  	// variable. Conversion custom variable resource names have the form:
  7046  	// `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variabl
  7047  	// e_id}`
  7048  	ResourceName string `json:"resourceName,omitempty"`
  7049  	// Status: The status of the conversion custom variable for conversion event
  7050  	// accrual.
  7051  	//
  7052  	// Possible values:
  7053  	//   "UNSPECIFIED" - Not specified.
  7054  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7055  	// version.
  7056  	//   "ACTIVATION_NEEDED" - The conversion custom variable is pending activation
  7057  	// and will not accrue stats until set to ENABLED. This status can't be used in
  7058  	// CREATE and UPDATE requests.
  7059  	//   "ENABLED" - The conversion custom variable is enabled and will accrue
  7060  	// stats.
  7061  	//   "PAUSED" - The conversion custom variable is paused and will not accrue
  7062  	// stats until set to ENABLED again.
  7063  	Status string `json:"status,omitempty"`
  7064  	// Tag: Required. Immutable. The tag of the conversion custom variable. Tag
  7065  	// should be unique and consist of a "u" character directly followed with a
  7066  	// number less than ormequal to 100. For example: "u4".
  7067  	Tag string `json:"tag,omitempty"`
  7068  	// ForceSendFields is a list of field names (e.g. "Cardinality") to
  7069  	// unconditionally include in API requests. By default, fields with empty or
  7070  	// default values are omitted from API requests. See
  7071  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7072  	// details.
  7073  	ForceSendFields []string `json:"-"`
  7074  	// NullFields is a list of field names (e.g. "Cardinality") to include in API
  7075  	// requests with the JSON null value. By default, fields with empty values are
  7076  	// omitted from API requests. See
  7077  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7078  	NullFields []string `json:"-"`
  7079  }
  7080  
  7081  func (s *GoogleAdsSearchads360V0Resources__ConversionCustomVariable) MarshalJSON() ([]byte, error) {
  7082  	type NoMethod GoogleAdsSearchads360V0Resources__ConversionCustomVariable
  7083  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7084  }
  7085  
  7086  // GoogleAdsSearchads360V0Resources__ConversionTrackingSetting: A collection of
  7087  // customer-wide settings related to Search Ads 360 Conversion Tracking.
  7088  type GoogleAdsSearchads360V0Resources__ConversionTrackingSetting struct {
  7089  	// AcceptedCustomerDataTerms: Output only. Whether the customer has accepted
  7090  	// customer data terms. If using cross-account conversion tracking, this value
  7091  	// is inherited from the manager. This field is read-only. For more
  7092  	// information, see https://support.google.com/adspolicy/answer/7475709.
  7093  	AcceptedCustomerDataTerms bool `json:"acceptedCustomerDataTerms,omitempty"`
  7094  	// ConversionTrackingId: Output only. The conversion tracking id used for this
  7095  	// account. This id doesn't indicate whether the customer uses conversion
  7096  	// tracking (conversion_tracking_status does). This field is read-only.
  7097  	ConversionTrackingId int64 `json:"conversionTrackingId,omitempty,string"`
  7098  	// ConversionTrackingStatus: Output only. Conversion tracking status. It
  7099  	// indicates whether the customer is using conversion tracking, and who is the
  7100  	// conversion tracking owner of this customer. If this customer is using
  7101  	// cross-account conversion tracking, the value returned will differ based on
  7102  	// the `login-customer-id` of the request.
  7103  	//
  7104  	// Possible values:
  7105  	//   "UNSPECIFIED" - Not specified.
  7106  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7107  	// version.
  7108  	//   "NOT_CONVERSION_TRACKED" - Customer does not use any conversion tracking.
  7109  	//   "CONVERSION_TRACKING_MANAGED_BY_SELF" - The conversion actions are created
  7110  	// and managed by this customer.
  7111  	//   "CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER" - The conversion actions are
  7112  	// created and managed by the manager specified in the request's
  7113  	// `login-customer-id`.
  7114  	//   "CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER" - The conversion actions
  7115  	// are created and managed by a manager different from the customer or manager
  7116  	// specified in the request's `login-customer-id`.
  7117  	ConversionTrackingStatus string `json:"conversionTrackingStatus,omitempty"`
  7118  	// CrossAccountConversionTrackingId: Output only. The conversion tracking id of
  7119  	// the customer's manager. This is set when the customer is opted into
  7120  	// cross-account conversion tracking, and it overrides conversion_tracking_id.
  7121  	CrossAccountConversionTrackingId int64 `json:"crossAccountConversionTrackingId,omitempty,string"`
  7122  	// EnhancedConversionsForLeadsEnabled: Output only. Whether the customer is
  7123  	// opted-in for enhanced conversions for leads. If using cross-account
  7124  	// conversion tracking, this value is inherited from the manager. This field is
  7125  	// read-only.
  7126  	EnhancedConversionsForLeadsEnabled bool `json:"enhancedConversionsForLeadsEnabled,omitempty"`
  7127  	// GoogleAdsConversionCustomer: Output only. The resource name of the customer
  7128  	// where conversions are created and managed. This field is read-only.
  7129  	GoogleAdsConversionCustomer string `json:"googleAdsConversionCustomer,omitempty"`
  7130  	// GoogleAdsCrossAccountConversionTrackingId: Output only. The conversion
  7131  	// tracking id of the customer's manager. This is set when the customer is
  7132  	// opted into conversion tracking, and it overrides conversion_tracking_id.
  7133  	// This field can only be managed through the Google Ads UI. This field is
  7134  	// read-only.
  7135  	GoogleAdsCrossAccountConversionTrackingId int64 `json:"googleAdsCrossAccountConversionTrackingId,omitempty,string"`
  7136  	// ForceSendFields is a list of field names (e.g. "AcceptedCustomerDataTerms")
  7137  	// to unconditionally include in API requests. By default, fields with empty or
  7138  	// default values are omitted from API requests. See
  7139  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7140  	// details.
  7141  	ForceSendFields []string `json:"-"`
  7142  	// NullFields is a list of field names (e.g. "AcceptedCustomerDataTerms") to
  7143  	// include in API requests with the JSON null value. By default, fields with
  7144  	// empty values are omitted from API requests. See
  7145  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7146  	NullFields []string `json:"-"`
  7147  }
  7148  
  7149  func (s *GoogleAdsSearchads360V0Resources__ConversionTrackingSetting) MarshalJSON() ([]byte, error) {
  7150  	type NoMethod GoogleAdsSearchads360V0Resources__ConversionTrackingSetting
  7151  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7152  }
  7153  
  7154  // GoogleAdsSearchads360V0Resources__CustomColumn: A custom column. See Search
  7155  // Ads 360 custom column at https://support.google.com/sa360/answer/9633916
  7156  type GoogleAdsSearchads360V0Resources__CustomColumn struct {
  7157  	// Description: Output only. User-defined description of the custom column.
  7158  	Description string `json:"description,omitempty"`
  7159  	// Id: Output only. ID of the custom column.
  7160  	Id int64 `json:"id,omitempty,string"`
  7161  	// Name: Output only. User-defined name of the custom column.
  7162  	Name string `json:"name,omitempty"`
  7163  	// Queryable: Output only. True when the custom column is available to be used
  7164  	// in the query of SearchAds360Service.Search and
  7165  	// SearchAds360Service.SearchStream.
  7166  	Queryable bool `json:"queryable,omitempty"`
  7167  	// ReferencedSystemColumns: Output only. The list of the referenced system
  7168  	// columns of this custom column. For example, A custom column "sum of
  7169  	// impressions and clicks" has referenced system columns of {"metrics.clicks",
  7170  	// "metrics.impressions"}.
  7171  	ReferencedSystemColumns []string `json:"referencedSystemColumns,omitempty"`
  7172  	// ReferencesAttributes: Output only. True when the custom column is referring
  7173  	// to one or more attributes.
  7174  	ReferencesAttributes bool `json:"referencesAttributes,omitempty"`
  7175  	// ReferencesMetrics: Output only. True when the custom column is referring to
  7176  	// one or more metrics.
  7177  	ReferencesMetrics bool `json:"referencesMetrics,omitempty"`
  7178  	// ResourceName: Immutable. The resource name of the custom column. Custom
  7179  	// column resource names have the form:
  7180  	// `customers/{customer_id}/customColumns/{custom_column_id}`
  7181  	ResourceName string `json:"resourceName,omitempty"`
  7182  	// ValueType: Output only. The type of the result value of the custom column.
  7183  	//
  7184  	// Possible values:
  7185  	//   "UNSPECIFIED" - Not specified.
  7186  	//   "UNKNOWN" - Unknown.
  7187  	//   "STRING" - The custom column value is a string.
  7188  	//   "INT64" - The custom column value is an int64 number.
  7189  	//   "DOUBLE" - The custom column value is a double number.
  7190  	//   "BOOLEAN" - The custom column value is a boolean.
  7191  	ValueType string `json:"valueType,omitempty"`
  7192  
  7193  	// ServerResponse contains the HTTP response code and headers from the server.
  7194  	googleapi.ServerResponse `json:"-"`
  7195  	// ForceSendFields is a list of field names (e.g. "Description") to
  7196  	// unconditionally include in API requests. By default, fields with empty or
  7197  	// default values are omitted from API requests. See
  7198  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7199  	// details.
  7200  	ForceSendFields []string `json:"-"`
  7201  	// NullFields is a list of field names (e.g. "Description") to include in API
  7202  	// requests with the JSON null value. By default, fields with empty values are
  7203  	// omitted from API requests. See
  7204  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7205  	NullFields []string `json:"-"`
  7206  }
  7207  
  7208  func (s *GoogleAdsSearchads360V0Resources__CustomColumn) MarshalJSON() ([]byte, error) {
  7209  	type NoMethod GoogleAdsSearchads360V0Resources__CustomColumn
  7210  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7211  }
  7212  
  7213  // GoogleAdsSearchads360V0Resources__Customer: A customer.
  7214  type GoogleAdsSearchads360V0Resources__Customer struct {
  7215  	// AccountStatus: Output only. Account status, for example, Enabled, Paused,
  7216  	// Removed, etc.
  7217  	//
  7218  	// Possible values:
  7219  	//   "UNSPECIFIED" - Default value.
  7220  	//   "UNKNOWN" - Unknown value.
  7221  	//   "ENABLED" - Account is able to serve ads.
  7222  	//   "PAUSED" - Account is deactivated by the user.
  7223  	//   "SUSPENDED" - Account is deactivated by an internal process.
  7224  	//   "REMOVED" - Account is irrevocably deactivated.
  7225  	//   "DRAFT" - Account is still in the process of setup, not ENABLED yet.
  7226  	AccountStatus string `json:"accountStatus,omitempty"`
  7227  	// AccountType: Output only. Engine account type, for example, Google Ads,
  7228  	// Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.
  7229  	//
  7230  	// Possible values:
  7231  	//   "UNSPECIFIED" - Not specified.
  7232  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7233  	// version.
  7234  	//   "BAIDU" - Baidu account.
  7235  	//   "ENGINE_TRACK" - Engine track account.
  7236  	//   "FACEBOOK" - Facebook account.
  7237  	//   "FACEBOOK_GATEWAY" - Facebook account managed through gateway.
  7238  	//   "GOOGLE_ADS" - Google Ads account.
  7239  	//   "MICROSOFT" - Microsoft Advertising account.
  7240  	//   "SEARCH_ADS_360" - Search Ads 360 manager account.
  7241  	//   "YAHOO_JAPAN" - Yahoo Japan account.
  7242  	AccountType string `json:"accountType,omitempty"`
  7243  	// AutoTaggingEnabled: Whether auto-tagging is enabled for the customer.
  7244  	AutoTaggingEnabled bool `json:"autoTaggingEnabled,omitempty"`
  7245  	// ConversionTrackingSetting: Output only. Conversion tracking setting for a
  7246  	// customer.
  7247  	ConversionTrackingSetting *GoogleAdsSearchads360V0Resources__ConversionTrackingSetting `json:"conversionTrackingSetting,omitempty"`
  7248  	// CreationTime: Output only. The timestamp when this customer was created. The
  7249  	// timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss"
  7250  	// format.
  7251  	CreationTime string `json:"creationTime,omitempty"`
  7252  	// CurrencyCode: Immutable. The currency in which the account operates. A
  7253  	// subset of the currency codes from the ISO 4217 standard is supported.
  7254  	CurrencyCode string `json:"currencyCode,omitempty"`
  7255  	// DescriptiveName: Optional, non-unique descriptive name of the customer.
  7256  	DescriptiveName string `json:"descriptiveName,omitempty"`
  7257  	// DoubleClickCampaignManagerSetting: Output only. DoubleClick Campaign Manager
  7258  	// (DCM) setting for a manager customer.
  7259  	DoubleClickCampaignManagerSetting *GoogleAdsSearchads360V0Resources__DoubleClickCampaignManagerSetting `json:"doubleClickCampaignManagerSetting,omitempty"`
  7260  	// EngineId: Output only. ID of the account in the external engine account.
  7261  	EngineId string `json:"engineId,omitempty"`
  7262  	// FinalUrlSuffix: The URL template for appending params to the final URL.
  7263  	FinalUrlSuffix string `json:"finalUrlSuffix,omitempty"`
  7264  	// Id: Output only. The ID of the customer.
  7265  	Id int64 `json:"id,omitempty,string"`
  7266  	// LastModifiedTime: Output only. The datetime when this customer was last
  7267  	// modified. The datetime is in the customer's time zone and in "yyyy-MM-dd
  7268  	// HH:mm:ss.ssssss" format.
  7269  	LastModifiedTime string `json:"lastModifiedTime,omitempty"`
  7270  	// Manager: Output only. Whether the customer is a manager.
  7271  	Manager bool `json:"manager,omitempty"`
  7272  	// ResourceName: Immutable. The resource name of the customer. Customer
  7273  	// resource names have the form: `customers/{customer_id}`
  7274  	ResourceName string `json:"resourceName,omitempty"`
  7275  	// Status: Output only. The status of the customer.
  7276  	//
  7277  	// Possible values:
  7278  	//   "UNSPECIFIED" - Not specified.
  7279  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7280  	// version.
  7281  	//   "ENABLED" - Indicates an active account able to serve ads.
  7282  	//   "CANCELED" - Indicates a canceled account unable to serve ads. Can be
  7283  	// reactivated by an admin user.
  7284  	//   "SUSPENDED" - Indicates a suspended account unable to serve ads. May only
  7285  	// be activated by Google support.
  7286  	//   "CLOSED" - Indicates a closed account unable to serve ads. Test account
  7287  	// will also have CLOSED status. Status is permanent and may not be reopened.
  7288  	Status string `json:"status,omitempty"`
  7289  	// TimeZone: Immutable. The local timezone ID of the customer.
  7290  	TimeZone string `json:"timeZone,omitempty"`
  7291  	// TrackingUrlTemplate: The URL template for constructing a tracking URL out of
  7292  	// parameters.
  7293  	TrackingUrlTemplate string `json:"trackingUrlTemplate,omitempty"`
  7294  	// ForceSendFields is a list of field names (e.g. "AccountStatus") to
  7295  	// unconditionally include in API requests. By default, fields with empty or
  7296  	// default values are omitted from API requests. See
  7297  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7298  	// details.
  7299  	ForceSendFields []string `json:"-"`
  7300  	// NullFields is a list of field names (e.g. "AccountStatus") to include in API
  7301  	// requests with the JSON null value. By default, fields with empty values are
  7302  	// omitted from API requests. See
  7303  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7304  	NullFields []string `json:"-"`
  7305  }
  7306  
  7307  func (s *GoogleAdsSearchads360V0Resources__Customer) MarshalJSON() ([]byte, error) {
  7308  	type NoMethod GoogleAdsSearchads360V0Resources__Customer
  7309  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7310  }
  7311  
  7312  // GoogleAdsSearchads360V0Resources__CustomerAsset: A link between a customer
  7313  // and an asset.
  7314  type GoogleAdsSearchads360V0Resources__CustomerAsset struct {
  7315  	// Asset: Required. Immutable. The asset which is linked to the customer.
  7316  	Asset string `json:"asset,omitempty"`
  7317  	// ResourceName: Immutable. The resource name of the customer asset.
  7318  	// CustomerAsset resource names have the form:
  7319  	// `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
  7320  	ResourceName string `json:"resourceName,omitempty"`
  7321  	// Status: Status of the customer asset.
  7322  	//
  7323  	// Possible values:
  7324  	//   "UNSPECIFIED" - Not specified.
  7325  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7326  	// version.
  7327  	//   "ENABLED" - Asset link is enabled.
  7328  	//   "REMOVED" - Asset link has been removed.
  7329  	//   "PAUSED" - Asset link is paused.
  7330  	Status string `json:"status,omitempty"`
  7331  	// ForceSendFields is a list of field names (e.g. "Asset") to unconditionally
  7332  	// include in API requests. By default, fields with empty or default values are
  7333  	// omitted from API requests. See
  7334  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7335  	// details.
  7336  	ForceSendFields []string `json:"-"`
  7337  	// NullFields is a list of field names (e.g. "Asset") to include in API
  7338  	// requests with the JSON null value. By default, fields with empty values are
  7339  	// omitted from API requests. See
  7340  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7341  	NullFields []string `json:"-"`
  7342  }
  7343  
  7344  func (s *GoogleAdsSearchads360V0Resources__CustomerAsset) MarshalJSON() ([]byte, error) {
  7345  	type NoMethod GoogleAdsSearchads360V0Resources__CustomerAsset
  7346  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7347  }
  7348  
  7349  // GoogleAdsSearchads360V0Resources__CustomerAssetSet: CustomerAssetSet is the
  7350  // linkage between a customer and an asset set. Adding a CustomerAssetSet links
  7351  // an asset set with a customer.
  7352  type GoogleAdsSearchads360V0Resources__CustomerAssetSet struct {
  7353  	// AssetSet: Immutable. The asset set which is linked to the customer.
  7354  	AssetSet string `json:"assetSet,omitempty"`
  7355  	// Customer: Immutable. The customer to which this asset set is linked.
  7356  	Customer string `json:"customer,omitempty"`
  7357  	// ResourceName: Immutable. The resource name of the customer asset set. Asset
  7358  	// set asset resource names have the form:
  7359  	// `customers/{customer_id}/customerAssetSets/{asset_set_id}`
  7360  	ResourceName string `json:"resourceName,omitempty"`
  7361  	// Status: Output only. The status of the customer asset set asset. Read-only.
  7362  	//
  7363  	// Possible values:
  7364  	//   "UNSPECIFIED" - The status has not been specified.
  7365  	//   "UNKNOWN" - The received value is not known in this version. This is a
  7366  	// response-only value.
  7367  	//   "ENABLED" - The linkage between asset set and its container is enabled.
  7368  	//   "REMOVED" - The linkage between asset set and its container is removed.
  7369  	Status string `json:"status,omitempty"`
  7370  	// ForceSendFields is a list of field names (e.g. "AssetSet") to
  7371  	// unconditionally include in API requests. By default, fields with empty or
  7372  	// default values are omitted from API requests. See
  7373  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7374  	// details.
  7375  	ForceSendFields []string `json:"-"`
  7376  	// NullFields is a list of field names (e.g. "AssetSet") to include in API
  7377  	// requests with the JSON null value. By default, fields with empty values are
  7378  	// omitted from API requests. See
  7379  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7380  	NullFields []string `json:"-"`
  7381  }
  7382  
  7383  func (s *GoogleAdsSearchads360V0Resources__CustomerAssetSet) MarshalJSON() ([]byte, error) {
  7384  	type NoMethod GoogleAdsSearchads360V0Resources__CustomerAssetSet
  7385  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7386  }
  7387  
  7388  // GoogleAdsSearchads360V0Resources__CustomerClient: A link between the given
  7389  // customer and a client customer. CustomerClients only exist for manager
  7390  // customers. All direct and indirect client customers are included, as well as
  7391  // the manager itself.
  7392  type GoogleAdsSearchads360V0Resources__CustomerClient struct {
  7393  	// AppliedLabels: Output only. The resource names of the labels owned by the
  7394  	// requesting customer that are applied to the client customer. Label resource
  7395  	// names have the form: `customers/{customer_id}/labels/{label_id}`
  7396  	AppliedLabels []string `json:"appliedLabels,omitempty"`
  7397  	// ClientCustomer: Output only. The resource name of the client-customer which
  7398  	// is linked to the given customer. Read only.
  7399  	ClientCustomer string `json:"clientCustomer,omitempty"`
  7400  	// CurrencyCode: Output only. Currency code (for example, 'USD', 'EUR') for the
  7401  	// client. Read only.
  7402  	CurrencyCode string `json:"currencyCode,omitempty"`
  7403  	// DescriptiveName: Output only. Descriptive name for the client. Read only.
  7404  	DescriptiveName string `json:"descriptiveName,omitempty"`
  7405  	// Hidden: Output only. Specifies whether this is a hidden account. Read only.
  7406  	Hidden bool `json:"hidden,omitempty"`
  7407  	// Id: Output only. The ID of the client customer. Read only.
  7408  	Id int64 `json:"id,omitempty,string"`
  7409  	// Level: Output only. Distance between given customer and client. For self
  7410  	// link, the level value will be 0. Read only.
  7411  	Level int64 `json:"level,omitempty,string"`
  7412  	// Manager: Output only. Identifies if the client is a manager. Read only.
  7413  	Manager bool `json:"manager,omitempty"`
  7414  	// ResourceName: Output only. The resource name of the customer client.
  7415  	// CustomerClient resource names have the form:
  7416  	// `customers/{customer_id}/customerClients/{client_customer_id}`
  7417  	ResourceName string `json:"resourceName,omitempty"`
  7418  	// Status: Output only. The status of the client customer. Read only.
  7419  	//
  7420  	// Possible values:
  7421  	//   "UNSPECIFIED" - Not specified.
  7422  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7423  	// version.
  7424  	//   "ENABLED" - Indicates an active account able to serve ads.
  7425  	//   "CANCELED" - Indicates a canceled account unable to serve ads. Can be
  7426  	// reactivated by an admin user.
  7427  	//   "SUSPENDED" - Indicates a suspended account unable to serve ads. May only
  7428  	// be activated by Google support.
  7429  	//   "CLOSED" - Indicates a closed account unable to serve ads. Test account
  7430  	// will also have CLOSED status. Status is permanent and may not be reopened.
  7431  	Status string `json:"status,omitempty"`
  7432  	// TestAccount: Output only. Identifies if the client is a test account. Read
  7433  	// only.
  7434  	TestAccount bool `json:"testAccount,omitempty"`
  7435  	// TimeZone: Output only. Common Locale Data Repository (CLDR) string
  7436  	// representation of the time zone of the client, for example,
  7437  	// America/Los_Angeles. Read only.
  7438  	TimeZone string `json:"timeZone,omitempty"`
  7439  	// ForceSendFields is a list of field names (e.g. "AppliedLabels") to
  7440  	// unconditionally include in API requests. By default, fields with empty or
  7441  	// default values are omitted from API requests. See
  7442  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7443  	// details.
  7444  	ForceSendFields []string `json:"-"`
  7445  	// NullFields is a list of field names (e.g. "AppliedLabels") to include in API
  7446  	// requests with the JSON null value. By default, fields with empty values are
  7447  	// omitted from API requests. See
  7448  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7449  	NullFields []string `json:"-"`
  7450  }
  7451  
  7452  func (s *GoogleAdsSearchads360V0Resources__CustomerClient) MarshalJSON() ([]byte, error) {
  7453  	type NoMethod GoogleAdsSearchads360V0Resources__CustomerClient
  7454  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7455  }
  7456  
  7457  // GoogleAdsSearchads360V0Resources__CustomerManagerLink: Represents
  7458  // customer-manager link relationship.
  7459  type GoogleAdsSearchads360V0Resources__CustomerManagerLink struct {
  7460  	// ManagerCustomer: Output only. The manager customer linked to the customer.
  7461  	ManagerCustomer string `json:"managerCustomer,omitempty"`
  7462  	// ManagerLinkId: Output only. ID of the customer-manager link. This field is
  7463  	// read only.
  7464  	ManagerLinkId int64 `json:"managerLinkId,omitempty,string"`
  7465  	// ResourceName: Immutable. Name of the resource. CustomerManagerLink resource
  7466  	// names have the form:
  7467  	// `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_
  7468  	// link_id}`
  7469  	ResourceName string `json:"resourceName,omitempty"`
  7470  	// Status: Status of the link between the customer and the manager.
  7471  	//
  7472  	// Possible values:
  7473  	//   "UNSPECIFIED" - Not specified.
  7474  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7475  	// version.
  7476  	//   "ACTIVE" - Indicates current in-effect relationship
  7477  	//   "INACTIVE" - Indicates terminated relationship
  7478  	//   "PENDING" - Indicates relationship has been requested by manager, but the
  7479  	// client hasn't accepted yet.
  7480  	//   "REFUSED" - Relationship was requested by the manager, but the client has
  7481  	// refused.
  7482  	//   "CANCELED" - Indicates relationship has been requested by manager, but
  7483  	// manager canceled it.
  7484  	Status string `json:"status,omitempty"`
  7485  	// ForceSendFields is a list of field names (e.g. "ManagerCustomer") to
  7486  	// unconditionally include in API requests. By default, fields with empty or
  7487  	// default values are omitted from API requests. See
  7488  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7489  	// details.
  7490  	ForceSendFields []string `json:"-"`
  7491  	// NullFields is a list of field names (e.g. "ManagerCustomer") to include in
  7492  	// API requests with the JSON null value. By default, fields with empty values
  7493  	// are omitted from API requests. See
  7494  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7495  	NullFields []string `json:"-"`
  7496  }
  7497  
  7498  func (s *GoogleAdsSearchads360V0Resources__CustomerManagerLink) MarshalJSON() ([]byte, error) {
  7499  	type NoMethod GoogleAdsSearchads360V0Resources__CustomerManagerLink
  7500  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7501  }
  7502  
  7503  // GoogleAdsSearchads360V0Resources__DoubleClickCampaignManagerSetting:
  7504  // DoubleClick Campaign Manager (DCM) setting for a manager customer.
  7505  type GoogleAdsSearchads360V0Resources__DoubleClickCampaignManagerSetting struct {
  7506  	// AdvertiserId: Output only. ID of the Campaign Manager advertiser associated
  7507  	// with this customer.
  7508  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7509  	// NetworkId: Output only. ID of the Campaign Manager network associated with
  7510  	// this customer.
  7511  	NetworkId int64 `json:"networkId,omitempty,string"`
  7512  	// TimeZone: Output only. Time zone of the Campaign Manager network associated
  7513  	// with this customer in IANA Time Zone Database format, such as
  7514  	// America/New_York.
  7515  	TimeZone string `json:"timeZone,omitempty"`
  7516  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  7517  	// unconditionally include in API requests. By default, fields with empty or
  7518  	// default values are omitted from API requests. See
  7519  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7520  	// details.
  7521  	ForceSendFields []string `json:"-"`
  7522  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  7523  	// requests with the JSON null value. By default, fields with empty values are
  7524  	// omitted from API requests. See
  7525  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7526  	NullFields []string `json:"-"`
  7527  }
  7528  
  7529  func (s *GoogleAdsSearchads360V0Resources__DoubleClickCampaignManagerSetting) MarshalJSON() ([]byte, error) {
  7530  	type NoMethod GoogleAdsSearchads360V0Resources__DoubleClickCampaignManagerSetting
  7531  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7532  }
  7533  
  7534  // GoogleAdsSearchads360V0Resources__DynamicSearchAdsSearchTermView: A dynamic
  7535  // search ads search term view.
  7536  type GoogleAdsSearchads360V0Resources__DynamicSearchAdsSearchTermView struct {
  7537  	// LandingPage: Output only. The dynamically selected landing page URL of the
  7538  	// impression. This field is read-only.
  7539  	LandingPage string `json:"landingPage,omitempty"`
  7540  	// ResourceName: Output only. The resource name of the dynamic search ads
  7541  	// search term view. Dynamic search ads search term view resource names have
  7542  	// the form:
  7543  	// `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{searc
  7544  	// h_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_u
  7545  	// rl_fingerprint}`
  7546  	ResourceName string `json:"resourceName,omitempty"`
  7547  	// ForceSendFields is a list of field names (e.g. "LandingPage") to
  7548  	// unconditionally include in API requests. By default, fields with empty or
  7549  	// default values are omitted from API requests. See
  7550  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7551  	// details.
  7552  	ForceSendFields []string `json:"-"`
  7553  	// NullFields is a list of field names (e.g. "LandingPage") to include in API
  7554  	// requests with the JSON null value. By default, fields with empty values are
  7555  	// omitted from API requests. See
  7556  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7557  	NullFields []string `json:"-"`
  7558  }
  7559  
  7560  func (s *GoogleAdsSearchads360V0Resources__DynamicSearchAdsSearchTermView) MarshalJSON() ([]byte, error) {
  7561  	type NoMethod GoogleAdsSearchads360V0Resources__DynamicSearchAdsSearchTermView
  7562  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7563  }
  7564  
  7565  // GoogleAdsSearchads360V0Resources__GenderView: A gender view. The gender_view
  7566  // resource reflects the effective serving state, rather than what criteria
  7567  // were added. An ad group without gender criteria by default shows to all
  7568  // genders, so all genders appear in gender_view with stats.
  7569  type GoogleAdsSearchads360V0Resources__GenderView struct {
  7570  	// ResourceName: Output only. The resource name of the gender view. Gender view
  7571  	// resource names have the form:
  7572  	// `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}`
  7573  	ResourceName string `json:"resourceName,omitempty"`
  7574  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  7575  	// unconditionally include in API requests. By default, fields with empty or
  7576  	// default values are omitted from API requests. See
  7577  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7578  	// details.
  7579  	ForceSendFields []string `json:"-"`
  7580  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  7581  	// requests with the JSON null value. By default, fields with empty values are
  7582  	// omitted from API requests. See
  7583  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7584  	NullFields []string `json:"-"`
  7585  }
  7586  
  7587  func (s *GoogleAdsSearchads360V0Resources__GenderView) MarshalJSON() ([]byte, error) {
  7588  	type NoMethod GoogleAdsSearchads360V0Resources__GenderView
  7589  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7590  }
  7591  
  7592  // GoogleAdsSearchads360V0Resources__GeoTargetConstant: A geo target constant.
  7593  type GoogleAdsSearchads360V0Resources__GeoTargetConstant struct {
  7594  	// CanonicalName: Output only. The fully qualified English name, consisting of
  7595  	// the target's name and that of its parent and country.
  7596  	CanonicalName string `json:"canonicalName,omitempty"`
  7597  	// CountryCode: Output only. The ISO-3166-1 alpha-2 country code that is
  7598  	// associated with the target.
  7599  	CountryCode string `json:"countryCode,omitempty"`
  7600  	// Id: Output only. The ID of the geo target constant.
  7601  	Id int64 `json:"id,omitempty,string"`
  7602  	// Name: Output only. Geo target constant English name.
  7603  	Name string `json:"name,omitempty"`
  7604  	// ParentGeoTarget: Output only. The resource name of the parent geo target
  7605  	// constant. Geo target constant resource names have the form:
  7606  	// `geoTargetConstants/{parent_geo_target_constant_id}`
  7607  	ParentGeoTarget string `json:"parentGeoTarget,omitempty"`
  7608  	// ResourceName: Output only. The resource name of the geo target constant. Geo
  7609  	// target constant resource names have the form:
  7610  	// `geoTargetConstants/{geo_target_constant_id}`
  7611  	ResourceName string `json:"resourceName,omitempty"`
  7612  	// Status: Output only. Geo target constant status.
  7613  	//
  7614  	// Possible values:
  7615  	//   "UNSPECIFIED" - No value has been specified.
  7616  	//   "UNKNOWN" - The received value is not known in this version. This is a
  7617  	// response-only value.
  7618  	//   "ENABLED" - The geo target constant is valid.
  7619  	//   "REMOVAL_PLANNED" - The geo target constant is obsolete and will be
  7620  	// removed.
  7621  	Status string `json:"status,omitempty"`
  7622  	// TargetType: Output only. Geo target constant target type.
  7623  	TargetType string `json:"targetType,omitempty"`
  7624  	// ForceSendFields is a list of field names (e.g. "CanonicalName") to
  7625  	// unconditionally include in API requests. By default, fields with empty or
  7626  	// default values are omitted from API requests. See
  7627  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7628  	// details.
  7629  	ForceSendFields []string `json:"-"`
  7630  	// NullFields is a list of field names (e.g. "CanonicalName") to include in API
  7631  	// requests with the JSON null value. By default, fields with empty values are
  7632  	// omitted from API requests. See
  7633  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7634  	NullFields []string `json:"-"`
  7635  }
  7636  
  7637  func (s *GoogleAdsSearchads360V0Resources__GeoTargetConstant) MarshalJSON() ([]byte, error) {
  7638  	type NoMethod GoogleAdsSearchads360V0Resources__GeoTargetConstant
  7639  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7640  }
  7641  
  7642  // GoogleAdsSearchads360V0Resources__KeywordView: A keyword view.
  7643  type GoogleAdsSearchads360V0Resources__KeywordView struct {
  7644  	// ResourceName: Output only. The resource name of the keyword view. Keyword
  7645  	// view resource names have the form:
  7646  	// `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}`
  7647  	ResourceName string `json:"resourceName,omitempty"`
  7648  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  7649  	// unconditionally include in API requests. By default, fields with empty or
  7650  	// default values are omitted from API requests. See
  7651  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7652  	// details.
  7653  	ForceSendFields []string `json:"-"`
  7654  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  7655  	// requests with the JSON null value. By default, fields with empty values are
  7656  	// omitted from API requests. See
  7657  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7658  	NullFields []string `json:"-"`
  7659  }
  7660  
  7661  func (s *GoogleAdsSearchads360V0Resources__KeywordView) MarshalJSON() ([]byte, error) {
  7662  	type NoMethod GoogleAdsSearchads360V0Resources__KeywordView
  7663  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7664  }
  7665  
  7666  // GoogleAdsSearchads360V0Resources__Label: A label.
  7667  type GoogleAdsSearchads360V0Resources__Label struct {
  7668  	// Id: Output only. ID of the label. Read only.
  7669  	Id int64 `json:"id,omitempty,string"`
  7670  	// Name: The name of the label. This field is required and should not be empty
  7671  	// when creating a new label. The length of this string should be between 1 and
  7672  	// 80, inclusive.
  7673  	Name string `json:"name,omitempty"`
  7674  	// ResourceName: Immutable. Name of the resource. Label resource names have the
  7675  	// form: `customers/{customer_id}/labels/{label_id}`
  7676  	ResourceName string `json:"resourceName,omitempty"`
  7677  	// Status: Output only. Status of the label. Read only.
  7678  	//
  7679  	// Possible values:
  7680  	//   "UNSPECIFIED" - Not specified.
  7681  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7682  	// version.
  7683  	//   "ENABLED" - Label is enabled.
  7684  	//   "REMOVED" - Label is removed.
  7685  	Status string `json:"status,omitempty"`
  7686  	// TextLabel: A type of label displaying text on a colored background.
  7687  	TextLabel *GoogleAdsSearchads360V0Common__TextLabel `json:"textLabel,omitempty"`
  7688  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  7689  	// include in API requests. By default, fields with empty or default values are
  7690  	// omitted from API requests. See
  7691  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7692  	// details.
  7693  	ForceSendFields []string `json:"-"`
  7694  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  7695  	// with the JSON null value. By default, fields with empty values are omitted
  7696  	// from API requests. See
  7697  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7698  	NullFields []string `json:"-"`
  7699  }
  7700  
  7701  func (s *GoogleAdsSearchads360V0Resources__Label) MarshalJSON() ([]byte, error) {
  7702  	type NoMethod GoogleAdsSearchads360V0Resources__Label
  7703  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7704  }
  7705  
  7706  // GoogleAdsSearchads360V0Resources__LanguageConstant: A language.
  7707  type GoogleAdsSearchads360V0Resources__LanguageConstant struct {
  7708  	// Code: Output only. The language code, for example, "en_US", "en_AU", "es",
  7709  	// "fr", etc.
  7710  	Code string `json:"code,omitempty"`
  7711  	// Id: Output only. The ID of the language constant.
  7712  	Id int64 `json:"id,omitempty,string"`
  7713  	// Name: Output only. The full name of the language in English, for example,
  7714  	// "English (US)", "Spanish", etc.
  7715  	Name string `json:"name,omitempty"`
  7716  	// ResourceName: Output only. The resource name of the language constant.
  7717  	// Language constant resource names have the form:
  7718  	// `languageConstants/{criterion_id}`
  7719  	ResourceName string `json:"resourceName,omitempty"`
  7720  	// Targetable: Output only. Whether the language is targetable.
  7721  	Targetable bool `json:"targetable,omitempty"`
  7722  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  7723  	// include in API requests. By default, fields with empty or default values are
  7724  	// omitted from API requests. See
  7725  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7726  	// details.
  7727  	ForceSendFields []string `json:"-"`
  7728  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  7729  	// with the JSON null value. By default, fields with empty values are omitted
  7730  	// from API requests. See
  7731  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7732  	NullFields []string `json:"-"`
  7733  }
  7734  
  7735  func (s *GoogleAdsSearchads360V0Resources__LanguageConstant) MarshalJSON() ([]byte, error) {
  7736  	type NoMethod GoogleAdsSearchads360V0Resources__LanguageConstant
  7737  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7738  }
  7739  
  7740  // GoogleAdsSearchads360V0Resources__ListingGroupFilterDimension: Listing
  7741  // dimensions for the asset group listing group filter.
  7742  type GoogleAdsSearchads360V0Resources__ListingGroupFilterDimension struct {
  7743  	// ProductBiddingCategory: Bidding category of a product offer.
  7744  	ProductBiddingCategory *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductBiddingCategory `json:"productBiddingCategory,omitempty"`
  7745  	// ProductBrand: Brand of a product offer.
  7746  	ProductBrand *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductBrand `json:"productBrand,omitempty"`
  7747  	// ProductChannel: Locality of a product offer.
  7748  	ProductChannel *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductChannel `json:"productChannel,omitempty"`
  7749  	// ProductCondition: Condition of a product offer.
  7750  	ProductCondition *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductCondition `json:"productCondition,omitempty"`
  7751  	// ProductCustomAttribute: Custom attribute of a product offer.
  7752  	ProductCustomAttribute *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductCustomAttribute `json:"productCustomAttribute,omitempty"`
  7753  	// ProductItemId: Item id of a product offer.
  7754  	ProductItemId *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductItemId `json:"productItemId,omitempty"`
  7755  	// ProductType: Type of a product offer.
  7756  	ProductType *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductType `json:"productType,omitempty"`
  7757  	// ForceSendFields is a list of field names (e.g. "ProductBiddingCategory") to
  7758  	// unconditionally include in API requests. By default, fields with empty or
  7759  	// default values are omitted from API requests. See
  7760  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7761  	// details.
  7762  	ForceSendFields []string `json:"-"`
  7763  	// NullFields is a list of field names (e.g. "ProductBiddingCategory") to
  7764  	// include in API requests with the JSON null value. By default, fields with
  7765  	// empty values are omitted from API requests. See
  7766  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7767  	NullFields []string `json:"-"`
  7768  }
  7769  
  7770  func (s *GoogleAdsSearchads360V0Resources__ListingGroupFilterDimension) MarshalJSON() ([]byte, error) {
  7771  	type NoMethod GoogleAdsSearchads360V0Resources__ListingGroupFilterDimension
  7772  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7773  }
  7774  
  7775  // GoogleAdsSearchads360V0Resources__ListingGroupFilterDimensionPath: The path
  7776  // defining of dimensions defining a listing group filter.
  7777  type GoogleAdsSearchads360V0Resources__ListingGroupFilterDimensionPath struct {
  7778  	// Dimensions: Output only. The complete path of dimensions through the listing
  7779  	// group filter hierarchy (excluding the root node) to this listing group
  7780  	// filter.
  7781  	Dimensions []*GoogleAdsSearchads360V0Resources__ListingGroupFilterDimension `json:"dimensions,omitempty"`
  7782  	// ForceSendFields is a list of field names (e.g. "Dimensions") to
  7783  	// unconditionally include in API requests. By default, fields with empty or
  7784  	// default values are omitted from API requests. See
  7785  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7786  	// details.
  7787  	ForceSendFields []string `json:"-"`
  7788  	// NullFields is a list of field names (e.g. "Dimensions") to include in API
  7789  	// requests with the JSON null value. By default, fields with empty values are
  7790  	// omitted from API requests. See
  7791  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7792  	NullFields []string `json:"-"`
  7793  }
  7794  
  7795  func (s *GoogleAdsSearchads360V0Resources__ListingGroupFilterDimensionPath) MarshalJSON() ([]byte, error) {
  7796  	type NoMethod GoogleAdsSearchads360V0Resources__ListingGroupFilterDimensionPath
  7797  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7798  }
  7799  
  7800  // GoogleAdsSearchads360V0Resources__LocationView: A location view summarizes
  7801  // the performance of campaigns by a Location criterion.
  7802  type GoogleAdsSearchads360V0Resources__LocationView struct {
  7803  	// ResourceName: Output only. The resource name of the location view. Location
  7804  	// view resource names have the form:
  7805  	// `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}`
  7806  	ResourceName string `json:"resourceName,omitempty"`
  7807  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  7808  	// unconditionally include in API requests. By default, fields with empty or
  7809  	// default values are omitted from API requests. See
  7810  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7811  	// details.
  7812  	ForceSendFields []string `json:"-"`
  7813  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  7814  	// requests with the JSON null value. By default, fields with empty values are
  7815  	// omitted from API requests. See
  7816  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7817  	NullFields []string `json:"-"`
  7818  }
  7819  
  7820  func (s *GoogleAdsSearchads360V0Resources__LocationView) MarshalJSON() ([]byte, error) {
  7821  	type NoMethod GoogleAdsSearchads360V0Resources__LocationView
  7822  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7823  }
  7824  
  7825  // GoogleAdsSearchads360V0Resources__ProductBiddingCategoryConstant: A Product
  7826  // Bidding Category.
  7827  type GoogleAdsSearchads360V0Resources__ProductBiddingCategoryConstant struct {
  7828  	// CountryCode: Output only. Two-letter upper-case country code of the product
  7829  	// bidding category.
  7830  	CountryCode string `json:"countryCode,omitempty"`
  7831  	// Id: Output only. ID of the product bidding category. This ID is equivalent
  7832  	// to the google_product_category ID as described in this article:
  7833  	// https://support.google.com/merchants/answer/6324436.
  7834  	Id int64 `json:"id,omitempty,string"`
  7835  	// LanguageCode: Output only. Language code of the product bidding category.
  7836  	LanguageCode string `json:"languageCode,omitempty"`
  7837  	// Level: Output only. Level of the product bidding category.
  7838  	//
  7839  	// Possible values:
  7840  	//   "UNSPECIFIED" - Not specified.
  7841  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7842  	// version.
  7843  	//   "LEVEL1" - Level 1.
  7844  	//   "LEVEL2" - Level 2.
  7845  	//   "LEVEL3" - Level 3.
  7846  	//   "LEVEL4" - Level 4.
  7847  	//   "LEVEL5" - Level 5.
  7848  	Level string `json:"level,omitempty"`
  7849  	// LocalizedName: Output only. Display value of the product bidding category
  7850  	// localized according to language_code.
  7851  	LocalizedName string `json:"localizedName,omitempty"`
  7852  	// ProductBiddingCategoryConstantParent: Output only. Resource name of the
  7853  	// parent product bidding category.
  7854  	ProductBiddingCategoryConstantParent string `json:"productBiddingCategoryConstantParent,omitempty"`
  7855  	// ResourceName: Output only. The resource name of the product bidding
  7856  	// category. Product bidding category resource names have the form:
  7857  	// `productBiddingCategoryConstants/{country_code}~{level}~{id}`
  7858  	ResourceName string `json:"resourceName,omitempty"`
  7859  	// Status: Output only. Status of the product bidding category.
  7860  	//
  7861  	// Possible values:
  7862  	//   "UNSPECIFIED" - Not specified.
  7863  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  7864  	// version.
  7865  	//   "ACTIVE" - The category is active and can be used for bidding.
  7866  	//   "OBSOLETE" - The category is obsolete. Used only for reporting purposes.
  7867  	Status string `json:"status,omitempty"`
  7868  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  7869  	// unconditionally include in API requests. By default, fields with empty or
  7870  	// default values are omitted from API requests. See
  7871  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7872  	// details.
  7873  	ForceSendFields []string `json:"-"`
  7874  	// NullFields is a list of field names (e.g. "CountryCode") to include in API
  7875  	// requests with the JSON null value. By default, fields with empty values are
  7876  	// omitted from API requests. See
  7877  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7878  	NullFields []string `json:"-"`
  7879  }
  7880  
  7881  func (s *GoogleAdsSearchads360V0Resources__ProductBiddingCategoryConstant) MarshalJSON() ([]byte, error) {
  7882  	type NoMethod GoogleAdsSearchads360V0Resources__ProductBiddingCategoryConstant
  7883  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7884  }
  7885  
  7886  // GoogleAdsSearchads360V0Resources__ProductGroupView: A product group view.
  7887  type GoogleAdsSearchads360V0Resources__ProductGroupView struct {
  7888  	// ResourceName: Output only. The resource name of the product group view.
  7889  	// Product group view resource names have the form:
  7890  	// `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}`
  7891  	ResourceName string `json:"resourceName,omitempty"`
  7892  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  7893  	// unconditionally include in API requests. By default, fields with empty or
  7894  	// default values are omitted from API requests. See
  7895  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7896  	// details.
  7897  	ForceSendFields []string `json:"-"`
  7898  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  7899  	// requests with the JSON null value. By default, fields with empty values are
  7900  	// omitted from API requests. See
  7901  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7902  	NullFields []string `json:"-"`
  7903  }
  7904  
  7905  func (s *GoogleAdsSearchads360V0Resources__ProductGroupView) MarshalJSON() ([]byte, error) {
  7906  	type NoMethod GoogleAdsSearchads360V0Resources__ProductGroupView
  7907  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7908  }
  7909  
  7910  // GoogleAdsSearchads360V0Resources__SearchAds360Field: A field or resource
  7911  // (artifact) used by SearchAds360Service.
  7912  type GoogleAdsSearchads360V0Resources__SearchAds360Field struct {
  7913  	// AttributeResources: Output only. The names of all resources that are
  7914  	// selectable with the described artifact. Fields from these resources do not
  7915  	// segment metrics when included in search queries. This field is only set for
  7916  	// artifacts whose category is RESOURCE.
  7917  	AttributeResources []string `json:"attributeResources,omitempty"`
  7918  	// Category: Output only. The category of the artifact.
  7919  	//
  7920  	// Possible values:
  7921  	//   "UNSPECIFIED" - Unspecified
  7922  	//   "UNKNOWN" - Unknown
  7923  	//   "RESOURCE" - The described artifact is a resource.
  7924  	//   "ATTRIBUTE" - The described artifact is a field and is an attribute of a
  7925  	// resource. Including a resource attribute field in a query may segment the
  7926  	// query if the resource to which it is attributed segments the resource found
  7927  	// in the FROM clause.
  7928  	//   "SEGMENT" - The described artifact is a field and always segments search
  7929  	// queries.
  7930  	//   "METRIC" - The described artifact is a field and is a metric. It never
  7931  	// segments search queries.
  7932  	Category string `json:"category,omitempty"`
  7933  	// DataType: Output only. This field determines the operators that can be used
  7934  	// with the artifact in WHERE clauses.
  7935  	//
  7936  	// Possible values:
  7937  	//   "UNSPECIFIED" - Unspecified
  7938  	//   "UNKNOWN" - Unknown
  7939  	//   "BOOLEAN" - Maps to google.protobuf.BoolValue Applicable operators: =, !=
  7940  	//   "DATE" - Maps to google.protobuf.StringValue. It can be compared using the
  7941  	// set of operators specific to dates however. Applicable operators: =, <, >,
  7942  	// <=, >=, BETWEEN, DURING, and IN
  7943  	//   "DOUBLE" - Maps to google.protobuf.DoubleValue Applicable operators: =,
  7944  	// !=, <, >, IN, NOT IN
  7945  	//   "ENUM" - Maps to an enum. It's specific definition can be found at
  7946  	// type_url. Applicable operators: =, !=, IN, NOT IN
  7947  	//   "FLOAT" - Maps to google.protobuf.FloatValue Applicable operators: =, !=,
  7948  	// <, >, IN, NOT IN
  7949  	//   "INT32" - Maps to google.protobuf.Int32Value Applicable operators: =, !=,
  7950  	// <, >, <=, >=, BETWEEN, IN, NOT IN
  7951  	//   "INT64" - Maps to google.protobuf.Int64Value Applicable operators: =, !=,
  7952  	// <, >, <=, >=, BETWEEN, IN, NOT IN
  7953  	//   "MESSAGE" - Maps to a protocol buffer message type. The data type's
  7954  	// details can be found in type_url. No operators work with MESSAGE fields.
  7955  	//   "RESOURCE_NAME" - Maps to google.protobuf.StringValue. Represents the
  7956  	// resource name (unique id) of a resource or one of its foreign keys. No
  7957  	// operators work with RESOURCE_NAME fields.
  7958  	//   "STRING" - Maps to google.protobuf.StringValue. Applicable operators: =,
  7959  	// !=, LIKE, NOT LIKE, IN, NOT IN
  7960  	//   "UINT64" - Maps to google.protobuf.UInt64Value Applicable operators: =,
  7961  	// !=, <, >, <=, >=, BETWEEN, IN, NOT IN
  7962  	DataType string `json:"dataType,omitempty"`
  7963  	// EnumValues: Output only. Values the artifact can assume if it is a field of
  7964  	// type ENUM. This field is only set for artifacts of category SEGMENT or
  7965  	// ATTRIBUTE.
  7966  	EnumValues []string `json:"enumValues,omitempty"`
  7967  	// Filterable: Output only. Whether the artifact can be used in a WHERE clause
  7968  	// in search queries.
  7969  	Filterable bool `json:"filterable,omitempty"`
  7970  	// IsRepeated: Output only. Whether the field artifact is repeated.
  7971  	IsRepeated bool `json:"isRepeated,omitempty"`
  7972  	// Metrics: Output only. This field lists the names of all metrics that are
  7973  	// selectable with the described artifact when it is used in the FROM clause.
  7974  	// It is only set for artifacts whose category is RESOURCE.
  7975  	Metrics []string `json:"metrics,omitempty"`
  7976  	// Name: Output only. The name of the artifact.
  7977  	Name string `json:"name,omitempty"`
  7978  	// ResourceName: Output only. The resource name of the artifact. Artifact
  7979  	// resource names have the form: `SearchAds360Fields/{name}`
  7980  	ResourceName string `json:"resourceName,omitempty"`
  7981  	// Segments: Output only. This field lists the names of all artifacts, whether
  7982  	// a segment or another resource, that segment metrics when included in search
  7983  	// queries and when the described artifact is used in the FROM clause. It is
  7984  	// only set for artifacts whose category is RESOURCE.
  7985  	Segments []string `json:"segments,omitempty"`
  7986  	// Selectable: Output only. Whether the artifact can be used in a SELECT clause
  7987  	// in search queries.
  7988  	Selectable bool `json:"selectable,omitempty"`
  7989  	// SelectableWith: Output only. The names of all resources, segments, and
  7990  	// metrics that are selectable with the described artifact.
  7991  	SelectableWith []string `json:"selectableWith,omitempty"`
  7992  	// Sortable: Output only. Whether the artifact can be used in a ORDER BY clause
  7993  	// in search queries.
  7994  	Sortable bool `json:"sortable,omitempty"`
  7995  	// TypeUrl: Output only. The URL of proto describing the artifact's data type.
  7996  	TypeUrl string `json:"typeUrl,omitempty"`
  7997  
  7998  	// ServerResponse contains the HTTP response code and headers from the server.
  7999  	googleapi.ServerResponse `json:"-"`
  8000  	// ForceSendFields is a list of field names (e.g. "AttributeResources") to
  8001  	// unconditionally include in API requests. By default, fields with empty or
  8002  	// default values are omitted from API requests. See
  8003  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8004  	// details.
  8005  	ForceSendFields []string `json:"-"`
  8006  	// NullFields is a list of field names (e.g. "AttributeResources") to include
  8007  	// in API requests with the JSON null value. By default, fields with empty
  8008  	// values are omitted from API requests. See
  8009  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8010  	NullFields []string `json:"-"`
  8011  }
  8012  
  8013  func (s *GoogleAdsSearchads360V0Resources__SearchAds360Field) MarshalJSON() ([]byte, error) {
  8014  	type NoMethod GoogleAdsSearchads360V0Resources__SearchAds360Field
  8015  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8016  }
  8017  
  8018  // GoogleAdsSearchads360V0Resources__ShoppingPerformanceView: Shopping
  8019  // performance view. Provides Shopping campaign statistics aggregated at
  8020  // several product dimension levels. Product dimension values from Merchant
  8021  // Center such as brand, category, custom attributes, product condition and
  8022  // product type will reflect the state of each dimension as of the date and
  8023  // time when the corresponding event was recorded.
  8024  type GoogleAdsSearchads360V0Resources__ShoppingPerformanceView struct {
  8025  	// ResourceName: Output only. The resource name of the Shopping performance
  8026  	// view. Shopping performance view resource names have the form:
  8027  	// `customers/{customer_id}/shoppingPerformanceView`
  8028  	ResourceName string `json:"resourceName,omitempty"`
  8029  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  8030  	// unconditionally include in API requests. By default, fields with empty or
  8031  	// default values are omitted from API requests. See
  8032  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8033  	// details.
  8034  	ForceSendFields []string `json:"-"`
  8035  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  8036  	// requests with the JSON null value. By default, fields with empty values are
  8037  	// omitted from API requests. See
  8038  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8039  	NullFields []string `json:"-"`
  8040  }
  8041  
  8042  func (s *GoogleAdsSearchads360V0Resources__ShoppingPerformanceView) MarshalJSON() ([]byte, error) {
  8043  	type NoMethod GoogleAdsSearchads360V0Resources__ShoppingPerformanceView
  8044  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8045  }
  8046  
  8047  // GoogleAdsSearchads360V0Resources__UserList: A user list. This is a list of
  8048  // users a customer may target.
  8049  type GoogleAdsSearchads360V0Resources__UserList struct {
  8050  	// Id: Output only. Id of the user list.
  8051  	Id int64 `json:"id,omitempty,string"`
  8052  	// Name: Name of this user list. Depending on its access_reason, the user list
  8053  	// name may not be unique (for example, if access_reason=SHARED)
  8054  	Name string `json:"name,omitempty"`
  8055  	// ResourceName: Immutable. The resource name of the user list. User list
  8056  	// resource names have the form:
  8057  	// `customers/{customer_id}/userLists/{user_list_id}`
  8058  	ResourceName string `json:"resourceName,omitempty"`
  8059  	// Type: Output only. Type of this list. This field is read-only.
  8060  	//
  8061  	// Possible values:
  8062  	//   "UNSPECIFIED" - Not specified.
  8063  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  8064  	// version.
  8065  	//   "REMARKETING" - UserList represented as a collection of conversion types.
  8066  	//   "LOGICAL" - UserList represented as a combination of other user
  8067  	// lists/interests.
  8068  	//   "EXTERNAL_REMARKETING" - UserList created in the Google Ad Manager
  8069  	// platform.
  8070  	//   "RULE_BASED" - UserList associated with a rule.
  8071  	//   "SIMILAR" - UserList with users similar to users of another UserList.
  8072  	//   "CRM_BASED" - UserList of first-party CRM data provided by advertiser in
  8073  	// the form of emails or other formats.
  8074  	Type string `json:"type,omitempty"`
  8075  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  8076  	// include in API requests. By default, fields with empty or default values are
  8077  	// omitted from API requests. See
  8078  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8079  	// details.
  8080  	ForceSendFields []string `json:"-"`
  8081  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  8082  	// with the JSON null value. By default, fields with empty values are omitted
  8083  	// from API requests. See
  8084  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8085  	NullFields []string `json:"-"`
  8086  }
  8087  
  8088  func (s *GoogleAdsSearchads360V0Resources__UserList) MarshalJSON() ([]byte, error) {
  8089  	type NoMethod GoogleAdsSearchads360V0Resources__UserList
  8090  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8091  }
  8092  
  8093  // GoogleAdsSearchads360V0Resources__Visit: A visit.
  8094  type GoogleAdsSearchads360V0Resources__Visit struct {
  8095  	// AdId: Output only. Ad ID. A value of 0 indicates that the ad is
  8096  	// unattributed.
  8097  	AdId int64 `json:"adId,omitempty,string"`
  8098  	// AssetFieldType: Output only. Asset field type of the visit event.
  8099  	//
  8100  	// Possible values:
  8101  	//   "UNSPECIFIED" - Not specified.
  8102  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  8103  	// version.
  8104  	//   "HEADLINE" - The asset is linked for use as a headline.
  8105  	//   "DESCRIPTION" - The asset is linked for use as a description.
  8106  	//   "MANDATORY_AD_TEXT" - The asset is linked for use as mandatory ad text.
  8107  	//   "MARKETING_IMAGE" - The asset is linked for use as a marketing image.
  8108  	//   "MEDIA_BUNDLE" - The asset is linked for use as a media bundle.
  8109  	//   "YOUTUBE_VIDEO" - The asset is linked for use as a YouTube video.
  8110  	//   "BOOK_ON_GOOGLE" - The asset is linked to indicate that a hotels campaign
  8111  	// is "Book on Google" enabled.
  8112  	//   "LEAD_FORM" - The asset is linked for use as a Lead Form extension.
  8113  	//   "PROMOTION" - The asset is linked for use as a Promotion extension.
  8114  	//   "CALLOUT" - The asset is linked for use as a Callout extension.
  8115  	//   "STRUCTURED_SNIPPET" - The asset is linked for use as a Structured Snippet
  8116  	// extension.
  8117  	//   "SITELINK" - The asset is linked for use as a Sitelink.
  8118  	//   "MOBILE_APP" - The asset is linked for use as a Mobile App extension.
  8119  	//   "HOTEL_CALLOUT" - The asset is linked for use as a Hotel Callout
  8120  	// extension.
  8121  	//   "CALL" - The asset is linked for use as a Call extension.
  8122  	//   "PRICE" - The asset is linked for use as a Price extension.
  8123  	//   "LONG_HEADLINE" - The asset is linked for use as a long headline.
  8124  	//   "BUSINESS_NAME" - The asset is linked for use as a business name.
  8125  	//   "SQUARE_MARKETING_IMAGE" - The asset is linked for use as a square
  8126  	// marketing image.
  8127  	//   "PORTRAIT_MARKETING_IMAGE" - The asset is linked for use as a portrait
  8128  	// marketing image.
  8129  	//   "LOGO" - The asset is linked for use as a logo.
  8130  	//   "LANDSCAPE_LOGO" - The asset is linked for use as a landscape logo.
  8131  	//   "VIDEO" - The asset is linked for use as a non YouTube logo.
  8132  	//   "CALL_TO_ACTION_SELECTION" - The asset is linked for use to select a
  8133  	// call-to-action.
  8134  	//   "AD_IMAGE" - The asset is linked for use to select an ad image.
  8135  	//   "BUSINESS_LOGO" - The asset is linked for use as a business logo.
  8136  	//   "HOTEL_PROPERTY" - The asset is linked for use as a hotel property in a
  8137  	// Performance Max for travel goals campaign.
  8138  	//   "DISCOVERY_CAROUSEL_CARD" - The asset is linked for use as a discovery
  8139  	// carousel card.
  8140  	AssetFieldType string `json:"assetFieldType,omitempty"`
  8141  	// AssetId: Output only. ID of the asset which was interacted with during the
  8142  	// visit event.
  8143  	AssetId int64 `json:"assetId,omitempty,string"`
  8144  	// ClickId: Output only. A unique string for each visit that is passed to the
  8145  	// landing page as the click id URL parameter.
  8146  	ClickId string `json:"clickId,omitempty"`
  8147  	// CriterionId: Output only. Search Ads 360 keyword ID. A value of 0 indicates
  8148  	// that the keyword is unattributed.
  8149  	CriterionId int64 `json:"criterionId,omitempty,string"`
  8150  	// Id: Output only. The ID of the visit.
  8151  	Id int64 `json:"id,omitempty,string"`
  8152  	// MerchantId: Output only. The Search Ads 360 inventory account ID containing
  8153  	// the product that was clicked on. Search Ads 360 generates this ID when you
  8154  	// link an inventory account in Search Ads 360.
  8155  	MerchantId int64 `json:"merchantId,omitempty,string"`
  8156  	// ProductChannel: Output only. The sales channel of the product that was
  8157  	// clicked on: Online or Local.
  8158  	//
  8159  	// Possible values:
  8160  	//   "UNSPECIFIED" - Not specified.
  8161  	//   "UNKNOWN" - Used for return value only. Represents value unknown in this
  8162  	// version.
  8163  	//   "ONLINE" - The item is sold online.
  8164  	//   "LOCAL" - The item is sold in local stores.
  8165  	ProductChannel string `json:"productChannel,omitempty"`
  8166  	// ProductCountryCode: Output only. The country (ISO-3166 format) registered
  8167  	// for the inventory feed that contains the product clicked on.
  8168  	ProductCountryCode string `json:"productCountryCode,omitempty"`
  8169  	// ProductId: Output only. The ID of the product clicked on.
  8170  	ProductId string `json:"productId,omitempty"`
  8171  	// ProductLanguageCode: Output only. The language (ISO-639-1) that has been set
  8172  	// for the Merchant Center feed containing data about the product.
  8173  	ProductLanguageCode string `json:"productLanguageCode,omitempty"`
  8174  	// ProductStoreId: Output only. The store in the Local Inventory Ad that was
  8175  	// clicked on. This should match the store IDs used in your local products
  8176  	// feed.
  8177  	ProductStoreId string `json:"productStoreId,omitempty"`
  8178  	// ResourceName: Output only. The resource name of the visit. Visit resource
  8179  	// names have the form:
  8180  	// `customers/{customer_id}/visits/{ad_group_id}~{criterion_id}~{ds_visit_id}`
  8181  	ResourceName string `json:"resourceName,omitempty"`
  8182  	// VisitDateTime: Output only. The timestamp of the visit event. The timestamp
  8183  	// is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
  8184  	VisitDateTime string `json:"visitDateTime,omitempty"`
  8185  	// ForceSendFields is a list of field names (e.g. "AdId") to unconditionally
  8186  	// include in API requests. By default, fields with empty or default values are
  8187  	// omitted from API requests. See
  8188  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8189  	// details.
  8190  	ForceSendFields []string `json:"-"`
  8191  	// NullFields is a list of field names (e.g. "AdId") to include in API requests
  8192  	// with the JSON null value. By default, fields with empty values are omitted
  8193  	// from API requests. See
  8194  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8195  	NullFields []string `json:"-"`
  8196  }
  8197  
  8198  func (s *GoogleAdsSearchads360V0Resources__Visit) MarshalJSON() ([]byte, error) {
  8199  	type NoMethod GoogleAdsSearchads360V0Resources__Visit
  8200  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8201  }
  8202  
  8203  // GoogleAdsSearchads360V0Resources__WebpageView: A webpage view.
  8204  type GoogleAdsSearchads360V0Resources__WebpageView struct {
  8205  	// ResourceName: Output only. The resource name of the webpage view. Webpage
  8206  	// view resource names have the form:
  8207  	// `customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}`
  8208  	ResourceName string `json:"resourceName,omitempty"`
  8209  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  8210  	// unconditionally include in API requests. By default, fields with empty or
  8211  	// default values are omitted from API requests. See
  8212  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8213  	// details.
  8214  	ForceSendFields []string `json:"-"`
  8215  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  8216  	// requests with the JSON null value. By default, fields with empty values are
  8217  	// omitted from API requests. See
  8218  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8219  	NullFields []string `json:"-"`
  8220  }
  8221  
  8222  func (s *GoogleAdsSearchads360V0Resources__WebpageView) MarshalJSON() ([]byte, error) {
  8223  	type NoMethod GoogleAdsSearchads360V0Resources__WebpageView
  8224  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8225  }
  8226  
  8227  // GoogleAdsSearchads360V0Services__ConversionCustomDimensionHeader: Message
  8228  // for conversion custom dimension header.
  8229  type GoogleAdsSearchads360V0Services__ConversionCustomDimensionHeader struct {
  8230  	// Id: The conversion custom dimension ID.
  8231  	Id int64 `json:"id,omitempty,string"`
  8232  	// Name: The user defined name of the conversion custom dimension.
  8233  	Name string `json:"name,omitempty"`
  8234  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  8235  	// include in API requests. By default, fields with empty or default values are
  8236  	// omitted from API requests. See
  8237  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8238  	// details.
  8239  	ForceSendFields []string `json:"-"`
  8240  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  8241  	// with the JSON null value. By default, fields with empty values are omitted
  8242  	// from API requests. See
  8243  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8244  	NullFields []string `json:"-"`
  8245  }
  8246  
  8247  func (s *GoogleAdsSearchads360V0Services__ConversionCustomDimensionHeader) MarshalJSON() ([]byte, error) {
  8248  	type NoMethod GoogleAdsSearchads360V0Services__ConversionCustomDimensionHeader
  8249  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8250  }
  8251  
  8252  // GoogleAdsSearchads360V0Services__ConversionCustomMetricHeader: Message for
  8253  // conversion custom metric header.
  8254  type GoogleAdsSearchads360V0Services__ConversionCustomMetricHeader struct {
  8255  	// Id: The conversion custom metric ID.
  8256  	Id int64 `json:"id,omitempty,string"`
  8257  	// Name: The user defined name of the conversion custom metric.
  8258  	Name string `json:"name,omitempty"`
  8259  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  8260  	// include in API requests. By default, fields with empty or default values are
  8261  	// omitted from API requests. See
  8262  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8263  	// details.
  8264  	ForceSendFields []string `json:"-"`
  8265  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  8266  	// with the JSON null value. By default, fields with empty values are omitted
  8267  	// from API requests. See
  8268  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8269  	NullFields []string `json:"-"`
  8270  }
  8271  
  8272  func (s *GoogleAdsSearchads360V0Services__ConversionCustomMetricHeader) MarshalJSON() ([]byte, error) {
  8273  	type NoMethod GoogleAdsSearchads360V0Services__ConversionCustomMetricHeader
  8274  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8275  }
  8276  
  8277  // GoogleAdsSearchads360V0Services__CustomColumnHeader: Message for custom
  8278  // column header.
  8279  type GoogleAdsSearchads360V0Services__CustomColumnHeader struct {
  8280  	// Id: The custom column ID.
  8281  	Id int64 `json:"id,omitempty,string"`
  8282  	// Name: The user defined name of the custom column.
  8283  	Name string `json:"name,omitempty"`
  8284  	// ReferencesMetrics: True when the custom column references metrics.
  8285  	ReferencesMetrics bool `json:"referencesMetrics,omitempty"`
  8286  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  8287  	// include in API requests. By default, fields with empty or default values are
  8288  	// omitted from API requests. See
  8289  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8290  	// details.
  8291  	ForceSendFields []string `json:"-"`
  8292  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  8293  	// with the JSON null value. By default, fields with empty values are omitted
  8294  	// from API requests. See
  8295  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8296  	NullFields []string `json:"-"`
  8297  }
  8298  
  8299  func (s *GoogleAdsSearchads360V0Services__CustomColumnHeader) MarshalJSON() ([]byte, error) {
  8300  	type NoMethod GoogleAdsSearchads360V0Services__CustomColumnHeader
  8301  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8302  }
  8303  
  8304  // GoogleAdsSearchads360V0Services__ListAccessibleCustomersResponse: Response
  8305  // message for CustomerService.ListAccessibleCustomers.
  8306  type GoogleAdsSearchads360V0Services__ListAccessibleCustomersResponse struct {
  8307  	// ResourceNames: Resource name of customers directly accessible by the user
  8308  	// authenticating the call.
  8309  	ResourceNames []string `json:"resourceNames,omitempty"`
  8310  
  8311  	// ServerResponse contains the HTTP response code and headers from the server.
  8312  	googleapi.ServerResponse `json:"-"`
  8313  	// ForceSendFields is a list of field names (e.g. "ResourceNames") to
  8314  	// unconditionally include in API requests. By default, fields with empty or
  8315  	// default values are omitted from API requests. See
  8316  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8317  	// details.
  8318  	ForceSendFields []string `json:"-"`
  8319  	// NullFields is a list of field names (e.g. "ResourceNames") to include in API
  8320  	// requests with the JSON null value. By default, fields with empty values are
  8321  	// omitted from API requests. See
  8322  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8323  	NullFields []string `json:"-"`
  8324  }
  8325  
  8326  func (s *GoogleAdsSearchads360V0Services__ListAccessibleCustomersResponse) MarshalJSON() ([]byte, error) {
  8327  	type NoMethod GoogleAdsSearchads360V0Services__ListAccessibleCustomersResponse
  8328  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8329  }
  8330  
  8331  // GoogleAdsSearchads360V0Services__ListCustomColumnsResponse: Response message
  8332  // for fetching all custom columns associated with a customer.
  8333  type GoogleAdsSearchads360V0Services__ListCustomColumnsResponse struct {
  8334  	// CustomColumns: The CustomColumns owned by the provided customer.
  8335  	CustomColumns []*GoogleAdsSearchads360V0Resources__CustomColumn `json:"customColumns,omitempty"`
  8336  
  8337  	// ServerResponse contains the HTTP response code and headers from the server.
  8338  	googleapi.ServerResponse `json:"-"`
  8339  	// ForceSendFields is a list of field names (e.g. "CustomColumns") to
  8340  	// unconditionally include in API requests. By default, fields with empty or
  8341  	// default values are omitted from API requests. See
  8342  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8343  	// details.
  8344  	ForceSendFields []string `json:"-"`
  8345  	// NullFields is a list of field names (e.g. "CustomColumns") to include in API
  8346  	// requests with the JSON null value. By default, fields with empty values are
  8347  	// omitted from API requests. See
  8348  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8349  	NullFields []string `json:"-"`
  8350  }
  8351  
  8352  func (s *GoogleAdsSearchads360V0Services__ListCustomColumnsResponse) MarshalJSON() ([]byte, error) {
  8353  	type NoMethod GoogleAdsSearchads360V0Services__ListCustomColumnsResponse
  8354  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8355  }
  8356  
  8357  // GoogleAdsSearchads360V0Services__RawEventConversionDimensionHeader: Message
  8358  // for raw event conversion dimension header.
  8359  type GoogleAdsSearchads360V0Services__RawEventConversionDimensionHeader struct {
  8360  	// Id: The conversion custom variable ID.
  8361  	Id int64 `json:"id,omitempty,string"`
  8362  	// Name: The user defined name of the raw event dimension.
  8363  	Name string `json:"name,omitempty"`
  8364  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  8365  	// include in API requests. By default, fields with empty or default values are
  8366  	// omitted from API requests. See
  8367  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8368  	// details.
  8369  	ForceSendFields []string `json:"-"`
  8370  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  8371  	// with the JSON null value. By default, fields with empty values are omitted
  8372  	// from API requests. See
  8373  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8374  	NullFields []string `json:"-"`
  8375  }
  8376  
  8377  func (s *GoogleAdsSearchads360V0Services__RawEventConversionDimensionHeader) MarshalJSON() ([]byte, error) {
  8378  	type NoMethod GoogleAdsSearchads360V0Services__RawEventConversionDimensionHeader
  8379  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8380  }
  8381  
  8382  // GoogleAdsSearchads360V0Services__RawEventConversionMetricHeader: Message for
  8383  // raw event conversion metric header.
  8384  type GoogleAdsSearchads360V0Services__RawEventConversionMetricHeader struct {
  8385  	// Id: The conversion custom variable ID.
  8386  	Id int64 `json:"id,omitempty,string"`
  8387  	// Name: The user defined name of the raw event metric.
  8388  	Name string `json:"name,omitempty"`
  8389  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  8390  	// include in API requests. By default, fields with empty or default values are
  8391  	// omitted from API requests. See
  8392  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8393  	// details.
  8394  	ForceSendFields []string `json:"-"`
  8395  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  8396  	// with the JSON null value. By default, fields with empty values are omitted
  8397  	// from API requests. See
  8398  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8399  	NullFields []string `json:"-"`
  8400  }
  8401  
  8402  func (s *GoogleAdsSearchads360V0Services__RawEventConversionMetricHeader) MarshalJSON() ([]byte, error) {
  8403  	type NoMethod GoogleAdsSearchads360V0Services__RawEventConversionMetricHeader
  8404  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8405  }
  8406  
  8407  // GoogleAdsSearchads360V0Services__SearchAds360Row: A returned row from the
  8408  // query.
  8409  type GoogleAdsSearchads360V0Services__SearchAds360Row struct {
  8410  	// AccessibleBiddingStrategy: The accessible bidding strategy referenced in the
  8411  	// query.
  8412  	AccessibleBiddingStrategy *GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy `json:"accessibleBiddingStrategy,omitempty"`
  8413  	// AdGroup: The ad group referenced in the query.
  8414  	AdGroup *GoogleAdsSearchads360V0Resources__AdGroup `json:"adGroup,omitempty"`
  8415  	// AdGroupAd: The ad referenced in the query.
  8416  	AdGroupAd *GoogleAdsSearchads360V0Resources__AdGroupAd `json:"adGroupAd,omitempty"`
  8417  	// AdGroupAdLabel: The ad group ad label referenced in the query.
  8418  	AdGroupAdLabel *GoogleAdsSearchads360V0Resources__AdGroupAdLabel `json:"adGroupAdLabel,omitempty"`
  8419  	// AdGroupAsset: The ad group asset referenced in the query.
  8420  	AdGroupAsset *GoogleAdsSearchads360V0Resources__AdGroupAsset `json:"adGroupAsset,omitempty"`
  8421  	// AdGroupAssetSet: The ad group asset set referenced in the query.
  8422  	AdGroupAssetSet *GoogleAdsSearchads360V0Resources__AdGroupAssetSet `json:"adGroupAssetSet,omitempty"`
  8423  	// AdGroupAudienceView: The ad group audience view referenced in the query.
  8424  	AdGroupAudienceView *GoogleAdsSearchads360V0Resources__AdGroupAudienceView `json:"adGroupAudienceView,omitempty"`
  8425  	// AdGroupBidModifier: The bid modifier referenced in the query.
  8426  	AdGroupBidModifier *GoogleAdsSearchads360V0Resources__AdGroupBidModifier `json:"adGroupBidModifier,omitempty"`
  8427  	// AdGroupCriterion: The criterion referenced in the query.
  8428  	AdGroupCriterion *GoogleAdsSearchads360V0Resources__AdGroupCriterion `json:"adGroupCriterion,omitempty"`
  8429  	// AdGroupCriterionLabel: The ad group criterion label referenced in the query.
  8430  	AdGroupCriterionLabel *GoogleAdsSearchads360V0Resources__AdGroupCriterionLabel `json:"adGroupCriterionLabel,omitempty"`
  8431  	// AdGroupLabel: The ad group label referenced in the query.
  8432  	AdGroupLabel *GoogleAdsSearchads360V0Resources__AdGroupLabel `json:"adGroupLabel,omitempty"`
  8433  	// AgeRangeView: The age range view referenced in the query.
  8434  	AgeRangeView *GoogleAdsSearchads360V0Resources__AgeRangeView `json:"ageRangeView,omitempty"`
  8435  	// Asset: The asset referenced in the query.
  8436  	Asset *GoogleAdsSearchads360V0Resources__Asset `json:"asset,omitempty"`
  8437  	// AssetGroup: The asset group referenced in the query.
  8438  	AssetGroup *GoogleAdsSearchads360V0Resources__AssetGroup `json:"assetGroup,omitempty"`
  8439  	// AssetGroupAsset: The asset group asset referenced in the query.
  8440  	AssetGroupAsset *GoogleAdsSearchads360V0Resources__AssetGroupAsset `json:"assetGroupAsset,omitempty"`
  8441  	// AssetGroupListingGroupFilter: The asset group listing group filter
  8442  	// referenced in the query.
  8443  	AssetGroupListingGroupFilter *GoogleAdsSearchads360V0Resources__AssetGroupListingGroupFilter `json:"assetGroupListingGroupFilter,omitempty"`
  8444  	// AssetGroupSignal: The asset group signal referenced in the query.
  8445  	AssetGroupSignal *GoogleAdsSearchads360V0Resources__AssetGroupSignal `json:"assetGroupSignal,omitempty"`
  8446  	// AssetGroupTopCombinationView: The asset group top combination view
  8447  	// referenced in the query.
  8448  	AssetGroupTopCombinationView *GoogleAdsSearchads360V0Resources__AssetGroupTopCombinationView `json:"assetGroupTopCombinationView,omitempty"`
  8449  	// AssetSet: The asset set referenced in the query.
  8450  	AssetSet *GoogleAdsSearchads360V0Resources__AssetSet `json:"assetSet,omitempty"`
  8451  	// AssetSetAsset: The asset set asset referenced in the query.
  8452  	AssetSetAsset *GoogleAdsSearchads360V0Resources__AssetSetAsset `json:"assetSetAsset,omitempty"`
  8453  	// Audience: The Audience referenced in the query.
  8454  	Audience *GoogleAdsSearchads360V0Resources__Audience `json:"audience,omitempty"`
  8455  	// BiddingStrategy: The bidding strategy referenced in the query.
  8456  	BiddingStrategy *GoogleAdsSearchads360V0Resources__BiddingStrategy `json:"biddingStrategy,omitempty"`
  8457  	// Campaign: The campaign referenced in the query.
  8458  	Campaign *GoogleAdsSearchads360V0Resources__Campaign `json:"campaign,omitempty"`
  8459  	// CampaignAsset: The campaign asset referenced in the query.
  8460  	CampaignAsset *GoogleAdsSearchads360V0Resources__CampaignAsset `json:"campaignAsset,omitempty"`
  8461  	// CampaignAssetSet: The campaign asset set referenced in the query.
  8462  	CampaignAssetSet *GoogleAdsSearchads360V0Resources__CampaignAssetSet `json:"campaignAssetSet,omitempty"`
  8463  	// CampaignAudienceView: The campaign audience view referenced in the query.
  8464  	CampaignAudienceView *GoogleAdsSearchads360V0Resources__CampaignAudienceView `json:"campaignAudienceView,omitempty"`
  8465  	// CampaignBudget: The campaign budget referenced in the query.
  8466  	CampaignBudget *GoogleAdsSearchads360V0Resources__CampaignBudget `json:"campaignBudget,omitempty"`
  8467  	// CampaignCriterion: The campaign criterion referenced in the query.
  8468  	CampaignCriterion *GoogleAdsSearchads360V0Resources__CampaignCriterion `json:"campaignCriterion,omitempty"`
  8469  	// CampaignLabel: The campaign label referenced in the query.
  8470  	CampaignLabel *GoogleAdsSearchads360V0Resources__CampaignLabel `json:"campaignLabel,omitempty"`
  8471  	// CartDataSalesView: The cart data sales view referenced in the query.
  8472  	CartDataSalesView *GoogleAdsSearchads360V0Resources__CartDataSalesView `json:"cartDataSalesView,omitempty"`
  8473  	// Conversion: The event level conversion referenced in the query.
  8474  	Conversion *GoogleAdsSearchads360V0Resources__Conversion `json:"conversion,omitempty"`
  8475  	// ConversionAction: The conversion action referenced in the query.
  8476  	ConversionAction *GoogleAdsSearchads360V0Resources__ConversionAction `json:"conversionAction,omitempty"`
  8477  	// ConversionCustomVariable: The conversion custom variable referenced in the
  8478  	// query.
  8479  	ConversionCustomVariable *GoogleAdsSearchads360V0Resources__ConversionCustomVariable `json:"conversionCustomVariable,omitempty"`
  8480  	// CustomColumns: The custom columns.
  8481  	CustomColumns []*GoogleAdsSearchads360V0Common__Value `json:"customColumns,omitempty"`
  8482  	// Customer: The customer referenced in the query.
  8483  	Customer *GoogleAdsSearchads360V0Resources__Customer `json:"customer,omitempty"`
  8484  	// CustomerAsset: The customer asset referenced in the query.
  8485  	CustomerAsset *GoogleAdsSearchads360V0Resources__CustomerAsset `json:"customerAsset,omitempty"`
  8486  	// CustomerAssetSet: The customer asset set referenced in the query.
  8487  	CustomerAssetSet *GoogleAdsSearchads360V0Resources__CustomerAssetSet `json:"customerAssetSet,omitempty"`
  8488  	// CustomerClient: The CustomerClient referenced in the query.
  8489  	CustomerClient *GoogleAdsSearchads360V0Resources__CustomerClient `json:"customerClient,omitempty"`
  8490  	// CustomerManagerLink: The CustomerManagerLink referenced in the query.
  8491  	CustomerManagerLink *GoogleAdsSearchads360V0Resources__CustomerManagerLink `json:"customerManagerLink,omitempty"`
  8492  	// DynamicSearchAdsSearchTermView: The dynamic search ads search term view
  8493  	// referenced in the query.
  8494  	DynamicSearchAdsSearchTermView *GoogleAdsSearchads360V0Resources__DynamicSearchAdsSearchTermView `json:"dynamicSearchAdsSearchTermView,omitempty"`
  8495  	// GenderView: The gender view referenced in the query.
  8496  	GenderView *GoogleAdsSearchads360V0Resources__GenderView `json:"genderView,omitempty"`
  8497  	// GeoTargetConstant: The geo target constant referenced in the query.
  8498  	GeoTargetConstant *GoogleAdsSearchads360V0Resources__GeoTargetConstant `json:"geoTargetConstant,omitempty"`
  8499  	// KeywordView: The keyword view referenced in the query.
  8500  	KeywordView *GoogleAdsSearchads360V0Resources__KeywordView `json:"keywordView,omitempty"`
  8501  	// Label: The label referenced in the query.
  8502  	Label *GoogleAdsSearchads360V0Resources__Label `json:"label,omitempty"`
  8503  	// LanguageConstant: The language constant referenced in the query.
  8504  	LanguageConstant *GoogleAdsSearchads360V0Resources__LanguageConstant `json:"languageConstant,omitempty"`
  8505  	// LocationView: The location view referenced in the query.
  8506  	LocationView *GoogleAdsSearchads360V0Resources__LocationView `json:"locationView,omitempty"`
  8507  	// Metrics: The metrics.
  8508  	Metrics *GoogleAdsSearchads360V0Common__Metrics `json:"metrics,omitempty"`
  8509  	// ProductBiddingCategoryConstant: The Product Bidding Category referenced in
  8510  	// the query.
  8511  	ProductBiddingCategoryConstant *GoogleAdsSearchads360V0Resources__ProductBiddingCategoryConstant `json:"productBiddingCategoryConstant,omitempty"`
  8512  	// ProductGroupView: The product group view referenced in the query.
  8513  	ProductGroupView *GoogleAdsSearchads360V0Resources__ProductGroupView `json:"productGroupView,omitempty"`
  8514  	// Segments: The segments.
  8515  	Segments *GoogleAdsSearchads360V0Common__Segments `json:"segments,omitempty"`
  8516  	// ShoppingPerformanceView: The shopping performance view referenced in the
  8517  	// query.
  8518  	ShoppingPerformanceView *GoogleAdsSearchads360V0Resources__ShoppingPerformanceView `json:"shoppingPerformanceView,omitempty"`
  8519  	// UserList: The user list referenced in the query.
  8520  	UserList *GoogleAdsSearchads360V0Resources__UserList `json:"userList,omitempty"`
  8521  	// Visit: The event level visit referenced in the query.
  8522  	Visit *GoogleAdsSearchads360V0Resources__Visit `json:"visit,omitempty"`
  8523  	// WebpageView: The webpage view referenced in the query.
  8524  	WebpageView *GoogleAdsSearchads360V0Resources__WebpageView `json:"webpageView,omitempty"`
  8525  	// ForceSendFields is a list of field names (e.g. "AccessibleBiddingStrategy")
  8526  	// to unconditionally include in API requests. By default, fields with empty or
  8527  	// default values are omitted from API requests. See
  8528  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8529  	// details.
  8530  	ForceSendFields []string `json:"-"`
  8531  	// NullFields is a list of field names (e.g. "AccessibleBiddingStrategy") to
  8532  	// include in API requests with the JSON null value. By default, fields with
  8533  	// empty values are omitted from API requests. See
  8534  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8535  	NullFields []string `json:"-"`
  8536  }
  8537  
  8538  func (s *GoogleAdsSearchads360V0Services__SearchAds360Row) MarshalJSON() ([]byte, error) {
  8539  	type NoMethod GoogleAdsSearchads360V0Services__SearchAds360Row
  8540  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8541  }
  8542  
  8543  // GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsRequest: Request
  8544  // message for SearchAds360FieldService.SearchSearchAds360Fields.
  8545  type GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsRequest struct {
  8546  	// PageSize: Number of elements to retrieve in a single page. When too large a
  8547  	// page is requested, the server may decide to further limit the number of
  8548  	// returned resources.
  8549  	PageSize int64 `json:"pageSize,omitempty"`
  8550  	// PageToken: Token of the page to retrieve. If not specified, the first page
  8551  	// of results will be returned. Use the value obtained from `next_page_token`
  8552  	// in the previous response in order to request the next page of results.
  8553  	PageToken string `json:"pageToken,omitempty"`
  8554  	// Query: Required. The query string.
  8555  	Query string `json:"query,omitempty"`
  8556  	// ForceSendFields is a list of field names (e.g. "PageSize") to
  8557  	// unconditionally include in API requests. By default, fields with empty or
  8558  	// default values are omitted from API requests. See
  8559  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8560  	// details.
  8561  	ForceSendFields []string `json:"-"`
  8562  	// NullFields is a list of field names (e.g. "PageSize") to include in API
  8563  	// requests with the JSON null value. By default, fields with empty values are
  8564  	// omitted from API requests. See
  8565  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8566  	NullFields []string `json:"-"`
  8567  }
  8568  
  8569  func (s *GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsRequest) MarshalJSON() ([]byte, error) {
  8570  	type NoMethod GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsRequest
  8571  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8572  }
  8573  
  8574  // GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsResponse: Response
  8575  // message for SearchAds360FieldService.SearchSearchAds360Fields.
  8576  type GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsResponse struct {
  8577  	// NextPageToken: Pagination token used to retrieve the next page of results.
  8578  	// Pass the content of this string as the `page_token` attribute of the next
  8579  	// request. `next_page_token` is not returned for the last page.
  8580  	NextPageToken string `json:"nextPageToken,omitempty"`
  8581  	// Results: The list of fields that matched the query.
  8582  	Results []*GoogleAdsSearchads360V0Resources__SearchAds360Field `json:"results,omitempty"`
  8583  	// TotalResultsCount: Total number of results that match the query ignoring the
  8584  	// LIMIT clause.
  8585  	TotalResultsCount int64 `json:"totalResultsCount,omitempty,string"`
  8586  
  8587  	// ServerResponse contains the HTTP response code and headers from the server.
  8588  	googleapi.ServerResponse `json:"-"`
  8589  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  8590  	// unconditionally include in API requests. By default, fields with empty or
  8591  	// default values are omitted from API requests. See
  8592  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8593  	// details.
  8594  	ForceSendFields []string `json:"-"`
  8595  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  8596  	// requests with the JSON null value. By default, fields with empty values are
  8597  	// omitted from API requests. See
  8598  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8599  	NullFields []string `json:"-"`
  8600  }
  8601  
  8602  func (s *GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsResponse) MarshalJSON() ([]byte, error) {
  8603  	type NoMethod GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsResponse
  8604  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8605  }
  8606  
  8607  // GoogleAdsSearchads360V0Services__SearchSearchAds360Request: Request message
  8608  // for SearchAds360Service.Search.
  8609  type GoogleAdsSearchads360V0Services__SearchSearchAds360Request struct {
  8610  	// PageSize: Number of elements to retrieve in a single page. When too large a
  8611  	// page is requested, the server may decide to further limit the number of
  8612  	// returned resources.
  8613  	PageSize int64 `json:"pageSize,omitempty"`
  8614  	// PageToken: Token of the page to retrieve. If not specified, the first page
  8615  	// of results will be returned. Use the value obtained from `next_page_token`
  8616  	// in the previous response in order to request the next page of results.
  8617  	PageToken string `json:"pageToken,omitempty"`
  8618  	// Query: Required. The query string.
  8619  	Query string `json:"query,omitempty"`
  8620  	// ReturnTotalResultsCount: If true, the total number of results that match the
  8621  	// query ignoring the LIMIT clause will be included in the response. Default is
  8622  	// false.
  8623  	ReturnTotalResultsCount bool `json:"returnTotalResultsCount,omitempty"`
  8624  	// SummaryRowSetting: Determines whether a summary row will be returned. By
  8625  	// default, summary row is not returned. If requested, the summary row will be
  8626  	// sent in a response by itself after all other query results are returned.
  8627  	//
  8628  	// Possible values:
  8629  	//   "UNSPECIFIED" - Not specified.
  8630  	//   "UNKNOWN" - Represent unknown values of return summary row.
  8631  	//   "NO_SUMMARY_ROW" - Do not return summary row.
  8632  	//   "SUMMARY_ROW_WITH_RESULTS" - Return summary row along with results. The
  8633  	// summary row will be returned in the last batch alone (last batch will
  8634  	// contain no results).
  8635  	//   "SUMMARY_ROW_ONLY" - Return summary row only and return no results.
  8636  	SummaryRowSetting string `json:"summaryRowSetting,omitempty"`
  8637  	// ValidateOnly: If true, the request is validated but not executed.
  8638  	ValidateOnly bool `json:"validateOnly,omitempty"`
  8639  	// ForceSendFields is a list of field names (e.g. "PageSize") to
  8640  	// unconditionally include in API requests. By default, fields with empty or
  8641  	// default values are omitted from API requests. See
  8642  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8643  	// details.
  8644  	ForceSendFields []string `json:"-"`
  8645  	// NullFields is a list of field names (e.g. "PageSize") to include in API
  8646  	// requests with the JSON null value. By default, fields with empty values are
  8647  	// omitted from API requests. See
  8648  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8649  	NullFields []string `json:"-"`
  8650  }
  8651  
  8652  func (s *GoogleAdsSearchads360V0Services__SearchSearchAds360Request) MarshalJSON() ([]byte, error) {
  8653  	type NoMethod GoogleAdsSearchads360V0Services__SearchSearchAds360Request
  8654  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8655  }
  8656  
  8657  // GoogleAdsSearchads360V0Services__SearchSearchAds360Response: Response
  8658  // message for SearchAds360Service.Search.
  8659  type GoogleAdsSearchads360V0Services__SearchSearchAds360Response struct {
  8660  	// ConversionCustomDimensionHeaders: The headers of the conversion custom
  8661  	// dimensions in the results.
  8662  	ConversionCustomDimensionHeaders []*GoogleAdsSearchads360V0Services__ConversionCustomDimensionHeader `json:"conversionCustomDimensionHeaders,omitempty"`
  8663  	// ConversionCustomMetricHeaders: The headers of the conversion custom metrics
  8664  	// in the results.
  8665  	ConversionCustomMetricHeaders []*GoogleAdsSearchads360V0Services__ConversionCustomMetricHeader `json:"conversionCustomMetricHeaders,omitempty"`
  8666  	// CustomColumnHeaders: The headers of the custom columns in the results.
  8667  	CustomColumnHeaders []*GoogleAdsSearchads360V0Services__CustomColumnHeader `json:"customColumnHeaders,omitempty"`
  8668  	// FieldMask: FieldMask that represents what fields were requested by the user.
  8669  	FieldMask string `json:"fieldMask,omitempty"`
  8670  	// NextPageToken: Pagination token used to retrieve the next page of results.
  8671  	// Pass the content of this string as the `page_token` attribute of the next
  8672  	// request. `next_page_token` is not returned for the last page.
  8673  	NextPageToken string `json:"nextPageToken,omitempty"`
  8674  	// RawEventConversionDimensionHeaders: The headers of the raw event conversion
  8675  	// dimensions in the results.
  8676  	RawEventConversionDimensionHeaders []*GoogleAdsSearchads360V0Services__RawEventConversionDimensionHeader `json:"rawEventConversionDimensionHeaders,omitempty"`
  8677  	// RawEventConversionMetricHeaders: The headers of the raw event conversion
  8678  	// metrics in the results.
  8679  	RawEventConversionMetricHeaders []*GoogleAdsSearchads360V0Services__RawEventConversionMetricHeader `json:"rawEventConversionMetricHeaders,omitempty"`
  8680  	// Results: The list of rows that matched the query.
  8681  	Results []*GoogleAdsSearchads360V0Services__SearchAds360Row `json:"results,omitempty"`
  8682  	// SummaryRow: Summary row that contains summary of metrics in results. Summary
  8683  	// of metrics means aggregation of metrics across all results, here aggregation
  8684  	// could be sum, average, rate, etc.
  8685  	SummaryRow *GoogleAdsSearchads360V0Services__SearchAds360Row `json:"summaryRow,omitempty"`
  8686  	// TotalResultsCount: Total number of results that match the query ignoring the
  8687  	// LIMIT clause.
  8688  	TotalResultsCount int64 `json:"totalResultsCount,omitempty,string"`
  8689  
  8690  	// ServerResponse contains the HTTP response code and headers from the server.
  8691  	googleapi.ServerResponse `json:"-"`
  8692  	// ForceSendFields is a list of field names (e.g.
  8693  	// "ConversionCustomDimensionHeaders") to unconditionally include in API
  8694  	// requests. By default, fields with empty or default values are omitted from
  8695  	// API requests. See
  8696  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8697  	// details.
  8698  	ForceSendFields []string `json:"-"`
  8699  	// NullFields is a list of field names (e.g.
  8700  	// "ConversionCustomDimensionHeaders") to include in API requests with the JSON
  8701  	// null value. By default, fields with empty values are omitted from API
  8702  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
  8703  	// more details.
  8704  	NullFields []string `json:"-"`
  8705  }
  8706  
  8707  func (s *GoogleAdsSearchads360V0Services__SearchSearchAds360Response) MarshalJSON() ([]byte, error) {
  8708  	type NoMethod GoogleAdsSearchads360V0Services__SearchSearchAds360Response
  8709  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8710  }
  8711  
  8712  type CustomersListAccessibleCustomersCall struct {
  8713  	s            *Service
  8714  	urlParams_   gensupport.URLParams
  8715  	ifNoneMatch_ string
  8716  	ctx_         context.Context
  8717  	header_      http.Header
  8718  }
  8719  
  8720  // ListAccessibleCustomers: Returns resource names of customers directly
  8721  // accessible by the user authenticating the call. List of thrown errors:
  8722  // AuthenticationError () [AuthorizationError]() HeaderError ()
  8723  // [InternalError]() QuotaError () [RequestError]()
  8724  func (r *CustomersService) ListAccessibleCustomers() *CustomersListAccessibleCustomersCall {
  8725  	c := &CustomersListAccessibleCustomersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8726  	return c
  8727  }
  8728  
  8729  // Fields allows partial responses to be retrieved. See
  8730  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8731  // details.
  8732  func (c *CustomersListAccessibleCustomersCall) Fields(s ...googleapi.Field) *CustomersListAccessibleCustomersCall {
  8733  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8734  	return c
  8735  }
  8736  
  8737  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8738  // object's ETag matches the given value. This is useful for getting updates
  8739  // only after the object has changed since the last request.
  8740  func (c *CustomersListAccessibleCustomersCall) IfNoneMatch(entityTag string) *CustomersListAccessibleCustomersCall {
  8741  	c.ifNoneMatch_ = entityTag
  8742  	return c
  8743  }
  8744  
  8745  // Context sets the context to be used in this call's Do method.
  8746  func (c *CustomersListAccessibleCustomersCall) Context(ctx context.Context) *CustomersListAccessibleCustomersCall {
  8747  	c.ctx_ = ctx
  8748  	return c
  8749  }
  8750  
  8751  // Header returns a http.Header that can be modified by the caller to add
  8752  // headers to the request.
  8753  func (c *CustomersListAccessibleCustomersCall) Header() http.Header {
  8754  	if c.header_ == nil {
  8755  		c.header_ = make(http.Header)
  8756  	}
  8757  	return c.header_
  8758  }
  8759  
  8760  func (c *CustomersListAccessibleCustomersCall) doRequest(alt string) (*http.Response, error) {
  8761  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8762  	if c.ifNoneMatch_ != "" {
  8763  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8764  	}
  8765  	var body io.Reader = nil
  8766  	c.urlParams_.Set("alt", alt)
  8767  	c.urlParams_.Set("prettyPrint", "false")
  8768  	urls := googleapi.ResolveRelative(c.s.BasePath, "v0/customers:listAccessibleCustomers")
  8769  	urls += "?" + c.urlParams_.Encode()
  8770  	req, err := http.NewRequest("GET", urls, body)
  8771  	if err != nil {
  8772  		return nil, err
  8773  	}
  8774  	req.Header = reqHeaders
  8775  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8776  }
  8777  
  8778  // Do executes the "searchads360.customers.listAccessibleCustomers" call.
  8779  // Any non-2xx status code is an error. Response headers are in either
  8780  // *GoogleAdsSearchads360V0Services__ListAccessibleCustomersResponse.ServerRespo
  8781  // nse.Header or (if a response was returned at all) in
  8782  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8783  // whether the returned error was because http.StatusNotModified was returned.
  8784  func (c *CustomersListAccessibleCustomersCall) Do(opts ...googleapi.CallOption) (*GoogleAdsSearchads360V0Services__ListAccessibleCustomersResponse, error) {
  8785  	gensupport.SetOptions(c.urlParams_, opts...)
  8786  	res, err := c.doRequest("json")
  8787  	if res != nil && res.StatusCode == http.StatusNotModified {
  8788  		if res.Body != nil {
  8789  			res.Body.Close()
  8790  		}
  8791  		return nil, gensupport.WrapError(&googleapi.Error{
  8792  			Code:   res.StatusCode,
  8793  			Header: res.Header,
  8794  		})
  8795  	}
  8796  	if err != nil {
  8797  		return nil, err
  8798  	}
  8799  	defer googleapi.CloseBody(res)
  8800  	if err := googleapi.CheckResponse(res); err != nil {
  8801  		return nil, gensupport.WrapError(err)
  8802  	}
  8803  	ret := &GoogleAdsSearchads360V0Services__ListAccessibleCustomersResponse{
  8804  		ServerResponse: googleapi.ServerResponse{
  8805  			Header:         res.Header,
  8806  			HTTPStatusCode: res.StatusCode,
  8807  		},
  8808  	}
  8809  	target := &ret
  8810  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8811  		return nil, err
  8812  	}
  8813  	return ret, nil
  8814  }
  8815  
  8816  type CustomersCustomColumnsGetCall struct {
  8817  	s            *Service
  8818  	resourceName string
  8819  	urlParams_   gensupport.URLParams
  8820  	ifNoneMatch_ string
  8821  	ctx_         context.Context
  8822  	header_      http.Header
  8823  }
  8824  
  8825  // Get: Returns the requested custom column in full detail.
  8826  //
  8827  // - resourceName: The resource name of the custom column to fetch.
  8828  func (r *CustomersCustomColumnsService) Get(resourceName string) *CustomersCustomColumnsGetCall {
  8829  	c := &CustomersCustomColumnsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8830  	c.resourceName = resourceName
  8831  	return c
  8832  }
  8833  
  8834  // Fields allows partial responses to be retrieved. See
  8835  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8836  // details.
  8837  func (c *CustomersCustomColumnsGetCall) Fields(s ...googleapi.Field) *CustomersCustomColumnsGetCall {
  8838  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8839  	return c
  8840  }
  8841  
  8842  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8843  // object's ETag matches the given value. This is useful for getting updates
  8844  // only after the object has changed since the last request.
  8845  func (c *CustomersCustomColumnsGetCall) IfNoneMatch(entityTag string) *CustomersCustomColumnsGetCall {
  8846  	c.ifNoneMatch_ = entityTag
  8847  	return c
  8848  }
  8849  
  8850  // Context sets the context to be used in this call's Do method.
  8851  func (c *CustomersCustomColumnsGetCall) Context(ctx context.Context) *CustomersCustomColumnsGetCall {
  8852  	c.ctx_ = ctx
  8853  	return c
  8854  }
  8855  
  8856  // Header returns a http.Header that can be modified by the caller to add
  8857  // headers to the request.
  8858  func (c *CustomersCustomColumnsGetCall) Header() http.Header {
  8859  	if c.header_ == nil {
  8860  		c.header_ = make(http.Header)
  8861  	}
  8862  	return c.header_
  8863  }
  8864  
  8865  func (c *CustomersCustomColumnsGetCall) doRequest(alt string) (*http.Response, error) {
  8866  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8867  	if c.ifNoneMatch_ != "" {
  8868  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8869  	}
  8870  	var body io.Reader = nil
  8871  	c.urlParams_.Set("alt", alt)
  8872  	c.urlParams_.Set("prettyPrint", "false")
  8873  	urls := googleapi.ResolveRelative(c.s.BasePath, "v0/{+resourceName}")
  8874  	urls += "?" + c.urlParams_.Encode()
  8875  	req, err := http.NewRequest("GET", urls, body)
  8876  	if err != nil {
  8877  		return nil, err
  8878  	}
  8879  	req.Header = reqHeaders
  8880  	googleapi.Expand(req.URL, map[string]string{
  8881  		"resourceName": c.resourceName,
  8882  	})
  8883  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8884  }
  8885  
  8886  // Do executes the "searchads360.customers.customColumns.get" call.
  8887  // Any non-2xx status code is an error. Response headers are in either
  8888  // *GoogleAdsSearchads360V0Resources__CustomColumn.ServerResponse.Header or (if
  8889  // a response was returned at all) in error.(*googleapi.Error).Header. Use
  8890  // googleapi.IsNotModified to check whether the returned error was because
  8891  // http.StatusNotModified was returned.
  8892  func (c *CustomersCustomColumnsGetCall) Do(opts ...googleapi.CallOption) (*GoogleAdsSearchads360V0Resources__CustomColumn, error) {
  8893  	gensupport.SetOptions(c.urlParams_, opts...)
  8894  	res, err := c.doRequest("json")
  8895  	if res != nil && res.StatusCode == http.StatusNotModified {
  8896  		if res.Body != nil {
  8897  			res.Body.Close()
  8898  		}
  8899  		return nil, gensupport.WrapError(&googleapi.Error{
  8900  			Code:   res.StatusCode,
  8901  			Header: res.Header,
  8902  		})
  8903  	}
  8904  	if err != nil {
  8905  		return nil, err
  8906  	}
  8907  	defer googleapi.CloseBody(res)
  8908  	if err := googleapi.CheckResponse(res); err != nil {
  8909  		return nil, gensupport.WrapError(err)
  8910  	}
  8911  	ret := &GoogleAdsSearchads360V0Resources__CustomColumn{
  8912  		ServerResponse: googleapi.ServerResponse{
  8913  			Header:         res.Header,
  8914  			HTTPStatusCode: res.StatusCode,
  8915  		},
  8916  	}
  8917  	target := &ret
  8918  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8919  		return nil, err
  8920  	}
  8921  	return ret, nil
  8922  }
  8923  
  8924  type CustomersCustomColumnsListCall struct {
  8925  	s            *Service
  8926  	customerId   string
  8927  	urlParams_   gensupport.URLParams
  8928  	ifNoneMatch_ string
  8929  	ctx_         context.Context
  8930  	header_      http.Header
  8931  }
  8932  
  8933  // List: Returns all the custom columns associated with the customer in full
  8934  // detail.
  8935  //
  8936  //   - customerId: The ID of the customer to apply the CustomColumn list
  8937  //     operation to.
  8938  func (r *CustomersCustomColumnsService) List(customerId string) *CustomersCustomColumnsListCall {
  8939  	c := &CustomersCustomColumnsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8940  	c.customerId = customerId
  8941  	return c
  8942  }
  8943  
  8944  // Fields allows partial responses to be retrieved. See
  8945  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8946  // details.
  8947  func (c *CustomersCustomColumnsListCall) Fields(s ...googleapi.Field) *CustomersCustomColumnsListCall {
  8948  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8949  	return c
  8950  }
  8951  
  8952  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8953  // object's ETag matches the given value. This is useful for getting updates
  8954  // only after the object has changed since the last request.
  8955  func (c *CustomersCustomColumnsListCall) IfNoneMatch(entityTag string) *CustomersCustomColumnsListCall {
  8956  	c.ifNoneMatch_ = entityTag
  8957  	return c
  8958  }
  8959  
  8960  // Context sets the context to be used in this call's Do method.
  8961  func (c *CustomersCustomColumnsListCall) Context(ctx context.Context) *CustomersCustomColumnsListCall {
  8962  	c.ctx_ = ctx
  8963  	return c
  8964  }
  8965  
  8966  // Header returns a http.Header that can be modified by the caller to add
  8967  // headers to the request.
  8968  func (c *CustomersCustomColumnsListCall) Header() http.Header {
  8969  	if c.header_ == nil {
  8970  		c.header_ = make(http.Header)
  8971  	}
  8972  	return c.header_
  8973  }
  8974  
  8975  func (c *CustomersCustomColumnsListCall) doRequest(alt string) (*http.Response, error) {
  8976  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8977  	if c.ifNoneMatch_ != "" {
  8978  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8979  	}
  8980  	var body io.Reader = nil
  8981  	c.urlParams_.Set("alt", alt)
  8982  	c.urlParams_.Set("prettyPrint", "false")
  8983  	urls := googleapi.ResolveRelative(c.s.BasePath, "v0/customers/{+customerId}/customColumns")
  8984  	urls += "?" + c.urlParams_.Encode()
  8985  	req, err := http.NewRequest("GET", urls, body)
  8986  	if err != nil {
  8987  		return nil, err
  8988  	}
  8989  	req.Header = reqHeaders
  8990  	googleapi.Expand(req.URL, map[string]string{
  8991  		"customerId": c.customerId,
  8992  	})
  8993  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8994  }
  8995  
  8996  // Do executes the "searchads360.customers.customColumns.list" call.
  8997  // Any non-2xx status code is an error. Response headers are in either
  8998  // *GoogleAdsSearchads360V0Services__ListCustomColumnsResponse.ServerResponse.He
  8999  // ader or (if a response was returned at all) in
  9000  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9001  // whether the returned error was because http.StatusNotModified was returned.
  9002  func (c *CustomersCustomColumnsListCall) Do(opts ...googleapi.CallOption) (*GoogleAdsSearchads360V0Services__ListCustomColumnsResponse, error) {
  9003  	gensupport.SetOptions(c.urlParams_, opts...)
  9004  	res, err := c.doRequest("json")
  9005  	if res != nil && res.StatusCode == http.StatusNotModified {
  9006  		if res.Body != nil {
  9007  			res.Body.Close()
  9008  		}
  9009  		return nil, gensupport.WrapError(&googleapi.Error{
  9010  			Code:   res.StatusCode,
  9011  			Header: res.Header,
  9012  		})
  9013  	}
  9014  	if err != nil {
  9015  		return nil, err
  9016  	}
  9017  	defer googleapi.CloseBody(res)
  9018  	if err := googleapi.CheckResponse(res); err != nil {
  9019  		return nil, gensupport.WrapError(err)
  9020  	}
  9021  	ret := &GoogleAdsSearchads360V0Services__ListCustomColumnsResponse{
  9022  		ServerResponse: googleapi.ServerResponse{
  9023  			Header:         res.Header,
  9024  			HTTPStatusCode: res.StatusCode,
  9025  		},
  9026  	}
  9027  	target := &ret
  9028  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9029  		return nil, err
  9030  	}
  9031  	return ret, nil
  9032  }
  9033  
  9034  type CustomersSearchAds360SearchCall struct {
  9035  	s                                                          *Service
  9036  	customerId                                                 string
  9037  	googleadssearchads360v0services__searchsearchads360request *GoogleAdsSearchads360V0Services__SearchSearchAds360Request
  9038  	urlParams_                                                 gensupport.URLParams
  9039  	ctx_                                                       context.Context
  9040  	header_                                                    http.Header
  9041  }
  9042  
  9043  // Search: Returns all rows that match the search query. List of thrown errors:
  9044  // AuthenticationError () [AuthorizationError]() HeaderError ()
  9045  // [InternalError]() QueryError () [QuotaError]() RequestError ()
  9046  //
  9047  // - customerId: The ID of the customer being queried.
  9048  func (r *CustomersSearchAds360Service) Search(customerId string, googleadssearchads360v0services__searchsearchads360request *GoogleAdsSearchads360V0Services__SearchSearchAds360Request) *CustomersSearchAds360SearchCall {
  9049  	c := &CustomersSearchAds360SearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9050  	c.customerId = customerId
  9051  	c.googleadssearchads360v0services__searchsearchads360request = googleadssearchads360v0services__searchsearchads360request
  9052  	return c
  9053  }
  9054  
  9055  // Fields allows partial responses to be retrieved. See
  9056  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9057  // details.
  9058  func (c *CustomersSearchAds360SearchCall) Fields(s ...googleapi.Field) *CustomersSearchAds360SearchCall {
  9059  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9060  	return c
  9061  }
  9062  
  9063  // Context sets the context to be used in this call's Do method.
  9064  func (c *CustomersSearchAds360SearchCall) Context(ctx context.Context) *CustomersSearchAds360SearchCall {
  9065  	c.ctx_ = ctx
  9066  	return c
  9067  }
  9068  
  9069  // Header returns a http.Header that can be modified by the caller to add
  9070  // headers to the request.
  9071  func (c *CustomersSearchAds360SearchCall) Header() http.Header {
  9072  	if c.header_ == nil {
  9073  		c.header_ = make(http.Header)
  9074  	}
  9075  	return c.header_
  9076  }
  9077  
  9078  func (c *CustomersSearchAds360SearchCall) doRequest(alt string) (*http.Response, error) {
  9079  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9080  	var body io.Reader = nil
  9081  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleadssearchads360v0services__searchsearchads360request)
  9082  	if err != nil {
  9083  		return nil, err
  9084  	}
  9085  	c.urlParams_.Set("alt", alt)
  9086  	c.urlParams_.Set("prettyPrint", "false")
  9087  	urls := googleapi.ResolveRelative(c.s.BasePath, "v0/customers/{+customerId}/searchAds360:search")
  9088  	urls += "?" + c.urlParams_.Encode()
  9089  	req, err := http.NewRequest("POST", urls, body)
  9090  	if err != nil {
  9091  		return nil, err
  9092  	}
  9093  	req.Header = reqHeaders
  9094  	googleapi.Expand(req.URL, map[string]string{
  9095  		"customerId": c.customerId,
  9096  	})
  9097  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9098  }
  9099  
  9100  // Do executes the "searchads360.customers.searchAds360.search" call.
  9101  // Any non-2xx status code is an error. Response headers are in either
  9102  // *GoogleAdsSearchads360V0Services__SearchSearchAds360Response.ServerResponse.H
  9103  // eader or (if a response was returned at all) in
  9104  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9105  // whether the returned error was because http.StatusNotModified was returned.
  9106  func (c *CustomersSearchAds360SearchCall) Do(opts ...googleapi.CallOption) (*GoogleAdsSearchads360V0Services__SearchSearchAds360Response, error) {
  9107  	gensupport.SetOptions(c.urlParams_, opts...)
  9108  	res, err := c.doRequest("json")
  9109  	if res != nil && res.StatusCode == http.StatusNotModified {
  9110  		if res.Body != nil {
  9111  			res.Body.Close()
  9112  		}
  9113  		return nil, gensupport.WrapError(&googleapi.Error{
  9114  			Code:   res.StatusCode,
  9115  			Header: res.Header,
  9116  		})
  9117  	}
  9118  	if err != nil {
  9119  		return nil, err
  9120  	}
  9121  	defer googleapi.CloseBody(res)
  9122  	if err := googleapi.CheckResponse(res); err != nil {
  9123  		return nil, gensupport.WrapError(err)
  9124  	}
  9125  	ret := &GoogleAdsSearchads360V0Services__SearchSearchAds360Response{
  9126  		ServerResponse: googleapi.ServerResponse{
  9127  			Header:         res.Header,
  9128  			HTTPStatusCode: res.StatusCode,
  9129  		},
  9130  	}
  9131  	target := &ret
  9132  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9133  		return nil, err
  9134  	}
  9135  	return ret, nil
  9136  }
  9137  
  9138  // Pages invokes f for each page of results.
  9139  // A non-nil error returned from f will halt the iteration.
  9140  // The provided context supersedes any context provided to the Context method.
  9141  func (c *CustomersSearchAds360SearchCall) Pages(ctx context.Context, f func(*GoogleAdsSearchads360V0Services__SearchSearchAds360Response) error) error {
  9142  	c.ctx_ = ctx
  9143  	defer func(pt string) { c.googleadssearchads360v0services__searchsearchads360request.PageToken = pt }(c.googleadssearchads360v0services__searchsearchads360request.PageToken)
  9144  	for {
  9145  		x, err := c.Do()
  9146  		if err != nil {
  9147  			return err
  9148  		}
  9149  		if err := f(x); err != nil {
  9150  			return err
  9151  		}
  9152  		if x.NextPageToken == "" {
  9153  			return nil
  9154  		}
  9155  		c.googleadssearchads360v0services__searchsearchads360request.PageToken = x.NextPageToken
  9156  	}
  9157  }
  9158  
  9159  type SearchAds360FieldsGetCall struct {
  9160  	s            *Service
  9161  	resourceName string
  9162  	urlParams_   gensupport.URLParams
  9163  	ifNoneMatch_ string
  9164  	ctx_         context.Context
  9165  	header_      http.Header
  9166  }
  9167  
  9168  // Get: Returns just the requested field. List of thrown errors:
  9169  // AuthenticationError () [AuthorizationError]() HeaderError ()
  9170  // [InternalError]() QuotaError () [RequestError]()
  9171  //
  9172  // - resourceName: The resource name of the field to get.
  9173  func (r *SearchAds360FieldsService) Get(resourceName string) *SearchAds360FieldsGetCall {
  9174  	c := &SearchAds360FieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9175  	c.resourceName = resourceName
  9176  	return c
  9177  }
  9178  
  9179  // Fields allows partial responses to be retrieved. See
  9180  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9181  // details.
  9182  func (c *SearchAds360FieldsGetCall) Fields(s ...googleapi.Field) *SearchAds360FieldsGetCall {
  9183  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9184  	return c
  9185  }
  9186  
  9187  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9188  // object's ETag matches the given value. This is useful for getting updates
  9189  // only after the object has changed since the last request.
  9190  func (c *SearchAds360FieldsGetCall) IfNoneMatch(entityTag string) *SearchAds360FieldsGetCall {
  9191  	c.ifNoneMatch_ = entityTag
  9192  	return c
  9193  }
  9194  
  9195  // Context sets the context to be used in this call's Do method.
  9196  func (c *SearchAds360FieldsGetCall) Context(ctx context.Context) *SearchAds360FieldsGetCall {
  9197  	c.ctx_ = ctx
  9198  	return c
  9199  }
  9200  
  9201  // Header returns a http.Header that can be modified by the caller to add
  9202  // headers to the request.
  9203  func (c *SearchAds360FieldsGetCall) Header() http.Header {
  9204  	if c.header_ == nil {
  9205  		c.header_ = make(http.Header)
  9206  	}
  9207  	return c.header_
  9208  }
  9209  
  9210  func (c *SearchAds360FieldsGetCall) doRequest(alt string) (*http.Response, error) {
  9211  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9212  	if c.ifNoneMatch_ != "" {
  9213  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9214  	}
  9215  	var body io.Reader = nil
  9216  	c.urlParams_.Set("alt", alt)
  9217  	c.urlParams_.Set("prettyPrint", "false")
  9218  	urls := googleapi.ResolveRelative(c.s.BasePath, "v0/{+resourceName}")
  9219  	urls += "?" + c.urlParams_.Encode()
  9220  	req, err := http.NewRequest("GET", urls, body)
  9221  	if err != nil {
  9222  		return nil, err
  9223  	}
  9224  	req.Header = reqHeaders
  9225  	googleapi.Expand(req.URL, map[string]string{
  9226  		"resourceName": c.resourceName,
  9227  	})
  9228  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9229  }
  9230  
  9231  // Do executes the "searchads360.searchAds360Fields.get" call.
  9232  // Any non-2xx status code is an error. Response headers are in either
  9233  // *GoogleAdsSearchads360V0Resources__SearchAds360Field.ServerResponse.Header
  9234  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
  9235  // Use googleapi.IsNotModified to check whether the returned error was because
  9236  // http.StatusNotModified was returned.
  9237  func (c *SearchAds360FieldsGetCall) Do(opts ...googleapi.CallOption) (*GoogleAdsSearchads360V0Resources__SearchAds360Field, error) {
  9238  	gensupport.SetOptions(c.urlParams_, opts...)
  9239  	res, err := c.doRequest("json")
  9240  	if res != nil && res.StatusCode == http.StatusNotModified {
  9241  		if res.Body != nil {
  9242  			res.Body.Close()
  9243  		}
  9244  		return nil, gensupport.WrapError(&googleapi.Error{
  9245  			Code:   res.StatusCode,
  9246  			Header: res.Header,
  9247  		})
  9248  	}
  9249  	if err != nil {
  9250  		return nil, err
  9251  	}
  9252  	defer googleapi.CloseBody(res)
  9253  	if err := googleapi.CheckResponse(res); err != nil {
  9254  		return nil, gensupport.WrapError(err)
  9255  	}
  9256  	ret := &GoogleAdsSearchads360V0Resources__SearchAds360Field{
  9257  		ServerResponse: googleapi.ServerResponse{
  9258  			Header:         res.Header,
  9259  			HTTPStatusCode: res.StatusCode,
  9260  		},
  9261  	}
  9262  	target := &ret
  9263  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9264  		return nil, err
  9265  	}
  9266  	return ret, nil
  9267  }
  9268  
  9269  type SearchAds360FieldsSearchCall struct {
  9270  	s                                                                *Service
  9271  	googleadssearchads360v0services__searchsearchads360fieldsrequest *GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsRequest
  9272  	urlParams_                                                       gensupport.URLParams
  9273  	ctx_                                                             context.Context
  9274  	header_                                                          http.Header
  9275  }
  9276  
  9277  // Search: Returns all fields that match the search query
  9278  // (/search-ads/reporting/concepts/field-service#use_a_query_to_get_field_detail
  9279  // s). List of thrown errors: AuthenticationError () [AuthorizationError]()
  9280  // HeaderError () [InternalError]() QueryError () [QuotaError]() RequestError
  9281  // ()
  9282  func (r *SearchAds360FieldsService) Search(googleadssearchads360v0services__searchsearchads360fieldsrequest *GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsRequest) *SearchAds360FieldsSearchCall {
  9283  	c := &SearchAds360FieldsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9284  	c.googleadssearchads360v0services__searchsearchads360fieldsrequest = googleadssearchads360v0services__searchsearchads360fieldsrequest
  9285  	return c
  9286  }
  9287  
  9288  // Fields allows partial responses to be retrieved. See
  9289  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9290  // details.
  9291  func (c *SearchAds360FieldsSearchCall) Fields(s ...googleapi.Field) *SearchAds360FieldsSearchCall {
  9292  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9293  	return c
  9294  }
  9295  
  9296  // Context sets the context to be used in this call's Do method.
  9297  func (c *SearchAds360FieldsSearchCall) Context(ctx context.Context) *SearchAds360FieldsSearchCall {
  9298  	c.ctx_ = ctx
  9299  	return c
  9300  }
  9301  
  9302  // Header returns a http.Header that can be modified by the caller to add
  9303  // headers to the request.
  9304  func (c *SearchAds360FieldsSearchCall) Header() http.Header {
  9305  	if c.header_ == nil {
  9306  		c.header_ = make(http.Header)
  9307  	}
  9308  	return c.header_
  9309  }
  9310  
  9311  func (c *SearchAds360FieldsSearchCall) doRequest(alt string) (*http.Response, error) {
  9312  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9313  	var body io.Reader = nil
  9314  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleadssearchads360v0services__searchsearchads360fieldsrequest)
  9315  	if err != nil {
  9316  		return nil, err
  9317  	}
  9318  	c.urlParams_.Set("alt", alt)
  9319  	c.urlParams_.Set("prettyPrint", "false")
  9320  	urls := googleapi.ResolveRelative(c.s.BasePath, "v0/searchAds360Fields:search")
  9321  	urls += "?" + c.urlParams_.Encode()
  9322  	req, err := http.NewRequest("POST", urls, body)
  9323  	if err != nil {
  9324  		return nil, err
  9325  	}
  9326  	req.Header = reqHeaders
  9327  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9328  }
  9329  
  9330  // Do executes the "searchads360.searchAds360Fields.search" call.
  9331  // Any non-2xx status code is an error. Response headers are in either
  9332  // *GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsResponse.ServerResp
  9333  // onse.Header or (if a response was returned at all) in
  9334  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9335  // whether the returned error was because http.StatusNotModified was returned.
  9336  func (c *SearchAds360FieldsSearchCall) Do(opts ...googleapi.CallOption) (*GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsResponse, error) {
  9337  	gensupport.SetOptions(c.urlParams_, opts...)
  9338  	res, err := c.doRequest("json")
  9339  	if res != nil && res.StatusCode == http.StatusNotModified {
  9340  		if res.Body != nil {
  9341  			res.Body.Close()
  9342  		}
  9343  		return nil, gensupport.WrapError(&googleapi.Error{
  9344  			Code:   res.StatusCode,
  9345  			Header: res.Header,
  9346  		})
  9347  	}
  9348  	if err != nil {
  9349  		return nil, err
  9350  	}
  9351  	defer googleapi.CloseBody(res)
  9352  	if err := googleapi.CheckResponse(res); err != nil {
  9353  		return nil, gensupport.WrapError(err)
  9354  	}
  9355  	ret := &GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsResponse{
  9356  		ServerResponse: googleapi.ServerResponse{
  9357  			Header:         res.Header,
  9358  			HTTPStatusCode: res.StatusCode,
  9359  		},
  9360  	}
  9361  	target := &ret
  9362  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9363  		return nil, err
  9364  	}
  9365  	return ret, nil
  9366  }
  9367  
  9368  // Pages invokes f for each page of results.
  9369  // A non-nil error returned from f will halt the iteration.
  9370  // The provided context supersedes any context provided to the Context method.
  9371  func (c *SearchAds360FieldsSearchCall) Pages(ctx context.Context, f func(*GoogleAdsSearchads360V0Services__SearchSearchAds360FieldsResponse) error) error {
  9372  	c.ctx_ = ctx
  9373  	defer func(pt string) { c.googleadssearchads360v0services__searchsearchads360fieldsrequest.PageToken = pt }(c.googleadssearchads360v0services__searchsearchads360fieldsrequest.PageToken)
  9374  	for {
  9375  		x, err := c.Do()
  9376  		if err != nil {
  9377  			return err
  9378  		}
  9379  		if err := f(x); err != nil {
  9380  			return err
  9381  		}
  9382  		if x.NextPageToken == "" {
  9383  			return nil
  9384  		}
  9385  		c.googleadssearchads360v0services__searchsearchads360fieldsrequest.PageToken = x.NextPageToken
  9386  	}
  9387  }
  9388  

View as plain text