// Copyright 2022 Luca Casonato. All rights reserved. MIT license. /** * Search Ads 360 Reporting API Client for Deno * ============================================ * * The Search Ads 360 API allows developers to automate downloading reports from Search Ads 360. * * Docs: https://developers.google.com/search-ads/reporting * Source: https://googleapis.deno.dev/v1/searchads360:v23.ts */ import { auth, CredentialsClient, GoogleAuth, request } from "/_/base@v1/mod.ts"; export { auth, GoogleAuth }; export type { CredentialsClient }; /** * The Search Ads 360 API allows developers to automate downloading reports * from Search Ads 360. */ export class SearchAds360 { #client: CredentialsClient | undefined; #baseUrl: string; constructor(client?: CredentialsClient, baseUrl: string = "https://searchads360.googleapis.com/") { this.#client = client; this.#baseUrl = baseUrl; } /** * Lists date ranges for which audience insights data can be requested. List * of thrown errors: [AuthenticationError]() [AuthorizationError]() * [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() * [RangeError]() [RequestError]() * */ async audienceInsightsListInsightsEligibleDates(req: GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest): Promise { const url = new URL(`${this.#baseUrl}v23/audienceInsights:listInsightsEligibleDates`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse; } /** * Creates, updates, or removes account budget proposals. Operation statuses * are returned. List of thrown errors: [AccountBudgetProposalError]() * [AuthenticationError]() [AuthorizationError]() [DatabaseError]() * [DateError]() [FieldError]() [FieldMaskError]() [HeaderError]() * [InternalError]() [MutateError]() [QuotaError]() [RequestError]() * [StringLengthError]() * * @param customerId Required. The ID of the customer. */ async customersAccountBudgetProposalsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/accountBudgetProposals:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse; } /** * Creates an account link. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() * [InternalError]() [MutateError]() [QuotaError]() [RequestError]() * [ThirdPartyAppAnalyticsLinkError]() * * @param customerId Required. The ID of the customer for which the account link is created. */ async customersAccountLinksCreate(customerId: string, req: GoogleAdsSearchads360V23Services__CreateAccountLinkRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__CreateAccountLinkRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/accountLinks:create`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__CreateAccountLinkResponse; } /** * Creates or removes an account link. From V5, create is not supported * through AccountLinkService.MutateAccountLink. Use * AccountLinkService.CreateAccountLink instead. List of thrown errors: * [AccountLinkError]() [AuthenticationError]() [AuthorizationError]() * [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() * [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer being modified. */ async customersAccountLinksMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAccountLinkRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAccountLinkRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/accountLinks:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAccountLinkResponse; } /** * Creates and removes ad group ad labels. Operation statuses are returned. * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() * [MutateError]() [NewResourceCreationError]() [QuotaError]() * [RequestError]() * * @param customerId Required. ID of the customer whose ad group ad labels are being modified. */ async customersAdGroupAdLabelsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/adGroupAdLabels:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse; } /** * Creates, updates, or removes ads. Operation statuses are returned. List of * thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() * [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() * [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() * [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() * [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() * [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() * [ImageError]() [InternalError]() [ListOperationError]() * [MediaBundleError]() [MediaFileError]() [MutateError]() * [NewResourceCreationError]() [NotEmptyError]() [NullError]() * [OperationAccessDeniedError]() [OperatorError]() [PolicyFindingError]() * [PolicyValidationParameterError]() [PolicyViolationError]() [QuotaError]() * [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() * [SizeLimitError]() [StringFormatError]() [StringLengthError]() * [UrlFieldError]() * * @param customerId Required. The ID of the customer whose ads are being modified. */ async customersAdGroupAdsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/adGroupAds:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse(data); } /** * Remove automatically created assets from an ad. List of thrown errors: * [AdError]() [AuthenticationError]() [AuthorizationError]() * [AutomaticallyCreatedAssetRemovalError]() [HeaderError]() [InternalError]() * [MutateError]() [QuotaError]() [RequestError]() * * @param adGroupAd Required. The resource name of the AdGroupAd from which to remove automatically created assets. */ async customersAdGroupAdsRemoveAutomaticallyCreatedAssets(adGroupAd: string, req: GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/${ adGroupAd }:removeAutomaticallyCreatedAssets`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleProtobuf__Empty; } /** * Creates, or removes ad group asset sets. Operation statuses are returned. * * @param customerId Required. The ID of the customer whose ad group asset sets are being modified. */ async customersAdGroupAssetSetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/adGroupAssetSets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse; } /** * Creates, updates, or removes ad group assets. Operation statuses are * returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() * [AuthorizationError]() [ContextError]() [FieldError]() [HeaderError]() * [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() * [RequestError]() * * @param customerId Required. The ID of the customer whose ad group assets are being modified. */ async customersAdGroupAssetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/adGroupAssets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse; } /** * Creates, updates, or removes ad group bid modifiers. Operation statuses * are returned. List of thrown errors: [AdGroupBidModifierError]() * [AuthenticationError]() [AuthorizationError]() [ContextError]() * [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() * [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() * [MutateError]() [NewResourceCreationError]() [NotEmptyError]() * [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() * [ResourceCountLimitExceededError]() [SizeLimitError]() * [StringFormatError]() [StringLengthError]() * * @param customerId Required. ID of the customer whose ad group bid modifiers are being modified. */ async customersAdGroupBidModifiersMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/adGroupBidModifiers:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse(data); } /** * Creates, updates, or removes criteria. Operation statuses are returned. * List of thrown errors: [AdGroupCriterionError]() [AdxError]() * [AuthenticationError]() [AuthorizationError]() [BiddingError]() * [BiddingStrategyError]() [CollectionSizeError]() [ContextError]() * [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() * [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() * [InternalError]() [MultiplierError]() [MutateError]() * [NewResourceCreationError]() [NotEmptyError]() [NullError]() * [OperationAccessDeniedError]() [OperatorError]() [PolicyViolationError]() * [QuotaError]() [RangeError]() [RequestError]() * [ResourceCountLimitExceededError]() [SizeLimitError]() * [StringFormatError]() [StringLengthError]() [UrlFieldError]() * * @param customerId Required. ID of the customer whose criteria are being modified. */ async customersAdGroupCriteriaMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/adGroupCriteria:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse(data); } /** * Creates, updates or removes ad group criterion customizers. Operation * statuses are returned. * * @param customerId Required. The ID of the customer whose ad group criterion customizers are being modified. */ async customersAdGroupCriterionCustomizersMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/AdGroupCriterionCustomizers:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse; } /** * Creates and removes ad group criterion labels. Operation statuses are * returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() * [InternalError]() [QuotaError]() [RequestError]() * * @param customerId Required. ID of the customer whose ad group criterion labels are being modified. */ async customersAdGroupCriterionLabelsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/adGroupCriterionLabels:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse; } /** * Creates, updates or removes ad group customizers. Operation statuses are * returned. * * @param customerId Required. The ID of the customer whose ad group customizers are being modified. */ async customersAdGroupCustomizersMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/adGroupCustomizers:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse; } /** * Creates and removes ad group labels. Operation statuses are returned. List * of thrown errors: [AuthenticationError]() [AuthorizationError]() * [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() * [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() * [RequestError]() * * @param customerId Required. ID of the customer whose ad group labels are being modified. */ async customersAdGroupLabelsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/adGroupLabels:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse; } /** * Creates, updates, or removes ad groups. Operation statuses are returned. * List of thrown errors: [AdGroupError]() [AdxError]() * [AuthenticationError]() [AuthorizationError]() [BiddingError]() * [BiddingStrategyError]() [DatabaseError]() [DateError]() [DistinctError]() * [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() * [InternalError]() [ListOperationError]() [MultiplierError]() * [MutateError]() [NewResourceCreationError]() [NotEmptyError]() * [NullError]() [OperationAccessDeniedError]() [OperatorError]() * [QuotaError]() [RangeError]() [RequestError]() * [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() * [StringFormatError]() [StringLengthError]() [UrlFieldError]() * * @param customerId Required. The ID of the customer whose ad groups are being modified. */ async customersAdGroupsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdGroupsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAdGroupsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/adGroups:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateAdGroupsResponse(data); } /** * Creates, updates, or removes ad parameters. Operation statuses are * returned. List of thrown errors: [AdParameterError]() * [AuthenticationError]() [AuthorizationError]() [ContextError]() * [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() * [InternalError]() [MutateError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer whose ad parameters are being modified. */ async customersAdParametersMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdParametersRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAdParametersRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/adParameters:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateAdParametersResponse(data); } /** * Updates ads. Operation statuses are returned. Updating ads is not * supported for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. List of * thrown errors: [AdCustomizerError]() [AdError]() [AdSharingError]() * [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() * [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() * [DateError]() [DistinctError]() [FeedAttributeReferenceError]() * [FieldError]() [FieldMaskError]() [FunctionError]() * [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() * [InternalError]() [ListOperationError]() [MediaBundleError]() * [MediaFileError]() [MutateError]() [NewResourceCreationError]() * [NotEmptyError]() [NullError]() [OperatorError]() [PolicyFindingError]() * [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() * [SizeLimitError]() [StringFormatError]() [StringLengthError]() * [UrlFieldError]() * * @param customerId Required. The ID of the customer whose ads are being modified. */ async customersAdsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAdsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAdsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/ads:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateAdsResponse(data); } /** * Creates, updates or removes asset group assets. Operation statuses are * returned. * * @param customerId Required. The ID of the customer whose asset group assets are being modified. */ async customersAssetGroupAssetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/assetGroupAssets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse; } /** * Creates, updates or removes asset group listing group filters. Operation * statuses are returned. * * @param customerId Required. The ID of the customer whose asset group listing group filters are being modified. */ async customersAssetGroupListingGroupFiltersMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/assetGroupListingGroupFilters:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse(data); } /** * Creates or removes asset group signals. Operation statuses are returned. * * @param customerId Required. The ID of the customer whose asset group signals are being modified. */ async customersAssetGroupSignalsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/assetGroupSignals:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse; } /** * Creates, updates or removes asset groups. Operation statuses are returned. * * @param customerId Required. The ID of the customer whose asset groups are being modified. */ async customersAssetGroupsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAssetGroupsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/assetGroups:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse; } /** * Creates, updates or removes asset set assets. Operation statuses are * returned. * * @param customerId Required. The ID of the customer whose asset set assets are being modified. */ async customersAssetSetAssetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/assetSetAssets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse; } /** * Creates, updates or removes asset sets. Operation statuses are returned. * * @param customerId Required. The ID of the customer whose asset sets are being modified. */ async customersAssetSetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAssetSetsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAssetSetsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/assetSets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateAssetSetsResponse(data); } /** * Creates assets. Operation statuses are returned. List of thrown errors: * [AssetError]() [AuthenticationError]() [AuthorizationError]() * [CollectionSizeError]() [CurrencyCodeError]() [DatabaseError]() * [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() * [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() * [MediaUploadError]() [MutateError]() [NotAllowlistedError]() * [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() * [RequestError]() [SizeLimitError]() [StringFormatError]() * [StringLengthError]() [UrlFieldError]() [YoutubeVideoRegistrationError]() * * @param customerId Required. The ID of the customer whose assets are being modified. */ async customersAssetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAssetsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAssetsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/assets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateAssetsResponse(data); } /** * Creates audiences. Operation statuses are returned. List of thrown errors: * [AudienceError]() * * @param customerId Required. The ID of the customer whose audiences are being modified. */ async customersAudiencesMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateAudiencesRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateAudiencesRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/audiences:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateAudiencesResponse; } /** * Add operations to the batch job. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [BatchJobError]() * [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() * [ResourceCountLimitExceededError]() * * @param resourceName Required. The resource name of the batch job. */ async customersBatchJobsAddOperations(resourceName: string, req: GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest(req); const url = new URL(`${this.#baseUrl}v23/${ resourceName }:addOperations`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse(data); } /** * Returns the results of the batch job. The job must be done. Supports * standard list paging. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() * [QuotaError]() [RequestError]() * * @param resourceName Required. The resource name of the batch job whose results are being listed. */ async customersBatchJobsListResults(resourceName: string, opts: CustomersBatchJobsListResultsOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }:listResults`); if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } if (opts.responseContentType !== undefined) { url.searchParams.append("responseContentType", String(opts.responseContentType)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return deserializeGoogleAdsSearchads360V23Services__ListBatchJobResultsResponse(data); } /** * Mutates a batch job. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() [ResourceCountLimitExceededError]() * * @param customerId Required. The ID of the customer for which to create a batch job. */ async customersBatchJobsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateBatchJobRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/batchJobs:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateBatchJobResponse; } /** * Runs the batch job. The Operation.metadata field type is BatchJobMetadata. * When finished, the long running operation will not contain errors or a * response. Instead, use ListBatchJobResults to get the results of the job. * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() * * @param resourceName Required. The resource name of the BatchJob to run. */ async customersBatchJobsRun(resourceName: string, req: GoogleAdsSearchads360V23Services__RunBatchJobRequest): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }:run`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleLongrunning__Operation; } /** * Creates, updates, or removes data exclusions. Operation statuses are * returned. * * @param customerId Required. ID of the customer whose data exclusions are being modified. */ async customersBiddingDataExclusionsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/biddingDataExclusions:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse; } /** * Creates, updates, or removes seasonality adjustments. Operation statuses * are returned. * * @param customerId Required. ID of the customer whose seasonality adjustments are being modified. */ async customersBiddingSeasonalityAdjustmentsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/biddingSeasonalityAdjustments:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse; } /** * Creates, updates, or removes bidding strategies. Operation statuses are * returned. List of thrown errors: [AdxError]() [AuthenticationError]() * [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() * [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() * [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() * [InternalError]() [MutateError]() [NewResourceCreationError]() * [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() * [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() * [SizeLimitError]() [StringFormatError]() [StringLengthError]() * * @param customerId Required. The ID of the customer whose bidding strategies are being modified. */ async customersBiddingStrategiesMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/biddingStrategies:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse(data); } /** * Creates a billing setup, or cancels an existing billing setup. List of * thrown errors: [AuthenticationError]() [AuthorizationError]() * [BillingSetupError]() [DateError]() [FieldError]() [HeaderError]() * [InternalError]() [MutateError]() [QuotaError]() [RequestError]() * * @param customerId Required. Id of the customer to apply the billing setup mutate operation to. */ async customersBillingSetupsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateBillingSetupRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/billingSetups:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateBillingSetupResponse; } /** * Creates, updates or removes campaign asset sets. Operation statuses are * returned. * * @param customerId Required. The ID of the customer whose campaign asset sets are being modified. */ async customersCampaignAssetSetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignAssetSets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse; } /** * Creates or removes campaign assets. Operation statuses are returned. List * of thrown errors: [AssetLinkError]() [AuthenticationError]() * [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() * [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() * [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer whose campaign assets are being modified. */ async customersCampaignAssetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignAssets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse; } /** * Creates, updates, or removes campaign bid modifiers. Operation statuses * are returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [ContextError]() [CriterionError]() * [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() * [HeaderError]() [IdError]() [InternalError]() [MutateError]() * [NewResourceCreationError]() [NotEmptyError]() [NullError]() * [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() * [SizeLimitError]() [StringFormatError]() [StringLengthError]() * * @param customerId Required. ID of the customer whose campaign bid modifiers are being modified. */ async customersCampaignBidModifiersMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignBidModifiers:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse; } /** * Creates, updates, or removes campaign budgets. Operation statuses are * returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [CampaignBudgetError]() [DatabaseError]() * [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() * [InternalError]() [MutateError]() [NewResourceCreationError]() * [OperationAccessDeniedError]() [QuotaError]() [RangeError]() * [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]() * * @param customerId Required. The ID of the customer whose campaign budgets are being modified. */ async customersCampaignBudgetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignBudgets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse(data); } /** * Creates, updates or removes campaign conversion goals. Operation statuses * are returned. * * @param customerId Required. The ID of the customer whose campaign conversion goals are being modified. */ async customersCampaignConversionGoalsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignConversionGoals:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse; } /** * Creates, updates, or removes criteria. Operation statuses are returned. * List of thrown errors: [AdxError]() [AuthenticationError]() * [AuthorizationError]() [CampaignCriterionError]() [CollectionSizeError]() * [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() * [FieldError]() [FieldMaskError]() [FunctionError]() [HeaderError]() * [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() * [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() * [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() * [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() * [StringFormatError]() [StringLengthError]() * * @param customerId Required. The ID of the customer whose criteria are being modified. */ async customersCampaignCriteriaMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignCriteria:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse(data); } /** * Creates, updates or removes campaign customizers. Operation statuses are * returned. * * @param customerId Required. The ID of the customer whose campaign customizers are being modified. */ async customersCampaignCustomizersMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignCustomizers:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse; } /** * Returns all errors that occurred during CampaignDraft promote. Throws an * error if called before campaign draft is promoted. Supports standard list * paging. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() * * @param resourceName Required. The name of the campaign draft from which to retrieve the async errors. */ async customersCampaignDraftsListAsyncErrors(resourceName: string, opts: CustomersCampaignDraftsListAsyncErrorsOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }:listAsyncErrors`); if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse; } /** * Creates, updates, or removes campaign drafts. Operation statuses are * returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [CampaignDraftError]() [DatabaseError]() * [FieldError]() [HeaderError]() [InternalError]() [MutateError]() * [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer whose campaign drafts are being modified. */ async customersCampaignDraftsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignDrafts:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse; } /** * Promotes the changes in a draft back to the base campaign. This method * returns a Long Running Operation (LRO) indicating if the Promote is done. * Use google.longrunning.Operations.GetOperation to poll the LRO until it is * done. Only a done status is returned in the response. See the status in the * Campaign Draft resource to determine if the promotion was successful. If * the LRO failed, use CampaignDraftService.ListCampaignDraftAsyncErrors to * view the list of error reasons. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() * [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() * * @param campaignDraft Required. The resource name of the campaign draft to promote. */ async customersCampaignDraftsPromote(campaignDraft: string, req: GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest): Promise { const url = new URL(`${this.#baseUrl}v23/${ campaignDraft }:promote`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleLongrunning__Operation; } /** * Create or update campaign goal configs. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [HeaderError]() * [InternalError]() [QuotaError]() [RequestError]() * [CampaignGoalConfigError]() [GoalServicesError]() * * @param customerId Required. The ID of the customer whose campaign goal configs are being modified. */ async customersCampaignGoalConfigsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/CampaignGoalConfigs:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse; } /** * Creates, updates, or removes campaign groups. Operation statuses are * returned. * * @param customerId Required. The ID of the customer whose campaign groups are being modified. */ async customersCampaignGroupsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignGroups:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse; } /** * Creates and removes campaign-label relationships. Operation statuses are * returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() * [InternalError]() [LabelError]() [MutateError]() * [NewResourceCreationError]() [QuotaError]() [RequestError]() * * @param customerId Required. ID of the customer whose campaign-label relationships are being modified. */ async customersCampaignLabelsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignLabels:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse; } /** * Process the given campaign lifecycle configurations. List of thrown * errors: [AuthenticationError]() [AuthorizationError]() * [CampaignLifecycleGoalConfigError]() [HeaderError]() [InternalError]() * [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer performing the upload. */ async customersCampaignLifecycleGoalConfigureCampaignLifecycleGoals(customerId: string, req: GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignLifecycleGoal:configureCampaignLifecycleGoals`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse; } /** * Enables Brand Guidelines for Performance Max campaigns. List of thrown * errors: [AuthenticationError]() [AssetError]() [AssetLinkError]() * [AuthorizationError]() [BrandGuidelinesMigrationError]() [CampaignError]() * [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() * [RequestError]() [ResourceCountLimitExceededError]() * * @param customerId Required. The ID of the customer whose campaigns are being enabled. */ async customersCampaignsEnablePMaxBrandGuidelines(customerId: string, req: GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaigns:enablePMaxBrandGuidelines`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse; } /** * Creates or removes campaign shared sets. Operation statuses are returned. * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [CampaignSharedSetError]() [ContextError]() [DatabaseError]() [DateError]() * [DistinctError]() [FieldError]() [HeaderError]() [IdError]() * [InternalError]() [MutateError]() [NewResourceCreationError]() * [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() * [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() * [StringLengthError]() * * @param customerId Required. The ID of the customer whose campaign shared sets are being modified. */ async customersCampaignSharedSetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaignSharedSets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse; } /** * Creates, updates, or removes campaigns. Operation statuses are returned. * List of thrown errors: [AdxError]() [AuthenticationError]() * [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() * [CampaignBudgetError]() [CampaignError]() [ContextError]() * [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() * [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() * [InternalError]() [ListOperationError]() [MutateError]() * [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() * [NullError]() [OperationAccessDeniedError]() [OperatorError]() * [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() * [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() * [StringFormatError]() [StringLengthError]() [UrlFieldError]() * * @param customerId Required. The ID of the customer whose campaigns are being modified. */ async customersCampaignsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCampaignsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCampaignsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/campaigns:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateCampaignsResponse(data); } /** * Creates, updates or removes conversion actions. Operation statuses are * returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [ConversionActionError]() [CurrencyCodeError]() * [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() * [InternalError]() [MutateError]() [NewResourceCreationError]() * [QuotaError]() [RangeError]() [RequestError]() * [ResourceCountLimitExceededError]() [StringLengthError]() * * @param customerId Required. The ID of the customer whose conversion actions are being modified. */ async customersConversionActionsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateConversionActionsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateConversionActionsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/conversionActions:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateConversionActionsResponse(data); } /** * Creates or updates conversion custom variables. Operation statuses are * returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [ConversionCustomVariableError]() [DatabaseError]() * [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer whose conversion custom variables are being modified. */ async customersConversionCustomVariablesMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/conversionCustomVariables:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse; } /** * Creates, updates or removes conversion goal campaign config. Operation * statuses are returned. * * @param customerId Required. The ID of the customer whose custom conversion goals are being modified. */ async customersConversionGoalCampaignConfigsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/conversionGoalCampaignConfigs:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse; } /** * Creates, updates or removes conversion value rule sets. Operation statuses * are returned. * * @param customerId Required. The ID of the customer whose conversion value rule sets are being modified. */ async customersConversionValueRuleSetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/conversionValueRuleSets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse; } /** * Creates, updates, or removes conversion value rules. Operation statuses * are returned. * * @param customerId Required. The ID of the customer whose conversion value rules are being modified. */ async customersConversionValueRulesMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/conversionValueRules:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse; } /** * Creates a new client under manager. The new client customer is returned. * List of thrown errors: [AccessInvitationError]() [AuthenticationError]() * [AuthorizationError]() [CurrencyCodeError]() [HeaderError]() * [InternalError]() [ManagerLinkError]() [QuotaError]() [RequestError]() * [StringLengthError]() [TimeZoneError]() * * @param customerId Required. The ID of the Manager under whom client customer is being created. */ async customersCreateCustomerClient(customerId: string, req: GoogleAdsSearchads360V23Services__CreateCustomerClientRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:createCustomerClient`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__CreateCustomerClientResponse; } /** * Creates or updates custom audiences. Operation statuses are returned. List * of thrown errors: [AuthenticationError]() [AuthorizationError]() * [CustomAudienceError]() [CustomInterestError]() [FieldError]() * [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() * [OperationAccessDeniedError]() [PolicyViolationError]() [QuotaError]() * [RequestError]() * * @param customerId Required. The ID of the customer whose custom audiences are being modified. */ async customersCustomAudiencesMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customAudiences:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse; } /** * Returns the requested custom column in full detail. * * @param resourceName Required. The resource name of the custom column to fetch. */ async customersCustomColumnsGet(resourceName: string): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as GoogleAdsSearchads360V23Resources__CustomColumn; } /** * Returns all the custom columns associated with the customer in full * detail. * * @param customerId Required. The ID of the customer to apply the CustomColumn list operation to. */ async customersCustomColumnsList(customerId: string): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customColumns`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as GoogleAdsSearchads360V23Services__ListCustomColumnsResponse; } /** * Creates, updates or removes custom conversion goals. Operation statuses * are returned. * * @param customerId Required. The ID of the customer whose custom conversion goals are being modified. */ async customersCustomConversionGoalsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customConversionGoals:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse(data); } /** * Creates, or removes customer asset sets. Operation statuses are returned. * * @param customerId Required. The ID of the customer whose customer asset sets are being modified. */ async customersCustomerAssetSetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerAssetSets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse; } /** * Creates, updates, or removes customer assets. Operation statuses are * returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() * [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() * [MutateError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer whose customer assets are being modified. */ async customersCustomerAssetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerAssets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse; } /** * Creates or updates a customer client link. Operation statuses are * returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() * [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() * [NewResourceCreationError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer whose customer link are being modified. */ async customersCustomerClientLinksMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerClientLinks:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse; } /** * Creates, updates or removes customer conversion goals. Operation statuses * are returned. * * @param customerId Required. The ID of the customer whose customer conversion goals are being modified. */ async customersCustomerConversionGoalsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerConversionGoals:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse; } /** * Creates, updates or removes customer customizers. Operation statuses are * returned. * * @param customerId Required. The ID of the customer whose customer customizers are being modified. */ async customersCustomerCustomizersMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/CustomerCustomizers:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse; } /** * Creates and removes customer-label relationships. Operation statuses are * returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() * [LabelError]() [MutateError]() [QuotaError]() [RequestError]() * * @param customerId Required. ID of the customer whose customer-label relationships are being modified. */ async customersCustomerLabelsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerLabels:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse; } /** * Process the given customer lifecycle configurations. List of thrown * errors: [AuthenticationError]() [AuthorizationError]() * [CustomerLifecycleGoalConfigError]() [HeaderError]() [InternalError]() * [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer performing the upload. */ async customersCustomerLifecycleGoalConfigureCustomerLifecycleGoals(customerId: string, req: GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerLifecycleGoal:configureCustomerLifecycleGoals`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse; } /** * Moves a client customer to a new manager customer. This simplifies the * complex request that requires two operations to move a client customer to a * new manager, for example: 1. Update operation with Status INACTIVE * (previous manager) and, 2. Update operation with Status ACTIVE (new * manager). List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() * [InternalError]() [MutateError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the client customer that is being moved. */ async customersCustomerManagerLinksMoveManagerLink(customerId: string, req: GoogleAdsSearchads360V23Services__MoveManagerLinkRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerManagerLinks:moveManagerLink`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MoveManagerLinkResponse; } /** * Updates customer manager links. Operation statuses are returned. List of * thrown errors: [AuthenticationError]() [AuthorizationError]() * [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() * [InternalError]() [ManagerLinkError]() [MutateError]() [QuotaError]() * [RequestError]() * * @param customerId Required. The ID of the customer whose customer manager links are being modified. */ async customersCustomerManagerLinksMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerManagerLinks:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse; } /** * Creates or removes criteria. Operation statuses are returned. List of * thrown errors: [AuthenticationError]() [AuthorizationError]() * [CriterionError]() [DatabaseError]() [FieldError]() [HeaderError]() * [InternalError]() [MutateError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer whose criteria are being modified. */ async customersCustomerNegativeCriteriaMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerNegativeCriteria:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse; } /** * Creates or updates the CustomerSkAdNetworkConversionValueSchema. List of * thrown errors: [AuthenticationError]() [AuthorizationError]() * [FieldError]() [InternalError]() [MutateError]() * * @param customerId The ID of the customer whose shared sets are being modified. */ async customersCustomerSkAdNetworkConversionValueSchemasMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerSkAdNetworkConversionValueSchemas:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse; } /** * Updates, removes permission of a user on a given customer. Operation * statuses are returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [CustomerUserAccessError]() [FieldMaskError]() * [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() * [RequestError]() * * @param customerId Required. The ID of the customer being modified. */ async customersCustomerUserAccessesMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerUserAccesses:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse; } /** * Creates or removes an access invitation. List of thrown errors: * [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() * [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer whose access invitation is being modified. */ async customersCustomerUserAccessInvitationsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customerUserAccessInvitations:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse; } /** * Creates or updates custom interests. Operation statuses are returned. List * of thrown errors: [AuthenticationError]() [AuthorizationError]() * [CriterionError]() [CustomInterestError]() [HeaderError]() * [InternalError]() [MutateError]() [PolicyViolationError]() [QuotaError]() * [RequestError]() [StringLengthError]() * * @param customerId Required. The ID of the customer whose custom interests are being modified. */ async customersCustomInterestsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCustomInterestsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customInterests:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse; } /** * Creates, updates or removes customizer attributes. Operation statuses are * returned. * * @param customerId Required. The ID of the customer whose customizer attributes are being modified. */ async customersCustomizerAttributesMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/customizerAttributes:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse; } /** * Creates a data link. The requesting Google Ads account name and account ID * will be shared with the third party (such as YouTube creators for video * links) to whom you are creating the link with. Only customers on the * allow-list can create data links. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [DatabaseError]() * [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() * [MutateError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer for which the data link is created. */ async customersDataLinksCreate(customerId: string, req: GoogleAdsSearchads360V23Services__CreateDataLinkRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/dataLinks:create`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__CreateDataLinkResponse; } /** * Remove a data link. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() * [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() * [RequestError]() * * @param customerId Required. The ID of the customer for which the data link is updated. */ async customersDataLinksRemove(customerId: string, req: GoogleAdsSearchads360V23Services__RemoveDataLinkRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/dataLinks:remove`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__RemoveDataLinkResponse; } /** * Update a data link. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() * [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() * [RequestError]() * * @param customerId Required. The ID of the customer for which the data link is created. */ async customersDataLinksUpdate(customerId: string, req: GoogleAdsSearchads360V23Services__UpdateDataLinkRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/dataLinks:update`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__UpdateDataLinkResponse; } /** * Creates, updates, or removes experiment arms. Operation statuses are * returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [ExperimentArmError]() [HeaderError]() * [InternalError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer whose experiments are being modified. */ async customersExperimentArmsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateExperimentArmsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/experimentArms:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateExperimentArmsResponse(data); } /** * Immediately ends an experiment, changing the experiment's scheduled end * date and without waiting for end of day. End date is updated to be the time * of the request. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [ExperimentError]() [HeaderError]() * [InternalError]() [QuotaError]() [RequestError]() * * @param experiment Required. The resource name of the campaign experiment to end. */ async customersExperimentsEndExperiment(experiment: string, req: GoogleAdsSearchads360V23Services__EndExperimentRequest): Promise { const url = new URL(`${this.#baseUrl}v23/${ experiment }:endExperiment`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleProtobuf__Empty; } /** * Graduates an experiment to a full campaign. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [ExperimentError]() * [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() * [RequestError]() * * @param experiment Required. The experiment to be graduated. */ async customersExperimentsGraduateExperiment(experiment: string, req: GoogleAdsSearchads360V23Services__GraduateExperimentRequest): Promise { const url = new URL(`${this.#baseUrl}v23/${ experiment }:graduateExperiment`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleProtobuf__Empty; } /** * Returns all errors that occurred during the last Experiment update (either * scheduling or promotion). Supports standard list paging. List of thrown * errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() * [InternalError]() [QuotaError]() [RequestError]() * * @param resourceName Required. The name of the experiment from which to retrieve the async errors. */ async customersExperimentsListExperimentAsyncErrors(resourceName: string, opts: CustomersExperimentsListExperimentAsyncErrorsOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }:listExperimentAsyncErrors`); if (opts.pageSize !== undefined) { url.searchParams.append("pageSize", String(opts.pageSize)); } if (opts.pageToken !== undefined) { url.searchParams.append("pageToken", String(opts.pageToken)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse; } /** * Creates, updates, or removes experiments. Operation statuses are returned. * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() * * @param customerId Required. The ID of the customer whose experiments are being modified. */ async customersExperimentsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateExperimentsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateExperimentsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/experiments:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateExperimentsResponse; } /** * Promotes the trial campaign thus applying changes in the trial campaign to * the base campaign. This method returns a long running operation that tracks * the promotion of the experiment campaign. If it fails, a list of errors can * be retrieved using the ListExperimentAsyncErrors method. The operation's * metadata will be a string containing the resource name of the created * experiment. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [ExperimentError]() [HeaderError]() * [InternalError]() [QuotaError]() [RequestError]() * * @param resourceName Required. The resource name of the experiment to promote. */ async customersExperimentsPromoteExperiment(resourceName: string, req: GoogleAdsSearchads360V23Services__PromoteExperimentRequest): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }:promoteExperiment`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleLongrunning__Operation; } /** * Schedule an experiment. The in design campaign will be converted into a * real campaign (called the experiment campaign) that will begin serving ads * if successfully created. The experiment is scheduled immediately with * status INITIALIZING. This method returns a long running operation that * tracks the forking of the in design campaign. If the forking fails, a list * of errors can be retrieved using the ListExperimentAsyncErrors method. The * operation's metadata will be a string containing the resource name of the * created experiment. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [ExperimentError]() [DatabaseError]() [DateError]() * [DateRangeError]() [FieldError]() [HeaderError]() [InternalError]() * [QuotaError]() [RangeError]() [RequestError]() * * @param resourceName Required. The scheduled experiment. */ async customersExperimentsScheduleExperiment(resourceName: string, req: GoogleAdsSearchads360V23Services__ScheduleExperimentRequest): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }:scheduleExperiment`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleLongrunning__Operation; } /** * Returns a list of suggested AdGroups and suggested modifications (text, * match type) for the given keywords. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() * [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer. */ async customersGenerateAdGroupThemes(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateAdGroupThemes`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse; } /** * Returns a collection of attributes that are represented in an audience of * interest, with metrics that compare each attribute's share of the audience * with its share of a baseline audience. List of thrown errors: * [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() * [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() * [RangeError]() [RequestError]() * * @param customerId Required. The ID of the customer. */ async customersGenerateAudienceCompositionInsights(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateAudienceCompositionInsights`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse(data); } /** * Returns a collection of audience attributes using generative AI based on * the provided audience description. List of thrown errors: * [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() * [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() * * @param customerId Required. The ID of the customer. */ async customersGenerateAudienceDefinition(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateAudienceDefinition`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse(data); } /** * Returns a collection of audience attributes along with estimates of the * overlap between their potential YouTube reach and that of a given input * attribute. List of thrown errors: [AudienceInsightsError]() * [AuthenticationError]() [AuthorizationError]() [FieldError]() * [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() * [RequestError]() * * @param customerId Required. The ID of the customer. */ async customersGenerateAudienceOverlapInsights(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateAudienceOverlapInsights`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse(data); } /** * Returns YouTube advertisement metrics for the given client against * industry benchmarks. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [BenchmarksError]() [FieldError]() [HeaderError]() * [InternalError]() [QuotaError]() [RangeError]() [RequestError]() * * @param customerId Required. The ID of the customer. Supply a client customer ID to generate metrics for the customer. A manager account customer ID will not return customer metrics since it does not have any associated direct ad campaigns. */ async customersGenerateBenchmarksMetrics(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateBenchmarksMetrics`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse; } /** * Creates a saved report that can be viewed in the Insights Finder tool. * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() * [RangeError]() [RequestError]() * * @param customerId Required. The ID of the customer. */ async customersGenerateInsightsFinderReport(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateInsightsFinderReport`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse; } /** * Returns metrics (such as impressions, clicks, total cost) of a keyword * forecast for the given campaign. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() * [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() * * @param customerId The ID of the customer. */ async customersGenerateKeywordForecastMetrics(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateKeywordForecastMetrics`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse(data); } /** * Returns a list of keyword historical metrics. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() * [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() * * @param customerId The ID of the customer with the recommendation. */ async customersGenerateKeywordHistoricalMetrics(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateKeywordHistoricalMetrics`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse(data); } /** * Returns a list of keyword ideas. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() * [HeaderError]() [InternalError]() [KeywordPlanIdeaError]() [QuotaError]() * [RequestError]() * * @param customerId The ID of the customer with the recommendation. */ async customersGenerateKeywordIdeas(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateKeywordIdeas`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse(data); } /** * Generates a reach forecast for a given targeting / product mix. List of * thrown errors: [AuthenticationError]() [AuthorizationError]() * [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() * [RangeError]() [ReachPlanError]() [RequestError]() * * @param customerId Required. The ID of the customer. */ async customersGenerateReachForecast(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateReachForecastRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__GenerateReachForecastRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateReachForecast`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__GenerateReachForecastResponse(data); } /** * Returns a collection of targeting insights (e.g. targetable audiences) * that are relevant to the requested audience. List of thrown errors: * [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() * [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() * [RangeError]() [RequestError]() * * @param customerId Required. The ID of the customer. */ async customersGenerateSuggestedTargetingInsights(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateSuggestedTargetingInsights`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse(data); } /** * Returns potential reach metrics for targetable audiences. This method * helps answer questions like "How many Men aged 18+ interested in Camping * can be reached on YouTube?" List of thrown errors: * [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() * [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() * [RangeError]() [RequestError]() * * @param customerId Required. The ID of the customer. */ async customersGenerateTargetingSuggestionMetrics(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:generateTargetingSuggestionMetrics`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse(data); } /** * Returns Identity Verification information. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [HeaderError]() * [InternalError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer for whom we are requesting verification information. */ async customersGetIdentityVerification(customerId: string): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/getIdentityVerification`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse; } /** * Create or update goals. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() [GoalError]() [GoalServicesError]() * * @param customerId Required. The ID of the customer whose goals are being modified. */ async customersGoalsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateGoalsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateGoalsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/Goals:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateGoalsResponse; } /** * Applies the incentive for the ads customer. * * @param customerId The customer ID of the account that the incentive is being applied to. * @param selectedIncentiveId The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow. */ async customersIncentivesApplyIncentive(customerId: string, selectedIncentiveId: bigint, req: GoogleAdsSearchads360V23Services__ApplyIncentiveRequest): Promise { selectedIncentiveId = String(selectedIncentiveId); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/incentives/${ selectedIncentiveId }:applyIncentive`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__ApplyIncentiveResponse; } /** * Returns all invoices associated with a billing setup, for a given month. * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [FieldError]() [HeaderError]() [InternalError]() [InvoiceError]() * [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer to fetch invoices for. */ async customersInvoicesList(customerId: string, opts: CustomersInvoicesListOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/invoices`); if (opts.billingSetup !== undefined) { url.searchParams.append("billingSetup", String(opts.billingSetup)); } if (opts.includeGranularLevelInvoiceDetails !== undefined) { url.searchParams.append("includeGranularLevelInvoiceDetails", String(opts.includeGranularLevelInvoiceDetails)); } if (opts.issueMonth !== undefined) { url.searchParams.append("issueMonth", String(opts.issueMonth)); } if (opts.issueYear !== undefined) { url.searchParams.append("issueYear", String(opts.issueYear)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return data as GoogleAdsSearchads360V23Services__ListInvoicesResponse; } /** * Creates, updates, or removes Keyword Plan ad group keywords. Operation * statuses are returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() * [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanError]() * [MutateError]() [QuotaError]() [RequestError]() * [ResourceCountLimitExceededError]() * * @param customerId Required. The ID of the customer whose Keyword Plan ad group keywords are being modified. */ async customersKeywordPlanAdGroupKeywordsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/keywordPlanAdGroupKeywords:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse; } /** * Creates, updates, or removes Keyword Plan ad groups. Operation statuses * are returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() * [HeaderError]() [InternalError]() [KeywordPlanAdGroupError]() * [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() * [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() * * @param customerId Required. The ID of the customer whose Keyword Plan ad groups are being modified. */ async customersKeywordPlanAdGroupsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/keywordPlanAdGroups:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse; } /** * Creates, updates, or removes Keyword Plan campaign keywords. Operation * statuses are returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() * [InternalError]() [KeywordPlanAdGroupKeywordError]() * [KeywordPlanCampaignKeywordError]() [QuotaError]() [RequestError]() * [ResourceCountLimitExceededError]() * * @param customerId Required. The ID of the customer whose campaign keywords are being modified. */ async customersKeywordPlanCampaignKeywordsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/keywordPlanCampaignKeywords:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse; } /** * Creates, updates, or removes Keyword Plan campaigns. Operation statuses * are returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() * [HeaderError]() [InternalError]() [KeywordPlanCampaignError]() * [KeywordPlanError]() [ListOperationError]() [MutateError]() [QuotaError]() * [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() * * @param customerId Required. The ID of the customer whose Keyword Plan campaigns are being modified. */ async customersKeywordPlanCampaignsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/keywordPlanCampaigns:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse; } /** * Creates, updates, or removes keyword plans. Operation statuses are * returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() * [InternalError]() [KeywordPlanError]() [MutateError]() * [NewResourceCreationError]() [QuotaError]() [RequestError]() * [ResourceCountLimitExceededError]() [StringLengthError]() * * @param customerId Required. The ID of the customer whose keyword plans are being modified. */ async customersKeywordPlansMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateKeywordPlansRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/keywordPlans:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse; } /** * Creates, updates, or removes labels. Operation statuses are returned. List * of thrown errors: [AuthenticationError]() [AuthorizationError]() * [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() * [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() * [LabelError]() [MutateError]() [NewResourceCreationError]() * [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() * [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() * [SizeLimitError]() [StringFormatError]() [StringLengthError]() * * @param customerId Required. ID of the customer whose labels are being modified. */ async customersLabelsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateLabelsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateLabelsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/labels:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateLabelsResponse; } /** * Returns resource names of customers directly accessible by the user * authenticating the call. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() * */ async customersListAccessibleCustomers(): Promise { const url = new URL(`${this.#baseUrl}v23/customers:listAccessibleCustomers`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse; } /** * RPC to append Local Services Lead Conversation resources to Local Services * Lead resources. * * @param customerId Required. The Id of the customer which owns the leads onto which the conversations will be appended. */ async customersLocalServicesAppendLeadConversation(customerId: string, req: GoogleAdsSearchads360V23Services__AppendLeadConversationRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/localServices:appendLeadConversation`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__AppendLeadConversationResponse; } /** * RPC to provide feedback on Local Services Lead resources. * * @param resourceName Required. The resource name of the local services lead that for which the feedback is being provided. */ async customersLocalServicesLeadsProvideLeadFeedback(resourceName: string, req: GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }:provideLeadFeedback`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse; } /** * Updates a customer. Operation statuses are returned. List of thrown * errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() * [FieldMaskError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() [UrlFieldError]() * * @param customerId Required. The ID of the customer being modified. */ async customersMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateCustomerRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateCustomerRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateCustomerResponse; } /** * Adds operations to the offline user data job. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [DatabaseError]() * [FieldError]() [HeaderError]() [InternalError]() [MutateError]() * [OfflineUserDataJobError]() [QuotaError]() [RequestError]() * * @param resourceName Required. The resource name of the OfflineUserDataJob. */ async customersOfflineUserDataJobsAddOperations(resourceName: string, req: GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest(req); const url = new URL(`${this.#baseUrl}v23/${ resourceName }:addOperations`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse; } /** * Creates an offline user data job. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [DatabaseError]() * [FieldError]() [HeaderError]() [InternalError]() [NotAllowlistedError]() * [OfflineUserDataJobError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer for which to create an offline user data job. */ async customersOfflineUserDataJobsCreate(customerId: string, req: GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/offlineUserDataJobs:create`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse; } /** * Runs the offline user data job. When finished, the long running operation * will contain the processing result or failure information, if any. List of * thrown errors: [AuthenticationError]() [AuthorizationError]() * [DatabaseError]() [HeaderError]() [InternalError]() * [OfflineUserDataJobError]() [QuotaError]() [RequestError]() * * @param resourceName Required. The resource name of the OfflineUserDataJob to run. */ async customersOfflineUserDataJobsRun(resourceName: string, req: GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }:run`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleLongrunning__Operation; } /** * Returns all payments accounts associated with all managers between the * login customer ID and specified serving customer in the hierarchy, * inclusive. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [HeaderError]() [InternalError]() * [PaymentsAccountError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer to apply the PaymentsAccount list operation to. */ async customersPaymentsAccountsList(customerId: string): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/paymentsAccounts`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse; } /** * Creates a product link invitation. * * @param customerId Required. The ID of the customer being modified. */ async customersProductLinkInvitationsCreate(customerId: string, req: GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/productLinkInvitations:create`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse; } /** * Remove a product link invitation. * * @param customerId Required. The ID of the product link invitation being removed. */ async customersProductLinkInvitationsRemove(customerId: string, req: GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/productLinkInvitations:remove`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse; } /** * Update a product link invitation. * * @param customerId Required. The ID of the customer being modified. */ async customersProductLinkInvitationsUpdate(customerId: string, req: GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/productLinkInvitations:update`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse; } /** * Creates a product link. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() * [InternalError]() [MutateError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer for which the product link is created. */ async customersProductLinksCreate(customerId: string, req: GoogleAdsSearchads360V23Services__CreateProductLinkRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__CreateProductLinkRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/productLinks:create`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__CreateProductLinkResponse; } /** * Removes a product link. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() * [MutateError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer being modified. */ async customersProductLinksRemove(customerId: string, req: GoogleAdsSearchads360V23Services__RemoveProductLinkRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/productLinks:remove`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__RemoveProductLinkResponse; } /** * Applies given recommendations with corresponding apply parameters. List of * thrown errors: [AuthenticationError]() [AuthorizationError]() * [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() * [MutateError]() [QuotaError]() [RecommendationError]() [RequestError]() * [UrlFieldError]() * * @param customerId Required. The ID of the customer with the recommendation. */ async customersRecommendationsApply(customerId: string, req: GoogleAdsSearchads360V23Services__ApplyRecommendationRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__ApplyRecommendationRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/recommendations:apply`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__ApplyRecommendationResponse; } /** * Dismisses given recommendations. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [HeaderError]() * [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]() * * @param customerId Required. The ID of the customer with the recommendation. */ async customersRecommendationsDismiss(customerId: string, req: GoogleAdsSearchads360V23Services__DismissRecommendationRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/recommendations:dismiss`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__DismissRecommendationResponse; } /** * Generates Recommendations based off the requested recommendation_types. * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() * [RequestError]() * * @param customerId Required. The ID of the customer generating recommendations. */ async customersRecommendationsGenerate(customerId: string, req: GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__GenerateRecommendationsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/recommendations:generate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse; } /** * Mutates given subscription with corresponding apply parameters. List of * thrown errors: [AuthenticationError]() [AuthorizationError]() * [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() * [MutateError]() [QuotaError]() [RecommendationError]() * [RecommendationSubscriptionError]() [RequestError]() [UrlFieldError]() * * @param customerId Required. The ID of the subscribing customer. */ async customersRecommendationSubscriptionsMutateRecommendationSubscription(customerId: string, req: GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/recommendationSubscriptions:mutateRecommendationSubscription`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse; } /** * Creates or updates remarketing actions. Operation statuses are returned. * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [ConversionActionError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() * * @param customerId Required. The ID of the customer whose remarketing actions are being modified. */ async customersRemarketingActionsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/remarketingActions:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse; } /** * Removes automatically created assets from a campaign. List of thrown * errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() * [FieldError]() [InternalError]() [MutateError]() [PartialFailureError]() * [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer whose assets are being removed. */ async customersRemoveCampaignAutomaticallyCreatedAsset(customerId: string, req: GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:removeCampaignAutomaticallyCreatedAsset`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse; } /** * This method is essentially a wrapper around a series of mutate methods. * The only features it offers over calling those methods directly are: - * Atomic transactions - Temp resource names (described below) - Somewhat * reduced latency over making a series of mutate calls Note: Only resources * that support atomic transactions are included, so this method can't replace * all calls to individual services. ## Atomic Transaction Benefits Atomicity * makes error handling much easier. If you're making a series of changes and * one fails, it can leave your account in an inconsistent state. With * atomicity, you either reach the chosen state directly, or the request fails * and you can retry. ## Temp Resource Names Temp resource names are a special * type of resource name used to create a resource and reference that resource * in the same request. For example, if a is created with `resource_name` * equal to ``, that resource name can be reused in the `` field in the same * request. That way, the two resources are created and linked atomically. To * create a temp resource name, put a negative number in the part of the name * that the server would normally allocate. Note: - Resources must be created * with a temp name before the name can be reused. For example, the previous * example would fail if the mutate order was reversed. - Temp names are not * remembered across requests. - There's no limit to the number of temp names * in a request. - Each temp name must use a unique negative number, even if * the resource types differ. ## Latency It's important to group mutates by * resource type or the request may time out and fail. Latency is roughly * equal to a series of calls to individual mutate methods, where each change * in resource type is a new call. For example, mutating is like 2 calls, * while mutating is like 4 calls. List of thrown errors: * [AdCustomizerError]() [AdError]() [AdGroupAdError]() * [AdGroupCriterionError]() [AdGroupError]() [AssetError]() * [AuthenticationError]() [AuthorizationError]() [BiddingError]() * [CampaignBudgetError]() [CampaignCriterionError]() [CampaignError]() * [CampaignExperimentError]() [CampaignSharedSetError]() * [CollectionSizeError]() [ContextError]() [ConversionActionError]() * [CriterionError]() [CustomerFeedError]() [DatabaseError]() [DateError]() * [DateRangeError]() [DistinctError]() [ExtensionFeedItemError]() * [ExtensionSettingError]() [FeedAttributeReferenceError]() [FeedError]() * [FeedItemError]() [FeedItemSetError]() [FieldError]() [FieldMaskError]() * [FunctionParsingError]() [HeaderError]() [ImageError]() [InternalError]() * [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignError]() * [KeywordPlanError]() [LabelError]() [ListOperationError]() * [MediaUploadError]() [MutateError]() [NewResourceCreationError]() * [NullError]() [OperationAccessDeniedError]() [PolicyFindingError]() * [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() * [ResourceCountLimitExceededError]() [SettingError]() [SharedSetError]() * [SizeLimitError]() [StringFormatError]() [StringLengthError]() * [UrlFieldError]() [UserListError]() [YoutubeVideoRegistrationError]() * * @param customerId Required. The ID of the customer whose resources are being modified. */ async customersSearchAds360Mutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateSearchAds360Request): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateSearchAds360Request(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/searchAds360:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateSearchAds360Response(data); } /** * Returns all rows that match the search query. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [ChangeEventError]() * [ChangeStatusError]() [ClickViewError]() [HeaderError]() [InternalError]() * [QueryError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer being queried. */ async customersSearchAds360Search(customerId: string, req: GoogleAdsSearchads360V23Services__SearchSearchAds360Request): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/searchAds360:search`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__SearchSearchAds360Response(data); } /** * Searches for audience attributes that can be used to generate insights. * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() * [RangeError]() [RequestError]() * * @param customerId Required. The ID of the customer. */ async customersSearchAudienceInsightsAttributes(customerId: string, req: GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:searchAudienceInsightsAttributes`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse(data); } /** * Creates or removes shared criteria. Operation statuses are returned. List * of thrown errors: [AuthenticationError]() [AuthorizationError]() * [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() * [HeaderError]() [IdError]() [InternalError]() [MutateError]() * [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() * [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() * [SizeLimitError]() [StringFormatError]() [StringLengthError]() * * @param customerId Required. The ID of the customer whose shared criteria are being modified. */ async customersSharedCriteriaMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/sharedCriteria:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse(data); } /** * Creates, updates, or removes shared sets. Operation statuses are returned. * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() * [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() * [MutateError]() [NewResourceCreationError]() [NotEmptyError]() * [NullError]() [OperatorError]() [QuotaError]() [RangeError]() * [RequestError]() [ResourceCountLimitExceededError]() [SharedSetError]() * [SizeLimitError]() [StringFormatError]() [StringLengthError]() * * @param customerId Required. The ID of the customer whose shared sets are being modified. */ async customersSharedSetsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateSharedSetsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateSharedSetsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/sharedSets:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateSharedSetsResponse; } /** * Returns the status of the requested Smart campaign. * * @param resourceName Required. The resource name of the Smart campaign setting belonging to the Smart campaign to fetch the status of. */ async customersSmartCampaignSettingsGetSmartCampaignStatus(resourceName: string): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }:getSmartCampaignStatus`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse; } /** * Updates Smart campaign settings for campaigns. * * @param customerId Required. The ID of the customer whose Smart campaign settings are being modified. */ async customersSmartCampaignSettingsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/smartCampaignSettings:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse; } /** * Starts Identity Verification for a given verification program type. * Statuses are returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() * * @param customerId Required. The Id of the customer for whom we are creating this verification. */ async customersStartIdentityVerification(customerId: string, req: GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:startIdentityVerification`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleProtobuf__Empty; } /** * Suggests keyword themes to advertise on. * * @param customerId Required. The ID of the customer. */ async customersSuggestKeywordThemes(customerId: string, req: GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:suggestKeywordThemes`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse; } /** * Suggests a Smart campaign ad compatible with the Ad family of resources, * based on data points such as targeting and the business to advertise. * * @param customerId Required. The ID of the customer. */ async customersSuggestSmartCampaignAd(customerId: string, req: GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:suggestSmartCampaignAd`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse(data); } /** * Returns BudgetOption suggestions. * * @param customerId Required. The ID of the customer whose budget options are to be suggested. */ async customersSuggestSmartCampaignBudgetOptions(customerId: string, req: GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:suggestSmartCampaignBudgetOptions`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse(data); } /** * Returns Travel Asset suggestions. Asset suggestions are returned on a * best-effort basis. There are no guarantees that all possible asset types * will be returned for any given hotel property. * * @param customerId Required. The ID of the customer. */ async customersSuggestTravelAssets(customerId: string, req: GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:suggestTravelAssets`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse; } /** * Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be * provided to the third party when setting up app analytics. List of thrown * errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() * [InternalError]() [QuotaError]() [RequestError]() * * @param resourceName Resource name of the third party app analytics link. */ async customersThirdPartyAppAnalyticsLinksRegenerateShareableLinkId(resourceName: string, req: GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }:regenerateShareableLinkId`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse; } /** * Uploads the given user data. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() * [FieldError]() [HeaderError]() [InternalError]() [MutateError]() * [OfflineUserDataJobError]() [QuotaError]() [RequestError]() * [UserDataError]() * * @param customerId Required. The ID of the customer for which to update the user data. */ async customersUploadUserData(customerId: string, req: GoogleAdsSearchads360V23Services__UploadUserDataRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__UploadUserDataRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }:uploadUserData`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__UploadUserDataResponse; } /** * Attach or remove user list customer types. Operation statuses are * returned. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [UserListCustomerTypeError]() [HeaderError]() * [InternalError]() [QuotaError]() [RequestError]() * * @param customerId Required. The ID of the customer whose user list customer types are being modified. */ async customersUserListCustomerTypesMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest): Promise { const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/userListCustomerTypes:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse; } /** * Creates or updates user lists. Operation statuses are returned. List of * thrown errors: [AuthenticationError]() [AuthorizationError]() * [CollectionSizeError]() [DatabaseError]() [DistinctError]() [FieldError]() * [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() * [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() * [OperationAccessDeniedError]() [QuotaError]() [RangeError]() * [RequestError]() [StringFormatError]() [StringLengthError]() * [UserListError]() * * @param customerId Required. The ID of the customer whose user lists are being modified. */ async customersUserListsMutate(customerId: string, req: GoogleAdsSearchads360V23Services__MutateUserListsRequest): Promise { req = serializeGoogleAdsSearchads360V23Services__MutateUserListsRequest(req); const url = new URL(`${this.#baseUrl}v23/customers/${ customerId }/userLists:mutate`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__MutateUserListsResponse; } /** * Returns GeoTargetConstant suggestions by location name or by resource * name. List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [GeoTargetConstantSuggestionError]() [HeaderError]() [InternalError]() * [QuotaError]() [RequestError]() * */ async geoTargetConstantsSuggest(req: GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/geoTargetConstants:suggest`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse(data); } /** * Returns incentives for a given user. * */ async incentivesFetchIncentive(opts: IncentivesFetchIncentiveOptions = {}): Promise { const url = new URL(`${this.#baseUrl}v23/incentives:fetchIncentive`); if (opts.countryCode !== undefined) { url.searchParams.append("countryCode", String(opts.countryCode)); } if (opts.email !== undefined) { url.searchParams.append("email", String(opts.email)); } if (opts.languageCode !== undefined) { url.searchParams.append("languageCode", String(opts.languageCode)); } if (opts.type !== undefined) { url.searchParams.append("type", String(opts.type)); } const data = await request(url.href, { client: this.#client, method: "GET", }); return deserializeGoogleAdsSearchads360V23Services__FetchIncentiveResponse(data); } /** * Returns KeywordThemeConstant suggestions by keyword themes. List of thrown * errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() * [InternalError]() [QuotaError]() [RequestError]() * */ async keywordThemeConstantsSuggest(req: GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/keywordThemeConstants:suggest`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse; } /** * Returns just the requested field. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [HeaderError]() * [InternalError]() [QuotaError]() [RequestError]() * * @param resourceName Required. The resource name of the field to get. */ async searchAds360FieldsGet(resourceName: string): Promise { const url = new URL(`${this.#baseUrl}v23/${ resourceName }`); const data = await request(url.href, { client: this.#client, method: "GET", }); return data as GoogleAdsSearchads360V23Resources__SearchAds360Field; } /** * Returns all fields that match the search * [query](/search-ads/reporting/concepts/field-service#use_a_query_to_get_field_details). * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() * [RequestError]() * */ async searchAds360FieldsSearch(req: GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest): Promise { const url = new URL(`${this.#baseUrl}v23/searchAds360Fields:search`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse(data); } /** * Returns a collection of conversion rate suggestions for supported * plannable products. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() * */ async v23GenerateConversionRates(req: GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest): Promise { const url = new URL(`${this.#baseUrl}v23:generateConversionRates`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse; } /** * Returns a date range that supports benchmarks. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [FieldError]() * [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() * */ async v23ListBenchmarksAvailableDates(req: GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest): Promise { const url = new URL(`${this.#baseUrl}v23:listBenchmarksAvailableDates`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse; } /** * Returns the list of locations that support benchmarks (for example, * countries). List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() * [QuotaError]() [RequestError]() * */ async v23ListBenchmarksLocations(req: GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest): Promise { const url = new URL(`${this.#baseUrl}v23:listBenchmarksLocations`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse; } /** * Returns the list of products that supports benchmarks. List of thrown * errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() * [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() * */ async v23ListBenchmarksProducts(req: GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest): Promise { const url = new URL(`${this.#baseUrl}v23:listBenchmarksProducts`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse; } /** * Returns the list of benchmarks sources (for example, Industry Verticals). * List of thrown errors: [AuthenticationError]() [AuthorizationError]() * [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() * */ async v23ListBenchmarksSources(req: GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest): Promise { const url = new URL(`${this.#baseUrl}v23:listBenchmarksSources`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse(data); } /** * Returns the list of plannable locations (for example, countries). List of * thrown errors: [AuthenticationError]() [AuthorizationError]() * [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() * */ async v23ListPlannableLocations(req: GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest): Promise { const url = new URL(`${this.#baseUrl}v23:listPlannableLocations`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__ListPlannableLocationsResponse(data); } /** * Returns the list of per-location plannable YouTube ad formats with allowed * targeting. List of thrown errors: [AuthenticationError]() * [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() * [RequestError]() * */ async v23ListPlannableProducts(req: GoogleAdsSearchads360V23Services__ListPlannableProductsRequest): Promise { const url = new URL(`${this.#baseUrl}v23:listPlannableProducts`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return deserializeGoogleAdsSearchads360V23Services__ListPlannableProductsResponse(data); } /** * Returns the list of plannable user interests. A plannable user interest is * one that can be targeted in a reach forecast using * ReachPlanService.GenerateReachForecast. List of thrown errors: * [AuthenticationError]() [AuthorizationError]() [FieldError]() * [HeaderError]() [InternalError]() [ListOperationError]() [QuotaError]() * [RequestError]() [StringLengthError]() * */ async v23ListPlannableUserInterests(req: GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest): Promise { const url = new URL(`${this.#baseUrl}v23:listPlannableUserInterests`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse; } /** * Returns the list of plannable user lists with their plannable status. User * lists may not be plannable for a number of reasons, including: - They are * less than 10 days old. - They have a membership lifespan that is less than * 30 days - They have less than 10,000 or more than 700,000 users. List of * thrown errors: [AuthenticationError]() [AuthorizationError]() * [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() * [RangeError]() [ReachPlanError]() [RequestError]() * */ async v23ListPlannableUserLists(req: GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest): Promise { const url = new URL(`${this.#baseUrl}v23:listPlannableUserLists`); const body = JSON.stringify(req); const data = await request(url.href, { client: this.#client, method: "POST", body, }); return data as GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse; } } /** * Additional options for SearchAds360#customersBatchJobsListResults. */ export interface CustomersBatchJobsListResultsOptions { pageSize?: number; /** * Token of the page to retrieve. If not specified, the first page of results * will be returned. Use the value obtained from `next_page_token` in the * previous response in order to request the next page of results. */ pageToken?: string; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; } /** * Additional options for SearchAds360#customersCampaignDraftsListAsyncErrors. */ export interface CustomersCampaignDraftsListAsyncErrorsOptions { /** * Number of elements to retrieve in a single page. When a page request is * too large, the server may decide to further limit the number of returned * resources. */ pageSize?: number; /** * Token of the page to retrieve. If not specified, the first page of results * will be returned. Use the value obtained from `next_page_token` in the * previous response in order to request the next page of results. */ pageToken?: string; } /** * Additional options for * SearchAds360#customersExperimentsListExperimentAsyncErrors. */ export interface CustomersExperimentsListExperimentAsyncErrorsOptions { /** * Number of elements to retrieve in a single page. When a page request is * too large, the server may decide to further limit the number of returned * resources. The maximum page size is 1000. */ pageSize?: number; /** * Token of the page to retrieve. If not specified, the first page of results * will be returned. Use the value obtained from `next_page_token` in the * previous response in order to request the next page of results. */ pageToken?: string; } /** * Additional options for SearchAds360#customersInvoicesList. */ export interface CustomersInvoicesListOptions { /** * Required. The billing setup resource name of the requested invoices. * `customers/{customer_id}/billingSetups/{billing_setup_id}` */ billingSetup?: string; /** * Optional. When true, the response will include more granular level invoice * details such as campaign level cost breakdown, itemized regulatory costs * and adjustments. The default value is false. */ includeGranularLevelInvoiceDetails?: boolean; /** * Required. The issue month to retrieve invoices. */ issueMonth?: | "UNSPECIFIED" | "UNKNOWN" | "JANUARY" | "FEBRUARY" | "MARCH" | "APRIL" | "MAY" | "JUNE" | "JULY" | "AUGUST" | "SEPTEMBER" | "OCTOBER" | "NOVEMBER" | "DECEMBER"; /** * Required. The issue year to retrieve invoices, in yyyy format. Only * invoices issued in 2019 or later can be retrieved. */ issueYear?: string; } /** * A generic data container. */ export interface GoogleAdsSearchads360V0Common__Value { /** * A boolean. */ booleanValue?: boolean; /** * A double. */ doubleValue?: number; /** * A float. */ floatValue?: number; /** * An int64. */ int64Value?: bigint; /** * A string. */ stringValue?: string; } function serializeGoogleAdsSearchads360V0Common__Value(data: any): GoogleAdsSearchads360V0Common__Value { return { ...data, int64Value: data["int64Value"] !== undefined ? String(data["int64Value"]) : undefined, }; } function deserializeGoogleAdsSearchads360V0Common__Value(data: any): GoogleAdsSearchads360V0Common__Value { return { ...data, int64Value: data["int64Value"] !== undefined ? BigInt(data["int64Value"]) : undefined, }; } /** * The error reason represented by type and enum. */ export interface GoogleAdsSearchads360V0Errors__ErrorCode { /** * Indicates failure to properly authenticate user. */ authenticationError?: | "UNSPECIFIED" | "UNKNOWN" | "AUTHENTICATION_ERROR" | "CLIENT_CUSTOMER_ID_INVALID" | "CUSTOMER_NOT_FOUND" | "GOOGLE_ACCOUNT_DELETED" | "GOOGLE_ACCOUNT_COOKIE_INVALID" | "GOOGLE_ACCOUNT_AUTHENTICATION_FAILED" | "GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH" | "LOGIN_COOKIE_REQUIRED" | "NOT_ADS_USER" | "OAUTH_TOKEN_INVALID" | "OAUTH_TOKEN_EXPIRED" | "OAUTH_TOKEN_DISABLED" | "OAUTH_TOKEN_REVOKED" | "OAUTH_TOKEN_HEADER_INVALID" | "LOGIN_COOKIE_INVALID" | "USER_ID_INVALID" | "TWO_STEP_VERIFICATION_NOT_ENROLLED" | "ADVANCED_PROTECTION_NOT_ENROLLED"; /** * An error encountered when trying to authorize a user. */ authorizationError?: | "UNSPECIFIED" | "UNKNOWN" | "USER_PERMISSION_DENIED" | "PROJECT_DISABLED" | "AUTHORIZATION_ERROR" | "ACTION_NOT_PERMITTED" | "INCOMPLETE_SIGNUP" | "CUSTOMER_NOT_ENABLED" | "MISSING_TOS" | "INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION" | "SERVICE_ACCESS_DENIED" | "ACCESS_DENIED_FOR_ACCOUNT_TYPE" | "METRIC_ACCESS_DENIED"; /** * The reasons for the conversion custom variable error */ conversionCustomVariableError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_NAME" | "DUPLICATE_TAG" | "RESERVED_TAG" | "NOT_FOUND" | "NOT_AVAILABLE" | "INCOMPATIBLE_TYPE" | "INVALID_METRIC" | "EXCEEDS_CARDINALITY_LIMIT" | "INVALID_DIMENSION" | "INCOMPATIBLE_WITH_SELECTED_RESOURCE"; /** * The reasons for the custom column error */ customColumnError?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOM_COLUMN_NOT_FOUND" | "CUSTOM_COLUMN_NOT_AVAILABLE"; /** * The reasons for the date error */ dateError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_FIELD_VALUES_IN_DATE" | "INVALID_FIELD_VALUES_IN_DATE_TIME" | "INVALID_STRING_DATE" | "INVALID_STRING_DATE_TIME_MICROS" | "INVALID_STRING_DATE_TIME_SECONDS" | "INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET" | "EARLIER_THAN_MINIMUM_DATE" | "LATER_THAN_MAXIMUM_DATE" | "DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE" | "DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL"; /** * The reasons for the date range error */ dateRangeError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_DATE" | "START_DATE_AFTER_END_DATE" | "CANNOT_SET_DATE_TO_PAST" | "AFTER_MAXIMUM_ALLOWABLE_DATE" | "CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED"; /** * The reasons for the distinct error */ distinctError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_ELEMENT" | "DUPLICATE_TYPE"; /** * The reasons for the header error. */ headerError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_USER_SELECTED_CUSTOMER_ID" | "INVALID_LOGIN_CUSTOMER_ID"; /** * An unexpected server-side error. */ internalError?: | "UNSPECIFIED" | "UNKNOWN" | "INTERNAL_ERROR" | "ERROR_CODE_NOT_PUBLISHED" | "TRANSIENT_ERROR" | "DEADLINE_EXCEEDED"; /** * The reasons for invalid parameter errors. */ invalidParameterError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_CURRENCY_CODE"; /** * An error with the query */ queryError?: | "UNSPECIFIED" | "UNKNOWN" | "QUERY_ERROR" | "BAD_ENUM_CONSTANT" | "BAD_ESCAPE_SEQUENCE" | "BAD_FIELD_NAME" | "BAD_LIMIT_VALUE" | "BAD_NUMBER" | "BAD_OPERATOR" | "BAD_PARAMETER_NAME" | "BAD_PARAMETER_VALUE" | "BAD_RESOURCE_TYPE_IN_FROM_CLAUSE" | "BAD_SYMBOL" | "BAD_VALUE" | "DATE_RANGE_TOO_WIDE" | "DATE_RANGE_TOO_NARROW" | "EXPECTED_AND" | "EXPECTED_BY" | "EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE" | "EXPECTED_FILTERS_ON_DATE_RANGE" | "EXPECTED_FROM" | "EXPECTED_LIST" | "EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE" | "EXPECTED_SELECT" | "EXPECTED_SINGLE_VALUE" | "EXPECTED_VALUE_WITH_BETWEEN_OPERATOR" | "INVALID_DATE_FORMAT" | "MISALIGNED_DATE_FOR_FILTER" | "INVALID_STRING_VALUE" | "INVALID_VALUE_WITH_BETWEEN_OPERATOR" | "INVALID_VALUE_WITH_DURING_OPERATOR" | "INVALID_VALUE_WITH_LIKE_OPERATOR" | "OPERATOR_FIELD_MISMATCH" | "PROHIBITED_EMPTY_LIST_IN_CONDITION" | "PROHIBITED_ENUM_CONSTANT" | "PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE" | "PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE" | "PROHIBITED_FIELD_IN_SELECT_CLAUSE" | "PROHIBITED_FIELD_IN_WHERE_CLAUSE" | "PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE" | "PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE" | "PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE" | "PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE" | "PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE" | "PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE" | "LIMIT_VALUE_TOO_LOW" | "PROHIBITED_NEWLINE_IN_STRING" | "PROHIBITED_VALUE_COMBINATION_IN_LIST" | "PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR" | "STRING_NOT_TERMINATED" | "TOO_MANY_SEGMENTS" | "UNEXPECTED_END_OF_QUERY" | "UNEXPECTED_FROM_CLAUSE" | "UNRECOGNIZED_FIELD" | "UNEXPECTED_INPUT" | "REQUESTED_METRICS_FOR_MANAGER" | "FILTER_HAS_TOO_MANY_VALUES" | "REQUIRED_SEGMENT_FIELD_MISSING"; /** * An error with the amount of quota remaining. */ quotaError?: | "UNSPECIFIED" | "UNKNOWN" | "RESOURCE_EXHAUSTED" | "RESOURCE_TEMPORARILY_EXHAUSTED"; /** * An error caused by the request */ requestError?: | "UNSPECIFIED" | "UNKNOWN" | "RESOURCE_NAME_MISSING" | "RESOURCE_NAME_MALFORMED" | "BAD_RESOURCE_ID" | "INVALID_PRODUCT_NAME" | "INVALID_CUSTOMER_ID" | "OPERATION_REQUIRED" | "RESOURCE_NOT_FOUND" | "INVALID_PAGE_TOKEN" | "EXPIRED_PAGE_TOKEN" | "INVALID_PAGE_SIZE" | "REQUIRED_FIELD_MISSING" | "IMMUTABLE_FIELD" | "TOO_MANY_MUTATE_OPERATIONS" | "CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT" | "CANNOT_MODIFY_FOREIGN_FIELD" | "INVALID_ENUM_VALUE" | "LOGIN_CUSTOMER_ID_PARAMETER_MISSING" | "LOGIN_OR_LINKED_CUSTOMER_ID_PARAMETER_REQUIRED" | "VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN" | "CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS" | "CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS" | "INCONSISTENT_RETURN_SUMMARY_ROW_VALUE" | "TOTAL_RESULTS_COUNT_NOT_ORIGINALLY_REQUESTED" | "RPC_DEADLINE_TOO_SHORT" | "PRODUCT_NOT_SUPPORTED"; /** * The reasons for the size limit error */ sizeLimitError?: | "UNSPECIFIED" | "UNKNOWN" | "REQUEST_SIZE_LIMIT_EXCEEDED" | "RESPONSE_SIZE_LIMIT_EXCEEDED"; } /** * Additional error details. */ export interface GoogleAdsSearchads360V0Errors__ErrorDetails { /** * Details on the quota error, including the scope (account or developer), * the rate bucket name and the retry delay. */ quotaErrorDetails?: GoogleAdsSearchads360V0Errors__QuotaErrorDetails; /** * The error code that should have been returned, but wasn't. This is used * when the error code is not published in the client specified version. */ unpublishedErrorCode?: string; } function serializeGoogleAdsSearchads360V0Errors__ErrorDetails(data: any): GoogleAdsSearchads360V0Errors__ErrorDetails { return { ...data, quotaErrorDetails: data["quotaErrorDetails"] !== undefined ? serializeGoogleAdsSearchads360V0Errors__QuotaErrorDetails(data["quotaErrorDetails"]) : undefined, }; } function deserializeGoogleAdsSearchads360V0Errors__ErrorDetails(data: any): GoogleAdsSearchads360V0Errors__ErrorDetails { return { ...data, quotaErrorDetails: data["quotaErrorDetails"] !== undefined ? deserializeGoogleAdsSearchads360V0Errors__QuotaErrorDetails(data["quotaErrorDetails"]) : undefined, }; } /** * Describes the part of the request proto that caused the error. */ export interface GoogleAdsSearchads360V0Errors__ErrorLocation { /** * A field path that indicates which field was invalid in the request. */ fieldPathElements?: GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement[]; } /** * Additional quota error details when there is QuotaError. */ export interface GoogleAdsSearchads360V0Errors__QuotaErrorDetails { /** * The high level description of the quota bucket. Examples are "Get requests * for standard access" or "Requests per account". */ rateName?: string; /** * The rate scope of the quota limit. */ rateScope?: | "UNSPECIFIED" | "UNKNOWN" | "ACCOUNT" | "DEVELOPER"; /** * Backoff period that customers should wait before sending next request. */ retryDelay?: number /* Duration */; } function serializeGoogleAdsSearchads360V0Errors__QuotaErrorDetails(data: any): GoogleAdsSearchads360V0Errors__QuotaErrorDetails { return { ...data, retryDelay: data["retryDelay"] !== undefined ? data["retryDelay"] : undefined, }; } function deserializeGoogleAdsSearchads360V0Errors__QuotaErrorDetails(data: any): GoogleAdsSearchads360V0Errors__QuotaErrorDetails { return { ...data, retryDelay: data["retryDelay"] !== undefined ? data["retryDelay"] : undefined, }; } /** * Search Ads 360-specific error. */ export interface GoogleAdsSearchads360V0Errors__SearchAds360Error { /** * Additional error details, which are returned by certain error codes. Most * error codes do not include details. */ details?: GoogleAdsSearchads360V0Errors__ErrorDetails; /** * An enum value that indicates which error occurred. */ errorCode?: GoogleAdsSearchads360V0Errors__ErrorCode; /** * Describes the part of the request proto that caused the error. */ location?: GoogleAdsSearchads360V0Errors__ErrorLocation; /** * A human-readable description of the error. */ message?: string; /** * The value that triggered the error. */ trigger?: GoogleAdsSearchads360V0Common__Value; } function serializeGoogleAdsSearchads360V0Errors__SearchAds360Error(data: any): GoogleAdsSearchads360V0Errors__SearchAds360Error { return { ...data, details: data["details"] !== undefined ? serializeGoogleAdsSearchads360V0Errors__ErrorDetails(data["details"]) : undefined, trigger: data["trigger"] !== undefined ? serializeGoogleAdsSearchads360V0Common__Value(data["trigger"]) : undefined, }; } function deserializeGoogleAdsSearchads360V0Errors__SearchAds360Error(data: any): GoogleAdsSearchads360V0Errors__SearchAds360Error { return { ...data, details: data["details"] !== undefined ? deserializeGoogleAdsSearchads360V0Errors__ErrorDetails(data["details"]) : undefined, trigger: data["trigger"] !== undefined ? deserializeGoogleAdsSearchads360V0Common__Value(data["trigger"]) : undefined, }; } /** * Describes how a Search Ads 360 API call failed. It's returned inside * google.rpc.Status.details when a call fails. */ export interface GoogleAdsSearchads360V0Errors__SearchAds360Failure { /** * The list of errors that occurred. */ errors?: GoogleAdsSearchads360V0Errors__SearchAds360Error[]; /** * The unique ID of the request that is used for debugging purposes. */ requestId?: string; } function serializeGoogleAdsSearchads360V0Errors__SearchAds360Failure(data: any): GoogleAdsSearchads360V0Errors__SearchAds360Failure { return { ...data, errors: data["errors"] !== undefined ? data["errors"].map((item: any) => (serializeGoogleAdsSearchads360V0Errors__SearchAds360Error(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V0Errors__SearchAds360Failure(data: any): GoogleAdsSearchads360V0Errors__SearchAds360Failure { return { ...data, errors: data["errors"] !== undefined ? data["errors"].map((item: any) => (deserializeGoogleAdsSearchads360V0Errors__SearchAds360Error(item))) : undefined, }; } /** * A part of a field path. */ export interface GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement { /** * The name of a field or a oneof */ fieldName?: string; /** * If field_name is a repeated field, this is the element that failed */ index?: number; } /** * The city where the travel activity is available. */ export interface GoogleAdsSearchads360V23Common__ActivityCityInfo { /** * String value of the activity city. The Geo Target Constant resource name. */ value?: string; } /** * The country where the travel activity is available. */ export interface GoogleAdsSearchads360V23Common__ActivityCountryInfo { /** * String value of the activity country. The Geo Target Constant resource * name. */ value?: string; } /** * Advertiser-specific activity ID. */ export interface GoogleAdsSearchads360V23Common__ActivityIdInfo { /** * String value of the activity ID. */ value?: string; } /** * Rating of the activity as a number 1 to 5, where 5 is the best. */ export interface GoogleAdsSearchads360V23Common__ActivityRatingInfo { /** * Long value of the activity rating. */ value?: bigint; } function serializeGoogleAdsSearchads360V23Common__ActivityRatingInfo(data: any): GoogleAdsSearchads360V23Common__ActivityRatingInfo { return { ...data, value: data["value"] !== undefined ? String(data["value"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ActivityRatingInfo(data: any): GoogleAdsSearchads360V23Common__ActivityRatingInfo { return { ...data, value: data["value"] !== undefined ? BigInt(data["value"]) : undefined, }; } /** * The state where the travel activity is available. */ export interface GoogleAdsSearchads360V23Common__ActivityStateInfo { /** * String value of the activity state. The Geo Target Constant resource name. */ value?: string; } /** * An app deep link used inside an ad. */ export interface GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset { /** * The Asset resource name of this app deep link asset. */ asset?: string; } /** * Contains policy information for an asset inside an ad. */ export interface GoogleAdsSearchads360V23Common__AdAssetPolicySummary { /** * The overall approval status of this asset, which is calculated based on * the status of its individual policy topic entries. */ approvalStatus?: | "UNSPECIFIED" | "UNKNOWN" | "DISAPPROVED" | "APPROVED_LIMITED" | "APPROVED" | "AREA_OF_INTEREST_ONLY"; /** * The list of policy findings for this asset. */ policyTopicEntries?: GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; /** * Where in the review process this asset. */ reviewStatus?: | "UNSPECIFIED" | "UNKNOWN" | "REVIEW_IN_PROGRESS" | "REVIEWED" | "UNDER_APPEAL" | "ELIGIBLE_MAY_SERVE"; } function serializeGoogleAdsSearchads360V23Common__AdAssetPolicySummary(data: any): GoogleAdsSearchads360V23Common__AdAssetPolicySummary { return { ...data, policyTopicEntries: data["policyTopicEntries"] !== undefined ? data["policyTopicEntries"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__PolicyTopicEntry(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__AdAssetPolicySummary(data: any): GoogleAdsSearchads360V23Common__AdAssetPolicySummary { return { ...data, policyTopicEntries: data["policyTopicEntries"] !== undefined ? data["policyTopicEntries"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__PolicyTopicEntry(item))) : undefined, }; } /** * A call to action asset used inside an ad. */ export interface GoogleAdsSearchads360V23Common__AdCallToActionAsset { /** * The Asset resource name of this call to action asset. */ asset?: string; } /** * A Demand Gen carousel card asset used inside an ad. */ export interface GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset { /** * The Asset resource name of this discovery carousel card. */ asset?: string; } /** * Additional information about the application/tool issuing the request. This * field is only used by ContentCreatorInsightsService, AudienceInsightsService, * and ReachPlanService APIs. */ export interface GoogleAdsSearchads360V23Common__AdditionalApplicationInfo { /** * The unique identifier of the agency proprietary application. This * identifier is generated by Google. Reach out to your Google representative * to request an application_id for each new application being integrated. */ applicationId?: string; /** * The instance type of the application sending the request. */ applicationInstance?: | "UNSPECIFIED" | "UNKNOWN" | "DEVELOPMENT_AND_TESTING" | "PRODUCTION"; } /** * Address for proximity criterion. */ export interface GoogleAdsSearchads360V23Common__AddressInfo { /** * Name of the city. */ cityName?: string; /** * Country code. */ countryCode?: string; /** * Postal code. */ postalCode?: string; /** * Province or state code. */ provinceCode?: string; /** * Province or state name. */ provinceName?: string; /** * Street address line 1. */ streetAddress?: string; /** * Street address line 2. This field is write-only. It is only used for * calculating the longitude and latitude of an address when geo_point is * empty. */ streetAddress2?: string; } /** * An image asset used inside an ad. */ export interface GoogleAdsSearchads360V23Common__AdImageAsset { /** * The Asset resource name of this image. */ asset?: string; } /** * A media bundle asset used inside an ad. */ export interface GoogleAdsSearchads360V23Common__AdMediaBundleAsset { /** * The Asset resource name of this media bundle. */ asset?: string; } /** * Represents an AdSchedule criterion. AdSchedule is specified as the day of * the week and a time interval within which ads will be shown. No more than six * AdSchedules can be added for the same day. */ export interface GoogleAdsSearchads360V23Common__AdScheduleInfo { /** * Day of the week the schedule applies to. This field is required for CREATE * operations and is prohibited on UPDATE operations. */ dayOfWeek?: | "UNSPECIFIED" | "UNKNOWN" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY"; /** * Ending hour in 24 hour time; 24 signifies end of the day. This field must * be between 0 and 24, inclusive. This field is required for CREATE * operations and is prohibited on UPDATE operations. */ endHour?: number; /** * Minutes after the end hour at which this schedule ends. The schedule is * exclusive of the end minute. This field is required for CREATE operations * and is prohibited on UPDATE operations. */ endMinute?: | "UNSPECIFIED" | "UNKNOWN" | "ZERO" | "FIFTEEN" | "THIRTY" | "FORTY_FIVE"; /** * Starting hour in 24 hour time. This field must be between 0 and 23, * inclusive. This field is required for CREATE operations and is prohibited * on UPDATE operations. */ startHour?: number; /** * Minutes after the start hour at which this schedule starts. This field is * required for CREATE operations and is prohibited on UPDATE operations. */ startMinute?: | "UNSPECIFIED" | "UNKNOWN" | "ZERO" | "FIFTEEN" | "THIRTY" | "FORTY_FIVE"; } /** * A text asset used inside an ad. */ export interface GoogleAdsSearchads360V23Common__AdTextAsset { /** * The performance label of this text asset. */ assetPerformanceLabel?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "LEARNING" | "LOW" | "GOOD" | "BEST" | "NOT_APPLICABLE"; /** * The pinned field of the asset. This restricts the asset to only serve * within this field. Multiple assets can be pinned to the same field. An * asset that is unpinned or pinned to a different field will not serve in a * field where some other asset has been pinned. */ pinnedField?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE_1" | "HEADLINE_2" | "HEADLINE_3" | "DESCRIPTION_1" | "DESCRIPTION_2" | "HEADLINE" | "HEADLINE_IN_PORTRAIT" | "LONG_HEADLINE" | "DESCRIPTION" | "DESCRIPTION_IN_PORTRAIT" | "BUSINESS_NAME_IN_PORTRAIT" | "BUSINESS_NAME" | "MARKETING_IMAGE" | "MARKETING_IMAGE_IN_PORTRAIT" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "CALL_TO_ACTION" | "YOU_TUBE_VIDEO" | "SITELINK" | "CALL" | "MOBILE_APP" | "CALLOUT" | "STRUCTURED_SNIPPET" | "PRICE" | "PROMOTION" | "AD_IMAGE" | "LEAD_FORM" | "BUSINESS_LOGO" | "DESCRIPTION_PREFIX" | "HEADLINE_AS_SITELINK_POSITION_ONE" | "HEADLINE_AS_SITELINK_POSITION_TWO" | "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE" | "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO"; /** * The policy summary of this text asset. */ policySummaryInfo?: GoogleAdsSearchads360V23Common__AdAssetPolicySummary; /** * Asset text. */ text?: string; } function serializeGoogleAdsSearchads360V23Common__AdTextAsset(data: any): GoogleAdsSearchads360V23Common__AdTextAsset { return { ...data, policySummaryInfo: data["policySummaryInfo"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AdAssetPolicySummary(data["policySummaryInfo"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__AdTextAsset(data: any): GoogleAdsSearchads360V23Common__AdTextAsset { return { ...data, policySummaryInfo: data["policySummaryInfo"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AdAssetPolicySummary(data["policySummaryInfo"]) : undefined, }; } /** * A video asset used inside an ad. */ export interface GoogleAdsSearchads360V23Common__AdVideoAsset { /** * Contains info fields for this AdVideoAsset. */ adVideoAssetInfo?: GoogleAdsSearchads360V23Common__AdVideoAssetInfo; /** * The Asset resource name of this video. */ asset?: string; } /** * Contains info fields for AdVideoAssets. */ export interface GoogleAdsSearchads360V23Common__AdVideoAssetInfo { /** * Defines feature controls for this AdVideoAsset during serving time. For * example, whether YouTube comments should be enabled for Partnership Ads * served on YouTube Shorts. */ adVideoAssetFeatureControl?: GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl; } /** * YouTube Video Asset feature controls. */ export interface GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl { /** * Defines if YouTube comments should be enabled for the creative using this * YouTube video asset served on YouTube Shorts. */ allowYoutubeComments?: boolean; } /** * Dimension specifying users by their age. */ export interface GoogleAdsSearchads360V23Common__AgeDimension { /** * Contiguous age range to be included in the dimension. */ ageRanges?: GoogleAdsSearchads360V23Common__AgeSegment[]; /** * Include users whose age is not determined. */ includeUndetermined?: boolean; } /** * An age range criterion. */ export interface GoogleAdsSearchads360V23Common__AgeRangeInfo { /** * Type of the age range. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "AGE_RANGE_18_24" | "AGE_RANGE_25_34" | "AGE_RANGE_35_44" | "AGE_RANGE_45_54" | "AGE_RANGE_55_64" | "AGE_RANGE_65_UP" | "AGE_RANGE_UNDETERMINED"; } /** * Contiguous age range. */ export interface GoogleAdsSearchads360V23Common__AgeSegment { /** * Maximum age to include. A maximum age need not be specified. If specified, * max_age must be greater than min_age, and allowed values are 24, 34, 44, * 54, and 64. */ maxAge?: number; /** * Minimum age to include. A minimum age must be specified and must be at * least 18. Allowed values are 18, 25, 35, 45, 55, and 65. */ minAge?: number; } /** * An app ad. */ export interface GoogleAdsSearchads360V23Common__AppAdInfo { /** * An app deep link asset that may be used with the ad. */ appDeepLink?: GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset; /** * List of text assets for descriptions. When the ad serves the descriptions * will be selected from this list. */ descriptions?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of text assets for headlines. When the ad serves the headlines will * be selected from this list. */ headlines?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of media bundle assets that may be used with the ad. */ html5MediaBundles?: GoogleAdsSearchads360V23Common__AdMediaBundleAsset[]; /** * List of image assets that may be displayed with the ad. */ images?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * Mandatory ad text. */ mandatoryAdText?: GoogleAdsSearchads360V23Common__AdTextAsset; /** * List of YouTube video assets that may be displayed with the ad. */ youtubeVideos?: GoogleAdsSearchads360V23Common__AdVideoAsset[]; } function serializeGoogleAdsSearchads360V23Common__AppAdInfo(data: any): GoogleAdsSearchads360V23Common__AppAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, mandatoryAdText: data["mandatoryAdText"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AdTextAsset(data["mandatoryAdText"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__AppAdInfo(data: any): GoogleAdsSearchads360V23Common__AppAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, mandatoryAdText: data["mandatoryAdText"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AdTextAsset(data["mandatoryAdText"]) : undefined, }; } /** * An app deep link asset */ export interface GoogleAdsSearchads360V23Common__AppDeepLinkAsset { /** * The uri for the app deep link, The uri can be either a custom scheme uri * (e.g. mystore://shoes) or universal uri (e.g. * http://www.mystore.com/shoes). */ appDeepLinkUri?: string; } /** * App engagement ads allow you to write text encouraging a specific action in * the app, like checking in, making a purchase, or booking a flight. They allow * you to send users to a specific part of your app where they can find what * they're looking for easier and faster. */ export interface GoogleAdsSearchads360V23Common__AppEngagementAdInfo { /** * List of text assets for descriptions. When the ad serves the descriptions * will be selected from this list. */ descriptions?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of text assets for headlines. When the ad serves the headlines will * be selected from this list. */ headlines?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of image assets that may be displayed with the ad. */ images?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * List of video assets that may be displayed with the ad. */ videos?: GoogleAdsSearchads360V23Common__AdVideoAsset[]; } function serializeGoogleAdsSearchads360V23Common__AppEngagementAdInfo(data: any): GoogleAdsSearchads360V23Common__AppEngagementAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__AppEngagementAdInfo(data: any): GoogleAdsSearchads360V23Common__AppEngagementAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } /** * An app payment model criterion. */ export interface GoogleAdsSearchads360V23Common__AppPaymentModelInfo { /** * Type of the app payment model. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "PAID"; } /** * App pre-registration ads link to your app or game listing on Google Play, * and can run on Google Play, on YouTube (in-stream only), and within other * apps and mobile websites on the Display Network. It will help capture * people's interest in your app or game and generate an early install base for * your app or game before a launch. */ export interface GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo { /** * List of text assets for descriptions. When the ad serves the descriptions * will be selected from this list. */ descriptions?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of text assets for headlines. When the ad serves the headlines will * be selected from this list. */ headlines?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of image asset IDs whose images may be displayed with the ad. */ images?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * List of YouTube video asset IDs whose videos may be displayed with the ad. */ youtubeVideos?: GoogleAdsSearchads360V23Common__AdVideoAsset[]; } function serializeGoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo(data: any): GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo(data: any): GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } /** * Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED */ export interface GoogleAdsSearchads360V23Common__AssetDisapproved { /** * Provides the quality evaluation disapproval reason of an asset. */ offlineEvaluationErrorReasons?: | "UNSPECIFIED" | "UNKNOWN" | "PRICE_ASSET_DESCRIPTION_REPEATS_ROW_HEADER" | "PRICE_ASSET_REPETITIVE_HEADERS" | "PRICE_ASSET_HEADER_INCOMPATIBLE_WITH_PRICE_TYPE" | "PRICE_ASSET_DESCRIPTION_INCOMPATIBLE_WITH_ITEM_HEADER" | "PRICE_ASSET_DESCRIPTION_HAS_PRICE_QUALIFIER" | "PRICE_ASSET_UNSUPPORTED_LANGUAGE" | "PRICE_ASSET_OTHER_ERROR"[]; } /** * An AssetInteractionTarget segment. */ export interface GoogleAdsSearchads360V23Common__AssetInteractionTarget { /** * The asset resource name. */ asset?: string; /** * Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. * Indicates whether the interaction metrics occurred on the asset itself or a * different asset or ad unit. */ interactionOnThisAsset?: boolean; } /** * Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus * value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating * PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some * additional details annotated with it. For instance, when the reason is * ASSET_DISAPPROVED, the details field will contain additional information * about the offline evaluation errors which led to the asset being disapproved. */ export interface GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails { /** * Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED */ assetDisapproved?: GoogleAdsSearchads360V23Common__AssetDisapproved; /** * Provides the reason of this PrimaryStatus. */ reason?: | "UNSPECIFIED" | "UNKNOWN" | "ASSET_LINK_PAUSED" | "ASSET_LINK_REMOVED" | "ASSET_DISAPPROVED" | "ASSET_UNDER_REVIEW" | "ASSET_APPROVED_LABELED"; /** * Provides the PrimaryStatus of this status detail. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "PAUSED" | "REMOVED" | "PENDING" | "LIMITED" | "NOT_ELIGIBLE"; } /** * Contains the usage information of the asset. */ export interface GoogleAdsSearchads360V23Common__AssetUsage { /** * Resource name of the asset. */ asset?: string; /** * The served field type of the asset. */ servedAssetFieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE_1" | "HEADLINE_2" | "HEADLINE_3" | "DESCRIPTION_1" | "DESCRIPTION_2" | "HEADLINE" | "HEADLINE_IN_PORTRAIT" | "LONG_HEADLINE" | "DESCRIPTION" | "DESCRIPTION_IN_PORTRAIT" | "BUSINESS_NAME_IN_PORTRAIT" | "BUSINESS_NAME" | "MARKETING_IMAGE" | "MARKETING_IMAGE_IN_PORTRAIT" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "CALL_TO_ACTION" | "YOU_TUBE_VIDEO" | "SITELINK" | "CALL" | "MOBILE_APP" | "CALLOUT" | "STRUCTURED_SNIPPET" | "PRICE" | "PROMOTION" | "AD_IMAGE" | "LEAD_FORM" | "BUSINESS_LOGO" | "DESCRIPTION_PREFIX" | "HEADLINE_AS_SITELINK_POSITION_ONE" | "HEADLINE_AS_SITELINK_POSITION_TWO" | "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE" | "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO"; } /** * Positive dimension specifying user's audience. */ export interface GoogleAdsSearchads360V23Common__AudienceDimension { /** * Dimension specifying users by their age. */ age?: GoogleAdsSearchads360V23Common__AgeDimension; /** * Dimension specifying users by their membership in other audience segments. */ audienceSegments?: GoogleAdsSearchads360V23Common__AudienceSegmentDimension; /** * Dimension specifying users by their gender. */ gender?: GoogleAdsSearchads360V23Common__GenderDimension; /** * Dimension specifying users by their household income. */ householdIncome?: GoogleAdsSearchads360V23Common__HouseholdIncomeDimension; /** * Dimension specifying users by their parental status. */ parentalStatus?: GoogleAdsSearchads360V23Common__ParentalStatusDimension; } /** * Negative dimension specifying users to exclude from the audience. */ export interface GoogleAdsSearchads360V23Common__AudienceExclusionDimension { /** * Audience segment to be excluded. */ exclusions?: GoogleAdsSearchads360V23Common__ExclusionSegment[]; } /** * An audience criterion. */ export interface GoogleAdsSearchads360V23Common__AudienceInfo { /** * The Audience resource name. */ audience?: string; } /** * An audience attribute that can be used to request insights about the * audience. */ export interface GoogleAdsSearchads360V23Common__AudienceInsightsAttribute { /** * An audience attribute defined by an age range. */ ageRange?: GoogleAdsSearchads360V23Common__AgeRangeInfo; /** * An audience attribute defined by interest in a Product & Service category. */ category?: GoogleAdsSearchads360V23Common__AudienceInsightsCategory; /** * A device type. (Mobile, Desktop, Tablet) */ device?: GoogleAdsSearchads360V23Common__DeviceInfo; /** * An audience attribute defined by interest in a topic represented by a * Knowledge Graph entity. */ entity?: GoogleAdsSearchads360V23Common__AudienceInsightsEntity; /** * An audience attribute defined by a gender. */ gender?: GoogleAdsSearchads360V23Common__GenderInfo; /** * A household income percentile range. */ incomeRange?: GoogleAdsSearchads360V23Common__IncomeRangeInfo; /** * A YouTube Lineup. */ lineup?: GoogleAdsSearchads360V23Common__AudienceInsightsLineup; /** * An audience attribute defined by a geographic location. */ location?: GoogleAdsSearchads360V23Common__LocationInfo; /** * A Parental Status value (parent, or not a parent). */ parentalStatus?: GoogleAdsSearchads360V23Common__ParentalStatusInfo; /** * An Affinity or In-Market audience. */ userInterest?: GoogleAdsSearchads360V23Common__UserInterestInfo; /** * A User List. */ userList?: GoogleAdsSearchads360V23Common__UserListInfo; /** * A YouTube channel. */ youtubeChannel?: GoogleAdsSearchads360V23Common__YouTubeChannelInfo; /** * A YouTube video. */ youtubeVideo?: GoogleAdsSearchads360V23Common__YouTubeVideoInfo; } /** * An audience attribute, with metadata about it, returned in response to a * search. */ export interface GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata { /** * The attribute itself. */ attribute?: GoogleAdsSearchads360V23Common__AudienceInsightsAttribute; /** * The type of the attribute. */ dimension?: | "UNSPECIFIED" | "UNKNOWN" | "CATEGORY" | "KNOWLEDGE_GRAPH" | "GEO_TARGET_COUNTRY" | "SUB_COUNTRY_LOCATION" | "YOUTUBE_CHANNEL" | "AFFINITY_USER_INTEREST" | "IN_MARKET_USER_INTEREST" | "PARENTAL_STATUS" | "INCOME_RANGE" | "AGE_RANGE" | "GENDER" | "YOUTUBE_VIDEO" | "DEVICE" | "YOUTUBE_LINEUP" | "USER_LIST" | "LIFE_EVENT_USER_INTEREST"; /** * A string that supplements the display_name to identify the attribute. If * the dimension is TOPIC, this is a brief description of the Knowledge Graph * entity, such as "American singer-songwriter". If the dimension is CATEGORY, * this is the complete path to the category in The Product & Service * taxonomy, for example "/Apparel/Clothing/Outerwear". */ displayInfo?: string; /** * The human-readable name of the attribute. */ displayName?: string; /** * Special metadata for a Knowledge Graph Entity. */ knowledgeGraphAttributeMetadata?: GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata; /** * Special metadata for a YouTube Lineup. */ lineupAttributeMetadata?: GoogleAdsSearchads360V23Common__LineupAttributeMetadata; /** * Special metadata for a Location. */ locationAttributeMetadata?: GoogleAdsSearchads360V23Common__LocationAttributeMetadata; /** * An estimate of the number of reachable YouTube users matching this * attribute in the requested location, or zero if that information is not * available for this attribute. This field is not populated in every * response. */ potentialYoutubeReach?: bigint; /** * The share of subscribers within this attribute, between and including 0 * and 1. This field is not populated in every response. */ subscriberShare?: number; /** * Special metadata for a User Interest. */ userInterestAttributeMetadata?: GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata; /** * Special metadata for a User List. */ userListAttributeMetadata?: GoogleAdsSearchads360V23Common__UserListAttributeMetadata; /** * The share of viewers within this attribute, between and including 0 and 1. * This field is not populated in every response. */ viewerShare?: number; /** * Special metadata for a YouTube channel. */ youtubeChannelMetadata?: GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata; /** * Special metadata for a YouTube video. */ youtubeVideoMetadata?: GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata; } function serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(data: any): GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata { return { ...data, knowledgeGraphAttributeMetadata: data["knowledgeGraphAttributeMetadata"] !== undefined ? serializeGoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata(data["knowledgeGraphAttributeMetadata"]) : undefined, lineupAttributeMetadata: data["lineupAttributeMetadata"] !== undefined ? serializeGoogleAdsSearchads360V23Common__LineupAttributeMetadata(data["lineupAttributeMetadata"]) : undefined, potentialYoutubeReach: data["potentialYoutubeReach"] !== undefined ? String(data["potentialYoutubeReach"]) : undefined, youtubeChannelMetadata: data["youtubeChannelMetadata"] !== undefined ? serializeGoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata(data["youtubeChannelMetadata"]) : undefined, youtubeVideoMetadata: data["youtubeVideoMetadata"] !== undefined ? serializeGoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata(data["youtubeVideoMetadata"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(data: any): GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata { return { ...data, knowledgeGraphAttributeMetadata: data["knowledgeGraphAttributeMetadata"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata(data["knowledgeGraphAttributeMetadata"]) : undefined, lineupAttributeMetadata: data["lineupAttributeMetadata"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__LineupAttributeMetadata(data["lineupAttributeMetadata"]) : undefined, potentialYoutubeReach: data["potentialYoutubeReach"] !== undefined ? BigInt(data["potentialYoutubeReach"]) : undefined, youtubeChannelMetadata: data["youtubeChannelMetadata"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata(data["youtubeChannelMetadata"]) : undefined, youtubeVideoMetadata: data["youtubeVideoMetadata"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata(data["youtubeVideoMetadata"]) : undefined, }; } /** * A group of audience attributes with metadata, returned in response to a * search. */ export interface GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup { /** * Attributes with metadata returned in response to a search. */ attributes?: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; } function serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup(data: any): GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup { return { ...data, attributes: data["attributes"] !== undefined ? data["attributes"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup(data: any): GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup { return { ...data, attributes: data["attributes"] !== undefined ? data["attributes"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, }; } /** * A Product and Service category. */ export interface GoogleAdsSearchads360V23Common__AudienceInsightsCategory { /** * Required. The criterion ID of the category. */ categoryId?: string; } /** * A Knowledge Graph entity, represented by its machine id. */ export interface GoogleAdsSearchads360V23Common__AudienceInsightsEntity { /** * Required. The machine ID (mid) of the Knowledge Graph entity. */ knowledgeGraphMachineId?: string; } /** * A YouTube Lineup. */ export interface GoogleAdsSearchads360V23Common__AudienceInsightsLineup { /** * Required. The numeric ID of the lineup. */ lineupId?: string; } /** * Positive audience segment. */ export interface GoogleAdsSearchads360V23Common__AudienceSegment { /** * Custom audience segment. */ customAudience?: GoogleAdsSearchads360V23Common__CustomAudienceSegment; /** * Detailed demographic segment. */ detailedDemographic?: GoogleAdsSearchads360V23Common__DetailedDemographicSegment; /** * Live-event audience segment. */ lifeEvent?: GoogleAdsSearchads360V23Common__LifeEventSegment; /** * Affinity or In-market segment. */ userInterest?: GoogleAdsSearchads360V23Common__UserInterestSegment; /** * User list segment. */ userList?: GoogleAdsSearchads360V23Common__UserListSegment; } /** * Dimension specifying users by their membership in other audience segments. */ export interface GoogleAdsSearchads360V23Common__AudienceSegmentDimension { /** * Included audience segments. Users are included if they belong to at least * one segment. */ segments?: GoogleAdsSearchads360V23Common__AudienceSegment[]; } export interface GoogleAdsSearchads360V23Common__BasicUserListInfo { /** * Actions associated with this user list. */ actions?: GoogleAdsSearchads360V23Common__UserListActionInfo[]; } /** * A Book on Google asset. Used to redirect user to book through Google. Book * on Google will change the redirect url to book directly through Google. */ export interface GoogleAdsSearchads360V23Common__BookOnGoogleAsset { } /** * Represents a Brand Criterion used for targeting based on commercial * knowledge graph. */ export interface GoogleAdsSearchads360V23Common__BrandInfo { /** * Output only. A text representation of a brand. */ readonly displayName?: string; /** * The Commercial KG MID for the brand. */ entityId?: string; /** * Output only. The primary url of a brand. */ readonly primaryUrl?: string; /** * Output only. The rejection reason when a brand status is REJECTED. */ readonly rejectionReason?: | "UNSPECIFIED" | "UNKNOWN" | "EXISTING_BRAND" | "EXISTING_BRAND_VARIANT" | "INCORRECT_INFORMATION" | "NOT_A_BRAND"; /** * Output only. The status of a brand. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "DEPRECATED" | "UNVERIFIED" | "APPROVED" | "CANCELLED" | "REJECTED"; } /** * A Brand List Criterion is used to specify a list of brands. The list is * represented as a SharedSet id type BRAND_HINT. A criterion of this type can * be either targeted or excluded. */ export interface GoogleAdsSearchads360V23Common__BrandListInfo { /** * Shared set resource name of the brand list. */ sharedSet?: string; } /** * Projected metrics for a specific budget amount. */ export interface GoogleAdsSearchads360V23Common__BudgetSimulationPoint { /** * Projected number of biddable conversions. */ biddableConversions?: number; /** * Projected total value of biddable conversions. */ biddableConversionsValue?: number; /** * The simulated budget upon which projected metrics are based. */ budgetAmountMicros?: bigint; /** * Projected number of clicks. */ clicks?: bigint; /** * Projected cost in micros. */ costMicros?: bigint; /** * Projected number of impressions. */ impressions?: bigint; /** * Projected number of interactions. Only discovery advertising channel type * supports this field. */ interactions?: bigint; /** * Projected required daily cpc bid ceiling that the advertiser must set to * realize this simulation, in micros of the advertiser currency. Only * campaigns with the Target Spend bidding strategy support this field. */ requiredCpcBidCeilingMicros?: bigint; /** * Projected number of top slot impressions. Only search advertising channel * type supports this field. */ topSlotImpressions?: bigint; } function serializeGoogleAdsSearchads360V23Common__BudgetSimulationPoint(data: any): GoogleAdsSearchads360V23Common__BudgetSimulationPoint { return { ...data, budgetAmountMicros: data["budgetAmountMicros"] !== undefined ? String(data["budgetAmountMicros"]) : undefined, clicks: data["clicks"] !== undefined ? String(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? String(data["costMicros"]) : undefined, impressions: data["impressions"] !== undefined ? String(data["impressions"]) : undefined, interactions: data["interactions"] !== undefined ? String(data["interactions"]) : undefined, requiredCpcBidCeilingMicros: data["requiredCpcBidCeilingMicros"] !== undefined ? String(data["requiredCpcBidCeilingMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? String(data["topSlotImpressions"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__BudgetSimulationPoint(data: any): GoogleAdsSearchads360V23Common__BudgetSimulationPoint { return { ...data, budgetAmountMicros: data["budgetAmountMicros"] !== undefined ? BigInt(data["budgetAmountMicros"]) : undefined, clicks: data["clicks"] !== undefined ? BigInt(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? BigInt(data["costMicros"]) : undefined, impressions: data["impressions"] !== undefined ? BigInt(data["impressions"]) : undefined, interactions: data["interactions"] !== undefined ? BigInt(data["interactions"]) : undefined, requiredCpcBidCeilingMicros: data["requiredCpcBidCeilingMicros"] !== undefined ? BigInt(data["requiredCpcBidCeilingMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? BigInt(data["topSlotImpressions"]) : undefined, }; } /** * A container for simulation points for simulations of type BUDGET. */ export interface GoogleAdsSearchads360V23Common__BudgetSimulationPointList { /** * Projected metrics for a series of budget amounts. */ points?: GoogleAdsSearchads360V23Common__BudgetSimulationPoint[]; } function serializeGoogleAdsSearchads360V23Common__BudgetSimulationPointList(data: any): GoogleAdsSearchads360V23Common__BudgetSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__BudgetSimulationPoint(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__BudgetSimulationPointList(data: any): GoogleAdsSearchads360V23Common__BudgetSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__BudgetSimulationPoint(item))) : undefined, }; } /** * A business message asset. */ export interface GoogleAdsSearchads360V23Common__BusinessMessageAsset { /** * A call to action for the business message asset. */ callToAction?: GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo; /** * Facebook Messenger. */ facebookMessengerInfo?: GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo; /** * Required. Message provider of the business message asset. */ messageProvider?: | "UNSPECIFIED" | "UNKNOWN" | "WHATSAPP" | "FACEBOOK_MESSENGER" | "ZALO"; /** * Required. A welcome message to prompt the user to initiate a conversation. */ starterMessage?: string; /** * Whatsapp. */ whatsappInfo?: GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo; /** * Zalo. */ zaloInfo?: GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo; } function serializeGoogleAdsSearchads360V23Common__BusinessMessageAsset(data: any): GoogleAdsSearchads360V23Common__BusinessMessageAsset { return { ...data, zaloInfo: data["zaloInfo"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo(data["zaloInfo"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__BusinessMessageAsset(data: any): GoogleAdsSearchads360V23Common__BusinessMessageAsset { return { ...data, zaloInfo: data["zaloInfo"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo(data["zaloInfo"]) : undefined, }; } /** * Display information that encourages the user to take action. */ export interface GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo { /** * Required. Text providing a clear value proposition of what users expect * once they take the action. Examples: 'Message us for a quote', 'Ask our * expert team'. */ callToActionDescription?: string; /** * Required. Pre-defined call to action text. */ callToActionSelection?: | "UNSPECIFIED" | "UNKNOWN" | "APPLY_NOW" | "BOOK_NOW" | "CONTACT_US" | "GET_INFO" | "GET_OFFER" | "GET_QUOTE" | "GET_STARTED" | "LEARN_MORE"; } /** * Business Profile location group business name filter. */ export interface GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter { /** * Business name string to use for filtering. */ businessName?: string; /** * The type of string matching to use when filtering with business_name. */ filterType?: | "UNSPECIFIED" | "UNKNOWN" | "EXACT"; } /** * Business Profile location data synced from the linked Business Profile * account. */ export interface GoogleAdsSearchads360V23Common__BusinessProfileLocation { /** * Advertiser specified label for the location on the Business Profile * account. This is synced from the Business Profile account. */ labels?: string[]; /** * Listing ID of this Business Profile location. This is synced from the * linked Business Profile account. */ listingId?: bigint; /** * Business Profile store code of this location. This is synced from the * Business Profile account. */ storeCode?: string; } function serializeGoogleAdsSearchads360V23Common__BusinessProfileLocation(data: any): GoogleAdsSearchads360V23Common__BusinessProfileLocation { return { ...data, listingId: data["listingId"] !== undefined ? String(data["listingId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__BusinessProfileLocation(data: any): GoogleAdsSearchads360V23Common__BusinessProfileLocation { return { ...data, listingId: data["listingId"] !== undefined ? BigInt(data["listingId"]) : undefined, }; } /** * Information about a Business Profile dynamic location group. Only applicable * if the sync level AssetSet's type is LOCATION_SYNC and sync source is * Business Profile. */ export interface GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup { /** * Filter for dynamic Business Profile location sets. */ dynamicBusinessProfileLocationGroupFilter?: GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter; } function serializeGoogleAdsSearchads360V23Common__BusinessProfileLocationGroup(data: any): GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup { return { ...data, dynamicBusinessProfileLocationGroupFilter: data["dynamicBusinessProfileLocationGroupFilter"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter(data["dynamicBusinessProfileLocationGroupFilter"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__BusinessProfileLocationGroup(data: any): GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup { return { ...data, dynamicBusinessProfileLocationGroupFilter: data["dynamicBusinessProfileLocationGroupFilter"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter(data["dynamicBusinessProfileLocationGroupFilter"]) : undefined, }; } /** * Data used to configure a location set populated from Google Business Profile * locations. Different types of filters are AND'ed together, if they are * specified. */ export interface GoogleAdsSearchads360V23Common__BusinessProfileLocationSet { /** * Immutable. The account ID of the managed business whose locations are to * be used. If this field is not set, then all businesses accessible by the * user (specified by the emailAddress) are used. */ businessAccountId?: string; /** * Used to filter Google Business Profile listings by business name. If * businessNameFilter is set, only listings with a matching business name are * candidates to be sync'd into Assets. */ businessNameFilter?: string; /** * Required. Immutable. Email address of a Google Business Profile account or * email address of a manager of the Google Business Profile account. */ emailAddress?: string; /** * Required. Immutable. The HTTP authorization token used to obtain * authorization. */ httpAuthorizationToken?: string; /** * Used to filter Google Business Profile listings by labels. If entries * exist in labelFilters, only listings that have any of the labels set are * candidates to be synchronized into Assets. If no entries exist in * labelFilters, then all listings are candidates for syncing. Label filters * are OR'ed together. */ labelFilters?: string[]; /** * Used to filter Google Business Profile listings by listing id. If entries * exist in listingIdFilters, only listings specified by the filters are * candidates to be synchronized into Assets. If no entries exist in * listingIdFilters, then all listings are candidates for syncing. Listing ID * filters are OR'ed together. */ listingIdFilters?: bigint[]; } function serializeGoogleAdsSearchads360V23Common__BusinessProfileLocationSet(data: any): GoogleAdsSearchads360V23Common__BusinessProfileLocationSet { return { ...data, listingIdFilters: data["listingIdFilters"] !== undefined ? data["listingIdFilters"].map((item: any) => (String(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__BusinessProfileLocationSet(data: any): GoogleAdsSearchads360V23Common__BusinessProfileLocationSet { return { ...data, listingIdFilters: data["listingIdFilters"] !== undefined ? data["listingIdFilters"].map((item: any) => (BigInt(item))) : undefined, }; } /** * A Call asset. */ export interface GoogleAdsSearchads360V23Common__CallAsset { /** * List of non-overlapping schedules specifying all time intervals for which * the asset may serve. There can be a maximum of 6 schedules per day, 42 in * total. */ adScheduleTargets?: GoogleAdsSearchads360V23Common__AdScheduleInfo[]; /** * The conversion action to attribute a call conversion to. If not set, the * default conversion action is used. This field only has effect if * call_conversion_reporting_state is set to * USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION. */ callConversionAction?: string; /** * Indicates whether this CallAsset should use its own call conversion * setting, follow the account level setting, or disable call conversion. */ callConversionReportingState?: | "UNSPECIFIED" | "UNKNOWN" | "DISABLED" | "USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION" | "USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION"; /** * Required. Two-letter country code of the phone number. Examples: 'US', * 'us'. */ countryCode?: string; /** * Required. The advertiser's raw phone number. Examples: '1234567890', * '(123)456-7890' */ phoneNumber?: string; } /** * Represents a Call extension. */ export interface GoogleAdsSearchads360V23Common__CallFeedItem { /** * The conversion action to attribute a call conversion to. If not set a * default conversion action is used. This field only has effect if * call_tracking_enabled is set to true. Otherwise this field is ignored. */ callConversionAction?: string; /** * Enum value that indicates whether this call extension uses its own call * conversion setting (or just have call conversion disabled), or following * the account level setting. */ callConversionReportingState?: | "UNSPECIFIED" | "UNKNOWN" | "DISABLED" | "USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION" | "USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION"; /** * If true, disable call conversion tracking. call_conversion_action should * not be set if this is true. Optional. */ callConversionTrackingDisabled?: boolean; /** * Indicates whether call tracking is enabled. By default, call tracking is * not enabled. */ callTrackingEnabled?: boolean; /** * Uppercase two-letter country code of the advertiser's phone number. This * string must not be empty. */ countryCode?: string; /** * The advertiser's phone number to append to the ad. This string must not be * empty. */ phoneNumber?: string; } /** * A Callout asset. */ export interface GoogleAdsSearchads360V23Common__CalloutAsset { /** * List of non-overlapping schedules specifying all time intervals for which * the asset may serve. There can be a maximum of 6 schedules per day, 42 in * total. */ adScheduleTargets?: GoogleAdsSearchads360V23Common__AdScheduleInfo[]; /** * Required. The callout text. The length of this string should be between 1 * and 25, inclusive. */ calloutText?: string; /** * Last date of when this asset is effective and still serving, in yyyy-MM-dd * format. */ endDate?: string; /** * Start date of when this asset is effective and can begin serving, in * yyyy-MM-dd format. */ startDate?: string; } /** * Represents a callout extension. */ export interface GoogleAdsSearchads360V23Common__CalloutFeedItem { /** * The callout text. The length of this string should be between 1 and 25, * inclusive. */ calloutText?: string; } /** * A call to action asset. */ export interface GoogleAdsSearchads360V23Common__CallToActionAsset { /** * Call to action. */ callToAction?: | "UNSPECIFIED" | "UNKNOWN" | "LEARN_MORE" | "GET_QUOTE" | "APPLY_NOW" | "SIGN_UP" | "CONTACT_US" | "SUBSCRIBE" | "DOWNLOAD" | "BOOK_NOW" | "SHOP_NOW" | "BUY_NOW" | "DONATE_NOW" | "ORDER_NOW" | "PLAY_NOW" | "SEE_MORE" | "START_NOW" | "VISIT_SITE" | "WATCH_NOW"; } /** * Container for third party Brand Lift integration data for Campaign. */ export interface GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner { /** * Allowed third party integration partners for Brand Lift verification. */ brandLiftIntegrationPartner?: | "UNSPECIFIED" | "UNKNOWN" | "KANTAR_MILLWARD_BROWN" | "DYNATA" | "INTAGE" | "MACROMILL"; /** * Third party partner data for YouTube Brand Lift verification. This is * optional metadata for partners to join or attach data to Ads campaigns. */ brandLiftIntegrationPartnerData?: GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData; /** * If true, then cost data will be shared with this vendor. */ shareCost?: boolean; } /** * Container for third party brand safety integration data for Campaign. */ export interface GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner { /** * Allowed third party integration partners for brand safety verification. */ brandSafetyIntegrationPartner?: | "UNSPECIFIED" | "UNKNOWN" | "DOUBLE_VERIFY" | "INTEGRAL_AD_SCIENCE" | "ZEFR"; /** * Third party partner data for YouTube brand safety verification. This is * optional metadata for partners to join or attach data to Ads campaigns. */ brandSafetyIntegrationPartnerData?: GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData; } /** * Container for Campaign level third party integration partners. */ export interface GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners { /** * Third party integration partners for Brand Lift verification for this * Campaign. */ brandLiftIntegrationPartners?: GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner[]; /** * Third party integration partners for brand safety verification for this * Campaign. */ brandSafetyIntegrationPartners?: GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner[]; /** * Third party integration partners for reach verification for this Campaign. */ reachIntegrationPartners?: GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner[]; /** * Third party integration partners for YouTube viewability verification for * this Campaign. */ viewabilityIntegrationPartners?: GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner[]; } /** * Container for third party reach integration data for Campaign. */ export interface GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner { /** * Allowed third party integration partners for reach verification. */ reachIntegrationPartner?: | "UNSPECIFIED" | "UNKNOWN" | "NIELSEN" | "COMSCORE" | "KANTAR_MILLWARD_BROWN" | "VIDEO_RESEARCH" | "GEMIUS" | "MEDIA_SCOPE" | "AUDIENCE_PROJECT" | "VIDEO_AMP" | "ISPOT_TV"; /** * Third party partner data for YouTube Reach verification. This is optional * metadata for partners to join or attach data to Ads campaigns. */ reachIntegrationPartnerData?: GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData; /** * If true, then cost data will be shared with this vendor. */ shareCost?: boolean; } /** * Container for third party viewability integration data for Campaign. */ export interface GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner { /** * If true, then cost data will be shared with this vendor. */ shareCost?: boolean; /** * Allowed third party integration partners for YouTube viewability * verification. */ viewabilityIntegrationPartner?: | "UNSPECIFIED" | "UNKNOWN" | "DOUBLE_VERIFY" | "INTEGRAL_AD_SCIENCE"; /** * Third party partner data for YouTube viewability verification. This is * optional metadata for partners to join or attach data to Ads campaigns. */ viewabilityIntegrationPartnerData?: GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData; } /** * Represents a Carrier Criterion. */ export interface GoogleAdsSearchads360V23Common__CarrierInfo { /** * The Carrier constant resource name. */ carrierConstant?: string; } /** * One chain level filter on location in a feed item set. The filtering logic * among all the fields is AND. */ export interface GoogleAdsSearchads360V23Common__ChainFilter { /** * Required. Used to filter chain locations by chain id. Only chain locations * that belong to the specified chain will be in the asset set. */ chainId?: bigint; /** * Used to filter chain locations by location attributes. Only chain * locations that belong to all of the specified attribute(s) will be in the * asset set. If this field is empty, it means no filtering on this field. */ locationAttributes?: string[]; } function serializeGoogleAdsSearchads360V23Common__ChainFilter(data: any): GoogleAdsSearchads360V23Common__ChainFilter { return { ...data, chainId: data["chainId"] !== undefined ? String(data["chainId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ChainFilter(data: any): GoogleAdsSearchads360V23Common__ChainFilter { return { ...data, chainId: data["chainId"] !== undefined ? BigInt(data["chainId"]) : undefined, }; } /** * Represents information about a Chain dynamic location group. Only applicable * if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. */ export interface GoogleAdsSearchads360V23Common__ChainLocationGroup { /** * Used to filter chain locations by chain ids. Only Locations that belong to * the specified chain(s) will be in the asset set. */ dynamicChainLocationGroupFilters?: GoogleAdsSearchads360V23Common__ChainFilter[]; } function serializeGoogleAdsSearchads360V23Common__ChainLocationGroup(data: any): GoogleAdsSearchads360V23Common__ChainLocationGroup { return { ...data, dynamicChainLocationGroupFilters: data["dynamicChainLocationGroupFilters"] !== undefined ? data["dynamicChainLocationGroupFilters"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__ChainFilter(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ChainLocationGroup(data: any): GoogleAdsSearchads360V23Common__ChainLocationGroup { return { ...data, dynamicChainLocationGroupFilters: data["dynamicChainLocationGroupFilters"] !== undefined ? data["dynamicChainLocationGroupFilters"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__ChainFilter(item))) : undefined, }; } /** * Data used to configure a location set populated with the specified chains. */ export interface GoogleAdsSearchads360V23Common__ChainSet { /** * Required. A list of chain level filters, all filters are OR'ed together. */ chains?: GoogleAdsSearchads360V23Common__ChainFilter[]; /** * Required. Immutable. Relationship type the specified chains have with this * advertiser. */ relationshipType?: | "UNSPECIFIED" | "UNKNOWN" | "AUTO_DEALERS" | "GENERAL_RETAILERS"; } function serializeGoogleAdsSearchads360V23Common__ChainSet(data: any): GoogleAdsSearchads360V23Common__ChainSet { return { ...data, chains: data["chains"] !== undefined ? data["chains"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__ChainFilter(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ChainSet(data: any): GoogleAdsSearchads360V23Common__ChainSet { return { ...data, chains: data["chains"] !== undefined ? data["chains"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__ChainFilter(item))) : undefined, }; } /** * Location criteria associated with a click. */ export interface GoogleAdsSearchads360V23Common__ClickLocation { /** * The city location criterion associated with the impression. */ city?: string; /** * The country location criterion associated with the impression. */ country?: string; /** * The metro location criterion associated with the impression. */ metro?: string; /** * The most specific location criterion associated with the impression. */ mostSpecific?: string; /** * The region location criterion associated with the impression. */ region?: string; } /** * A combined audience criterion. */ export interface GoogleAdsSearchads360V23Common__CombinedAudienceInfo { /** * The CombinedAudience resource name. */ combinedAudience?: string; } /** * Commission is an automatic bidding strategy in which the advertiser pays a * certain portion of the conversion value. */ export interface GoogleAdsSearchads360V23Common__Commission { /** * Commission rate defines the portion of the conversion value that the * advertiser will be billed. A commission rate of x should be passed into * this field as (x * 1,000,000). For example, 106,000 represents a commission * rate of 0.106 (10.6%). */ commissionRateMicros?: bigint; } function serializeGoogleAdsSearchads360V23Common__Commission(data: any): GoogleAdsSearchads360V23Common__Commission { return { ...data, commissionRateMicros: data["commissionRateMicros"] !== undefined ? String(data["commissionRateMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__Commission(data: any): GoogleAdsSearchads360V23Common__Commission { return { ...data, commissionRateMicros: data["commissionRateMicros"] !== undefined ? BigInt(data["commissionRateMicros"]) : undefined, }; } /** * The concept group for the keyword concept. */ export interface GoogleAdsSearchads360V23Common__ConceptGroup { /** * The concept group name. */ name?: string; /** * The concept group type. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "BRAND" | "OTHER_BRANDS" | "NON_BRAND"; } /** * Consent */ export interface GoogleAdsSearchads360V23Common__Consent { /** * This represents consent for ad personalization. This can only be set for * OfflineUserDataJobService and UserDataService. */ adPersonalization?: | "UNSPECIFIED" | "UNKNOWN" | "GRANTED" | "DENIED"; /** * This represents consent for ad user data. */ adUserData?: | "UNSPECIFIED" | "UNKNOWN" | "GRANTED" | "DENIED"; } /** * Content Label for category exclusion. */ export interface GoogleAdsSearchads360V23Common__ContentLabelInfo { /** * Content label type, required for CREATE operations. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "SEXUALLY_SUGGESTIVE" | "BELOW_THE_FOLD" | "PARKED_DOMAIN" | "JUVENILE" | "PROFANITY" | "TRAGEDY" | "VIDEO" | "VIDEO_RATING_DV_G" | "VIDEO_RATING_DV_PG" | "VIDEO_RATING_DV_T" | "VIDEO_RATING_DV_MA" | "VIDEO_NOT_YET_RATED" | "EMBEDDED_VIDEO" | "LIVE_STREAMING_VIDEO" | "SOCIAL_ISSUES" | "BRAND_SUITABILITY_CONTENT_FOR_FAMILIES" | "BRAND_SUITABILITY_GAMES_FIGHTING" | "BRAND_SUITABILITY_GAMES_MATURE" | "BRAND_SUITABILITY_HEALTH_SENSITIVE" | "BRAND_SUITABILITY_HEALTH_SOURCE_UNDETERMINED" | "BRAND_SUITABILITY_NEWS_RECENT" | "BRAND_SUITABILITY_NEWS_SENSITIVE" | "BRAND_SUITABILITY_NEWS_SOURCE_NOT_FEATURED" | "BRAND_SUITABILITY_POLITICS" | "BRAND_SUITABILITY_RELIGION"; } /** * Projected metrics for a specific CPC bid amount. */ export interface GoogleAdsSearchads360V23Common__CpcBidSimulationPoint { /** * Projected number of biddable conversions. */ biddableConversions?: number; /** * Projected total value of biddable conversions. */ biddableConversionsValue?: number; /** * Projected number of clicks. */ clicks?: bigint; /** * Projected cost in micros. */ costMicros?: bigint; /** * The simulated CPC bid upon which projected metrics are based. */ cpcBidMicros?: bigint; /** * The simulated scaling modifier upon which projected metrics are based. All * CPC bids relevant to the simulated entity are scaled by this modifier. */ cpcBidScalingModifier?: number; /** * Projected number of impressions. */ impressions?: bigint; /** * Projected required daily budget that the advertiser must set in order to * receive the estimated traffic, in micros of advertiser currency. */ requiredBudgetAmountMicros?: bigint; /** * Projected number of top slot impressions. Only search advertising channel * type supports this field. */ topSlotImpressions?: bigint; } function serializeGoogleAdsSearchads360V23Common__CpcBidSimulationPoint(data: any): GoogleAdsSearchads360V23Common__CpcBidSimulationPoint { return { ...data, clicks: data["clicks"] !== undefined ? String(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? String(data["costMicros"]) : undefined, cpcBidMicros: data["cpcBidMicros"] !== undefined ? String(data["cpcBidMicros"]) : undefined, impressions: data["impressions"] !== undefined ? String(data["impressions"]) : undefined, requiredBudgetAmountMicros: data["requiredBudgetAmountMicros"] !== undefined ? String(data["requiredBudgetAmountMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? String(data["topSlotImpressions"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__CpcBidSimulationPoint(data: any): GoogleAdsSearchads360V23Common__CpcBidSimulationPoint { return { ...data, clicks: data["clicks"] !== undefined ? BigInt(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? BigInt(data["costMicros"]) : undefined, cpcBidMicros: data["cpcBidMicros"] !== undefined ? BigInt(data["cpcBidMicros"]) : undefined, impressions: data["impressions"] !== undefined ? BigInt(data["impressions"]) : undefined, requiredBudgetAmountMicros: data["requiredBudgetAmountMicros"] !== undefined ? BigInt(data["requiredBudgetAmountMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? BigInt(data["topSlotImpressions"]) : undefined, }; } /** * A container for simulation points for simulations of type CPC_BID. */ export interface GoogleAdsSearchads360V23Common__CpcBidSimulationPointList { /** * Projected metrics for a series of CPC bid amounts. */ points?: GoogleAdsSearchads360V23Common__CpcBidSimulationPoint[]; } function serializeGoogleAdsSearchads360V23Common__CpcBidSimulationPointList(data: any): GoogleAdsSearchads360V23Common__CpcBidSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__CpcBidSimulationPoint(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__CpcBidSimulationPointList(data: any): GoogleAdsSearchads360V23Common__CpcBidSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__CpcBidSimulationPoint(item))) : undefined, }; } /** * Projected metrics for a specific CPV bid amount. */ export interface GoogleAdsSearchads360V23Common__CpvBidSimulationPoint { /** * Projected cost in micros. */ costMicros?: bigint; /** * The simulated CPV bid upon which projected metrics are based. */ cpvBidMicros?: bigint; /** * Projected number of impressions. */ impressions?: bigint; /** * Projected number of views. */ views?: bigint; } function serializeGoogleAdsSearchads360V23Common__CpvBidSimulationPoint(data: any): GoogleAdsSearchads360V23Common__CpvBidSimulationPoint { return { ...data, costMicros: data["costMicros"] !== undefined ? String(data["costMicros"]) : undefined, cpvBidMicros: data["cpvBidMicros"] !== undefined ? String(data["cpvBidMicros"]) : undefined, impressions: data["impressions"] !== undefined ? String(data["impressions"]) : undefined, views: data["views"] !== undefined ? String(data["views"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__CpvBidSimulationPoint(data: any): GoogleAdsSearchads360V23Common__CpvBidSimulationPoint { return { ...data, costMicros: data["costMicros"] !== undefined ? BigInt(data["costMicros"]) : undefined, cpvBidMicros: data["cpvBidMicros"] !== undefined ? BigInt(data["cpvBidMicros"]) : undefined, impressions: data["impressions"] !== undefined ? BigInt(data["impressions"]) : undefined, views: data["views"] !== undefined ? BigInt(data["views"]) : undefined, }; } /** * A container for simulation points for simulations of type CPV_BID. */ export interface GoogleAdsSearchads360V23Common__CpvBidSimulationPointList { /** * Projected metrics for a series of CPV bid amounts. */ points?: GoogleAdsSearchads360V23Common__CpvBidSimulationPoint[]; } function serializeGoogleAdsSearchads360V23Common__CpvBidSimulationPointList(data: any): GoogleAdsSearchads360V23Common__CpvBidSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__CpvBidSimulationPoint(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__CpvBidSimulationPointList(data: any): GoogleAdsSearchads360V23Common__CpvBidSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__CpvBidSimulationPoint(item))) : undefined, }; } /** * Information of category availability, per advertising channel. */ export interface GoogleAdsSearchads360V23Common__CriterionCategoryAvailability { /** * Channel types and subtypes that are available to the category. */ channel?: GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability; /** * Locales that are available to the category for the channel. */ locale?: GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability[]; } /** * Information of advertising channel type and subtypes a category is available * in. */ export interface GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability { /** * Channel subtypes under the channel type the category is available to. */ advertisingChannelSubType?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH_MOBILE_APP" | "DISPLAY_MOBILE_APP" | "SEARCH_EXPRESS" | "DISPLAY_EXPRESS" | "SHOPPING_SMART_ADS" | "DISPLAY_GMAIL_AD" | "DISPLAY_SMART_CAMPAIGN" | "VIDEO_ACTION" | "VIDEO_NON_SKIPPABLE" | "APP_CAMPAIGN" | "APP_CAMPAIGN_FOR_ENGAGEMENT" | "LOCAL_CAMPAIGN" | "SHOPPING_COMPARISON_LISTING_ADS" | "SMART_CAMPAIGN" | "VIDEO_SEQUENCE" | "APP_CAMPAIGN_FOR_PRE_REGISTRATION" | "VIDEO_REACH_TARGET_FREQUENCY" | "TRAVEL_ACTIVITIES" | "SOCIAL_FACEBOOK_TRACKING_ONLY"[]; /** * Channel type the category is available to. */ advertisingChannelType?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH" | "DISPLAY" | "SHOPPING" | "HOTEL" | "VIDEO" | "MULTI_CHANNEL" | "LOCAL" | "SMART" | "PERFORMANCE_MAX" | "LOCAL_SERVICES" | "TRAVEL" | "DEMAND_GEN" | "SOCIAL"; /** * Format of the channel availability. Can be ALL_CHANNELS (the rest of the * fields will not be set), CHANNEL_TYPE (only advertising_channel_type type * will be set, the category is available to all sub types under it) or * CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, * advertising_channel_sub_type, and include_default_channel_sub_type will all * be set). */ availabilityMode?: | "UNSPECIFIED" | "UNKNOWN" | "ALL_CHANNELS" | "CHANNEL_TYPE_AND_ALL_SUBTYPES" | "CHANNEL_TYPE_AND_SUBSET_SUBTYPES"; /** * Whether default channel sub type is included. For example, * advertising_channel_type being DISPLAY and include_default_channel_sub_type * being false means that the default display campaign where channel sub type * is not set is not included in this availability configuration. */ includeDefaultChannelSubType?: boolean; } /** * Information about which locales a category is available in. */ export interface GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability { /** * Format of the locale availability. Can be LAUNCHED_TO_ALL (both country * and language will be empty), COUNTRY (only country will be set), LANGUAGE * (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language * will be set). */ availabilityMode?: | "UNSPECIFIED" | "UNKNOWN" | "ALL_LOCALES" | "COUNTRY_AND_ALL_LANGUAGES" | "LANGUAGE_AND_ALL_COUNTRIES" | "COUNTRY_AND_LANGUAGE"; /** * The ISO-3166-1 alpha-2 country code associated with the category. */ countryCode?: string; /** * ISO 639-1 code of the language associated with the category. */ languageCode?: string; } /** * UserList of CRM users provided by the advertiser. */ export interface GoogleAdsSearchads360V23Common__CrmBasedUserListInfo { /** * A string that uniquely identifies a mobile application from which the data * was collected. For iOS, the ID string is the 9 digit string that appears at * the end of an App Store URL (for example, "476943146" for "Flood-It! 2" * whose App Store link is * http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the * ID string is the application's package name (for example, * "com.labpixies.colordrips" for "Color Drips" given Google Play link * https://play.google.com/store/apps/details?id=com.labpixies.colordrips). * Required when creating CrmBasedUserList for uploading mobile advertising * IDs. */ appId?: string; /** * Data source of the list. Default value is FIRST_PARTY. Only customers on * the allow-list can create third-party sourced CRM lists. */ dataSourceType?: | "UNSPECIFIED" | "UNKNOWN" | "FIRST_PARTY" | "THIRD_PARTY_CREDIT_BUREAU" | "THIRD_PARTY_VOTER_FILE" | "THIRD_PARTY_PARTNER_DATA"; /** * Matching key type of the list. Mixed data types are not allowed on the * same list. This field is required for an ADD operation. */ uploadKeyType?: | "UNSPECIFIED" | "UNKNOWN" | "CONTACT_INFO" | "CRM_ID" | "MOBILE_ADVERTISING_ID"; } /** * A custom affinity criterion. A criterion of this type is only targetable. */ export interface GoogleAdsSearchads360V23Common__CustomAffinityInfo { /** * The CustomInterest resource name. */ customAffinity?: string; } /** * A custom audience criterion. */ export interface GoogleAdsSearchads360V23Common__CustomAudienceInfo { /** * The CustomAudience resource name. */ customAudience?: string; } /** * Custom audience segment. */ export interface GoogleAdsSearchads360V23Common__CustomAudienceSegment { /** * The custom audience resource. */ customAudience?: string; } /** * Lifecycle goal optimization value settings. */ export interface GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings { /** * High lifetime value of the lifecycle goal. For example, for customer * acquisition goals, high lifetime value is the incremental conversion value * for lapsed customers who are of high value. High lifetime value should be * greater than value, if set. */ additionalHighLifetimeValue?: number; /** * Value of the lifecycle goal. For example, for retention goals, value is * the incremental conversion value for lapsed customers who are not of high * value. */ additionalValue?: number; } /** * Metadata for customer match user list. */ export interface GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata { /** * The consent setting for all the users in this job. */ consent?: GoogleAdsSearchads360V23Common__Consent; /** * The resource name of remarketing list to update data. Required for job of * CUSTOMER_MATCH_USER_LIST type. */ userList?: string; } /** * Container for third party Brand Lift integration data for Customer. */ export interface GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner { /** * If true, cost data can be shared with this vendor. */ allowShareCost?: boolean; /** * Allowed Third Party integration partners for Brand Lift verification. */ brandLiftIntegrationPartner?: | "UNSPECIFIED" | "UNKNOWN" | "KANTAR_MILLWARD_BROWN" | "DYNATA" | "INTAGE" | "MACROMILL"; } /** * Container for third party brand safety integration data for Customer. */ export interface GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner { /** * Allowed third party integration partners for brand safety verification. */ brandSafetyIntegrationPartner?: | "UNSPECIFIED" | "UNKNOWN" | "DOUBLE_VERIFY" | "INTEGRAL_AD_SCIENCE" | "ZEFR"; } /** * Container for Customer level third party integration partners. */ export interface GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners { /** * Allowed third party integration partners for Brand Lift verification. */ brandLiftIntegrationPartners?: GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner[]; /** * Allowed third party integration partners for brand safety verification. */ brandSafetyIntegrationPartners?: GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner[]; /** * Allowed third party integration partners for reach verification. */ reachIntegrationPartners?: GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner[]; /** * Allowed third party integration partners for YouTube viewability * verification. */ viewabilityIntegrationPartners?: GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner[]; } /** * Container for third party reach integration data for Customer. */ export interface GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner { /** * If true, cost data can be shared with this vendor. */ allowShareCost?: boolean; /** * Allowed Third Party integration partners for reach verification. */ reachIntegrationPartner?: | "UNSPECIFIED" | "UNKNOWN" | "NIELSEN" | "COMSCORE" | "KANTAR_MILLWARD_BROWN" | "VIDEO_RESEARCH" | "GEMIUS" | "MEDIA_SCOPE" | "AUDIENCE_PROJECT" | "VIDEO_AMP" | "ISPOT_TV"; } /** * Container for third party viewability integration data for Customer. */ export interface GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner { /** * If true, cost data can be shared with this vendor. */ allowShareCost?: boolean; /** * Allowed third party integration partners for YouTube viewability * verification. */ viewabilityIntegrationPartner?: | "UNSPECIFIED" | "UNKNOWN" | "DOUBLE_VERIFY" | "INTEGRAL_AD_SCIENCE"; } /** * A custom intent criterion. A criterion of this type is only targetable. */ export interface GoogleAdsSearchads360V23Common__CustomIntentInfo { /** * The CustomInterest resource name. */ customIntent?: string; } /** * A customizer value that is referenced in customizer linkage entities like * CustomerCustomizer, CampaignCustomizer, etc. */ export interface GoogleAdsSearchads360V23Common__CustomizerValue { /** * Required. Value to insert in creative text. Customizer values of all types * are stored as string to make formatting unambiguous. */ stringValue?: string; /** * Required. The data type for the customizer value. It must match the * attribute type. The string_value content must match the constraints * associated with the type. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "TEXT" | "NUMBER" | "PRICE" | "PERCENT"; } /** * A mapping that can be used by custom parameter tags in a * `tracking_url_template`, `final_urls`, or `mobile_final_urls`. */ export interface GoogleAdsSearchads360V23Common__CustomParameter { /** * The key matching the parameter tag name. */ key?: string; /** * The value to be substituted. */ value?: string; } /** * A date range. */ export interface GoogleAdsSearchads360V23Common__DateRange { /** * The end date, in yyyy-mm-dd format. This date is inclusive. */ endDate?: string; /** * The start date, in yyyy-mm-dd format. This date is inclusive. */ startDate?: string; } /** * A Demand Gen carousel ad. */ export interface GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo { /** * Required. The Advertiser/brand name. */ businessName?: string; /** * Call to action text. */ callToActionText?: string; /** * Required. Carousel cards that will display with the ad. Min 2 max 10. */ carouselCards?: GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset[]; /** * Required. The descriptive text of the ad. */ description?: GoogleAdsSearchads360V23Common__AdTextAsset; /** * Required. Headline of the ad. */ headline?: GoogleAdsSearchads360V23Common__AdTextAsset; /** * Required. Logo image to be used in the ad. The minimum size is 128x128 and * the aspect ratio must be 1:1 (+-1%). */ logoImage?: GoogleAdsSearchads360V23Common__AdImageAsset; } function serializeGoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo(data: any): GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo { return { ...data, description: data["description"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AdTextAsset(data["description"]) : undefined, headline: data["headline"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AdTextAsset(data["headline"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo(data: any): GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo { return { ...data, description: data["description"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AdTextAsset(data["description"]) : undefined, headline: data["headline"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AdTextAsset(data["headline"]) : undefined, }; } /** * A Demand Gen Carousel Card asset. */ export interface GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset { /** * Call to action text. */ callToActionText?: string; /** * Required. Headline of the carousel card. */ headline?: string; /** * Asset resource name of the associated 1.91:1 marketing image. This and/or * square marketing image asset is required. */ marketingImageAsset?: string; /** * Asset resource name of the associated 4:5 portrait marketing image. */ portraitMarketingImageAsset?: string; /** * Asset resource name of the associated square marketing image. This and/or * a marketing image asset is required. */ squareMarketingImageAsset?: string; } /** * A Demand Gen multi asset ad. */ export interface GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo { /** * The Advertiser/brand name. Maximum display width is 25. Required. */ businessName?: string; /** * Call to action text. */ callToActionText?: string; /** * The descriptive text of the ad. Maximum display width is 90. At least 1 * and max 5 descriptions can be specified. */ descriptions?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * Headline text asset of the ad. Maximum display width is 30. At least 1 and * max 5 headlines can be specified. */ headlines?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * Logo image assets to be used in the ad. Valid image types are GIF, JPEG, * and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 * (+-1%). At least 1 and max 5 logo images can be specified. */ logoImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * Marketing image assets to be used in the ad. Valid image types are GIF, * JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be * 1.91:1 (+-1%). Required if square_marketing_images is not present. */ marketingImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * Portrait marketing image assets to be used in the ad. Valid image types * are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio * must be 4:5 (+-1%). */ portraitMarketingImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * Square marketing image assets to be used in the ad. Valid image types are * GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must * be 1:1 (+-1%). Required if marketing_images is not present. */ squareMarketingImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * Tall portrait marketing image assets to be used in the ad. Valid image * types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect * ratio must be 9:16 (+-1%). Combined with `marketing_images`, * `square_marketing_images`, and `portrait_marketing_images`, the maximum is * 20. */ tallPortraitMarketingImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; } function serializeGoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo(data: any): GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo(data: any): GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } /** * A Demand Gen product ad. */ export interface GoogleAdsSearchads360V23Common__DemandGenProductAdInfo { /** * First part of text that appears in the ad with the displayed URL. */ breadcrumb1?: string; /** * Second part of text that appears in the ad with the displayed URL. */ breadcrumb2?: string; /** * Required. The advertiser/brand name. */ businessName?: GoogleAdsSearchads360V23Common__AdTextAsset; /** * Asset of type CallToActionAsset used for the "Call To Action" button. */ callToAction?: GoogleAdsSearchads360V23Common__AdCallToActionAsset; /** * Required. Text asset used for the description. */ description?: GoogleAdsSearchads360V23Common__AdTextAsset; /** * Required. Text asset used for the short headline. */ headline?: GoogleAdsSearchads360V23Common__AdTextAsset; /** * Required. Logo image to be used in the ad. Valid image types are GIF, * JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 * (+-1%). */ logoImage?: GoogleAdsSearchads360V23Common__AdImageAsset; } function serializeGoogleAdsSearchads360V23Common__DemandGenProductAdInfo(data: any): GoogleAdsSearchads360V23Common__DemandGenProductAdInfo { return { ...data, businessName: data["businessName"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AdTextAsset(data["businessName"]) : undefined, description: data["description"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AdTextAsset(data["description"]) : undefined, headline: data["headline"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AdTextAsset(data["headline"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DemandGenProductAdInfo(data: any): GoogleAdsSearchads360V23Common__DemandGenProductAdInfo { return { ...data, businessName: data["businessName"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AdTextAsset(data["businessName"]) : undefined, description: data["description"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AdTextAsset(data["description"]) : undefined, headline: data["headline"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AdTextAsset(data["headline"]) : undefined, }; } /** * A Demand Gen video responsive ad. */ export interface GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo { /** * First part of text that appears in the ad with the displayed URL. */ breadcrumb1?: string; /** * Second part of text that appears in the ad with the displayed URL. */ breadcrumb2?: string; /** * Required. The advertiser/brand name. */ businessName?: GoogleAdsSearchads360V23Common__AdTextAsset; /** * Assets of type CallToActionAsset used for the "Call To Action" button. */ callToActions?: GoogleAdsSearchads360V23Common__AdCallToActionAsset[]; /** * List of image assets used for the companion banner. Currently, only a * single value for the companion banner asset is supported. */ companionBanners?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * List of text assets used for the description. */ descriptions?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of text assets used for the short headline. */ headlines?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. * The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). */ logoImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * List of text assets used for the long headline. */ longHeadlines?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of YouTube video assets used for the ad. */ videos?: GoogleAdsSearchads360V23Common__AdVideoAsset[]; } function serializeGoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo(data: any): GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo { return { ...data, businessName: data["businessName"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AdTextAsset(data["businessName"]) : undefined, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, longHeadlines: data["longHeadlines"] !== undefined ? data["longHeadlines"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo(data: any): GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo { return { ...data, businessName: data["businessName"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AdTextAsset(data["businessName"]) : undefined, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, longHeadlines: data["longHeadlines"] !== undefined ? data["longHeadlines"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } /** * Detailed demographic segment. */ export interface GoogleAdsSearchads360V23Common__DetailedDemographicSegment { /** * The detailed demographic resource. */ detailedDemographic?: string; } /** * A device criterion. */ export interface GoogleAdsSearchads360V23Common__DeviceInfo { /** * Type of the device. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "MOBILE" | "TABLET" | "DESKTOP" | "CONNECTED_TV" | "OTHER"; } /** * A generic type of display ad. The exact ad format is controlled by the * `display_upload_product_type` field, which determines what kinds of data need * to be included with the ad. */ export interface GoogleAdsSearchads360V23Common__DisplayUploadAdInfo { /** * The product type of this ad. See comments on the enum for details. */ displayUploadProductType?: | "UNSPECIFIED" | "UNKNOWN" | "HTML5_UPLOAD_AD" | "DYNAMIC_HTML5_EDUCATION_AD" | "DYNAMIC_HTML5_FLIGHT_AD" | "DYNAMIC_HTML5_HOTEL_RENTAL_AD" | "DYNAMIC_HTML5_JOB_AD" | "DYNAMIC_HTML5_LOCAL_AD" | "DYNAMIC_HTML5_REAL_ESTATE_AD" | "DYNAMIC_HTML5_CUSTOM_AD" | "DYNAMIC_HTML5_TRAVEL_AD" | "DYNAMIC_HTML5_HOTEL_AD"; /** * A media bundle asset to be used in the ad. For information about the media * bundle for HTML5_UPLOAD_AD, see * https://support.google.com/google-ads/answer/1722096 Media bundles that are * part of dynamic product types use a special format that needs to be created * through the Google Web Designer. See * https://support.google.com/webdesigner/answer/7543898 for more information. */ mediaBundle?: GoogleAdsSearchads360V23Common__AdMediaBundleAsset; } /** * Represents a filter on Business Profile locations in an asset set. If * multiple filters are provided, they are AND'ed together. */ export interface GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter { /** * Used to filter Business Profile locations by business name. */ businessNameFilter?: GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter; /** * Used to filter Business Profile locations by label. Only locations that * have any of the listed labels will be in the asset set. Label filters are * OR'ed together. */ labelFilters?: string[]; /** * Used to filter Business Profile locations by listing ids. */ listingIdFilters?: bigint[]; } function serializeGoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter(data: any): GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter { return { ...data, listingIdFilters: data["listingIdFilters"] !== undefined ? data["listingIdFilters"].map((item: any) => (String(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter(data: any): GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter { return { ...data, listingIdFilters: data["listingIdFilters"] !== undefined ? data["listingIdFilters"].map((item: any) => (BigInt(item))) : undefined, }; } /** * A dynamic custom asset. */ export interface GoogleAdsSearchads360V23Common__DynamicCustomAsset { /** * Android deep link, for example, * android-app://com.example.android/http/example.com/gizmos?1234. */ androidAppLink?: string; /** * Contextual keywords, for example, Sedans, 4 door sedans. */ contextualKeywords?: string[]; /** * Formatted price which can be any characters. If set, this attribute will * be used instead of 'price', for example, Starting at $20,000.00. */ formattedPrice?: string; /** * Formatted sale price which can be any characters. If set, this attribute * will be used instead of 'sale price', for example, On sale for $15,000.00. */ formattedSalePrice?: string; /** * Required. ID which can be any sequence of letters and digits, and must be * unique and match the values of remarketing tag, for example, sedan. * Required. */ id?: string; /** * ID2 which can be any sequence of letters and digits, for example, red. ID * sequence (ID + ID2) must be unique. */ id2?: string; /** * Image URL, for example, http://www.example.com/image.png. The image will * not be uploaded as image asset. */ imageUrl?: string; /** * iOS deep link, for example, exampleApp://content/page. */ iosAppLink?: string; /** * iOS app store ID. This is used to check if the user has the app installed * on their device before deep linking. If this field is set, then the * ios_app_link field must also be present. */ iosAppStoreId?: bigint; /** * Item address which can be specified in one of the following formats. (1) * City, state, code, country, for example, Mountain View, CA, USA. (2) Full * address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) * Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 */ itemAddress?: string; /** * Item category, for example, Sedans. */ itemCategory?: string; /** * Item description, for example, Best selling mid-size car. */ itemDescription?: string; /** * Item subtitle, for example, At your Mountain View dealership. */ itemSubtitle?: string; /** * Required. Item title, for example, Mid-size sedan. Required. */ itemTitle?: string; /** * Price which can be number followed by the alphabetic currency code, ISO * 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD. */ price?: string; /** * Sale price which can be number followed by the alphabetic currency code, * ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. * Must be less than the 'price' field. */ salePrice?: string; /** * Similar IDs. */ similarIds?: string[]; } function serializeGoogleAdsSearchads360V23Common__DynamicCustomAsset(data: any): GoogleAdsSearchads360V23Common__DynamicCustomAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? String(data["iosAppStoreId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DynamicCustomAsset(data: any): GoogleAdsSearchads360V23Common__DynamicCustomAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? BigInt(data["iosAppStoreId"]) : undefined, }; } /** * A Dynamic Education asset. */ export interface GoogleAdsSearchads360V23Common__DynamicEducationAsset { /** * School address which can be specified in one of the following formats. (1) * City, state, code, country, for example, Mountain View, CA, USA. (2) Full * address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) * Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 */ address?: string; /** * Android deep link, for example, * android-app://com.example.android/http/example.com/gizmos?1234. */ androidAppLink?: string; /** * Contextual keywords, for example, Nursing certification, Health, Mountain * View. */ contextualKeywords?: string[]; /** * Image url, for example, http://www.example.com/image.png. The image will * not be uploaded as image asset. */ imageUrl?: string; /** * iOS deep link, for example, exampleApp://content/page. */ iosAppLink?: string; /** * iOS app store ID. This is used to check if the user has the app installed * on their device before deep linking. If this field is set, then the * ios_app_link field must also be present. */ iosAppStoreId?: bigint; /** * Location ID which can be any sequence of letters and digits and must be * unique. */ locationId?: string; /** * Program description, for example, Nursing Certification. */ programDescription?: string; /** * Required. Program ID which can be any sequence of letters and digits, and * must be unique and match the values of remarketing tag. Required. */ programId?: string; /** * Required. Program name, for example, Nursing. Required. */ programName?: string; /** * School name, for example, Mountain View School of Nursing. */ schoolName?: string; /** * Similar program IDs. */ similarProgramIds?: string[]; /** * Subject of study, for example, Health. */ subject?: string; /** * Thumbnail image url, for example, http://www.example.com/thumbnail.png. * The thumbnail image will not be uploaded as image asset. */ thumbnailImageUrl?: string; } function serializeGoogleAdsSearchads360V23Common__DynamicEducationAsset(data: any): GoogleAdsSearchads360V23Common__DynamicEducationAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? String(data["iosAppStoreId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DynamicEducationAsset(data: any): GoogleAdsSearchads360V23Common__DynamicEducationAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? BigInt(data["iosAppStoreId"]) : undefined, }; } /** * A dynamic flights asset. */ export interface GoogleAdsSearchads360V23Common__DynamicFlightsAsset { /** * Android deep link, for example, * android-app://com.example.android/http/example.com/gizmos?1234. */ androidAppLink?: string; /** * A custom field which can be multiple key to values mapping separated by * delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | * ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 * | legroom: 32". */ customMapping?: string; /** * Required. Destination ID which can be any sequence of letters and digits, * and must be unique and match the values of remarketing tag. Required. */ destinationId?: string; /** * Destination name, for example, Paris. */ destinationName?: string; /** * Required. Flight description, for example, Book your ticket. Required. */ flightDescription?: string; /** * Flight price which can be number followed by the alphabetic currency code, * ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. */ flightPrice?: string; /** * Flight sale price which can be number followed by the alphabetic currency * code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 * USD. Must be less than the 'flight_price' field. */ flightSalePrice?: string; /** * Formatted price which can be any characters. If set, this attribute will * be used instead of 'price', for example, Starting at $100.00. */ formattedPrice?: string; /** * Formatted sale price which can be any characters. If set, this attribute * will be used instead of 'sale price', for example, On sale for $80.00. */ formattedSalePrice?: string; /** * Image URL, for example, http://www.example.com/image.png. The image will * not be uploaded as image asset. */ imageUrl?: string; /** * iOS deep link, for example, exampleApp://content/page. */ iosAppLink?: string; /** * iOS app store ID. This is used to check if the user has the app installed * on their device before deep linking. If this field is set, then the * ios_app_link field must also be present. */ iosAppStoreId?: bigint; /** * Origin ID which can be any sequence of letters and digits. The ID sequence * (destination ID + origin ID) must be unique. */ originId?: string; /** * Origin name, for example, London. */ originName?: string; /** * Similar destination IDs, for example, PAR,LON. */ similarDestinationIds?: string[]; } function serializeGoogleAdsSearchads360V23Common__DynamicFlightsAsset(data: any): GoogleAdsSearchads360V23Common__DynamicFlightsAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? String(data["iosAppStoreId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DynamicFlightsAsset(data: any): GoogleAdsSearchads360V23Common__DynamicFlightsAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? BigInt(data["iosAppStoreId"]) : undefined, }; } /** * A dynamic hotels and rentals asset. */ export interface GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset { /** * Address which can be specified in one of the following formats. (1) City, * state, code, country, for example, Mountain View, CA, USA. (2) Full * address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) * Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 */ address?: string; /** * Android deep link, for example, * android-app://com.example.android/http/example.com/gizmos?1234. */ androidAppLink?: string; /** * Category, for example, Hotel suite. */ category?: string; /** * Contextual keywords, for example, Mountain View "Hotels", South Bay * hotels. */ contextualKeywords?: string[]; /** * Description, for example, Close to SJC Airport. */ description?: string; /** * Destination name, for example, Downtown Mountain View. */ destinationName?: string; /** * Formatted price which can be any characters. If set, this attribute will * be used instead of 'price', for example, Starting at $100.00. */ formattedPrice?: string; /** * Formatted sale price which can be any characters. If set, this attribute * will be used instead of 'sale price', for example, On sale for $80.00. */ formattedSalePrice?: string; /** * Image URL, for example, http://www.example.com/image.png. The image will * not be uploaded as image asset. */ imageUrl?: string; /** * iOS deep link, for example, exampleApp://content/page. */ iosAppLink?: string; /** * iOS app store ID. This is used to check if the user has the app installed * on their device before deep linking. If this field is set, then the * ios_app_link field must also be present. */ iosAppStoreId?: bigint; /** * Price which can be number followed by the alphabetic currency code, ISO * 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. */ price?: string; /** * Required. Property ID which can be any sequence of letters and digits, and * must be unique and match the values of remarketing tag. Required. */ propertyId?: string; /** * Required. Property name, for example, Mountain View Hotel. Required. */ propertyName?: string; /** * ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. * Must be less than the 'price' field. */ salePrice?: string; /** * Similar property IDs. */ similarPropertyIds?: string[]; /** * Star rating. Must be a number between 1 to 5, inclusive. */ starRating?: bigint; } function serializeGoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset(data: any): GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? String(data["iosAppStoreId"]) : undefined, starRating: data["starRating"] !== undefined ? String(data["starRating"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset(data: any): GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? BigInt(data["iosAppStoreId"]) : undefined, starRating: data["starRating"] !== undefined ? BigInt(data["starRating"]) : undefined, }; } /** * A dynamic jobs asset. */ export interface GoogleAdsSearchads360V23Common__DynamicJobsAsset { /** * Address which can be specified in one of the following formats. (1) City, * state, code, country, for example, Mountain View, CA, USA. (2) Full * address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) * Latitude-longitude in the DDD format, for example, 41.40338, 2.17403. */ address?: string; /** * Android deep link, for example, * android-app://com.example.android/http/example.com/gizmos?1234. */ androidAppLink?: string; /** * Contextual keywords, for example, Software engineering job. */ contextualKeywords?: string[]; /** * Description, for example, Apply your technical skills. */ description?: string; /** * Image URL, for example, http://www.example.com/image.png. The image will * not be uploaded as image asset. */ imageUrl?: string; /** * iOS deep link, for example, exampleApp://content/page. */ iosAppLink?: string; /** * iOS app store ID. This is used to check if the user has the app installed * on their device before deep linking. If this field is set, then the * ios_app_link field must also be present. */ iosAppStoreId?: bigint; /** * Job category, for example, Technical. */ jobCategory?: string; /** * Required. Job ID which can be any sequence of letters and digits, and must * be unique and match the values of remarketing tag. Required. */ jobId?: string; /** * Job subtitle, for example, Level II. */ jobSubtitle?: string; /** * Required. Job title, for example, Software engineer. Required. */ jobTitle?: string; /** * Location ID which can be any sequence of letters and digits. The ID * sequence (job ID + location ID) must be unique. */ locationId?: string; /** * Salary, for example, $100,000. */ salary?: string; /** * Similar job IDs, for example, 1275. */ similarJobIds?: string[]; } function serializeGoogleAdsSearchads360V23Common__DynamicJobsAsset(data: any): GoogleAdsSearchads360V23Common__DynamicJobsAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? String(data["iosAppStoreId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DynamicJobsAsset(data: any): GoogleAdsSearchads360V23Common__DynamicJobsAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? BigInt(data["iosAppStoreId"]) : undefined, }; } /** * A dynamic local asset. */ export interface GoogleAdsSearchads360V23Common__DynamicLocalAsset { /** * Address which can be specified in one of the following formats. (1) City, * state, code, country, for example, Mountain View, CA, USA. (2) Full * address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) * Latitude-longitude in the DDD format, for example, 41.40338, 2.17403. */ address?: string; /** * Android deep link, for example, * android-app://com.example.android/http/example.com/gizmos?1234. */ androidAppLink?: string; /** * Category, for example, Food. */ category?: string; /** * Contextual keywords, for example, Save groceries coupons. */ contextualKeywords?: string[]; /** * Required. Deal ID which can be any sequence of letters and digits, and * must be unique and match the values of remarketing tag. Required. */ dealId?: string; /** * Required. Deal name, for example, 50% off at Mountain View Grocers. * Required. */ dealName?: string; /** * Description, for example, Save on your weekly bill. */ description?: string; /** * Formatted price which can be any characters. If set, this attribute will * be used instead of 'price', for example, Starting at $100.00. */ formattedPrice?: string; /** * Formatted sale price which can be any characters. If set, this attribute * will be used instead of 'sale price', for example, On sale for $80.00. */ formattedSalePrice?: string; /** * Image URL, for example, http://www.example.com/image.png. The image will * not be uploaded as image asset. */ imageUrl?: string; /** * iOS deep link, for example, exampleApp://content/page. */ iosAppLink?: string; /** * iOS app store ID. This is used to check if the user has the app installed * on their device before deep linking. If this field is set, then the * ios_app_link field must also be present. */ iosAppStoreId?: bigint; /** * Price which can be a number followed by the alphabetic currency code, ISO * 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. */ price?: string; /** * Sale price which can be number followed by the alphabetic currency code, * ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. * Must be less than the 'price' field. */ salePrice?: string; /** * Similar deal IDs, for example, 1275. */ similarDealIds?: string[]; /** * Subtitle, for example, Groceries. */ subtitle?: string; } function serializeGoogleAdsSearchads360V23Common__DynamicLocalAsset(data: any): GoogleAdsSearchads360V23Common__DynamicLocalAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? String(data["iosAppStoreId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DynamicLocalAsset(data: any): GoogleAdsSearchads360V23Common__DynamicLocalAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? BigInt(data["iosAppStoreId"]) : undefined, }; } /** * A dynamic real estate asset. */ export interface GoogleAdsSearchads360V23Common__DynamicRealEstateAsset { /** * Address which can be specified in one of the following formats. (1) City, * state, code, country, for example, Mountain View, CA, USA. (2) Full * address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) * Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 */ address?: string; /** * Android deep link, for example, * android-app://com.example.android/http/example.com/gizmos?1234. */ androidAppLink?: string; /** * City name, for example, Mountain View, California. */ cityName?: string; /** * Contextual keywords, for example, For sale; Houses for sale. */ contextualKeywords?: string[]; /** * Description, for example, 3 beds, 2 baths, 1568 sq. ft. */ description?: string; /** * Formatted price which can be any characters. If set, this attribute will * be used instead of 'price', for example, Starting at $200,000.00. */ formattedPrice?: string; /** * Image URL, for example, http://www.example.com/image.png. The image will * not be uploaded as image asset. */ imageUrl?: string; /** * iOS deep link, for example, exampleApp://content/page. */ iosAppLink?: string; /** * iOS app store ID. This is used to check if the user has the app installed * on their device before deep linking. If this field is set, then the * ios_app_link field must also be present. */ iosAppStoreId?: bigint; /** * Required. Listing ID which can be any sequence of letters and digits, and * must be unique and match the values of remarketing tag. Required. */ listingId?: string; /** * Required. Listing name, for example, Boulevard Bungalow. Required. */ listingName?: string; /** * Listing type, for example, For sale. */ listingType?: string; /** * Price which can be number followed by the alphabetic currency code, ISO * 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD. */ price?: string; /** * Property type, for example, House. */ propertyType?: string; /** * Similar listing IDs. */ similarListingIds?: string[]; } function serializeGoogleAdsSearchads360V23Common__DynamicRealEstateAsset(data: any): GoogleAdsSearchads360V23Common__DynamicRealEstateAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? String(data["iosAppStoreId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DynamicRealEstateAsset(data: any): GoogleAdsSearchads360V23Common__DynamicRealEstateAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? BigInt(data["iosAppStoreId"]) : undefined, }; } /** * A dynamic travel asset. */ export interface GoogleAdsSearchads360V23Common__DynamicTravelAsset { /** * Android deep link, for example, * android-app://com.example.android/http/example.com/gizmos?1234. */ androidAppLink?: string; /** * Category, for example, Express. */ category?: string; /** * Contextual keywords, for example, Paris trains. */ contextualKeywords?: string[]; /** * Destination address which can be specified in one of the following * formats. (1) City, state, code, country, for example, Mountain View, CA, * USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA * 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, * 2.17403. */ destinationAddress?: string; /** * Required. Destination ID which can be any sequence of letters and digits, * and must be unique and match the values of remarketing tag. Required. */ destinationId?: string; /** * Destination name, for example, Paris. */ destinationName?: string; /** * Formatted price which can be any characters. If set, this attribute will * be used instead of 'price', for example, Starting at $100.00. */ formattedPrice?: string; /** * Formatted sale price which can be any characters. If set, this attribute * will be used instead of 'sale price', for example, On sale for $80.00. */ formattedSalePrice?: string; /** * Image URL, for example, http://www.example.com/image.png. The image will * not be uploaded as image asset. */ imageUrl?: string; /** * iOS deep link, for example, exampleApp://content/page. */ iosAppLink?: string; /** * iOS app store ID. This is used to check if the user has the app installed * on their device before deep linking. If this field is set, then the * ios_app_link field must also be present. */ iosAppStoreId?: bigint; /** * Origin ID which can be any sequence of letters and digits. The ID sequence * (destination ID + origin ID) must be unique. */ originId?: string; /** * Origin name, for example, London. */ originName?: string; /** * Price which can be a number followed by the alphabetic currency code, ISO * 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. */ price?: string; /** * Sale price which can be a number followed by the alphabetic currency code, * ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. * Must be less than the 'price' field. */ salePrice?: string; /** * Similar destination IDs, for example, NYC. */ similarDestinationIds?: string[]; /** * Required. Title, for example, Book your train ticket. Required. */ title?: string; } function serializeGoogleAdsSearchads360V23Common__DynamicTravelAsset(data: any): GoogleAdsSearchads360V23Common__DynamicTravelAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? String(data["iosAppStoreId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__DynamicTravelAsset(data: any): GoogleAdsSearchads360V23Common__DynamicTravelAsset { return { ...data, iosAppStoreId: data["iosAppStoreId"] !== undefined ? BigInt(data["iosAppStoreId"]) : undefined, }; } /** * An automated bidding strategy that raises bids for clicks that seem more * likely to lead to a conversion and lowers them for clicks where they seem * less likely. This bidding strategy is deprecated and cannot be created * anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent * functionality. */ export interface GoogleAdsSearchads360V23Common__EnhancedCpc { } /** * Advertiser defined events and their attributes. All the values in the nested * fields are required. */ export interface GoogleAdsSearchads360V23Common__EventAttribute { /** * Required. Advertiser defined event to be used for remarketing. The * accepted values are "Viewed", "Cart", "Purchased" and "Recommended". */ event?: string; /** * Required. Timestamp at which the event happened. The format is YYYY-MM-DD * HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from * UTC. If the offset is absent, the API will use the account's timezone as * default. */ eventDateTime?: string; /** * Required. Item attributes of the event. */ itemAttribute?: GoogleAdsSearchads360V23Common__EventItemAttribute[]; } /** * Event Item attributes of the Customer Match. */ export interface GoogleAdsSearchads360V23Common__EventItemAttribute { /** * Optional. A unique identifier of a product. It can be either the Merchant * Center Item ID or GTIN (Global Trade Item Number). */ itemId?: string; } /** * An audience segment to be excluded from an audience. */ export interface GoogleAdsSearchads360V23Common__ExclusionSegment { /** * User list segment to be excluded. */ userList?: GoogleAdsSearchads360V23Common__UserListSegment; } /** * An expanded dynamic search ad. */ export interface GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo { /** * The description of the ad. */ description?: string; /** * The second description of the ad. */ description2?: string; } /** * An expanded text ad. */ export interface GoogleAdsSearchads360V23Common__ExpandedTextAdInfo { /** * The description of the ad. */ description?: string; /** * The second description of the ad. */ description2?: string; /** * The first part of the ad's headline. */ headlinePart1?: string; /** * The second part of the ad's headline. */ headlinePart2?: string; /** * The third part of the ad's headline. */ headlinePart3?: string; /** * The text that can appear alongside the ad's displayed URL. */ path1?: string; /** * Additional text that can appear alongside the ad's displayed URL. */ path2?: string; } /** * Represents an extended demographic criterion. */ export interface GoogleAdsSearchads360V23Common__ExtendedDemographicInfo { /** * Taxonomy id of the extended demographic group. */ extendedDemographicId?: bigint; } function serializeGoogleAdsSearchads360V23Common__ExtendedDemographicInfo(data: any): GoogleAdsSearchads360V23Common__ExtendedDemographicInfo { return { ...data, extendedDemographicId: data["extendedDemographicId"] !== undefined ? String(data["extendedDemographicId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ExtendedDemographicInfo(data: any): GoogleAdsSearchads360V23Common__ExtendedDemographicInfo { return { ...data, extendedDemographicId: data["extendedDemographicId"] !== undefined ? BigInt(data["extendedDemographicId"]) : undefined, }; } /** * Facebook Messenger information to use for messaging. */ export interface GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo { /** * Required. Facebook page name used for starting a chat on Facebook * Messenger. */ pageName?: string; } /** * A URL for deep linking into an app for the given operating system. */ export interface GoogleAdsSearchads360V23Common__FinalAppUrl { /** * The operating system targeted by this URL. Required. */ osType?: | "UNSPECIFIED" | "UNKNOWN" | "IOS" | "ANDROID"; /** * The app deep link URL. Deep links specify a location in an app that * corresponds to the content you'd like to show, and should be of the form * {scheme}://{host_path} The scheme identifies which app to open. For your * app, you can use a custom scheme that starts with the app's name. The host * and path specify the unique location in the app where your content exists. * Example: "exampleapp://productid_1234". Required. */ url?: string; } /** * Flexible rule that wraps the common rule and a lookback window. */ export interface GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo { /** * Lookback window for this rule in days. From now until X days ago. */ lookbackWindowDays?: bigint; /** * List of rule item groups that defines this rule. Rule item groups are * grouped together. */ rule?: GoogleAdsSearchads360V23Common__UserListRuleInfo; } function serializeGoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo(data: any): GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo { return { ...data, lookbackWindowDays: data["lookbackWindowDays"] !== undefined ? String(data["lookbackWindowDays"]) : undefined, rule: data["rule"] !== undefined ? serializeGoogleAdsSearchads360V23Common__UserListRuleInfo(data["rule"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo(data: any): GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo { return { ...data, lookbackWindowDays: data["lookbackWindowDays"] !== undefined ? BigInt(data["lookbackWindowDays"]) : undefined, rule: data["rule"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__UserListRuleInfo(data["rule"]) : undefined, }; } /** * Flexible rule representation of visitors with one or multiple actions. The * flexible user list is defined by two lists of operands – inclusive_operands * and exclusive_operands; each operand represents a set of users based on * actions they took in a given timeframe. These lists of operands are combined * with the AND_NOT operator, so that users represented by the inclusive * operands are included in the user list, minus the users represented by the * exclusive operands. */ export interface GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo { /** * Rules representing users that should be excluded from the user list. These * are located on the right side of the AND_NOT operator, and joined together * by OR. */ exclusiveOperands?: GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo[]; /** * Rules representing users that should be included in the user list. These * are located on the left side of the AND_NOT operator, and joined together * by either AND/OR as specified by the inclusive_rule_operator. */ inclusiveOperands?: GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo[]; /** * Operator that defines how the inclusive operands are combined. */ inclusiveRuleOperator?: | "UNSPECIFIED" | "UNKNOWN" | "AND" | "OR"; } function serializeGoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo(data: any): GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo { return { ...data, exclusiveOperands: data["exclusiveOperands"] !== undefined ? data["exclusiveOperands"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo(item))) : undefined, inclusiveOperands: data["inclusiveOperands"] !== undefined ? data["inclusiveOperands"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo(data: any): GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo { return { ...data, exclusiveOperands: data["exclusiveOperands"] !== undefined ? data["exclusiveOperands"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo(item))) : undefined, inclusiveOperands: data["inclusiveOperands"] !== undefined ? data["inclusiveOperands"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo(item))) : undefined, }; } /** * A rule specifying the maximum number of times an ad (or some set of ads) can * be shown to a user over a particular time period. */ export interface GoogleAdsSearchads360V23Common__FrequencyCapEntry { /** * Maximum number of events allowed during the time range by this cap. */ cap?: number; /** * The key of a particular frequency cap. There can be no more than one * frequency cap with the same key. */ key?: GoogleAdsSearchads360V23Common__FrequencyCapKey; } /** * A group of fields used as keys for a frequency cap. There can be no more * than one frequency cap with the same key. */ export interface GoogleAdsSearchads360V23Common__FrequencyCapKey { /** * The type of event that the cap applies to (for example, impression). */ eventType?: | "UNSPECIFIED" | "UNKNOWN" | "IMPRESSION" | "VIDEO_VIEW"; /** * The level on which the cap is to be applied (for example, ad group ad, ad * group). The cap is applied to all the entities of this level. */ level?: | "UNSPECIFIED" | "UNKNOWN" | "AD_GROUP_AD" | "AD_GROUP" | "CAMPAIGN"; /** * Number of time units the cap lasts. */ timeLength?: number; /** * Unit of time the cap is defined at (for example, day, week). */ timeUnit?: | "UNSPECIFIED" | "UNKNOWN" | "DAY" | "WEEK" | "MONTH"; } /** * Dimension specifying users by their gender. */ export interface GoogleAdsSearchads360V23Common__GenderDimension { /** * Included gender demographic segments. */ genders?: | "UNSPECIFIED" | "UNKNOWN" | "MALE" | "FEMALE" | "UNDETERMINED"[]; /** * Include users whose gender is not determined. */ includeUndetermined?: boolean; } /** * A gender criterion. */ export interface GoogleAdsSearchads360V23Common__GenderInfo { /** * Type of the gender. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "MALE" | "FEMALE" | "UNDETERMINED"; } /** * Geo point for proximity criterion. */ export interface GoogleAdsSearchads360V23Common__GeoPointInfo { /** * Micro degrees for the latitude. */ latitudeInMicroDegrees?: number; /** * Micro degrees for the longitude. */ longitudeInMicroDegrees?: number; } /** * Historical metrics options. */ export interface GoogleAdsSearchads360V23Common__HistoricalMetricsOptions { /** * Indicates whether to include average cost per click value. Average CPC is * provided only for legacy support. */ includeAverageCpc?: boolean; /** * The year month range for historical metrics. If not specified, metrics for * the past 12 months are returned. Search metrics are available for the past * 4 years. If the search volume is not available for the entire * year_month_range provided, the subset of the year month range for which * search volume is available are returned. */ yearMonthRange?: GoogleAdsSearchads360V23Common__YearMonthRange; } function serializeGoogleAdsSearchads360V23Common__HistoricalMetricsOptions(data: any): GoogleAdsSearchads360V23Common__HistoricalMetricsOptions { return { ...data, yearMonthRange: data["yearMonthRange"] !== undefined ? serializeGoogleAdsSearchads360V23Common__YearMonthRange(data["yearMonthRange"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__HistoricalMetricsOptions(data: any): GoogleAdsSearchads360V23Common__HistoricalMetricsOptions { return { ...data, yearMonthRange: data["yearMonthRange"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__YearMonthRange(data["yearMonthRange"]) : undefined, }; } /** * A hotel ad. */ export interface GoogleAdsSearchads360V23Common__HotelAdInfo { } /** * Criterion for number of days prior to the stay the booking is being made. */ export interface GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo { /** * High end of the number of days prior to the stay. */ maxDays?: bigint; /** * Low end of the number of days prior to the stay. */ minDays?: bigint; } function serializeGoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo(data: any): GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo { return { ...data, maxDays: data["maxDays"] !== undefined ? String(data["maxDays"]) : undefined, minDays: data["minDays"] !== undefined ? String(data["minDays"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo(data: any): GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo { return { ...data, maxDays: data["maxDays"] !== undefined ? BigInt(data["maxDays"]) : undefined, minDays: data["minDays"] !== undefined ? BigInt(data["minDays"]) : undefined, }; } /** * An asset representing a hotel callout. */ export interface GoogleAdsSearchads360V23Common__HotelCalloutAsset { /** * Required. The language of the hotel callout. Represented as BCP 47 * language tag. */ languageCode?: string; /** * Required. The text of the hotel callout asset. The length of this string * should be between 1 and 25, inclusive. */ text?: string; } /** * Criterion for a check-in date range. */ export interface GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo { /** * End date in the YYYY-MM-DD format. */ endDate?: string; /** * Start date in the YYYY-MM-DD format. */ startDate?: string; } /** * Criterion for day of the week the booking is for. */ export interface GoogleAdsSearchads360V23Common__HotelCheckInDayInfo { /** * The day of the week. */ dayOfWeek?: | "UNSPECIFIED" | "UNKNOWN" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY"; } /** * City the hotel is located in. */ export interface GoogleAdsSearchads360V23Common__HotelCityInfo { /** * The Geo Target Constant resource name. */ cityCriterion?: string; } /** * Class of the hotel as a number of stars 1 to 5. */ export interface GoogleAdsSearchads360V23Common__HotelClassInfo { /** * Long value of the hotel class. */ value?: bigint; } function serializeGoogleAdsSearchads360V23Common__HotelClassInfo(data: any): GoogleAdsSearchads360V23Common__HotelClassInfo { return { ...data, value: data["value"] !== undefined ? String(data["value"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__HotelClassInfo(data: any): GoogleAdsSearchads360V23Common__HotelClassInfo { return { ...data, value: data["value"] !== undefined ? BigInt(data["value"]) : undefined, }; } /** * Country or Region the hotel is located in. */ export interface GoogleAdsSearchads360V23Common__HotelCountryRegionInfo { /** * The Geo Target Constant resource name. */ countryRegionCriterion?: string; } /** * Criterion for hotel date selection (default dates versus user selected). */ export interface GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo { /** * Type of the hotel date selection */ type?: | "UNSPECIFIED" | "UNKNOWN" | "DEFAULT_SELECTION" | "USER_SELECTED"; } /** * Advertiser-specific hotel ID. */ export interface GoogleAdsSearchads360V23Common__HotelIdInfo { /** * String value of the hotel ID. */ value?: string; } /** * Criterion for length of hotel stay in nights. */ export interface GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo { /** * High end of the number of nights in the stay. */ maxNights?: bigint; /** * Low end of the number of nights in the stay. */ minNights?: bigint; } function serializeGoogleAdsSearchads360V23Common__HotelLengthOfStayInfo(data: any): GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo { return { ...data, maxNights: data["maxNights"] !== undefined ? String(data["maxNights"]) : undefined, minNights: data["minNights"] !== undefined ? String(data["minNights"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__HotelLengthOfStayInfo(data: any): GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo { return { ...data, maxNights: data["maxNights"] !== undefined ? BigInt(data["maxNights"]) : undefined, minNights: data["minNights"] !== undefined ? BigInt(data["minNights"]) : undefined, }; } /** * A hotel property asset. */ export interface GoogleAdsSearchads360V23Common__HotelPropertyAsset { /** * Address of the hotel. Read-only. */ hotelAddress?: string; /** * Name of the hotel. Read-only. */ hotelName?: string; /** * Place IDs uniquely identify a place in the Google Places database and on * Google Maps. See https://developers.google.com/places/web-service/place-id * to learn more. */ placeId?: string; } /** * State the hotel is located in. */ export interface GoogleAdsSearchads360V23Common__HotelStateInfo { /** * The Geo Target Constant resource name. */ stateCriterion?: string; } /** * Dimension specifying users by their household income. */ export interface GoogleAdsSearchads360V23Common__HouseholdIncomeDimension { /** * Include users whose household income is not determined. */ includeUndetermined?: boolean; /** * Included household income demographic segments. */ incomeRanges?: | "UNSPECIFIED" | "UNKNOWN" | "INCOME_RANGE_0_50" | "INCOME_RANGE_50_60" | "INCOME_RANGE_60_70" | "INCOME_RANGE_70_80" | "INCOME_RANGE_80_90" | "INCOME_RANGE_90_UP" | "INCOME_RANGE_UNDETERMINED"[]; } /** * An image ad. */ export interface GoogleAdsSearchads360V23Common__ImageAdInfo { /** * An ad ID to copy the image from. */ adIdToCopyImageFrom?: bigint; /** * Raw image data as bytes. */ data?: Uint8Array; /** * The image assets used for the ad. */ imageAsset?: GoogleAdsSearchads360V23Common__AdImageAsset; /** * URL of the full size image. */ imageUrl?: string; /** * The mime type of the image. */ mimeType?: | "UNSPECIFIED" | "UNKNOWN" | "IMAGE_JPEG" | "IMAGE_GIF" | "IMAGE_PNG" | "FLASH" | "TEXT_HTML" | "PDF" | "MSWORD" | "MSEXCEL" | "RTF" | "AUDIO_WAV" | "AUDIO_MP3" | "HTML5_AD_ZIP"; /** * The name of the image. If the image was created from a MediaFile, this is * the MediaFile's name. If the image was created from bytes, this is empty. */ name?: string; /** * Height in pixels of the full size image. */ pixelHeight?: bigint; /** * Width in pixels of the full size image. */ pixelWidth?: bigint; /** * URL of the preview size image. */ previewImageUrl?: string; /** * Height in pixels of the preview size image. */ previewPixelHeight?: bigint; /** * Width in pixels of the preview size image. */ previewPixelWidth?: bigint; } function serializeGoogleAdsSearchads360V23Common__ImageAdInfo(data: any): GoogleAdsSearchads360V23Common__ImageAdInfo { return { ...data, adIdToCopyImageFrom: data["adIdToCopyImageFrom"] !== undefined ? String(data["adIdToCopyImageFrom"]) : undefined, data: data["data"] !== undefined ? encodeBase64(data["data"]) : undefined, pixelHeight: data["pixelHeight"] !== undefined ? String(data["pixelHeight"]) : undefined, pixelWidth: data["pixelWidth"] !== undefined ? String(data["pixelWidth"]) : undefined, previewPixelHeight: data["previewPixelHeight"] !== undefined ? String(data["previewPixelHeight"]) : undefined, previewPixelWidth: data["previewPixelWidth"] !== undefined ? String(data["previewPixelWidth"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ImageAdInfo(data: any): GoogleAdsSearchads360V23Common__ImageAdInfo { return { ...data, adIdToCopyImageFrom: data["adIdToCopyImageFrom"] !== undefined ? BigInt(data["adIdToCopyImageFrom"]) : undefined, data: data["data"] !== undefined ? decodeBase64(data["data"] as string) : undefined, pixelHeight: data["pixelHeight"] !== undefined ? BigInt(data["pixelHeight"]) : undefined, pixelWidth: data["pixelWidth"] !== undefined ? BigInt(data["pixelWidth"]) : undefined, previewPixelHeight: data["previewPixelHeight"] !== undefined ? BigInt(data["previewPixelHeight"]) : undefined, previewPixelWidth: data["previewPixelWidth"] !== undefined ? BigInt(data["previewPixelWidth"]) : undefined, }; } /** * An Image asset. */ export interface GoogleAdsSearchads360V23Common__ImageAsset { /** * The raw bytes data of an image. This field is mutate only. */ data?: Uint8Array; /** * File size of the image asset in bytes. */ fileSize?: bigint; /** * Metadata for this image at its original size. */ fullSize?: GoogleAdsSearchads360V23Common__ImageDimension; /** * MIME type of the image asset. */ mimeType?: | "UNSPECIFIED" | "UNKNOWN" | "IMAGE_JPEG" | "IMAGE_GIF" | "IMAGE_PNG" | "FLASH" | "TEXT_HTML" | "PDF" | "MSWORD" | "MSEXCEL" | "RTF" | "AUDIO_WAV" | "AUDIO_MP3" | "HTML5_AD_ZIP"; } function serializeGoogleAdsSearchads360V23Common__ImageAsset(data: any): GoogleAdsSearchads360V23Common__ImageAsset { return { ...data, data: data["data"] !== undefined ? encodeBase64(data["data"]) : undefined, fileSize: data["fileSize"] !== undefined ? String(data["fileSize"]) : undefined, fullSize: data["fullSize"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ImageDimension(data["fullSize"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ImageAsset(data: any): GoogleAdsSearchads360V23Common__ImageAsset { return { ...data, data: data["data"] !== undefined ? decodeBase64(data["data"] as string) : undefined, fileSize: data["fileSize"] !== undefined ? BigInt(data["fileSize"]) : undefined, fullSize: data["fullSize"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ImageDimension(data["fullSize"]) : undefined, }; } /** * Metadata for an image at a certain size, either original or resized. */ export interface GoogleAdsSearchads360V23Common__ImageDimension { /** * Height of the image. */ heightPixels?: bigint; /** * A URL that returns the image with this height and width. */ url?: string; /** * Width of the image. */ widthPixels?: bigint; } function serializeGoogleAdsSearchads360V23Common__ImageDimension(data: any): GoogleAdsSearchads360V23Common__ImageDimension { return { ...data, heightPixels: data["heightPixels"] !== undefined ? String(data["heightPixels"]) : undefined, widthPixels: data["widthPixels"] !== undefined ? String(data["widthPixels"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ImageDimension(data: any): GoogleAdsSearchads360V23Common__ImageDimension { return { ...data, heightPixels: data["heightPixels"] !== undefined ? BigInt(data["heightPixels"]) : undefined, widthPixels: data["widthPixels"] !== undefined ? BigInt(data["widthPixels"]) : undefined, }; } /** * An income range criterion. */ export interface GoogleAdsSearchads360V23Common__IncomeRangeInfo { /** * Type of the income range. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "INCOME_RANGE_0_50" | "INCOME_RANGE_50_60" | "INCOME_RANGE_60_70" | "INCOME_RANGE_70_80" | "INCOME_RANGE_80_90" | "INCOME_RANGE_90_UP" | "INCOME_RANGE_UNDETERMINED"; } /** * Criterion for Interaction Type. */ export interface GoogleAdsSearchads360V23Common__InteractionTypeInfo { /** * The interaction type. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "CALLS"; } /** * An IpBlock criterion used for excluding IP addresses. We support excluding * individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for * each individual IP address or CIDR block you want to exclude. You can exclude * up to 500 IP addresses per campaign. For more details, see [Exclude IP * addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * * Individual address: 192.168.0.1 * Individual address as CIDR block: * 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual * address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: * 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 */ export interface GoogleAdsSearchads360V23Common__IpBlockInfo { /** * The IP address or the CIDR block to be excluded. */ ipAddress?: string; } /** * Item attributes of the transaction. */ export interface GoogleAdsSearchads360V23Common__ItemAttribute { /** * Common Locale Data Repository (CLDR) territory code of the country * associated with the feed where your items are uploaded. See * https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes * for more information. This information is useful to differentiate product * information in cases where a product (identified by item_id) is associated * with multiple countries. */ countryCode?: string; /** * A unique identifier of a product. It must be the exact same Merchant * Center Item ID you use in your Google Merchant Center for this product. * Required. */ itemId?: string; /** * ISO 639-1 code of the language associated with the feed where your items * are uploaded. This information is useful to differentiate product * information in cases where a product (identified by item_id) is associated * with multiple languages. */ languageCode?: string; /** * ID of the Merchant Center Account. Required. */ merchantId?: bigint; /** * The number of items sold. Defaults to 1 if not set. */ quantity?: bigint; } function serializeGoogleAdsSearchads360V23Common__ItemAttribute(data: any): GoogleAdsSearchads360V23Common__ItemAttribute { return { ...data, merchantId: data["merchantId"] !== undefined ? String(data["merchantId"]) : undefined, quantity: data["quantity"] !== undefined ? String(data["quantity"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ItemAttribute(data: any): GoogleAdsSearchads360V23Common__ItemAttribute { return { ...data, merchantId: data["merchantId"] !== undefined ? BigInt(data["merchantId"]) : undefined, quantity: data["quantity"] !== undefined ? BigInt(data["quantity"]) : undefined, }; } /** * A Keyword criterion segment. */ export interface GoogleAdsSearchads360V23Common__Keyword { /** * The AdGroupCriterion resource name. */ adGroupCriterion?: string; /** * Keyword info. */ info?: GoogleAdsSearchads360V23Common__KeywordInfo; } /** * The annotations for the keyword plan keywords. */ export interface GoogleAdsSearchads360V23Common__KeywordAnnotations { /** * The list of concepts for the keyword. */ concepts?: GoogleAdsSearchads360V23Common__KeywordConcept[]; } /** * The concept for the keyword. */ export interface GoogleAdsSearchads360V23Common__KeywordConcept { /** * The concept group of the concept details. */ conceptGroup?: GoogleAdsSearchads360V23Common__ConceptGroup; /** * The concept name for the keyword in the concept_group. */ name?: string; } /** * A keyword criterion. */ export interface GoogleAdsSearchads360V23Common__KeywordInfo { /** * The match type of the keyword. */ matchType?: | "UNSPECIFIED" | "UNKNOWN" | "EXACT" | "PHRASE" | "BROAD"; /** * The text of the keyword (at most 80 characters and 10 words). */ text?: string; } /** * The aggregated historical metrics for keyword plan keywords. */ export interface GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults { /** * The aggregate searches for all the keywords segmented by device for the * specified time. Supports the following device types: MOBILE, TABLET, * DESKTOP. This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is * set in the KeywordPlanAggregateMetrics field in the request. */ deviceSearches?: GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches[]; } function serializeGoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults(data: any): GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults { return { ...data, deviceSearches: data["deviceSearches"] !== undefined ? data["deviceSearches"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults(data: any): GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults { return { ...data, deviceSearches: data["deviceSearches"] !== undefined ? data["deviceSearches"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches(item))) : undefined, }; } /** * The aggregate metrics specification of the request. */ export interface GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics { /** * The list of aggregate metrics to fetch data. */ aggregateMetricTypes?: | "UNSPECIFIED" | "UNKNOWN" | "DEVICE"[]; } /** * The total searches for the device type during the specified time period. */ export interface GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches { /** * The device type. */ device?: | "UNSPECIFIED" | "UNKNOWN" | "MOBILE" | "TABLET" | "DESKTOP" | "CONNECTED_TV" | "OTHER"; /** * The total searches for the device. */ searchCount?: bigint; } function serializeGoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches(data: any): GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches { return { ...data, searchCount: data["searchCount"] !== undefined ? String(data["searchCount"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches(data: any): GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches { return { ...data, searchCount: data["searchCount"] !== undefined ? BigInt(data["searchCount"]) : undefined, }; } /** * Historical metrics specific to the targeting options selected. Targeting * options include geographies, network, and so on. Refer to * https://support.google.com/google-ads/answer/3022575 for more details. */ export interface GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics { /** * Average Cost Per Click in micros for the keyword. */ averageCpcMicros?: bigint; /** * Approximate number of monthly searches on this query, averaged for the * past 12 months. */ avgMonthlySearches?: bigint; /** * The competition level for the query. */ competition?: | "UNSPECIFIED" | "UNKNOWN" | "LOW" | "MEDIUM" | "HIGH"; /** * The competition index for the query in the range [0, 100]. Shows how * competitive ad placement is for a keyword. The level of competition from * 0-100 is determined by the number of ad slots filled divided by the total * number of ad slots available. If not enough data is available, null is * returned. */ competitionIndex?: bigint; /** * Top of page bid high range (80th percentile) in micros for the keyword. */ highTopOfPageBidMicros?: bigint; /** * Top of page bid low range (20th percentile) in micros for the keyword. */ lowTopOfPageBidMicros?: bigint; /** * Approximate number of searches on this query for the past twelve months. */ monthlySearchVolumes?: GoogleAdsSearchads360V23Common__MonthlySearchVolume[]; } function serializeGoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics(data: any): GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics { return { ...data, averageCpcMicros: data["averageCpcMicros"] !== undefined ? String(data["averageCpcMicros"]) : undefined, avgMonthlySearches: data["avgMonthlySearches"] !== undefined ? String(data["avgMonthlySearches"]) : undefined, competitionIndex: data["competitionIndex"] !== undefined ? String(data["competitionIndex"]) : undefined, highTopOfPageBidMicros: data["highTopOfPageBidMicros"] !== undefined ? String(data["highTopOfPageBidMicros"]) : undefined, lowTopOfPageBidMicros: data["lowTopOfPageBidMicros"] !== undefined ? String(data["lowTopOfPageBidMicros"]) : undefined, monthlySearchVolumes: data["monthlySearchVolumes"] !== undefined ? data["monthlySearchVolumes"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__MonthlySearchVolume(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics(data: any): GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics { return { ...data, averageCpcMicros: data["averageCpcMicros"] !== undefined ? BigInt(data["averageCpcMicros"]) : undefined, avgMonthlySearches: data["avgMonthlySearches"] !== undefined ? BigInt(data["avgMonthlySearches"]) : undefined, competitionIndex: data["competitionIndex"] !== undefined ? BigInt(data["competitionIndex"]) : undefined, highTopOfPageBidMicros: data["highTopOfPageBidMicros"] !== undefined ? BigInt(data["highTopOfPageBidMicros"]) : undefined, lowTopOfPageBidMicros: data["lowTopOfPageBidMicros"] !== undefined ? BigInt(data["lowTopOfPageBidMicros"]) : undefined, monthlySearchVolumes: data["monthlySearchVolumes"] !== undefined ? data["monthlySearchVolumes"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__MonthlySearchVolume(item))) : undefined, }; } /** * A Smart Campaign keyword theme. */ export interface GoogleAdsSearchads360V23Common__KeywordThemeInfo { /** * Free-form text to be matched to a Smart Campaign keyword theme constant on * a best-effort basis. */ freeFormKeywordTheme?: string; /** * The resource name of a Smart Campaign keyword theme constant. * `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}` */ keywordThemeConstant?: string; } /** * Metadata associated with a Knowledge Graph Entity attribute. */ export interface GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata { /** * The capabilities of the entity used in ContentCreatorInsightsService. */ entityCapabilities?: | "UNSPECIFIED" | "UNKNOWN" | "CONTENT_TRENDING_INSIGHTS" | "CREATOR_ATTRIBUTE"[]; /** * A list of CATEGORY attributes related to this entity. */ relatedCategories?: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; } function serializeGoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata(data: any): GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata { return { ...data, relatedCategories: data["relatedCategories"] !== undefined ? data["relatedCategories"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata(data: any): GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata { return { ...data, relatedCategories: data["relatedCategories"] !== undefined ? data["relatedCategories"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, }; } /** * A language criterion. */ export interface GoogleAdsSearchads360V23Common__LanguageInfo { /** * The language constant resource name. */ languageConstant?: string; } /** * A Lead Form asset. */ export interface GoogleAdsSearchads360V23Common__LeadFormAsset { /** * Asset resource name of the background image. The image dimensions must be * exactly 1200x628. */ backgroundImageAsset?: string; /** * Required. The name of the business being advertised. */ businessName?: string; /** * Required. Text giving a clear value proposition of what users expect once * they expand the form. */ callToActionDescription?: string; /** * Required. Pre-defined display text that encourages user to expand the * form. */ callToActionType?: | "UNSPECIFIED" | "UNKNOWN" | "LEARN_MORE" | "GET_QUOTE" | "APPLY_NOW" | "SIGN_UP" | "CONTACT_US" | "SUBSCRIBE" | "DOWNLOAD" | "BOOK_NOW" | "GET_OFFER" | "REGISTER" | "GET_INFO" | "REQUEST_DEMO" | "JOIN_NOW" | "GET_STARTED"; /** * Custom disclosure shown along with Google disclaimer on the lead form. * Accessible to allowed customers only. */ customDisclosure?: string; /** * Ordered list of custom question fields. This field is subject to a limit * of 5 qualifying questions per form. */ customQuestionFields?: GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField[]; /** * Configured methods for collected lead data to be delivered to advertiser. * Only one method typed as WebhookDelivery can be configured. */ deliveryMethods?: GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod[]; /** * Required. Detailed description of the expanded form to describe what the * form is asking for or facilitating. */ description?: string; /** * Chosen intent for the lead form, for example, more volume or more * qualified. */ desiredIntent?: | "UNSPECIFIED" | "UNKNOWN" | "LOW_INTENT" | "HIGH_INTENT"; /** * Ordered list of input fields. This field can be updated by reordering * questions, but not by adding or removing questions. */ fields?: GoogleAdsSearchads360V23Common__LeadFormField[]; /** * Required. Headline of the expanded form to describe what the form is * asking for or facilitating. */ headline?: string; /** * Pre-defined display text that encourages user action after the form is * submitted. */ postSubmitCallToActionType?: | "UNSPECIFIED" | "UNKNOWN" | "VISIT_SITE" | "DOWNLOAD" | "LEARN_MORE" | "SHOP_NOW"; /** * Detailed description shown after form submission that describes how the * advertiser will follow up with the user. */ postSubmitDescription?: string; /** * Headline of text shown after form submission that describes how the * advertiser will follow up with the user. */ postSubmitHeadline?: string; /** * Required. Link to a page describing the policy on how the collected data * is handled by the advertiser/business. */ privacyPolicyUrl?: string; } function serializeGoogleAdsSearchads360V23Common__LeadFormAsset(data: any): GoogleAdsSearchads360V23Common__LeadFormAsset { return { ...data, deliveryMethods: data["deliveryMethods"] !== undefined ? data["deliveryMethods"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__LeadFormDeliveryMethod(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__LeadFormAsset(data: any): GoogleAdsSearchads360V23Common__LeadFormAsset { return { ...data, deliveryMethods: data["deliveryMethods"] !== undefined ? data["deliveryMethods"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__LeadFormDeliveryMethod(item))) : undefined, }; } /** * One custom question input field instance within a form. */ export interface GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField { /** * The exact custom question field text (for example, "What kind of vehicle * do you have?"). */ customQuestionText?: string; /** * Answer configuration for location question. If true, campaign/account * level location data (state, city, business name etc) will be rendered on * the Lead Form. Starting V13.1, has_location_answer can only be set for * "What is your preferred dealership?" question, for advertisers with * Location Assets setup at campaign/account level. */ hasLocationAnswer?: boolean; /** * Answer configuration for a single choice question. Minimum of 2 answers * and maximum of 12 allowed. */ singleChoiceAnswers?: GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers; } /** * A configuration of how leads are delivered to the advertiser. */ export interface GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod { /** * Webhook method of delivery. */ webhook?: GoogleAdsSearchads360V23Common__WebhookDelivery; } function serializeGoogleAdsSearchads360V23Common__LeadFormDeliveryMethod(data: any): GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod { return { ...data, webhook: data["webhook"] !== undefined ? serializeGoogleAdsSearchads360V23Common__WebhookDelivery(data["webhook"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__LeadFormDeliveryMethod(data: any): GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod { return { ...data, webhook: data["webhook"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__WebhookDelivery(data["webhook"]) : undefined, }; } /** * One input field instance within a form. */ export interface GoogleAdsSearchads360V23Common__LeadFormField { /** * Answer configuration for location question. If true, campaign/account * level location data (state, city, business name etc) will be rendered on * the Lead Form. Starting V13.1, has_location_answer can only be set for * "What is your preferred dealership?" question, for advertisers with * Location Assets setup at campaign/account level. */ hasLocationAnswer?: boolean; /** * Describes the input type, which may be a predefined type such as "full * name" or a pre-vetted question like "What kind of vehicle do you have?". */ inputType?: | "UNSPECIFIED" | "UNKNOWN" | "FULL_NAME" | "EMAIL" | "PHONE_NUMBER" | "POSTAL_CODE" | "STREET_ADDRESS" | "CITY" | "REGION" | "COUNTRY" | "WORK_EMAIL" | "COMPANY_NAME" | "WORK_PHONE" | "JOB_TITLE" | "GOVERNMENT_ISSUED_ID_CPF_BR" | "GOVERNMENT_ISSUED_ID_DNI_AR" | "GOVERNMENT_ISSUED_ID_DNI_PE" | "GOVERNMENT_ISSUED_ID_RUT_CL" | "GOVERNMENT_ISSUED_ID_CC_CO" | "GOVERNMENT_ISSUED_ID_CI_EC" | "GOVERNMENT_ISSUED_ID_RFC_MX" | "FIRST_NAME" | "LAST_NAME" | "VEHICLE_MODEL" | "VEHICLE_TYPE" | "PREFERRED_DEALERSHIP" | "VEHICLE_PURCHASE_TIMELINE" | "VEHICLE_OWNERSHIP" | "VEHICLE_PAYMENT_TYPE" | "VEHICLE_CONDITION" | "COMPANY_SIZE" | "ANNUAL_SALES" | "YEARS_IN_BUSINESS" | "JOB_DEPARTMENT" | "JOB_ROLE" | "OVER_18_AGE" | "OVER_19_AGE" | "OVER_20_AGE" | "OVER_21_AGE" | "OVER_22_AGE" | "OVER_23_AGE" | "OVER_24_AGE" | "OVER_25_AGE" | "OVER_26_AGE" | "OVER_27_AGE" | "OVER_28_AGE" | "OVER_29_AGE" | "OVER_30_AGE" | "OVER_31_AGE" | "OVER_32_AGE" | "OVER_33_AGE" | "OVER_34_AGE" | "OVER_35_AGE" | "OVER_36_AGE" | "OVER_37_AGE" | "OVER_38_AGE" | "OVER_39_AGE" | "OVER_40_AGE" | "OVER_41_AGE" | "OVER_42_AGE" | "OVER_43_AGE" | "OVER_44_AGE" | "OVER_45_AGE" | "OVER_46_AGE" | "OVER_47_AGE" | "OVER_48_AGE" | "OVER_49_AGE" | "OVER_50_AGE" | "OVER_51_AGE" | "OVER_52_AGE" | "OVER_53_AGE" | "OVER_54_AGE" | "OVER_55_AGE" | "OVER_56_AGE" | "OVER_57_AGE" | "OVER_58_AGE" | "OVER_59_AGE" | "OVER_60_AGE" | "OVER_61_AGE" | "OVER_62_AGE" | "OVER_63_AGE" | "OVER_64_AGE" | "OVER_65_AGE" | "EDUCATION_PROGRAM" | "EDUCATION_COURSE" | "PRODUCT" | "SERVICE" | "OFFER" | "CATEGORY" | "PREFERRED_CONTACT_METHOD" | "PREFERRED_LOCATION" | "PREFERRED_CONTACT_TIME" | "PURCHASE_TIMELINE" | "YEARS_OF_EXPERIENCE" | "JOB_INDUSTRY" | "LEVEL_OF_EDUCATION" | "PROPERTY_TYPE" | "REALTOR_HELP_GOAL" | "PROPERTY_COMMUNITY" | "PRICE_RANGE" | "NUMBER_OF_BEDROOMS" | "FURNISHED_PROPERTY" | "PETS_ALLOWED_PROPERTY" | "NEXT_PLANNED_PURCHASE" | "EVENT_SIGNUP_INTEREST" | "PREFERRED_SHOPPING_PLACES" | "FAVORITE_BRAND" | "TRANSPORTATION_COMMERCIAL_LICENSE_TYPE" | "EVENT_BOOKING_INTEREST" | "DESTINATION_COUNTRY" | "DESTINATION_CITY" | "DEPARTURE_COUNTRY" | "DEPARTURE_CITY" | "DEPARTURE_DATE" | "RETURN_DATE" | "NUMBER_OF_TRAVELERS" | "TRAVEL_BUDGET" | "TRAVEL_ACCOMMODATION"; /** * Answer configuration for a single choice question. Can be set only for * pre-vetted question fields. Minimum of 2 answers required and maximum of 12 * allowed. */ singleChoiceAnswers?: GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers; } /** * Defines possible answers for a single choice question, usually presented as * a single-choice drop-down list. */ export interface GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers { /** * List of choices for a single question field. The order of entries defines * UI order. Minimum of 2 answers required and maximum of 12 allowed. */ answers?: string[]; } /** * A legacy app install ad that only can be used by a few select customers. */ export interface GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo { /** * The ID of the mobile app. */ appId?: string; /** * The app store the mobile app is available in. */ appStore?: | "UNSPECIFIED" | "UNKNOWN" | "APPLE_APP_STORE" | "GOOGLE_PLAY" | "WINDOWS_STORE" | "WINDOWS_PHONE_STORE" | "CN_APP_STORE"; /** * The first description line of the ad. */ description1?: string; /** * The second description line of the ad. */ description2?: string; /** * The headline of the ad. */ headline?: string; } /** * A legacy responsive display ad. Ads of this type are labeled 'Responsive * ads' in the Google Ads UI. */ export interface GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo { /** * The accent color of the ad in hexadecimal, for example, #ffffff for white. * If one of `main_color` and `accent_color` is set, the other is required as * well. */ accentColor?: string; /** * Advertiser's consent to allow flexible color. When true, the ad may be * served with different color if necessary. When false, the ad will be served * with the specified colors or a neutral color. The default value is `true`. * Must be true if `main_color` and `accent_color` are not set. */ allowFlexibleColor?: boolean; /** * The business name in the ad. */ businessName?: string; /** * The call-to-action text for the ad. */ callToActionText?: string; /** * The description of the ad. */ description?: string; /** * Specifies which format the ad will be served in. Default is ALL_FORMATS. */ formatSetting?: | "UNSPECIFIED" | "UNKNOWN" | "ALL_FORMATS" | "NON_NATIVE" | "NATIVE"; /** * The MediaFile resource name of the logo image used in the ad. */ logoImage?: string; /** * The long version of the ad's headline. */ longHeadline?: string; /** * The main color of the ad in hexadecimal, for example, #ffffff for white. * If one of `main_color` and `accent_color` is set, the other is required as * well. */ mainColor?: string; /** * The MediaFile resource name of the marketing image used in the ad. */ marketingImage?: string; /** * Prefix before price. For example, 'as low as'. */ pricePrefix?: string; /** * Promotion text used for dynamic formats of responsive ads. For example * 'Free two-day shipping'. */ promoText?: string; /** * The short version of the ad's headline. */ shortHeadline?: string; /** * The MediaFile resource name of the square logo image used in the ad. */ squareLogoImage?: string; /** * The MediaFile resource name of the square marketing image used in the ad. */ squareMarketingImage?: string; } /** * Lifecycle goal value settings. */ export interface GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings { /** * High lifetime value of the lifecycle goal. For example, for customer * acquisition goal, high lifetime value is the incremental conversion value * for new customers who are of high value. High lifetime value should be * greater than value, if set. */ highLifetimeValue?: number; /** * Value of the lifecycle goal. For example, for customer acquisition goal, * value is the incremental conversion value for new customers who are not of * high value. */ value?: number; } /** * Represents a life event criterion. */ export interface GoogleAdsSearchads360V23Common__LifeEventInfo { /** * Taxonomy id of the life event. */ lifeEventId?: bigint; } function serializeGoogleAdsSearchads360V23Common__LifeEventInfo(data: any): GoogleAdsSearchads360V23Common__LifeEventInfo { return { ...data, lifeEventId: data["lifeEventId"] !== undefined ? String(data["lifeEventId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__LifeEventInfo(data: any): GoogleAdsSearchads360V23Common__LifeEventInfo { return { ...data, lifeEventId: data["lifeEventId"] !== undefined ? BigInt(data["lifeEventId"]) : undefined, }; } /** * Live event segment. */ export interface GoogleAdsSearchads360V23Common__LifeEventSegment { /** * The life event resource. */ lifeEvent?: string; } /** * Metadata associated with a Lineup attribute. */ export interface GoogleAdsSearchads360V23Common__LineupAttributeMetadata { /** * The lower end of a range containing the number of channels in the lineup. */ channelCountLowerBound?: bigint; /** * The upper end of a range containing the number of channels in the lineup. */ channelCountUpperBound?: bigint; /** * The national market associated with the lineup. */ inventoryCountry?: GoogleAdsSearchads360V23Common__LocationInfo; /** * The median number of impressions per month on this lineup. */ medianMonthlyInventory?: bigint; /** * Examples of channels that are included in the lineup. */ sampleChannels?: GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel[]; } function serializeGoogleAdsSearchads360V23Common__LineupAttributeMetadata(data: any): GoogleAdsSearchads360V23Common__LineupAttributeMetadata { return { ...data, channelCountLowerBound: data["channelCountLowerBound"] !== undefined ? String(data["channelCountLowerBound"]) : undefined, channelCountUpperBound: data["channelCountUpperBound"] !== undefined ? String(data["channelCountUpperBound"]) : undefined, medianMonthlyInventory: data["medianMonthlyInventory"] !== undefined ? String(data["medianMonthlyInventory"]) : undefined, sampleChannels: data["sampleChannels"] !== undefined ? data["sampleChannels"].map((item: any) => (serializeGoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__LineupAttributeMetadata(data: any): GoogleAdsSearchads360V23Common__LineupAttributeMetadata { return { ...data, channelCountLowerBound: data["channelCountLowerBound"] !== undefined ? BigInt(data["channelCountLowerBound"]) : undefined, channelCountUpperBound: data["channelCountUpperBound"] !== undefined ? BigInt(data["channelCountUpperBound"]) : undefined, medianMonthlyInventory: data["medianMonthlyInventory"] !== undefined ? BigInt(data["medianMonthlyInventory"]) : undefined, sampleChannels: data["sampleChannels"] !== undefined ? data["sampleChannels"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel(item))) : undefined, }; } /** * Listing dimensions for listing group criterion. */ export interface GoogleAdsSearchads360V23Common__ListingDimensionInfo { /** * The city where the travel activity is available. */ activityCity?: GoogleAdsSearchads360V23Common__ActivityCityInfo; /** * The country where the travel activity is available. */ activityCountry?: GoogleAdsSearchads360V23Common__ActivityCountryInfo; /** * Advertiser-specific activity ID. */ activityId?: GoogleAdsSearchads360V23Common__ActivityIdInfo; /** * Rating of the activity as a number 1 to 5, where 5 is the best. */ activityRating?: GoogleAdsSearchads360V23Common__ActivityRatingInfo; /** * The state where the travel activity is available. */ activityState?: GoogleAdsSearchads360V23Common__ActivityStateInfo; /** * City the hotel is located in. */ hotelCity?: GoogleAdsSearchads360V23Common__HotelCityInfo; /** * Class of the hotel as a number of stars 1 to 5. */ hotelClass?: GoogleAdsSearchads360V23Common__HotelClassInfo; /** * Country or Region the hotel is located in. */ hotelCountryRegion?: GoogleAdsSearchads360V23Common__HotelCountryRegionInfo; /** * Advertiser-specific hotel ID. */ hotelId?: GoogleAdsSearchads360V23Common__HotelIdInfo; /** * State the hotel is located in. */ hotelState?: GoogleAdsSearchads360V23Common__HotelStateInfo; /** * Brand of a product offer. */ productBrand?: GoogleAdsSearchads360V23Common__ProductBrandInfo; /** * Category of a product offer. */ productCategory?: GoogleAdsSearchads360V23Common__ProductCategoryInfo; /** * Locality of a product offer. */ productChannel?: GoogleAdsSearchads360V23Common__ProductChannelInfo; /** * Availability of a product offer. */ productChannelExclusivity?: GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo; /** * Condition of a product offer. */ productCondition?: GoogleAdsSearchads360V23Common__ProductConditionInfo; /** * Custom attribute of a product offer. */ productCustomAttribute?: GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo; /** * Grouping of a product offer. This listing dimension is deprecated and it * is supported only in Display campaigns. */ productGrouping?: GoogleAdsSearchads360V23Common__ProductGroupingInfo; /** * Item id of a product offer. */ productItemId?: GoogleAdsSearchads360V23Common__ProductItemIdInfo; /** * Labels of a product offer. This listing dimension is deprecated and it is * supported only in Display campaigns. */ productLabels?: GoogleAdsSearchads360V23Common__ProductLabelsInfo; /** * Legacy condition of a product offer. This listing dimension is deprecated * and it is supported only in Display campaigns. */ productLegacyCondition?: GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo; /** * Type of a product offer. */ productType?: GoogleAdsSearchads360V23Common__ProductTypeInfo; /** * Full type of a product offer. This listing dimension is deprecated and it * is supported only in Display campaigns. */ productTypeFull?: GoogleAdsSearchads360V23Common__ProductTypeFullInfo; /** * Unknown dimension. Set when no other listing dimension is set. */ unknownListingDimension?: GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo; } function serializeGoogleAdsSearchads360V23Common__ListingDimensionInfo(data: any): GoogleAdsSearchads360V23Common__ListingDimensionInfo { return { ...data, activityRating: data["activityRating"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ActivityRatingInfo(data["activityRating"]) : undefined, hotelClass: data["hotelClass"] !== undefined ? serializeGoogleAdsSearchads360V23Common__HotelClassInfo(data["hotelClass"]) : undefined, productCategory: data["productCategory"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ProductCategoryInfo(data["productCategory"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ListingDimensionInfo(data: any): GoogleAdsSearchads360V23Common__ListingDimensionInfo { return { ...data, activityRating: data["activityRating"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ActivityRatingInfo(data["activityRating"]) : undefined, hotelClass: data["hotelClass"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__HotelClassInfo(data["hotelClass"]) : undefined, productCategory: data["productCategory"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ProductCategoryInfo(data["productCategory"]) : undefined, }; } /** * The path of dimensions defining a listing group. */ export interface GoogleAdsSearchads360V23Common__ListingDimensionPath { /** * The complete path of dimensions through the listing group hierarchy, from * the root (excluding the root itself) to this listing group. */ dimensions?: GoogleAdsSearchads360V23Common__ListingDimensionInfo[]; } function serializeGoogleAdsSearchads360V23Common__ListingDimensionPath(data: any): GoogleAdsSearchads360V23Common__ListingDimensionPath { return { ...data, dimensions: data["dimensions"] !== undefined ? data["dimensions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__ListingDimensionInfo(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ListingDimensionPath(data: any): GoogleAdsSearchads360V23Common__ListingDimensionPath { return { ...data, dimensions: data["dimensions"] !== undefined ? data["dimensions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__ListingDimensionInfo(item))) : undefined, }; } /** * A listing group criterion. */ export interface GoogleAdsSearchads360V23Common__ListingGroupInfo { /** * Dimension value with which this listing group is refining its parent. * Undefined for the root group. */ caseValue?: GoogleAdsSearchads360V23Common__ListingDimensionInfo; /** * Resource name of ad group criterion which is the parent listing group * subdivision. Null for the root group. */ parentAdGroupCriterion?: string; /** * The path of dimensions defining this listing group. */ path?: GoogleAdsSearchads360V23Common__ListingDimensionPath; /** * Type of the listing group. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "SUBDIVISION" | "UNIT"; } function serializeGoogleAdsSearchads360V23Common__ListingGroupInfo(data: any): GoogleAdsSearchads360V23Common__ListingGroupInfo { return { ...data, caseValue: data["caseValue"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ListingDimensionInfo(data["caseValue"]) : undefined, path: data["path"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ListingDimensionPath(data["path"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ListingGroupInfo(data: any): GoogleAdsSearchads360V23Common__ListingGroupInfo { return { ...data, caseValue: data["caseValue"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ListingDimensionInfo(data["caseValue"]) : undefined, path: data["path"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ListingDimensionPath(data["path"]) : undefined, }; } /** * A listing scope criterion. */ export interface GoogleAdsSearchads360V23Common__ListingScopeInfo { /** * Scope of the campaign criterion. */ dimensions?: GoogleAdsSearchads360V23Common__ListingDimensionInfo[]; } function serializeGoogleAdsSearchads360V23Common__ListingScopeInfo(data: any): GoogleAdsSearchads360V23Common__ListingScopeInfo { return { ...data, dimensions: data["dimensions"] !== undefined ? data["dimensions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__ListingDimensionInfo(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ListingScopeInfo(data: any): GoogleAdsSearchads360V23Common__ListingScopeInfo { return { ...data, dimensions: data["dimensions"] !== undefined ? data["dimensions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__ListingDimensionInfo(item))) : undefined, }; } /** * A local ad. */ export interface GoogleAdsSearchads360V23Common__LocalAdInfo { /** * List of text assets for call-to-actions. When the ad serves the * call-to-actions will be selected from this list. At least 1 and at most 5 * call-to-actions must be specified. */ callToActions?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of text assets for descriptions. When the ad serves the descriptions * will be selected from this list. At least 1 and at most 5 descriptions must * be specified. */ descriptions?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of text assets for headlines. When the ad serves the headlines will * be selected from this list. At least 1 and at most 5 headlines must be * specified. */ headlines?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of logo image assets that may be displayed with the ad. The images * must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 * image assets must be specified. */ logoImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * List of marketing image assets that may be displayed with the ad. The * images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 * image assets must be specified. */ marketingImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * First part of optional text that can be appended to the URL in the ad. */ path1?: string; /** * Second part of optional text that can be appended to the URL in the ad. * This field can only be set when `path1` is also set. */ path2?: string; /** * List of YouTube video assets that may be displayed with the ad. At least 1 * and at most 20 video assets must be specified. */ videos?: GoogleAdsSearchads360V23Common__AdVideoAsset[]; } function serializeGoogleAdsSearchads360V23Common__LocalAdInfo(data: any): GoogleAdsSearchads360V23Common__LocalAdInfo { return { ...data, callToActions: data["callToActions"] !== undefined ? data["callToActions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__LocalAdInfo(data: any): GoogleAdsSearchads360V23Common__LocalAdInfo { return { ...data, callToActions: data["callToActions"] !== undefined ? data["callToActions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } /** * A Local Services Ads service ID. Represents a service type (such as * install_faucet) that a Local Services Campaign can target. */ export interface GoogleAdsSearchads360V23Common__LocalServiceIdInfo { /** * The criterion resource name. */ serviceId?: string; } /** * A Local Services Document with read only accessible data. */ export interface GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly { /** * URL to access an already uploaded Local Services document. */ documentUrl?: string; } /** * A location asset. */ export interface GoogleAdsSearchads360V23Common__LocationAsset { /** * The list of business locations for the customer. This will only be * returned if the Location Asset is syncing from the Business Profile * account. It is possible to have multiple Business Profile listings under * the same account that point to the same Place ID. */ businessProfileLocations?: GoogleAdsSearchads360V23Common__BusinessProfileLocation[]; /** * The type of location ownership. If the type is BUSINESS_OWNER, it will be * served as a location extension. If the type is AFFILIATE, it will be served * as an affiliate location. */ locationOwnershipType?: | "UNSPECIFIED" | "UNKNOWN" | "BUSINESS_OWNER" | "AFFILIATE"; /** * Place IDs uniquely identify a place in the Google Places database and on * Google Maps. This field is unique for a given customer ID and asset type. * See https://developers.google.com/places/web-service/place-id to learn more * about Place ID. */ placeId?: string; } function serializeGoogleAdsSearchads360V23Common__LocationAsset(data: any): GoogleAdsSearchads360V23Common__LocationAsset { return { ...data, businessProfileLocations: data["businessProfileLocations"] !== undefined ? data["businessProfileLocations"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__BusinessProfileLocation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__LocationAsset(data: any): GoogleAdsSearchads360V23Common__LocationAsset { return { ...data, businessProfileLocations: data["businessProfileLocations"] !== undefined ? data["businessProfileLocations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__BusinessProfileLocation(item))) : undefined, }; } /** * Metadata associated with a Location attribute. */ export interface GoogleAdsSearchads360V23Common__LocationAttributeMetadata { /** * The country location that this attribute’s sub country location is located * in. */ countryLocation?: GoogleAdsSearchads360V23Common__LocationInfo; } /** * A radius around a list of locations specified through a feed. */ export interface GoogleAdsSearchads360V23Common__LocationGroupInfo { /** * Denotes that the latest customer level asset set is used for targeting. * Used with radius and radius_units. Cannot be used with feed, geo target * constants or feed item sets. When using asset sets, either this field or * location_group_asset_sets should be specified. Both cannot be used at the * same time. This can only be set in CREATE operations. */ enableCustomerLevelLocationAssetSet?: boolean; /** * FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, * then all items that appear in at least one set are targeted. This field * cannot be used with geo_target_constants. This is optional and can only be * set in CREATE operations. */ feedItemSets?: string[]; /** * Geo target constant(s) restricting the scope of the geographic area within * the feed. Currently only one geo target constant is allowed. */ geoTargetConstants?: string[]; /** * AssetSets whose Assets are targeted. If multiple IDs are specified, then * all items that appear in at least one set are targeted. This field cannot * be used with feed, geo target constants or feed item sets. When using asset * sets, either this field or enable_customer_level_location_asset_set should * be specified. Both cannot be used at the same time. This can only be set in * CREATE operations. */ locationGroupAssetSets?: string[]; /** * Distance in units specifying the radius around targeted locations. This is * required and must be set in CREATE operations. */ radius?: bigint; /** * Unit of the radius. Miles and meters are supported for geo target * constants. Milli miles and meters are supported for feed item sets. This is * required and must be set in CREATE operations. */ radiusUnits?: | "UNSPECIFIED" | "UNKNOWN" | "METERS" | "MILES" | "MILLI_MILES"; } function serializeGoogleAdsSearchads360V23Common__LocationGroupInfo(data: any): GoogleAdsSearchads360V23Common__LocationGroupInfo { return { ...data, radius: data["radius"] !== undefined ? String(data["radius"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__LocationGroupInfo(data: any): GoogleAdsSearchads360V23Common__LocationGroupInfo { return { ...data, radius: data["radius"] !== undefined ? BigInt(data["radius"]) : undefined, }; } /** * A location criterion. */ export interface GoogleAdsSearchads360V23Common__LocationInfo { /** * The geo target constant resource name. */ geoTargetConstant?: string; } /** * Data related to location set. One of the Google Business Profile (previously * known as Google My Business) data, Chain data, and map location data need to * be specified. */ export interface GoogleAdsSearchads360V23Common__LocationSet { /** * Data used to configure a location set populated from Google Business * Profile locations. */ businessProfileLocationSet?: GoogleAdsSearchads360V23Common__BusinessProfileLocationSet; /** * Data used to configure a location on chain set populated with the * specified chains. */ chainLocationSet?: GoogleAdsSearchads360V23Common__ChainSet; /** * Required. Immutable. Location Ownership Type (owned location or affiliate * location). */ locationOwnershipType?: | "UNSPECIFIED" | "UNKNOWN" | "BUSINESS_OWNER" | "AFFILIATE"; /** * Only set if locations are synced based on selected maps locations */ mapsLocationSet?: GoogleAdsSearchads360V23Common__MapsLocationSet; } function serializeGoogleAdsSearchads360V23Common__LocationSet(data: any): GoogleAdsSearchads360V23Common__LocationSet { return { ...data, businessProfileLocationSet: data["businessProfileLocationSet"] !== undefined ? serializeGoogleAdsSearchads360V23Common__BusinessProfileLocationSet(data["businessProfileLocationSet"]) : undefined, chainLocationSet: data["chainLocationSet"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ChainSet(data["chainLocationSet"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__LocationSet(data: any): GoogleAdsSearchads360V23Common__LocationSet { return { ...data, businessProfileLocationSet: data["businessProfileLocationSet"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__BusinessProfileLocationSet(data["businessProfileLocationSet"]) : undefined, chainLocationSet: data["chainLocationSet"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ChainSet(data["chainLocationSet"]) : undefined, }; } /** * Represents a user list that is a custom combination of user lists. */ export interface GoogleAdsSearchads360V23Common__LogicalUserListInfo { /** * Logical list rules that define this user list. The rules are defined as a * logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are * ANDed when they are evaluated. Required for creating a logical user list. */ rules?: GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo[]; } /** * Operand of logical user list that consists of a user list. */ export interface GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo { /** * Resource name of a user list as an operand. */ userList?: string; } /** * LookalikeUserlist, composed of users similar to those of a configurable seed * (set of UserLists) */ export interface GoogleAdsSearchads360V23Common__LookalikeUserListInfo { /** * Countries targeted by the Lookalike. Two-letter country code as defined by * ISO-3166 */ countryCodes?: string[]; /** * Expansion level, reflecting the size of the lookalike audience */ expansionLevel?: | "UNSPECIFIED" | "UNKNOWN" | "NARROW" | "BALANCED" | "BROAD"; /** * Seed UserList ID from which this list is derived, provided by user. */ seedUserListIds?: bigint[]; } function serializeGoogleAdsSearchads360V23Common__LookalikeUserListInfo(data: any): GoogleAdsSearchads360V23Common__LookalikeUserListInfo { return { ...data, seedUserListIds: data["seedUserListIds"] !== undefined ? data["seedUserListIds"].map((item: any) => (String(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__LookalikeUserListInfo(data: any): GoogleAdsSearchads360V23Common__LookalikeUserListInfo { return { ...data, seedUserListIds: data["seedUserListIds"] !== undefined ? data["seedUserListIds"].map((item: any) => (BigInt(item))) : undefined, }; } /** * Manual bidding strategy that allows advertiser to set the bid per * advertiser-specified action. */ export interface GoogleAdsSearchads360V23Common__ManualCpa { } /** * Manual click-based bidding where user pays per click. */ export interface GoogleAdsSearchads360V23Common__ManualCpc { /** * Whether bids are to be enhanced based on conversion optimizer data. */ enhancedCpcEnabled?: boolean; } /** * Manual impression-based bidding where user pays per thousand impressions. */ export interface GoogleAdsSearchads360V23Common__ManualCpm { } /** * View based bidding where user pays per video view. */ export interface GoogleAdsSearchads360V23Common__ManualCpv { } /** * Wrapper for place ids */ export interface GoogleAdsSearchads360V23Common__MapsLocationInfo { /** * Place ID of the Maps location. */ placeId?: string; } /** * Wrapper for multiple maps location sync data */ export interface GoogleAdsSearchads360V23Common__MapsLocationSet { /** * Required. A list of maps location info that user manually synced in. */ mapsLocations?: GoogleAdsSearchads360V23Common__MapsLocationInfo[]; } /** * An automated bidding strategy to help get the most conversions for your * campaigns while spending your budget. */ export interface GoogleAdsSearchads360V23Common__MaximizeConversions { /** * Maximum bid limit that can be set by the bid strategy. The limit applies * to all keywords managed by the strategy. Mutable for portfolio bidding * strategies only. */ cpcBidCeilingMicros?: bigint; /** * Minimum bid limit that can be set by the bid strategy. The limit applies * to all keywords managed by the strategy. Mutable for portfolio bidding * strategies only. */ cpcBidFloorMicros?: bigint; /** * The target cost-per-action (CPA) option. This is the average amount that * you would like to spend per conversion action specified in micro units of * the bidding strategy's currency. If set, the bid strategy will get as many * conversions as possible at or below the target cost-per-action. If the * target CPA is not set, the bid strategy will aim to achieve the lowest * possible CPA given the budget. */ targetCpaMicros?: bigint; } function serializeGoogleAdsSearchads360V23Common__MaximizeConversions(data: any): GoogleAdsSearchads360V23Common__MaximizeConversions { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? String(data["cpcBidCeilingMicros"]) : undefined, cpcBidFloorMicros: data["cpcBidFloorMicros"] !== undefined ? String(data["cpcBidFloorMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? String(data["targetCpaMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__MaximizeConversions(data: any): GoogleAdsSearchads360V23Common__MaximizeConversions { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? BigInt(data["cpcBidCeilingMicros"]) : undefined, cpcBidFloorMicros: data["cpcBidFloorMicros"] !== undefined ? BigInt(data["cpcBidFloorMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? BigInt(data["targetCpaMicros"]) : undefined, }; } /** * An automated bidding strategy to help get the most conversion value for your * campaigns while spending your budget. */ export interface GoogleAdsSearchads360V23Common__MaximizeConversionValue { /** * Maximum bid limit that can be set by the bid strategy. The limit applies * to all keywords managed by the strategy. Mutable for portfolio bidding * strategies only. */ cpcBidCeilingMicros?: bigint; /** * Minimum bid limit that can be set by the bid strategy. The limit applies * to all keywords managed by the strategy. Mutable for portfolio bidding * strategies only. */ cpcBidFloorMicros?: bigint; /** * The target return on ad spend (ROAS) option. If set, the bid strategy will * maximize revenue while averaging the target return on ad spend. If the * target ROAS is high, the bid strategy may not be able to spend the full * budget. If the target ROAS is not set, the bid strategy will aim to achieve * the highest possible ROAS for the budget. */ targetRoas?: number; /** * The percent of ROAS(return on advertising spend) degradation tolerance * allowed to increase traffic diversity and conversion volume, specified in * millis (for example, 10,000 = 10%). A value of 10,000 means that the * advertiser can expect ROAS degradation of up to 10% of the specified target * ROAS. */ targetRoasTolerancePercentMillis?: bigint; } function serializeGoogleAdsSearchads360V23Common__MaximizeConversionValue(data: any): GoogleAdsSearchads360V23Common__MaximizeConversionValue { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? String(data["cpcBidCeilingMicros"]) : undefined, cpcBidFloorMicros: data["cpcBidFloorMicros"] !== undefined ? String(data["cpcBidFloorMicros"]) : undefined, targetRoasTolerancePercentMillis: data["targetRoasTolerancePercentMillis"] !== undefined ? String(data["targetRoasTolerancePercentMillis"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__MaximizeConversionValue(data: any): GoogleAdsSearchads360V23Common__MaximizeConversionValue { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? BigInt(data["cpcBidCeilingMicros"]) : undefined, cpcBidFloorMicros: data["cpcBidFloorMicros"] !== undefined ? BigInt(data["cpcBidFloorMicros"]) : undefined, targetRoasTolerancePercentMillis: data["targetRoasTolerancePercentMillis"] !== undefined ? BigInt(data["targetRoasTolerancePercentMillis"]) : undefined, }; } /** * A MediaBundle asset. */ export interface GoogleAdsSearchads360V23Common__MediaBundleAsset { /** * Media bundle (ZIP file) asset data. The format of the uploaded ZIP file * depends on the ad field where it will be used. For more information on the * format, see the documentation of the ad field where you plan on using the * MediaBundleAsset. This field is mutate only. */ data?: Uint8Array; } function serializeGoogleAdsSearchads360V23Common__MediaBundleAsset(data: any): GoogleAdsSearchads360V23Common__MediaBundleAsset { return { ...data, data: data["data"] !== undefined ? encodeBase64(data["data"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__MediaBundleAsset(data: any): GoogleAdsSearchads360V23Common__MediaBundleAsset { return { ...data, data: data["data"] !== undefined ? decodeBase64(data["data"] as string) : undefined, }; } /** * A metric goal for an experiment. */ export interface GoogleAdsSearchads360V23Common__MetricGoal { /** * The metric direction of the goal. For example, increase, decrease, no * change. */ direction?: | "UNSPECIFIED" | "UNKNOWN" | "NO_CHANGE" | "INCREASE" | "DECREASE" | "NO_CHANGE_OR_INCREASE" | "NO_CHANGE_OR_DECREASE"; /** * The metric of the goal. For example, clicks, impressions, cost, * conversions, etc. */ metric?: | "UNSPECIFIED" | "UNKNOWN" | "CLICKS" | "IMPRESSIONS" | "COST" | "CONVERSIONS_PER_INTERACTION_RATE" | "COST_PER_CONVERSION" | "CONVERSIONS_VALUE_PER_COST" | "AVERAGE_CPC" | "CTR" | "INCREMENTAL_CONVERSIONS" | "COMPLETED_VIDEO_VIEWS" | "CUSTOM_ALGORITHMS" | "CONVERSIONS" | "CONVERSION_VALUE"; } /** * Metrics data. */ export interface GoogleAdsSearchads360V23Common__Metrics { /** * Search absolute top impression share is the percentage of your Search ad * impressions that are shown in the most prominent Search position. */ absoluteTopImpressionPercentage?: number; /** * The total number of conversions. This includes all conversions regardless * of the value of include_in_conversions_metric. */ allConversions?: number; /** * The total number of conversions. This includes all conversions regardless * of the value of include_in_conversions_metric. When this column is selected * with date, the values in date column means the conversion date. Details for * the by_conversion_date columns are available at * https://support.google.com/sa360/answer/9250611. */ allConversionsByConversionDate?: number; /** * The number of times people clicked the "Call" button to call a business * during or after clicking an ad. This number doesn't include whether or not * calls were connected, or the duration of any calls. This metric applies to * feed items only. */ allConversionsFromClickToCall?: number; /** * The number of times people clicked a "Get directions" button to navigate * to a business after clicking an ad. This metric applies to feed items only. */ allConversionsFromDirections?: number; /** * All conversions from interactions (as oppose to view through conversions) * divided by the number of ad interactions. */ allConversionsFromInteractionsRate?: number; /** * The value of all conversions from interactions divided by the total number * of interactions. */ allConversionsFromInteractionsValuePerInteraction?: number; /** * The number of times people clicked a link to view a business's menu after * clicking an ad. This metric applies to feed items only. */ allConversionsFromMenu?: number; /** * The number of times people placed an order at a business after clicking an * ad. This metric applies to feed items only. */ allConversionsFromOrder?: number; /** * The number of other conversions (for example, posting a review or saving a * location for a business) that occurred after people clicked an ad. This * metric applies to feed items only. */ allConversionsFromOtherEngagement?: number; /** * Estimated number of times people visited a business after clicking an ad. * This metric applies to feed items only. */ allConversionsFromStoreVisit?: number; /** * The number of times that people were taken to a business's URL after * clicking an ad. This metric applies to feed items only. */ allConversionsFromStoreWebsite?: number; /** * The value of all conversions. */ allConversionsValue?: number; /** * The value of all conversions. When this column is selected with date, the * values in date column means the conversion date. Details for the * by_conversion_date columns are available at * https://support.google.com/sa360/answer/9250611. */ allConversionsValueByConversionDate?: number; /** * The value of all conversions divided by the total cost of ad interactions * (such as clicks for text ads or views for video ads). */ allConversionsValuePerCost?: number; /** * Average cart size is the average number of products in each order * attributed to your ads. How it works: You report conversions with cart data * for completed purchases on your website. Average cart size is the total * number of products sold divided by the total number of orders you received. * Example: You received 2 orders, the first included 3 products and the * second included 2. The average cart size is 2.5 products = (3+2)/2. This * metric is only available if you report conversions with cart data. */ averageCartSize?: number; /** * The average amount you pay per interaction. This amount is the total cost * of your ads divided by the total number of interactions. */ averageCost?: number; /** * The total cost of all clicks divided by the total number of clicks * received. This metric is a monetary value and returned in the customer's * currency by default. See the metrics_currency parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ averageCpc?: number; /** * Average cost-per-thousand impressions (CPM). This metric is a monetary * value and returned in the customer's currency by default. See the * metrics_currency parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ averageCpm?: number; /** * The average number of times a unique user saw your ad during the requested * time period. This metric cannot be aggregated, and can only be requested * for date ranges of 92 days or less. This metric is available for following * campaign types - Display, Video, Discovery and App. */ averageImpressionFrequencyPerUser?: number; /** * Average order value is the average revenue you made per order attributed * to your ads. How it works: You report conversions with cart data for * completed purchases on your website. Average order value is the total * revenue from your orders divided by the total number of orders. Example: * You received 3 orders which made $10, $15 and $20 worth of revenue. The * average order value is $15 = ($10 + $15 + $20)/3. This metric is only * available if you report conversions with cart data. */ averageOrderValueMicros?: bigint; /** * The average quality score. */ averageQualityScore?: number; /** * The number of clicks. */ clicks?: bigint; /** * The number of client account conversions. This only includes conversion * actions which include_in_client_account_conversions_metric attribute is set * to true. If you use conversion-based bidding, your bid strategies will * optimize for these conversions. */ clientAccountConversions?: number; /** * The value of client account conversions. This only includes conversion * actions which include_in_client_account_conversions_metric attribute is set * to true. If you use conversion-based bidding, your bid strategies will * optimize for these conversions. */ clientAccountConversionsValue?: number; /** * Client account cross-sell cost of goods sold (COGS) is the total cost of * products sold as a result of advertising a different product. How it works: * You report conversions with cart data for completed purchases on your * website. If the ad that was interacted with before the purchase has an * associated product (see Shopping Ads) then this product is considered the * advertised product. Any product included in the order the customer places * is a sold product. If these products don't match then this is considered * cross-sell. Cross-sell cost of goods sold is the total cost of the products * sold that weren't advertised. Example: Someone clicked on a Shopping ad for * a hat then bought the same hat and a shirt. The hat has a cost of goods * sold value of $3, the shirt has a cost of goods sold value of $5. The * cross-sell cost of goods sold for this order is $5. This metric is only * available if you report conversions with cart data. This metric is a * monetary value and returned in the customer's currency by default. See the * metrics_currency parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ clientAccountCrossSellCostOfGoodsSoldMicros?: bigint; /** * Client account cross-sell gross profit is the profit you made from * products sold as a result of advertising a different product, minus cost of * goods sold (COGS). How it works: You report conversions with cart data for * completed purchases on your website. If the ad that was interacted with * before the purchase has an associated product (see Shopping Ads) then this * product is considered the advertised product. Any product included in the * purchase is a sold product. If these products don't match then this is * considered cross-sell. Cross-sell gross profit is the revenue you made from * cross-sell attributed to your ads minus the cost of the goods sold. * Example: Someone clicked on a Shopping ad for a hat then bought the same * hat and a shirt. The shirt is priced $20 and has a cost of goods sold value * of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This * metric is only available if you report conversions with cart data. This * metric is a monetary value and returned in the customer's currency by * default. See the metrics_currency parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ clientAccountCrossSellGrossProfitMicros?: bigint; /** * Client account cross-sell revenue is the total amount you made from * products sold as a result of advertising a different product. How it works: * You report conversions with cart data for completed purchases on your * website. If the ad that was interacted with before the purchase has an * associated product (see Shopping Ads) then this product is considered the * advertised product. Any product included in the order the customer places * is a sold product. If these products don't match then this is considered * cross-sell. Cross-sell revenue is the total value you made from cross-sell * attributed to your ads. Example: Someone clicked on a Shopping ad for a hat * then bought the same hat and a shirt. The hat is priced $10 and the shirt * is priced $20. The cross-sell revenue of this order is $20. This metric is * only available if you report conversions with cart data. This metric is a * monetary value and returned in the customer's currency by default. See the * metrics_currency parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ clientAccountCrossSellRevenueMicros?: bigint; /** * Client account cross-sell units sold is the total number of products sold * as a result of advertising a different product. How it works: You report * conversions with cart data for completed purchases on your website. If the * ad that was interacted with before the purchase has an associated product * (see Shopping Ads) then this product is considered the advertised product. * Any product included in the order the customer places is a sold product. If * these products don't match then this is considered cross-sell. Cross-sell * units sold is the total number of cross-sold products from all orders * attributed to your ads. Example: Someone clicked on a Shopping ad for a hat * then bought the same hat, a shirt and a jacket. The cross-sell units sold * in this order is 2. This metric is only available if you report conversions * with cart data. */ clientAccountCrossSellUnitsSold?: number; /** * Client account lead cost of goods sold (COGS) is the total cost of * products sold as a result of advertising the same product. How it works: * You report conversions with cart data for completed purchases on your * website. If the ad that was interacted with has an associated product (see * Shopping Ads) then this product is considered the advertised product. Any * product included in the order the customer places is a sold product. If the * advertised and sold products match, then the cost of these goods is counted * under lead cost of goods sold. Example: Someone clicked on a Shopping ad * for a hat then bought the same hat and a shirt. The hat has a cost of goods * sold value of $3, the shirt has a cost of goods sold value of $5. The lead * cost of goods sold for this order is $3. This metric is only available if * you report conversions with cart data. This metric is a monetary value and * returned in the customer's currency by default. See the metrics_currency * parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ clientAccountLeadCostOfGoodsSoldMicros?: bigint; /** * Client account lead gross profit is the profit you made from products sold * as a result of advertising the same product, minus cost of goods sold * (COGS). How it works: You report conversions with cart data for completed * purchases on your website. If the ad that was interacted with before the * purchase has an associated product (see Shopping Ads) then this product is * considered the advertised product. Any product included in the order the * customer places is a sold product. If the advertised and sold products * match, then the revenue you made from these sales minus the cost of goods * sold is your lead gross profit. Example: Someone clicked on a Shopping ad * for a hat then bought the same hat and a shirt. The hat is priced $10 and * has a cost of goods sold value of $3. The lead gross profit of this order * is $7 = $10 - $3. This metric is only available if you report conversions * with cart data. This metric is a monetary value and returned in the * customer's currency by default. See the metrics_currency parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ clientAccountLeadGrossProfitMicros?: bigint; /** * Client account lead revenue is the total amount you made from products * sold as a result of advertising the same product. How it works: You report * conversions with cart data for completed purchases on your website. If the * ad that was interacted with before the purchase has an associated product * (see Shopping Ads) then this product is considered the advertised product. * Any product included in the order the customer places is a sold product. If * the advertised and sold products match, then the total value you made from * the sales of these products is shown under lead revenue. Example: Someone * clicked on a Shopping ad for a hat then bought the same hat and a shirt. * The hat is priced $10 and the shirt is priced $20. The lead revenue of this * order is $10. This metric is only available if you report conversions with * cart data. This metric is a monetary value and returned in the customer's * currency by default. See the metrics_currency parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ clientAccountLeadRevenueMicros?: bigint; /** * Client account lead units sold is the total number of products sold as a * result of advertising the same product. How it works: You report * conversions with cart data for completed purchases on your website. If the * ad that was interacted with before the purchase has an associated product * (see Shopping Ads) then this product is considered the advertised product. * Any product included in the order the customer places is a sold product. If * the advertised and sold products match, then the total number of these * products sold is shown under lead units sold. Example: Someone clicked on a * Shopping ad for a hat then bought the same hat, a shirt and a jacket. The * lead units sold in this order is 1. This metric is only available if you * report conversions with cart data. */ clientAccountLeadUnitsSold?: number; /** * The total number of view-through conversions. These happen when a customer * sees an image or rich media ad, then later completes a conversion on your * site without interacting with (for example, clicking on) another ad. */ clientAccountViewThroughConversions?: bigint; /** * The estimated percent of times that your ad was eligible to show on the * Display Network but didn't because your budget was too low. Note: Content * budget lost impression share is reported in the range of 0 to 0.9. Any * value above 0.9 is reported as 0.9001. */ contentBudgetLostImpressionShare?: number; /** * The impressions you've received on the Display Network divided by the * estimated number of impressions you were eligible to receive. Note: Content * impression share is reported in the range of 0.1 to 1. Any value below 0.1 * is reported as 0.0999. */ contentImpressionShare?: number; /** * The estimated percentage of impressions on the Display Network that your * ads didn't receive due to poor Ad Rank. Note: Content rank lost impression * share is reported in the range of 0 to 0.9. Any value above 0.9 is reported * as 0.9001. */ contentRankLostImpressionShare?: number; /** * The conversion custom metrics. */ conversionCustomMetrics?: GoogleAdsSearchads360V23Common__Value[]; /** * The number of conversions. This only includes conversion actions which * include_in_conversions_metric attribute is set to true. If you use * conversion-based bidding, your bid strategies will optimize for these * conversions. */ conversions?: number; /** * The sum of conversions by conversion date for biddable conversion types. * Can be fractional due to attribution modeling. When this column is selected * with date, the values in date column means the conversion date. */ conversionsByConversionDate?: number; /** * Average biddable conversions (from interaction) per conversion eligible * interaction. Shows how often, on average, an ad interaction leads to a * biddable conversion. */ conversionsFromInteractionsRate?: number; /** * The value of conversions from interactions divided by the number of ad * interactions. This only includes conversion actions which * include_in_conversions_metric attribute is set to true. If you use * conversion-based bidding, your bid strategies will optimize for these * conversions. */ conversionsFromInteractionsValuePerInteraction?: number; /** * The sum of conversion values for the conversions included in the * "conversions" field. This metric is useful only if you entered a value for * your conversion actions. */ conversionsValue?: number; /** * The sum of biddable conversions value by conversion date. When this column * is selected with date, the values in date column means the conversion date. */ conversionsValueByConversionDate?: number; /** * The value of biddable conversion divided by the total cost of conversion * eligible interactions. */ conversionsValuePerCost?: number; /** * The sum of your cost-per-click (CPC) and cost-per-thousand impressions * (CPM) costs during this period. This metric is a monetary value and * returned in the customer's currency by default. See the metrics_currency * parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ costMicros?: bigint; /** * Cost of goods sold (COGS) is the total cost of the products you sold in * orders attributed to your ads. How it works: You can add a cost of goods * sold value to every product in Merchant Center. If you report conversions * with cart data, the products you sold are matched with their cost of goods * sold value and this can be used to calculate the gross profit you made on * each order. Example: Someone clicked on a Shopping ad for a hat then bought * the same hat and a shirt. The hat has a cost of goods sold value of $3, the * shirt has a cost of goods sold value of $5. The cost of goods sold for this * order is $8 = $3 + $5. This metric is only available if you report * conversions with cart data. */ costOfGoodsSoldMicros?: bigint; /** * The cost of ad interactions divided by all conversions. */ costPerAllConversions?: number; /** * Average conversion eligible cost per biddable conversion. */ costPerConversion?: number; /** * The cost of ad interactions divided by current model attributed * conversions. This only includes conversion actions which * include_in_conversions_metric attribute is set to true. If you use * conversion-based bidding, your bid strategies will optimize for these * conversions. */ costPerCurrentModelAttributedConversion?: number; /** * Conversions from when a customer clicks on an ad on one device, then * converts on a different device or browser. Cross-device conversions are * already included in all_conversions. */ crossDeviceConversions?: number; /** * The number of cross-device conversions by conversion date. Details for the * by_conversion_date columns are available at * https://support.google.com/sa360/answer/9250611. */ crossDeviceConversionsByConversionDate?: number; /** * The sum of the value of cross-device conversions. */ crossDeviceConversionsValue?: number; /** * The sum of cross-device conversions value by conversion date. Details for * the by_conversion_date columns are available at * https://support.google.com/sa360/answer/9250611. */ crossDeviceConversionsValueByConversionDate?: number; /** * Cross-sell cost of goods sold (COGS) is the total cost of products sold as * a result of advertising a different product. How it works: You report * conversions with cart data for completed purchases on your website. If the * ad that was interacted with before the purchase has an associated product * (see Shopping Ads) then this product is considered the advertised product. * Any product included in the order the customer places is a sold product. If * these products don't match then this is considered cross-sell. Cross-sell * cost of goods sold is the total cost of the products sold that weren't * advertised. Example: Someone clicked on a Shopping ad for a hat then bought * the same hat and a shirt. The hat has a cost of goods sold value of $3, the * shirt has a cost of goods sold value of $5. The cross-sell cost of goods * sold for this order is $5. This metric is only available if you report * conversions with cart data. This metric is a monetary value and returned in * the customer's currency by default. See the metrics_currency parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ crossSellCostOfGoodsSoldMicros?: bigint; /** * Cross-sell gross profit is the profit you made from products sold as a * result of advertising a different product, minus cost of goods sold (COGS). * How it works: You report conversions with cart data for completed purchases * on your website. If the ad that was interacted with before the purchase has * an associated product (see Shopping Ads) then this product is considered * the advertised product. Any product included in the purchase is a sold * product. If these products don't match then this is considered cross-sell. * Cross-sell gross profit is the revenue you made from cross-sell attributed * to your ads minus the cost of the goods sold. Example: Someone clicked on a * Shopping ad for a hat then bought the same hat and a shirt. The shirt is * priced $20 and has a cost of goods sold value of $5. The cross-sell gross * profit of this order is $15 = $20 - $5. This metric is only available if * you report conversions with cart data. This metric is a monetary value and * returned in the customer's currency by default. See the metrics_currency * parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ crossSellGrossProfitMicros?: bigint; /** * Cross-sell revenue is the total amount you made from products sold as a * result of advertising a different product. How it works: You report * conversions with cart data for completed purchases on your website. If the * ad that was interacted with before the purchase has an associated product * (see Shopping Ads) then this product is considered the advertised product. * Any product included in the order the customer places is a sold product. If * these products don't match then this is considered cross-sell. Cross-sell * revenue is the total value you made from cross-sell attributed to your ads. * Example: Someone clicked on a Shopping ad for a hat then bought the same * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The * cross-sell revenue of this order is $20. This metric is only available if * you report conversions with cart data. This metric is a monetary value and * returned in the customer's currency by default. See the metrics_currency * parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ crossSellRevenueMicros?: bigint; /** * Cross-sell units sold is the total number of products sold as a result of * advertising a different product. How it works: You report conversions with * cart data for completed purchases on your website. If the ad that was * interacted with before the purchase has an associated product (see Shopping * Ads) then this product is considered the advertised product. Any product * included in the order the customer places is a sold product. If these * products don't match then this is considered cross-sell. Cross-sell units * sold is the total number of cross-sold products from all orders attributed * to your ads. Example: Someone clicked on a Shopping ad for a hat then * bought the same hat, a shirt and a jacket. The cross-sell units sold in * this order is 2. This metric is only available if you report conversions * with cart data. */ crossSellUnitsSold?: number; /** * The number of clicks your ad receives (Clicks) divided by the number of * times your ad is shown (Impressions). */ ctr?: number; /** * The percentage of clicks that have been filtered out of your total number * of clicks (filtered + non-filtered clicks) due to being general invalid * clicks. These are clicks Google considers illegitimate that are detected * through routine means of filtration (that is, known invalid data-center * traffic, bots and spiders or other crawlers, irregular patterns, etc). * You're not charged for them, and they don't affect your account statistics. * See the help page at * https://support.google.com/campaignmanager/answer/6076504 for details. */ generalInvalidClickRate?: number; /** * Number of general invalid clicks. These are a subset of your invalid * clicks that are detected through routine means of filtration (such as known * invalid data-center traffic, bots and spiders or other crawlers, irregular * patterns, etc.). You're not charged for them, and they don't affect your * account statistics. See the help page at * https://support.google.com/campaignmanager/answer/6076504 for details. */ generalInvalidClicks?: bigint; /** * Gross profit margin is the percentage gross profit you made from orders * attributed to your ads, after taking out the cost of goods sold (COGS). How * it works: You report conversions with cart data for completed purchases on * your website. Gross profit margin is the gross profit you made divided by * your total revenue and multiplied by 100%. Gross profit margin calculations * only include products that have a cost of goods sold value in Merchant * Center. Example: Someone bought a hat and a shirt in an order on your * website. The hat is priced $10 and has a cost of goods sold value of $3. * The shirt is priced $20 but has no cost of goods sold value. Gross profit * margin for this order will only take into account the hat because it has a * cost of goods sold value, so it's 70% = ($10 - $3)/$10 x 100%. This metric * is only available if you report conversions with cart data. */ grossProfitMargin?: number; /** * Gross profit is the profit you made from orders attributed to your ads * minus the cost of goods sold (COGS). How it works: Gross profit is the * revenue you made from sales attributed to your ads minus cost of goods * sold. Gross profit calculations only include products that have a cost of * goods sold value in Merchant Center. Example: Someone clicked on a Shopping * ad for a hat then bought the same hat and a shirt in an order from your * website. The hat is priced $10 and the shirt is priced $20. The hat has a * cost of goods sold value of $3, but the shirt has no cost of goods sold * value. Gross profit for this order will only take into account the hat, so * it's $7 = $10 - $3. This metric is only available if you report conversions * with cart data. */ grossProfitMicros?: bigint; /** * The creative historical quality score. */ historicalCreativeQualityScore?: | "UNSPECIFIED" | "UNKNOWN" | "BELOW_AVERAGE" | "AVERAGE" | "ABOVE_AVERAGE"; /** * The quality of historical landing page experience. */ historicalLandingPageQualityScore?: | "UNSPECIFIED" | "UNKNOWN" | "BELOW_AVERAGE" | "AVERAGE" | "ABOVE_AVERAGE"; /** * The historical quality score. */ historicalQualityScore?: bigint; /** * The historical search predicted click through rate (CTR). */ historicalSearchPredictedCtr?: | "UNSPECIFIED" | "UNKNOWN" | "BELOW_AVERAGE" | "AVERAGE" | "ABOVE_AVERAGE"; /** * Count of how often your ad has appeared on a search results page or * website on the Google Network. */ impressions?: bigint; /** * The types of payable and free interactions. */ interactionEventTypes?: | "UNSPECIFIED" | "UNKNOWN" | "CLICK" | "ENGAGEMENT" | "VIDEO_VIEW" | "NONE"[]; /** * How often people interact with your ad after it is shown to them. This is * the number of interactions divided by the number of times your ad is shown. */ interactionRate?: number; /** * The number of interactions. An interaction is the main user action * associated with an ad format-clicks for text and shopping ads, views for * video ads, and so on. */ interactions?: bigint; /** * The percentage of clicks filtered out of your total number of clicks * (filtered + non-filtered clicks) during the reporting period. */ invalidClickRate?: number; /** * Number of clicks Google considers illegitimate and doesn't charge you for. */ invalidClicks?: bigint; /** * Lead cost of goods sold (COGS) is the total cost of products sold as a * result of advertising the same product. How it works: You report * conversions with cart data for completed purchases on your website. If the * ad that was interacted with has an associated product (see Shopping Ads) * then this product is considered the advertised product. Any product * included in the order the customer places is a sold product. If the * advertised and sold products match, then the cost of these goods is counted * under lead cost of goods sold. Example: Someone clicked on a Shopping ad * for a hat then bought the same hat and a shirt. The hat has a cost of goods * sold value of $3, the shirt has a cost of goods sold value of $5. The lead * cost of goods sold for this order is $3. This metric is only available if * you report conversions with cart data. This metric is a monetary value and * returned in the customer's currency by default. See the metrics_currency * parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ leadCostOfGoodsSoldMicros?: bigint; /** * Lead gross profit is the profit you made from products sold as a result of * advertising the same product, minus cost of goods sold (COGS). How it * works: You report conversions with cart data for completed purchases on * your website. If the ad that was interacted with before the purchase has an * associated product (see Shopping Ads) then this product is considered the * advertised product. Any product included in the order the customer places * is a sold product. If the advertised and sold products match, then the * revenue you made from these sales minus the cost of goods sold is your lead * gross profit. Example: Someone clicked on a Shopping ad for a hat then * bought the same hat and a shirt. The hat is priced $10 and has a cost of * goods sold value of $3. The lead gross profit of this order is $7 = $10 - * $3. This metric is only available if you report conversions with cart data. * This metric is a monetary value and returned in the customer's currency by * default. See the metrics_currency parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ leadGrossProfitMicros?: bigint; /** * Lead revenue is the total amount you made from products sold as a result * of advertising the same product. How it works: You report conversions with * cart data for completed purchases on your website. If the ad that was * interacted with before the purchase has an associated product (see Shopping * Ads) then this product is considered the advertised product. Any product * included in the order the customer places is a sold product. If the * advertised and sold products match, then the total value you made from the * sales of these products is shown under lead revenue. Example: Someone * clicked on a Shopping ad for a hat then bought the same hat and a shirt. * The hat is priced $10 and the shirt is priced $20. The lead revenue of this * order is $10. This metric is only available if you report conversions with * cart data. This metric is a monetary value and returned in the customer's * currency by default. See the metrics_currency parameter at * https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause */ leadRevenueMicros?: bigint; /** * Lead units sold is the total number of products sold as a result of * advertising the same product. How it works: You report conversions with * cart data for completed purchases on your website. If the ad that was * interacted with before the purchase has an associated product (see Shopping * Ads) then this product is considered the advertised product. Any product * included in the order the customer places is a sold product. If the * advertised and sold products match, then the total number of these products * sold is shown under lead units sold. Example: Someone clicked on a Shopping * ad for a hat then bought the same hat, a shirt and a jacket. The lead units * sold in this order is 1. This metric is only available if you report * conversions with cart data. */ leadUnitsSold?: number; /** * The percentage of mobile clicks that go to a mobile-friendly page. */ mobileFriendlyClicksPercentage?: number; /** * Orders is the total number of purchase conversions you received attributed * to your ads. How it works: You report conversions with cart data for * completed purchases on your website. If a conversion is attributed to * previous interactions with your ads (clicks for text or Shopping ads, views * for video ads etc.) it's counted as an order. Example: Someone clicked on a * Shopping ad for a hat then bought the same hat and a shirt in an order on * your website. Even though they bought 2 products, this would count as 1 * order. This metric is only available if you report conversions with cart * data. */ orders?: number; /** * The raw event conversion metrics. */ rawEventConversionMetrics?: GoogleAdsSearchads360V23Common__Value[]; /** * Revenue is the total amount you made from orders attributed to your ads. * How it works: You report conversions with cart data for completed purchases * on your website. Revenue is the total value of all the orders you received * attributed to your ads, minus any discount. Example: Someone clicked on a * Shopping ad for a hat then bought the same hat and a shirt in an order from * your website. The hat is priced $10 and the shirt is priced $20. The entire * order has a $5 discount. The revenue from this order is $25 = ($10 + $20) - * $5. This metric is only available if you report conversions with cart data. */ revenueMicros?: bigint; /** * The percentage of the customer's Shopping or Search ad impressions that * are shown in the most prominent Shopping position. See * https://support.google.com/sa360/answer/9566729 for details. Any value * below 0.1 is reported as 0.0999. */ searchAbsoluteTopImpressionShare?: number; /** * The number estimating how often your ad wasn't the very first ad among the * top ads in the search results due to a low budget. Note: Search budget lost * absolute top impression share is reported in the range of 0 to 0.9. Any * value above 0.9 is reported as 0.9001. */ searchBudgetLostAbsoluteTopImpressionShare?: number; /** * The estimated percent of times that your ad was eligible to show on the * Search Network but didn't because your budget was too low. Note: Search * budget lost impression share is reported in the range of 0 to 0.9. Any * value above 0.9 is reported as 0.9001. */ searchBudgetLostImpressionShare?: number; /** * The number estimating how often your ad didn't show adjacent to the top * organic search results due to a low budget. Note: Search budget lost top * impression share is reported in the range of 0 to 0.9. Any value above 0.9 * is reported as 0.9001. */ searchBudgetLostTopImpressionShare?: number; /** * The number of clicks you've received on the Search Network divided by the * estimated number of clicks you were eligible to receive. Note: Search click * share is reported in the range of 0.1 to 1. Any value below 0.1 is reported * as 0.0999. */ searchClickShare?: number; /** * The impressions you've received divided by the estimated number of * impressions you were eligible to receive on the Search Network for search * terms that matched your keywords exactly (or were close variants of your * keyword), regardless of your keyword match types. Note: Search exact match * impression share is reported in the range of 0.1 to 1. Any value below 0.1 * is reported as 0.0999. */ searchExactMatchImpressionShare?: number; /** * The impressions you've received on the Search Network divided by the * estimated number of impressions you were eligible to receive. Note: Search * impression share is reported in the range of 0.1 to 1. Any value below 0.1 * is reported as 0.0999. */ searchImpressionShare?: number; /** * The number estimating how often your ad wasn't the very first ad among the * top ads in the search results due to poor Ad Rank. Note: Search rank lost * absolute top impression share is reported in the range of 0 to 0.9. Any * value above 0.9 is reported as 0.9001. */ searchRankLostAbsoluteTopImpressionShare?: number; /** * The estimated percentage of impressions on the Search Network that your * ads didn't receive due to poor Ad Rank. Note: Search rank lost impression * share is reported in the range of 0 to 0.9. Any value above 0.9 is reported * as 0.9001. */ searchRankLostImpressionShare?: number; /** * The number estimating how often your ad didn't show adjacent to the top * organic search results due to poor Ad Rank. Note: Search rank lost top * impression share is reported in the range of 0 to 0.9. Any value above 0.9 * is reported as 0.9001. */ searchRankLostTopImpressionShare?: number; /** * The impressions you've received among the top ads compared to the * estimated number of impressions you were eligible to receive among the top * ads. Note: Search top impression share is reported in the range of 0.1 to * 1. Any value below 0.1 is reported as 0.0999. Top ads are generally above * the top organic results, although they may show below the top organic * results on certain queries. */ searchTopImpressionShare?: number; /** * The percent of your ad impressions that are shown adjacent to the top * organic search results. */ topImpressionPercentage?: number; /** * The number of unique users who saw your ad during the requested time * period. This metric cannot be aggregated, and can only be requested for * date ranges of 92 days or less. This metric is available for following * campaign types - Display, Video, Discovery and App. */ uniqueUsers?: bigint; /** * Units sold is the total number of products sold from orders attributed to * your ads. How it works: You report conversions with cart data for completed * purchases on your website. Units sold is the total number of products sold * from all orders attributed to your ads. Example: Someone clicked on a * Shopping ad for a hat then bought the same hat, a shirt and a jacket. The * units sold in this order is 3. This metric is only available if you report * conversions with cart data. */ unitsSold?: number; /** * The value of all conversions divided by the number of all conversions. */ valuePerAllConversions?: number; /** * The value of all conversions divided by the number of all conversions. * When this column is selected with date, the values in date column means the * conversion date. Details for the by_conversion_date columns are available * at https://support.google.com/sa360/answer/9250611. */ valuePerAllConversionsByConversionDate?: number; /** * The value of biddable conversion divided by the number of biddable * conversions. Shows how much, on average, each of the biddable conversions * is worth. */ valuePerConversion?: number; /** * Biddable conversions value by conversion date divided by biddable * conversions by conversion date. Shows how much, on average, each of the * biddable conversions is worth (by conversion date). When this column is * selected with date, the values in date column means the conversion date. */ valuePerConversionsByConversionDate?: number; /** * Clicks that Search Ads 360 has successfully recorded and forwarded to an * advertiser's landing page. */ visits?: number; } function serializeGoogleAdsSearchads360V23Common__Metrics(data: any): GoogleAdsSearchads360V23Common__Metrics { return { ...data, averageOrderValueMicros: data["averageOrderValueMicros"] !== undefined ? String(data["averageOrderValueMicros"]) : undefined, clicks: data["clicks"] !== undefined ? String(data["clicks"]) : undefined, clientAccountCrossSellCostOfGoodsSoldMicros: data["clientAccountCrossSellCostOfGoodsSoldMicros"] !== undefined ? String(data["clientAccountCrossSellCostOfGoodsSoldMicros"]) : undefined, clientAccountCrossSellGrossProfitMicros: data["clientAccountCrossSellGrossProfitMicros"] !== undefined ? String(data["clientAccountCrossSellGrossProfitMicros"]) : undefined, clientAccountCrossSellRevenueMicros: data["clientAccountCrossSellRevenueMicros"] !== undefined ? String(data["clientAccountCrossSellRevenueMicros"]) : undefined, clientAccountLeadCostOfGoodsSoldMicros: data["clientAccountLeadCostOfGoodsSoldMicros"] !== undefined ? String(data["clientAccountLeadCostOfGoodsSoldMicros"]) : undefined, clientAccountLeadGrossProfitMicros: data["clientAccountLeadGrossProfitMicros"] !== undefined ? String(data["clientAccountLeadGrossProfitMicros"]) : undefined, clientAccountLeadRevenueMicros: data["clientAccountLeadRevenueMicros"] !== undefined ? String(data["clientAccountLeadRevenueMicros"]) : undefined, clientAccountViewThroughConversions: data["clientAccountViewThroughConversions"] !== undefined ? String(data["clientAccountViewThroughConversions"]) : undefined, conversionCustomMetrics: data["conversionCustomMetrics"] !== undefined ? data["conversionCustomMetrics"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__Value(item))) : undefined, costMicros: data["costMicros"] !== undefined ? String(data["costMicros"]) : undefined, costOfGoodsSoldMicros: data["costOfGoodsSoldMicros"] !== undefined ? String(data["costOfGoodsSoldMicros"]) : undefined, crossSellCostOfGoodsSoldMicros: data["crossSellCostOfGoodsSoldMicros"] !== undefined ? String(data["crossSellCostOfGoodsSoldMicros"]) : undefined, crossSellGrossProfitMicros: data["crossSellGrossProfitMicros"] !== undefined ? String(data["crossSellGrossProfitMicros"]) : undefined, crossSellRevenueMicros: data["crossSellRevenueMicros"] !== undefined ? String(data["crossSellRevenueMicros"]) : undefined, generalInvalidClicks: data["generalInvalidClicks"] !== undefined ? String(data["generalInvalidClicks"]) : undefined, grossProfitMicros: data["grossProfitMicros"] !== undefined ? String(data["grossProfitMicros"]) : undefined, historicalQualityScore: data["historicalQualityScore"] !== undefined ? String(data["historicalQualityScore"]) : undefined, impressions: data["impressions"] !== undefined ? String(data["impressions"]) : undefined, interactions: data["interactions"] !== undefined ? String(data["interactions"]) : undefined, invalidClicks: data["invalidClicks"] !== undefined ? String(data["invalidClicks"]) : undefined, leadCostOfGoodsSoldMicros: data["leadCostOfGoodsSoldMicros"] !== undefined ? String(data["leadCostOfGoodsSoldMicros"]) : undefined, leadGrossProfitMicros: data["leadGrossProfitMicros"] !== undefined ? String(data["leadGrossProfitMicros"]) : undefined, leadRevenueMicros: data["leadRevenueMicros"] !== undefined ? String(data["leadRevenueMicros"]) : undefined, rawEventConversionMetrics: data["rawEventConversionMetrics"] !== undefined ? data["rawEventConversionMetrics"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__Value(item))) : undefined, revenueMicros: data["revenueMicros"] !== undefined ? String(data["revenueMicros"]) : undefined, uniqueUsers: data["uniqueUsers"] !== undefined ? String(data["uniqueUsers"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__Metrics(data: any): GoogleAdsSearchads360V23Common__Metrics { return { ...data, averageOrderValueMicros: data["averageOrderValueMicros"] !== undefined ? BigInt(data["averageOrderValueMicros"]) : undefined, clicks: data["clicks"] !== undefined ? BigInt(data["clicks"]) : undefined, clientAccountCrossSellCostOfGoodsSoldMicros: data["clientAccountCrossSellCostOfGoodsSoldMicros"] !== undefined ? BigInt(data["clientAccountCrossSellCostOfGoodsSoldMicros"]) : undefined, clientAccountCrossSellGrossProfitMicros: data["clientAccountCrossSellGrossProfitMicros"] !== undefined ? BigInt(data["clientAccountCrossSellGrossProfitMicros"]) : undefined, clientAccountCrossSellRevenueMicros: data["clientAccountCrossSellRevenueMicros"] !== undefined ? BigInt(data["clientAccountCrossSellRevenueMicros"]) : undefined, clientAccountLeadCostOfGoodsSoldMicros: data["clientAccountLeadCostOfGoodsSoldMicros"] !== undefined ? BigInt(data["clientAccountLeadCostOfGoodsSoldMicros"]) : undefined, clientAccountLeadGrossProfitMicros: data["clientAccountLeadGrossProfitMicros"] !== undefined ? BigInt(data["clientAccountLeadGrossProfitMicros"]) : undefined, clientAccountLeadRevenueMicros: data["clientAccountLeadRevenueMicros"] !== undefined ? BigInt(data["clientAccountLeadRevenueMicros"]) : undefined, clientAccountViewThroughConversions: data["clientAccountViewThroughConversions"] !== undefined ? BigInt(data["clientAccountViewThroughConversions"]) : undefined, conversionCustomMetrics: data["conversionCustomMetrics"] !== undefined ? data["conversionCustomMetrics"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__Value(item))) : undefined, costMicros: data["costMicros"] !== undefined ? BigInt(data["costMicros"]) : undefined, costOfGoodsSoldMicros: data["costOfGoodsSoldMicros"] !== undefined ? BigInt(data["costOfGoodsSoldMicros"]) : undefined, crossSellCostOfGoodsSoldMicros: data["crossSellCostOfGoodsSoldMicros"] !== undefined ? BigInt(data["crossSellCostOfGoodsSoldMicros"]) : undefined, crossSellGrossProfitMicros: data["crossSellGrossProfitMicros"] !== undefined ? BigInt(data["crossSellGrossProfitMicros"]) : undefined, crossSellRevenueMicros: data["crossSellRevenueMicros"] !== undefined ? BigInt(data["crossSellRevenueMicros"]) : undefined, generalInvalidClicks: data["generalInvalidClicks"] !== undefined ? BigInt(data["generalInvalidClicks"]) : undefined, grossProfitMicros: data["grossProfitMicros"] !== undefined ? BigInt(data["grossProfitMicros"]) : undefined, historicalQualityScore: data["historicalQualityScore"] !== undefined ? BigInt(data["historicalQualityScore"]) : undefined, impressions: data["impressions"] !== undefined ? BigInt(data["impressions"]) : undefined, interactions: data["interactions"] !== undefined ? BigInt(data["interactions"]) : undefined, invalidClicks: data["invalidClicks"] !== undefined ? BigInt(data["invalidClicks"]) : undefined, leadCostOfGoodsSoldMicros: data["leadCostOfGoodsSoldMicros"] !== undefined ? BigInt(data["leadCostOfGoodsSoldMicros"]) : undefined, leadGrossProfitMicros: data["leadGrossProfitMicros"] !== undefined ? BigInt(data["leadGrossProfitMicros"]) : undefined, leadRevenueMicros: data["leadRevenueMicros"] !== undefined ? BigInt(data["leadRevenueMicros"]) : undefined, rawEventConversionMetrics: data["rawEventConversionMetrics"] !== undefined ? data["rawEventConversionMetrics"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__Value(item))) : undefined, revenueMicros: data["revenueMicros"] !== undefined ? BigInt(data["revenueMicros"]) : undefined, uniqueUsers: data["uniqueUsers"] !== undefined ? BigInt(data["uniqueUsers"]) : undefined, }; } /** * An asset representing a mobile app. */ export interface GoogleAdsSearchads360V23Common__MobileAppAsset { /** * Required. A string that uniquely identifies a mobile application. It * should just contain the platform native id, like "com.android.ebay" for * Android or "12345689" for iOS. */ appId?: string; /** * Required. The application store that distributes this specific app. */ appStore?: | "UNSPECIFIED" | "UNKNOWN" | "APPLE_APP_STORE" | "GOOGLE_APP_STORE"; /** * Last date of when this asset is effective and still serving, in yyyy-MM-dd * format. */ endDate?: string; /** * Required. The visible text displayed when the link is rendered in an ad. * The length of this string should be between 1 and 25, inclusive. */ linkText?: string; /** * Start date of when this asset is effective and can begin serving, in * yyyy-MM-dd format. */ startDate?: string; } /** * A mobile app category criterion. */ export interface GoogleAdsSearchads360V23Common__MobileAppCategoryInfo { /** * The mobile app category constant resource name. */ mobileAppCategoryConstant?: string; } /** * A mobile application criterion. */ export interface GoogleAdsSearchads360V23Common__MobileApplicationInfo { /** * A string that uniquely identifies a mobile application to Google Ads API. * The format of this string is "{platform}-{platform_native_id}", where * platform is "1" for iOS apps and "2" for Android apps, and where * platform_native_id is the mobile application identifier native to the * corresponding platform. For iOS, this native identifier is the 9 digit * string that appears at the end of an App Store URL (for example, * "476943146" for "Flood-It! 2" whose App Store link is * "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, * this native identifier is the application's package name (for example, * "com.labpixies.colordrips" for "Color Drips" given Google Play link * "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). * A well formed app id for Google Ads API would thus be "1-476943146" for iOS * and "2-com.labpixies.colordrips" for Android. This field is required and * must be set in CREATE operations. */ appId?: string; /** * Name of this mobile application. */ name?: string; } /** * A mobile device criterion. */ export interface GoogleAdsSearchads360V23Common__MobileDeviceInfo { /** * The mobile device constant resource name. */ mobileDeviceConstant?: string; } /** * Represents a price in a particular currency. */ export interface GoogleAdsSearchads360V23Common__Money { /** * Amount in micros. One million is equivalent to one unit. */ amountMicros?: bigint; /** * Three-character ISO 4217 currency code. */ currencyCode?: string; } function serializeGoogleAdsSearchads360V23Common__Money(data: any): GoogleAdsSearchads360V23Common__Money { return { ...data, amountMicros: data["amountMicros"] !== undefined ? String(data["amountMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__Money(data: any): GoogleAdsSearchads360V23Common__Money { return { ...data, amountMicros: data["amountMicros"] !== undefined ? BigInt(data["amountMicros"]) : undefined, }; } /** * Monthly search volume. */ export interface GoogleAdsSearchads360V23Common__MonthlySearchVolume { /** * The month of the search volume. */ month?: | "UNSPECIFIED" | "UNKNOWN" | "JANUARY" | "FEBRUARY" | "MARCH" | "APRIL" | "MAY" | "JUNE" | "JULY" | "AUGUST" | "SEPTEMBER" | "OCTOBER" | "NOVEMBER" | "DECEMBER"; /** * Approximate number of searches for the month. A null value indicates the * search volume is unavailable for that month. */ monthlySearches?: bigint; /** * The year of the search volume (for example, 2020). */ year?: bigint; } function serializeGoogleAdsSearchads360V23Common__MonthlySearchVolume(data: any): GoogleAdsSearchads360V23Common__MonthlySearchVolume { return { ...data, monthlySearches: data["monthlySearches"] !== undefined ? String(data["monthlySearches"]) : undefined, year: data["year"] !== undefined ? String(data["year"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__MonthlySearchVolume(data: any): GoogleAdsSearchads360V23Common__MonthlySearchVolume { return { ...data, monthlySearches: data["monthlySearches"] !== undefined ? BigInt(data["monthlySearches"]) : undefined, year: data["year"] !== undefined ? BigInt(data["year"]) : undefined, }; } /** * A Negative Keyword List criterion. Represents a shared set of negative * keywords that can be excluded at the account-level. Only one negative keyword * list criterion can be attached per account. */ export interface GoogleAdsSearchads360V23Common__NegativeKeywordListInfo { /** * The NegativeKeywordListInfo shared set resource name. */ sharedSet?: string; } /** * Address identifier of offline data. */ export interface GoogleAdsSearchads360V23Common__OfflineUserAddressInfo { /** * City of the address. Only accepted for Store Sales. */ city?: string; /** * 2-letter country code in ISO-3166-1 alpha-2 of the user's address. */ countryCode?: string; /** * First name of the user, which is hashed as SHA-256 after normalized * (Lowercase all characters; Remove any extra spaces before, after, and in * between). */ hashedFirstName?: string; /** * Last name of the user, which is hashed as SHA-256 after normalized (lower * case only and no punctuation). */ hashedLastName?: string; /** * The street address of the user hashed using SHA-256 hash function after * normalization (lower case only). Only accepted for * ConversionAdjustmentUploadService. */ hashedStreetAddress?: string; /** * Postal code of the user's address. */ postalCode?: string; /** * State code of the address. Only accepted for Store Sales. */ state?: string; } /** * Represents an operating system version to be targeted. */ export interface GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo { /** * The operating system version constant resource name. */ operatingSystemVersionConstant?: string; } /** * A Page Feed asset. */ export interface GoogleAdsSearchads360V23Common__PageFeedAsset { /** * Labels used to group the page urls. */ labels?: string[]; /** * Required. The webpage that advertisers want to target. */ pageUrl?: string; } /** * Dimension specifying users by their parental status. */ export interface GoogleAdsSearchads360V23Common__ParentalStatusDimension { /** * Include users whose parental status is undetermined. */ includeUndetermined?: boolean; /** * Included parental status demographic segments. */ parentalStatuses?: | "UNSPECIFIED" | "UNKNOWN" | "PARENT" | "NOT_A_PARENT" | "UNDETERMINED"[]; } /** * A parental status criterion. */ export interface GoogleAdsSearchads360V23Common__ParentalStatusInfo { /** * Type of the parental status. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "PARENT" | "NOT_A_PARENT" | "UNDETERMINED"; } /** * A bidding strategy where bids are a fraction of the advertised price for * some good or service. */ export interface GoogleAdsSearchads360V23Common__PercentCpc { /** * Maximum bid limit that can be set by the bid strategy. This is an optional * field entered by the advertiser and specified in local micros. Note: A zero * value is interpreted in the same way as having bid_ceiling undefined. */ cpcBidCeilingMicros?: bigint; /** * Adjusts the bid for each auction upward or downward, depending on the * likelihood of a conversion. Individual bids may exceed * cpc_bid_ceiling_micros, but the average bid amount for a campaign should * not. */ enhancedCpcEnabled?: boolean; } function serializeGoogleAdsSearchads360V23Common__PercentCpc(data: any): GoogleAdsSearchads360V23Common__PercentCpc { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? String(data["cpcBidCeilingMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__PercentCpc(data: any): GoogleAdsSearchads360V23Common__PercentCpc { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? BigInt(data["cpcBidCeilingMicros"]) : undefined, }; } /** * Projected metrics for a specific percent CPC amount. Only Hotel advertising * channel type supports this field. */ export interface GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint { /** * Projected number of biddable conversions. */ biddableConversions?: number; /** * Projected total value of biddable conversions in local currency. */ biddableConversionsValue?: number; /** * Projected number of clicks. */ clicks?: bigint; /** * Projected cost in micros. */ costMicros?: bigint; /** * Projected number of impressions. */ impressions?: bigint; /** * The simulated percent CPC upon which projected metrics are based. Percent * CPC expressed as fraction of the advertised price for some good or service. * The value stored here is 1,000,000 * [fraction]. */ percentCpcBidMicros?: bigint; /** * Projected number of top slot impressions. */ topSlotImpressions?: bigint; } function serializeGoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint(data: any): GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint { return { ...data, clicks: data["clicks"] !== undefined ? String(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? String(data["costMicros"]) : undefined, impressions: data["impressions"] !== undefined ? String(data["impressions"]) : undefined, percentCpcBidMicros: data["percentCpcBidMicros"] !== undefined ? String(data["percentCpcBidMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? String(data["topSlotImpressions"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint(data: any): GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint { return { ...data, clicks: data["clicks"] !== undefined ? BigInt(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? BigInt(data["costMicros"]) : undefined, impressions: data["impressions"] !== undefined ? BigInt(data["impressions"]) : undefined, percentCpcBidMicros: data["percentCpcBidMicros"] !== undefined ? BigInt(data["percentCpcBidMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? BigInt(data["topSlotImpressions"]) : undefined, }; } /** * A container for simulation points for simulations of type PERCENT_CPC_BID. */ export interface GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList { /** * Projected metrics for a series of percent CPC bid amounts. */ points?: GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint[]; } function serializeGoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList(data: any): GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList(data: any): GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint(item))) : undefined, }; } /** * A placement criterion. This can be used to modify bids for sites when * targeting the content network. */ export interface GoogleAdsSearchads360V23Common__PlacementInfo { /** * URL of the placement. For example, "http://www.domain.com". */ url?: string; } /** * A Placement List criterion. Represents a shared set of placements that can * be excluded at the account-level. */ export interface GoogleAdsSearchads360V23Common__PlacementListInfo { /** * The PlacementListInfo shared set resource name. */ sharedSet?: string; } /** * Contains policy summary information. */ export interface GoogleAdsSearchads360V23Common__PolicySummary { /** * The overall approval status, which is calculated based on the status of * its individual policy topic entries. */ approvalStatus?: | "UNSPECIFIED" | "UNKNOWN" | "DISAPPROVED" | "APPROVED_LIMITED" | "APPROVED" | "AREA_OF_INTEREST_ONLY"; /** * The list of policy findings. */ policyTopicEntries?: GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; /** * Where in the review process the resource is. */ reviewStatus?: | "UNSPECIFIED" | "UNKNOWN" | "REVIEW_IN_PROGRESS" | "REVIEWED" | "UNDER_APPEAL" | "ELIGIBLE_MAY_SERVE"; } function serializeGoogleAdsSearchads360V23Common__PolicySummary(data: any): GoogleAdsSearchads360V23Common__PolicySummary { return { ...data, policyTopicEntries: data["policyTopicEntries"] !== undefined ? data["policyTopicEntries"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__PolicyTopicEntry(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__PolicySummary(data: any): GoogleAdsSearchads360V23Common__PolicySummary { return { ...data, policyTopicEntries: data["policyTopicEntries"] !== undefined ? data["policyTopicEntries"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__PolicyTopicEntry(item))) : undefined, }; } /** * Describes the effect on serving that a policy topic entry will have. */ export interface GoogleAdsSearchads360V23Common__PolicyTopicConstraint { /** * Countries where the resource's domain is not covered by the certificates * associated with it. */ certificateDomainMismatchInCountryList?: GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList; /** * Countries where a certificate is required for serving. */ certificateMissingInCountryList?: GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList; /** * Countries where the resource cannot serve. */ countryConstraintList?: GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList; /** * Reseller constraint. */ resellerConstraint?: GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint; } /** * Policy finding attached to a resource (for example, alcohol policy * associated with a site that sells alcohol). Each PolicyTopicEntry has a topic * that indicates the specific ads policy the entry is about and a type to * indicate the effect that the entry will have on serving. It may optionally * have one or more evidences that indicate the reason for the finding. It may * also optionally have one or more constraints that provide details about how * serving may be restricted. */ export interface GoogleAdsSearchads360V23Common__PolicyTopicEntry { /** * Indicates how serving of this resource may be affected (for example, not * serving in a country). */ constraints?: GoogleAdsSearchads360V23Common__PolicyTopicConstraint[]; /** * Additional information that explains policy finding (for example, the * brand name for a trademark finding). */ evidences?: GoogleAdsSearchads360V23Common__PolicyTopicEvidence[]; /** * Policy topic this finding refers to. For example, "ALCOHOL", * "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible * policy topics is not fixed for a particular API version and may change at * any time. */ topic?: string; /** * Describes the negative or positive effect this policy will have on * serving. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "PROHIBITED" | "LIMITED" | "FULLY_LIMITED" | "DESCRIPTIVE" | "BROADENING" | "AREA_OF_INTEREST_ONLY"; } function serializeGoogleAdsSearchads360V23Common__PolicyTopicEntry(data: any): GoogleAdsSearchads360V23Common__PolicyTopicEntry { return { ...data, evidences: data["evidences"] !== undefined ? data["evidences"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__PolicyTopicEvidence(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__PolicyTopicEntry(data: any): GoogleAdsSearchads360V23Common__PolicyTopicEntry { return { ...data, evidences: data["evidences"] !== undefined ? data["evidences"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__PolicyTopicEvidence(item))) : undefined, }; } /** * Additional information that explains a policy finding. */ export interface GoogleAdsSearchads360V23Common__PolicyTopicEvidence { /** * Mismatch between the destinations of a resource's URLs. */ destinationMismatch?: GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch; /** * Details when the destination is returning an HTTP error code or isn't * functional in all locations for commonly used devices. */ destinationNotWorking?: GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking; /** * The text in the destination of the resource that is causing a policy * finding. */ destinationTextList?: GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList; /** * The language the resource was detected to be written in. This is an IETF * language tag such as "en-US". */ languageCode?: string; /** * List of evidence found in the text of a resource. */ textList?: GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList; /** * List of websites linked with this resource. */ websiteList?: GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList; } function serializeGoogleAdsSearchads360V23Common__PolicyTopicEvidence(data: any): GoogleAdsSearchads360V23Common__PolicyTopicEvidence { return { ...data, destinationNotWorking: data["destinationNotWorking"] !== undefined ? serializeGoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking(data["destinationNotWorking"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__PolicyTopicEvidence(data: any): GoogleAdsSearchads360V23Common__PolicyTopicEvidence { return { ...data, destinationNotWorking: data["destinationNotWorking"] !== undefined ? deserializeGoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking(data["destinationNotWorking"]) : undefined, }; } /** * Parameter for controlling how policy exemption is done. */ export interface GoogleAdsSearchads360V23Common__PolicyValidationParameter { /** * The list of policy violation keys that should not cause a * `PolicyViolationError` to be reported. Not all policy violations are * exemptable. Refer to the `is_exemptible` field in the returned * `PolicyViolationError`. This field is used for keyword policy exemptions. * If this field is populated, then `ignorable_policy_topics` must be empty. * Resources that violate these policies will be saved, but will not be * eligible to serve. They may begin serving at a later time due to a change * in policies, re-review of the resource, or a change in advertiser * certificates. */ exemptPolicyViolationKeys?: GoogleAdsSearchads360V23Common__PolicyViolationKey[]; /** * The list of policy topics that should not cause a `PolicyFindingError` to * be reported. This field is used for ad policy exemptions. It corresponds to * the `PolicyTopicEntry.topic` field. If this field is populated, then * `exempt_policy_violation_keys` must be empty. Resources that violate these * policies will be saved, but will not be eligible to serve. They may begin * serving at a later time due to a change in policies, re-review of the * resource, or a change in advertiser certificates. */ ignorablePolicyTopics?: string[]; } /** * Key of the violation. The key is used for referring to a violation when * filing an exemption request. */ export interface GoogleAdsSearchads360V23Common__PolicyViolationKey { /** * Unique ID of the violated policy. */ policyName?: string; /** * The text that violates the policy if specified. Otherwise, refers to the * policy in general (for example, when requesting to be exempt from the whole * policy). If not specified for criterion exemptions, the whole policy is * implied. Must be specified for ad exemptions. */ violatingText?: string; } /** * An asset representing a list of price offers. */ export interface GoogleAdsSearchads360V23Common__PriceAsset { /** * Required. The language of the price asset. Represented as BCP 47 language * tag. */ languageCode?: string; /** * The price offerings of the price asset. The size of this collection should * be between 3 and 8, inclusive. */ priceOfferings?: GoogleAdsSearchads360V23Common__PriceOffering[]; /** * The price qualifier of the price asset. */ priceQualifier?: | "UNSPECIFIED" | "UNKNOWN" | "FROM" | "UP_TO" | "AVERAGE"; /** * Required. The type of the price asset. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "BRANDS" | "EVENTS" | "LOCATIONS" | "NEIGHBORHOODS" | "PRODUCT_CATEGORIES" | "PRODUCT_TIERS" | "SERVICES" | "SERVICE_CATEGORIES" | "SERVICE_TIERS"; } function serializeGoogleAdsSearchads360V23Common__PriceAsset(data: any): GoogleAdsSearchads360V23Common__PriceAsset { return { ...data, priceOfferings: data["priceOfferings"] !== undefined ? data["priceOfferings"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__PriceOffering(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__PriceAsset(data: any): GoogleAdsSearchads360V23Common__PriceAsset { return { ...data, priceOfferings: data["priceOfferings"] !== undefined ? data["priceOfferings"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__PriceOffering(item))) : undefined, }; } /** * A single price offering within a PriceAsset. */ export interface GoogleAdsSearchads360V23Common__PriceOffering { /** * Required. The description of the price offering. The length of this string * should be between 1 and 25, inclusive. */ description?: string; /** * The final mobile URL after all cross domain redirects. */ finalMobileUrl?: string; /** * Required. The final URL after all cross domain redirects. */ finalUrl?: string; /** * Required. The header of the price offering. The length of this string * should be between 1 and 25, inclusive. */ header?: string; /** * Required. The price value of the price offering. */ price?: GoogleAdsSearchads360V23Common__Money; /** * The price unit of the price offering. */ unit?: | "UNSPECIFIED" | "UNKNOWN" | "PER_HOUR" | "PER_DAY" | "PER_WEEK" | "PER_MONTH" | "PER_YEAR" | "PER_NIGHT"; } function serializeGoogleAdsSearchads360V23Common__PriceOffering(data: any): GoogleAdsSearchads360V23Common__PriceOffering { return { ...data, price: data["price"] !== undefined ? serializeGoogleAdsSearchads360V23Common__Money(data["price"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__PriceOffering(data: any): GoogleAdsSearchads360V23Common__PriceOffering { return { ...data, price: data["price"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__Money(data["price"]) : undefined, }; } /** * Brand of the product. */ export interface GoogleAdsSearchads360V23Common__ProductBrandInfo { /** * String value of the product brand. */ value?: string; } /** * Category of a product offer. */ export interface GoogleAdsSearchads360V23Common__ProductCategoryInfo { /** * ID of the product category. This ID is equivalent to the * google_product_category ID as described in this article: * https://support.google.com/merchants/answer/6324436 */ categoryId?: bigint; /** * Level of the product category. */ level?: | "UNSPECIFIED" | "UNKNOWN" | "LEVEL1" | "LEVEL2" | "LEVEL3" | "LEVEL4" | "LEVEL5"; } function serializeGoogleAdsSearchads360V23Common__ProductCategoryInfo(data: any): GoogleAdsSearchads360V23Common__ProductCategoryInfo { return { ...data, categoryId: data["categoryId"] !== undefined ? String(data["categoryId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ProductCategoryInfo(data: any): GoogleAdsSearchads360V23Common__ProductCategoryInfo { return { ...data, categoryId: data["categoryId"] !== undefined ? BigInt(data["categoryId"]) : undefined, }; } /** * Availability of a product offer. */ export interface GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo { /** * Value of the availability. */ channelExclusivity?: | "UNSPECIFIED" | "UNKNOWN" | "SINGLE_CHANNEL" | "MULTI_CHANNEL"; } /** * Locality of a product offer. */ export interface GoogleAdsSearchads360V23Common__ProductChannelInfo { /** * Value of the locality. */ channel?: | "UNSPECIFIED" | "UNKNOWN" | "ONLINE" | "LOCAL"; } /** * Condition of a product offer. */ export interface GoogleAdsSearchads360V23Common__ProductConditionInfo { /** * Value of the condition. */ condition?: | "UNSPECIFIED" | "UNKNOWN" | "NEW" | "REFURBISHED" | "USED"; } /** * Custom attribute of a product offer. */ export interface GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo { /** * Indicates the index of the custom attribute. */ index?: | "UNSPECIFIED" | "UNKNOWN" | "INDEX0" | "INDEX1" | "INDEX2" | "INDEX3" | "INDEX4"; /** * String value of the product custom attribute. */ value?: string; } /** * Grouping of a product offer. This listing dimension is deprecated and it is * supported only in Display campaigns. */ export interface GoogleAdsSearchads360V23Common__ProductGroupingInfo { /** * String value of the product grouping. */ value?: string; } /** * Item id of a product offer. */ export interface GoogleAdsSearchads360V23Common__ProductItemIdInfo { /** * Value of the id. */ value?: string; } /** * Labels of a product offer. This listing dimension is deprecated and it is * supported only in Display campaigns. */ export interface GoogleAdsSearchads360V23Common__ProductLabelsInfo { /** * String value of the product labels. */ value?: string; } /** * Legacy condition of a product offer. This listing dimension is deprecated * and it is supported only in Display campaigns. */ export interface GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo { /** * String value of the product legacy condition. */ value?: string; } /** * Full type of a product offer. This listing dimension is deprecated and it is * supported only in Display campaigns. */ export interface GoogleAdsSearchads360V23Common__ProductTypeFullInfo { /** * String value of the product full type. */ value?: string; } /** * Type of a product offer. */ export interface GoogleAdsSearchads360V23Common__ProductTypeInfo { /** * Level of the type. */ level?: | "UNSPECIFIED" | "UNKNOWN" | "LEVEL1" | "LEVEL2" | "LEVEL3" | "LEVEL4" | "LEVEL5"; /** * Value of the type. */ value?: string; } /** * A Promotion asset. */ export interface GoogleAdsSearchads360V23Common__PromotionAsset { /** * List of non-overlapping schedules specifying all time intervals for which * the asset may serve. There can be a maximum of 6 schedules per day, 42 in * total. */ adScheduleTargets?: GoogleAdsSearchads360V23Common__AdScheduleInfo[]; /** * A modifier for qualification of the discount. */ discountModifier?: | "UNSPECIFIED" | "UNKNOWN" | "UP_TO"; /** * Last date of when this asset is effective and still serving, in yyyy-MM-dd * format. */ endDate?: string; /** * The language of the promotion. Represented as BCP 47 language tag. */ languageCode?: string; /** * Money amount off for discount in the promotion. Either this or percent_off * is required. */ moneyAmountOff?: GoogleAdsSearchads360V23Common__Money; /** * The occasion the promotion was intended for. If an occasion is set, the * redemption window will need to fall within the date range associated with * the occasion. */ occasion?: | "UNSPECIFIED" | "UNKNOWN" | "NEW_YEARS" | "CHINESE_NEW_YEAR" | "VALENTINES_DAY" | "EASTER" | "MOTHERS_DAY" | "FATHERS_DAY" | "LABOR_DAY" | "BACK_TO_SCHOOL" | "HALLOWEEN" | "BLACK_FRIDAY" | "CYBER_MONDAY" | "CHRISTMAS" | "BOXING_DAY" | "INDEPENDENCE_DAY" | "NATIONAL_DAY" | "END_OF_SEASON" | "WINTER_SALE" | "SUMMER_SALE" | "FALL_SALE" | "SPRING_SALE" | "RAMADAN" | "EID_AL_FITR" | "EID_AL_ADHA" | "SINGLES_DAY" | "WOMENS_DAY" | "HOLI" | "PARENTS_DAY" | "ST_NICHOLAS_DAY" | "CARNIVAL" | "EPIPHANY" | "ROSH_HASHANAH" | "PASSOVER" | "HANUKKAH" | "DIWALI" | "NAVRATRI" | "SONGKRAN" | "YEAR_END_GIFT"; /** * The amount the total order needs to be for the user to be eligible for the * promotion. */ ordersOverAmount?: GoogleAdsSearchads360V23Common__Money; /** * Percentage off discount in the promotion. 1,000,000 = 100%. Either this or * money_amount_off is required. */ percentOff?: bigint; /** * Barcode info used to generate promotion barcode for user to be eligible * for the promotion. */ promotionBarcodeInfo?: GoogleAdsSearchads360V23Common__PromotionBarcodeInfo; /** * A code the user should use in order to be eligible for the promotion. */ promotionCode?: string; /** * QR code info used to generate promotion QR code for user to be eligible * for the promotion. */ promotionQrCodeInfo?: GoogleAdsSearchads360V23Common__PromotionQrCodeInfo; /** * Required. A freeform description of what the promotion is targeting. */ promotionTarget?: string; /** * Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd * format. */ redemptionEndDate?: string; /** * Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd * format. */ redemptionStartDate?: string; /** * Start date of when this asset is effective and can begin serving, in * yyyy-MM-dd format. */ startDate?: string; /** * Terms and conditions of the promotion. */ termsAndConditionsText?: string; /** * URI to the terms and conditions of the promotion. */ termsAndConditionsUri?: string; } function serializeGoogleAdsSearchads360V23Common__PromotionAsset(data: any): GoogleAdsSearchads360V23Common__PromotionAsset { return { ...data, moneyAmountOff: data["moneyAmountOff"] !== undefined ? serializeGoogleAdsSearchads360V23Common__Money(data["moneyAmountOff"]) : undefined, ordersOverAmount: data["ordersOverAmount"] !== undefined ? serializeGoogleAdsSearchads360V23Common__Money(data["ordersOverAmount"]) : undefined, percentOff: data["percentOff"] !== undefined ? String(data["percentOff"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__PromotionAsset(data: any): GoogleAdsSearchads360V23Common__PromotionAsset { return { ...data, moneyAmountOff: data["moneyAmountOff"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__Money(data["moneyAmountOff"]) : undefined, ordersOverAmount: data["ordersOverAmount"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__Money(data["ordersOverAmount"]) : undefined, percentOff: data["percentOff"] !== undefined ? BigInt(data["percentOff"]) : undefined, }; } /** * Barcode info to generate promotion barcode. */ export interface GoogleAdsSearchads360V23Common__PromotionBarcodeInfo { /** * Promotion message to be encoded in the barcode. */ barcodeContent?: string; /** * Barcode type used to generate barcode with the correct format. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "AZTEC" | "CODABAR" | "CODE39" | "CODE128" | "DATA_MATRIX" | "EAN8" | "EAN13" | "ITF" | "PDF417" | "UPC_A"; } /** * QR code info to generate promotion QR code. */ export interface GoogleAdsSearchads360V23Common__PromotionQrCodeInfo { /** * Promotion message to be encoded in the QR code. */ qrCodeContent?: string; } /** * A Proximity criterion. The geo point and radius determine what geographical * area is included. The address is a description of the geo point that does not * affect ad serving. There are two ways to create a proximity. First, by * setting an address and radius. The geo point will be automatically computed. * Second, by setting a geo point and radius. The address is an optional label * that won't be validated. */ export interface GoogleAdsSearchads360V23Common__ProximityInfo { /** * Full address. */ address?: GoogleAdsSearchads360V23Common__AddressInfo; /** * Latitude and longitude. */ geoPoint?: GoogleAdsSearchads360V23Common__GeoPointInfo; /** * The radius of the proximity. */ radius?: number; /** * The unit of measurement of the radius. Default is KILOMETERS. */ radiusUnits?: | "UNSPECIFIED" | "UNKNOWN" | "MILES" | "KILOMETERS"; } /** * Settings for Real-Time Bidding, a feature only available for campaigns * targeting the Ad Exchange network. */ export interface GoogleAdsSearchads360V23Common__RealTimeBiddingSetting { /** * Whether the campaign is opted in to real-time bidding. */ optIn?: boolean; } /** * Specification for various creative controls for a responsive display ad. */ export interface GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec { /** * Whether the advertiser has opted into the asset enhancements feature. */ enableAssetEnhancements?: boolean; /** * Whether the advertiser has opted into auto-gen video feature. */ enableAutogenVideo?: boolean; } /** * A responsive display ad. */ export interface GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo { /** * The accent color of the ad in hexadecimal, for example, #ffffff for white. * If one of `main_color` and `accent_color` is set, the other is required as * well. */ accentColor?: string; /** * Advertiser's consent to allow flexible color. When true, the ad may be * served with different color if necessary. When false, the ad will be served * with the specified colors or a neutral color. The default value is `true`. * Must be true if `main_color` and `accent_color` are not set. */ allowFlexibleColor?: boolean; /** * The advertiser/brand name. Maximum display width is 25. */ businessName?: string; /** * The call-to-action text for the ad. Maximum display width is 30. */ callToActionText?: string; /** * Specification for various creative controls. */ controlSpec?: GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec; /** * Descriptive texts for the ad. The maximum length is 90 characters. At * least 1 and max 5 headlines can be specified. */ descriptions?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * Specifies which format the ad will be served in. Default is ALL_FORMATS. */ formatSetting?: | "UNSPECIFIED" | "UNKNOWN" | "ALL_FORMATS" | "NON_NATIVE" | "NATIVE"; /** * Short format headlines for the ad. The maximum length is 30 characters. At * least 1 and max 5 headlines can be specified. */ headlines?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * Logo images to be used in the ad. Valid image types are GIF, JPEG, and * PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). * Combined with `square_logo_images`, the maximum is 5. */ logoImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * A required long format headline. The maximum length is 90 characters. */ longHeadline?: GoogleAdsSearchads360V23Common__AdTextAsset; /** * The main color of the ad in hexadecimal, for example, #ffffff for white. * If one of `main_color` and `accent_color` is set, the other is required as * well. */ mainColor?: string; /** * Marketing images to be used in the ad. Valid image types are GIF, JPEG, * and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 * (+-1%). At least one `marketing_image` is required. Combined with * `square_marketing_images`, the maximum is 15. */ marketingImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * Prefix before price. For example, 'as low as'. */ pricePrefix?: string; /** * Promotion text used for dynamic formats of responsive ads. For example * 'Free two-day shipping'. */ promoText?: string; /** * Square logo images to be used in the ad. Valid image types are GIF, JPEG, * and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 * (+-1%). Combined with `logo_images`, the maximum is 5. */ squareLogoImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * Square marketing images to be used in the ad. Valid image types are GIF, * JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 * (+-1%). At least one square `marketing_image` is required. Combined with * `marketing_images`, the maximum is 15. */ squareMarketingImages?: GoogleAdsSearchads360V23Common__AdImageAsset[]; /** * Optional YouTube videos for the ad. A maximum of 5 videos can be * specified. */ youtubeVideos?: GoogleAdsSearchads360V23Common__AdVideoAsset[]; } function serializeGoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo(data: any): GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, longHeadline: data["longHeadline"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AdTextAsset(data["longHeadline"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo(data: any): GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, longHeadline: data["longHeadline"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AdTextAsset(data["longHeadline"]) : undefined, }; } /** * A responsive search ad. Responsive search ads let you create an ad that * adapts to show more text, and more relevant messages, to your customers. * Enter multiple headlines and descriptions when creating a responsive search * ad, and over time, Google Ads will automatically test different combinations * and learn which combinations perform best. By adapting your ad's content to * more closely match potential customers' search terms, responsive search ads * may improve your campaign's performance. More information at * https://support.google.com/google-ads/answer/7684791 */ export interface GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo { /** * List of text assets for descriptions. When the ad serves the descriptions * will be selected from this list. */ descriptions?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of text assets for headlines. When the ad serves the headlines will * be selected from this list. */ headlines?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * First part of text that can be appended to the URL in the ad. */ path1?: string; /** * Second part of text that can be appended to the URL in the ad. This field * can only be set when `path1` is also set. */ path2?: string; } function serializeGoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo(data: any): GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo(data: any): GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } /** * Representation of a userlist that is generated by a rule. */ export interface GoogleAdsSearchads360V23Common__RuleBasedUserListInfo { /** * Flexible rule representation of visitors with one or multiple actions. The * flexible user list is defined by two lists of operands – inclusive_operands * and exclusive_operands; each operand represents a set of users based on * actions they took in a given timeframe. These lists of operands are * combined with the AND_NOT operator, so that users represented by the * inclusive operands are included in the user list, minus the users * represented by the exclusive operands. */ flexibleRuleUserList?: GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo; /** * The status of pre-population. The field is default to NONE if not set * which means the previous users will not be considered. If set to REQUESTED, * past site visitors or app users who match the list definition will be * included in the list (works on the Display Network only). This will only * add past users from within the last 30 days, depending on the list's * membership duration and the date when the remarketing tag is added. The * status will be updated to FINISHED once request is processed, or FAILED if * the request fails. */ prepopulationStatus?: | "UNSPECIFIED" | "UNKNOWN" | "REQUESTED" | "FINISHED" | "FAILED"; } function serializeGoogleAdsSearchads360V23Common__RuleBasedUserListInfo(data: any): GoogleAdsSearchads360V23Common__RuleBasedUserListInfo { return { ...data, flexibleRuleUserList: data["flexibleRuleUserList"] !== undefined ? serializeGoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo(data["flexibleRuleUserList"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__RuleBasedUserListInfo(data: any): GoogleAdsSearchads360V23Common__RuleBasedUserListInfo { return { ...data, flexibleRuleUserList: data["flexibleRuleUserList"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo(data["flexibleRuleUserList"]) : undefined, }; } /** * An expanded dynamic search ad. */ export interface GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo { /** * The tracking id of the ad. */ adTrackingId?: bigint; /** * The first line of the ad's description. */ description1?: string; /** * The second line of the ad's description. */ description2?: string; } function serializeGoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo(data: any): GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo { return { ...data, adTrackingId: data["adTrackingId"] !== undefined ? String(data["adTrackingId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo(data: any): GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo { return { ...data, adTrackingId: data["adTrackingId"] !== undefined ? BigInt(data["adTrackingId"]) : undefined, }; } /** * A Search Ads 360 expanded text ad. */ export interface GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo { /** * The tracking id of the ad. */ adTrackingId?: bigint; /** * The first line of the ad's description. */ description1?: string; /** * The second line of the ad's description. */ description2?: string; /** * The headline of the ad. */ headline?: string; /** * The second headline of the ad. */ headline2?: string; /** * The third headline of the ad. */ headline3?: string; /** * Text appended to the auto-generated visible URL with a delimiter. */ path1?: string; /** * Text appended to path1 with a delimiter. */ path2?: string; } function serializeGoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo(data: any): GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo { return { ...data, adTrackingId: data["adTrackingId"] !== undefined ? String(data["adTrackingId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo(data: any): GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo { return { ...data, adTrackingId: data["adTrackingId"] !== undefined ? BigInt(data["adTrackingId"]) : undefined, }; } /** * A Search Ads 360 product ad. */ export interface GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo { } /** * A Search Ads 360 responsive search ad. */ export interface GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo { /** * The tracking id of the ad. */ adTrackingId?: bigint; /** * List of text assets for descriptions. When the ad serves the descriptions * will be selected from this list. */ descriptions?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of text assets for headlines. When the ad serves the headlines will * be selected from this list. */ headlines?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * Text appended to the auto-generated visible URL with a delimiter. */ path1?: string; /** * Text appended to path1 with a delimiter. */ path2?: string; } function serializeGoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo(data: any): GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo { return { ...data, adTrackingId: data["adTrackingId"] !== undefined ? String(data["adTrackingId"]) : undefined, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo(data: any): GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo { return { ...data, adTrackingId: data["adTrackingId"] !== undefined ? BigInt(data["adTrackingId"]) : undefined, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } /** * A Search Ads 360 text ad. */ export interface GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo { /** * The tracking id of the ad. */ adTrackingId?: bigint; /** * The first line of the ad's description. */ description1?: string; /** * The second line of the ad's description. */ description2?: string; /** * The displayed mobile URL of the ad. */ displayMobileUrl?: string; /** * The displayed URL of the ad. */ displayUrl?: string; /** * The headline of the ad. */ headline?: string; } function serializeGoogleAdsSearchads360V23Common__SearchAds360TextAdInfo(data: any): GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo { return { ...data, adTrackingId: data["adTrackingId"] !== undefined ? String(data["adTrackingId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__SearchAds360TextAdInfo(data: any): GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo { return { ...data, adTrackingId: data["adTrackingId"] !== undefined ? BigInt(data["adTrackingId"]) : undefined, }; } /** * A Search Theme criterion only on Performance Max campaign. Represents a * keyword-like advertiser input. */ export interface GoogleAdsSearchads360V23Common__SearchThemeInfo { /** * Each Search Theme has a value of a simple string, like keywords. There are * limits on overall length, allowed characters, and number of words. */ text?: string; } /** * Segment only fields. */ export interface GoogleAdsSearchads360V23Common__Segments { /** * Ad Format type. */ adFormatType?: | "UNSPECIFIED" | "UNKNOWN" | "OTHER" | "UNSEGMENTED" | "INSTREAM_SKIPPABLE" | "INSTREAM_NON_SKIPPABLE" | "INFEED" | "BUMPER" | "OUTSTREAM" | "MASTHEAD" | "AUDIO" | "SHORTS" | "PAUSE" | "VERTICAL_ADS_PROMOTION" | "VERTICAL_ADS_BOOKING_LINK" | "TEXT"; /** * Ad network type. */ adNetworkType?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH" | "SEARCH_PARTNERS" | "CONTENT" | "MIXED" | "YOUTUBE" | "GOOGLE_TV" | "GOOGLE_OWNED_CHANNELS" | "GMAIL" | "DISCOVER" | "MAPS"; /** * Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. * Indicates whether the interaction metrics occurred on the asset itself or a * different asset or ad unit. Interactions (for example, clicks) are counted * across all the parts of the served ad (for example, Ad itself and other * components like Sitelinks) when they are served together. When * interaction_on_this_asset is true, it means the interactions are on this * specific asset and when interaction_on_this_asset is false, it means the * interactions is not on this specific asset but on other parts of the served * ad this asset is served with. */ assetInteractionTarget?: GoogleAdsSearchads360V23Common__AssetInteractionTarget; /** * Resource name of the conversion action. */ conversionAction?: string; /** * Conversion action category. */ conversionActionCategory?: | "UNSPECIFIED" | "UNKNOWN" | "DEFAULT" | "PAGE_VIEW" | "PURCHASE" | "SIGNUP" | "DOWNLOAD" | "ADD_TO_CART" | "BEGIN_CHECKOUT" | "SUBSCRIBE_PAID" | "PHONE_CALL_LEAD" | "IMPORTED_LEAD" | "SUBMIT_LEAD_FORM" | "BOOK_APPOINTMENT" | "REQUEST_QUOTE" | "GET_DIRECTIONS" | "OUTBOUND_CLICK" | "CONTACT" | "ENGAGEMENT" | "STORE_VISIT" | "STORE_SALE" | "QUALIFIED_LEAD" | "CONVERTED_LEAD"; /** * Conversion action name. */ conversionActionName?: string; /** * The conversion custom dimensions. */ conversionCustomDimensions?: GoogleAdsSearchads360V23Common__Value[]; /** * Date to which metrics apply. yyyy-MM-dd format, for example, 2018-04-17. */ date?: string; /** * Day of the week, for example, MONDAY. */ dayOfWeek?: | "UNSPECIFIED" | "UNKNOWN" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY"; /** * Device to which metrics apply. */ device?: | "UNSPECIFIED" | "UNKNOWN" | "MOBILE" | "TABLET" | "DESKTOP" | "CONNECTED_TV" | "OTHER"; /** * Resource name of the geo target constant that represents a city. */ geoTargetCity?: string; /** * Resource name of the geo target constant that represents a country. */ geoTargetCountry?: string; /** * Resource name of the geo target constant that represents a metro. */ geoTargetMetro?: string; /** * Resource name of the geo target constant that represents a postal code. */ geoTargetPostalCode?: string; /** * Resource name of the geo target constant that represents a region. */ geoTargetRegion?: string; /** * Hour of day as a number between 0 and 23, inclusive. */ hour?: number; /** * Keyword criterion. */ keyword?: GoogleAdsSearchads360V23Common__Keyword; /** * Month as represented by the date of the first day of a month. Formatted as * yyyy-MM-dd. */ month?: string; /** * Bidding category (level 1) of the product. */ productBiddingCategoryLevel1?: string; /** * Bidding category (level 2) of the product. */ productBiddingCategoryLevel2?: string; /** * Bidding category (level 3) of the product. */ productBiddingCategoryLevel3?: string; /** * Bidding category (level 4) of the product. */ productBiddingCategoryLevel4?: string; /** * Bidding category (level 5) of the product. */ productBiddingCategoryLevel5?: string; /** * Brand of the product. */ productBrand?: string; /** * Channel of the product. */ productChannel?: | "UNSPECIFIED" | "UNKNOWN" | "ONLINE" | "LOCAL"; /** * Channel exclusivity of the product. */ productChannelExclusivity?: | "UNSPECIFIED" | "UNKNOWN" | "SINGLE_CHANNEL" | "MULTI_CHANNEL"; /** * Condition of the product. */ productCondition?: | "UNSPECIFIED" | "UNKNOWN" | "NEW" | "REFURBISHED" | "USED"; /** * Resource name of the geo target constant for the country of sale of the * product. */ productCountry?: string; /** * Custom attribute 0 of the product. */ productCustomAttribute0?: string; /** * Custom attribute 1 of the product. */ productCustomAttribute1?: string; /** * Custom attribute 2 of the product. */ productCustomAttribute2?: string; /** * Custom attribute 3 of the product. */ productCustomAttribute3?: string; /** * Custom attribute 4 of the product. */ productCustomAttribute4?: string; /** * Item ID of the product. */ productItemId?: string; /** * Resource name of the language constant for the language of the product. */ productLanguage?: string; /** * Bidding category (level 1) of the product sold. */ productSoldBiddingCategoryLevel1?: string; /** * Bidding category (level 2) of the product sold. */ productSoldBiddingCategoryLevel2?: string; /** * Bidding category (level 3) of the product sold. */ productSoldBiddingCategoryLevel3?: string; /** * Bidding category (level 4) of the product sold. */ productSoldBiddingCategoryLevel4?: string; /** * Bidding category (level 5) of the product sold. */ productSoldBiddingCategoryLevel5?: string; /** * Brand of the product sold. */ productSoldBrand?: string; /** * Condition of the product sold. */ productSoldCondition?: | "UNSPECIFIED" | "UNKNOWN" | "NEW" | "REFURBISHED" | "USED"; /** * Custom attribute 0 of the product sold. */ productSoldCustomAttribute0?: string; /** * Custom attribute 1 of the product sold. */ productSoldCustomAttribute1?: string; /** * Custom attribute 2 of the product sold. */ productSoldCustomAttribute2?: string; /** * Custom attribute 3 of the product sold. */ productSoldCustomAttribute3?: string; /** * Custom attribute 4 of the product sold. */ productSoldCustomAttribute4?: string; /** * Item ID of the product sold. */ productSoldItemId?: string; /** * Title of the product sold. */ productSoldTitle?: string; /** * Type (level 1) of the product sold. */ productSoldTypeL1?: string; /** * Type (level 2) of the product sold. */ productSoldTypeL2?: string; /** * Type (level 3) of the product sold. */ productSoldTypeL3?: string; /** * Type (level 4) of the product sold. */ productSoldTypeL4?: string; /** * Type (level 5) of the product sold. */ productSoldTypeL5?: string; /** * Store ID of the product. */ productStoreId?: string; /** * Title of the product. */ productTitle?: string; /** * Type (level 1) of the product. */ productTypeL1?: string; /** * Type (level 2) of the product. */ productTypeL2?: string; /** * Type (level 3) of the product. */ productTypeL3?: string; /** * Type (level 4) of the product. */ productTypeL4?: string; /** * Type (level 5) of the product. */ productTypeL5?: string; /** * Quarter as represented by the date of the first day of a quarter. Uses the * calendar year for quarters, for example, the second quarter of 2018 starts * on 2018-04-01. Formatted as yyyy-MM-dd. */ quarter?: string; /** * The raw event conversion dimensions. */ rawEventConversionDimensions?: GoogleAdsSearchads360V23Common__Value[]; /** * The display names of participants in an event listing, like performers, * speakers, or teams. */ verticalAdsEventParticipantDisplayNames?: string; /** * The class of the hotel. Generally in the range of 1 to 5 stars, but fully * customizable in the hotel feed. */ verticalAdsHotelClass?: bigint; /** * The listing associated with a listing impression, click or conversion. */ verticalAdsListing?: string; /** * The brand associated with a specific listing within a Vertical Ads * context, for example, the brand of a car rental, a vacation home, or an * event. */ verticalAdsListingBrand?: string; /** * The city where the vertical ads listing is located. */ verticalAdsListingCity?: string; /** * The country where the vertical ads listing is located. */ verticalAdsListingCountry?: string; /** * The region where the vertical ads listing is located. */ verticalAdsListingRegion?: string; /** * A specific partner account within a Partner Center (for example, Hotel * Center) that supplies inventory feed data for Vertical Ads. */ verticalAdsPartnerAccount?: bigint; /** * Type of vertical ad, such as Vacation Rentals, Car Rentals, or Events, * used to categorize and segment data in the context of Vertical Ads. */ verticalAdsVertical?: | "UNSPECIFIED" | "UNKNOWN" | "HOTELS" | "VACATION_RENTALS" | "RENTAL_CARS" | "EVENTS" | "THINGS_TO_DO" | "FLIGHTS"; /** * Week as defined as Monday through Sunday, and represented by the date of * Monday. Formatted as yyyy-MM-dd. */ week?: string; /** * Year, formatted as yyyy. */ year?: number; } function serializeGoogleAdsSearchads360V23Common__Segments(data: any): GoogleAdsSearchads360V23Common__Segments { return { ...data, conversionCustomDimensions: data["conversionCustomDimensions"] !== undefined ? data["conversionCustomDimensions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__Value(item))) : undefined, rawEventConversionDimensions: data["rawEventConversionDimensions"] !== undefined ? data["rawEventConversionDimensions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__Value(item))) : undefined, verticalAdsHotelClass: data["verticalAdsHotelClass"] !== undefined ? String(data["verticalAdsHotelClass"]) : undefined, verticalAdsPartnerAccount: data["verticalAdsPartnerAccount"] !== undefined ? String(data["verticalAdsPartnerAccount"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__Segments(data: any): GoogleAdsSearchads360V23Common__Segments { return { ...data, conversionCustomDimensions: data["conversionCustomDimensions"] !== undefined ? data["conversionCustomDimensions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__Value(item))) : undefined, rawEventConversionDimensions: data["rawEventConversionDimensions"] !== undefined ? data["rawEventConversionDimensions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__Value(item))) : undefined, verticalAdsHotelClass: data["verticalAdsHotelClass"] !== undefined ? BigInt(data["verticalAdsHotelClass"]) : undefined, verticalAdsPartnerAccount: data["verticalAdsPartnerAccount"] !== undefined ? BigInt(data["verticalAdsPartnerAccount"]) : undefined, }; } /** * A Shopping Comparison Listing ad. */ export interface GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo { /** * Headline of the ad. This field is required. Allowed length is between 25 * and 45 characters. */ headline?: string; } /** * The shopping loyalty related data. Shopping utilizes this data to provide * users with a better experience. Accessible only to merchants on the * allow-list. */ export interface GoogleAdsSearchads360V23Common__ShoppingLoyalty { /** * The membership tier. It is a free-form string as each merchant may have * their own loyalty system. For example, it could be a number from 1 to 10, * or a string such as "Golden" or "Silver", or even empty string "". */ loyaltyTier?: string; } /** * A standard Shopping ad. */ export interface GoogleAdsSearchads360V23Common__ShoppingProductAdInfo { } /** * A Smart Shopping ad. */ export interface GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo { } /** * SimilarUserList is a list of users which are similar to users from another * UserList. These lists are read-only and automatically created by Google. */ export interface GoogleAdsSearchads360V23Common__SimilarUserListInfo { /** * Seed UserList from which this list is derived. */ seedUserList?: string; } /** * A Sitelink asset. */ export interface GoogleAdsSearchads360V23Common__SitelinkAsset { /** * List of non-overlapping schedules specifying all time intervals for which * the asset may serve. There can be a maximum of 6 schedules per day, 42 in * total. */ adScheduleTargets?: GoogleAdsSearchads360V23Common__AdScheduleInfo[]; /** * First line of the description for the sitelink. If set, the length should * be between 1 and 35, inclusive, and description2 must also be set. */ description1?: string; /** * Second line of the description for the sitelink. If set, the length should * be between 1 and 35, inclusive, and description1 must also be set. */ description2?: string; /** * Last date of when this asset is effective and still serving, in yyyy-MM-dd * format. */ endDate?: string; /** * Required. URL display text for the sitelink. The length of this string * should be between 1 and 25, inclusive. */ linkText?: string; /** * Start date of when this asset is effective and can begin serving, in * yyyy-MM-dd format. */ startDate?: string; } /** * Represents a sitelink. */ export interface GoogleAdsSearchads360V23Common__SitelinkFeedItem { /** * A list of possible final mobile URLs after all cross domain redirects. */ finalMobileUrls?: string[]; /** * A list of possible final URLs after all cross domain redirects. */ finalUrls?: string[]; /** * Final URL suffix to be appended to landing page URLs served with parallel * tracking. */ finalUrlSuffix?: string; /** * First line of the description for the sitelink. If this value is set, * line2 must also be set. The length of this string should be between 0 and * 35, inclusive. */ line1?: string; /** * Second line of the description for the sitelink. If this value is set, * line1 must also be set. The length of this string should be between 0 and * 35, inclusive. */ line2?: string; /** * URL display text for the sitelink. The length of this string should be * between 1 and 25, inclusive. */ linkText?: string; /** * URL template for constructing a tracking URL. */ trackingUrlTemplate?: string; /** * A list of mappings to be used for substituting URL custom parameter tags * in the tracking_url_template, final_urls, and/or final_mobile_urls. */ urlCustomParameters?: GoogleAdsSearchads360V23Common__CustomParameter[]; } /** * A Smart campaign ad. */ export interface GoogleAdsSearchads360V23Common__SmartCampaignAdInfo { /** * List of text assets, each of which corresponds to a description when the * ad serves. This list consists of a minimum of 2 and up to 4 text assets. */ descriptions?: GoogleAdsSearchads360V23Common__AdTextAsset[]; /** * List of text assets, each of which corresponds to a headline when the ad * serves. This list consists of a minimum of 3 and up to 15 text assets. */ headlines?: GoogleAdsSearchads360V23Common__AdTextAsset[]; } function serializeGoogleAdsSearchads360V23Common__SmartCampaignAdInfo(data: any): GoogleAdsSearchads360V23Common__SmartCampaignAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__SmartCampaignAdInfo(data: any): GoogleAdsSearchads360V23Common__SmartCampaignAdInfo { return { ...data, descriptions: data["descriptions"] !== undefined ? data["descriptions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, headlines: data["headlines"] !== undefined ? data["headlines"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AdTextAsset(item))) : undefined, }; } /** * Store attributes of the transaction. */ export interface GoogleAdsSearchads360V23Common__StoreAttribute { /** * Store code from * https://support.google.com/business/answer/3370250#storecode */ storeCode?: string; } /** * Metadata for Store Sales Direct. */ export interface GoogleAdsSearchads360V23Common__StoreSalesMetadata { /** * Name of the store sales custom variable key. A predefined key that can be * applied to the transaction and then later used for custom segmentation in * reporting. Accessible only to customers on the allow-list. */ customKey?: string; /** * This is the fraction of all transactions that are identifiable (for * example, associated with any form of customer information). Required. The * fraction needs to be between 0 and 1 (excluding 0). */ loyaltyFraction?: number; /** * Metadata for a third party Store Sales upload. */ thirdPartyMetadata?: GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata; /** * This is the ratio of sales being uploaded compared to the overall sales * that can be associated with a customer. Required. The fraction needs to be * between 0 and 1 (excluding 0). For example, if you upload half the sales * that you are able to associate with a customer, this would be 0.5. */ transactionUploadFraction?: number; } function serializeGoogleAdsSearchads360V23Common__StoreSalesMetadata(data: any): GoogleAdsSearchads360V23Common__StoreSalesMetadata { return { ...data, thirdPartyMetadata: data["thirdPartyMetadata"] !== undefined ? serializeGoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata(data["thirdPartyMetadata"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__StoreSalesMetadata(data: any): GoogleAdsSearchads360V23Common__StoreSalesMetadata { return { ...data, thirdPartyMetadata: data["thirdPartyMetadata"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata(data["thirdPartyMetadata"]) : undefined, }; } /** * Metadata for a third party Store Sales. This product is only for customers * on the allow-list. Contact your Google business development representative * for details on the upload configuration. */ export interface GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata { /** * Time the advertiser uploaded the data to the partner. Required. The format * is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 * 14:34:30" */ advertiserUploadDateTime?: string; /** * Version of partner IDs to be used for uploads. Required. */ bridgeMapVersionId?: string; /** * ID of the third party partner updating the transaction feed. */ partnerId?: bigint; /** * The fraction of valid transactions that are matched to a third party * assigned user ID on the partner side. Required. The fraction needs to be * between 0 and 1 (excluding 0). */ partnerMatchFraction?: number; /** * The fraction of valid transactions that are uploaded by the partner to * Google. Required. The fraction needs to be between 0 and 1 (excluding 0). */ partnerUploadFraction?: number; /** * The fraction of transactions that are valid. Invalid transactions may * include invalid formats or values. Required. The fraction needs to be * between 0 and 1 (excluding 0). */ validTransactionFraction?: number; } function serializeGoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata(data: any): GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata { return { ...data, partnerId: data["partnerId"] !== undefined ? String(data["partnerId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata(data: any): GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata { return { ...data, partnerId: data["partnerId"] !== undefined ? BigInt(data["partnerId"]) : undefined, }; } /** * A Structured Snippet asset. */ export interface GoogleAdsSearchads360V23Common__StructuredSnippetAsset { /** * Required. The header of the snippet. This string should be one of the * predefined values at * https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers */ header?: string; /** * Required. The values in the snippet. The size of this collection should be * between 3 and 10, inclusive. The length of each value should be between 1 * and 25 characters, inclusive. */ values?: string[]; } /** * The site tag and event snippet pair for a TrackingCodeType. */ export interface GoogleAdsSearchads360V23Common__TagSnippet { /** * The event snippet that works with the site tag to track actions that * should be counted as conversions. */ eventSnippet?: string; /** * The site tag that adds visitors to your basic remarketing lists and sets * new cookies on your domain. */ globalSiteTag?: string; /** * The format of the web page where the tracking tag and snippet will be * installed, for example, HTML. */ pageFormat?: | "UNSPECIFIED" | "UNKNOWN" | "HTML" | "AMP"; /** * The type of the generated tag snippets for tracking conversions. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "WEBPAGE" | "WEBPAGE_ONCLICK" | "CLICK_TO_CALL" | "WEBSITE_CALL"; } /** * An automated bid strategy that sets bids to help get as many conversions as * possible at the target cost-per-acquisition (CPA) you set. */ export interface GoogleAdsSearchads360V23Common__TargetCpa { /** * Maximum bid limit that can be set by the bid strategy. The limit applies * to all keywords managed by the strategy. This should only be set for * portfolio bid strategies. */ cpcBidCeilingMicros?: bigint; /** * Minimum bid limit that can be set by the bid strategy. The limit applies * to all keywords managed by the strategy. This should only be set for * portfolio bid strategies. */ cpcBidFloorMicros?: bigint; /** * Average CPA target. This target should be greater than or equal to minimum * billable unit based on the currency for the account. */ targetCpaMicros?: bigint; } function serializeGoogleAdsSearchads360V23Common__TargetCpa(data: any): GoogleAdsSearchads360V23Common__TargetCpa { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? String(data["cpcBidCeilingMicros"]) : undefined, cpcBidFloorMicros: data["cpcBidFloorMicros"] !== undefined ? String(data["cpcBidFloorMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? String(data["targetCpaMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TargetCpa(data: any): GoogleAdsSearchads360V23Common__TargetCpa { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? BigInt(data["cpcBidCeilingMicros"]) : undefined, cpcBidFloorMicros: data["cpcBidFloorMicros"] !== undefined ? BigInt(data["cpcBidFloorMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? BigInt(data["targetCpaMicros"]) : undefined, }; } /** * Projected metrics for a specific target CPA amount. */ export interface GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint { /** * Projected number of app installs. */ appInstalls?: number; /** * Projected number of biddable conversions. */ biddableConversions?: number; /** * Projected total value of biddable conversions. */ biddableConversionsValue?: number; /** * Projected number of clicks. */ clicks?: bigint; /** * Projected cost in micros. */ costMicros?: bigint; /** * Projected number of impressions. */ impressions?: bigint; /** * Projected number of in-app actions. */ inAppActions?: number; /** * Projected number of interactions. Only discovery advertising channel type * supports this field. */ interactions?: bigint; /** * Projected required daily budget that the advertiser must set in order to * receive the estimated traffic, in micros of advertiser currency. */ requiredBudgetAmountMicros?: bigint; /** * The simulated target CPA upon which projected metrics are based. */ targetCpaMicros?: bigint; /** * The simulated scaling modifier upon which projected metrics are based. All * CPA targets relevant to the simulated entity are scaled by this modifier. */ targetCpaScalingModifier?: number; /** * Projected number of top slot impressions. Only search advertising channel * type supports this field. */ topSlotImpressions?: bigint; } function serializeGoogleAdsSearchads360V23Common__TargetCpaSimulationPoint(data: any): GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint { return { ...data, clicks: data["clicks"] !== undefined ? String(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? String(data["costMicros"]) : undefined, impressions: data["impressions"] !== undefined ? String(data["impressions"]) : undefined, interactions: data["interactions"] !== undefined ? String(data["interactions"]) : undefined, requiredBudgetAmountMicros: data["requiredBudgetAmountMicros"] !== undefined ? String(data["requiredBudgetAmountMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? String(data["targetCpaMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? String(data["topSlotImpressions"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TargetCpaSimulationPoint(data: any): GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint { return { ...data, clicks: data["clicks"] !== undefined ? BigInt(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? BigInt(data["costMicros"]) : undefined, impressions: data["impressions"] !== undefined ? BigInt(data["impressions"]) : undefined, interactions: data["interactions"] !== undefined ? BigInt(data["interactions"]) : undefined, requiredBudgetAmountMicros: data["requiredBudgetAmountMicros"] !== undefined ? BigInt(data["requiredBudgetAmountMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? BigInt(data["targetCpaMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? BigInt(data["topSlotImpressions"]) : undefined, }; } /** * A container for simulation points for simulations of type TARGET_CPA. */ export interface GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList { /** * Projected metrics for a series of target CPA amounts. */ points?: GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint[]; } function serializeGoogleAdsSearchads360V23Common__TargetCpaSimulationPointList(data: any): GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__TargetCpaSimulationPoint(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TargetCpaSimulationPointList(data: any): GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__TargetCpaSimulationPoint(item))) : undefined, }; } /** * An automated bidding strategy that sets bids to help get as many clicks as * possible at the target cost-per-click (CPC) you set. */ export interface GoogleAdsSearchads360V23Common__TargetCpc { /** * Average CPC target. This target should be greater than or equal to minimum * billable unit based on the currency for the account. */ targetCpcMicros?: bigint; } function serializeGoogleAdsSearchads360V23Common__TargetCpc(data: any): GoogleAdsSearchads360V23Common__TargetCpc { return { ...data, targetCpcMicros: data["targetCpcMicros"] !== undefined ? String(data["targetCpcMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TargetCpc(data: any): GoogleAdsSearchads360V23Common__TargetCpc { return { ...data, targetCpcMicros: data["targetCpcMicros"] !== undefined ? BigInt(data["targetCpcMicros"]) : undefined, }; } /** * Target CPM (cost per thousand impressions) is an automated bidding strategy * that sets bids to optimize performance given the target CPM you set. */ export interface GoogleAdsSearchads360V23Common__TargetCpm { } /** * An automated bidding strategy that sets bids so that a certain percentage of * search ads are shown at the top of the first page (or other targeted * location). */ export interface GoogleAdsSearchads360V23Common__TargetImpressionShare { /** * The highest CPC bid the automated bidding system is permitted to specify. * This is a required field entered by the advertiser that sets the ceiling * and specified in local micros. */ cpcBidCeilingMicros?: bigint; /** * The targeted location on the search results page. */ location?: | "UNSPECIFIED" | "UNKNOWN" | "ANYWHERE_ON_PAGE" | "TOP_OF_PAGE" | "ABSOLUTE_TOP_OF_PAGE"; /** * The chosen fraction of ads to be shown in the targeted location in micros. * For example, 1% equals 10,000. */ locationFractionMicros?: bigint; } function serializeGoogleAdsSearchads360V23Common__TargetImpressionShare(data: any): GoogleAdsSearchads360V23Common__TargetImpressionShare { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? String(data["cpcBidCeilingMicros"]) : undefined, locationFractionMicros: data["locationFractionMicros"] !== undefined ? String(data["locationFractionMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TargetImpressionShare(data: any): GoogleAdsSearchads360V23Common__TargetImpressionShare { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? BigInt(data["cpcBidCeilingMicros"]) : undefined, locationFractionMicros: data["locationFractionMicros"] !== undefined ? BigInt(data["locationFractionMicros"]) : undefined, }; } /** * Projected metrics for a specific target impression share value. */ export interface GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint { /** * Projected number of absolute top impressions. Only search advertising * channel type supports this field. */ absoluteTopImpressions?: bigint; /** * Projected number of biddable conversions. */ biddableConversions?: number; /** * Projected total value of biddable conversions. */ biddableConversionsValue?: number; /** * Projected number of clicks. */ clicks?: bigint; /** * Projected cost in micros. */ costMicros?: bigint; /** * Projected number of impressions. */ impressions?: bigint; /** * Projected required daily budget that the advertiser must set in order to * receive the estimated traffic, in micros of advertiser currency. */ requiredBudgetAmountMicros?: bigint; /** * Projected required daily cpc bid ceiling that the advertiser must set to * realize this simulation, in micros of the advertiser currency. */ requiredCpcBidCeilingMicros?: bigint; /** * The simulated target impression share value (in micros) upon which * projected metrics are based. For example, 10% impression share, which is * equal to 0.1, is stored as 100_000. This value is validated and will not * exceed 1M (100%). */ targetImpressionShareMicros?: bigint; /** * Projected number of top slot impressions. Only search advertising channel * type supports this field. */ topSlotImpressions?: bigint; } function serializeGoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint(data: any): GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint { return { ...data, absoluteTopImpressions: data["absoluteTopImpressions"] !== undefined ? String(data["absoluteTopImpressions"]) : undefined, clicks: data["clicks"] !== undefined ? String(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? String(data["costMicros"]) : undefined, impressions: data["impressions"] !== undefined ? String(data["impressions"]) : undefined, requiredBudgetAmountMicros: data["requiredBudgetAmountMicros"] !== undefined ? String(data["requiredBudgetAmountMicros"]) : undefined, requiredCpcBidCeilingMicros: data["requiredCpcBidCeilingMicros"] !== undefined ? String(data["requiredCpcBidCeilingMicros"]) : undefined, targetImpressionShareMicros: data["targetImpressionShareMicros"] !== undefined ? String(data["targetImpressionShareMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? String(data["topSlotImpressions"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint(data: any): GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint { return { ...data, absoluteTopImpressions: data["absoluteTopImpressions"] !== undefined ? BigInt(data["absoluteTopImpressions"]) : undefined, clicks: data["clicks"] !== undefined ? BigInt(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? BigInt(data["costMicros"]) : undefined, impressions: data["impressions"] !== undefined ? BigInt(data["impressions"]) : undefined, requiredBudgetAmountMicros: data["requiredBudgetAmountMicros"] !== undefined ? BigInt(data["requiredBudgetAmountMicros"]) : undefined, requiredCpcBidCeilingMicros: data["requiredCpcBidCeilingMicros"] !== undefined ? BigInt(data["requiredCpcBidCeilingMicros"]) : undefined, targetImpressionShareMicros: data["targetImpressionShareMicros"] !== undefined ? BigInt(data["targetImpressionShareMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? BigInt(data["topSlotImpressions"]) : undefined, }; } /** * A container for simulation points for simulations of type * TARGET_IMPRESSION_SHARE. */ export interface GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList { /** * Projected metrics for a specific target impression share value. */ points?: GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint[]; } function serializeGoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList(data: any): GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList(data: any): GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint(item))) : undefined, }; } /** * Settings for the targeting-related features, at the campaign and ad group * levels. For more details about the targeting setting, visit * https://support.google.com/google-ads/answer/7365594 */ export interface GoogleAdsSearchads360V23Common__TargetingSetting { /** * The list of operations changing the target restrictions. Adding a target * restriction with a targeting dimension that already exists causes the * existing target restriction to be replaced with the new value. */ targetRestrictionOperations?: GoogleAdsSearchads360V23Common__TargetRestrictionOperation[]; /** * The per-targeting-dimension setting to restrict the reach of your campaign * or ad group. */ targetRestrictions?: GoogleAdsSearchads360V23Common__TargetRestriction[]; } /** * The list of per-targeting-dimension targeting settings. */ export interface GoogleAdsSearchads360V23Common__TargetRestriction { /** * Indicates whether to restrict your ads to show only for the criteria you * have selected for this targeting_dimension, or to target all values for * this targeting_dimension and show ads based on your targeting in other * TargetingDimensions. A value of `true` means that these criteria will only * apply bid modifiers, and not affect targeting. A value of `false` means * that these criteria will restrict targeting as well as applying bid * modifiers. */ bidOnly?: boolean; /** * The targeting dimension that these settings apply to. */ targetingDimension?: | "UNSPECIFIED" | "UNKNOWN" | "KEYWORD" | "AUDIENCE" | "TOPIC" | "GENDER" | "AGE_RANGE" | "PLACEMENT" | "PARENTAL_STATUS" | "INCOME_RANGE"; } /** * Operation to be performed on a target restriction list in a mutate. */ export interface GoogleAdsSearchads360V23Common__TargetRestrictionOperation { /** * Type of list operation to perform. */ operator?: | "UNSPECIFIED" | "UNKNOWN" | "ADD" | "REMOVE"; /** * The target restriction being added to or removed from the list. */ value?: GoogleAdsSearchads360V23Common__TargetRestriction; } /** * An automated bidding strategy that helps you maximize revenue while * averaging a specific target return on ad spend (ROAS). */ export interface GoogleAdsSearchads360V23Common__TargetRoas { /** * Maximum bid limit that can be set by the bid strategy. The limit applies * to all keywords managed by the strategy. This should only be set for * portfolio bid strategies. */ cpcBidCeilingMicros?: bigint; /** * Minimum bid limit that can be set by the bid strategy. The limit applies * to all keywords managed by the strategy. This should only be set for * portfolio bid strategies. */ cpcBidFloorMicros?: bigint; /** * Required. The chosen revenue (based on conversion data) per unit of spend. * Value must be between 0.01 and 1000.0, inclusive. */ targetRoas?: number; /** * The percent of ROAS(return on advertising spend) degradation tolerance * allowed to increase traffic diversity and conversion volume, specified in * millis (for example, 10,000 = 10%). A value of 10,000 means that the * advertiser can expect ROAS degradation of up to 10% of the specified target * ROAS. This field is only mutable for portfolio bidding strategies. */ targetRoasTolerancePercentMillis?: bigint; } function serializeGoogleAdsSearchads360V23Common__TargetRoas(data: any): GoogleAdsSearchads360V23Common__TargetRoas { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? String(data["cpcBidCeilingMicros"]) : undefined, cpcBidFloorMicros: data["cpcBidFloorMicros"] !== undefined ? String(data["cpcBidFloorMicros"]) : undefined, targetRoasTolerancePercentMillis: data["targetRoasTolerancePercentMillis"] !== undefined ? String(data["targetRoasTolerancePercentMillis"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TargetRoas(data: any): GoogleAdsSearchads360V23Common__TargetRoas { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? BigInt(data["cpcBidCeilingMicros"]) : undefined, cpcBidFloorMicros: data["cpcBidFloorMicros"] !== undefined ? BigInt(data["cpcBidFloorMicros"]) : undefined, targetRoasTolerancePercentMillis: data["targetRoasTolerancePercentMillis"] !== undefined ? BigInt(data["targetRoasTolerancePercentMillis"]) : undefined, }; } /** * Projected metrics for a specific target ROAS amount. */ export interface GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint { /** * Projected number of biddable conversions. */ biddableConversions?: number; /** * Projected total value of biddable conversions. */ biddableConversionsValue?: number; /** * Projected number of clicks. */ clicks?: bigint; /** * Projected cost in micros. */ costMicros?: bigint; /** * Projected number of impressions. */ impressions?: bigint; /** * Projected required daily budget that the advertiser must set in order to * receive the estimated traffic, in micros of advertiser currency. */ requiredBudgetAmountMicros?: bigint; /** * The simulated target ROAS upon which projected metrics are based. */ targetRoas?: number; /** * Projected number of top slot impressions. Only Search advertising channel * type supports this field. */ topSlotImpressions?: bigint; } function serializeGoogleAdsSearchads360V23Common__TargetRoasSimulationPoint(data: any): GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint { return { ...data, clicks: data["clicks"] !== undefined ? String(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? String(data["costMicros"]) : undefined, impressions: data["impressions"] !== undefined ? String(data["impressions"]) : undefined, requiredBudgetAmountMicros: data["requiredBudgetAmountMicros"] !== undefined ? String(data["requiredBudgetAmountMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? String(data["topSlotImpressions"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TargetRoasSimulationPoint(data: any): GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint { return { ...data, clicks: data["clicks"] !== undefined ? BigInt(data["clicks"]) : undefined, costMicros: data["costMicros"] !== undefined ? BigInt(data["costMicros"]) : undefined, impressions: data["impressions"] !== undefined ? BigInt(data["impressions"]) : undefined, requiredBudgetAmountMicros: data["requiredBudgetAmountMicros"] !== undefined ? BigInt(data["requiredBudgetAmountMicros"]) : undefined, topSlotImpressions: data["topSlotImpressions"] !== undefined ? BigInt(data["topSlotImpressions"]) : undefined, }; } /** * A container for simulation points for simulations of type TARGET_ROAS. */ export interface GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList { /** * Projected metrics for a series of target ROAS amounts. */ points?: GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint[]; } function serializeGoogleAdsSearchads360V23Common__TargetRoasSimulationPointList(data: any): GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__TargetRoasSimulationPoint(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TargetRoasSimulationPointList(data: any): GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList { return { ...data, points: data["points"] !== undefined ? data["points"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__TargetRoasSimulationPoint(item))) : undefined, }; } /** * An automated bid strategy that sets your bids to help get as many clicks as * possible within your budget. */ export interface GoogleAdsSearchads360V23Common__TargetSpend { /** * Maximum bid limit that can be set by the bid strategy. The limit applies * to all keywords managed by the strategy. */ cpcBidCeilingMicros?: bigint; /** * Deprecated: The spend target under which to maximize clicks. A TargetSpend * bidder will attempt to spend the smaller of this value or the natural * throttling spend amount. If not specified, the budget is used as the spend * target. This field is deprecated and should no longer be used. See * https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html * for details. */ targetSpendMicros?: bigint; } function serializeGoogleAdsSearchads360V23Common__TargetSpend(data: any): GoogleAdsSearchads360V23Common__TargetSpend { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? String(data["cpcBidCeilingMicros"]) : undefined, targetSpendMicros: data["targetSpendMicros"] !== undefined ? String(data["targetSpendMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TargetSpend(data: any): GoogleAdsSearchads360V23Common__TargetSpend { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? BigInt(data["cpcBidCeilingMicros"]) : undefined, targetSpendMicros: data["targetSpendMicros"] !== undefined ? BigInt(data["targetSpendMicros"]) : undefined, }; } /** * A text ad. */ export interface GoogleAdsSearchads360V23Common__TextAdInfo { /** * The first line of the ad's description. */ description1?: string; /** * The second line of the ad's description. */ description2?: string; /** * The headline of the ad. */ headline?: string; } /** * A Text asset. */ export interface GoogleAdsSearchads360V23Common__TextAsset { /** * Text content of the text asset. */ text?: string; } /** * A type of label displaying text on a colored background. */ export interface GoogleAdsSearchads360V23Common__TextLabel { /** * Background color of the label in HEX format. This string must match the * regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The * background color may not be visible for manager accounts. */ backgroundColor?: string; /** * A short description of the label. The length must be no more than 200 * characters. */ description?: string; } /** * Contains third party measurement partner related data for video campaigns. */ export interface GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData { /** * The client ID that allows the measurement partner to join multiple * campaigns for a particular advertiser. */ clientId?: string; /** * The third party placement ID that maps the measurement partner data with a * campaign (or a group of related campaigns) specific data. */ thirdPartyPlacementId?: string; } /** * A topic criterion. Use topics to target or exclude placements in the Google * Display Network based on the category into which the placement falls (for * example, "Pets & Animals/Pets/Dogs"). */ export interface GoogleAdsSearchads360V23Common__TopicInfo { /** * The category to target or exclude. Each subsequent element in the array * describes a more specific sub-category. For example, "Pets & Animals", * "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category. */ path?: string[]; /** * The Topic Constant resource name. */ topicConstant?: string; } /** * Attribute of the store sales transaction. */ export interface GoogleAdsSearchads360V23Common__TransactionAttribute { /** * The resource name of conversion action to report conversions to. Required. */ conversionAction?: string; /** * Transaction currency code. ISO 4217 three-letter code is used. Required. */ currencyCode?: string; /** * Value of the custom variable for each transaction. Allowed only if a * custom key is provided in the store sales metadata. */ customValue?: string; /** * Item attributes of the transaction. Accessible only to customers on the * allow-list. */ itemAttribute?: GoogleAdsSearchads360V23Common__ItemAttribute; /** * Transaction order id. Useful to group transactions which are part of the * same order. */ orderId?: string; /** * Store attributes of the transaction. */ storeAttribute?: GoogleAdsSearchads360V23Common__StoreAttribute; /** * Transaction amount in micros. Required. Transaction amount in micros needs * to be greater than 1000. If item Attributes are provided, it represents the * total value of the items, after multiplying the unit price per item by the * quantity provided in the ItemAttributes. */ transactionAmountMicros?: number; /** * Timestamp when transaction occurred. Required. The format is "YYYY-MM-DD * HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an optional timezone offset from * UTC. If the offset is absent, the API will use the account's timezone as * default. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00" */ transactionDateTime?: string; } function serializeGoogleAdsSearchads360V23Common__TransactionAttribute(data: any): GoogleAdsSearchads360V23Common__TransactionAttribute { return { ...data, itemAttribute: data["itemAttribute"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ItemAttribute(data["itemAttribute"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__TransactionAttribute(data: any): GoogleAdsSearchads360V23Common__TransactionAttribute { return { ...data, itemAttribute: data["itemAttribute"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ItemAttribute(data["itemAttribute"]) : undefined, }; } /** * A travel ad. */ export interface GoogleAdsSearchads360V23Common__TravelAdInfo { } /** * A unified call asset. */ export interface GoogleAdsSearchads360V23Common__UnifiedCallAsset { /** * List of non-overlapping schedules specifying all time intervals for which * the asset may serve. There can be a maximum of 6 schedules per day, 42 in * total. */ adScheduleTargets?: GoogleAdsSearchads360V23Common__AdScheduleInfo[]; /** * The conversion action to attribute a call conversion to. If not set, the * default conversion action is used. This field only has effect if * call_conversion_reporting_state is set to * USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION. */ callConversionAction?: string; /** * Output only. Indicates whether this CallAsset should use its own call * conversion setting, follow the account level setting, or disable call * conversion. */ readonly callConversionReportingState?: | "UNSPECIFIED" | "UNKNOWN" | "DISABLED" | "USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION" | "USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION"; /** * Whether the call only shows the phone number without a link to the * website. Applies to Microsoft Ads. */ callOnly?: boolean; /** * Whether the call should be enabled on call tracking. Applies to Microsoft * Ads. */ callTrackingEnabled?: boolean; /** * Two-letter country code of the phone number. Examples: 'US', 'us'. */ countryCode?: string; /** * Last date of when this asset is effective and still serving, in yyyy-MM-dd * format. */ endDate?: string; /** * The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890' */ phoneNumber?: string; /** * Start date of when this asset is effective and can begin serving, in * yyyy-MM-dd format. */ startDate?: string; /** * Whether to show the call extension in search user's time zone. Applies to * Microsoft Ads. */ useSearcherTimeZone?: boolean; } /** * A unified callout asset. */ export interface GoogleAdsSearchads360V23Common__UnifiedCalloutAsset { /** * List of non-overlapping schedules specifying all time intervals for which * the asset may serve. There can be a maximum of 6 schedules per day, 42 in * total. */ adScheduleTargets?: GoogleAdsSearchads360V23Common__AdScheduleInfo[]; /** * The callout text. The length of this string should be between 1 and 25, * inclusive. */ calloutText?: string; /** * Last date of when this asset is effective and still serving, in yyyy-MM-dd * format. */ endDate?: string; /** * Start date of when this asset is effective and can begin serving, in * yyyy-MM-dd format. */ startDate?: string; /** * Whether to show the asset in search user's time zone. Applies to Microsoft * Ads. */ useSearcherTimeZone?: boolean; } /** * A unified location asset. */ export interface GoogleAdsSearchads360V23Common__UnifiedLocationAsset { /** * The list of business locations for the customer. This will only be * returned if the Location Asset is syncing from the Business Profile * account. It is possible to have multiple Business Profile listings under * the same account that point to the same Place ID. */ businessProfileLocations?: GoogleAdsSearchads360V23Common__BusinessProfileLocation[]; /** * The type of location ownership. If the type is BUSINESS_OWNER, it will be * served as a location extension. If the type is AFFILIATE, it will be served * as an affiliate location. */ locationOwnershipType?: | "UNSPECIFIED" | "UNKNOWN" | "BUSINESS_OWNER" | "AFFILIATE"; /** * Place IDs uniquely identify a place in the Google Places database and on * Google Maps. This field is unique for a given customer ID and asset type. * See https://developers.google.com/places/web-service/place-id to learn more * about Place ID. */ placeId?: string; } function serializeGoogleAdsSearchads360V23Common__UnifiedLocationAsset(data: any): GoogleAdsSearchads360V23Common__UnifiedLocationAsset { return { ...data, businessProfileLocations: data["businessProfileLocations"] !== undefined ? data["businessProfileLocations"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__BusinessProfileLocation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__UnifiedLocationAsset(data: any): GoogleAdsSearchads360V23Common__UnifiedLocationAsset { return { ...data, businessProfileLocations: data["businessProfileLocations"] !== undefined ? data["businessProfileLocations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__BusinessProfileLocation(item))) : undefined, }; } /** * A Unified Page Feed asset. */ export interface GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset { /** * Labels used to group the page urls. */ labels?: string[]; /** * The webpage that advertisers want to target. */ pageUrl?: string; } /** * A unified sitelink asset. */ export interface GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset { /** * List of non-overlapping schedules specifying all time intervals for which * the asset may serve. There can be a maximum of 6 schedules per day, 42 in * total. */ adScheduleTargets?: GoogleAdsSearchads360V23Common__AdScheduleInfo[]; /** * First line of the description for the sitelink. If set, the length should * be between 1 and 35, inclusive, and description2 must also be set. */ description1?: string; /** * Second line of the description for the sitelink. If set, the length should * be between 1 and 35, inclusive, and description1 must also be set. */ description2?: string; /** * Last date of when this asset is effective and still serving, in yyyy-MM-dd * format. */ endDate?: string; /** * URL display text for the sitelink. The length of this string should be * between 1 and 25, inclusive. */ linkText?: string; /** * Whether the preference is for the sitelink asset to be displayed on mobile * devices. Applies to Microsoft Ads. */ mobilePreferred?: boolean; /** * Start date of when this asset is effective and can begin serving, in * yyyy-MM-dd format. */ startDate?: string; /** * ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan * only field. */ trackingId?: bigint; /** * Whether to show the sitelink asset in search user's time zone. Applies to * Microsoft Ads. */ useSearcherTimeZone?: boolean; } function serializeGoogleAdsSearchads360V23Common__UnifiedSitelinkAsset(data: any): GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset { return { ...data, trackingId: data["trackingId"] !== undefined ? String(data["trackingId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__UnifiedSitelinkAsset(data: any): GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset { return { ...data, trackingId: data["trackingId"] !== undefined ? BigInt(data["trackingId"]) : undefined, }; } /** * Unknown listing dimension. */ export interface GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo { } /** * Collection of urls that is tagged with a unique identifier. */ export interface GoogleAdsSearchads360V23Common__UrlCollection { /** * A list of possible final mobile URLs. */ finalMobileUrls?: string[]; /** * A list of possible final URLs. */ finalUrls?: string[]; /** * URL template for constructing a tracking URL. */ trackingUrlTemplate?: string; /** * Unique identifier for this UrlCollection instance. */ urlCollectionId?: string; } /** * User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job * type. */ export interface GoogleAdsSearchads360V23Common__UserAttribute { /** * Timestamp when the user was acquired. The format is YYYY-MM-DD * HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from * UTC. If the offset is absent, the API will use the account's timezone as * default. */ acquisitionDateTime?: string; /** * Advertiser defined average number of purchases that are made by the user * in a 30 day period. */ averagePurchaseCount?: number; /** * Advertiser defined average purchase value in micros for the user. */ averagePurchaseValueMicros?: bigint; /** * Optional. Advertiser defined events and their attributes. All the values * in the nested fields are required. Currently this field is in beta. */ eventAttribute?: GoogleAdsSearchads360V23Common__EventAttribute[]; /** * Optional. Timestamp of the first purchase made by the user. The format is * YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone * offset from UTC. If the offset is absent, the API will use the account's * timezone as default. */ firstPurchaseDateTime?: string; /** * Timestamp of the last purchase made by the user. The format is YYYY-MM-DD * HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from * UTC. If the offset is absent, the API will use the account's timezone as * default. */ lastPurchaseDateTime?: string; /** * Optional. Advertiser defined lifecycle stage for the user. The accepted * values are "Lead", "Active" and "Churned". */ lifecycleStage?: string; /** * Advertiser defined lifetime value bucket for the user. The valid range for * a lifetime value bucket is from 1 (low) to 10 (high), except for remove * operation where 0 will also be accepted. */ lifetimeValueBucket?: number; /** * Advertiser defined lifetime value for the user. */ lifetimeValueMicros?: bigint; /** * The shopping loyalty related data. Shopping utilizes this data to provide * users with a better experience. Accessible only to merchants on the * allow-list with the user's consent. */ shoppingLoyalty?: GoogleAdsSearchads360V23Common__ShoppingLoyalty; } function serializeGoogleAdsSearchads360V23Common__UserAttribute(data: any): GoogleAdsSearchads360V23Common__UserAttribute { return { ...data, averagePurchaseValueMicros: data["averagePurchaseValueMicros"] !== undefined ? String(data["averagePurchaseValueMicros"]) : undefined, lifetimeValueMicros: data["lifetimeValueMicros"] !== undefined ? String(data["lifetimeValueMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__UserAttribute(data: any): GoogleAdsSearchads360V23Common__UserAttribute { return { ...data, averagePurchaseValueMicros: data["averagePurchaseValueMicros"] !== undefined ? BigInt(data["averagePurchaseValueMicros"]) : undefined, lifetimeValueMicros: data["lifetimeValueMicros"] !== undefined ? BigInt(data["lifetimeValueMicros"]) : undefined, }; } /** * User data holding user identifiers and attributes. */ export interface GoogleAdsSearchads360V23Common__UserData { /** * The consent setting for the user. If set, will override the job level * consent for this user. */ consent?: GoogleAdsSearchads360V23Common__Consent; /** * Additional transactions/attributes associated with the user. Required when * updating store sales data. */ transactionAttribute?: GoogleAdsSearchads360V23Common__TransactionAttribute; /** * Additional attributes associated with the user. Required when updating * customer match attributes. These have an expiration of 540 days. */ userAttribute?: GoogleAdsSearchads360V23Common__UserAttribute; /** * User identification info. */ userIdentifiers?: GoogleAdsSearchads360V23Common__UserIdentifier[]; } function serializeGoogleAdsSearchads360V23Common__UserData(data: any): GoogleAdsSearchads360V23Common__UserData { return { ...data, transactionAttribute: data["transactionAttribute"] !== undefined ? serializeGoogleAdsSearchads360V23Common__TransactionAttribute(data["transactionAttribute"]) : undefined, userAttribute: data["userAttribute"] !== undefined ? serializeGoogleAdsSearchads360V23Common__UserAttribute(data["userAttribute"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__UserData(data: any): GoogleAdsSearchads360V23Common__UserData { return { ...data, transactionAttribute: data["transactionAttribute"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__TransactionAttribute(data["transactionAttribute"]) : undefined, userAttribute: data["userAttribute"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__UserAttribute(data["userAttribute"]) : undefined, }; } /** * identifying information. */ export interface GoogleAdsSearchads360V23Common__UserIdentifier { /** * Address information. */ addressInfo?: GoogleAdsSearchads360V23Common__OfflineUserAddressInfo; /** * Hashed email address using SHA-256 hash function after normalization. */ hashedEmail?: string; /** * Hashed phone number using SHA-256 hash function after normalization (E164 * standard). */ hashedPhoneNumber?: string; /** * Mobile device ID (advertising ID/IDFA). */ mobileId?: string; /** * Advertiser-assigned user ID for Customer Match upload, or * third-party-assigned user ID for */ thirdPartyUserId?: string; /** * Source of the user identifier when the upload is from Store Sales */ userIdentifierSource?: | "UNSPECIFIED" | "UNKNOWN" | "FIRST_PARTY" | "THIRD_PARTY"; } /** * Metadata associated with a User Interest attribute. */ export interface GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata { /** * English language text description of the user interest category (200 * characters max). */ userInterestDescription?: string; } /** * Represents a particular interest-based topic to be targeted. */ export interface GoogleAdsSearchads360V23Common__UserInterestInfo { /** * The UserInterest resource name. */ userInterestCategory?: string; } /** * User interest segment. */ export interface GoogleAdsSearchads360V23Common__UserInterestSegment { /** * The user interest resource. */ userInterestCategory?: string; } /** * Represents an action type used for building remarketing user lists. */ export interface GoogleAdsSearchads360V23Common__UserListActionInfo { /** * A conversion action that's not generated from remarketing. */ conversionAction?: string; /** * A remarketing action. */ remarketingAction?: string; } /** * Metadata associated with a User List attribute. */ export interface GoogleAdsSearchads360V23Common__UserListAttributeMetadata { /** * The user list type. */ userListType?: | "UNSPECIFIED" | "UNKNOWN" | "REMARKETING" | "LOGICAL" | "EXTERNAL_REMARKETING" | "RULE_BASED" | "SIMILAR" | "CRM_BASED" | "LOOKALIKE"; } /** * A rule item composed of a date operation. */ export interface GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo { /** * The relative date value of the right hand side denoted by number of days * offset from now. The value field will override this field when both are * present. */ offsetInDays?: bigint; /** * Date comparison operator. This field is required and must be populated * when creating new date rule item. */ operator?: | "UNSPECIFIED" | "UNKNOWN" | "EQUALS" | "NOT_EQUALS" | "BEFORE" | "AFTER"; /** * String representing date value to be compared with the rule variable. * Supported date format is YYYY-MM-DD. Times are reported in the customer's * time zone. */ value?: string; } function serializeGoogleAdsSearchads360V23Common__UserListDateRuleItemInfo(data: any): GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo { return { ...data, offsetInDays: data["offsetInDays"] !== undefined ? String(data["offsetInDays"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__UserListDateRuleItemInfo(data: any): GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo { return { ...data, offsetInDays: data["offsetInDays"] !== undefined ? BigInt(data["offsetInDays"]) : undefined, }; } /** * A User List criterion. Represents a user list that is defined by the * advertiser to be targeted. */ export interface GoogleAdsSearchads360V23Common__UserListInfo { /** * The User List resource name. */ userList?: string; } /** * A user list logical rule. A rule has a logical operator (and/or/not) and a * list of user lists as operands. */ export interface GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo { /** * The logical operator of the rule. */ operator?: | "UNSPECIFIED" | "UNKNOWN" | "ALL" | "ANY" | "NONE"; /** * The list of operands of the rule. */ ruleOperands?: GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo[]; } /** * A rule item composed of a number operation. */ export interface GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo { /** * Number comparison operator. This field is required and must be populated * when creating a new number rule item. */ operator?: | "UNSPECIFIED" | "UNKNOWN" | "GREATER_THAN" | "GREATER_THAN_OR_EQUAL" | "EQUALS" | "NOT_EQUALS" | "LESS_THAN" | "LESS_THAN_OR_EQUAL"; /** * Number value to be compared with the variable. This field is required and * must be populated when creating a new number rule item. */ value?: number; } /** * A client defined rule based on custom parameters sent by web sites or * uploaded by the advertiser. */ export interface GoogleAdsSearchads360V23Common__UserListRuleInfo { /** * List of rule item groups that defines this rule. Rule item groups are * grouped together based on rule_type. */ ruleItemGroups?: GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo[]; /** * Rule type is used to determine how to group rule items. The default is OR * of ANDs (disjunctive normal form). That is, rule items will be ANDed * together within rule item groups and the groups themselves will be ORed * together. OR of ANDs is the only supported type for FlexibleRuleUserList. */ ruleType?: | "UNSPECIFIED" | "UNKNOWN" | "AND_OF_ORS" | "OR_OF_ANDS"; } function serializeGoogleAdsSearchads360V23Common__UserListRuleInfo(data: any): GoogleAdsSearchads360V23Common__UserListRuleInfo { return { ...data, ruleItemGroups: data["ruleItemGroups"] !== undefined ? data["ruleItemGroups"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__UserListRuleInfo(data: any): GoogleAdsSearchads360V23Common__UserListRuleInfo { return { ...data, ruleItemGroups: data["ruleItemGroups"] !== undefined ? data["ruleItemGroups"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo(item))) : undefined, }; } /** * A group of rule items. */ export interface GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo { /** * Rule items that will be grouped together based on rule_type. */ ruleItems?: GoogleAdsSearchads360V23Common__UserListRuleItemInfo[]; } function serializeGoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo(data: any): GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo { return { ...data, ruleItems: data["ruleItems"] !== undefined ? data["ruleItems"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__UserListRuleItemInfo(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo(data: any): GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo { return { ...data, ruleItems: data["ruleItems"] !== undefined ? data["ruleItems"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__UserListRuleItemInfo(item))) : undefined, }; } /** * An atomic rule item. */ export interface GoogleAdsSearchads360V23Common__UserListRuleItemInfo { /** * An atomic rule item composed of a date operation. */ dateRuleItem?: GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo; /** * Rule variable name. It should match the corresponding key name fired by * the pixel. A name must begin with US-ascii letters or underscore or UTF8 * code that is greater than 127 and consist of US-ascii letters or digits or * underscore or UTF8 code that is greater than 127. For websites, there are * two built-in variable URL (name = 'url__') and referrer URL (name = * 'ref_url__'). This field must be populated when creating a new rule item. */ name?: string; /** * An atomic rule item composed of a number operation. */ numberRuleItem?: GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo; /** * An atomic rule item composed of a string operation. */ stringRuleItem?: GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo; } function serializeGoogleAdsSearchads360V23Common__UserListRuleItemInfo(data: any): GoogleAdsSearchads360V23Common__UserListRuleItemInfo { return { ...data, dateRuleItem: data["dateRuleItem"] !== undefined ? serializeGoogleAdsSearchads360V23Common__UserListDateRuleItemInfo(data["dateRuleItem"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__UserListRuleItemInfo(data: any): GoogleAdsSearchads360V23Common__UserListRuleItemInfo { return { ...data, dateRuleItem: data["dateRuleItem"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__UserListDateRuleItemInfo(data["dateRuleItem"]) : undefined, }; } /** * User list segment. */ export interface GoogleAdsSearchads360V23Common__UserListSegment { /** * The user list resource. */ userList?: string; } /** * A rule item composed of a string operation. */ export interface GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo { /** * String comparison operator. This field is required and must be populated * when creating a new string rule item. */ operator?: | "UNSPECIFIED" | "UNKNOWN" | "CONTAINS" | "EQUALS" | "STARTS_WITH" | "ENDS_WITH" | "NOT_EQUALS" | "NOT_CONTAINS" | "NOT_STARTS_WITH" | "NOT_ENDS_WITH"; /** * The right hand side of the string rule item. For URLs or referrer URLs, * the value can not contain illegal URL chars such as newlines, quotes, tabs, * or parentheses. This field is required and must be populated when creating * a new string rule item. */ value?: string; } /** * A generic data container. */ export interface GoogleAdsSearchads360V23Common__Value { /** * A boolean. */ booleanValue?: boolean; /** * A double. */ doubleValue?: number; /** * A float. */ floatValue?: number; /** * An int64. */ int64Value?: bigint; /** * A string. */ stringValue?: string; } function serializeGoogleAdsSearchads360V23Common__Value(data: any): GoogleAdsSearchads360V23Common__Value { return { ...data, int64Value: data["int64Value"] !== undefined ? String(data["int64Value"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__Value(data: any): GoogleAdsSearchads360V23Common__Value { return { ...data, int64Value: data["int64Value"] !== undefined ? BigInt(data["int64Value"]) : undefined, }; } /** * A criterion to represent a single item group rule in Vertical Ads. */ export interface GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo { /** * The resource name of the Geo Target Constant for the city. */ cityCriterionId?: string; /** * The resource name of the Geo Target Constant for the country. */ countryCriterionId?: string; /** * Integer value specifying the class rating for a hotel. Ranges from 1 to 5 * stars. */ hotelClass?: bigint; /** * The id specifying a particular Vertical Ad listing. */ itemCode?: string; /** * The resource name of the Geo Target Constant for the region. */ regionCriterionId?: string; } function serializeGoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo(data: any): GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo { return { ...data, hotelClass: data["hotelClass"] !== undefined ? String(data["hotelClass"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo(data: any): GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo { return { ...data, hotelClass: data["hotelClass"] !== undefined ? BigInt(data["hotelClass"]) : undefined, }; } /** * A criterion for targeting a shared set of rules for item groups in Vertical * Ads (e.g., for hotel ads). */ export interface GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo { /** * The shared set resource name of the vertical ads item group rule list. */ sharedSet?: string; } /** * A Video lineup criterion. */ export interface GoogleAdsSearchads360V23Common__VideoLineupInfo { /** * ID for a Video lineup. Contact your Google business development * representative for details. */ videoLineupId?: bigint; } function serializeGoogleAdsSearchads360V23Common__VideoLineupInfo(data: any): GoogleAdsSearchads360V23Common__VideoLineupInfo { return { ...data, videoLineupId: data["videoLineupId"] !== undefined ? String(data["videoLineupId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__VideoLineupInfo(data: any): GoogleAdsSearchads360V23Common__VideoLineupInfo { return { ...data, videoLineupId: data["videoLineupId"] !== undefined ? BigInt(data["videoLineupId"]) : undefined, }; } /** * Google notifies the advertiser of leads by making HTTP calls to an endpoint * they specify. The requests contain JSON matching a schema that Google * publishes as part of form ads documentation. */ export interface GoogleAdsSearchads360V23Common__WebhookDelivery { /** * Webhook url specified by advertiser to send the lead. */ advertiserWebhookUrl?: string; /** * Anti-spoofing secret set by the advertiser as part of the webhook payload. */ googleSecret?: string; /** * The schema version that this delivery instance will use. */ payloadSchemaVersion?: bigint; } function serializeGoogleAdsSearchads360V23Common__WebhookDelivery(data: any): GoogleAdsSearchads360V23Common__WebhookDelivery { return { ...data, payloadSchemaVersion: data["payloadSchemaVersion"] !== undefined ? String(data["payloadSchemaVersion"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__WebhookDelivery(data: any): GoogleAdsSearchads360V23Common__WebhookDelivery { return { ...data, payloadSchemaVersion: data["payloadSchemaVersion"] !== undefined ? BigInt(data["payloadSchemaVersion"]) : undefined, }; } /** * Logical expression for targeting webpages of an advertiser's website. */ export interface GoogleAdsSearchads360V23Common__WebpageConditionInfo { /** * Argument of webpage targeting condition. */ argument?: string; /** * Operand of webpage targeting condition. */ operand?: | "UNSPECIFIED" | "UNKNOWN" | "URL" | "CATEGORY" | "PAGE_TITLE" | "PAGE_CONTENT" | "CUSTOM_LABEL"; /** * Operator of webpage targeting condition. */ operator?: | "UNSPECIFIED" | "UNKNOWN" | "EQUALS" | "CONTAINS"; } /** * Represents a criterion for targeting webpages of an advertiser's website. */ export interface GoogleAdsSearchads360V23Common__WebpageInfo { /** * Conditions, or logical expressions, for webpage targeting. The list of * webpage targeting conditions are and-ed together when evaluated for * targeting. An empty list of conditions indicates all pages of the * campaign's website are targeted. This field is required for CREATE * operations and is prohibited on UPDATE operations. */ conditions?: GoogleAdsSearchads360V23Common__WebpageConditionInfo[]; /** * Website criteria coverage percentage. This is the computed percentage of * website coverage based on the website target, negative website target and * negative keywords in the ad group and campaign. For instance, when coverage * returns as 1, it indicates it has 100% coverage. This field is read-only. */ coveragePercentage?: number; /** * The name of the criterion that is defined by this parameter. The name * value will be used for identifying, sorting and filtering criteria with * this type of parameters. This field is required for CREATE operations and * is prohibited on UPDATE operations. */ criterionName?: string; /** * List of sample urls that match the website target. This field is * read-only. */ sample?: GoogleAdsSearchads360V23Common__WebpageSampleInfo; } /** * Represents a list of webpage criteria. */ export interface GoogleAdsSearchads360V23Common__WebpageListInfo { /** * Shared set resource name of the webpage list. */ sharedSet?: string; } /** * List of sample urls that match the website target */ export interface GoogleAdsSearchads360V23Common__WebpageSampleInfo { /** * Webpage sample urls */ sampleUrls?: string[]; } /** * Whatsapp information to use for messaging. */ export interface GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo { /** * Required. Two-letter country code of the phone number. Examples: 'US', * 'us'. */ countryCode?: string; /** * Required. Whatsapp phone number of the business. Examples: '1234567890', * '(123)456-7890'. */ phoneNumber?: string; } /** * Year month. */ export interface GoogleAdsSearchads360V23Common__YearMonth { /** * The month of the year. (for example, FEBRUARY). */ month?: | "UNSPECIFIED" | "UNKNOWN" | "JANUARY" | "FEBRUARY" | "MARCH" | "APRIL" | "MAY" | "JUNE" | "JULY" | "AUGUST" | "SEPTEMBER" | "OCTOBER" | "NOVEMBER" | "DECEMBER"; /** * The year (for example, 2020). */ year?: bigint; } function serializeGoogleAdsSearchads360V23Common__YearMonth(data: any): GoogleAdsSearchads360V23Common__YearMonth { return { ...data, year: data["year"] !== undefined ? String(data["year"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__YearMonth(data: any): GoogleAdsSearchads360V23Common__YearMonth { return { ...data, year: data["year"] !== undefined ? BigInt(data["year"]) : undefined, }; } /** * The year month range inclusive of the start and end months. Eg: A year month * range to represent Jan 2020 would be: (Jan 2020, Jan 2020). */ export interface GoogleAdsSearchads360V23Common__YearMonthRange { /** * The inclusive end year month. */ end?: GoogleAdsSearchads360V23Common__YearMonth; /** * The inclusive start year month. */ start?: GoogleAdsSearchads360V23Common__YearMonth; } function serializeGoogleAdsSearchads360V23Common__YearMonthRange(data: any): GoogleAdsSearchads360V23Common__YearMonthRange { return { ...data, end: data["end"] !== undefined ? serializeGoogleAdsSearchads360V23Common__YearMonth(data["end"]) : undefined, start: data["start"] !== undefined ? serializeGoogleAdsSearchads360V23Common__YearMonth(data["start"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__YearMonthRange(data: any): GoogleAdsSearchads360V23Common__YearMonthRange { return { ...data, end: data["end"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__YearMonth(data["end"]) : undefined, start: data["start"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__YearMonth(data["start"]) : undefined, }; } /** * Metadata associated with a YouTube channel attribute. */ export interface GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata { /** * The approximate number of subscribers to the YouTube channel. */ subscriberCount?: bigint; } function serializeGoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata(data: any): GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata { return { ...data, subscriberCount: data["subscriberCount"] !== undefined ? String(data["subscriberCount"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata(data: any): GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata { return { ...data, subscriberCount: data["subscriberCount"] !== undefined ? BigInt(data["subscriberCount"]) : undefined, }; } /** * A YouTube Channel criterion. */ export interface GoogleAdsSearchads360V23Common__YouTubeChannelInfo { /** * The YouTube uploader channel id or the channel code of a YouTube channel. */ channelId?: string; } /** * A YouTube asset. */ export interface GoogleAdsSearchads360V23Common__YoutubeVideoAsset { /** * YouTube video id. This is the 11 character string value used in the * YouTube video URL. */ youtubeVideoId?: string; /** * YouTube video title. */ youtubeVideoTitle?: string; } /** * Metadata for a YouTube video attribute. */ export interface GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata { /** * The total number of comments. */ commentsCount?: bigint; /** * The total number of likes. */ likesCount?: bigint; /** * The date that the video was created. Formatted as "yyyy-mm-dd". */ publishDate?: string; /** * The URL of the video thumbnail, prefixed by "https://img.youtube.com/". */ thumbnailUrl?: string; /** * The properties of this video (such as shorts, live stream). */ videoProperties?: | "UNSPECIFIED" | "UNKNOWN" | "LIVE_STREAM" | "SHORTS"[]; /** * The URL of the video, prefixed by "https://www.youtube.com/". */ videoUrl?: string; /** * The total number of views. */ viewsCount?: bigint; } function serializeGoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata(data: any): GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata { return { ...data, commentsCount: data["commentsCount"] !== undefined ? String(data["commentsCount"]) : undefined, likesCount: data["likesCount"] !== undefined ? String(data["likesCount"]) : undefined, viewsCount: data["viewsCount"] !== undefined ? String(data["viewsCount"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata(data: any): GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata { return { ...data, commentsCount: data["commentsCount"] !== undefined ? BigInt(data["commentsCount"]) : undefined, likesCount: data["likesCount"] !== undefined ? BigInt(data["likesCount"]) : undefined, viewsCount: data["viewsCount"] !== undefined ? BigInt(data["viewsCount"]) : undefined, }; } /** * A YouTube Video criterion. */ export interface GoogleAdsSearchads360V23Common__YouTubeVideoInfo { /** * YouTube video id as it appears on the YouTube watch page. */ videoId?: string; } /** * Zalo information to use for messaging. */ export interface GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo { /** * Custom name generated by the advertiser for their Zalo Account. These * names will usually be registered brands or trademarks. */ customName?: string; /** * Zalo Official Account ID of the advertiser. */ oaId?: bigint; } function serializeGoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo(data: any): GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo { return { ...data, oaId: data["oaId"] !== undefined ? String(data["oaId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo(data: any): GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo { return { ...data, oaId: data["oaId"] !== undefined ? BigInt(data["oaId"]) : undefined, }; } /** * Retention campaign goal settings. */ export interface GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings { /** * Retention goal optimization mode for this campaign. Defaults to * TARGET_ALL. Only customers on the allowlist can set target_option. */ targetOption?: | "UNSPECIFIED" | "UNKNOWN" | "TARGET_ALL" | "TARGET_SPECIFIC"; /** * Retention goal campaign specific value settings. */ valueSettingsOverride?: GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings; } /** * Retention goal settings. */ export interface GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal { /** * Retention goal value settings. */ valueSettings?: GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings; } /** * A YouTube channel returned as an example of the content in a lineup. */ export interface GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel { /** * The name of the sample channel. */ displayName?: string; /** * A YouTube channel. */ youtubeChannel?: GoogleAdsSearchads360V23Common__YouTubeChannelInfo; /** * Metadata for the sample channel. */ youtubeChannelMetadata?: GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata; } function serializeGoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel(data: any): GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel { return { ...data, youtubeChannelMetadata: data["youtubeChannelMetadata"] !== undefined ? serializeGoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata(data["youtubeChannelMetadata"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel(data: any): GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel { return { ...data, youtubeChannelMetadata: data["youtubeChannelMetadata"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata(data["youtubeChannelMetadata"]) : undefined, }; } /** * Indicates that a resource's ability to serve in a particular country is * constrained. */ export interface GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint { /** * Geo target constant resource name of the country in which serving is * constrained. */ countryCriterion?: string; } /** * A list of countries where a resource's serving is constrained. */ export interface GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList { /** * Countries in which serving is restricted. */ countries?: GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint[]; /** * Total number of countries targeted by the resource. */ totalTargetedCountries?: number; } /** * Indicates that a policy topic was constrained due to disapproval of the * website for reseller purposes. */ export interface GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint { } /** * Evidence of mismatches between the URLs of a resource. */ export interface GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch { /** * The set of URLs that did not match each other. */ urlTypes?: | "UNSPECIFIED" | "UNKNOWN" | "DISPLAY_URL" | "FINAL_URL" | "FINAL_MOBILE_URL" | "TRACKING_URL" | "MOBILE_TRACKING_URL"[]; } /** * Evidence details when the destination is returning an HTTP error code or * isn't functional in all locations for commonly used devices. */ export interface GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking { /** * The type of device that failed to load the URL. */ device?: | "UNSPECIFIED" | "UNKNOWN" | "DESKTOP" | "ANDROID" | "IOS"; /** * The type of DNS error. */ dnsErrorType?: | "UNSPECIFIED" | "UNKNOWN" | "HOSTNAME_NOT_FOUND" | "GOOGLE_CRAWLER_DNS_ISSUE"; /** * The full URL that didn't work. */ expandedUrl?: string; /** * The HTTP error code. */ httpErrorCode?: bigint; /** * The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" */ lastCheckedDateTime?: string; } function serializeGoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking(data: any): GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking { return { ...data, httpErrorCode: data["httpErrorCode"] !== undefined ? String(data["httpErrorCode"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking(data: any): GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking { return { ...data, httpErrorCode: data["httpErrorCode"] !== undefined ? BigInt(data["httpErrorCode"]) : undefined, }; } /** * A list of strings found in a destination page that caused a policy finding. */ export interface GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList { /** * List of text found in the resource's destination page. */ destinationTexts?: string[]; } /** * A list of fragments of text that violated a policy. */ export interface GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList { /** * The fragments of text from the resource that caused the policy finding. */ texts?: string[]; } /** * A list of websites that caused a policy finding. Used for * ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more * than five websites, only the top five (those that appear in resources the * most) will be listed here. */ export interface GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList { /** * Websites that caused the policy finding. */ websites?: string[]; } /** * Error details for a budget below per-day minimum error. */ export interface GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails { /** * The minimum budget required by the campaign per day, in micros of the * advertiser currency. Applies to both daily and custom budgets. */ budgetPerDayMinimumMicros?: bigint; /** * The advertiser's currency, represented as a three-letter ISO 4217 currency * code (such as "USD"). */ currencyCode?: string; /** * The budget amount value that was rejected as too low, in micros of the * advertiser currency. Only set if this error is caused by the amount field * value. */ failedBudgetAmountMicros?: bigint; /** * The budget total_amount value that was rejected as too low, in micros of * the advertiser currency. Only set if this error is caused by the * total_amount field value. */ failedBudgetTotalAmountMicros?: bigint; /** * The minimum value for the budget's amount field required by the campaign, * in micros of the advertiser currency. Only set if this error is caused by * the amount field value. */ minimumBudgetAmountMicros?: bigint; /** * The minimum value for the budget's total_amount field required by the * campaign given its configured start and end time, in micros of the * advertiser currency. Only set if this error is caused by the total_amount * field value. */ minimumBudgetTotalAmountMicros?: bigint; } function serializeGoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails(data: any): GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails { return { ...data, budgetPerDayMinimumMicros: data["budgetPerDayMinimumMicros"] !== undefined ? String(data["budgetPerDayMinimumMicros"]) : undefined, failedBudgetAmountMicros: data["failedBudgetAmountMicros"] !== undefined ? String(data["failedBudgetAmountMicros"]) : undefined, failedBudgetTotalAmountMicros: data["failedBudgetTotalAmountMicros"] !== undefined ? String(data["failedBudgetTotalAmountMicros"]) : undefined, minimumBudgetAmountMicros: data["minimumBudgetAmountMicros"] !== undefined ? String(data["minimumBudgetAmountMicros"]) : undefined, minimumBudgetTotalAmountMicros: data["minimumBudgetTotalAmountMicros"] !== undefined ? String(data["minimumBudgetTotalAmountMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails(data: any): GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails { return { ...data, budgetPerDayMinimumMicros: data["budgetPerDayMinimumMicros"] !== undefined ? BigInt(data["budgetPerDayMinimumMicros"]) : undefined, failedBudgetAmountMicros: data["failedBudgetAmountMicros"] !== undefined ? BigInt(data["failedBudgetAmountMicros"]) : undefined, failedBudgetTotalAmountMicros: data["failedBudgetTotalAmountMicros"] !== undefined ? BigInt(data["failedBudgetTotalAmountMicros"]) : undefined, minimumBudgetAmountMicros: data["minimumBudgetAmountMicros"] !== undefined ? BigInt(data["minimumBudgetAmountMicros"]) : undefined, minimumBudgetTotalAmountMicros: data["minimumBudgetTotalAmountMicros"] !== undefined ? BigInt(data["minimumBudgetTotalAmountMicros"]) : undefined, }; } /** * The error reason represented by type and enum. */ export interface GoogleAdsSearchads360V23Errors__ErrorCode { /** * The reasons for the access invitation error */ accessInvitationError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_EMAIL_ADDRESS" | "EMAIL_ADDRESS_ALREADY_HAS_ACCESS" | "INVALID_INVITATION_STATUS" | "GOOGLE_CONSUMER_ACCOUNT_NOT_ALLOWED" | "INVALID_INVITATION_ID" | "EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION" | "PENDING_INVITATIONS_LIMIT_EXCEEDED" | "EMAIL_DOMAIN_POLICY_VIOLATED"; /** * The reasons for account budget proposal errors. */ accountBudgetProposalError?: | "UNSPECIFIED" | "UNKNOWN" | "FIELD_MASK_NOT_ALLOWED" | "IMMUTABLE_FIELD" | "REQUIRED_FIELD_MISSING" | "CANNOT_CANCEL_APPROVED_PROPOSAL" | "CANNOT_REMOVE_UNAPPROVED_BUDGET" | "CANNOT_REMOVE_RUNNING_BUDGET" | "CANNOT_END_UNAPPROVED_BUDGET" | "CANNOT_END_INACTIVE_BUDGET" | "BUDGET_NAME_REQUIRED" | "CANNOT_UPDATE_OLD_BUDGET" | "CANNOT_END_IN_PAST" | "CANNOT_EXTEND_END_TIME" | "PURCHASE_ORDER_NUMBER_REQUIRED" | "PENDING_UPDATE_PROPOSAL_EXISTS" | "MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP" | "CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET" | "SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED" | "UPDATE_IS_NO_OP" | "END_TIME_MUST_FOLLOW_START_TIME" | "BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP" | "NOT_AUTHORIZED" | "INVALID_BILLING_SETUP" | "OVERLAPS_EXISTING_BUDGET" | "CANNOT_CREATE_BUDGET_THROUGH_API" | "INVALID_MASTER_SERVICE_AGREEMENT" | "CANCELED_BILLING_SETUP"; /** * The reasons for the account link status change error */ accountLinkError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_STATUS" | "PERMISSION_DENIED"; /** * The reasons for the ad customizer error */ adCustomizerError?: | "UNSPECIFIED" | "UNKNOWN" | "COUNTDOWN_INVALID_DATE_FORMAT" | "COUNTDOWN_DATE_IN_PAST" | "COUNTDOWN_INVALID_LOCALE" | "COUNTDOWN_INVALID_START_DAYS_BEFORE" | "UNKNOWN_USER_LIST"; /** * An error with an Ad Group Ad mutate. */ adError?: | "UNSPECIFIED" | "UNKNOWN" | "AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE" | "APPROXIMATELY_TOO_LONG" | "APPROXIMATELY_TOO_SHORT" | "BAD_SNIPPET" | "CANNOT_MODIFY_AD" | "CANNOT_SET_BUSINESS_NAME_IF_URL_SET" | "CANNOT_SET_FIELD" | "CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET" | "CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING" | "CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE" | "CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING" | "CANNOT_SET_URL" | "CANNOT_SET_WITHOUT_FINAL_URLS" | "CANNOT_SET_WITH_FINAL_URLS" | "CANNOT_SET_WITH_URL_DATA" | "CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR" | "CUSTOMER_NOT_APPROVED_MOBILEADS" | "CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS" | "CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS" | "CUSTOMER_NOT_ELIGIBLE" | "CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL" | "DIMENSION_ALREADY_IN_UNION" | "DIMENSION_MUST_BE_SET" | "DIMENSION_NOT_IN_UNION" | "DISPLAY_URL_CANNOT_BE_SPECIFIED" | "DOMESTIC_PHONE_NUMBER_FORMAT" | "EMERGENCY_PHONE_NUMBER" | "EMPTY_FIELD" | "FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID" | "FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH" | "ILLEGAL_AD_CUSTOMIZER_TAG_USE" | "ILLEGAL_TAG_USE" | "INCONSISTENT_DIMENSIONS" | "INCONSISTENT_STATUS_IN_TEMPLATE_UNION" | "INCORRECT_LENGTH" | "INELIGIBLE_FOR_UPGRADE" | "INVALID_AD_ADDRESS_CAMPAIGN_TARGET" | "INVALID_AD_TYPE" | "INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE" | "INVALID_ATTRIBUTES_FOR_MOBILE_TEXT" | "INVALID_CALL_TO_ACTION_TEXT" | "INVALID_CHARACTER_FOR_URL" | "INVALID_COUNTRY_CODE" | "INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG" | "INVALID_INPUT" | "INVALID_MARKUP_LANGUAGE" | "INVALID_MOBILE_CARRIER" | "INVALID_MOBILE_CARRIER_TARGET" | "INVALID_NUMBER_OF_ELEMENTS" | "INVALID_PHONE_NUMBER_FORMAT" | "INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID" | "INVALID_TEMPLATE_DATA" | "INVALID_TEMPLATE_ELEMENT_FIELD_TYPE" | "INVALID_TEMPLATE_ID" | "LINE_TOO_WIDE" | "MISSING_AD_CUSTOMIZER_MAPPING" | "MISSING_ADDRESS_COMPONENT" | "MISSING_ADVERTISEMENT_NAME" | "MISSING_BUSINESS_NAME" | "MISSING_DESCRIPTION1" | "MISSING_DESCRIPTION2" | "MISSING_DESTINATION_URL_TAG" | "MISSING_LANDING_PAGE_URL_TAG" | "MISSING_DIMENSION" | "MISSING_DISPLAY_URL" | "MISSING_HEADLINE" | "MISSING_HEIGHT" | "MISSING_IMAGE" | "MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS" | "MISSING_MARKUP_LANGUAGES" | "MISSING_MOBILE_CARRIER" | "MISSING_PHONE" | "MISSING_REQUIRED_TEMPLATE_FIELDS" | "MISSING_TEMPLATE_FIELD_VALUE" | "MISSING_TEXT" | "MISSING_VISIBLE_URL" | "MISSING_WIDTH" | "MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED" | "MUST_USE_TEMP_AD_UNION_ID_ON_ADD" | "TOO_LONG" | "TOO_SHORT" | "UNION_DIMENSIONS_CANNOT_CHANGE" | "UNKNOWN_ADDRESS_COMPONENT" | "UNKNOWN_FIELD_NAME" | "UNKNOWN_UNIQUE_NAME" | "UNSUPPORTED_DIMENSIONS" | "URL_INVALID_SCHEME" | "URL_INVALID_TOP_LEVEL_DOMAIN" | "URL_MALFORMED" | "URL_NO_HOST" | "URL_NOT_EQUIVALENT" | "URL_HOST_NAME_TOO_LONG" | "URL_NO_SCHEME" | "URL_NO_TOP_LEVEL_DOMAIN" | "URL_PATH_NOT_ALLOWED" | "URL_PORT_NOT_ALLOWED" | "URL_QUERY_NOT_ALLOWED" | "URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG" | "USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE" | "INCONSISTENT_EXPANDABLE_SETTINGS" | "INVALID_FORMAT" | "INVALID_FIELD_TEXT" | "ELEMENT_NOT_PRESENT" | "IMAGE_ERROR" | "VALUE_NOT_IN_RANGE" | "FIELD_NOT_PRESENT" | "ADDRESS_NOT_COMPLETE" | "ADDRESS_INVALID" | "VIDEO_RETRIEVAL_ERROR" | "AUDIO_ERROR" | "INVALID_YOUTUBE_DISPLAY_URL" | "TOO_MANY_PRODUCT_IMAGES" | "TOO_MANY_PRODUCT_VIDEOS" | "INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE" | "CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY" | "CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED" | "DISALLOWED_NUMBER_TYPE" | "PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY" | "PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY" | "PREMIUM_RATE_NUMBER_NOT_ALLOWED" | "VANITY_PHONE_NUMBER_NOT_ALLOWED" | "INVALID_CALL_CONVERSION_TYPE_ID" | "CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID" | "CANNOT_SET_PATH2_WITHOUT_PATH1" | "MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME" | "INCOMPATIBLE_WITH_RESTRICTION_TYPE" | "CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED" | "MISSING_IMAGE_OR_MEDIA_BUNDLE" | "PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN" | "PLACEHOLDER_CANNOT_HAVE_EMPTY_DEFAULT_VALUE" | "PLACEHOLDER_COUNTDOWN_FUNCTION_CANNOT_HAVE_DEFAULT_VALUE" | "PLACEHOLDER_DEFAULT_VALUE_MISSING" | "UNEXPECTED_PLACEHOLDER_DEFAULT_VALUE" | "AD_CUSTOMIZERS_MAY_NOT_BE_ADJACENT" | "UPDATING_AD_WITH_NO_ENABLED_ASSOCIATION" | "CALL_AD_VERIFICATION_URL_FINAL_URL_DOES_NOT_HAVE_SAME_DOMAIN" | "CALL_AD_FINAL_URL_AND_VERIFICATION_URL_CANNOT_BOTH_BE_EMPTY" | "TOO_MANY_AD_CUSTOMIZERS" | "INVALID_AD_CUSTOMIZER_FORMAT" | "NESTED_AD_CUSTOMIZER_SYNTAX" | "UNSUPPORTED_AD_CUSTOMIZER_SYNTAX" | "UNPAIRED_BRACE_IN_AD_CUSTOMIZER_TAG" | "MORE_THAN_ONE_COUNTDOWN_TAG_TYPE_EXISTS" | "DATE_TIME_IN_COUNTDOWN_TAG_IS_INVALID" | "DATE_TIME_IN_COUNTDOWN_TAG_IS_PAST" | "UNRECOGNIZED_AD_CUSTOMIZER_TAG_FOUND" | "CUSTOMIZER_TYPE_FORBIDDEN_FOR_FIELD" | "INVALID_CUSTOMIZER_ATTRIBUTE_NAME" | "STORE_MISMATCH" | "MISSING_REQUIRED_IMAGE_ASPECT_RATIO" | "MISMATCHED_ASPECT_RATIOS" | "DUPLICATE_IMAGE_ACROSS_CAROUSEL_CARDS" | "INVALID_YOUTUBE_VIDEO_ASSET_ID_FOR_VIDEO_ADS_SEQUENCING"; /** * The reasons for the ad group ad error */ adGroupAdError?: | "UNSPECIFIED" | "UNKNOWN" | "AD_GROUP_AD_LABEL_DOES_NOT_EXIST" | "AD_GROUP_AD_LABEL_ALREADY_EXISTS" | "AD_NOT_UNDER_ADGROUP" | "CANNOT_OPERATE_ON_REMOVED_ADGROUPAD" | "CANNOT_CREATE_DEPRECATED_ADS" | "CANNOT_CREATE_TEXT_ADS" | "EMPTY_FIELD" | "RESOURCE_REFERENCED_IN_MULTIPLE_OPS" | "AD_TYPE_CANNOT_BE_PAUSED" | "AD_TYPE_CANNOT_BE_REMOVED" | "CANNOT_UPDATE_DEPRECATED_ADS" | "AD_SHARING_NOT_ALLOWED"; /** * The reasons for the ad group bid modifier error */ adGroupBidModifierError?: | "UNSPECIFIED" | "UNKNOWN" | "CRITERION_ID_NOT_SUPPORTED" | "CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER"; /** * The reasons for the ad group criterion customizer error. */ adGroupCriterionCustomizerError?: | "UNSPECIFIED" | "UNKNOWN" | "CRITERION_IS_NOT_KEYWORD"; /** * Indicates failure to properly authenticate user. */ adGroupCriterionError?: | "UNSPECIFIED" | "UNKNOWN" | "AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST" | "AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS" | "CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION" | "TOO_MANY_OPERATIONS" | "CANT_UPDATE_NEGATIVE" | "CONCRETE_TYPE_REQUIRED" | "BID_INCOMPATIBLE_WITH_ADGROUP" | "CANNOT_TARGET_AND_EXCLUDE" | "ILLEGAL_URL" | "INVALID_KEYWORD_TEXT" | "INVALID_DESTINATION_URL" | "MISSING_DESTINATION_URL_TAG" | "KEYWORD_LEVEL_BID_NOT_SUPPORTED_FOR_MANUALCPM" | "INVALID_USER_STATUS" | "CANNOT_ADD_CRITERIA_TYPE" | "CANNOT_EXCLUDE_CRITERIA_TYPE" | "CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE" | "OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS" | "CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS" | "CANNOT_SET_WITHOUT_FINAL_URLS" | "CANNOT_CLEAR_FINAL_URLS_IF_FINAL_MOBILE_URLS_EXIST" | "CANNOT_CLEAR_FINAL_URLS_IF_FINAL_APP_URLS_EXIST" | "CANNOT_CLEAR_FINAL_URLS_IF_TRACKING_URL_TEMPLATE_EXISTS" | "CANNOT_CLEAR_FINAL_URLS_IF_URL_CUSTOM_PARAMETERS_EXIST" | "CANNOT_SET_BOTH_DESTINATION_URL_AND_FINAL_URLS" | "CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE" | "FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE" | "FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE"; /** * The reasons for the ad group customizer error. */ adGroupCustomizerError?: | "UNSPECIFIED" | "UNKNOWN"; /** * An error with an Ad Group mutate. */ adGroupError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_ADGROUP_NAME" | "INVALID_ADGROUP_NAME" | "ADVERTISER_NOT_ON_CONTENT_NETWORK" | "BID_TOO_BIG" | "BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH" | "MISSING_ADGROUP_NAME" | "ADGROUP_LABEL_DOES_NOT_EXIST" | "ADGROUP_LABEL_ALREADY_EXISTS" | "INVALID_CONTENT_BID_CRITERION_TYPE_GROUP" | "AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE" | "ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY" | "CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING" | "PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER" | "INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE" | "INVALID_EXCLUDED_PARENT_ASSET_SET_TYPE" | "CANNOT_ADD_AD_GROUP_FOR_CAMPAIGN_TYPE" | "INVALID_STATUS" | "INVALID_STEP_ID_FOR_VIDEO_ADS_SEQUENCING" | "INVALID_AD_GROUP_TYPE_FOR_VIDEO_ADS_SEQUENCING" | "DUPLICATE_STEP_ID" | "INVALID_VERTICAL_ADS_FORMAT_SETTING" | "VERTICAL_ADS_FORMAT_SETTING_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_AI_MAX" | "VERTICAL_ADS_FORMAT_SETTING_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_ENABLED_TRAVEL_FEED"; /** * The reasons for the ad group feed error */ adGroupFeedError?: | "UNSPECIFIED" | "UNKNOWN" | "FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE" | "CANNOT_CREATE_FOR_REMOVED_FEED" | "ADGROUP_FEED_ALREADY_EXISTS" | "CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED" | "INVALID_PLACEHOLDER_TYPE" | "MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE" | "NO_EXISTING_LOCATION_CUSTOMER_FEED"; /** * The reasons for the ad parameter error */ adParameterError?: | "UNSPECIFIED" | "UNKNOWN" | "AD_GROUP_CRITERION_MUST_BE_KEYWORD" | "INVALID_INSERTION_TEXT_FORMAT"; /** * The reasons for the ad sharing error */ adSharingError?: | "UNSPECIFIED" | "UNKNOWN" | "AD_GROUP_ALREADY_CONTAINS_AD" | "INCOMPATIBLE_AD_UNDER_AD_GROUP" | "CANNOT_SHARE_INACTIVE_AD"; /** * The reasons for the adx error */ adxError?: | "UNSPECIFIED" | "UNKNOWN" | "UNSUPPORTED_FEATURE"; /** * The reasons for the asset error */ assetError?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER_NOT_ON_ALLOWLIST_FOR_ASSET_TYPE" | "DUPLICATE_ASSET" | "DUPLICATE_ASSET_NAME" | "ASSET_DATA_IS_MISSING" | "CANNOT_MODIFY_ASSET_NAME" | "FIELD_INCOMPATIBLE_WITH_ASSET_TYPE" | "INVALID_CALL_TO_ACTION_TEXT" | "LEAD_FORM_INVALID_FIELDS_COMBINATION" | "LEAD_FORM_MISSING_AGREEMENT" | "INVALID_ASSET_STATUS" | "FIELD_CANNOT_BE_MODIFIED_FOR_ASSET_TYPE" | "SCHEDULES_CANNOT_OVERLAP" | "PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF" | "PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT" | "TOO_MANY_DECIMAL_PLACES_SPECIFIED" | "DUPLICATE_ASSETS_WITH_DIFFERENT_FIELD_VALUE" | "CALL_CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED" | "CALL_CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED" | "CALL_DISALLOWED_NUMBER_TYPE" | "CALL_INVALID_CONVERSION_ACTION" | "CALL_INVALID_COUNTRY_CODE" | "CALL_INVALID_DOMESTIC_PHONE_NUMBER_FORMAT" | "CALL_INVALID_PHONE_NUMBER" | "CALL_PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY" | "CALL_PREMIUM_RATE_NUMBER_NOT_ALLOWED" | "CALL_VANITY_PHONE_NUMBER_NOT_ALLOWED" | "PRICE_HEADER_SAME_AS_DESCRIPTION" | "MOBILE_APP_INVALID_APP_ID" | "MOBILE_APP_INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL" | "NAME_REQUIRED_FOR_ASSET_TYPE" | "LEAD_FORM_LEGACY_QUALIFYING_QUESTIONS_DISALLOWED" | "NAME_CONFLICT_FOR_ASSET_TYPE" | "CANNOT_MODIFY_ASSET_SOURCE" | "CANNOT_MODIFY_AUTOMATICALLY_CREATED_ASSET" | "LEAD_FORM_LOCATION_ANSWER_TYPE_DISALLOWED" | "PAGE_FEED_INVALID_LABEL_TEXT" | "CUSTOMER_NOT_ON_ALLOWLIST_FOR_WHATSAPP_MESSAGE_ASSETS" | "CUSTOMER_NOT_ON_ALLOWLIST_FOR_APP_DEEP_LINK_ASSETS" | "PROMOTION_BARCODE_CANNOT_CONTAIN_LINKS" | "PROMOTION_BARCODE_INVALID_FORMAT" | "UNSUPPORTED_BARCODE_TYPE" | "PROMOTION_QR_CODE_CANNOT_CONTAIN_LINKS" | "PROMOTION_QR_CODE_INVALID_FORMAT" | "CUSTOMER_NOT_ON_ALLOWLIST_FOR_MESSAGE_ASSETS"; /** * The reasons for the GenAI asset generation error. */ assetGenerationError?: | "UNSPECIFIED" | "UNKNOWN" | "NO_ASSETS_GENERATED" | "FINAL_URL_REQUIRED" | "GENERATION_CONTEXT_MISSING_FINAL_URL" | "FINAL_URL_SENSITIVE" | "FINAL_URL_UNSUPPORTED_LANGUAGE" | "FINAL_URL_UNAVAILABLE" | "CAMPAIGN_TYPE_REQUIRED" | "UNSUPPORTED_CAMPAIGN_TYPE" | "UNSUPPORTED_FIELD_TYPE" | "UNSUPPORTED_FIELD_TYPE_FOR_CAMPAIGN_TYPE" | "FREEFORM_PROMPT_UNSUPPORTED_LANGUAGE" | "FREEFORM_PROMPT_SENSITIVE" | "INPUT_IMAGE_FILE_SIZE_TOO_LARGE" | "INPUT_IMAGE_EMPTY" | "GENERATION_TYPE_REQUIRED" | "TOO_MANY_KEYWORDS" | "KEYWORD_INVALID_LENGTH" | "NO_VALID_KEYWORDS" | "FREEFORM_PROMPT_INVALID_LENGTH" | "FREEFORM_PROMPT_REFERENCES_CHILDREN" | "FREEFORM_PROMPT_REFERENCES_SPECIFIC_PEOPLE" | "FREEFORM_PROMPT_VIOLATES_ADS_POLICY" | "FREEFORM_PROMPT_BRAND_CONTENT" | "INPUT_IMAGE_DEPICTS_CHILDREN" | "INPUT_IMAGE_CONTAINS_BRAND_CONTENT" | "INPUT_IMAGE_SENSITIVE" | "INPUT_IMAGE_VIOLATES_POLICY" | "ALL_OUTPUT_IMAGES_FILTERED_OUT_CHILDREN_DEPICTION" | "ALL_OUTPUT_IMAGES_FILTERED_OUT_SPECIFIC_PEOPLE" | "ALL_OUTPUT_IMAGES_FILTERED_OUT" | "INPUT_IMAGE_REQUIRED" | "INPUT_IMAGE_UNSUPPORTED_IMAGE_TYPE" | "CONTEXT_ASSET_GROUP_NOT_FOUND" | "CONTEXT_AD_GROUP_AD_NOT_FOUND" | "CONTEXT_CAMPAIGN_NOT_FOUND"; /** * The reasons for the asset group asset error */ assetGroupAssetError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_RESOURCE" | "EXPANDABLE_TAGS_NOT_ALLOWED_IN_DESCRIPTION" | "AD_CUSTOMIZER_NOT_SUPPORTED" | "HOTEL_PROPERTY_ASSET_NOT_LINKED_TO_CAMPAIGN"; /** * The reasons for the asset group error */ assetGroupError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_NAME" | "CANNOT_ADD_ASSET_GROUP_FOR_CAMPAIGN_TYPE" | "NOT_ENOUGH_HEADLINE_ASSET" | "NOT_ENOUGH_LONG_HEADLINE_ASSET" | "NOT_ENOUGH_DESCRIPTION_ASSET" | "NOT_ENOUGH_BUSINESS_NAME_ASSET" | "NOT_ENOUGH_MARKETING_IMAGE_ASSET" | "NOT_ENOUGH_SQUARE_MARKETING_IMAGE_ASSET" | "NOT_ENOUGH_LOGO_ASSET" | "FINAL_URL_SHOPPING_MERCHANT_HOME_PAGE_URL_DOMAINS_DIFFER" | "PATH1_REQUIRED_WHEN_PATH2_IS_SET" | "SHORT_DESCRIPTION_REQUIRED" | "FINAL_URL_REQUIRED" | "FINAL_URL_CONTAINS_INVALID_DOMAIN_NAME" | "AD_CUSTOMIZER_NOT_SUPPORTED" | "CANNOT_MUTATE_ASSET_GROUP_FOR_REMOVED_CAMPAIGN"; /** * The reasons for the asset group listing group filter error */ assetGroupListingGroupFilterError?: | "UNSPECIFIED" | "UNKNOWN" | "TREE_TOO_DEEP" | "UNIT_CANNOT_HAVE_CHILDREN" | "SUBDIVISION_MUST_HAVE_EVERYTHING_ELSE_CHILD" | "DIFFERENT_DIMENSION_TYPE_BETWEEN_SIBLINGS" | "SAME_DIMENSION_VALUE_BETWEEN_SIBLINGS" | "SAME_DIMENSION_TYPE_BETWEEN_ANCESTORS" | "MULTIPLE_ROOTS" | "INVALID_DIMENSION_VALUE" | "MUST_REFINE_HIERARCHICAL_PARENT_TYPE" | "INVALID_PRODUCT_BIDDING_CATEGORY" | "CHANGING_CASE_VALUE_WITH_CHILDREN" | "SUBDIVISION_HAS_CHILDREN" | "CANNOT_REFINE_HIERARCHICAL_EVERYTHING_ELSE" | "DIMENSION_TYPE_NOT_ALLOWED" | "DUPLICATE_WEBPAGE_FILTER_UNDER_ASSET_GROUP" | "LISTING_SOURCE_NOT_ALLOWED" | "FILTER_EXCLUSION_NOT_ALLOWED" | "MULTIPLE_LISTING_SOURCES" | "MULTIPLE_WEBPAGE_CONDITION_TYPES_NOT_ALLOWED" | "MULTIPLE_WEBPAGE_TYPES_PER_ASSET_GROUP" | "PAGE_FEED_FILTER_HAS_PARENT" | "MULTIPLE_OPERATIONS_ON_ONE_NODE" | "TREE_WAS_INVALID_BEFORE_MUTATION"; /** * The reasons for the asset group hint error */ assetGroupSignalError?: | "UNSPECIFIED" | "UNKNOWN" | "TOO_MANY_WORDS" | "SEARCH_THEME_POLICY_VIOLATION" | "AUDIENCE_WITH_WRONG_ASSET_GROUP_ID"; /** * The reasons for the asset link error */ assetLinkError?: | "UNSPECIFIED" | "UNKNOWN" | "PINNING_UNSUPPORTED" | "UNSUPPORTED_FIELD_TYPE" | "FIELD_TYPE_INCOMPATIBLE_WITH_ASSET_TYPE" | "FIELD_TYPE_INCOMPATIBLE_WITH_CAMPAIGN_TYPE" | "INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE" | "IMAGE_NOT_WITHIN_SPECIFIED_DIMENSION_RANGE" | "INVALID_PINNED_FIELD" | "MEDIA_BUNDLE_ASSET_FILE_SIZE_TOO_LARGE" | "NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION" | "NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK" | "NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK_FOR_VALID_COMBINATION" | "YOUTUBE_VIDEO_REMOVED" | "YOUTUBE_VIDEO_TOO_LONG" | "YOUTUBE_VIDEO_TOO_SHORT" | "EXCLUDED_PARENT_FIELD_TYPE" | "INVALID_STATUS" | "YOUTUBE_VIDEO_DURATION_NOT_DEFINED" | "CANNOT_CREATE_AUTOMATICALLY_CREATED_LINKS" | "CANNOT_LINK_TO_AUTOMATICALLY_CREATED_ASSET" | "CANNOT_MODIFY_ASSET_LINK_SOURCE" | "CANNOT_LINK_LOCATION_LEAD_FORM_WITHOUT_LOCATION_ASSET" | "CUSTOMER_NOT_VERIFIED" | "UNSUPPORTED_CALL_TO_ACTION" | "BRAND_ASSETS_NOT_LINKED_AT_ASSET_GROUP_LEVEL" | "BRAND_ASSETS_NOT_LINKED_AT_CAMPAIGN_LEVEL"; /** * The reasons for the asset set asset error */ assetSetAssetError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_ASSET_TYPE" | "INVALID_ASSET_SET_TYPE" | "DUPLICATE_EXTERNAL_KEY" | "PARENT_LINKAGE_DOES_NOT_EXIST"; /** * The reasons for the asset set error */ assetSetError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_ASSET_SET_NAME" | "INVALID_PARENT_ASSET_SET_TYPE" | "ASSET_SET_SOURCE_INCOMPATIBLE_WITH_PARENT_ASSET_SET" | "ASSET_SET_TYPE_CANNOT_BE_LINKED_TO_CUSTOMER" | "INVALID_CHAIN_IDS" | "LOCATION_SYNC_ASSET_SET_DOES_NOT_SUPPORT_RELATIONSHIP_TYPE" | "NOT_UNIQUE_ENABLED_LOCATION_SYNC_TYPED_ASSET_SET" | "INVALID_PLACE_IDS" | "OAUTH_INFO_INVALID" | "OAUTH_INFO_MISSING" | "CANNOT_DELETE_AS_ENABLED_LINKAGES_EXIST"; /** * The reasons for the asset set link error */ assetSetLinkError?: | "UNSPECIFIED" | "UNKNOWN" | "INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE" | "DUPLICATE_FEED_LINK" | "INCOMPATIBLE_ASSET_SET_TYPE_WITH_CAMPAIGN_TYPE" | "DUPLICATE_ASSET_SET_LINK" | "ASSET_SET_LINK_CANNOT_BE_REMOVED"; /** * The reasons for the audience error */ audienceError?: | "UNSPECIFIED" | "UNKNOWN" | "NAME_ALREADY_IN_USE" | "DIMENSION_INVALID" | "AUDIENCE_SEGMENT_NOT_FOUND" | "AUDIENCE_SEGMENT_TYPE_NOT_SUPPORTED" | "DUPLICATE_AUDIENCE_SEGMENT" | "TOO_MANY_SEGMENTS" | "TOO_MANY_DIMENSIONS_OF_SAME_TYPE" | "IN_USE" | "MISSING_ASSET_GROUP_ID" | "CANNOT_CHANGE_FROM_CUSTOMER_TO_ASSET_GROUP_SCOPE"; /** * The reasons for the Audience Insights error */ audienceInsightsError?: | "UNSPECIFIED" | "UNKNOWN" | "DIMENSION_INCOMPATIBLE_WITH_TOPIC_AUDIENCE_COMBINATIONS"; /** * Indicates failure to properly authenticate user. */ authenticationError?: | "UNSPECIFIED" | "UNKNOWN" | "AUTHENTICATION_ERROR" | "CLIENT_CUSTOMER_ID_INVALID" | "CUSTOMER_NOT_FOUND" | "GOOGLE_ACCOUNT_DELETED" | "GOOGLE_ACCOUNT_COOKIE_INVALID" | "GOOGLE_ACCOUNT_AUTHENTICATION_FAILED" | "GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH" | "LOGIN_COOKIE_REQUIRED" | "NOT_ADS_USER" | "OAUTH_TOKEN_INVALID" | "OAUTH_TOKEN_EXPIRED" | "OAUTH_TOKEN_DISABLED" | "OAUTH_TOKEN_REVOKED" | "OAUTH_TOKEN_HEADER_INVALID" | "LOGIN_COOKIE_INVALID" | "INVALID_EMAIL_ADDRESS" | "USER_ID_INVALID" | "TWO_STEP_VERIFICATION_NOT_ENROLLED" | "ADVANCED_PROTECTION_NOT_ENROLLED" | "ORGANIZATION_NOT_RECOGNIZED" | "ORGANIZATION_NOT_APPROVED" | "ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN" | "DEVELOPER_TOKEN_INVALID"; /** * An error encountered when trying to authorize a user. */ authorizationError?: | "UNSPECIFIED" | "UNKNOWN" | "USER_PERMISSION_DENIED" | "DEVELOPER_TOKEN_NOT_ON_ALLOWLIST" | "DEVELOPER_TOKEN_PROHIBITED" | "PROJECT_DISABLED" | "AUTHORIZATION_ERROR" | "ACTION_NOT_PERMITTED" | "INCOMPLETE_SIGNUP" | "CUSTOMER_NOT_ENABLED" | "MISSING_TOS" | "DEVELOPER_TOKEN_NOT_APPROVED" | "INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION" | "SERVICE_ACCESS_DENIED" | "ACCESS_DENIED_FOR_ACCOUNT_TYPE" | "METRIC_ACCESS_DENIED" | "CLOUD_PROJECT_NOT_UNDER_ORGANIZATION" | "ACTION_NOT_PERMITTED_FOR_SUSPENDED_ACCOUNT"; /** * The reasons for error in automatically created asset removal action. */ automaticallyCreatedAssetRemovalError?: | "UNSPECIFIED" | "UNKNOWN" | "AD_DOES_NOT_EXIST" | "INVALID_AD_TYPE" | "ASSET_DOES_NOT_EXIST" | "ASSET_FIELD_TYPE_DOES_NOT_MATCH" | "NOT_AN_AUTOMATICALLY_CREATED_ASSET"; /** * The reasons for the batch job error */ batchJobError?: | "UNSPECIFIED" | "UNKNOWN" | "CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING" | "EMPTY_OPERATIONS" | "INVALID_SEQUENCE_TOKEN" | "RESULTS_NOT_READY" | "INVALID_PAGE_SIZE" | "CAN_ONLY_REMOVE_PENDING_JOB" | "CANNOT_LIST_RESULTS" | "ASSET_GROUP_AND_ASSET_GROUP_ASSET_TRANSACTION_FAILURE" | "ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILURE" | "REQUEST_TOO_LARGE" | "CAMPAIGN_AND_CAMPAIGN_ASSET_TRANSACTION_FAILURE"; /** * The reasons for the Benchmarks error. */ benchmarksError?: | "UNSPECIFIED" | "UNKNOWN" | "MAX_QUERY_COMPLEXITY_EXCEEDED"; /** * The reasons for the bidding errors */ biddingError?: | "UNSPECIFIED" | "UNKNOWN" | "BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED" | "CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN" | "INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE" | "INVALID_BIDDING_STRATEGY_TYPE" | "INVALID_BID" | "BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE" | "CANNOT_CREATE_CAMPAIGN_WITH_BIDDING_STRATEGY" | "CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CAMPAIGN_LEVEL_POP_BIDDING_STRATEGY" | "BIDDING_STRATEGY_NOT_SUPPORTED_WITH_AD_SCHEDULE" | "PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER" | "PAY_PER_CONVERSION_NOT_ALLOWED_WITH_TARGET_CPA" | "BIDDING_STRATEGY_NOT_ALLOWED_FOR_SEARCH_ONLY_CAMPAIGNS" | "BIDDING_STRATEGY_NOT_SUPPORTED_IN_DRAFTS_OR_EXPERIMENTS" | "BIDDING_STRATEGY_TYPE_DOES_NOT_SUPPORT_PRODUCT_TYPE_ADGROUP_CRITERION" | "BID_TOO_SMALL" | "BID_TOO_BIG" | "BID_TOO_MANY_FRACTIONAL_DIGITS" | "INVALID_DOMAIN_NAME" | "NOT_COMPATIBLE_WITH_PAYMENT_MODE" | "BIDDING_STRATEGY_TYPE_INCOMPATIBLE_WITH_SHARED_BUDGET" | "BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ALIGNED" | "BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ATTACHED_TO_THE_SAME_CAMPAIGNS_TO_ALIGN" | "BIDDING_STRATEGY_AND_BUDGET_MUST_BE_REMOVED_TOGETHER" | "CPC_BID_FLOOR_MICROS_GREATER_THAN_CPC_BID_CEILING_MICROS" | "TARGET_ROAS_TOLERANCE_PERCENT_MILLIS_MUST_BE_INTEGER"; /** * An error with a Bidding Strategy mutate. */ biddingStrategyError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_NAME" | "CANNOT_CHANGE_BIDDING_STRATEGY_TYPE" | "CANNOT_REMOVE_ASSOCIATED_STRATEGY" | "BIDDING_STRATEGY_NOT_SUPPORTED" | "INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE"; /** * The reasons for the billing setup error */ billingSetupError?: | "UNSPECIFIED" | "UNKNOWN" | "CANNOT_USE_EXISTING_AND_NEW_ACCOUNT" | "CANNOT_REMOVE_STARTED_BILLING_SETUP" | "CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT" | "BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS" | "INVALID_PAYMENTS_ACCOUNT" | "BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY" | "INVALID_START_TIME_TYPE" | "THIRD_PARTY_ALREADY_HAS_BILLING" | "BILLING_SETUP_IN_PROGRESS" | "NO_SIGNUP_PERMISSION" | "CHANGE_OF_BILL_TO_IN_PROGRESS" | "PAYMENTS_PROFILE_NOT_FOUND" | "PAYMENTS_ACCOUNT_NOT_FOUND" | "PAYMENTS_PROFILE_INELIGIBLE" | "PAYMENTS_ACCOUNT_INELIGIBLE" | "CUSTOMER_NEEDS_INTERNAL_APPROVAL" | "PAYMENTS_PROFILE_NEEDS_SERVICE_AGREEMENT_ACCEPTANCE" | "PAYMENTS_ACCOUNT_INELIGIBLE_CURRENCY_CODE_MISMATCH" | "FUTURE_START_TIME_PROHIBITED" | "TOO_MANY_BILLING_SETUPS_FOR_PAYMENTS_ACCOUNT"; /** * The reasons for the brand guidelines migration error. */ brandGuidelinesMigrationError?: | "UNSPECIFIED" | "UNKNOWN" | "BRAND_GUIDELINES_ALREADY_ENABLED" | "CANNOT_ENABLE_BRAND_GUIDELINES_FOR_REMOVED_CAMPAIGN" | "BRAND_GUIDELINES_LOGO_LIMIT_EXCEEDED" | "CANNOT_AUTO_POPULATE_BRAND_ASSETS_WHEN_BRAND_ASSETS_PROVIDED" | "AUTO_POPULATE_BRAND_ASSETS_REQUIRED_WHEN_BRAND_ASSETS_OMITTED" | "TOO_MANY_ENABLE_OPERATIONS"; /** * An error with a Campaign Budget mutate. */ campaignBudgetError?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_BUDGET_CANNOT_BE_SHARED" | "CAMPAIGN_BUDGET_REMOVED" | "CAMPAIGN_BUDGET_IN_USE" | "CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE" | "CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET" | "CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED" | "CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME" | "CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED" | "CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS" | "DUPLICATE_NAME" | "MONEY_AMOUNT_IN_WRONG_CURRENCY" | "MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC" | "MONEY_AMOUNT_TOO_LARGE" | "NEGATIVE_MONEY_AMOUNT" | "NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT" | "TOTAL_BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_DAILY" | "INVALID_PERIOD" | "CANNOT_USE_ACCELERATED_DELIVERY_MODE" | "BUDGET_AMOUNT_MUST_BE_UNSET_FOR_CUSTOM_BUDGET_PERIOD" | "BUDGET_BELOW_PER_DAY_MINIMUM"; /** * The reasons for the campaign conversion goal error */ campaignConversionGoalError?: | "UNSPECIFIED" | "UNKNOWN" | "CANNOT_USE_CAMPAIGN_GOAL_FOR_SEARCH_ADS_360_MANAGED_CAMPAIGN" | "CANNOT_USE_STORE_SALE_GOAL_FOR_PERFORMANCE_MAX_CAMPAIGN"; /** * The reasons for the campaign criterion error */ campaignCriterionError?: | "UNSPECIFIED" | "UNKNOWN" | "CONCRETE_TYPE_REQUIRED" | "INVALID_PLACEMENT_URL" | "CANNOT_EXCLUDE_CRITERIA_TYPE" | "CANNOT_SET_STATUS_FOR_CRITERIA_TYPE" | "CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA" | "CANNOT_TARGET_AND_EXCLUDE" | "TOO_MANY_OPERATIONS" | "OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE" | "SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL" | "CANNOT_ADD_EXISTING_FIELD" | "CANNOT_UPDATE_NEGATIVE_CRITERION" | "CANNOT_SET_NEGATIVE_KEYWORD_THEME_CONSTANT_CRITERION" | "INVALID_KEYWORD_THEME_CONSTANT" | "MISSING_KEYWORD_THEME_CONSTANT_OR_FREE_FORM_KEYWORD_THEME" | "CANNOT_TARGET_BOTH_PROXIMITY_AND_LOCATION_CRITERIA_FOR_SMART_CAMPAIGN" | "CANNOT_TARGET_MULTIPLE_PROXIMITY_CRITERIA_FOR_SMART_CAMPAIGN" | "LOCATION_NOT_LAUNCHED_FOR_LOCAL_SERVICES_CAMPAIGN" | "LOCATION_INVALID_FOR_LOCAL_SERVICES_CAMPAIGN" | "CANNOT_TARGET_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN" | "LOCATION_NOT_IN_HOME_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN" | "CANNOT_ADD_OR_REMOVE_LOCATION_FOR_LOCAL_SERVICES_CAMPAIGN" | "AT_LEAST_ONE_POSITIVE_LOCATION_REQUIRED_FOR_LOCAL_SERVICES_CAMPAIGN" | "AT_LEAST_ONE_LOCAL_SERVICE_ID_CRITERION_REQUIRED_FOR_LOCAL_SERVICES_CAMPAIGN" | "LOCAL_SERVICE_ID_NOT_FOUND_FOR_CATEGORY" | "CANNOT_ATTACH_BRAND_LIST_TO_NON_QUALIFIED_SEARCH_CAMPAIGN" | "CANNOT_REMOVE_ALL_LOCATIONS_DUE_TO_TOO_MANY_COUNTRY_EXCLUSIONS" | "INVALID_VIDEO_LINEUP_ID"; /** * The reasons for the campaign customizer error. */ campaignCustomizerError?: | "UNSPECIFIED" | "UNKNOWN"; /** * The reasons for the campaign draft error */ campaignDraftError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_DRAFT_NAME" | "INVALID_STATUS_TRANSITION_FROM_REMOVED" | "INVALID_STATUS_TRANSITION_FROM_PROMOTED" | "INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED" | "CUSTOMER_CANNOT_CREATE_DRAFT" | "CAMPAIGN_CANNOT_CREATE_DRAFT" | "INVALID_DRAFT_CHANGE" | "INVALID_STATUS_TRANSITION" | "MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED" | "LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY"; /** * An error with a Campaign mutate. */ campaignError?: | "UNSPECIFIED" | "UNKNOWN" | "CANNOT_TARGET_CONTENT_NETWORK" | "CANNOT_TARGET_SEARCH_NETWORK" | "CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH" | "CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN" | "CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK" | "CANNOT_TARGET_PARTNER_SEARCH_NETWORK" | "CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY" | "CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS" | "CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN" | "DUPLICATE_CAMPAIGN_NAME" | "INCOMPATIBLE_CAMPAIGN_FIELD" | "INVALID_CAMPAIGN_NAME" | "INVALID_AD_SERVING_OPTIMIZATION_STATUS" | "INVALID_TRACKING_URL" | "CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING" | "MAX_IMPRESSIONS_NOT_IN_RANGE" | "TIME_UNIT_NOT_SUPPORTED" | "INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED" | "BUDGET_CANNOT_BE_SHARED" | "CAMPAIGN_CANNOT_USE_SHARED_BUDGET" | "CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS" | "CAMPAIGN_LABEL_DOES_NOT_EXIST" | "CAMPAIGN_LABEL_ALREADY_EXISTS" | "MISSING_SHOPPING_SETTING" | "INVALID_SHOPPING_SALES_COUNTRY" | "ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE" | "INVALID_ADVERTISING_CHANNEL_SUB_TYPE" | "AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED" | "CANNOT_SET_AD_ROTATION_MODE" | "CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED" | "CANNOT_SET_DATE_TO_PAST" | "MISSING_HOTEL_CUSTOMER_LINK" | "INVALID_HOTEL_CUSTOMER_LINK" | "MISSING_HOTEL_SETTING" | "CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP" | "APP_NOT_FOUND" | "SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE" | "MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS" | "INSUFFICIENT_APP_INSTALLS_COUNT" | "SENSITIVE_CATEGORY_APP" | "HEC_AGREEMENT_REQUIRED" | "NOT_COMPATIBLE_WITH_VIEW_THROUGH_CONVERSION_OPTIMIZATION" | "INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE" | "CANNOT_CREATE_APP_PRE_REGISTRATION_FOR_NON_ANDROID_APP" | "APP_NOT_AVAILABLE_TO_CREATE_APP_PRE_REGISTRATION_CAMPAIGN" | "INCOMPATIBLE_BUDGET_TYPE" | "LOCAL_SERVICES_DUPLICATE_CATEGORY_BID" | "LOCAL_SERVICES_INVALID_CATEGORY_BID" | "LOCAL_SERVICES_MISSING_CATEGORY_BID" | "INVALID_STATUS_CHANGE" | "MISSING_TRAVEL_CUSTOMER_LINK" | "INVALID_TRAVEL_CUSTOMER_LINK" | "INVALID_EXCLUDED_PARENT_ASSET_SET_TYPE" | "ASSET_SET_NOT_A_HOTEL_PROPERTY_ASSET_SET" | "HOTEL_PROPERTY_ASSET_SET_ONLY_FOR_PERFORMANCE_MAX_FOR_TRAVEL_GOALS" | "AVERAGE_DAILY_SPEND_TOO_HIGH" | "CANNOT_ATTACH_TO_REMOVED_CAMPAIGN_GROUP" | "CANNOT_ATTACH_TO_BIDDING_STRATEGY" | "CANNOT_CHANGE_BUDGET_PERIOD" | "NOT_ENOUGH_CONVERSIONS" | "CANNOT_SET_MORE_THAN_ONE_CONVERSION_ACTION" | "NOT_COMPATIBLE_WITH_BUDGET_TYPE" | "NOT_COMPATIBLE_WITH_UPLOAD_CLICKS_CONVERSION" | "APP_ID_MUST_MATCH_CONVERSION_ACTION_APP_ID" | "CONVERSION_ACTION_WITH_DOWNLOAD_CATEGORY_NOT_ALLOWED" | "CONVERSION_ACTION_WITH_DOWNLOAD_CATEGORY_REQUIRED" | "CONVERSION_TRACKING_NOT_ENABLED" | "NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE" | "NOT_COMPATIBLE_WITH_GOOGLE_ATTRIBUTION_CONVERSIONS" | "CONVERSION_LAG_TOO_HIGH" | "NOT_LINKED_ADVERTISING_PARTNER" | "INVALID_NUMBER_OF_ADVERTISING_PARTNER_IDS" | "CANNOT_TARGET_DISPLAY_NETWORK_WITHOUT_YOUTUBE" | "CANNOT_LINK_TO_COMPARISON_SHOPPING_SERVICE_ACCOUNT" | "CANNOT_TARGET_NETWORK_FOR_COMPARISON_SHOPPING_SERVICE_LINKED_ACCOUNTS" | "CANNOT_MODIFY_TEXT_ASSET_AUTOMATION_WITH_ENABLED_TRIAL" | "DYNAMIC_TEXT_ASSET_CANNOT_OPT_OUT_WITH_FINAL_URL_EXPANSION_OPT_IN" | "CANNOT_SET_CAMPAIGN_KEYWORD_MATCH_TYPE" | "CANNOT_DISABLE_BROAD_MATCH_WHEN_KEYWORD_CONVERSION_IN_PROCESS" | "CANNOT_DISABLE_BROAD_MATCH_WHEN_TARGETING_BRANDS" | "CANNOT_ENABLE_BROAD_MATCH_FOR_BASE_CAMPAIGN_WITH_PROMOTING_TRIAL" | "CANNOT_ENABLE_BROAD_MATCH_FOR_PROMOTING_TRIAL_CAMPAIGN" | "REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED" | "REQUIRED_LOGO_ASSET_NOT_LINKED" | "BRAND_TARGETING_OVERRIDES_NOT_SUPPORTED" | "BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN" | "BRAND_GUIDELINES_MAIN_AND_ACCENT_COLORS_REQUIRED" | "BRAND_GUIDELINES_COLOR_INVALID_FORMAT" | "BRAND_GUIDELINES_UNSUPPORTED_FONT_FAMILY" | "BRAND_GUIDELINES_UNSUPPORTED_CHANNEL" | "CANNOT_ENABLE_BRAND_GUIDELINES_FOR_TRAVEL_GOALS" | "CUSTOMER_NOT_ALLOWLISTED_FOR_BRAND_GUIDELINES" | "THIRD_PARTY_INTEGRATION_PARTNER_NOT_ALLOWED" | "THIRD_PARTY_INTEGRATION_PARTNER_SHARE_COST_NOT_ALLOWED" | "DUPLICATE_INTERACTION_TYPE" | "INVALID_INTERACTION_TYPE" | "VIDEO_SEQUENCE_ERROR_SEQUENCE_DEFINITION_REQUIRED" | "AI_MAX_MUST_BE_ENABLED" | "DURATION_TOO_LONG_FOR_TOTAL_BUDGET" | "END_DATE_TIME_REQUIRED_FOR_TOTAL_BUDGET"; /** * The reasons for the campaign experiment error */ campaignExperimentError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_NAME" | "INVALID_TRANSITION" | "CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET" | "CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN" | "CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT" | "CUSTOMER_CANNOT_CREATE_EXPERIMENT" | "CAMPAIGN_CANNOT_CREATE_EXPERIMENT" | "EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP" | "EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION" | "CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS"; /** * The reasons for the campaign feed error */ campaignFeedError?: | "UNSPECIFIED" | "UNKNOWN" | "FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE" | "CANNOT_CREATE_FOR_REMOVED_FEED" | "CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED" | "CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED" | "INVALID_PLACEHOLDER_TYPE" | "MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE" | "NO_EXISTING_LOCATION_CUSTOMER_FEED" | "LEGACY_FEED_TYPE_READ_ONLY"; /** * The reasons for the campaign goal config error. */ campaignGoalConfigError?: | "UNSPECIFIED" | "UNKNOWN" | "GOAL_NOT_FOUND" | "CAMPAIGN_NOT_FOUND" | "HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT" | "HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE" | "CUSTOMER_LIFECYCLE_OPTIMIZATION_CAMPAIGN_TYPE_NOT_SUPPORTED" | "CUSTOMER_NOT_ALLOWLISTED_FOR_RETENTION_ONLY"; /** * The reasons for the campaign lifecycle goal error */ campaignLifecycleGoalError?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_MISSING" | "INVALID_CAMPAIGN" | "CUSTOMER_ACQUISITION_INVALID_OPTIMIZATION_MODE" | "INCOMPATIBLE_BIDDING_STRATEGY" | "MISSING_PURCHASE_GOAL" | "CUSTOMER_ACQUISITION_INVALID_HIGH_LIFETIME_VALUE" | "CUSTOMER_ACQUISITION_UNSUPPORTED_CAMPAIGN_TYPE" | "CUSTOMER_ACQUISITION_INVALID_VALUE" | "CUSTOMER_ACQUISITION_VALUE_MISSING" | "CUSTOMER_ACQUISITION_MISSING_EXISTING_CUSTOMER_DEFINITION" | "CUSTOMER_ACQUISITION_MISSING_HIGH_VALUE_CUSTOMER_DEFINITION"; /** * The reasons for the campaign shared set error */ campaignSharedSetError?: | "UNSPECIFIED" | "UNKNOWN" | "SHARED_SET_ACCESS_DENIED"; /** * The reasons for the change event error */ changeEventError?: | "UNSPECIFIED" | "UNKNOWN" | "START_DATE_TOO_OLD" | "CHANGE_DATE_RANGE_INFINITE" | "CHANGE_DATE_RANGE_NEGATIVE" | "LIMIT_NOT_SPECIFIED" | "INVALID_LIMIT_CLAUSE"; /** * The reasons for the change status error */ changeStatusError?: | "UNSPECIFIED" | "UNKNOWN" | "START_DATE_TOO_OLD" | "CHANGE_DATE_RANGE_INFINITE" | "CHANGE_DATE_RANGE_NEGATIVE" | "LIMIT_NOT_SPECIFIED" | "INVALID_LIMIT_CLAUSE"; /** * The reasons for the click view error */ clickViewError?: | "UNSPECIFIED" | "UNKNOWN" | "EXPECTED_FILTER_ON_A_SINGLE_DAY" | "DATE_TOO_OLD"; /** * The reasons for the collection size error */ collectionSizeError?: | "UNSPECIFIED" | "UNKNOWN" | "TOO_FEW" | "TOO_MANY"; /** * The reasons for the context error */ contextError?: | "UNSPECIFIED" | "UNKNOWN" | "OPERATION_NOT_PERMITTED_FOR_CONTEXT" | "OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE"; /** * The reasons for the conversion action error */ conversionActionError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_NAME" | "DUPLICATE_APP_ID" | "TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD" | "BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION" | "DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED" | "DATA_DRIVEN_MODEL_EXPIRED" | "DATA_DRIVEN_MODEL_STALE" | "DATA_DRIVEN_MODEL_UNKNOWN" | "CREATION_NOT_SUPPORTED" | "UPDATE_NOT_SUPPORTED" | "CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS"; /** * The reasons for the conversion adjustment upload error */ conversionAdjustmentUploadError?: | "UNSPECIFIED" | "UNKNOWN" | "TOO_RECENT_CONVERSION_ACTION" | "CONVERSION_ALREADY_RETRACTED" | "CONVERSION_NOT_FOUND" | "CONVERSION_EXPIRED" | "ADJUSTMENT_PRECEDES_CONVERSION" | "MORE_RECENT_RESTATEMENT_FOUND" | "TOO_RECENT_CONVERSION" | "CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE" | "TOO_MANY_ADJUSTMENTS_IN_REQUEST" | "TOO_MANY_ADJUSTMENTS" | "RESTATEMENT_ALREADY_EXISTS" | "DUPLICATE_ADJUSTMENT_IN_REQUEST" | "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS" | "CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT" | "INVALID_USER_IDENTIFIER" | "UNSUPPORTED_USER_IDENTIFIER" | "GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET" | "CONVERSION_ALREADY_ENHANCED" | "DUPLICATE_ENHANCEMENT_IN_REQUEST" | "CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT" | "MISSING_ORDER_ID_FOR_WEBPAGE" | "ORDER_ID_CONTAINS_PII" | "INVALID_JOB_ID" | "NO_CONVERSION_ACTION_FOUND" | "INVALID_CONVERSION_ACTION_TYPE"; /** * The reasons for the conversion custom variable error */ conversionCustomVariableError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_NAME" | "DUPLICATE_TAG" | "RESERVED_TAG"; /** * The reasons for the conversion goal campaign config error */ conversionGoalCampaignConfigError?: | "UNSPECIFIED" | "UNKNOWN" | "CANNOT_USE_CAMPAIGN_GOAL_FOR_SEARCH_ADS_360_MANAGED_CAMPAIGN" | "CUSTOM_GOAL_DOES_NOT_BELONG_TO_GOOGLE_ADS_CONVERSION_CUSTOMER" | "CAMPAIGN_CANNOT_USE_UNIFIED_GOALS" | "EMPTY_CONVERSION_GOALS" | "STORE_SALE_STORE_VISIT_CANNOT_BE_BOTH_INCLUDED" | "PERFORMANCE_MAX_CAMPAIGN_CANNOT_USE_CUSTOM_GOAL_WITH_STORE_SALES"; /** * The reasons for the conversion upload error */ conversionUploadError?: | "UNSPECIFIED" | "UNKNOWN" | "TOO_MANY_CONVERSIONS_IN_REQUEST" | "UNPARSEABLE_GCLID" | "CONVERSION_PRECEDES_EVENT" | "EXPIRED_EVENT" | "TOO_RECENT_EVENT" | "EVENT_NOT_FOUND" | "UNAUTHORIZED_CUSTOMER" | "TOO_RECENT_CONVERSION_ACTION" | "CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME" | "EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION" | "EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION" | "ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION" | "ORDER_ID_ALREADY_IN_USE" | "DUPLICATE_ORDER_ID" | "TOO_RECENT_CALL" | "EXPIRED_CALL" | "CALL_NOT_FOUND" | "CONVERSION_PRECEDES_CALL" | "CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME" | "UNPARSEABLE_CALLERS_PHONE_NUMBER" | "CLICK_CONVERSION_ALREADY_EXISTS" | "CALL_CONVERSION_ALREADY_EXISTS" | "DUPLICATE_CLICK_CONVERSION_IN_REQUEST" | "DUPLICATE_CALL_CONVERSION_IN_REQUEST" | "CUSTOM_VARIABLE_NOT_ENABLED" | "CUSTOM_VARIABLE_VALUE_CONTAINS_PII" | "INVALID_CUSTOMER_FOR_CLICK" | "INVALID_CUSTOMER_FOR_CALL" | "CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY" | "CLICK_NOT_FOUND" | "INVALID_USER_IDENTIFIER" | "EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER" | "UNSUPPORTED_USER_IDENTIFIER" | "GBRAID_WBRAID_BOTH_SET" | "UNPARSEABLE_WBRAID" | "UNPARSEABLE_GBRAID" | "ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID" | "CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS" | "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS" | "ORDER_ID_CONTAINS_PII" | "CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS" | "INVALID_JOB_ID" | "NO_CONVERSION_ACTION_FOUND" | "INVALID_CONVERSION_ACTION_TYPE"; /** * The reasons for the conversion value rule error */ conversionValueRuleError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_GEO_TARGET_CONSTANT" | "CONFLICTING_INCLUDED_AND_EXCLUDED_GEO_TARGET" | "CONFLICTING_CONDITIONS" | "CANNOT_REMOVE_IF_INCLUDED_IN_VALUE_RULE_SET" | "CONDITION_NOT_ALLOWED" | "FIELD_MUST_BE_UNSET" | "CANNOT_PAUSE_UNLESS_VALUE_RULE_SET_IS_PAUSED" | "UNTARGETABLE_GEO_TARGET" | "INVALID_AUDIENCE_USER_LIST" | "INACCESSIBLE_USER_LIST" | "INVALID_AUDIENCE_USER_INTEREST" | "CANNOT_ADD_RULE_WITH_STATUS_REMOVED" | "NO_DAY_OF_WEEK_SELECTED"; /** * The reasons for the conversion value rule set error */ conversionValueRuleSetError?: | "UNSPECIFIED" | "UNKNOWN" | "CONFLICTING_VALUE_RULE_CONDITIONS" | "INVALID_VALUE_RULE" | "DIMENSIONS_UPDATE_ONLY_ALLOW_APPEND" | "CONDITION_TYPE_NOT_ALLOWED" | "DUPLICATE_DIMENSIONS" | "INVALID_CAMPAIGN_ID" | "CANNOT_PAUSE_UNLESS_ALL_VALUE_RULES_ARE_PAUSED" | "SHOULD_PAUSE_WHEN_ALL_VALUE_RULES_ARE_PAUSED" | "VALUE_RULES_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE" | "INELIGIBLE_CONVERSION_ACTION_CATEGORIES" | "DIMENSION_NO_CONDITION_USED_WITH_OTHER_DIMENSIONS" | "DIMENSION_NO_CONDITION_NOT_ALLOWED" | "UNSUPPORTED_CONVERSION_ACTION_CATEGORIES" | "DIMENSION_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE"; /** * The reasons for the country code error */ countryCodeError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_COUNTRY_CODE"; /** * The reasons for the criterion error */ criterionError?: | "UNSPECIFIED" | "UNKNOWN" | "CONCRETE_TYPE_REQUIRED" | "INVALID_EXCLUDED_CATEGORY" | "INVALID_KEYWORD_TEXT" | "KEYWORD_TEXT_TOO_LONG" | "KEYWORD_HAS_TOO_MANY_WORDS" | "KEYWORD_HAS_INVALID_CHARS" | "INVALID_PLACEMENT_URL" | "INVALID_USER_LIST" | "INVALID_USER_INTEREST" | "INVALID_FORMAT_FOR_PLACEMENT_URL" | "PLACEMENT_URL_IS_TOO_LONG" | "PLACEMENT_URL_HAS_ILLEGAL_CHAR" | "PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE" | "PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION" | "INVALID_TOPIC_PATH" | "INVALID_YOUTUBE_CHANNEL_ID" | "INVALID_YOUTUBE_VIDEO_ID" | "YOUTUBE_VERTICAL_CHANNEL_DEPRECATED" | "YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED" | "YOUTUBE_URL_UNSUPPORTED" | "CANNOT_EXCLUDE_CRITERIA_TYPE" | "CANNOT_ADD_CRITERIA_TYPE" | "CANNOT_EXCLUDE_SIMILAR_USER_LIST" | "CANNOT_ADD_CLOSED_USER_LIST" | "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS" | "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS" | "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS" | "CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS" | "CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS" | "CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE" | "INVALID_COMBINED_AUDIENCE" | "INVALID_CUSTOM_AFFINITY" | "INVALID_CUSTOM_INTENT" | "INVALID_CUSTOM_AUDIENCE" | "INVALID_IP_ADDRESS" | "INVALID_IP_FORMAT" | "INVALID_MOBILE_APP" | "INVALID_MOBILE_APP_CATEGORY" | "INVALID_CRITERION_ID" | "CANNOT_TARGET_CRITERION" | "CANNOT_TARGET_OBSOLETE_CRITERION" | "CRITERION_ID_AND_TYPE_MISMATCH" | "INVALID_PROXIMITY_RADIUS" | "INVALID_PROXIMITY_RADIUS_UNITS" | "INVALID_STREETADDRESS_LENGTH" | "INVALID_CITYNAME_LENGTH" | "INVALID_REGIONCODE_LENGTH" | "INVALID_REGIONNAME_LENGTH" | "INVALID_POSTALCODE_LENGTH" | "INVALID_COUNTRY_CODE" | "INVALID_LATITUDE" | "INVALID_LONGITUDE" | "PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL" | "INVALID_PROXIMITY_ADDRESS" | "INVALID_USER_DOMAIN_NAME" | "CRITERION_PARAMETER_TOO_LONG" | "AD_SCHEDULE_TIME_INTERVALS_OVERLAP" | "AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS" | "AD_SCHEDULE_INVALID_TIME_INTERVAL" | "AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT" | "AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS" | "CANNOT_BID_MODIFY_CRITERION_TYPE" | "CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT" | "CANNOT_BID_MODIFY_NEGATIVE_CRITERION" | "BID_MODIFIER_ALREADY_EXISTS" | "FEED_ID_NOT_ALLOWED" | "ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE" | "CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY" | "CANNOT_EXCLUDE_CRITERION" | "CANNOT_REMOVE_CRITERION" | "INVALID_PRODUCT_BIDDING_CATEGORY" | "MISSING_SHOPPING_SETTING" | "INVALID_MATCHING_FUNCTION" | "LOCATION_FILTER_NOT_ALLOWED" | "INVALID_FEED_FOR_LOCATION_FILTER" | "LOCATION_FILTER_INVALID" | "CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_FEED_ITEM_SETS" | "CANNOT_SET_BOTH_ASSET_SET_AND_FEED" | "CANNOT_SET_FEED_OR_FEED_ITEM_SETS_FOR_CUSTOMER" | "CANNOT_SET_ASSET_SET_FIELD_FOR_CUSTOMER" | "CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_ASSET_SETS" | "CANNOT_SET_ASSET_SETS_WITH_FEED_ITEM_SETS" | "INVALID_LOCATION_GROUP_ASSET_SET" | "INVALID_LOCATION_GROUP_RADIUS" | "INVALID_LOCATION_GROUP_RADIUS_UNIT" | "CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP" | "HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION" | "HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION" | "FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING" | "INVALID_WEBPAGE_CONDITION" | "INVALID_WEBPAGE_CONDITION_URL" | "WEBPAGE_CONDITION_URL_CANNOT_BE_EMPTY" | "WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL" | "WEBPAGE_CONDITION_URL_CANNOT_BE_IP_ADDRESS" | "WEBPAGE_CONDITION_URL_DOMAIN_NOT_CONSISTENT_WITH_CAMPAIGN_SETTING" | "WEBPAGE_CONDITION_URL_CANNOT_BE_PUBLIC_SUFFIX" | "WEBPAGE_CONDITION_URL_INVALID_PUBLIC_SUFFIX" | "WEBPAGE_CONDITION_URL_VALUE_TRACK_VALUE_NOT_SUPPORTED" | "WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION" | "WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP" | "CANNOT_TARGET_USER_LIST_FOR_SMART_DISPLAY_CAMPAIGNS" | "CANNOT_TARGET_PLACEMENTS_FOR_SEARCH_CAMPAIGNS" | "LISTING_SCOPE_TOO_MANY_DIMENSION_TYPES" | "LISTING_SCOPE_TOO_MANY_IN_OPERATORS" | "LISTING_SCOPE_IN_OPERATOR_NOT_SUPPORTED" | "DUPLICATE_LISTING_DIMENSION_TYPE" | "DUPLICATE_LISTING_DIMENSION_VALUE" | "CANNOT_SET_BIDS_ON_LISTING_GROUP_SUBDIVISION" | "LISTING_GROUP_ERROR_IN_ANOTHER_OPERATION" | "INVALID_LISTING_GROUP_HIERARCHY" | "LISTING_GROUP_TREE_WAS_INVALID_BEFORE_MUTATION" | "LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN" | "LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE" | "LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS" | "LISTING_GROUP_ALREADY_EXISTS" | "LISTING_GROUP_DOES_NOT_EXIST" | "LISTING_GROUP_CANNOT_BE_REMOVED" | "INVALID_LISTING_GROUP_TYPE" | "LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID" | "LISTING_SCOPE_TOO_LONG" | "LISTING_SCOPE_TOO_MANY_DIMENSIONS" | "LISTING_GROUP_TOO_LONG" | "LISTING_GROUP_TREE_TOO_DEEP" | "INVALID_LISTING_DIMENSION" | "INVALID_LISTING_DIMENSION_TYPE" | "ADVERTISER_NOT_ON_ALLOWLIST_FOR_COMBINED_AUDIENCE_ON_DISPLAY" | "CANNOT_TARGET_REMOVED_COMBINED_AUDIENCE" | "INVALID_COMBINED_AUDIENCE_ID" | "CANNOT_TARGET_REMOVED_CUSTOM_AUDIENCE" | "HOTEL_CHECK_IN_DATE_RANGE_OVERLAPS_WITH_EXISTING_CRITERION" | "HOTEL_CHECK_IN_DATE_RANGE_START_DATE_TOO_EARLY" | "HOTEL_CHECK_IN_DATE_RANGE_END_DATE_TOO_LATE" | "HOTEL_CHECK_IN_DATE_RANGE_REVERSED" | "BROAD_MATCH_MODIFIER_KEYWORD_NOT_ALLOWED" | "ONE_AUDIENCE_ALLOWED_PER_ASSET_GROUP" | "AUDIENCE_NOT_ELIGIBLE_FOR_CAMPAIGN_TYPE" | "AUDIENCE_NOT_ALLOWED_TO_ATTACH_WHEN_AUDIENCE_GROUPED_SET_TO_FALSE" | "CANNOT_TARGET_CUSTOMER_MATCH_USER_LIST" | "NEGATIVE_KEYWORD_SHARED_SET_DOES_NOT_EXIST" | "CANNOT_ADD_REMOVED_NEGATIVE_KEYWORD_SHARED_SET" | "CANNOT_HAVE_MULTIPLE_NEGATIVE_KEYWORD_LIST_PER_ACCOUNT" | "CUSTOMER_CANNOT_ADD_CRITERION_OF_THIS_TYPE" | "CANNOT_TARGET_SIMILAR_USER_LIST" | "CANNOT_ADD_AUDIENCE_SEGMENT_CRITERION_WHEN_AUDIENCE_GROUPED_IS_SET" | "ONE_AUDIENCE_ALLOWED_PER_AD_GROUP" | "INVALID_DETAILED_DEMOGRAPHIC" | "CANNOT_RECOGNIZE_BRAND" | "BRAND_SHARED_SET_DOES_NOT_EXIST" | "CANNOT_ADD_REMOVED_BRAND_SHARED_SET" | "ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE" | "LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN" | "ONLY_INCLUSION_BRAND_LIST_ALLOWED_FOR_AD_GROUPS" | "CANNOT_ADD_REMOVED_PLACEMENT_LIST_SHARED_SET" | "PLACEMENT_LIST_SHARED_SET_DOES_NOT_EXIST" | "AI_MAX_MUST_BE_ENABLED" | "NOT_AVAILABLE_FOR_AI_MAX_CAMPAIGNS" | "MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION" | "INVALID_CAMPAIGN_TYPE_FOR_THIRD_PARTY_PARTNER_DATA_LIST" | "CANNOT_ADD_USER_LIST_PENDING_PRIVACY_REVIEW" | "VERTICAL_ADS_ITEM_GROUP_RULE_LIST_DOES_NOT_EXIST" | "CANNOT_ADD_REMOVED_VERTICAL_ADS_ITEM_GROUP_RULE_LIST_SHARED_SET" | "VERTICAL_ADS_ITEM_GROUP_RULE_LIST_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_ENABLED_TRAVEL_FEED" | "VERTICAL_ADS_ITEM_GROUP_RULE_LIST_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_AI_MAX" | "VERTICAL_ADS_ITEM_GROUP_RULE_NOT_SUPPORTED_FOR_THE_VERTICAL_TYPE"; /** * The reasons for the currency code error */ currencyCodeError?: | "UNSPECIFIED" | "UNKNOWN" | "UNSUPPORTED"; /** * The reasons for the currency errors. */ currencyError?: | "UNSPECIFIED" | "UNKNOWN" | "VALUE_NOT_MULTIPLE_OF_BILLABLE_UNIT"; /** * The reasons for the custom audience error */ customAudienceError?: | "UNSPECIFIED" | "UNKNOWN" | "NAME_ALREADY_USED" | "CANNOT_REMOVE_WHILE_IN_USE" | "RESOURCE_ALREADY_REMOVED" | "MEMBER_TYPE_AND_PARAMETER_ALREADY_EXISTED" | "INVALID_MEMBER_TYPE" | "MEMBER_TYPE_AND_VALUE_DOES_NOT_MATCH" | "POLICY_VIOLATION" | "INVALID_TYPE_CHANGE"; /** * The reasons for the custom column error */ customColumnError?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOM_COLUMN_NOT_FOUND" | "CUSTOM_COLUMN_NOT_AVAILABLE"; /** * The reasons for the custom conversion goal error */ customConversionGoalError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_CONVERSION_ACTION" | "CONVERSION_ACTION_NOT_ENABLED" | "CANNOT_REMOVE_LINKED_CUSTOM_CONVERSION_GOAL" | "CUSTOM_GOAL_DUPLICATE_NAME" | "DUPLICATE_CONVERSION_ACTION_LIST" | "NON_BIDDABLE_CONVERSION_ACTION_NOT_ELIGIBLE_FOR_CUSTOM_GOAL"; /** * The reasons for the customer client link error */ customerClientLinkError?: | "UNSPECIFIED" | "UNKNOWN" | "CLIENT_ALREADY_INVITED_BY_THIS_MANAGER" | "CLIENT_ALREADY_MANAGED_IN_HIERARCHY" | "CYCLIC_LINK_NOT_ALLOWED" | "CUSTOMER_HAS_TOO_MANY_ACCOUNTS" | "CLIENT_HAS_TOO_MANY_INVITATIONS" | "CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS" | "CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER" | "CLIENT_HAS_TOO_MANY_MANAGERS"; /** * The reasons for the customer customizer error. */ customerCustomizerError?: | "UNSPECIFIED" | "UNKNOWN"; /** * The reasons for the customer error */ customerError?: | "UNSPECIFIED" | "UNKNOWN" | "STATUS_CHANGE_DISALLOWED" | "ACCOUNT_NOT_SET_UP" | "CREATION_DENIED_FOR_POLICY_VIOLATION" | "CREATION_DENIED_INELIGIBLE_MCC"; /** * The reasons for the customer feed error */ customerFeedError?: | "UNSPECIFIED" | "UNKNOWN" | "FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE" | "CANNOT_CREATE_FOR_REMOVED_FEED" | "CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED" | "CANNOT_MODIFY_REMOVED_CUSTOMER_FEED" | "INVALID_PLACEHOLDER_TYPE" | "MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE" | "PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED"; /** * The reasons for the customer lifecycle goal error */ customerLifecycleGoalError?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER_ACQUISITION_VALUE_MISSING" | "CUSTOMER_ACQUISITION_INVALID_VALUE" | "CUSTOMER_ACQUISITION_INVALID_HIGH_LIFETIME_VALUE" | "CUSTOMER_ACQUISITION_VALUE_CANNOT_BE_CLEARED" | "CUSTOMER_ACQUISITION_HIGH_LIFETIME_VALUE_CANNOT_BE_CLEARED" | "INVALID_EXISTING_USER_LIST" | "INVALID_HIGH_LIFETIME_VALUE_USER_LIST"; /** * The reasons for the customer manager link error */ customerManagerLinkError?: | "UNSPECIFIED" | "UNKNOWN" | "NO_PENDING_INVITE" | "SAME_CLIENT_MORE_THAN_ONCE_PER_CALL" | "MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS" | "CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER" | "CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER" | "CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER" | "CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT" | "DUPLICATE_CHILD_FOUND" | "TEST_ACCOUNT_LINKS_TOO_MANY_CHILD_ACCOUNTS"; /** * The reasons for the customer SK Ad network conversion value schema error */ customerSkAdNetworkConversionValueSchemaError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_LINK_ID" | "INVALID_APP_ID" | "INVALID_SCHEMA" | "LINK_CODE_NOT_FOUND" | "INVALID_EVENT_COUNTER" | "INVALID_EVENT_NAME"; /** * The reasons for the customer user access mutate error */ customerUserAccessError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_USER_ID" | "REMOVAL_DISALLOWED" | "DISALLOWED_ACCESS_ROLE" | "LAST_ADMIN_USER_OF_SERVING_CUSTOMER" | "LAST_ADMIN_USER_OF_MANAGER"; /** * The reasons for the custom interest error */ customInterestError?: | "UNSPECIFIED" | "UNKNOWN" | "NAME_ALREADY_USED" | "CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE" | "TYPE_AND_PARAMETER_NOT_FOUND" | "TYPE_AND_PARAMETER_ALREADY_EXISTED" | "INVALID_CUSTOM_INTEREST_MEMBER_TYPE" | "CANNOT_REMOVE_WHILE_IN_USE" | "CANNOT_CHANGE_TYPE"; /** * The reasons for the customizer attribute error. */ customizerAttributeError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_CUSTOMIZER_ATTRIBUTE_NAME"; /** * The reasons for the database error. */ databaseError?: | "UNSPECIFIED" | "UNKNOWN" | "CONCURRENT_MODIFICATION" | "DATA_CONSTRAINT_VIOLATION" | "REQUEST_TOO_LARGE"; /** * The reasons for the data link error */ dataLinkError?: | "UNSPECIFIED" | "UNKNOWN" | "YOUTUBE_CHANNEL_ID_INVALID" | "YOUTUBE_VIDEO_ID_INVALID" | "YOUTUBE_VIDEO_FROM_DIFFERENT_CHANNEL" | "PERMISSION_DENIED" | "INVALID_STATUS" | "INVALID_UPDATE_STATUS" | "INVALID_RESOURCE_NAME"; /** * The reasons for the date error */ dateError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_FIELD_VALUES_IN_DATE" | "INVALID_FIELD_VALUES_IN_DATE_TIME" | "INVALID_STRING_DATE" | "INVALID_STRING_DATE_TIME_MICROS" | "INVALID_STRING_DATE_TIME_SECONDS" | "INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET" | "EARLIER_THAN_MINIMUM_DATE" | "LATER_THAN_MAXIMUM_DATE" | "DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE" | "DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL" | "DATE_RANGE_ERROR_START_TIME_MUST_BE_THE_START_OF_A_DAY" | "DATE_RANGE_ERROR_END_TIME_MUST_BE_THE_END_OF_A_DAY"; /** * The reasons for the date range error */ dateRangeError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_DATE" | "START_DATE_AFTER_END_DATE" | "CANNOT_SET_DATE_TO_PAST" | "AFTER_MAXIMUM_ALLOWABLE_DATE" | "CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED"; /** * The reasons for the distinct error */ distinctError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_ELEMENT" | "DUPLICATE_TYPE"; /** * The reason for enum error. */ enumError?: | "UNSPECIFIED" | "UNKNOWN" | "ENUM_VALUE_NOT_PERMITTED"; /** * The reasons for the experiment arm error */ experimentArmError?: | "UNSPECIFIED" | "UNKNOWN" | "EXPERIMENT_ARM_COUNT_LIMIT_EXCEEDED" | "INVALID_CAMPAIGN_STATUS" | "DUPLICATE_EXPERIMENT_ARM_NAME" | "CANNOT_SET_TREATMENT_ARM_CAMPAIGN" | "CANNOT_MODIFY_CAMPAIGN_IDS" | "CANNOT_MODIFY_CAMPAIGN_WITHOUT_SUFFIX_SET" | "CANNOT_MUTATE_TRAFFIC_SPLIT_AFTER_START" | "CANNOT_ADD_CAMPAIGN_WITH_SHARED_BUDGET" | "CANNOT_ADD_CAMPAIGN_WITH_CUSTOM_BUDGET" | "CANNOT_ADD_CAMPAIGNS_WITH_DYNAMIC_ASSETS_ENABLED" | "UNSUPPORTED_CAMPAIGN_ADVERTISING_CHANNEL_SUB_TYPE" | "CANNOT_ADD_BASE_CAMPAIGN_WITH_DATE_RANGE" | "BIDDING_STRATEGY_NOT_SUPPORTED_IN_EXPERIMENTS" | "TRAFFIC_SPLIT_NOT_SUPPORTED_FOR_CHANNEL_TYPE"; /** * The reasons for the experiment error */ experimentError?: | "UNSPECIFIED" | "UNKNOWN" | "CANNOT_SET_START_DATE_IN_PAST" | "END_DATE_BEFORE_START_DATE" | "START_DATE_TOO_FAR_IN_FUTURE" | "DUPLICATE_EXPERIMENT_NAME" | "CANNOT_MODIFY_REMOVED_EXPERIMENT" | "START_DATE_ALREADY_PASSED" | "CANNOT_SET_END_DATE_IN_PAST" | "CANNOT_SET_STATUS_TO_REMOVED" | "CANNOT_MODIFY_PAST_END_DATE" | "INVALID_STATUS" | "INVALID_CAMPAIGN_CHANNEL_TYPE" | "OVERLAPPING_MEMBERS_AND_DATE_RANGE" | "INVALID_TRIAL_ARM_TRAFFIC_SPLIT" | "TRAFFIC_SPLIT_OVERLAPPING" | "SUM_TRIAL_ARM_TRAFFIC_UNEQUALS_TO_TRIAL_TRAFFIC_SPLIT_DENOMINATOR" | "CANNOT_MODIFY_TRAFFIC_SPLIT_AFTER_START" | "EXPERIMENT_NOT_FOUND" | "EXPERIMENT_NOT_YET_STARTED" | "CANNOT_HAVE_MULTIPLE_CONTROL_ARMS" | "IN_DESIGN_CAMPAIGNS_NOT_SET" | "CANNOT_SET_STATUS_TO_GRADUATED" | "CANNOT_CREATE_EXPERIMENT_CAMPAIGN_WITH_SHARED_BUDGET" | "CANNOT_CREATE_EXPERIMENT_CAMPAIGN_WITH_CUSTOM_BUDGET" | "STATUS_TRANSITION_INVALID" | "DUPLICATE_EXPERIMENT_CAMPAIGN_NAME" | "CANNOT_REMOVE_IN_CREATION_EXPERIMENT" | "CANNOT_ADD_CAMPAIGN_WITH_DEPRECATED_AD_TYPES" | "CANNOT_ENABLE_SYNC_FOR_UNSUPPORTED_EXPERIMENT_TYPE" | "INVALID_DURATION_FOR_AN_EXPERIMENT" | "MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION"; /** * The reasons for the extension feed item error */ extensionFeedItemError?: | "UNSPECIFIED" | "UNKNOWN" | "VALUE_OUT_OF_RANGE" | "URL_LIST_TOO_LONG" | "CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING" | "CANNOT_SET_WITH_FINAL_URLS" | "CANNOT_SET_WITHOUT_FINAL_URLS" | "INVALID_PHONE_NUMBER" | "PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY" | "CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED" | "PREMIUM_RATE_NUMBER_NOT_ALLOWED" | "DISALLOWED_NUMBER_TYPE" | "INVALID_DOMESTIC_PHONE_NUMBER_FORMAT" | "VANITY_PHONE_NUMBER_NOT_ALLOWED" | "INVALID_CALL_CONVERSION_ACTION" | "CUSTOMER_NOT_ON_ALLOWLIST_FOR_CALLTRACKING" | "CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY" | "CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED" | "INVALID_APP_ID" | "QUOTES_IN_REVIEW_EXTENSION_SNIPPET" | "HYPHENS_IN_REVIEW_EXTENSION_SNIPPET" | "REVIEW_EXTENSION_SOURCE_INELIGIBLE" | "SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT" | "INCONSISTENT_CURRENCY_CODES" | "PRICE_EXTENSION_HAS_DUPLICATED_HEADERS" | "PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION" | "PRICE_EXTENSION_HAS_TOO_FEW_ITEMS" | "PRICE_EXTENSION_HAS_TOO_MANY_ITEMS" | "UNSUPPORTED_VALUE" | "UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE" | "INVALID_DEVICE_PREFERENCE" | "INVALID_SCHEDULE_END" | "DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE" | "INVALID_SNIPPETS_HEADER" | "CANNOT_OPERATE_ON_REMOVED_FEED_ITEM" | "PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY" | "CONFLICTING_CALL_CONVERSION_SETTINGS" | "EXTENSION_TYPE_MISMATCH" | "EXTENSION_SUBTYPE_REQUIRED" | "EXTENSION_TYPE_UNSUPPORTED" | "CANNOT_OPERATE_ON_FEED_WITH_MULTIPLE_MAPPINGS" | "CANNOT_OPERATE_ON_FEED_WITH_KEY_ATTRIBUTES" | "INVALID_PRICE_FORMAT" | "PROMOTION_INVALID_TIME" | "TOO_MANY_DECIMAL_PLACES_SPECIFIED" | "CONCRETE_EXTENSION_TYPE_REQUIRED" | "SCHEDULE_END_NOT_AFTER_START"; /** * The reasons for the extension setting error */ extensionSettingError?: | "UNSPECIFIED" | "UNKNOWN" | "EXTENSIONS_REQUIRED" | "FEED_TYPE_EXTENSION_TYPE_MISMATCH" | "INVALID_FEED_TYPE" | "INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING" | "CANNOT_CHANGE_FEED_ITEM_ON_CREATE" | "CANNOT_UPDATE_NEWLY_CREATED_EXTENSION" | "NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE" | "NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE" | "NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE" | "AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS" | "CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS" | "CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS" | "AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE" | "CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE" | "CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE" | "VALUE_OUT_OF_RANGE" | "CANNOT_SET_FIELD_WITH_FINAL_URLS" | "FINAL_URLS_NOT_SET" | "INVALID_PHONE_NUMBER" | "PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY" | "CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED" | "PREMIUM_RATE_NUMBER_NOT_ALLOWED" | "DISALLOWED_NUMBER_TYPE" | "INVALID_DOMESTIC_PHONE_NUMBER_FORMAT" | "VANITY_PHONE_NUMBER_NOT_ALLOWED" | "INVALID_COUNTRY_CODE" | "INVALID_CALL_CONVERSION_TYPE_ID" | "CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING" | "CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY" | "INVALID_APP_ID" | "QUOTES_IN_REVIEW_EXTENSION_SNIPPET" | "HYPHENS_IN_REVIEW_EXTENSION_SNIPPET" | "REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE" | "SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT" | "MISSING_FIELD" | "INCONSISTENT_CURRENCY_CODES" | "PRICE_EXTENSION_HAS_DUPLICATED_HEADERS" | "PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION" | "PRICE_EXTENSION_HAS_TOO_FEW_ITEMS" | "PRICE_EXTENSION_HAS_TOO_MANY_ITEMS" | "UNSUPPORTED_VALUE" | "INVALID_DEVICE_PREFERENCE" | "INVALID_SCHEDULE_END" | "DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE" | "OVERLAPPING_SCHEDULES_NOT_ALLOWED" | "SCHEDULE_END_NOT_AFTER_START" | "TOO_MANY_SCHEDULES_PER_DAY" | "DUPLICATE_EXTENSION_FEED_ITEM_EDIT" | "INVALID_SNIPPETS_HEADER" | "PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY" | "CAMPAIGN_TARGETING_MISMATCH" | "CANNOT_OPERATE_ON_REMOVED_FEED" | "EXTENSION_TYPE_REQUIRED" | "INCOMPATIBLE_UNDERLYING_MATCHING_FUNCTION" | "START_DATE_AFTER_END_DATE" | "INVALID_PRICE_FORMAT" | "PROMOTION_INVALID_TIME" | "PROMOTION_CANNOT_SET_PERCENT_DISCOUNT_AND_MONEY_DISCOUNT" | "PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT" | "TOO_MANY_DECIMAL_PLACES_SPECIFIED" | "INVALID_LANGUAGE_CODE" | "UNSUPPORTED_LANGUAGE" | "CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED" | "EXTENSION_SETTING_UPDATE_IS_A_NOOP" | "DISALLOWED_TEXT"; /** * The reasons for the feed attribute reference error */ feedAttributeReferenceError?: | "UNSPECIFIED" | "UNKNOWN" | "CANNOT_REFERENCE_REMOVED_FEED" | "INVALID_FEED_NAME" | "INVALID_FEED_ATTRIBUTE_NAME"; /** * The reasons for the feed error */ feedError?: | "UNSPECIFIED" | "UNKNOWN" | "ATTRIBUTE_NAMES_NOT_UNIQUE" | "ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES" | "CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED" | "CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED" | "CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED" | "CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE" | "FEED_REMOVED" | "INVALID_ORIGIN_VALUE" | "FEED_ORIGIN_IS_NOT_USER" | "INVALID_AUTH_TOKEN_FOR_EMAIL" | "INVALID_EMAIL" | "DUPLICATE_FEED_NAME" | "INVALID_FEED_NAME" | "MISSING_OAUTH_INFO" | "NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY" | "TOO_MANY_ATTRIBUTES" | "INVALID_BUSINESS_ACCOUNT" | "BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT" | "INVALID_AFFILIATE_CHAIN_ID" | "DUPLICATE_SYSTEM_FEED" | "GMB_ACCESS_ERROR" | "CANNOT_HAVE_LOCATION_AND_AFFILIATE_LOCATION_FEEDS" | "LEGACY_EXTENSION_TYPE_READ_ONLY"; /** * The reasons for the feed item error */ feedItemError?: | "UNSPECIFIED" | "UNKNOWN" | "CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING" | "CANNOT_OPERATE_ON_REMOVED_FEED_ITEM" | "DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE" | "KEY_ATTRIBUTES_NOT_FOUND" | "INVALID_URL" | "MISSING_KEY_ATTRIBUTES" | "KEY_ATTRIBUTES_NOT_UNIQUE" | "CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE" | "SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE" | "LEGACY_FEED_TYPE_READ_ONLY"; /** * The reasons for the feed item set error */ feedItemSetError?: | "UNSPECIFIED" | "UNKNOWN" | "FEED_ITEM_SET_REMOVED" | "CANNOT_CLEAR_DYNAMIC_FILTER" | "CANNOT_CREATE_DYNAMIC_FILTER" | "INVALID_FEED_TYPE" | "DUPLICATE_NAME" | "WRONG_DYNAMIC_FILTER_FOR_FEED_TYPE" | "DYNAMIC_FILTER_INVALID_CHAIN_IDS"; /** * The reasons for the feed item set link error */ feedItemSetLinkError?: | "UNSPECIFIED" | "UNKNOWN" | "FEED_ID_MISMATCH" | "NO_MUTATE_ALLOWED_FOR_DYNAMIC_SET"; /** * The reasons for the feed item target error */ feedItemTargetError?: | "UNSPECIFIED" | "UNKNOWN" | "MUST_SET_TARGET_ONEOF_ON_CREATE" | "FEED_ITEM_TARGET_ALREADY_EXISTS" | "FEED_ITEM_SCHEDULES_CANNOT_OVERLAP" | "TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE" | "TOO_MANY_SCHEDULES_PER_DAY" | "CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS" | "DUPLICATE_AD_SCHEDULE" | "DUPLICATE_KEYWORD"; /** * The reasons for the feed item validation error */ feedItemValidationError?: | "UNSPECIFIED" | "UNKNOWN" | "STRING_TOO_SHORT" | "STRING_TOO_LONG" | "VALUE_NOT_SPECIFIED" | "INVALID_DOMESTIC_PHONE_NUMBER_FORMAT" | "INVALID_PHONE_NUMBER" | "PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY" | "PREMIUM_RATE_NUMBER_NOT_ALLOWED" | "DISALLOWED_NUMBER_TYPE" | "VALUE_OUT_OF_RANGE" | "CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY" | "CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING" | "INVALID_COUNTRY_CODE" | "INVALID_APP_ID" | "MISSING_ATTRIBUTES_FOR_FIELDS" | "INVALID_TYPE_ID" | "INVALID_EMAIL_ADDRESS" | "INVALID_HTTPS_URL" | "MISSING_DELIVERY_ADDRESS" | "START_DATE_AFTER_END_DATE" | "MISSING_FEED_ITEM_START_TIME" | "MISSING_FEED_ITEM_END_TIME" | "MISSING_FEED_ITEM_ID" | "VANITY_PHONE_NUMBER_NOT_ALLOWED" | "INVALID_REVIEW_EXTENSION_SNIPPET" | "INVALID_NUMBER_FORMAT" | "INVALID_DATE_FORMAT" | "INVALID_PRICE_FORMAT" | "UNKNOWN_PLACEHOLDER_FIELD" | "MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE" | "REVIEW_EXTENSION_SOURCE_INELIGIBLE" | "HYPHENS_IN_REVIEW_EXTENSION_SNIPPET" | "DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET" | "QUOTES_IN_REVIEW_EXTENSION_SNIPPET" | "INVALID_FORM_ENCODED_PARAMS" | "INVALID_URL_PARAMETER_NAME" | "NO_GEOCODING_RESULT" | "SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT" | "CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED" | "INVALID_PLACEHOLDER_FIELD_ID" | "INVALID_URL_TAG" | "LIST_TOO_LONG" | "INVALID_ATTRIBUTES_COMBINATION" | "DUPLICATE_VALUES" | "INVALID_CALL_CONVERSION_ACTION_ID" | "CANNOT_SET_WITHOUT_FINAL_URLS" | "APP_ID_DOESNT_EXIST_IN_APP_STORE" | "INVALID_FINAL_URL" | "INVALID_TRACKING_URL" | "INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL" | "LIST_TOO_SHORT" | "INVALID_USER_ACTION" | "INVALID_TYPE_NAME" | "INVALID_EVENT_CHANGE_STATUS" | "INVALID_SNIPPETS_HEADER" | "INVALID_ANDROID_APP_LINK" | "NUMBER_TYPE_WITH_CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY" | "RESERVED_KEYWORD_OTHER" | "DUPLICATE_OPTION_LABELS" | "DUPLICATE_OPTION_PREFILLS" | "UNEQUAL_LIST_LENGTHS" | "INCONSISTENT_CURRENCY_CODES" | "PRICE_EXTENSION_HAS_DUPLICATED_HEADERS" | "ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION" | "PRICE_EXTENSION_HAS_TOO_FEW_ITEMS" | "UNSUPPORTED_VALUE" | "INVALID_FINAL_MOBILE_URL" | "INVALID_KEYWORDLESS_AD_RULE_LABEL" | "VALUE_TRACK_PARAMETER_NOT_SUPPORTED" | "UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE" | "INVALID_IOS_APP_LINK" | "MISSING_IOS_APP_LINK_OR_IOS_APP_STORE_ID" | "PROMOTION_INVALID_TIME" | "PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF" | "PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT" | "TOO_MANY_DECIMAL_PLACES_SPECIFIED" | "AD_CUSTOMIZERS_NOT_ALLOWED" | "INVALID_LANGUAGE_CODE" | "UNSUPPORTED_LANGUAGE" | "IF_FUNCTION_NOT_ALLOWED" | "INVALID_FINAL_URL_SUFFIX" | "INVALID_TAG_IN_FINAL_URL_SUFFIX" | "INVALID_FINAL_URL_SUFFIX_FORMAT" | "CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED" | "ONLY_ONE_DELIVERY_OPTION_IS_ALLOWED" | "NO_DELIVERY_OPTION_IS_SET" | "INVALID_CONVERSION_REPORTING_STATE" | "IMAGE_SIZE_WRONG" | "EMAIL_DELIVERY_NOT_AVAILABLE_IN_COUNTRY" | "AUTO_REPLY_NOT_AVAILABLE_IN_COUNTRY" | "INVALID_LATITUDE_VALUE" | "INVALID_LONGITUDE_VALUE" | "TOO_MANY_LABELS" | "INVALID_IMAGE_URL" | "MISSING_LATITUDE_VALUE" | "MISSING_LONGITUDE_VALUE" | "ADDRESS_NOT_FOUND" | "ADDRESS_NOT_TARGETABLE" | "INVALID_ASSET_ID" | "INCOMPATIBLE_ASSET_TYPE" | "IMAGE_ERROR_UNEXPECTED_SIZE" | "IMAGE_ERROR_ASPECT_RATIO_NOT_ALLOWED" | "IMAGE_ERROR_FILE_TOO_LARGE" | "IMAGE_ERROR_FORMAT_NOT_ALLOWED" | "IMAGE_ERROR_CONSTRAINTS_VIOLATED" | "IMAGE_ERROR_SERVER_ERROR"; /** * The reasons for the feed mapping error */ feedMappingError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_PLACEHOLDER_FIELD" | "INVALID_CRITERION_FIELD" | "INVALID_PLACEHOLDER_TYPE" | "INVALID_CRITERION_TYPE" | "NO_ATTRIBUTE_FIELD_MAPPINGS" | "FEED_ATTRIBUTE_TYPE_MISMATCH" | "CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED" | "MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE" | "MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE" | "MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD" | "MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD" | "UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS" | "LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS" | "CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED" | "INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED" | "INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE" | "ATTRIBUTE_FIELD_MAPPING_MISSING_FIELD" | "LEGACY_FEED_TYPE_READ_ONLY"; /** * The reasons for the field error */ fieldError?: | "UNSPECIFIED" | "UNKNOWN" | "REQUIRED" | "IMMUTABLE_FIELD" | "INVALID_VALUE" | "VALUE_MUST_BE_UNSET" | "REQUIRED_NONEMPTY_LIST" | "FIELD_CANNOT_BE_CLEARED" | "BLOCKED_VALUE" | "FIELD_CAN_ONLY_BE_CLEARED"; /** * An error with a field mask */ fieldMaskError?: | "UNSPECIFIED" | "UNKNOWN" | "FIELD_MASK_MISSING" | "FIELD_MASK_NOT_ALLOWED" | "FIELD_NOT_FOUND" | "FIELD_HAS_SUBFIELDS"; /** * The reasons for the final url expansion asset view error */ finalUrlExpansionAssetViewError?: | "UNSPECIFIED" | "UNKNOWN" | "MISSING_REQUIRED_FILTER" | "REQUIRES_ADVERTISING_CHANNEL_TYPE_FILTER" | "INVALID_ADVERTISING_CHANNEL_TYPE_IN_FILTER" | "CANNOT_SELECT_ASSET_GROUP" | "CANNOT_SELECT_AD_GROUP" | "REQUIRES_FILTER_BY_SINGLE_RESOURCE" | "CANNOT_SELECT_BOTH_AD_GROUP_AND_ASSET_GROUP" | "CANNOT_FILTER_BY_BOTH_AD_GROUP_AND_ASSET_GROUP"; /** * The reasons for the function error */ functionError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_FUNCTION_FORMAT" | "DATA_TYPE_MISMATCH" | "INVALID_CONJUNCTION_OPERANDS" | "INVALID_NUMBER_OF_OPERANDS" | "INVALID_OPERAND_TYPE" | "INVALID_OPERATOR" | "INVALID_REQUEST_CONTEXT_TYPE" | "INVALID_FUNCTION_FOR_CALL_PLACEHOLDER" | "INVALID_FUNCTION_FOR_PLACEHOLDER" | "INVALID_OPERAND" | "MISSING_CONSTANT_OPERAND_VALUE" | "INVALID_CONSTANT_OPERAND_VALUE" | "INVALID_NESTING" | "MULTIPLE_FEED_IDS_NOT_SUPPORTED" | "INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA" | "INVALID_ATTRIBUTE_NAME"; /** * The reasons for the function parsing error */ functionParsingError?: | "UNSPECIFIED" | "UNKNOWN" | "NO_MORE_INPUT" | "EXPECTED_CHARACTER" | "UNEXPECTED_SEPARATOR" | "UNMATCHED_LEFT_BRACKET" | "UNMATCHED_RIGHT_BRACKET" | "TOO_MANY_NESTED_FUNCTIONS" | "MISSING_RIGHT_HAND_OPERAND" | "INVALID_OPERATOR_NAME" | "FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER" | "NO_OPERANDS" | "TOO_MANY_OPERANDS"; /** * The reasons for the geo target constant suggestion error. */ geoTargetConstantSuggestionError?: | "UNSPECIFIED" | "UNKNOWN" | "LOCATION_NAME_SIZE_LIMIT" | "LOCATION_NAME_LIMIT" | "INVALID_COUNTRY_CODE" | "REQUEST_PARAMETERS_UNSET"; /** * The reasons for the goal error. */ goalError?: | "UNSPECIFIED" | "UNKNOWN" | "RETENTION_GOAL_ALREADY_EXISTS" | "HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT" | "HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE" | "CUSTOMER_LIFECYCLE_OPTIMIZATION_ACCOUNT_TYPE_NOT_ALLOWED"; /** * The reasons for the header error. */ headerError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_LOGIN_CUSTOMER_ID" | "INVALID_LINKED_CUSTOMER_ID"; /** * The reasons for an identity verification error. */ identityVerificationError?: | "UNSPECIFIED" | "UNKNOWN" | "NO_EFFECTIVE_BILLING" | "BILLING_NOT_ON_MONTHLY_INVOICING" | "VERIFICATION_ALREADY_STARTED"; /** * The reasons for the id error */ idError?: | "UNSPECIFIED" | "UNKNOWN" | "NOT_FOUND"; /** * The reasons for the image error */ imageError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_IMAGE" | "STORAGE_ERROR" | "BAD_REQUEST" | "UNEXPECTED_SIZE" | "ANIMATED_NOT_ALLOWED" | "ANIMATION_TOO_LONG" | "SERVER_ERROR" | "CMYK_JPEG_NOT_ALLOWED" | "FLASH_NOT_ALLOWED" | "FLASH_WITHOUT_CLICKTAG" | "FLASH_ERROR_AFTER_FIXING_CLICK_TAG" | "ANIMATED_VISUAL_EFFECT" | "FLASH_ERROR" | "LAYOUT_PROBLEM" | "PROBLEM_READING_IMAGE_FILE" | "ERROR_STORING_IMAGE" | "ASPECT_RATIO_NOT_ALLOWED" | "FLASH_HAS_NETWORK_OBJECTS" | "FLASH_HAS_NETWORK_METHODS" | "FLASH_HAS_URL" | "FLASH_HAS_MOUSE_TRACKING" | "FLASH_HAS_RANDOM_NUM" | "FLASH_SELF_TARGETS" | "FLASH_BAD_GETURL_TARGET" | "FLASH_VERSION_NOT_SUPPORTED" | "FLASH_WITHOUT_HARD_CODED_CLICK_URL" | "INVALID_FLASH_FILE" | "FAILED_TO_FIX_CLICK_TAG_IN_FLASH" | "FLASH_ACCESSES_NETWORK_RESOURCES" | "FLASH_EXTERNAL_JS_CALL" | "FLASH_EXTERNAL_FS_CALL" | "FILE_TOO_LARGE" | "IMAGE_DATA_TOO_LARGE" | "IMAGE_PROCESSING_ERROR" | "IMAGE_TOO_SMALL" | "INVALID_INPUT" | "PROBLEM_READING_FILE" | "IMAGE_CONSTRAINTS_VIOLATED" | "FORMAT_NOT_ALLOWED"; /** * The reasons for the incentive error */ incentiveError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_INCENTIVE_ID"; /** * An unexpected server-side error. */ internalError?: | "UNSPECIFIED" | "UNKNOWN" | "INTERNAL_ERROR" | "ERROR_CODE_NOT_PUBLISHED" | "TRANSIENT_ERROR" | "DEADLINE_EXCEEDED"; /** * The reasons for invalid parameter errors. */ invalidParameterError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_CURRENCY_CODE"; /** * The reasons for the invoice error */ invoiceError?: | "UNSPECIFIED" | "UNKNOWN" | "YEAR_MONTH_TOO_OLD" | "NOT_INVOICED_CUSTOMER" | "BILLING_SETUP_NOT_APPROVED" | "BILLING_SETUP_NOT_ON_MONTHLY_INVOICING" | "NON_SERVING_CUSTOMER"; /** * The reason for keyword plan ad group error. */ keywordPlanAdGroupError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_NAME" | "DUPLICATE_NAME"; /** * The reason for keyword plan ad group keyword error. */ keywordPlanAdGroupKeywordError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_KEYWORD_MATCH_TYPE" | "DUPLICATE_KEYWORD" | "KEYWORD_TEXT_TOO_LONG" | "KEYWORD_HAS_INVALID_CHARS" | "KEYWORD_HAS_TOO_MANY_WORDS" | "INVALID_KEYWORD_TEXT" | "NEGATIVE_KEYWORD_HAS_CPC_BID" | "NEW_BMM_KEYWORDS_NOT_ALLOWED"; /** * The reason for keyword plan campaign error. */ keywordPlanCampaignError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_NAME" | "INVALID_LANGUAGES" | "INVALID_GEOS" | "DUPLICATE_NAME" | "MAX_GEOS_EXCEEDED" | "MAX_LANGUAGES_EXCEEDED"; /** * The reason for keyword plan campaign keyword error. */ keywordPlanCampaignKeywordError?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_KEYWORD_IS_POSITIVE"; /** * The reason for keyword plan error. */ keywordPlanError?: | "UNSPECIFIED" | "UNKNOWN" | "BID_MULTIPLIER_OUT_OF_RANGE" | "BID_TOO_HIGH" | "BID_TOO_LOW" | "BID_TOO_MANY_FRACTIONAL_DIGITS" | "DAILY_BUDGET_TOO_LOW" | "DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS" | "INVALID_VALUE" | "KEYWORD_PLAN_HAS_NO_KEYWORDS" | "KEYWORD_PLAN_NOT_ENABLED" | "KEYWORD_PLAN_NOT_FOUND" | "MISSING_BID" | "MISSING_FORECAST_PERIOD" | "INVALID_FORECAST_DATE_RANGE" | "INVALID_NAME"; /** * The reason for keyword idea error. */ keywordPlanIdeaError?: | "UNSPECIFIED" | "UNKNOWN" | "URL_CRAWL_ERROR" | "INVALID_VALUE"; /** * The reason for the label error. */ labelError?: | "UNSPECIFIED" | "UNKNOWN" | "CANNOT_APPLY_INACTIVE_LABEL" | "CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION" | "CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION" | "EXCEEDED_LABEL_LIMIT_PER_TYPE" | "INVALID_RESOURCE_FOR_MANAGER_LABEL" | "DUPLICATE_NAME" | "INVALID_LABEL_NAME" | "CANNOT_ATTACH_LABEL_TO_DRAFT" | "CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER"; /** * The reasons for the language code error */ languageCodeError?: | "UNSPECIFIED" | "UNKNOWN" | "LANGUAGE_CODE_NOT_FOUND" | "INVALID_LANGUAGE_CODE"; /** * An error with a list operation. */ listOperationError?: | "UNSPECIFIED" | "UNKNOWN" | "REQUIRED_FIELD_MISSING" | "DUPLICATE_VALUES"; /** * The reasons for the manager link error */ managerLinkError?: | "UNSPECIFIED" | "UNKNOWN" | "ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING" | "TOO_MANY_MANAGERS" | "TOO_MANY_INVITES" | "ALREADY_INVITED_BY_THIS_MANAGER" | "ALREADY_MANAGED_BY_THIS_MANAGER" | "ALREADY_MANAGED_IN_HIERARCHY" | "DUPLICATE_CHILD_FOUND" | "CLIENT_HAS_NO_ADMIN_USER" | "MAX_DEPTH_EXCEEDED" | "CYCLE_NOT_ALLOWED" | "TOO_MANY_ACCOUNTS" | "TOO_MANY_ACCOUNTS_AT_MANAGER" | "NON_OWNER_USER_CANNOT_MODIFY_LINK" | "SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS" | "CLIENT_OUTSIDE_TREE" | "INVALID_STATUS_CHANGE" | "INVALID_CHANGE" | "CUSTOMER_CANNOT_MANAGE_SELF" | "CREATING_ENABLED_LINK_NOT_ALLOWED"; /** * The reasons for the media bundle error */ mediaBundleError?: | "UNSPECIFIED" | "UNKNOWN" | "BAD_REQUEST" | "DOUBLECLICK_BUNDLE_NOT_ALLOWED" | "EXTERNAL_URL_NOT_ALLOWED" | "FILE_TOO_LARGE" | "GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED" | "INVALID_INPUT" | "INVALID_MEDIA_BUNDLE" | "INVALID_MEDIA_BUNDLE_ENTRY" | "INVALID_MIME_TYPE" | "INVALID_PATH" | "INVALID_URL_REFERENCE" | "MEDIA_DATA_TOO_LARGE" | "MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY" | "SERVER_ERROR" | "STORAGE_ERROR" | "SWIFFY_BUNDLE_NOT_ALLOWED" | "TOO_MANY_FILES" | "UNEXPECTED_SIZE" | "UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT" | "UNSUPPORTED_HTML5_FEATURE" | "URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT" | "CUSTOM_EXIT_NOT_ALLOWED"; /** * The reasons for the media file error */ mediaFileError?: | "UNSPECIFIED" | "UNKNOWN" | "CANNOT_CREATE_STANDARD_ICON" | "CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES" | "CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA" | "DUPLICATE_MEDIA" | "EMPTY_FIELD" | "RESOURCE_REFERENCED_IN_MULTIPLE_OPS" | "FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE" | "INVALID_MEDIA_FILE_ID" | "INVALID_MEDIA_SUB_TYPE" | "INVALID_MEDIA_FILE_TYPE" | "INVALID_MIME_TYPE" | "INVALID_REFERENCE_ID" | "INVALID_YOU_TUBE_ID" | "MEDIA_FILE_FAILED_TRANSCODING" | "MEDIA_NOT_TRANSCODED" | "MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE" | "NO_FIELDS_SPECIFIED" | "NULL_REFERENCE_ID_AND_MEDIA_ID" | "TOO_LONG" | "UNSUPPORTED_TYPE" | "YOU_TUBE_SERVICE_UNAVAILABLE" | "YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION" | "YOU_TUBE_VIDEO_NOT_FOUND"; /** * The reasons for media uploading errors. */ mediaUploadError?: | "UNSPECIFIED" | "UNKNOWN" | "FILE_TOO_BIG" | "UNPARSEABLE_IMAGE" | "ANIMATED_IMAGE_NOT_ALLOWED" | "FORMAT_NOT_ALLOWED" | "EXTERNAL_URL_NOT_ALLOWED" | "INVALID_URL_REFERENCE" | "MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY" | "ANIMATED_VISUAL_EFFECT" | "ANIMATION_TOO_LONG" | "ASPECT_RATIO_NOT_ALLOWED" | "AUDIO_NOT_ALLOWED_IN_MEDIA_BUNDLE" | "CMYK_JPEG_NOT_ALLOWED" | "FLASH_NOT_ALLOWED" | "FRAME_RATE_TOO_HIGH" | "GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED" | "IMAGE_CONSTRAINTS_VIOLATED" | "INVALID_MEDIA_BUNDLE" | "INVALID_MEDIA_BUNDLE_ENTRY" | "INVALID_MIME_TYPE" | "INVALID_PATH" | "LAYOUT_PROBLEM" | "MALFORMED_URL" | "MEDIA_BUNDLE_NOT_ALLOWED" | "MEDIA_BUNDLE_NOT_COMPATIBLE_TO_PRODUCT_TYPE" | "MEDIA_BUNDLE_REJECTED_BY_MULTIPLE_ASSET_SPECS" | "TOO_MANY_FILES_IN_MEDIA_BUNDLE" | "UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT" | "UNSUPPORTED_HTML5_FEATURE" | "URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT" | "VIDEO_FILE_NAME_TOO_LONG" | "VIDEO_MULTIPLE_FILES_WITH_SAME_NAME" | "VIDEO_NOT_ALLOWED_IN_MEDIA_BUNDLE" | "CANNOT_UPLOAD_MEDIA_TYPE_THROUGH_API" | "DIMENSIONS_NOT_ALLOWED"; /** * Container for enum describing possible merchant center errors. */ merchantCenterError?: | "UNSPECIFIED" | "UNKNOWN" | "MERCHANT_ID_CANNOT_BE_ACCESSED" | "CUSTOMER_NOT_ALLOWED_FOR_SHOPPING_PERFORMANCE_MAX"; /** * The reasons for the multiplier error */ multiplierError?: | "UNSPECIFIED" | "UNKNOWN" | "MULTIPLIER_TOO_HIGH" | "MULTIPLIER_TOO_LOW" | "TOO_MANY_FRACTIONAL_DIGITS" | "MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY" | "MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING" | "NO_MULTIPLIER_SPECIFIED" | "MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET" | "MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET" | "MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET" | "MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID" | "BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER" | "MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH"; /** * An error with a mutate */ mutateError?: | "UNSPECIFIED" | "UNKNOWN" | "RESOURCE_NOT_FOUND" | "ID_EXISTS_IN_MULTIPLE_MUTATES" | "INCONSISTENT_FIELD_VALUES" | "MUTATE_NOT_ALLOWED" | "RESOURCE_NOT_IN_GOOGLE_ADS" | "RESOURCE_ALREADY_EXISTS" | "RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY" | "OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE" | "RESOURCE_READ_ONLY" | "EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED"; /** * The reasons for the new resource creation error */ newResourceCreationError?: | "UNSPECIFIED" | "UNKNOWN" | "CANNOT_SET_ID_FOR_CREATE" | "DUPLICATE_TEMP_IDS" | "TEMP_ID_RESOURCE_HAD_ERRORS"; /** * The reasons for the not allowlisted error */ notAllowlistedError?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE"; /** * The reasons for the not empty error */ notEmptyError?: | "UNSPECIFIED" | "UNKNOWN" | "EMPTY_LIST"; /** * The reasons for the null error */ nullError?: | "UNSPECIFIED" | "UNKNOWN" | "NULL_CONTENT"; /** * The reasons for the offline user data job error. */ offlineUserDataJobError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_USER_LIST_ID" | "INVALID_USER_LIST_TYPE" | "NOT_ON_ALLOWLIST_FOR_USER_ID" | "INCOMPATIBLE_UPLOAD_KEY_TYPE" | "MISSING_USER_IDENTIFIER" | "INVALID_MOBILE_ID_FORMAT" | "TOO_MANY_USER_IDENTIFIERS" | "NOT_ON_ALLOWLIST_FOR_STORE_SALES_DIRECT" | "NOT_ON_ALLOWLIST_FOR_UNIFIED_STORE_SALES" | "INVALID_PARTNER_ID" | "INVALID_ENCODING" | "INVALID_COUNTRY_CODE" | "INCOMPATIBLE_USER_IDENTIFIER" | "FUTURE_TRANSACTION_TIME" | "INVALID_CONVERSION_ACTION" | "MOBILE_ID_NOT_SUPPORTED" | "INVALID_OPERATION_ORDER" | "CONFLICTING_OPERATION" | "EXTERNAL_UPDATE_ID_ALREADY_EXISTS" | "JOB_ALREADY_STARTED" | "REMOVE_NOT_SUPPORTED" | "REMOVE_ALL_NOT_SUPPORTED" | "INVALID_SHA256_FORMAT" | "CUSTOM_KEY_DISABLED" | "CUSTOM_KEY_NOT_PREDEFINED" | "CUSTOM_KEY_NOT_SET" | "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS" | "ATTRIBUTES_NOT_APPLICABLE_FOR_CUSTOMER_MATCH_USER_LIST" | "LIFETIME_VALUE_BUCKET_NOT_IN_RANGE" | "INCOMPATIBLE_USER_IDENTIFIER_FOR_ATTRIBUTES" | "FUTURE_TIME_NOT_ALLOWED" | "LAST_PURCHASE_TIME_LESS_THAN_ACQUISITION_TIME" | "CUSTOMER_IDENTIFIER_NOT_ALLOWED" | "INVALID_ITEM_ID" | "FIRST_PURCHASE_TIME_GREATER_THAN_LAST_PURCHASE_TIME" | "INVALID_LIFECYCLE_STAGE" | "INVALID_EVENT_VALUE" | "EVENT_ATTRIBUTE_ALL_FIELDS_ARE_REQUIRED" | "OPERATION_LEVEL_CONSENT_PROVIDED"; /** * The reasons for the operation access denied error */ operationAccessDeniedError?: | "UNSPECIFIED" | "UNKNOWN" | "ACTION_NOT_PERMITTED" | "CREATE_OPERATION_NOT_PERMITTED" | "REMOVE_OPERATION_NOT_PERMITTED" | "UPDATE_OPERATION_NOT_PERMITTED" | "MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT" | "OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE" | "CREATE_AS_REMOVED_NOT_PERMITTED" | "OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE" | "OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE" | "MUTATE_NOT_PERMITTED_FOR_CUSTOMER"; /** * The reasons for the operator error */ operatorError?: | "UNSPECIFIED" | "UNKNOWN" | "OPERATOR_NOT_SUPPORTED"; /** * The reasons for the mutate job error */ partialFailureError?: | "UNSPECIFIED" | "UNKNOWN" | "PARTIAL_FAILURE_MODE_REQUIRED"; /** * The reasons for errors in payments accounts service */ paymentsAccountError?: | "UNSPECIFIED" | "UNKNOWN" | "NOT_SUPPORTED_FOR_MANAGER_CUSTOMER"; /** * The reasons for the policy finding error. */ policyFindingError?: | "UNSPECIFIED" | "UNKNOWN" | "POLICY_FINDING" | "POLICY_TOPIC_NOT_FOUND"; /** * The reasons for the policy validation parameter error */ policyValidationParameterError?: | "UNSPECIFIED" | "UNKNOWN" | "UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS" | "UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS" | "CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS"; /** * The reasons for the policy violation error */ policyViolationError?: | "UNSPECIFIED" | "UNKNOWN" | "POLICY_ERROR"; /** * The reasons for the product link error */ productLinkError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_OPERATION" | "CREATION_NOT_PERMITTED" | "INVITATION_EXISTS" | "LINK_EXISTS"; /** * The reasons for the product link invitation error */ productLinkInvitationError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_STATUS" | "PERMISSION_DENIED" | "NO_INVITATION_REQUIRED" | "CUSTOMER_NOT_PERMITTED_TO_CREATE_INVITATION"; /** * An error with the query */ queryError?: | "UNSPECIFIED" | "UNKNOWN" | "QUERY_ERROR" | "BAD_ENUM_CONSTANT" | "BAD_ESCAPE_SEQUENCE" | "BAD_FIELD_NAME" | "BAD_LIMIT_VALUE" | "BAD_NUMBER" | "BAD_OPERATOR" | "BAD_PARAMETER_NAME" | "BAD_PARAMETER_VALUE" | "BAD_RESOURCE_TYPE_IN_FROM_CLAUSE" | "BAD_SYMBOL" | "BAD_VALUE" | "DATE_RANGE_TOO_WIDE" | "DATE_RANGE_TOO_NARROW" | "EXPECTED_AND" | "EXPECTED_BY" | "EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE" | "EXPECTED_FILTERS_ON_DATE_RANGE" | "EXPECTED_FROM" | "EXPECTED_LIST" | "EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE" | "EXPECTED_SELECT" | "EXPECTED_SINGLE_VALUE" | "EXPECTED_VALUE_WITH_BETWEEN_OPERATOR" | "INVALID_DATE_FORMAT" | "MISALIGNED_DATE_FOR_FILTER" | "INVALID_STRING_VALUE" | "INVALID_VALUE_WITH_BETWEEN_OPERATOR" | "INVALID_VALUE_WITH_DURING_OPERATOR" | "INVALID_VALUE_WITH_LIKE_OPERATOR" | "OPERATOR_FIELD_MISMATCH" | "PROHIBITED_EMPTY_LIST_IN_CONDITION" | "PROHIBITED_ENUM_CONSTANT" | "PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE" | "PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE" | "PROHIBITED_FIELD_IN_SELECT_CLAUSE" | "PROHIBITED_FIELD_IN_WHERE_CLAUSE" | "PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE" | "PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE" | "PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE" | "PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE" | "PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE" | "PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE" | "PROHIBITED_FIELD_OR_SEGMENT_WITH_METRIC" | "LIMIT_VALUE_TOO_LOW" | "PROHIBITED_NEWLINE_IN_STRING" | "PROHIBITED_VALUE_COMBINATION_IN_LIST" | "PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR" | "STRING_NOT_TERMINATED" | "TOO_MANY_SEGMENTS" | "UNEXPECTED_END_OF_QUERY" | "UNEXPECTED_FROM_CLAUSE" | "UNRECOGNIZED_FIELD" | "UNEXPECTED_INPUT" | "REQUESTED_METRICS_FOR_MANAGER" | "FILTER_HAS_TOO_MANY_VALUES" | "REQUIRED_SEGMENT_FIELD_MISSING"; /** * An error with the amount of quota remaining. */ quotaError?: | "UNSPECIFIED" | "UNKNOWN" | "RESOURCE_EXHAUSTED" | "ACCESS_PROHIBITED" | "RESOURCE_TEMPORARILY_EXHAUSTED" | "EXCESSIVE_SHORT_TERM_QUERY_RESOURCE_CONSUMPTION" | "EXCESSIVE_LONG_TERM_QUERY_RESOURCE_CONSUMPTION" | "PAYMENTS_PROFILE_ACTIVATION_RATE_LIMIT_EXCEEDED"; /** * The reasons for the range error */ rangeError?: | "UNSPECIFIED" | "UNKNOWN" | "TOO_LOW" | "TOO_HIGH"; /** * The reasons for the reach plan error */ reachPlanError?: | "UNSPECIFIED" | "UNKNOWN" | "NOT_FORECASTABLE_MISSING_RATE" | "NOT_FORECASTABLE_NOT_ENOUGH_INVENTORY" | "NOT_FORECASTABLE_ACCOUNT_NOT_ENABLED"; /** * The reasons for error in applying a recommendation */ recommendationError?: | "UNSPECIFIED" | "UNKNOWN" | "BUDGET_AMOUNT_TOO_SMALL" | "BUDGET_AMOUNT_TOO_LARGE" | "INVALID_BUDGET_AMOUNT" | "POLICY_ERROR" | "INVALID_BID_AMOUNT" | "ADGROUP_KEYWORD_LIMIT" | "RECOMMENDATION_ALREADY_APPLIED" | "RECOMMENDATION_INVALIDATED" | "TOO_MANY_OPERATIONS" | "NO_OPERATIONS" | "DIFFERENT_TYPES_NOT_SUPPORTED" | "DUPLICATE_RESOURCE_NAME" | "RECOMMENDATION_ALREADY_DISMISSED" | "INVALID_APPLY_REQUEST" | "RECOMMENDATION_TYPE_APPLY_NOT_SUPPORTED" | "INVALID_MULTIPLIER" | "ADVERTISING_CHANNEL_TYPE_GENERATE_NOT_SUPPORTED" | "RECOMMENDATION_TYPE_GENERATE_NOT_SUPPORTED" | "RECOMMENDATION_TYPES_CANNOT_BE_EMPTY" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_BIDDING_INFO" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_BIDDING_STRATEGY_TYPE" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_ASSET_GROUP_INFO" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_ASSET_GROUP_INFO_WITH_FINAL_URL" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_COUNTRY_CODES_FOR_SEARCH_CHANNEL" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_INVALID_COUNTRY_CODE_FOR_SEARCH_CHANNEL" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_LANGUAGE_CODES_FOR_SEARCH_CHANNEL" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_EITHER_POSITIVE_OR_NEGATIVE_LOCATION_IDS_FOR_SEARCH_CHANNEL" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_AD_GROUP_INFO_FOR_SEARCH_CHANNEL" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_KEYWORDS_FOR_SEARCH_CHANNEL" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_LOCATION" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_TARGET_IMPRESSION_SHARE_MICROS" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_TARGET_IMPRESSION_SHARE_MICROS_BETWEEN_1_AND_1000000" | "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_TARGET_IMPRESSION_SHARE_INFO" | "MERCHANT_CENTER_ACCOUNT_ID_NOT_SUPPORTED_ADVERTISING_CHANNEL_TYPE"; /** * The reasons for the recommendation subscription error. */ recommendationSubscriptionError?: | "UNSPECIFIED" | "UNKNOWN"; /** * The reasons for the region code error */ regionCodeError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_REGION_CODE"; /** * An error caused by the request */ requestError?: | "UNSPECIFIED" | "UNKNOWN" | "RESOURCE_NAME_MISSING" | "RESOURCE_NAME_MALFORMED" | "BAD_RESOURCE_ID" | "INVALID_CUSTOMER_ID" | "OPERATION_REQUIRED" | "RESOURCE_NOT_FOUND" | "INVALID_PAGE_TOKEN" | "EXPIRED_PAGE_TOKEN" | "INVALID_PAGE_SIZE" | "PAGE_SIZE_NOT_SUPPORTED" | "REQUIRED_FIELD_MISSING" | "IMMUTABLE_FIELD" | "TOO_MANY_MUTATE_OPERATIONS" | "CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT" | "CANNOT_MODIFY_FOREIGN_FIELD" | "INVALID_ENUM_VALUE" | "DEVELOPER_TOKEN_PARAMETER_MISSING" | "LOGIN_CUSTOMER_ID_PARAMETER_MISSING" | "VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN" | "CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS" | "CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS" | "INCONSISTENT_RETURN_SUMMARY_ROW_VALUE" | "TOTAL_RESULTS_COUNT_NOT_ORIGINALLY_REQUESTED" | "RPC_DEADLINE_TOO_SHORT" | "UNSUPPORTED_VERSION" | "CLOUD_PROJECT_NOT_FOUND"; /** * The reasons for the resource access denied error */ resourceAccessDeniedError?: | "UNSPECIFIED" | "UNKNOWN" | "WRITE_ACCESS_DENIED"; /** * The reasons for the resource count limit exceeded error */ resourceCountLimitExceededError?: | "UNSPECIFIED" | "UNKNOWN" | "ACCOUNT_LIMIT" | "CAMPAIGN_LIMIT" | "ADGROUP_LIMIT" | "AD_GROUP_AD_LIMIT" | "AD_GROUP_CRITERION_LIMIT" | "SHARED_SET_LIMIT" | "MATCHING_FUNCTION_LIMIT" | "RESPONSE_ROW_LIMIT_EXCEEDED" | "RESOURCE_LIMIT"; /** * The reasons for the Search term insight error */ searchTermInsightError?: | "UNSPECIFIED" | "UNKNOWN" | "FILTERING_NOT_ALLOWED_WITH_SEGMENTS" | "LIMIT_NOT_ALLOWED_WITH_SEGMENTS" | "MISSING_FIELD_IN_SELECT_CLAUSE" | "REQUIRES_FILTER_BY_SINGLE_RESOURCE" | "SORTING_NOT_ALLOWED_WITH_SEGMENTS" | "SUMMARY_ROW_NOT_ALLOWED_WITH_SEGMENTS"; /** * The reasons for the setting error */ settingError?: | "UNSPECIFIED" | "UNKNOWN" | "SETTING_TYPE_IS_NOT_AVAILABLE" | "SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN" | "TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP" | "TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL" | "TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP" | "DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT" | "DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME" | "DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME" | "DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE" | "TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN" | "SETTING_VALUE_NOT_COMPATIBLE_WITH_CAMPAIGN" | "BID_ONLY_IS_NOT_ALLOWED_TO_BE_MODIFIED_WITH_CUSTOMER_MATCH_TARGETING"; /** * The reasons for the shareable preview error. */ shareablePreviewError?: | "UNSPECIFIED" | "UNKNOWN" | "TOO_MANY_ASSET_GROUPS_IN_REQUEST" | "ASSET_GROUP_DOES_NOT_EXIST_UNDER_THIS_CUSTOMER"; /** * The reasons for the shared criterion error */ sharedCriterionError?: | "UNSPECIFIED" | "UNKNOWN" | "CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE"; /** * The reasons for the shared set error */ sharedSetError?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE" | "DUPLICATE_NAME" | "SHARED_SET_REMOVED" | "SHARED_SET_IN_USE"; /** * The reasons for error in querying shopping product. */ shoppingProductError?: | "UNSPECIFIED" | "UNKNOWN" | "MISSING_CAMPAIGN_FILTER" | "MISSING_AD_GROUP_FILTER" | "UNSUPPORTED_DATE_SEGMENTATION"; /** * The reasons for the size limit error */ sizeLimitError?: | "UNSPECIFIED" | "UNKNOWN" | "REQUEST_SIZE_LIMIT_EXCEEDED" | "RESPONSE_SIZE_LIMIT_EXCEEDED"; /** * The reasons for the Smart campaign error */ smartCampaignError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_BUSINESS_LOCATION_ID" | "INVALID_CAMPAIGN" | "BUSINESS_NAME_OR_BUSINESS_LOCATION_ID_MISSING" | "REQUIRED_SUGGESTION_FIELD_MISSING" | "GEO_TARGETS_REQUIRED" | "CANNOT_DETERMINE_SUGGESTION_LOCALE" | "FINAL_URL_NOT_CRAWLABLE"; /** * The reasons for the string format error */ stringFormatError?: | "UNSPECIFIED" | "UNKNOWN" | "ILLEGAL_CHARS" | "INVALID_FORMAT"; /** * The reasons for the string length error */ stringLengthError?: | "UNSPECIFIED" | "UNKNOWN" | "EMPTY" | "TOO_SHORT" | "TOO_LONG"; /** * The reasons for the third party app analytics link mutate error */ thirdPartyAppAnalyticsLinkError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_ANALYTICS_PROVIDER_ID" | "INVALID_MOBILE_APP_ID" | "MOBILE_APP_IS_NOT_ENABLED" | "CANNOT_REGENERATE_SHAREABLE_LINK_ID_FOR_REMOVED_LINK"; /** * The reasons for the time zone error */ timeZoneError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_TIME_ZONE"; /** * An error with a URL field mutate. */ urlFieldError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_TRACKING_URL_TEMPLATE" | "INVALID_TAG_IN_TRACKING_URL_TEMPLATE" | "MISSING_TRACKING_URL_TEMPLATE_TAG" | "MISSING_PROTOCOL_IN_TRACKING_URL_TEMPLATE" | "INVALID_PROTOCOL_IN_TRACKING_URL_TEMPLATE" | "MALFORMED_TRACKING_URL_TEMPLATE" | "MISSING_HOST_IN_TRACKING_URL_TEMPLATE" | "INVALID_TLD_IN_TRACKING_URL_TEMPLATE" | "REDUNDANT_NESTED_TRACKING_URL_TEMPLATE_TAG" | "INVALID_FINAL_URL" | "INVALID_TAG_IN_FINAL_URL" | "REDUNDANT_NESTED_FINAL_URL_TAG" | "MISSING_PROTOCOL_IN_FINAL_URL" | "INVALID_PROTOCOL_IN_FINAL_URL" | "MALFORMED_FINAL_URL" | "MISSING_HOST_IN_FINAL_URL" | "INVALID_TLD_IN_FINAL_URL" | "INVALID_FINAL_MOBILE_URL" | "INVALID_TAG_IN_FINAL_MOBILE_URL" | "REDUNDANT_NESTED_FINAL_MOBILE_URL_TAG" | "MISSING_PROTOCOL_IN_FINAL_MOBILE_URL" | "INVALID_PROTOCOL_IN_FINAL_MOBILE_URL" | "MALFORMED_FINAL_MOBILE_URL" | "MISSING_HOST_IN_FINAL_MOBILE_URL" | "INVALID_TLD_IN_FINAL_MOBILE_URL" | "INVALID_FINAL_APP_URL" | "INVALID_TAG_IN_FINAL_APP_URL" | "REDUNDANT_NESTED_FINAL_APP_URL_TAG" | "MULTIPLE_APP_URLS_FOR_OSTYPE" | "INVALID_OSTYPE" | "INVALID_PROTOCOL_FOR_APP_URL" | "INVALID_PACKAGE_ID_FOR_APP_URL" | "URL_CUSTOM_PARAMETERS_COUNT_EXCEEDS_LIMIT" | "INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_KEY" | "INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_VALUE" | "INVALID_TAG_IN_URL_CUSTOM_PARAMETER_VALUE" | "REDUNDANT_NESTED_URL_CUSTOM_PARAMETER_TAG" | "MISSING_PROTOCOL" | "INVALID_PROTOCOL" | "INVALID_URL" | "DESTINATION_URL_DEPRECATED" | "INVALID_TAG_IN_URL" | "MISSING_URL_TAG" | "DUPLICATE_URL_ID" | "INVALID_URL_ID" | "FINAL_URL_SUFFIX_MALFORMED" | "INVALID_TAG_IN_FINAL_URL_SUFFIX" | "INVALID_TOP_LEVEL_DOMAIN" | "MALFORMED_TOP_LEVEL_DOMAIN" | "MALFORMED_URL" | "MISSING_HOST" | "NULL_CUSTOM_PARAMETER_VALUE" | "VALUE_TRACK_PARAMETER_NOT_SUPPORTED" | "UNSUPPORTED_APP_STORE"; /** * The reasons for the user data error. */ userDataError?: | "UNSPECIFIED" | "UNKNOWN" | "OPERATIONS_FOR_CUSTOMER_MATCH_NOT_ALLOWED" | "TOO_MANY_USER_IDENTIFIERS" | "USER_LIST_NOT_APPLICABLE"; /** * The reasons for a user list customer type error. */ userListCustomerTypeError?: | "UNSPECIFIED" | "UNKNOWN" | "CONFLICTING_CUSTOMER_TYPES" | "NO_ACCESS_TO_USER_LIST" | "USERLIST_NOT_ELIGIBLE" | "CONVERSION_TRACKING_NOT_ENABLED_OR_NOT_MCC_MANAGER_ACCOUNT" | "TOO_MANY_USER_LISTS_FOR_THE_CUSTOMER_TYPE"; /** * The reasons for the user list error */ userListError?: | "UNSPECIFIED" | "UNKNOWN" | "EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED" | "CONCRETE_TYPE_REQUIRED" | "CONVERSION_TYPE_ID_REQUIRED" | "DUPLICATE_CONVERSION_TYPES" | "INVALID_CONVERSION_TYPE" | "INVALID_DESCRIPTION" | "INVALID_NAME" | "INVALID_TYPE" | "CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND" | "INVALID_USER_LIST_LOGICAL_RULE_OPERAND" | "NAME_ALREADY_USED" | "NEW_CONVERSION_TYPE_NAME_REQUIRED" | "CONVERSION_TYPE_NAME_ALREADY_USED" | "OWNERSHIP_REQUIRED_FOR_SET" | "USER_LIST_MUTATE_NOT_SUPPORTED" | "INVALID_RULE" | "INVALID_DATE_RANGE" | "CAN_NOT_MUTATE_SENSITIVE_USERLIST" | "MAX_NUM_RULEBASED_USERLISTS" | "CANNOT_MODIFY_BILLABLE_RECORD_COUNT" | "APP_ID_NOT_SET" | "USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST" | "ADVERTISER_NOT_ON_ALLOWLIST_FOR_USING_UPLOADED_DATA" | "RULE_TYPE_IS_NOT_SUPPORTED" | "CAN_NOT_ADD_A_SIMILAR_USERLIST_AS_LOGICAL_LIST_OPERAND" | "CAN_NOT_MIX_CRM_BASED_IN_LOGICAL_LIST_WITH_OTHER_LISTS" | "APP_ID_NOT_ALLOWED" | "CANNOT_MUTATE_SYSTEM_LIST" | "MOBILE_APP_IS_SENSITIVE" | "SEED_LIST_DOES_NOT_EXIST" | "INVALID_SEED_LIST_ACCESS_REASON" | "INVALID_SEED_LIST_TYPE" | "INVALID_COUNTRY_CODES" | "PARTNER_AUDIENCE_SOURCE_NOT_SUPPORTED_FOR_USER_LIST_TYPE" | "COMMERCE_PARTNER_NOT_ALLOWED" | "PARTNER_AUDIENCE_INFO_NOT_SUPPORTED_FOR_USER_LIST_TYPE" | "PARTNER_MANAGER_ACCOUNT_DISALLOWED" | "PARTNER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA" | "ADVERTISER_TOS_NOT_ACCEPTED" | "ADVERTISER_PARTNER_LINK_MISSING" | "ADVERTISER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA" | "ACCOUNT_SETTING_TYPE_NOT_ALLOWED"; /** * An error with a Video Campaign mutate. */ videoCampaignError?: | "UNSPECIFIED" | "UNKNOWN" | "MUTATE_REQUIRES_RESERVATION"; /** * The reasons for YouTube video registration errors. */ youtubeVideoRegistrationError?: | "UNSPECIFIED" | "UNKNOWN" | "VIDEO_NOT_FOUND" | "VIDEO_NOT_ACCESSIBLE" | "VIDEO_NOT_ELIGIBLE"; } /** * Additional error details. */ export interface GoogleAdsSearchads360V23Errors__ErrorDetails { /** * Details for a budget below per-day minimum error. */ budgetPerDayMinimumErrorDetails?: GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails; /** * Describes policy violation findings. */ policyFindingDetails?: GoogleAdsSearchads360V23Errors__PolicyFindingDetails; /** * Describes an ad policy violation. */ policyViolationDetails?: GoogleAdsSearchads360V23Errors__PolicyViolationDetails; /** * Details on the quota error, including the scope (account or developer), * the rate bucket name and the retry delay. */ quotaErrorDetails?: GoogleAdsSearchads360V23Errors__QuotaErrorDetails; /** * Details for a resource count limit exceeded error. */ resourceCountDetails?: GoogleAdsSearchads360V23Errors__ResourceCountDetails; /** * The error code that should have been returned, but wasn't. This is used * when the error code is not published in the client specified version. */ unpublishedErrorCode?: string; } function serializeGoogleAdsSearchads360V23Errors__ErrorDetails(data: any): GoogleAdsSearchads360V23Errors__ErrorDetails { return { ...data, budgetPerDayMinimumErrorDetails: data["budgetPerDayMinimumErrorDetails"] !== undefined ? serializeGoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails(data["budgetPerDayMinimumErrorDetails"]) : undefined, policyFindingDetails: data["policyFindingDetails"] !== undefined ? serializeGoogleAdsSearchads360V23Errors__PolicyFindingDetails(data["policyFindingDetails"]) : undefined, quotaErrorDetails: data["quotaErrorDetails"] !== undefined ? serializeGoogleAdsSearchads360V23Errors__QuotaErrorDetails(data["quotaErrorDetails"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Errors__ErrorDetails(data: any): GoogleAdsSearchads360V23Errors__ErrorDetails { return { ...data, budgetPerDayMinimumErrorDetails: data["budgetPerDayMinimumErrorDetails"] !== undefined ? deserializeGoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails(data["budgetPerDayMinimumErrorDetails"]) : undefined, policyFindingDetails: data["policyFindingDetails"] !== undefined ? deserializeGoogleAdsSearchads360V23Errors__PolicyFindingDetails(data["policyFindingDetails"]) : undefined, quotaErrorDetails: data["quotaErrorDetails"] !== undefined ? deserializeGoogleAdsSearchads360V23Errors__QuotaErrorDetails(data["quotaErrorDetails"]) : undefined, }; } /** * Describes the part of the request proto that caused the error. */ export interface GoogleAdsSearchads360V23Errors__ErrorLocation { /** * A field path that indicates which field was invalid in the request. */ fieldPathElements?: GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement[]; } /** * Error returned as part of a mutate response. This error indicates one or * more policy findings in the fields of a resource. */ export interface GoogleAdsSearchads360V23Errors__PolicyFindingDetails { /** * The list of policy topics for the resource. Contains the PROHIBITED or * FULLY_LIMITED policy topic entries that prevented the resource from being * saved (among any other entries the resource may also have). */ policyTopicEntries?: GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; } function serializeGoogleAdsSearchads360V23Errors__PolicyFindingDetails(data: any): GoogleAdsSearchads360V23Errors__PolicyFindingDetails { return { ...data, policyTopicEntries: data["policyTopicEntries"] !== undefined ? data["policyTopicEntries"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__PolicyTopicEntry(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Errors__PolicyFindingDetails(data: any): GoogleAdsSearchads360V23Errors__PolicyFindingDetails { return { ...data, policyTopicEntries: data["policyTopicEntries"] !== undefined ? data["policyTopicEntries"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__PolicyTopicEntry(item))) : undefined, }; } /** * Error returned as part of a mutate response. This error indicates single * policy violation by some text in one of the fields. */ export interface GoogleAdsSearchads360V23Errors__PolicyViolationDetails { /** * Human readable description of policy violation. */ externalPolicyDescription?: string; /** * Human readable name of the policy. */ externalPolicyName?: string; /** * Whether user can file an exemption request for this violation. */ isExemptible?: boolean; /** * Unique identifier for this violation. If policy is exemptible, this key * may be used to request exemption. */ key?: GoogleAdsSearchads360V23Common__PolicyViolationKey; } /** * Additional quota error details when there is QuotaError. */ export interface GoogleAdsSearchads360V23Errors__QuotaErrorDetails { /** * The high level description of the quota bucket. Examples are "Get requests * for standard access" or "Requests per account". */ rateName?: string; /** * The rate scope of the quota limit. */ rateScope?: | "UNSPECIFIED" | "UNKNOWN" | "ACCOUNT" | "DEVELOPER"; /** * Backoff period that customers should wait before sending next request. */ retryDelay?: number /* Duration */; } function serializeGoogleAdsSearchads360V23Errors__QuotaErrorDetails(data: any): GoogleAdsSearchads360V23Errors__QuotaErrorDetails { return { ...data, retryDelay: data["retryDelay"] !== undefined ? data["retryDelay"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Errors__QuotaErrorDetails(data: any): GoogleAdsSearchads360V23Errors__QuotaErrorDetails { return { ...data, retryDelay: data["retryDelay"] !== undefined ? data["retryDelay"] : undefined, }; } /** * Error details returned when an resource count limit was exceeded. */ export interface GoogleAdsSearchads360V23Errors__ResourceCountDetails { /** * The ID of the resource whose limit was exceeded. External customer ID if * the limit is for a customer. */ enclosingId?: string; /** * The name of the resource ( etc.) whose limit was exceeded. */ enclosingResource?: string; /** * The count of existing entities. */ existingCount?: number; /** * The limit which was exceeded. */ limit?: number; /** * The resource limit type which was exceeded. */ limitType?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGNS_PER_CUSTOMER" | "BASE_CAMPAIGNS_PER_CUSTOMER" | "EXPERIMENT_CAMPAIGNS_PER_CUSTOMER" | "HOTEL_CAMPAIGNS_PER_CUSTOMER" | "SMART_SHOPPING_CAMPAIGNS_PER_CUSTOMER" | "AD_GROUPS_PER_CAMPAIGN" | "AD_GROUPS_PER_SHOPPING_CAMPAIGN" | "AD_GROUPS_PER_HOTEL_CAMPAIGN" | "REPORTING_AD_GROUPS_PER_LOCAL_CAMPAIGN" | "REPORTING_AD_GROUPS_PER_APP_CAMPAIGN" | "MANAGED_AD_GROUPS_PER_SMART_CAMPAIGN" | "AD_GROUP_CRITERIA_PER_CUSTOMER" | "BASE_AD_GROUP_CRITERIA_PER_CUSTOMER" | "EXPERIMENT_AD_GROUP_CRITERIA_PER_CUSTOMER" | "AD_GROUP_CRITERIA_PER_CAMPAIGN" | "CAMPAIGN_CRITERIA_PER_CUSTOMER" | "BASE_CAMPAIGN_CRITERIA_PER_CUSTOMER" | "EXPERIMENT_CAMPAIGN_CRITERIA_PER_CUSTOMER" | "WEBPAGE_CRITERIA_PER_CUSTOMER" | "BASE_WEBPAGE_CRITERIA_PER_CUSTOMER" | "EXPERIMENT_WEBPAGE_CRITERIA_PER_CUSTOMER" | "COMBINED_AUDIENCE_CRITERIA_PER_AD_GROUP" | "CUSTOMER_NEGATIVE_PLACEMENT_CRITERIA_PER_CUSTOMER" | "CUSTOMER_NEGATIVE_YOUTUBE_CHANNEL_CRITERIA_PER_CUSTOMER" | "CRITERIA_PER_AD_GROUP" | "LISTING_GROUPS_PER_AD_GROUP" | "EXPLICITLY_SHARED_BUDGETS_PER_CUSTOMER" | "IMPLICITLY_SHARED_BUDGETS_PER_CUSTOMER" | "COMBINED_AUDIENCE_CRITERIA_PER_CAMPAIGN" | "NEGATIVE_KEYWORDS_PER_CAMPAIGN" | "NEGATIVE_PLACEMENTS_PER_CAMPAIGN" | "GEO_TARGETS_PER_CAMPAIGN" | "NEGATIVE_IP_BLOCKS_PER_CAMPAIGN" | "PROXIMITIES_PER_CAMPAIGN" | "LISTING_SCOPES_PER_SHOPPING_CAMPAIGN" | "LISTING_SCOPES_PER_NON_SHOPPING_CAMPAIGN" | "NEGATIVE_KEYWORDS_PER_SHARED_SET" | "NEGATIVE_PLACEMENTS_PER_SHARED_SET" | "SHARED_SETS_PER_CUSTOMER_FOR_TYPE_DEFAULT" | "SHARED_SETS_PER_CUSTOMER_FOR_NEGATIVE_PLACEMENT_LIST_LOWER" | "HOTEL_ADVANCE_BOOKING_WINDOW_BID_MODIFIERS_PER_AD_GROUP" | "BIDDING_STRATEGIES_PER_CUSTOMER" | "BASIC_USER_LISTS_PER_CUSTOMER" | "LOGICAL_USER_LISTS_PER_CUSTOMER" | "RULE_BASED_USER_LISTS_PER_CUSTOMER" | "BASE_AD_GROUP_ADS_PER_CUSTOMER" | "EXPERIMENT_AD_GROUP_ADS_PER_CUSTOMER" | "AD_GROUP_ADS_PER_CAMPAIGN" | "TEXT_AND_OTHER_ADS_PER_AD_GROUP" | "IMAGE_ADS_PER_AD_GROUP" | "SHOPPING_SMART_ADS_PER_AD_GROUP" | "RESPONSIVE_SEARCH_ADS_PER_AD_GROUP" | "APP_ADS_PER_AD_GROUP" | "APP_ENGAGEMENT_ADS_PER_AD_GROUP" | "LOCAL_ADS_PER_AD_GROUP" | "VIDEO_ADS_PER_AD_GROUP" | "LEAD_FORM_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "PROMOTION_CUSTOMER_ASSETS_PER_CUSTOMER" | "PROMOTION_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "PROMOTION_AD_GROUP_ASSETS_PER_AD_GROUP" | "CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER" | "CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP" | "SITELINK_CUSTOMER_ASSETS_PER_CUSTOMER" | "SITELINK_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "SITELINK_AD_GROUP_ASSETS_PER_AD_GROUP" | "STRUCTURED_SNIPPET_CUSTOMER_ASSETS_PER_CUSTOMER" | "STRUCTURED_SNIPPET_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "STRUCTURED_SNIPPET_AD_GROUP_ASSETS_PER_AD_GROUP" | "MOBILE_APP_CUSTOMER_ASSETS_PER_CUSTOMER" | "MOBILE_APP_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "MOBILE_APP_AD_GROUP_ASSETS_PER_AD_GROUP" | "HOTEL_CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER" | "HOTEL_CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "HOTEL_CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP" | "CALL_CUSTOMER_ASSETS_PER_CUSTOMER" | "CALL_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "CALL_AD_GROUP_ASSETS_PER_AD_GROUP" | "PRICE_CUSTOMER_ASSETS_PER_CUSTOMER" | "PRICE_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "PRICE_AD_GROUP_ASSETS_PER_AD_GROUP" | "AD_IMAGE_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "AD_IMAGE_AD_GROUP_ASSETS_PER_AD_GROUP" | "PAGE_FEED_ASSET_SETS_PER_CUSTOMER" | "DYNAMIC_EDUCATION_FEED_ASSET_SETS_PER_CUSTOMER" | "ASSETS_PER_PAGE_FEED_ASSET_SET" | "ASSETS_PER_DYNAMIC_EDUCATION_FEED_ASSET_SET" | "DYNAMIC_REAL_ESTATE_ASSET_SETS_PER_CUSTOMER" | "ASSETS_PER_DYNAMIC_REAL_ESTATE_ASSET_SET" | "DYNAMIC_CUSTOM_ASSET_SETS_PER_CUSTOMER" | "ASSETS_PER_DYNAMIC_CUSTOM_ASSET_SET" | "DYNAMIC_HOTELS_AND_RENTALS_ASSET_SETS_PER_CUSTOMER" | "ASSETS_PER_DYNAMIC_HOTELS_AND_RENTALS_ASSET_SET" | "DYNAMIC_LOCAL_ASSET_SETS_PER_CUSTOMER" | "ASSETS_PER_DYNAMIC_LOCAL_ASSET_SET" | "DYNAMIC_FLIGHTS_ASSET_SETS_PER_CUSTOMER" | "ASSETS_PER_DYNAMIC_FLIGHTS_ASSET_SET" | "DYNAMIC_TRAVEL_ASSET_SETS_PER_CUSTOMER" | "ASSETS_PER_DYNAMIC_TRAVEL_ASSET_SET" | "DYNAMIC_JOBS_ASSET_SETS_PER_CUSTOMER" | "ASSETS_PER_DYNAMIC_JOBS_ASSET_SET" | "BUSINESS_NAME_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "BUSINESS_LOGO_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "VERSIONS_PER_AD" | "USER_FEEDS_PER_CUSTOMER" | "SYSTEM_FEEDS_PER_CUSTOMER" | "FEED_ATTRIBUTES_PER_FEED" | "FEED_ITEMS_PER_CUSTOMER" | "CAMPAIGN_FEEDS_PER_CUSTOMER" | "BASE_CAMPAIGN_FEEDS_PER_CUSTOMER" | "EXPERIMENT_CAMPAIGN_FEEDS_PER_CUSTOMER" | "AD_GROUP_FEEDS_PER_CUSTOMER" | "BASE_AD_GROUP_FEEDS_PER_CUSTOMER" | "EXPERIMENT_AD_GROUP_FEEDS_PER_CUSTOMER" | "AD_GROUP_FEEDS_PER_CAMPAIGN" | "FEED_ITEM_SETS_PER_CUSTOMER" | "FEED_ITEMS_PER_FEED_ITEM_SET" | "CAMPAIGN_EXPERIMENTS_PER_CUSTOMER" | "EXPERIMENT_ARMS_PER_VIDEO_EXPERIMENT" | "OWNED_LABELS_PER_CUSTOMER" | "LABELS_PER_CAMPAIGN" | "LABELS_PER_AD_GROUP" | "LABELS_PER_AD_GROUP_AD" | "LABELS_PER_AD_GROUP_CRITERION" | "TARGET_CUSTOMERS_PER_LABEL" | "KEYWORD_PLANS_PER_USER_PER_CUSTOMER" | "KEYWORD_PLAN_AD_GROUP_KEYWORDS_PER_KEYWORD_PLAN" | "KEYWORD_PLAN_AD_GROUPS_PER_KEYWORD_PLAN" | "KEYWORD_PLAN_NEGATIVE_KEYWORDS_PER_KEYWORD_PLAN" | "KEYWORD_PLAN_CAMPAIGNS_PER_KEYWORD_PLAN" | "CONVERSION_ACTIONS_PER_CUSTOMER" | "BATCH_JOB_OPERATIONS_PER_JOB" | "BATCH_JOBS_PER_CUSTOMER" | "HOTEL_CHECK_IN_DATE_RANGE_BID_MODIFIERS_PER_AD_GROUP" | "SHARED_SETS_PER_ACCOUNT_FOR_ACCOUNT_LEVEL_NEGATIVE_KEYWORDS" | "ACCOUNT_LEVEL_NEGATIVE_KEYWORDS_PER_SHARED_SET" | "ENABLED_ASSET_PER_HOTEL_PROPERTY_ASSET_SET" | "ENABLED_HOTEL_PROPERTY_ASSET_LINKS_PER_ASSET_GROUP" | "BRANDS_PER_SHARED_SET" | "ENABLED_BRAND_LIST_CRITERIA_PER_CAMPAIGN" | "SHARED_SETS_PER_ACCOUNT_FOR_BRAND" | "LOOKALIKE_USER_LISTS_PER_CUSTOMER" | "LOGO_CAMPAIGN_ASSETS_PER_CAMPAIGN" | "BUSINESS_MESSAGE_ASSET_LINKS_PER_CUSTOMER" | "WHATSAPP_BUSINESS_MESSAGE_ASSET_LINKS_PER_CAMPAIGN" | "WHATSAPP_BUSINESS_MESSAGE_ASSET_LINKS_PER_AD_GROUP" | "BRAND_LIST_CRITERIA_PER_AD_GROUP"; } /** * Search Ads 360-specific error. */ export interface GoogleAdsSearchads360V23Errors__SearchAds360Error { /** * Additional error details, which are returned by certain error codes. Most * error codes do not include details. */ details?: GoogleAdsSearchads360V23Errors__ErrorDetails; /** * An enum value that indicates which error occurred. */ errorCode?: GoogleAdsSearchads360V23Errors__ErrorCode; /** * Describes the part of the request proto that caused the error. */ location?: GoogleAdsSearchads360V23Errors__ErrorLocation; /** * A human-readable description of the error. */ message?: string; /** * The value that triggered the error. */ trigger?: GoogleAdsSearchads360V23Common__Value; } function serializeGoogleAdsSearchads360V23Errors__SearchAds360Error(data: any): GoogleAdsSearchads360V23Errors__SearchAds360Error { return { ...data, details: data["details"] !== undefined ? serializeGoogleAdsSearchads360V23Errors__ErrorDetails(data["details"]) : undefined, trigger: data["trigger"] !== undefined ? serializeGoogleAdsSearchads360V23Common__Value(data["trigger"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Errors__SearchAds360Error(data: any): GoogleAdsSearchads360V23Errors__SearchAds360Error { return { ...data, details: data["details"] !== undefined ? deserializeGoogleAdsSearchads360V23Errors__ErrorDetails(data["details"]) : undefined, trigger: data["trigger"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__Value(data["trigger"]) : undefined, }; } /** * Describes how a Search Ads 360 API call failed. It's returned inside * google.rpc.Status.details when a call fails. */ export interface GoogleAdsSearchads360V23Errors__SearchAds360Failure { /** * The list of errors that occurred. */ errors?: GoogleAdsSearchads360V23Errors__SearchAds360Error[]; /** * The unique ID of the request that is used for debugging purposes. */ requestId?: string; } function serializeGoogleAdsSearchads360V23Errors__SearchAds360Failure(data: any): GoogleAdsSearchads360V23Errors__SearchAds360Failure { return { ...data, errors: data["errors"] !== undefined ? data["errors"].map((item: any) => (serializeGoogleAdsSearchads360V23Errors__SearchAds360Error(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Errors__SearchAds360Failure(data: any): GoogleAdsSearchads360V23Errors__SearchAds360Failure { return { ...data, errors: data["errors"] !== undefined ? data["errors"].map((item: any) => (deserializeGoogleAdsSearchads360V23Errors__SearchAds360Error(item))) : undefined, }; } /** * A part of a field path. */ export interface GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement { /** * The name of a field or a oneof */ fieldName?: string; /** * If field_name is a repeated field, this is the element that failed */ index?: number; } /** * Represents a view of BiddingStrategies owned by and shared with the * customer. In contrast to BiddingStrategy, this resource includes strategies * owned by managers of the customer and shared with this customer - in addition * to strategies owned by this customer. This resource does not provide metrics * and only exposes a limited subset of the BiddingStrategy attributes. */ export interface GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy { /** * Output only. The ID of the bidding strategy. */ readonly id?: bigint; /** * Output only. An automated bidding strategy to help get the most * conversions for your campaigns while spending your budget. */ readonly maximizeConversions?: GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions; /** * Output only. An automated bidding strategy to help get the most conversion * value for your campaigns while spending your budget. */ readonly maximizeConversionValue?: GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue; /** * Output only. The name of the bidding strategy. */ readonly name?: string; /** * Output only. The ID of the Customer which owns the bidding strategy. */ readonly ownerCustomerId?: bigint; /** * Output only. descriptive_name of the Customer which owns the bidding * strategy. */ readonly ownerDescriptiveName?: string; /** * Output only. The resource name of the accessible bidding strategy. * AccessibleBiddingStrategy resource names have the form: * `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}` */ readonly resourceName?: string; /** * Output only. A bidding strategy that sets bids to help get as many * conversions as possible at the target cost-per-acquisition (CPA) you set. */ readonly targetCpa?: GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa; /** * Output only. A bidding strategy that automatically optimizes towards a * chosen percentage of impressions. */ readonly targetImpressionShare?: GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare; /** * Output only. A bidding strategy that helps you maximize revenue while * averaging a specific target Return On Ad Spend (ROAS). */ readonly targetRoas?: GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas; /** * Output only. A bid strategy that sets your bids to help get as many clicks * as possible within your budget. */ readonly targetSpend?: GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend; /** * Output only. The type of the bidding strategy. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "COMMISSION" | "ENHANCED_CPC" | "INVALID" | "MANUAL_CPA" | "MANUAL_CPC" | "MANUAL_CPM" | "MANUAL_CPV" | "MAXIMIZE_CONVERSIONS" | "MAXIMIZE_CONVERSION_VALUE" | "PAGE_ONE_PROMOTED" | "PERCENT_CPC" | "TARGET_CPA" | "TARGET_CPC" | "TARGET_CPM" | "TARGET_IMPRESSION_SHARE" | "TARGET_OUTRANK_SHARE" | "TARGET_ROAS" | "TARGET_SPEND"; } /** * An account-level budget. It contains information about the budget itself, as * well as the most recently approved changes to the budget and proposed changes * that are pending approval. The proposed changes that are pending approval, if * any, are found in 'pending_proposal'. Effective details about the budget are * found in fields prefixed 'approved_', 'adjusted_' and those without a prefix. * Since some effective details may differ from what the user had originally * requested (for example, spending limit), these differences are juxtaposed * through 'proposed_', 'approved_', and possibly 'adjusted_' fields. This * resource is mutated using AccountBudgetProposal and cannot be mutated * directly. A budget may have at most one pending proposal at any given time. * It is read through pending_proposal. Once approved, a budget may be subject * to adjustments, such as credit adjustments. Adjustments create differences * between the 'approved' and 'adjusted' fields, which would otherwise be * identical. */ export interface GoogleAdsSearchads360V23Resources__AccountBudget { /** * Output only. The adjusted spending limit in micros. One million is * equivalent to one unit. If the approved spending limit is finite, the * adjusted spending limit may vary depending on the types of adjustments * applied to this budget, if applicable. The different kinds of adjustments * are described here: https://support.google.com/google-ads/answer/1704323 * For example, a debit adjustment reduces how much the account is allowed to * spend. */ readonly adjustedSpendingLimitMicros?: bigint; /** * Output only. The adjusted spending limit as a well-defined type, for * example, INFINITE. This will only be populated if the adjusted spending * limit is INFINITE, which is guaranteed to be true if the approved spending * limit is INFINITE. */ readonly adjustedSpendingLimitType?: | "UNSPECIFIED" | "UNKNOWN" | "INFINITE"; /** * Output only. The value of Ads that have been served, in micros. This * includes overdelivery costs, in which case a credit might be automatically * applied to the budget (see total_adjustments_micros). */ readonly amountServedMicros?: bigint; /** * Output only. The approved end time in yyyy-MM-dd HH:mm:ss format. */ readonly approvedEndDateTime?: string; /** * Output only. The approved end time as a well-defined type, for example, * FOREVER. */ readonly approvedEndTimeType?: | "UNSPECIFIED" | "UNKNOWN" | "NOW" | "FOREVER"; /** * Output only. The approved spending limit in micros. One million is * equivalent to one unit. This will only be populated if the proposed * spending limit is finite, and will always be greater than or equal to the * proposed spending limit. */ readonly approvedSpendingLimitMicros?: bigint; /** * Output only. The approved spending limit as a well-defined type, for * example, INFINITE. This will only be populated if the approved spending * limit is INFINITE. */ readonly approvedSpendingLimitType?: | "UNSPECIFIED" | "UNKNOWN" | "INFINITE"; /** * Output only. The approved start time of the account-level budget in * yyyy-MM-dd HH:mm:ss format. For example, if a new budget is approved after * the proposed start time, the approved start time is the time of approval. */ readonly approvedStartDateTime?: string; /** * Output only. The resource name of the billing setup associated with this * account-level budget. BillingSetup resource names have the form: * `customers/{customer_id}/billingSetups/{billing_setup_id}` */ readonly billingSetup?: string; /** * Output only. The ID of the account-level budget. */ readonly id?: bigint; /** * Output only. The name of the account-level budget. */ readonly name?: string; /** * Output only. Notes associated with the budget. */ readonly notes?: string; /** * Output only. The pending proposal to modify this budget, if applicable. */ readonly pendingProposal?: GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal; /** * Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format. */ readonly proposedEndDateTime?: string; /** * Output only. The proposed end time as a well-defined type, for example, * FOREVER. */ readonly proposedEndTimeType?: | "UNSPECIFIED" | "UNKNOWN" | "NOW" | "FOREVER"; /** * Output only. The proposed spending limit in micros. One million is * equivalent to one unit. */ readonly proposedSpendingLimitMicros?: bigint; /** * Output only. The proposed spending limit as a well-defined type, for * example, INFINITE. */ readonly proposedSpendingLimitType?: | "UNSPECIFIED" | "UNKNOWN" | "INFINITE"; /** * Output only. The proposed start time of the account-level budget in * yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, this * is the time of request. */ readonly proposedStartDateTime?: string; /** * Output only. A purchase order number is a value that helps users reference * this budget in their monthly invoices. */ readonly purchaseOrderNumber?: string; /** * Output only. The resource name of the account-level budget. AccountBudget * resource names have the form: * `customers/{customer_id}/accountBudgets/{account_budget_id}` */ readonly resourceName?: string; /** * Output only. The status of this account-level budget. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "APPROVED" | "CANCELLED"; /** * Output only. The total adjustments amount. An example of an adjustment is * courtesy credits. */ readonly totalAdjustmentsMicros?: bigint; } /** * An account-level budget proposal. All fields prefixed with 'proposed' may * not necessarily be applied directly. For example, proposed spending limits * may be adjusted before their application. This is true if the 'proposed' * field has an 'approved' counterpart, for example, spending limits. Note that * the proposal type (proposal_type) changes which fields are required and which * must remain empty. */ export interface GoogleAdsSearchads360V23Resources__AccountBudgetProposal { /** * Immutable. The resource name of the account-level budget associated with * this proposal. */ accountBudget?: string; /** * Output only. The date time when this account-level budget was approved, if * applicable. */ readonly approvalDateTime?: string; /** * Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format. */ readonly approvedEndDateTime?: string; /** * Output only. The approved end date time as a well-defined type, for * example, FOREVER. */ readonly approvedEndTimeType?: | "UNSPECIFIED" | "UNKNOWN" | "NOW" | "FOREVER"; /** * Output only. The approved spending limit in micros. One million is * equivalent to one unit. */ readonly approvedSpendingLimitMicros?: bigint; /** * Output only. The approved spending limit as a well-defined type, for * example, INFINITE. */ readonly approvedSpendingLimitType?: | "UNSPECIFIED" | "UNKNOWN" | "INFINITE"; /** * Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format. */ readonly approvedStartDateTime?: string; /** * Immutable. The resource name of the billing setup associated with this * proposal. */ billingSetup?: string; /** * Output only. The date time when this account-level budget proposal was * created, which is not the same as its approval date time, if applicable. */ readonly creationDateTime?: string; /** * Output only. The ID of the proposal. */ readonly id?: bigint; /** * Immutable. The type of this proposal, for example, END to end the budget * associated with this proposal. */ proposalType?: | "UNSPECIFIED" | "UNKNOWN" | "CREATE" | "UPDATE" | "END" | "REMOVE"; /** * Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format. */ proposedEndDateTime?: string; /** * Immutable. The proposed end date time as a well-defined type, for example, * FOREVER. */ proposedEndTimeType?: | "UNSPECIFIED" | "UNKNOWN" | "NOW" | "FOREVER"; /** * Immutable. The name to assign to the account-level budget. */ proposedName?: string; /** * Immutable. Notes associated with this budget. */ proposedNotes?: string; /** * Immutable. A purchase order number is a value that enables the user to * help them reference this budget in their monthly invoices. */ proposedPurchaseOrderNumber?: string; /** * Immutable. The proposed spending limit in micros. One million is * equivalent to one unit. */ proposedSpendingLimitMicros?: bigint; /** * Immutable. The proposed spending limit as a well-defined type, for * example, INFINITE. */ proposedSpendingLimitType?: | "UNSPECIFIED" | "UNKNOWN" | "INFINITE"; /** * Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format. */ proposedStartDateTime?: string; /** * Immutable. The proposed start date time as a well-defined type, for * example, NOW. */ proposedStartTimeType?: | "UNSPECIFIED" | "UNKNOWN" | "NOW" | "FOREVER"; /** * Immutable. The resource name of the proposal. AccountBudgetProposal * resource names have the form: * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` */ resourceName?: string; /** * Output only. The status of this proposal. When a new proposal is created, * the status defaults to PENDING. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "APPROVED_HELD" | "APPROVED" | "CANCELLED" | "REJECTED"; } function serializeGoogleAdsSearchads360V23Resources__AccountBudgetProposal(data: any): GoogleAdsSearchads360V23Resources__AccountBudgetProposal { return { ...data, proposedSpendingLimitMicros: data["proposedSpendingLimitMicros"] !== undefined ? String(data["proposedSpendingLimitMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__AccountBudgetProposal(data: any): GoogleAdsSearchads360V23Resources__AccountBudgetProposal { return { ...data, approvedSpendingLimitMicros: data["approvedSpendingLimitMicros"] !== undefined ? BigInt(data["approvedSpendingLimitMicros"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, proposedSpendingLimitMicros: data["proposedSpendingLimitMicros"] !== undefined ? BigInt(data["proposedSpendingLimitMicros"]) : undefined, }; } /** * Represents the data sharing connection between a Google Ads account and * another account */ export interface GoogleAdsSearchads360V23Resources__AccountLink { /** * Output only. The ID of the link. This field is read only. */ readonly accountLinkId?: bigint; /** * Immutable. Resource name of the account link. AccountLink resource names * have the form: `customers/{customer_id}/accountLinks/{account_link_id}` */ resourceName?: string; /** * The status of the link. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED" | "REQUESTED" | "PENDING_APPROVAL" | "REJECTED" | "REVOKED"; /** * Immutable. A third party app analytics link. */ thirdPartyAppAnalytics?: GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier; /** * Output only. The type of the linked account. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "THIRD_PARTY_APP_ANALYTICS"; } function serializeGoogleAdsSearchads360V23Resources__AccountLink(data: any): GoogleAdsSearchads360V23Resources__AccountLink { return { ...data, thirdPartyAppAnalytics: data["thirdPartyAppAnalytics"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier(data["thirdPartyAppAnalytics"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__AccountLink(data: any): GoogleAdsSearchads360V23Resources__AccountLink { return { ...data, accountLinkId: data["accountLinkId"] !== undefined ? BigInt(data["accountLinkId"]) : undefined, thirdPartyAppAnalytics: data["thirdPartyAppAnalytics"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier(data["thirdPartyAppAnalytics"]) : undefined, }; } /** * An ad. */ export interface GoogleAdsSearchads360V23Resources__Ad { /** * Output only. Indicates if this ad was automatically added by Google Ads * and not by a user. For example, this could happen when ads are * automatically created as suggestions for new ads based on knowledge of how * existing ads are performing. */ readonly addedByGoogleAds?: boolean; /** * Details pertaining to an app ad. */ appAd?: GoogleAdsSearchads360V23Common__AppAdInfo; /** * Details pertaining to an app engagement ad. */ appEngagementAd?: GoogleAdsSearchads360V23Common__AppEngagementAdInfo; /** * Details pertaining to an app pre-registration ad. */ appPreRegistrationAd?: GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo; /** * Details pertaining to a Demand Gen carousel ad. */ demandGenCarouselAd?: GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo; /** * Details pertaining to a Demand Gen multi asset ad. */ demandGenMultiAssetAd?: GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo; /** * Details pertaining to a Demand Gen product ad. */ demandGenProductAd?: GoogleAdsSearchads360V23Common__DemandGenProductAdInfo; /** * Details pertaining to a Demand Gen video responsive ad. */ demandGenVideoResponsiveAd?: GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo; /** * The device preference for the ad. You can only specify a preference for * mobile devices. When this preference is set the ad will be preferred over * other ads when being displayed on a mobile device. The ad can still be * displayed on other device types, for example, if no other ads are * available. If unspecified (no device preference), all devices are targeted. * This is only supported by some ad types. */ devicePreference?: | "UNSPECIFIED" | "UNKNOWN" | "MOBILE" | "TABLET" | "DESKTOP" | "CONNECTED_TV" | "OTHER"; /** * Details pertaining to a display upload ad. */ displayUploadAd?: GoogleAdsSearchads360V23Common__DisplayUploadAdInfo; /** * The URL that appears in the ad description for some ad formats. */ displayUrl?: string; /** * Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type * of ad has its headline, final URLs, and display URL auto-generated at * serving time according to domain name specific information provided by * `dynamic_search_ads_setting` linked at the campaign level. */ expandedDynamicSearchAd?: GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo; /** * Details pertaining to an expanded text ad. */ expandedTextAd?: GoogleAdsSearchads360V23Common__ExpandedTextAdInfo; /** * A list of final app URLs that will be used on mobile if the user has the * specific app installed. */ finalAppUrls?: GoogleAdsSearchads360V23Common__FinalAppUrl[]; /** * The list of possible final mobile URLs after all cross-domain redirects * for the ad. */ finalMobileUrls?: string[]; /** * The list of possible final URLs after all cross-domain redirects for the * ad. */ finalUrls?: string[]; /** * The suffix to use when constructing a final URL. */ finalUrlSuffix?: string; /** * Details pertaining to a hotel ad. */ hotelAd?: GoogleAdsSearchads360V23Common__HotelAdInfo; /** * Output only. The ID of the ad. */ readonly id?: bigint; /** * Immutable. Details pertaining to an Image ad. */ imageAd?: GoogleAdsSearchads360V23Common__ImageAdInfo; /** * Immutable. Details pertaining to a legacy app install ad. */ legacyAppInstallAd?: GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo; /** * Details pertaining to a legacy responsive display ad. */ legacyResponsiveDisplayAd?: GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo; /** * Details pertaining to a local ad. */ localAd?: GoogleAdsSearchads360V23Common__LocalAdInfo; /** * Immutable. The name of the ad. This is only used to be able to identify * the ad. It does not need to be unique and does not affect the served ad. */ name?: string; /** * Immutable. Details pertaining to a product ad. */ productAd?: GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo; /** * Immutable. The resource name of the ad. Ad resource names have the form: * `customers/{customer_id}/ads/{ad_id}` */ resourceName?: string; /** * Details pertaining to a responsive display ad. */ responsiveDisplayAd?: GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo; /** * Details pertaining to a responsive search ad. */ responsiveSearchAd?: GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo; /** * Immutable. Details pertaining to an expanded dynamic search ad. */ searchAds360ExpandedDynamicSearchAd?: GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo; /** * Immutable. Details pertaining to an expanded text ad. */ searchAds360ExpandedTextAd?: GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo; /** * Immutable. Details pertaining to a responsive search ad. */ searchAds360ResponsiveSearchAd?: GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo; /** * Immutable. Details pertaining to a text ad. */ searchAds360TextAd?: GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo; /** * Details pertaining to a Shopping Comparison Listing ad. */ shoppingComparisonListingAd?: GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo; /** * Details pertaining to a Shopping product ad. */ shoppingProductAd?: GoogleAdsSearchads360V23Common__ShoppingProductAdInfo; /** * Details pertaining to a Smart Shopping ad. */ shoppingSmartAd?: GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo; /** * Details pertaining to a Smart campaign ad. */ smartCampaignAd?: GoogleAdsSearchads360V23Common__SmartCampaignAdInfo; /** * Output only. If this ad is system managed, then this field will indicate * the source. This field is read-only. */ readonly systemManagedResourceSource?: | "UNSPECIFIED" | "UNKNOWN" | "AD_VARIATIONS"; /** * Immutable. Details pertaining to a text ad. */ textAd?: GoogleAdsSearchads360V23Common__TextAdInfo; /** * The URL template for constructing a tracking URL. */ trackingUrlTemplate?: string; /** * Details pertaining to a travel ad. */ travelAd?: GoogleAdsSearchads360V23Common__TravelAdInfo; /** * Output only. The type of ad. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "TEXT_AD" | "EXPANDED_TEXT_AD" | "EXPANDED_DYNAMIC_SEARCH_AD" | "HOTEL_AD" | "SHOPPING_SMART_AD" | "SHOPPING_PRODUCT_AD" | "VIDEO_AD" | "IMAGE_AD" | "RESPONSIVE_SEARCH_AD" | "LEGACY_RESPONSIVE_DISPLAY_AD" | "APP_AD" | "LEGACY_APP_INSTALL_AD" | "RESPONSIVE_DISPLAY_AD" | "LOCAL_AD" | "HTML5_UPLOAD_AD" | "DYNAMIC_HTML5_AD" | "APP_ENGAGEMENT_AD" | "SHOPPING_COMPARISON_LISTING_AD" | "VIDEO_BUMPER_AD" | "VIDEO_NON_SKIPPABLE_IN_STREAM_AD" | "VIDEO_TRUEVIEW_IN_STREAM_AD" | "VIDEO_RESPONSIVE_AD" | "SMART_CAMPAIGN_AD" | "CALL_AD" | "APP_PRE_REGISTRATION_AD" | "DEMAND_GEN_MULTI_ASSET_AD" | "DEMAND_GEN_CAROUSEL_AD" | "TRAVEL_AD" | "DEMAND_GEN_VIDEO_RESPONSIVE_AD" | "DEMAND_GEN_PRODUCT_AD" | "MULTIMEDIA_AD"; /** * Additional URLs for the ad that are tagged with a unique identifier that * can be referenced from other fields in the ad. */ urlCollections?: GoogleAdsSearchads360V23Common__UrlCollection[]; /** * The list of mappings that can be used to substitute custom parameter tags * in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For * mutates, use url custom parameter operations. */ urlCustomParameters?: GoogleAdsSearchads360V23Common__CustomParameter[]; } function serializeGoogleAdsSearchads360V23Resources__Ad(data: any): GoogleAdsSearchads360V23Resources__Ad { return { ...data, appAd: data["appAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AppAdInfo(data["appAd"]) : undefined, appEngagementAd: data["appEngagementAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AppEngagementAdInfo(data["appEngagementAd"]) : undefined, appPreRegistrationAd: data["appPreRegistrationAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo(data["appPreRegistrationAd"]) : undefined, demandGenCarouselAd: data["demandGenCarouselAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo(data["demandGenCarouselAd"]) : undefined, demandGenMultiAssetAd: data["demandGenMultiAssetAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo(data["demandGenMultiAssetAd"]) : undefined, demandGenProductAd: data["demandGenProductAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DemandGenProductAdInfo(data["demandGenProductAd"]) : undefined, demandGenVideoResponsiveAd: data["demandGenVideoResponsiveAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo(data["demandGenVideoResponsiveAd"]) : undefined, imageAd: data["imageAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ImageAdInfo(data["imageAd"]) : undefined, localAd: data["localAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__LocalAdInfo(data["localAd"]) : undefined, responsiveDisplayAd: data["responsiveDisplayAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo(data["responsiveDisplayAd"]) : undefined, responsiveSearchAd: data["responsiveSearchAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo(data["responsiveSearchAd"]) : undefined, searchAds360ExpandedDynamicSearchAd: data["searchAds360ExpandedDynamicSearchAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo(data["searchAds360ExpandedDynamicSearchAd"]) : undefined, searchAds360ExpandedTextAd: data["searchAds360ExpandedTextAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo(data["searchAds360ExpandedTextAd"]) : undefined, searchAds360ResponsiveSearchAd: data["searchAds360ResponsiveSearchAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo(data["searchAds360ResponsiveSearchAd"]) : undefined, searchAds360TextAd: data["searchAds360TextAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__SearchAds360TextAdInfo(data["searchAds360TextAd"]) : undefined, smartCampaignAd: data["smartCampaignAd"] !== undefined ? serializeGoogleAdsSearchads360V23Common__SmartCampaignAdInfo(data["smartCampaignAd"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__Ad(data: any): GoogleAdsSearchads360V23Resources__Ad { return { ...data, appAd: data["appAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AppAdInfo(data["appAd"]) : undefined, appEngagementAd: data["appEngagementAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AppEngagementAdInfo(data["appEngagementAd"]) : undefined, appPreRegistrationAd: data["appPreRegistrationAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo(data["appPreRegistrationAd"]) : undefined, demandGenCarouselAd: data["demandGenCarouselAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo(data["demandGenCarouselAd"]) : undefined, demandGenMultiAssetAd: data["demandGenMultiAssetAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo(data["demandGenMultiAssetAd"]) : undefined, demandGenProductAd: data["demandGenProductAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DemandGenProductAdInfo(data["demandGenProductAd"]) : undefined, demandGenVideoResponsiveAd: data["demandGenVideoResponsiveAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo(data["demandGenVideoResponsiveAd"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, imageAd: data["imageAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ImageAdInfo(data["imageAd"]) : undefined, localAd: data["localAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__LocalAdInfo(data["localAd"]) : undefined, responsiveDisplayAd: data["responsiveDisplayAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo(data["responsiveDisplayAd"]) : undefined, responsiveSearchAd: data["responsiveSearchAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo(data["responsiveSearchAd"]) : undefined, searchAds360ExpandedDynamicSearchAd: data["searchAds360ExpandedDynamicSearchAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo(data["searchAds360ExpandedDynamicSearchAd"]) : undefined, searchAds360ExpandedTextAd: data["searchAds360ExpandedTextAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo(data["searchAds360ExpandedTextAd"]) : undefined, searchAds360ResponsiveSearchAd: data["searchAds360ResponsiveSearchAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo(data["searchAds360ResponsiveSearchAd"]) : undefined, searchAds360TextAd: data["searchAds360TextAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__SearchAds360TextAdInfo(data["searchAds360TextAd"]) : undefined, smartCampaignAd: data["smartCampaignAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__SmartCampaignAdInfo(data["smartCampaignAd"]) : undefined, }; } /** * An ad group. */ export interface GoogleAdsSearchads360V23Resources__AdGroup { /** * The ad rotation mode of the ad group. */ adRotationMode?: | "UNSPECIFIED" | "UNKNOWN" | "OPTIMIZE" | "ROTATE_FOREVER"; /** * Settings for AI Max feature in standard search adgroups. */ aiMaxAdGroupSetting?: GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting; /** * Immutable. Setting for audience related features. */ audienceSetting?: GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting; /** * Output only. For draft or experiment ad groups, this field is the resource * name of the base ad group from which this ad group was created. If a draft * or experiment ad group does not have a base ad group, then this field is * null. For base ad groups, this field equals the ad group resource name. * This field is read-only. */ readonly baseAdGroup?: string; /** * Immutable. The campaign to which the ad group belongs. */ campaign?: string; /** * The maximum CPC (cost-per-click) bid. This field is used when the ad * group's effective bidding strategy is Manual CPC. This field is not * applicable and will be ignored if the ad group's campaign is using a * portfolio bidding strategy. */ cpcBidMicros?: bigint; /** * The maximum CPM (cost-per-thousand viewable impressions) bid. */ cpmBidMicros?: bigint; /** * The CPV (cost-per-view) bid. */ cpvBidMicros?: bigint; /** * Output only. The timestamp when this ad_group was created. The timestamp * is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. */ readonly creationTime?: string; /** * Settings for Demand Gen ad groups. */ demandGenAdGroupSettings?: GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings; /** * Lets advertisers specify a targeting dimension on which to place absolute * bids. This is only applicable for campaigns that target only the display * network and not search. */ displayCustomBidDimension?: | "UNSPECIFIED" | "UNKNOWN" | "KEYWORD" | "AUDIENCE" | "TOPIC" | "GENDER" | "AGE_RANGE" | "PLACEMENT" | "PARENTAL_STATUS" | "INCOME_RANGE"; /** * Output only. Value will be same as that of the CPC (cost-per-click) bid * value when the bidding strategy is one of manual cpc, enhanced cpc, page * one promoted or target outrank share, otherwise the value will be null. */ readonly effectiveCpcBidMicros?: bigint; /** * Output only. The resource names of effective labels attached to this ad * group. An effective label is a label inherited or directly assigned to this * ad group. */ readonly effectiveLabels?: string[]; /** * Output only. The effective target CPA (cost-per-acquisition). This field * is read-only. */ readonly effectiveTargetCpaMicros?: bigint; /** * Output only. Source of the effective target CPA. This field is read-only. */ readonly effectiveTargetCpaSource?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_BIDDING_STRATEGY" | "AD_GROUP" | "AD_GROUP_CRITERION"; /** * Output only. The effective target CPC (cost-per-click). This field is * read-only. */ readonly effectiveTargetCpc?: bigint; /** * Output only. Source of the effective target CPC. This field is read-only. */ readonly effectiveTargetCpcSource?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_BIDDING_STRATEGY" | "AD_GROUP" | "AD_GROUP_CRITERION"; /** * Output only. The effective target ROAS (return-on-ad-spend). This field is * read-only. */ readonly effectiveTargetRoas?: number; /** * Output only. Source of the effective target ROAS. This field is read-only. */ readonly effectiveTargetRoasSource?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_BIDDING_STRATEGY" | "AD_GROUP" | "AD_GROUP_CRITERION"; /** * Output only. Date when the ad group ends serving ads. By default, the ad * group ends on the ad group's end date. If this field is set, then the ad * group ends at the end of the specified date in the customer's time zone. * This field is only available for Microsoft Advertising and Facebook gateway * accounts. Format: YYYY-MM-DD Example: 2019-03-14 */ readonly endDate?: string; /** * Output only. ID of the ad group in the external engine account. This field * is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, * Baidu etc. For Google Ads entity, use "ad_group.id" instead. */ readonly engineId?: string; /** * Output only. The Engine Status for ad group. */ readonly engineStatus?: | "UNSPECIFIED" | "UNKNOWN" | "AD_GROUP_ELIGIBLE" | "AD_GROUP_EXPIRED" | "AD_GROUP_REMOVED" | "AD_GROUP_DRAFT" | "AD_GROUP_PAUSED" | "AD_GROUP_SERVING" | "AD_GROUP_SUBMITTED" | "CAMPAIGN_PAUSED" | "ACCOUNT_PAUSED"; /** * When this value is true, demographics will be excluded from the types of * targeting which are expanded when optimized_targeting_enabled is true. When * optimized_targeting_enabled is false, this field is ignored. Default is * false. */ excludeDemographicExpansion?: boolean; /** * The asset field types that should be excluded from this ad group. Asset * links with these field types will not be inherited by this ad group from * the upper levels. */ excludedParentAssetFieldTypes?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"[]; /** * The asset set types that should be excluded from this ad group. Asset set * links with these types will not be inherited by this ad group from the * upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, * CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of * LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all * location group asset sets are not allowed to be linked to this ad group, * and all Location Extension (LE) and Affiliate Location Extensions (ALE) * will not be served under this ad group. Only LOCATION_SYNC is currently * supported. */ excludedParentAssetSetTypes?: | "UNSPECIFIED" | "UNKNOWN" | "PAGE_FEED" | "DYNAMIC_EDUCATION" | "MERCHANT_CENTER_FEED" | "DYNAMIC_REAL_ESTATE" | "DYNAMIC_CUSTOM" | "DYNAMIC_HOTELS_AND_RENTALS" | "DYNAMIC_FLIGHTS" | "DYNAMIC_TRAVEL" | "DYNAMIC_LOCAL" | "DYNAMIC_JOBS" | "LOCATION_SYNC" | "BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP" | "CHAIN_DYNAMIC_LOCATION_GROUP" | "STATIC_LOCATION_GROUP" | "HOTEL_PROPERTY" | "TRAVEL_FEED"[]; /** * URL template for appending params to Final URL. */ finalUrlSuffix?: string; /** * The fixed amount in micros that the advertiser pays for every thousand * impressions of the ad. */ fixedCpmMicros?: bigint; /** * Output only. The ID of the ad group. */ readonly id?: bigint; /** * Output only. The resource names of labels attached to this ad group. */ readonly labels?: string[]; /** * Output only. The language of the ads and keywords in an ad group. This * field is only available for Microsoft Advertising accounts. More details: * https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage */ readonly languageCode?: string; /** * Output only. The datetime when this ad group was last modified. The * datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" * format. */ readonly lastModifiedTime?: string; /** * The name of the ad group. This field is required and should not be empty * when creating new ad groups. It must contain fewer than 255 UTF-8 * full-width characters. It must not contain any null (code point 0x0), NL * line feed (code point 0xA) or carriage return (code point 0xD) characters. */ name?: string; /** * True if optimized targeting is enabled. Optimized Targeting is the * replacement for Audience Expansion. */ optimizedTargetingEnabled?: boolean; /** * The percent cpc bid amount, expressed as a fraction of the advertised * price for some good or service. The valid range for the fraction is [0,1) * and the value stored here is 1,000,000 * [fraction]. */ percentCpcBidMicros?: bigint; /** * Output only. Provides aggregated view into why an ad group is not serving * or not serving optimally. */ readonly primaryStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "PAUSED" | "REMOVED" | "PENDING" | "NOT_ELIGIBLE" | "LIMITED"; /** * Output only. Provides reasons for why an ad group is not serving or not * serving optimally. */ readonly primaryStatusReasons?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_REMOVED" | "CAMPAIGN_PAUSED" | "CAMPAIGN_PENDING" | "CAMPAIGN_ENDED" | "AD_GROUP_PAUSED" | "AD_GROUP_REMOVED" | "AD_GROUP_INCOMPLETE" | "KEYWORDS_PAUSED" | "NO_KEYWORDS" | "AD_GROUP_ADS_PAUSED" | "NO_AD_GROUP_ADS" | "HAS_ADS_DISAPPROVED" | "HAS_ADS_LIMITED_BY_POLICY" | "MOST_ADS_UNDER_REVIEW" | "CAMPAIGN_DRAFT" | "AD_GROUP_PAUSED_DUE_TO_LOW_ACTIVITY"[]; /** * Immutable. The resource name of the ad group. Ad group resource names have * the form: `customers/{customer_id}/adGroups/{ad_group_id}` */ resourceName?: string; /** * Output only. Date when this ad group starts serving ads. By default, the * ad group starts now or the ad group's start date, whichever is later. If * this field is set, then the ad group starts at the beginning of the * specified date in the customer's time zone. This field is only available * for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD * Example: 2019-03-14 */ readonly startDate?: string; /** * The status of the ad group. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "PAUSED" | "REMOVED"; /** * The target CPA (cost-per-acquisition). If the ad group's campaign bidding * strategy is TargetCpa or MaximizeConversions (with its target_cpa field * set), then this field overrides the target CPA specified in the campaign's * bidding strategy. Otherwise, this value is ignored. */ targetCpaMicros?: bigint; /** * Average amount in micros that the advertiser is willing to pay for every * ad click. Overrides the target CPC configured at the campaign level. */ targetCpcMicros?: bigint; /** * Average amount in micros that the advertiser is willing to pay for every * thousand times the ad is shown. */ targetCpmMicros?: bigint; /** * Average amount in micros that the advertiser is willing to pay for every * ad view. */ targetCpvMicros?: bigint; /** * Setting for targeting related features. */ targetingSetting?: GoogleAdsSearchads360V23Common__TargetingSetting; /** * The target ROAS (return-on-ad-spend) for this ad group. This field lets * you override the target ROAS specified in the campaign's bidding strategy, * but only if the campaign is using a standard (not portfolio) `TargetRoas` * strategy or a standard `MaximizeConversionValue` strategy with its * `target_roas` field set. If the campaign is using a portfolio bidding * strategy, this field cannot be set and attempting to do so will result in * an error. For any other bidding strategies, this value is ignored. To see * the actual target ROAS being used by the ad group, considering potential * overrides, query the `effective_target_roas` and * `effective_target_roas_source` fields. */ targetRoas?: number; /** * The URL template for constructing a tracking URL. */ trackingUrlTemplate?: string; /** * Immutable. The type of the ad group. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH_STANDARD" | "DISPLAY_STANDARD" | "SHOPPING_PRODUCT_ADS" | "HOTEL_ADS" | "SHOPPING_SMART_ADS" | "VIDEO_BUMPER" | "VIDEO_TRUE_VIEW_IN_STREAM" | "VIDEO_TRUE_VIEW_IN_DISPLAY" | "VIDEO_NON_SKIPPABLE_IN_STREAM" | "SEARCH_DYNAMIC_ADS" | "SHOPPING_COMPARISON_LISTING_ADS" | "PROMOTED_HOTEL_ADS" | "VIDEO_RESPONSIVE" | "VIDEO_EFFICIENT_REACH" | "SMART_CAMPAIGN_ADS" | "TRAVEL_ADS"; /** * The list of mappings used to substitute custom parameter tags in a * `tracking_url_template`, `final_urls`, or `mobile_final_urls`. */ urlCustomParameters?: GoogleAdsSearchads360V23Common__CustomParameter[]; /** * Vertical ads setting feature to enable/disable ad group format controls in * search campaigns. This setting requires AiMaxAdGroupSetting to be enabled * and a travel feed to be attached to the campaign. */ verticalAdsFormatSetting?: GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting; } function serializeGoogleAdsSearchads360V23Resources__AdGroup(data: any): GoogleAdsSearchads360V23Resources__AdGroup { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? String(data["cpcBidMicros"]) : undefined, cpmBidMicros: data["cpmBidMicros"] !== undefined ? String(data["cpmBidMicros"]) : undefined, cpvBidMicros: data["cpvBidMicros"] !== undefined ? String(data["cpvBidMicros"]) : undefined, fixedCpmMicros: data["fixedCpmMicros"] !== undefined ? String(data["fixedCpmMicros"]) : undefined, percentCpcBidMicros: data["percentCpcBidMicros"] !== undefined ? String(data["percentCpcBidMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? String(data["targetCpaMicros"]) : undefined, targetCpcMicros: data["targetCpcMicros"] !== undefined ? String(data["targetCpcMicros"]) : undefined, targetCpmMicros: data["targetCpmMicros"] !== undefined ? String(data["targetCpmMicros"]) : undefined, targetCpvMicros: data["targetCpvMicros"] !== undefined ? String(data["targetCpvMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__AdGroup(data: any): GoogleAdsSearchads360V23Resources__AdGroup { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? BigInt(data["cpcBidMicros"]) : undefined, cpmBidMicros: data["cpmBidMicros"] !== undefined ? BigInt(data["cpmBidMicros"]) : undefined, cpvBidMicros: data["cpvBidMicros"] !== undefined ? BigInt(data["cpvBidMicros"]) : undefined, effectiveCpcBidMicros: data["effectiveCpcBidMicros"] !== undefined ? BigInt(data["effectiveCpcBidMicros"]) : undefined, effectiveTargetCpaMicros: data["effectiveTargetCpaMicros"] !== undefined ? BigInt(data["effectiveTargetCpaMicros"]) : undefined, effectiveTargetCpc: data["effectiveTargetCpc"] !== undefined ? BigInt(data["effectiveTargetCpc"]) : undefined, fixedCpmMicros: data["fixedCpmMicros"] !== undefined ? BigInt(data["fixedCpmMicros"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, percentCpcBidMicros: data["percentCpcBidMicros"] !== undefined ? BigInt(data["percentCpcBidMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? BigInt(data["targetCpaMicros"]) : undefined, targetCpcMicros: data["targetCpcMicros"] !== undefined ? BigInt(data["targetCpcMicros"]) : undefined, targetCpmMicros: data["targetCpmMicros"] !== undefined ? BigInt(data["targetCpmMicros"]) : undefined, targetCpvMicros: data["targetCpvMicros"] !== undefined ? BigInt(data["targetCpvMicros"]) : undefined, }; } /** * An ad group ad. */ export interface GoogleAdsSearchads360V23Resources__AdGroupAd { /** * Output only. A list of recommendations to improve the ad strength. For * example, a recommendation could be "Try adding a few more unique headlines * or unpinning some assets.". */ readonly actionItems?: string[]; /** * Immutable. The ad. */ ad?: GoogleAdsSearchads360V23Resources__Ad; /** * Immutable. The ad group to which the ad belongs. */ adGroup?: string; /** * Settings that control the types of asset automation. See the * AssetAutomationTypeEnum documentation for the default opt in/out behavior * of each type. */ adGroupAdAssetAutomationSettings?: GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting[]; /** * Output only. Overall ad strength for this ad group ad. */ readonly adStrength?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "NO_ADS" | "POOR" | "AVERAGE" | "GOOD" | "EXCELLENT"; /** * Output only. The timestamp when this ad_group_ad was created. The datetime * is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. */ readonly creationTime?: string; /** * Output only. The resource names of effective labels attached to this ad. * An effective label is a label inherited or directly assigned to this ad. */ readonly effectiveLabels?: string[]; /** * Output only. ID of the ad in the external engine account. This field is * for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu * etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead. */ readonly engineId?: string; /** * Output only. Additional status of the ad in the external engine account. * Possible statuses (depending on the type of external account) include * active, eligible, pending review, etc. */ readonly engineStatus?: | "UNSPECIFIED" | "UNKNOWN" | "AD_GROUP_AD_ELIGIBLE" | "AD_GROUP_AD_INAPPROPRIATE_FOR_CAMPAIGN" | "AD_GROUP_AD_MOBILE_URL_UNDER_REVIEW" | "AD_GROUP_AD_PARTIALLY_INVALID" | "AD_GROUP_AD_TO_BE_ACTIVATED" | "AD_GROUP_AD_NOT_REVIEWED" | "AD_GROUP_AD_ON_HOLD" | "AD_GROUP_AD_PAUSED" | "AD_GROUP_AD_REMOVED" | "AD_GROUP_AD_PENDING_REVIEW" | "AD_GROUP_AD_UNDER_REVIEW" | "AD_GROUP_AD_APPROVED" | "AD_GROUP_AD_DISAPPROVED" | "AD_GROUP_AD_SERVING" | "AD_GROUP_AD_ACCOUNT_PAUSED" | "AD_GROUP_AD_CAMPAIGN_PAUSED" | "AD_GROUP_AD_AD_GROUP_PAUSED"; /** * Output only. The resource names of labels attached to this ad group ad. */ readonly labels?: string[]; /** * Output only. The datetime when this ad group ad was last modified. The * datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" * format. */ readonly lastModifiedTime?: string; /** * Output only. Policy information for the ad. */ readonly policySummary?: GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary; /** * Output only. Provides aggregated view into why an ad group ad is not * serving or not serving optimally. */ readonly primaryStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "PAUSED" | "REMOVED" | "PENDING" | "LIMITED" | "NOT_ELIGIBLE"; /** * Output only. Provides reasons for why an ad group ad is not serving or not * serving optimally. */ readonly primaryStatusReasons?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_REMOVED" | "CAMPAIGN_PAUSED" | "CAMPAIGN_PENDING" | "CAMPAIGN_ENDED" | "AD_GROUP_PAUSED" | "AD_GROUP_REMOVED" | "AD_GROUP_AD_PAUSED" | "AD_GROUP_AD_REMOVED" | "AD_GROUP_AD_DISAPPROVED" | "AD_GROUP_AD_UNDER_REVIEW" | "AD_GROUP_AD_POOR_QUALITY" | "AD_GROUP_AD_NO_ADS" | "AD_GROUP_AD_APPROVED_LABELED" | "AD_GROUP_AD_AREA_OF_INTEREST_ONLY" | "AD_GROUP_AD_UNDER_APPEAL"[]; /** * Immutable. The resource name of the ad. Ad group ad resource names have * the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` */ resourceName?: string; /** * The status of the ad. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "PAUSED" | "REMOVED"; } function serializeGoogleAdsSearchads360V23Resources__AdGroupAd(data: any): GoogleAdsSearchads360V23Resources__AdGroupAd { return { ...data, ad: data["ad"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Ad(data["ad"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__AdGroupAd(data: any): GoogleAdsSearchads360V23Resources__AdGroupAd { return { ...data, ad: data["ad"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Ad(data["ad"]) : undefined, }; } /** * Asset automation setting for an AdGroupAd. */ export interface GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting { /** * The opt-in/out status for the specified asset automation type. */ assetAutomationStatus?: | "UNSPECIFIED" | "UNKNOWN" | "OPTED_IN" | "OPTED_OUT"; /** * The asset automation type that this setting configures. */ assetAutomationType?: | "UNSPECIFIED" | "UNKNOWN" | "TEXT_ASSET_AUTOMATION" | "GENERATE_VERTICAL_YOUTUBE_VIDEOS" | "GENERATE_SHORTER_YOUTUBE_VIDEOS" | "GENERATE_LANDING_PAGE_PREVIEW" | "GENERATE_ENHANCED_YOUTUBE_VIDEOS" | "GENERATE_IMAGE_ENHANCEMENT" | "GENERATE_IMAGE_EXTRACTION" | "GENERATE_DESIGN_VERSIONS_FOR_IMAGES" | "FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION" | "GENERATE_VIDEOS_FROM_OTHER_ASSETS"; } /** * A view on the usage of ad group ad asset combination. Now we only support * AdGroupAdAssetCombinationView for Responsive Search Ads, with more ad types * planned for the future. */ export interface GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView { /** * Output only. The status between the asset combination and the latest * version of the ad. If true, the asset combination is linked to the latest * version of the ad. If false, it means the link once existed but has been * removed and is no longer present in the latest version of the ad. */ readonly enabled?: boolean; /** * Output only. The resource name of the ad group ad asset combination view. * The combination ID is 128 bits long, where the upper 64 bits are stored in * asset_combination_id_high, and the lower 64 bits are stored in * asset_combination_id_low. AdGroupAd Asset Combination view resource names * have the form: * `customers/{customer_id}/adGroupAdAssetCombinationViews/{AdGroupAd.ad_group_id}~{AdGroupAd.ad.ad_id}~{AssetCombination.asset_combination_id_low}~{AssetCombination.asset_combination_id_high}` */ readonly resourceName?: string; /** * Output only. Served assets. */ readonly servedAssets?: GoogleAdsSearchads360V23Common__AssetUsage[]; } /** * Contains policy information for an ad group ad asset. */ export interface GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary { /** * Output only. The overall approval status of this ad group ad asset, * calculated based on the status of its individual policy topic entries. */ readonly approvalStatus?: | "UNSPECIFIED" | "UNKNOWN" | "DISAPPROVED" | "APPROVED_LIMITED" | "APPROVED" | "AREA_OF_INTEREST_ONLY"; /** * Output only. The list of policy findings for the ad group ad asset. */ readonly policyTopicEntries?: GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; /** * Output only. Where in the review process this ad group ad asset is. */ readonly reviewStatus?: | "UNSPECIFIED" | "UNKNOWN" | "REVIEW_IN_PROGRESS" | "REVIEWED" | "UNDER_APPEAL" | "ELIGIBLE_MAY_SERVE"; } /** * Represents a link between an AdGroupAd and an Asset. This view provides * insights into the performance of assets within specific ads. * AdGroupAdAssetView supports the following ad types: * App Ads * Demand Gen * campaigns * Responsive Search Ads It does not support Responsive Display Ads. */ export interface GoogleAdsSearchads360V23Resources__AdGroupAdAssetView { /** * Output only. The ad group ad to which the asset is linked. */ readonly adGroupAd?: string; /** * Output only. The asset which is linked to the ad group ad. */ readonly asset?: string; /** * Output only. The status between the asset and the latest version of the * ad. If true, the asset is linked to the latest version of the ad. If false, * it means the link once existed but has been removed and is no longer * present in the latest version of the ad. */ readonly enabled?: boolean; /** * Output only. Role that the asset takes in the ad. */ readonly fieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Output only. Performance of an asset linkage. */ readonly performanceLabel?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "LEARNING" | "LOW" | "GOOD" | "BEST" | "NOT_APPLICABLE"; /** * Output only. Pinned field. */ readonly pinnedField?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE_1" | "HEADLINE_2" | "HEADLINE_3" | "DESCRIPTION_1" | "DESCRIPTION_2" | "HEADLINE" | "HEADLINE_IN_PORTRAIT" | "LONG_HEADLINE" | "DESCRIPTION" | "DESCRIPTION_IN_PORTRAIT" | "BUSINESS_NAME_IN_PORTRAIT" | "BUSINESS_NAME" | "MARKETING_IMAGE" | "MARKETING_IMAGE_IN_PORTRAIT" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "CALL_TO_ACTION" | "YOU_TUBE_VIDEO" | "SITELINK" | "CALL" | "MOBILE_APP" | "CALLOUT" | "STRUCTURED_SNIPPET" | "PRICE" | "PROMOTION" | "AD_IMAGE" | "LEAD_FORM" | "BUSINESS_LOGO" | "DESCRIPTION_PREFIX" | "HEADLINE_AS_SITELINK_POSITION_ONE" | "HEADLINE_AS_SITELINK_POSITION_TWO" | "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE" | "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO"; /** * Output only. Policy information for the ad group ad asset. */ readonly policySummary?: GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary; /** * Output only. The resource name of the ad group ad asset view. Ad group ad * asset view resource names have the form (Before V4): * `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` * Ad group ad asset view resource names have the form (Beginning from V4): * `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` */ readonly resourceName?: string; /** * Output only. Source of the ad group ad asset. */ readonly source?: | "UNSPECIFIED" | "UNKNOWN" | "ADVERTISER" | "AUTOMATICALLY_CREATED"; } /** * A relationship between an ad group ad and an effective label. An effective * label is a label inherited or directly assigned to this ad group ad. */ export interface GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel { /** * Immutable. The ad group ad to which the effective label is attached. */ adGroupAd?: string; /** * Immutable. The effective label assigned to the ad group ad. */ label?: string; /** * Output only. The ID of the Customer which owns the effective label. */ readonly ownerCustomerId?: bigint; /** * Immutable. The resource name of the ad group ad effective label. Ad group * ad effective label resource names have the form: * `customers/{owner_customer_id}/adGroupAdEffectiveLabels/{ad_group_id}~{ad_id}~{label_id}` */ resourceName?: string; } /** * A relationship between an ad group ad and a label. */ export interface GoogleAdsSearchads360V23Resources__AdGroupAdLabel { /** * Immutable. The ad group ad to which the label is attached. */ adGroupAd?: string; /** * Immutable. The label assigned to the ad group ad. */ label?: string; /** * Output only. The ID of the Customer which owns the label. */ readonly ownerCustomerId?: bigint; /** * Immutable. The resource name of the ad group ad label. Ad group ad label * resource names have the form: * `customers/{owner_customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}` */ resourceName?: string; } /** * Contains policy information for an ad. */ export interface GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary { /** * Output only. The overall approval status of this ad, calculated based on * the status of its individual policy topic entries. */ readonly approvalStatus?: | "UNSPECIFIED" | "UNKNOWN" | "DISAPPROVED" | "APPROVED_LIMITED" | "APPROVED" | "AREA_OF_INTEREST_ONLY"; /** * Output only. The list of policy findings for this ad. */ readonly policyTopicEntries?: GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; /** * Output only. Where in the review process this ad is. */ readonly reviewStatus?: | "UNSPECIFIED" | "UNKNOWN" | "REVIEW_IN_PROGRESS" | "REVIEWED" | "UNDER_APPEAL" | "ELIGIBLE_MAY_SERVE"; } /** * A link between an ad group and an asset. */ export interface GoogleAdsSearchads360V23Resources__AdGroupAsset { /** * Required. Immutable. The ad group to which the asset is linked. */ adGroup?: string; /** * Required. Immutable. The asset which is linked to the ad group. */ asset?: string; /** * Required. Immutable. Role that the asset takes under the linked ad group. */ fieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Output only. Provides the PrimaryStatus of this asset link. Primary status * is meant essentially to differentiate between the plain "status" field, * which has advertiser set values of enabled, paused, or removed. The primary * status takes into account other signals (for assets its mainly policy and * quality approvals) to come up with a more comprehensive status to indicate * its serving state. */ readonly primaryStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "PAUSED" | "REMOVED" | "PENDING" | "LIMITED" | "NOT_ELIGIBLE"; /** * Output only. Provides the details of the primary status and its associated * reasons. */ readonly primaryStatusDetails?: GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[]; /** * Output only. Provides a list of reasons for why an asset is not serving or * not serving at full capacity. */ readonly primaryStatusReasons?: | "UNSPECIFIED" | "UNKNOWN" | "ASSET_LINK_PAUSED" | "ASSET_LINK_REMOVED" | "ASSET_DISAPPROVED" | "ASSET_UNDER_REVIEW" | "ASSET_APPROVED_LABELED"[]; /** * Immutable. The resource name of the ad group asset. AdGroupAsset resource * names have the form: * `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}` */ resourceName?: string; /** * Output only. Source of the adgroup asset link. */ readonly source?: | "UNSPECIFIED" | "UNKNOWN" | "ADVERTISER" | "AUTOMATICALLY_CREATED"; /** * Status of the ad group asset. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED" | "PAUSED"; } /** * AdGroupAssetSet is the linkage between an ad group and an asset set. * Creating an AdGroupAssetSet links an asset set with an ad group. */ export interface GoogleAdsSearchads360V23Resources__AdGroupAssetSet { /** * Immutable. The ad group to which this asset set is linked. */ adGroup?: string; /** * Immutable. The asset set which is linked to the ad group. */ assetSet?: string; /** * Immutable. The resource name of the ad group asset set. Ad group asset set * resource names have the form: * `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}` */ resourceName?: string; /** * Output only. The status of the ad group asset set. Read-only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; } /** * An ad group audience view. Includes performance data from interests and * remarketing lists for Display Network and YouTube Network ads, and * remarketing lists for search ads (RLSA), aggregated at the audience level. */ export interface GoogleAdsSearchads360V23Resources__AdGroupAudienceView { /** * Output only. The resource name of the ad group audience view. Ad group * audience view resource names have the form: * `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * Represents an ad group bid modifier. */ export interface GoogleAdsSearchads360V23Resources__AdGroupBidModifier { /** * Immutable. The ad group to which this criterion belongs. */ adGroup?: string; /** * Output only. The base ad group from which this draft/trial adgroup bid * modifier was created. If ad_group is a base ad group then this field will * be equal to ad_group. If the ad group was created in the draft or trial and * has no corresponding base ad group, then this field will be null. This * field is readonly. */ readonly baseAdGroup?: string; /** * The modifier for the bid when the criterion matches. The modifier must be * in the range: 0.1 - 10.0. Use 0 to opt out of a Device type. */ bidModifier?: number; /** * Output only. Bid modifier source. */ readonly bidModifierSource?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN" | "AD_GROUP"; /** * Output only. The ID of the criterion to bid modify. This field is ignored * for mutates. */ readonly criterionId?: bigint; /** * Immutable. A device criterion. */ device?: GoogleAdsSearchads360V23Common__DeviceInfo; /** * Immutable. Criterion for number of days prior to the stay the booking is * being made. */ hotelAdvanceBookingWindow?: GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo; /** * Immutable. Criterion for a hotel check-in date range. */ hotelCheckInDateRange?: GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo; /** * Immutable. Criterion for day of the week the booking is for. */ hotelCheckInDay?: GoogleAdsSearchads360V23Common__HotelCheckInDayInfo; /** * Immutable. Criterion for hotel date selection (default dates versus user * selected). */ hotelDateSelectionType?: GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo; /** * Immutable. Criterion for length of hotel stay in nights. */ hotelLengthOfStay?: GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo; /** * Immutable. The resource name of the ad group bid modifier. Ad group bid * modifier resource names have the form: * `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Resources__AdGroupBidModifier(data: any): GoogleAdsSearchads360V23Resources__AdGroupBidModifier { return { ...data, hotelAdvanceBookingWindow: data["hotelAdvanceBookingWindow"] !== undefined ? serializeGoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo(data["hotelAdvanceBookingWindow"]) : undefined, hotelLengthOfStay: data["hotelLengthOfStay"] !== undefined ? serializeGoogleAdsSearchads360V23Common__HotelLengthOfStayInfo(data["hotelLengthOfStay"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__AdGroupBidModifier(data: any): GoogleAdsSearchads360V23Resources__AdGroupBidModifier { return { ...data, criterionId: data["criterionId"] !== undefined ? BigInt(data["criterionId"]) : undefined, hotelAdvanceBookingWindow: data["hotelAdvanceBookingWindow"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo(data["hotelAdvanceBookingWindow"]) : undefined, hotelLengthOfStay: data["hotelLengthOfStay"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__HotelLengthOfStayInfo(data["hotelLengthOfStay"]) : undefined, }; } /** * An ad group criterion. The ad_group_criterion report only returns criteria * that were explicitly added to the ad group. */ export interface GoogleAdsSearchads360V23Resources__AdGroupCriterion { /** * Immutable. The ad group to which the criterion belongs. */ adGroup?: string; /** * Immutable. Age range. */ ageRange?: GoogleAdsSearchads360V23Common__AgeRangeInfo; /** * Immutable. App Payment Model. */ appPaymentModel?: GoogleAdsSearchads360V23Common__AppPaymentModelInfo; /** * Output only. Approval status of the criterion. */ readonly approvalStatus?: | "UNSPECIFIED" | "UNKNOWN" | "APPROVED" | "DISAPPROVED" | "PENDING_REVIEW" | "UNDER_REVIEW"; /** * Immutable. Audience. */ audience?: GoogleAdsSearchads360V23Common__AudienceInfo; /** * The modifier for the bid when the criterion matches. The modifier must be * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. */ bidModifier?: number; /** * Immutable. Brand list criterion. */ brandList?: GoogleAdsSearchads360V23Common__BrandListInfo; /** * Immutable. Combined Audience. */ combinedAudience?: GoogleAdsSearchads360V23Common__CombinedAudienceInfo; /** * The CPC (cost-per-click) bid. */ cpcBidMicros?: bigint; /** * The CPM (cost-per-thousand viewable impressions) bid. */ cpmBidMicros?: bigint; /** * The CPV (cost-per-view) bid. */ cpvBidMicros?: bigint; /** * Output only. The timestamp when this ad group criterion was created. The * timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" * format. */ readonly creationTime?: string; /** * Output only. The ID of the criterion. */ readonly criterionId?: bigint; /** * Immutable. Custom Affinity. */ customAffinity?: GoogleAdsSearchads360V23Common__CustomAffinityInfo; /** * Immutable. Custom Audience. */ customAudience?: GoogleAdsSearchads360V23Common__CustomAudienceInfo; /** * Immutable. Custom Intent. */ customIntent?: GoogleAdsSearchads360V23Common__CustomIntentInfo; /** * Output only. List of disapproval reasons of the criterion. The different * reasons for disapproving a criterion can be found here: * https://support.google.com/adspolicy/answer/6008942 This field is * read-only. */ readonly disapprovalReasons?: string[]; /** * Output only. The display name of the criterion. */ readonly displayName?: string; /** * Output only. The effective CPC (cost-per-click) bid. */ readonly effectiveCpcBidMicros?: bigint; /** * Output only. Source of the effective CPC bid. */ readonly effectiveCpcBidSource?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_BIDDING_STRATEGY" | "AD_GROUP" | "AD_GROUP_CRITERION"; /** * Output only. The effective CPM (cost-per-thousand viewable impressions) * bid. */ readonly effectiveCpmBidMicros?: bigint; /** * Output only. Source of the effective CPM bid. */ readonly effectiveCpmBidSource?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_BIDDING_STRATEGY" | "AD_GROUP" | "AD_GROUP_CRITERION"; /** * Output only. The effective CPV (cost-per-view) bid. */ readonly effectiveCpvBidMicros?: bigint; /** * Output only. Source of the effective CPV bid. */ readonly effectiveCpvBidSource?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_BIDDING_STRATEGY" | "AD_GROUP" | "AD_GROUP_CRITERION"; /** * Output only. The resource names of effective labels attached to this ad * group criterion. An effective label is a label inherited or directly * assigned to this ad group criterion. */ readonly effectiveLabels?: string[]; /** * Output only. The effective Percent CPC bid amount. */ readonly effectivePercentCpcBidMicros?: bigint; /** * Output only. Source of the effective Percent CPC bid. */ readonly effectivePercentCpcBidSource?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_BIDDING_STRATEGY" | "AD_GROUP" | "AD_GROUP_CRITERION"; /** * Output only. ID of the ad group criterion in the external engine account. * This field is for non-Google Ads account only, for example, Yahoo Japan, * Microsoft, Baidu etc. For Google Ads entity, use * "ad_group_criterion.criterion_id" instead. */ readonly engineId?: string; /** * Output only. The Engine Status for ad group criterion. */ readonly engineStatus?: | "UNSPECIFIED" | "UNKNOWN" | "AD_GROUP_CRITERION_ELIGIBLE" | "AD_GROUP_CRITERION_INAPPROPRIATE_FOR_CAMPAIGN" | "AD_GROUP_CRITERION_INVALID_MOBILE_SEARCH" | "AD_GROUP_CRITERION_INVALID_PC_SEARCH" | "AD_GROUP_CRITERION_INVALID_SEARCH" | "AD_GROUP_CRITERION_LOW_SEARCH_VOLUME" | "AD_GROUP_CRITERION_MOBILE_URL_UNDER_REVIEW" | "AD_GROUP_CRITERION_PARTIALLY_INVALID" | "AD_GROUP_CRITERION_TO_BE_ACTIVATED" | "AD_GROUP_CRITERION_UNDER_REVIEW" | "AD_GROUP_CRITERION_NOT_REVIEWED" | "AD_GROUP_CRITERION_ON_HOLD" | "AD_GROUP_CRITERION_PENDING_REVIEW" | "AD_GROUP_CRITERION_PAUSED" | "AD_GROUP_CRITERION_REMOVED" | "AD_GROUP_CRITERION_APPROVED" | "AD_GROUP_CRITERION_DISAPPROVED" | "AD_GROUP_CRITERION_SERVING" | "AD_GROUP_CRITERION_ACCOUNT_PAUSED"; /** * Immutable. Extended demographic criterion. */ extendedDemographic?: GoogleAdsSearchads360V23Common__ExtendedDemographicInfo; /** * The list of possible final mobile URLs after all cross-domain redirects. */ finalMobileUrls?: string[]; /** * The list of possible final URLs after all cross-domain redirects for the * ad. */ finalUrls?: string[]; /** * URL template for appending params to final URL. */ finalUrlSuffix?: string; /** * Immutable. Gender. */ gender?: GoogleAdsSearchads360V23Common__GenderInfo; /** * Immutable. Income range. */ incomeRange?: GoogleAdsSearchads360V23Common__IncomeRangeInfo; /** * Immutable. Keyword. */ keyword?: GoogleAdsSearchads360V23Common__KeywordInfo; /** * Output only. The resource names of labels attached to this ad group * criterion. */ readonly labels?: string[]; /** * Immutable. Language. */ language?: GoogleAdsSearchads360V23Common__LanguageInfo; /** * Output only. The datetime when this ad group criterion was last modified. * The datetime is in the customer's time zone and in "yyyy-MM-dd * HH:mm:ss.ssssss" format. */ readonly lastModifiedTime?: string; /** * Immutable. Life event campaign criterion. */ lifeEvent?: GoogleAdsSearchads360V23Common__LifeEventInfo; /** * Immutable. Listing group. */ listingGroup?: GoogleAdsSearchads360V23Common__ListingGroupInfo; /** * Immutable. Location. */ location?: GoogleAdsSearchads360V23Common__LocationInfo; /** * Immutable. Mobile app category. */ mobileAppCategory?: GoogleAdsSearchads360V23Common__MobileAppCategoryInfo; /** * Immutable. Mobile application. */ mobileApplication?: GoogleAdsSearchads360V23Common__MobileApplicationInfo; /** * Immutable. Whether to target (`false`) or exclude (`true`) the criterion. * This field is immutable. To switch a criterion from positive to negative, * remove then re-add it. */ negative?: boolean; /** * Immutable. Parental status. */ parentalStatus?: GoogleAdsSearchads360V23Common__ParentalStatusInfo; /** * The CPC bid amount, expressed as a fraction of the advertised price for * some good or service. The valid range for the fraction is [0,1) and the * value stored here is 1,000,000 * [fraction]. */ percentCpcBidMicros?: bigint; /** * Immutable. Placement. */ placement?: GoogleAdsSearchads360V23Common__PlacementInfo; /** * Output only. Estimates for criterion bids at various positions. */ readonly positionEstimates?: GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates; /** * Output only. The primary status for the ad group criterion. */ readonly primaryStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "PAUSED" | "REMOVED" | "PENDING" | "NOT_ELIGIBLE"; /** * Output only. The primary status reasons for the ad group criterion. */ readonly primaryStatusReasons?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_PENDING" | "CAMPAIGN_CRITERION_NEGATIVE" | "CAMPAIGN_PAUSED" | "CAMPAIGN_REMOVED" | "CAMPAIGN_ENDED" | "AD_GROUP_PAUSED" | "AD_GROUP_REMOVED" | "AD_GROUP_CRITERION_DISAPPROVED" | "AD_GROUP_CRITERION_RARELY_SERVED" | "AD_GROUP_CRITERION_LOW_QUALITY" | "AD_GROUP_CRITERION_UNDER_REVIEW" | "AD_GROUP_CRITERION_PENDING_REVIEW" | "AD_GROUP_CRITERION_BELOW_FIRST_PAGE_BID" | "AD_GROUP_CRITERION_NEGATIVE" | "AD_GROUP_CRITERION_RESTRICTED" | "AD_GROUP_CRITERION_PAUSED" | "AD_GROUP_CRITERION_PAUSED_DUE_TO_LOW_ACTIVITY" | "AD_GROUP_CRITERION_REMOVED"[]; /** * Output only. Information regarding the quality of the criterion. */ readonly qualityInfo?: GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo; /** * Immutable. The resource name of the ad group criterion. Ad group criterion * resource names have the form: * `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` */ resourceName?: string; /** * The status of the criterion. This is the status of the ad group criterion * entity, set by the client. Note: UI reports may incorporate additional * information that affects whether a criterion is eligible to run. In some * cases a criterion that's REMOVED in the API can still show as enabled in * the UI. For example, campaigns by default show to users of all age ranges * unless excluded. The UI will show each age range as "enabled", since * they're eligible to see the ads; but AdGroupCriterion.status will show * "removed", since no positive criterion was added. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "PAUSED" | "REMOVED"; /** * Output only. Serving status of the criterion. */ readonly systemServingStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "RARELY_SERVED"; /** * Immutable. Topic. */ topic?: GoogleAdsSearchads360V23Common__TopicInfo; /** * The URL template for constructing a tracking URL. */ trackingUrlTemplate?: string; /** * Output only. The type of the criterion. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "KEYWORD" | "PLACEMENT" | "MOBILE_APP_CATEGORY" | "MOBILE_APPLICATION" | "DEVICE" | "LOCATION" | "LISTING_GROUP" | "AD_SCHEDULE" | "AGE_RANGE" | "GENDER" | "INCOME_RANGE" | "PARENTAL_STATUS" | "YOUTUBE_VIDEO" | "YOUTUBE_CHANNEL" | "USER_LIST" | "PROXIMITY" | "TOPIC" | "LISTING_SCOPE" | "LANGUAGE" | "IP_BLOCK" | "CONTENT_LABEL" | "CARRIER" | "USER_INTEREST" | "WEBPAGE" | "OPERATING_SYSTEM_VERSION" | "APP_PAYMENT_MODEL" | "MOBILE_DEVICE" | "CUSTOM_AFFINITY" | "CUSTOM_INTENT" | "LOCATION_GROUP" | "CUSTOM_AUDIENCE" | "COMBINED_AUDIENCE" | "KEYWORD_THEME" | "AUDIENCE" | "NEGATIVE_KEYWORD_LIST" | "LOCAL_SERVICE_ID" | "SEARCH_THEME" | "BRAND" | "BRAND_LIST" | "LIFE_EVENT" | "WEBPAGE_LIST" | "VIDEO_LINEUP" | "PLACEMENT_LIST" | "VERTICAL_ADS_ITEM_GROUP_RULE_LIST" | "VERTICAL_ADS_ITEM_GROUP_RULE"; /** * The list of mappings used to substitute custom parameter tags in a * `tracking_url_template`, `final_urls`, or `mobile_final_urls`. */ urlCustomParameters?: GoogleAdsSearchads360V23Common__CustomParameter[]; /** * Immutable. User Interest. */ userInterest?: GoogleAdsSearchads360V23Common__UserInterestInfo; /** * Immutable. User List. */ userList?: GoogleAdsSearchads360V23Common__UserListInfo; /** * Immutable. Vertical ads item group rule list criterion. */ verticalAdsItemGroupRuleList?: GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo; /** * Immutable. Video lineup criterion. */ videoLineup?: GoogleAdsSearchads360V23Common__VideoLineupInfo; /** * Immutable. Webpage */ webpage?: GoogleAdsSearchads360V23Common__WebpageInfo; /** * Immutable. YouTube Channel. */ youtubeChannel?: GoogleAdsSearchads360V23Common__YouTubeChannelInfo; /** * Immutable. YouTube Video. */ youtubeVideo?: GoogleAdsSearchads360V23Common__YouTubeVideoInfo; } function serializeGoogleAdsSearchads360V23Resources__AdGroupCriterion(data: any): GoogleAdsSearchads360V23Resources__AdGroupCriterion { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? String(data["cpcBidMicros"]) : undefined, cpmBidMicros: data["cpmBidMicros"] !== undefined ? String(data["cpmBidMicros"]) : undefined, cpvBidMicros: data["cpvBidMicros"] !== undefined ? String(data["cpvBidMicros"]) : undefined, extendedDemographic: data["extendedDemographic"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ExtendedDemographicInfo(data["extendedDemographic"]) : undefined, lifeEvent: data["lifeEvent"] !== undefined ? serializeGoogleAdsSearchads360V23Common__LifeEventInfo(data["lifeEvent"]) : undefined, listingGroup: data["listingGroup"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ListingGroupInfo(data["listingGroup"]) : undefined, percentCpcBidMicros: data["percentCpcBidMicros"] !== undefined ? String(data["percentCpcBidMicros"]) : undefined, videoLineup: data["videoLineup"] !== undefined ? serializeGoogleAdsSearchads360V23Common__VideoLineupInfo(data["videoLineup"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__AdGroupCriterion(data: any): GoogleAdsSearchads360V23Resources__AdGroupCriterion { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? BigInt(data["cpcBidMicros"]) : undefined, cpmBidMicros: data["cpmBidMicros"] !== undefined ? BigInt(data["cpmBidMicros"]) : undefined, cpvBidMicros: data["cpvBidMicros"] !== undefined ? BigInt(data["cpvBidMicros"]) : undefined, criterionId: data["criterionId"] !== undefined ? BigInt(data["criterionId"]) : undefined, effectiveCpcBidMicros: data["effectiveCpcBidMicros"] !== undefined ? BigInt(data["effectiveCpcBidMicros"]) : undefined, effectiveCpmBidMicros: data["effectiveCpmBidMicros"] !== undefined ? BigInt(data["effectiveCpmBidMicros"]) : undefined, effectiveCpvBidMicros: data["effectiveCpvBidMicros"] !== undefined ? BigInt(data["effectiveCpvBidMicros"]) : undefined, effectivePercentCpcBidMicros: data["effectivePercentCpcBidMicros"] !== undefined ? BigInt(data["effectivePercentCpcBidMicros"]) : undefined, extendedDemographic: data["extendedDemographic"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ExtendedDemographicInfo(data["extendedDemographic"]) : undefined, lifeEvent: data["lifeEvent"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__LifeEventInfo(data["lifeEvent"]) : undefined, listingGroup: data["listingGroup"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ListingGroupInfo(data["listingGroup"]) : undefined, percentCpcBidMicros: data["percentCpcBidMicros"] !== undefined ? BigInt(data["percentCpcBidMicros"]) : undefined, videoLineup: data["videoLineup"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__VideoLineupInfo(data["videoLineup"]) : undefined, }; } /** * A customizer value for the associated CustomizerAttribute at the * AdGroupCriterion level. */ export interface GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer { /** * Immutable. The ad group criterion to which the customizer attribute is * linked. It must be a keyword criterion. */ adGroupCriterion?: string; /** * Required. Immutable. The customizer attribute which is linked to the ad * group criterion. */ customizerAttribute?: string; /** * Immutable. The resource name of the ad group criterion customizer. Ad * group criterion customizer resource names have the form: * `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` */ resourceName?: string; /** * Output only. The status of the ad group criterion customizer. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * Required. The value to associate with the customizer attribute at this * level. The value must be of the type specified for the CustomizerAttribute. */ value?: GoogleAdsSearchads360V23Common__CustomizerValue; } /** * A relationship between an ad group criterion and an effective label. An * effective label is a label inherited or directly assigned to this ad group * criterion. */ export interface GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel { /** * Immutable. The ad group criterion to which the effective label is * attached. */ adGroupCriterion?: string; /** * Immutable. The effective label assigned to the ad group criterion. */ label?: string; /** * Output only. The ID of the Customer which owns the effective label. */ readonly ownerCustomerId?: bigint; /** * Immutable. The resource name of the ad group criterion effective label. Ad * group criterion effective label resource names have the form: * `customers/{owner_customer_id}/adGroupCriterionEffectiveLabels/{ad_group_id}~{criterion_id}~{label_id}` */ resourceName?: string; } /** * A relationship between an ad group criterion and a label. */ export interface GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel { /** * Immutable. The ad group criterion to which the label is attached. */ adGroupCriterion?: string; /** * Immutable. The label assigned to the ad group criterion. */ label?: string; /** * Output only. The ID of the Customer which owns the label. */ readonly ownerCustomerId?: bigint; /** * Immutable. The resource name of the ad group criterion label. Ad group * criterion label resource names have the form: * `customers/{owner_customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` */ resourceName?: string; } /** * An ad group criterion simulation. Supported combinations of advertising * channel type, criterion type, simulation type, and simulation modification * method are detailed below respectively. Hotel AdGroupCriterion simulation * operations starting in V5. 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM 2. SEARCH * - KEYWORD - CPC_BID - UNIFORM 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM * 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM 5. HOTEL - LISTING_GROUP - * PERCENT_CPC_BID - UNIFORM */ export interface GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation { /** * Output only. AdGroup ID of the simulation. */ readonly adGroupId?: bigint; /** * Output only. Simulation points if the simulation type is CPC_BID. */ readonly cpcBidPointList?: GoogleAdsSearchads360V23Common__CpcBidSimulationPointList; /** * Output only. Criterion ID of the simulation. */ readonly criterionId?: bigint; /** * Output only. Last day on which the simulation is based, in YYYY-MM-DD * format. */ readonly endDate?: string; /** * Output only. How the simulation modifies the field. */ readonly modificationMethod?: | "UNSPECIFIED" | "UNKNOWN" | "UNIFORM" | "DEFAULT" | "SCALING"; /** * Output only. Simulation points if the simulation type is PERCENT_CPC_BID. */ readonly percentCpcBidPointList?: GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList; /** * Output only. The resource name of the ad group criterion simulation. Ad * group criterion simulation resource names have the form: * `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}` */ readonly resourceName?: string; /** * Output only. First day on which the simulation is based, in YYYY-MM-DD * format. */ readonly startDate?: string; /** * Output only. The field that the simulation modifies. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "CPC_BID" | "CPV_BID" | "TARGET_CPA" | "BID_MODIFIER" | "TARGET_ROAS" | "PERCENT_CPC_BID" | "TARGET_IMPRESSION_SHARE" | "BUDGET"; } /** * A customizer value for the associated CustomizerAttribute at the AdGroup * level. */ export interface GoogleAdsSearchads360V23Resources__AdGroupCustomizer { /** * Immutable. The ad group to which the customizer attribute is linked. */ adGroup?: string; /** * Required. Immutable. The customizer attribute which is linked to the ad * group. */ customizerAttribute?: string; /** * Immutable. The resource name of the ad group customizer. Ad group * customizer resource names have the form: * `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` */ resourceName?: string; /** * Output only. The status of the ad group customizer. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * Required. The value to associate with the customizer attribute at this * level. The value must be of the type specified for the CustomizerAttribute. */ value?: GoogleAdsSearchads360V23Common__CustomizerValue; } /** * A relationship between an ad group and an effective label. An effective * label is a label inherited or directly assigned to this ad group. */ export interface GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel { /** * Immutable. The ad group to which the effective label is attached. */ adGroup?: string; /** * Immutable. The effective label assigned to the ad group. */ label?: string; /** * Output only. The ID of the Customer which owns the effective label. */ readonly ownerCustomerId?: bigint; /** * Immutable. The resource name of the ad group effective label. Ad group * effective label resource names have the form: * `customers/{owner_customer_id}/adGroupEffectiveLabels/{ad_group_id}~{label_id}` */ resourceName?: string; } /** * A relationship between an ad group and a label. */ export interface GoogleAdsSearchads360V23Resources__AdGroupLabel { /** * Immutable. The ad group to which the label is attached. */ adGroup?: string; /** * Immutable. The label assigned to the ad group. */ label?: string; /** * Output only. The ID of the Customer which owns the label. */ readonly ownerCustomerId?: bigint; /** * Immutable. The resource name of the ad group label. Ad group label * resource names have the form: * `customers/{owner_customer_id}/adGroupLabels/{ad_group_id}~{label_id}` */ resourceName?: string; } /** * An ad group simulation. Supported combinations of advertising channel type, * simulation type and simulation modification method is detailed below * respectively. 1. SEARCH - CPC_BID - DEFAULT 2. SEARCH - CPC_BID - UNIFORM 3. * SEARCH - TARGET_CPA - UNIFORM 4. SEARCH - TARGET_ROAS - UNIFORM 5. DISPLAY - * CPC_BID - DEFAULT 6. DISPLAY - CPC_BID - UNIFORM 7. DISPLAY - TARGET_CPA - * UNIFORM */ export interface GoogleAdsSearchads360V23Resources__AdGroupSimulation { /** * Output only. Ad group id of the simulation. */ readonly adGroupId?: bigint; /** * Output only. Simulation points if the simulation type is CPC_BID. */ readonly cpcBidPointList?: GoogleAdsSearchads360V23Common__CpcBidSimulationPointList; /** * Output only. Simulation points if the simulation type is CPV_BID. */ readonly cpvBidPointList?: GoogleAdsSearchads360V23Common__CpvBidSimulationPointList; /** * Output only. Last day on which the simulation is based, in YYYY-MM-DD * format */ readonly endDate?: string; /** * Output only. How the simulation modifies the field. */ readonly modificationMethod?: | "UNSPECIFIED" | "UNKNOWN" | "UNIFORM" | "DEFAULT" | "SCALING"; /** * Output only. The resource name of the ad group simulation. Ad group * simulation resource names have the form: * `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}` */ readonly resourceName?: string; /** * Output only. First day on which the simulation is based, in YYYY-MM-DD * format. */ readonly startDate?: string; /** * Output only. Simulation points if the simulation type is TARGET_CPA. */ readonly targetCpaPointList?: GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList; /** * Output only. Simulation points if the simulation type is TARGET_ROAS. */ readonly targetRoasPointList?: GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList; /** * Output only. The field that the simulation modifies. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "CPC_BID" | "CPV_BID" | "TARGET_CPA" | "BID_MODIFIER" | "TARGET_ROAS" | "PERCENT_CPC_BID" | "TARGET_IMPRESSION_SHARE" | "BUDGET"; } /** * An ad parameter that is used to update numeric values (such as prices or * inventory levels) in any text line of an ad (including URLs). There can be a * maximum of two AdParameters per ad group criterion. (One with parameter_index * = 1 and one with parameter_index = 2.) In the ad the parameters are * referenced by a placeholder of the form "{param#:value}". For example, * "{param1:$17}" */ export interface GoogleAdsSearchads360V23Resources__AdParameter { /** * Immutable. The ad group criterion that this ad parameter belongs to. */ adGroupCriterion?: string; /** * Numeric value to insert into the ad text. The following restrictions * apply: - Can use comma or period as a separator, with an optional period or * comma (respectively) for fractional values. For example, 1,000,000.00 and * 2.000.000,10 are valid. - Can be prepended or appended with a currency * symbol. For example, $99.99 is valid. - Can be prepended or appended with a * currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. * For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, * -10.99 and 25+ are valid. - Can use '/' between two numbers. For example * 4/1 and 0.95/0.45 are valid. */ insertionText?: string; /** * Immutable. The unique index of this ad parameter. Must be either 1 or 2. */ parameterIndex?: bigint; /** * Immutable. The resource name of the ad parameter. Ad parameter resource * names have the form: * `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Resources__AdParameter(data: any): GoogleAdsSearchads360V23Resources__AdParameter { return { ...data, parameterIndex: data["parameterIndex"] !== undefined ? String(data["parameterIndex"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__AdParameter(data: any): GoogleAdsSearchads360V23Resources__AdParameter { return { ...data, parameterIndex: data["parameterIndex"] !== undefined ? BigInt(data["parameterIndex"]) : undefined, }; } /** * An ad schedule view summarizes the performance of campaigns by AdSchedule * criteria. */ export interface GoogleAdsSearchads360V23Resources__AdScheduleView { /** * Output only. The resource name of the ad schedule view. AdSchedule view * resource names have the form: * `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}` */ readonly resourceName?: string; } /** * An action item to improve the ad strength of an asset group. */ export interface GoogleAdsSearchads360V23Resources__AdStrengthActionItem { /** * Output only. The action item type. */ readonly actionItemType?: | "UNSPECIFIED" | "UNKNOWN" | "ADD_ASSET"; /** * Output only. The action item details for action item type ADD_ASSET. */ readonly addAssetDetails?: GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails; } /** * The identifier for the Advertising Partner Google Ads account. */ export interface GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier { /** * Output only. The resource name of the advertising partner Google Ads * account. This field is required and should not be empty when creating a new * Advertising Partner link. It is unable to be modified after the creation of * the link. */ readonly customer?: string; } /** * The identifier for the Advertising Partner Google Ads account. */ export interface GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier { /** * Immutable. The resource name of the advertising partner Google Ads * account. This field is read only. */ customer?: string; } /** * An age range view. */ export interface GoogleAdsSearchads360V23Resources__AgeRangeView { /** * Output only. The resource name of the age range view. Age range view * resource names have the form: * `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * AiMaxSearchTermAdCombinationView Resource. */ export interface GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView { /** * Output only. Ad group where the search term served. */ readonly adGroup?: string; /** * Output only. The concatenated string containing headline assets for the * ad. Up to three headline assets are concatenated, separated by " | ". This * field is read-only. */ readonly headline?: string; /** * Output only. The destination URL, which was dynamically generated. This * field is read-only. */ readonly landingPage?: string; /** * Output only. The resource name of the AI Max Search Term Ad Combination * view AI Max Search Term Ad Combination view resource names have the form: * `customers/{customer_id}/aiMaxSearchTermAdCombinationViews/{ad_group_id}~{URL-base64_search_term}~{URL-base64_landing_page}~{URL-base64_headline}` */ readonly resourceName?: string; /** * Output only. The search term that triggered the ad. This field is * read-only. */ readonly searchTerm?: string; } /** * An Android privacy shared key view for Google ad group key. */ export interface GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup { /** * Output only. The ad group ID used in the share key encoding. */ readonly adGroupId?: bigint; /** * Output only. The interaction date used in the shared key encoding in the * format of "YYYY-MM-DD" in UTC timezone. */ readonly androidPrivacyInteractionDate?: string; /** * Output only. The interaction type enum used in the share key encoding. */ readonly androidPrivacyInteractionType?: | "UNSPECIFIED" | "UNKNOWN" | "CLICK" | "ENGAGED_VIEW" | "VIEW"; /** * Output only. The network type enum used in the share key encoding. */ readonly androidPrivacyNetworkType?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH" | "DISPLAY" | "YOUTUBE"; /** * Output only. The campaign ID used in the share key encoding. */ readonly campaignId?: bigint; /** * Output only. The resource name of the Android privacy shared key. Android * privacy shared key resource names have the form: * `customers/{customer_id}/androidPrivacySharedKeyGoogleAdGroups/{campaign_id}~{ad_group_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}` */ readonly resourceName?: string; /** * Output only. 128 bit hex string of the encoded shared ad group key, * including a '0x' prefix. This key can be used to do a bitwise OR operator * with the aggregate conversion key to create a full aggregation key to * retrieve the Aggregate API Report in Android Privacy Sandbox. */ readonly sharedAdGroupKey?: string; } /** * An Android privacy shared key view for Google campaign key. */ export interface GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign { /** * Output only. The interaction date used in the shared key encoding in the * format of "YYYY-MM-DD" in UTC timezone. */ readonly androidPrivacyInteractionDate?: string; /** * Output only. The interaction type enum used in the share key encoding. */ readonly androidPrivacyInteractionType?: | "UNSPECIFIED" | "UNKNOWN" | "CLICK" | "ENGAGED_VIEW" | "VIEW"; /** * Output only. The campaign ID used in the share key encoding. */ readonly campaignId?: bigint; /** * Output only. The resource name of the Android privacy shared key. Android * privacy shared key resource names have the form: * `customers/{customer_id}/androidPrivacySharedKeyGoogleCampaigns/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_interaction_date(yyyy-mm-dd)}` */ readonly resourceName?: string; /** * Output only. 128 bit hex string of the encoded shared campaign key, * including a '0x' prefix. This key can be used to do a bitwise OR operator * with the aggregate conversion key to create a full aggregation key to * retrieve the Aggregate API Report in Android Privacy Sandbox. */ readonly sharedCampaignKey?: string; } /** * An Android privacy shared key view for Google network type key. */ export interface GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType { /** * Output only. The interaction date used in the shared key encoding in the * format of "YYYY-MM-DD" in UTC timezone. */ readonly androidPrivacyInteractionDate?: string; /** * Output only. The interaction type enum used in the share key encoding. */ readonly androidPrivacyInteractionType?: | "UNSPECIFIED" | "UNKNOWN" | "CLICK" | "ENGAGED_VIEW" | "VIEW"; /** * Output only. The network type enum used in the share key encoding. */ readonly androidPrivacyNetworkType?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH" | "DISPLAY" | "YOUTUBE"; /** * Output only. The campaign ID used in the share key encoding. */ readonly campaignId?: bigint; /** * Output only. The resource name of the Android privacy shared key. Android * privacy shared key resource names have the form: * `customers/{customer_id}/androidPrivacySharedKeyGoogleNetworkTypes/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}` */ readonly resourceName?: string; /** * Output only. 128 bit hex string of the encoded shared network type key, * including a '0x' prefix. This key can be used to do a bitwise OR operator * with the aggregate conversion key to create a full aggregation key to * retrieve the Aggregate API Report in Android Privacy Sandbox. */ readonly sharedNetworkTypeKey?: string; } /** * Asset is a part of an ad which can be shared across multiple ads. It can be * an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable * and cannot be removed. To stop an asset from serving, remove the asset from * the entity that is using it. */ export interface GoogleAdsSearchads360V23Resources__Asset { /** * Immutable. An app deep link asset. */ appDeepLinkAsset?: GoogleAdsSearchads360V23Common__AppDeepLinkAsset; /** * A book on google asset. */ bookOnGoogleAsset?: GoogleAdsSearchads360V23Common__BookOnGoogleAsset; /** * A business message asset. */ businessMessageAsset?: GoogleAdsSearchads360V23Common__BusinessMessageAsset; /** * A call asset. */ callAsset?: GoogleAdsSearchads360V23Common__CallAsset; /** * A callout asset. */ calloutAsset?: GoogleAdsSearchads360V23Common__CalloutAsset; /** * Immutable. A call to action asset. */ callToActionAsset?: GoogleAdsSearchads360V23Common__CallToActionAsset; /** * Output only. The timestamp when this asset was created. The timestamp is * in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. */ readonly creationTime?: string; /** * Immutable. A Demand Gen carousel card asset. */ demandGenCarouselCardAsset?: GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset; /** * A dynamic custom asset. */ dynamicCustomAsset?: GoogleAdsSearchads360V23Common__DynamicCustomAsset; /** * A dynamic education asset. */ dynamicEducationAsset?: GoogleAdsSearchads360V23Common__DynamicEducationAsset; /** * A dynamic flights asset. */ dynamicFlightsAsset?: GoogleAdsSearchads360V23Common__DynamicFlightsAsset; /** * A dynamic hotels and rentals asset. */ dynamicHotelsAndRentalsAsset?: GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset; /** * A dynamic jobs asset. */ dynamicJobsAsset?: GoogleAdsSearchads360V23Common__DynamicJobsAsset; /** * A dynamic local asset. */ dynamicLocalAsset?: GoogleAdsSearchads360V23Common__DynamicLocalAsset; /** * A dynamic real estate asset. */ dynamicRealEstateAsset?: GoogleAdsSearchads360V23Common__DynamicRealEstateAsset; /** * A dynamic travel asset. */ dynamicTravelAsset?: GoogleAdsSearchads360V23Common__DynamicTravelAsset; /** * Output only. The Engine Status for an asset. */ readonly engineStatus?: | "UNSPECIFIED" | "UNKNOWN" | "SERVING" | "SERVING_LIMITED" | "DISAPPROVED" | "DISABLED" | "REMOVED"; /** * Output only. Policy information for the asset for each FieldType. */ readonly fieldTypePolicySummaries?: GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary[]; /** * A list of possible final mobile URLs after all cross domain redirects. */ finalMobileUrls?: string[]; /** * A list of possible final URLs after all cross domain redirects. */ finalUrls?: string[]; /** * URL template for appending params to landing page URLs served with * parallel tracking. */ finalUrlSuffix?: string; /** * A hotel callout asset. */ hotelCalloutAsset?: GoogleAdsSearchads360V23Common__HotelCalloutAsset; /** * Immutable. A hotel property asset. */ hotelPropertyAsset?: GoogleAdsSearchads360V23Common__HotelPropertyAsset; /** * Output only. The ID of the asset. */ readonly id?: bigint; /** * Output only. An image asset. */ readonly imageAsset?: GoogleAdsSearchads360V23Common__ImageAsset; /** * Output only. The datetime when this asset was last modified. The datetime * is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. */ readonly lastModifiedTime?: string; /** * A lead form asset. */ leadFormAsset?: GoogleAdsSearchads360V23Common__LeadFormAsset; /** * Output only. A location asset. */ readonly locationAsset?: GoogleAdsSearchads360V23Common__LocationAsset; /** * Immutable. A media bundle asset. */ mediaBundleAsset?: GoogleAdsSearchads360V23Common__MediaBundleAsset; /** * A mobile app asset. */ mobileAppAsset?: GoogleAdsSearchads360V23Common__MobileAppAsset; /** * Optional name of the asset. */ name?: string; /** * Output only. Orientation of the asset. This is only supported for image * and video assets. */ readonly orientation?: | "UNSPECIFIED" | "UNKNOWN" | "LANDSCAPE" | "PORTRAIT" | "SQUARE"; /** * A page feed asset. */ pageFeedAsset?: GoogleAdsSearchads360V23Common__PageFeedAsset; /** * Output only. Policy information for the asset. */ readonly policySummary?: GoogleAdsSearchads360V23Resources__AssetPolicySummary; /** * A price asset. */ priceAsset?: GoogleAdsSearchads360V23Common__PriceAsset; /** * A promotion asset. */ promotionAsset?: GoogleAdsSearchads360V23Common__PromotionAsset; /** * Immutable. The resource name of the asset. Asset resource names have the * form: `customers/{customer_id}/assets/{asset_id}` */ resourceName?: string; /** * Output only. A unified call asset. */ readonly searchAds360CallAsset?: GoogleAdsSearchads360V23Common__UnifiedCallAsset; /** * Output only. A unified callout asset. */ readonly searchAds360CalloutAsset?: GoogleAdsSearchads360V23Common__UnifiedCalloutAsset; /** * Output only. A unified location asset. */ readonly searchAds360LocationAsset?: GoogleAdsSearchads360V23Common__UnifiedLocationAsset; /** * Output only. A unified page feed asset. */ readonly searchAds360PageFeedAsset?: GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset; /** * Output only. A unified sitelink asset. */ readonly searchAds360SitelinkAsset?: GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset; /** * A sitelink asset. */ sitelinkAsset?: GoogleAdsSearchads360V23Common__SitelinkAsset; /** * Output only. Source of the asset. */ readonly source?: | "UNSPECIFIED" | "UNKNOWN" | "ADVERTISER" | "AUTOMATICALLY_CREATED"; /** * Output only. The status of the asset. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED" | "ARCHIVED" | "PENDING_SYSTEM_GENERATED"; /** * A structured snippet asset. */ structuredSnippetAsset?: GoogleAdsSearchads360V23Common__StructuredSnippetAsset; /** * Immutable. A text asset. */ textAsset?: GoogleAdsSearchads360V23Common__TextAsset; /** * URL template for constructing a tracking URL. */ trackingUrlTemplate?: string; /** * Output only. Type of the asset. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "YOUTUBE_VIDEO" | "MEDIA_BUNDLE" | "IMAGE" | "TEXT" | "LEAD_FORM" | "BOOK_ON_GOOGLE" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "PAGE_FEED" | "DYNAMIC_EDUCATION" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "CALL_TO_ACTION" | "DYNAMIC_REAL_ESTATE" | "DYNAMIC_CUSTOM" | "DYNAMIC_HOTELS_AND_RENTALS" | "DYNAMIC_FLIGHTS" | "DYNAMIC_TRAVEL" | "DYNAMIC_LOCAL" | "DYNAMIC_JOBS" | "LOCATION" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "APP_DEEP_LINK"; /** * A list of mappings to be used for substituting URL custom parameter tags * in the tracking_url_template, final_urls, and/or final_mobile_urls. */ urlCustomParameters?: GoogleAdsSearchads360V23Common__CustomParameter[]; /** * Immutable. A YouTube video asset. */ youtubeVideoAsset?: GoogleAdsSearchads360V23Common__YoutubeVideoAsset; } function serializeGoogleAdsSearchads360V23Resources__Asset(data: any): GoogleAdsSearchads360V23Resources__Asset { return { ...data, businessMessageAsset: data["businessMessageAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__BusinessMessageAsset(data["businessMessageAsset"]) : undefined, dynamicCustomAsset: data["dynamicCustomAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DynamicCustomAsset(data["dynamicCustomAsset"]) : undefined, dynamicEducationAsset: data["dynamicEducationAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DynamicEducationAsset(data["dynamicEducationAsset"]) : undefined, dynamicFlightsAsset: data["dynamicFlightsAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DynamicFlightsAsset(data["dynamicFlightsAsset"]) : undefined, dynamicHotelsAndRentalsAsset: data["dynamicHotelsAndRentalsAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset(data["dynamicHotelsAndRentalsAsset"]) : undefined, dynamicJobsAsset: data["dynamicJobsAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DynamicJobsAsset(data["dynamicJobsAsset"]) : undefined, dynamicLocalAsset: data["dynamicLocalAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DynamicLocalAsset(data["dynamicLocalAsset"]) : undefined, dynamicRealEstateAsset: data["dynamicRealEstateAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DynamicRealEstateAsset(data["dynamicRealEstateAsset"]) : undefined, dynamicTravelAsset: data["dynamicTravelAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__DynamicTravelAsset(data["dynamicTravelAsset"]) : undefined, leadFormAsset: data["leadFormAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__LeadFormAsset(data["leadFormAsset"]) : undefined, mediaBundleAsset: data["mediaBundleAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__MediaBundleAsset(data["mediaBundleAsset"]) : undefined, priceAsset: data["priceAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__PriceAsset(data["priceAsset"]) : undefined, promotionAsset: data["promotionAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Common__PromotionAsset(data["promotionAsset"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__Asset(data: any): GoogleAdsSearchads360V23Resources__Asset { return { ...data, businessMessageAsset: data["businessMessageAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__BusinessMessageAsset(data["businessMessageAsset"]) : undefined, dynamicCustomAsset: data["dynamicCustomAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DynamicCustomAsset(data["dynamicCustomAsset"]) : undefined, dynamicEducationAsset: data["dynamicEducationAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DynamicEducationAsset(data["dynamicEducationAsset"]) : undefined, dynamicFlightsAsset: data["dynamicFlightsAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DynamicFlightsAsset(data["dynamicFlightsAsset"]) : undefined, dynamicHotelsAndRentalsAsset: data["dynamicHotelsAndRentalsAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset(data["dynamicHotelsAndRentalsAsset"]) : undefined, dynamicJobsAsset: data["dynamicJobsAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DynamicJobsAsset(data["dynamicJobsAsset"]) : undefined, dynamicLocalAsset: data["dynamicLocalAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DynamicLocalAsset(data["dynamicLocalAsset"]) : undefined, dynamicRealEstateAsset: data["dynamicRealEstateAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DynamicRealEstateAsset(data["dynamicRealEstateAsset"]) : undefined, dynamicTravelAsset: data["dynamicTravelAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__DynamicTravelAsset(data["dynamicTravelAsset"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, imageAsset: data["imageAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ImageAsset(data["imageAsset"]) : undefined, leadFormAsset: data["leadFormAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__LeadFormAsset(data["leadFormAsset"]) : undefined, locationAsset: data["locationAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__LocationAsset(data["locationAsset"]) : undefined, mediaBundleAsset: data["mediaBundleAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__MediaBundleAsset(data["mediaBundleAsset"]) : undefined, priceAsset: data["priceAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__PriceAsset(data["priceAsset"]) : undefined, promotionAsset: data["promotionAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__PromotionAsset(data["promotionAsset"]) : undefined, searchAds360LocationAsset: data["searchAds360LocationAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__UnifiedLocationAsset(data["searchAds360LocationAsset"]) : undefined, searchAds360SitelinkAsset: data["searchAds360SitelinkAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__UnifiedSitelinkAsset(data["searchAds360SitelinkAsset"]) : undefined, }; } /** * Information about the asset coverage of an asset group. */ export interface GoogleAdsSearchads360V23Resources__AssetCoverage { /** * Output only. A list of action items to improve the ad strength of an asset * group. */ readonly adStrengthActionItems?: GoogleAdsSearchads360V23Resources__AdStrengthActionItem[]; } /** * Contains policy information for an asset under AssetFieldType context. */ export interface GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary { /** * Output only. FieldType of this asset. */ readonly assetFieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Output only. Source of this asset. */ readonly assetSource?: | "UNSPECIFIED" | "UNKNOWN" | "ADVERTISER" | "AUTOMATICALLY_CREATED"; /** * Output only. Policy summary. */ readonly policySummaryInfo?: GoogleAdsSearchads360V23Resources__AssetPolicySummary; } /** * An asset field type view. This view reports non-overcounted metrics for each * asset field type when the asset is used as extension. */ export interface GoogleAdsSearchads360V23Resources__AssetFieldTypeView { /** * Output only. The asset field type of the asset field type view. */ readonly fieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Output only. The resource name of the asset field type view. Asset field * type view resource names have the form: * `customers/{customer_id}/assetFieldTypeViews/{field_type}` */ readonly resourceName?: string; } /** * An asset group. AssetGroupAsset is used to link an asset to the asset group. * AssetGroupSignal is used to associate a signal to an asset group. */ export interface GoogleAdsSearchads360V23Resources__AssetGroup { /** * Output only. Overall ad strength of this asset group. */ readonly adStrength?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "NO_ADS" | "POOR" | "AVERAGE" | "GOOD" | "EXCELLENT"; /** * Output only. The asset coverage of this asset group. */ readonly assetCoverage?: GoogleAdsSearchads360V23Resources__AssetCoverage; /** * Immutable. The campaign with which this asset group is associated. The * asset which is linked to the asset group. */ campaign?: string; /** * A list of final mobile URLs after all cross domain redirects. In * performance max, by default, the urls are eligible for expansion unless * opted out. */ finalMobileUrls?: string[]; /** * A list of final URLs after all cross domain redirects. In performance max, * by default, the urls are eligible for expansion unless opted out. */ finalUrls?: string[]; /** * Output only. The ID of the asset group. */ readonly id?: bigint; /** * Required. Name of the asset group. Required. It must have a minimum length * of 1 and maximum length of 128. It must be unique under a campaign. */ name?: string; /** * First part of text that may appear appended to the url displayed in the * ad. */ path1?: string; /** * Second part of text that may appear appended to the url displayed in the * ad. This field can only be set when path1 is set. */ path2?: string; /** * Output only. The primary status of the asset group. Provides insights into * why an asset group is not serving or not serving optimally. */ readonly primaryStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "PAUSED" | "REMOVED" | "NOT_ELIGIBLE" | "LIMITED" | "PENDING"; /** * Output only. Provides reasons into why an asset group is not serving or * not serving optimally. It will be empty when the asset group is serving * without issues. */ readonly primaryStatusReasons?: | "UNSPECIFIED" | "UNKNOWN" | "ASSET_GROUP_PAUSED" | "ASSET_GROUP_REMOVED" | "CAMPAIGN_REMOVED" | "CAMPAIGN_PAUSED" | "CAMPAIGN_PENDING" | "CAMPAIGN_ENDED" | "ASSET_GROUP_LIMITED" | "ASSET_GROUP_DISAPPROVED" | "ASSET_GROUP_UNDER_REVIEW"[]; /** * Immutable. The resource name of the asset group. Asset group resource * names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}` */ resourceName?: string; /** * The status of the asset group. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "PAUSED" | "REMOVED"; } /** * AssetGroupAsset is the link between an asset and an asset group. Adding an * AssetGroupAsset links an asset with an asset group. */ export interface GoogleAdsSearchads360V23Resources__AssetGroupAsset { /** * Immutable. The asset which this asset group asset is linking. */ asset?: string; /** * Immutable. The asset group which this asset group asset is linking. */ assetGroup?: string; /** * The description of the placement of the asset within the asset group. For * example: HEADLINE, YOUTUBE_VIDEO etc */ fieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Output only. The policy information for this asset group asset. */ readonly policySummary?: GoogleAdsSearchads360V23Common__PolicySummary; /** * Output only. Provides the PrimaryStatus of this asset link. Primary status * is meant essentially to differentiate between the plain "status" field, * which has advertiser set values of enabled, paused, or removed. The primary * status takes into account other signals (for assets its mainly policy and * quality approvals) to come up with a more comprehensive status to indicate * its serving state. */ readonly primaryStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "PAUSED" | "REMOVED" | "PENDING" | "LIMITED" | "NOT_ELIGIBLE"; /** * Output only. Provides the details of the primary status and its associated * reasons. */ readonly primaryStatusDetails?: GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[]; /** * Output only. Provides a list of reasons for why an asset is not serving or * not serving at full capacity. */ readonly primaryStatusReasons?: | "UNSPECIFIED" | "UNKNOWN" | "ASSET_LINK_PAUSED" | "ASSET_LINK_REMOVED" | "ASSET_DISAPPROVED" | "ASSET_UNDER_REVIEW" | "ASSET_APPROVED_LABELED"[]; /** * Immutable. The resource name of the asset group asset. Asset group asset * resource name have the form: * `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}` */ resourceName?: string; /** * Output only. Source of the asset group asset. */ readonly source?: | "UNSPECIFIED" | "UNKNOWN" | "ADVERTISER" | "AUTOMATICALLY_CREATED"; /** * The status of the link between an asset and asset group. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED" | "PAUSED"; } /** * Asset group asset combination data */ export interface GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData { /** * Output only. Served assets. */ readonly assetCombinationServedAssets?: GoogleAdsSearchads360V23Common__AssetUsage[]; } /** * AssetGroupListingGroupFilter represents a listing group filter tree node in * an asset group. */ export interface GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter { /** * Immutable. The asset group which this asset group listing group filter is * part of. */ assetGroup?: string; /** * Dimension value with which this listing group is refining its parent. * Undefined for the root group. */ caseValue?: GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension; /** * Output only. The ID of the ListingGroupFilter. */ readonly id?: bigint; /** * Immutable. The source of listings filtered by this listing group filter. */ listingSource?: | "UNSPECIFIED" | "UNKNOWN" | "SHOPPING" | "WEBPAGE"; /** * Immutable. Resource name of the parent listing group subdivision. Null for * the root listing group filter node. */ parentListingGroupFilter?: string; /** * Output only. The path of dimensions defining this listing group filter. */ readonly path?: GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath; /** * Immutable. The resource name of the asset group listing group filter. * Asset group listing group filter resource name have the form: * `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` */ resourceName?: string; /** * Immutable. Type of a listing group filter node. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "SUBDIVISION" | "UNIT_INCLUDED" | "UNIT_EXCLUDED"; } function serializeGoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter(data: any): GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter { return { ...data, caseValue: data["caseValue"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ListingGroupFilterDimension(data["caseValue"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter(data: any): GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter { return { ...data, caseValue: data["caseValue"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ListingGroupFilterDimension(data["caseValue"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, }; } /** * An asset group product group view. */ export interface GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView { /** * Output only. The asset group associated with the listing group filter. */ readonly assetGroup?: string; /** * Output only. The resource name of the asset group listing group filter. */ readonly assetGroupListingGroupFilter?: string; /** * Output only. The resource name of the asset group product group view. * Asset group product group view resource names have the form: * `customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}` */ readonly resourceName?: string; } /** * AssetGroupSignal represents a signal in an asset group. The existence of a * signal tells the performance max campaign who's most likely to convert. * Performance Max uses the signal to look for new people with similar or * stronger intent to find conversions across Search, Display, Video, and more. */ export interface GoogleAdsSearchads360V23Resources__AssetGroupSignal { /** * Output only. Approval status is the output value for search theme signal * after Google ads policy review. When using Audience signal, this field is * not used and will be absent. */ readonly approvalStatus?: | "UNSPECIFIED" | "UNKNOWN" | "APPROVED" | "LIMITED" | "DISAPPROVED" | "UNDER_REVIEW"; /** * Immutable. The asset group which this asset group signal belongs to. */ assetGroup?: string; /** * Immutable. The audience signal to be used by the performance max campaign. */ audience?: GoogleAdsSearchads360V23Common__AudienceInfo; /** * Output only. Computed for SearchTheme signals. When using Audience signal, * this field is not used and will be absent. */ readonly disapprovalReasons?: string[]; /** * Immutable. The resource name of the asset group signal. Asset group signal * resource name have the form: * `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}` */ resourceName?: string; /** * Immutable. The search_theme signal to be used by the performance max * campaign. Mutate errors of search_theme criterion includes * AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN * AssetGroupSignalError.TOO_MANY_WORDS * AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED * StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG * ResourceCountLimitExceededError.RESOURCE_LIMIT */ searchTheme?: GoogleAdsSearchads360V23Common__SearchThemeInfo; } /** * A view on the usage of asset group asset top combinations. */ export interface GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView { /** * Output only. The top combinations of assets that served together. */ readonly assetGroupTopCombinations?: GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData[]; /** * Output only. The resource name of the asset group top combination view. * AssetGroup Top Combination view resource names have the form: * `"customers/{customer_id}/assetGroupTopCombinationViews/{asset_group_id}~{asset_combination_category}" */ readonly resourceName?: string; } /** * Contains policy information for an asset. */ export interface GoogleAdsSearchads360V23Resources__AssetPolicySummary { /** * Output only. The overall approval status of this asset, calculated based * on the status of its individual policy topic entries. */ readonly approvalStatus?: | "UNSPECIFIED" | "UNKNOWN" | "DISAPPROVED" | "APPROVED_LIMITED" | "APPROVED" | "AREA_OF_INTEREST_ONLY"; /** * Output only. The list of policy findings for this asset. */ readonly policyTopicEntries?: GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; /** * Output only. Where in the review process this asset is. */ readonly reviewStatus?: | "UNSPECIFIED" | "UNKNOWN" | "REVIEW_IN_PROGRESS" | "REVIEWED" | "UNDER_APPEAL" | "ELIGIBLE_MAY_SERVE"; } /** * An asset set representing a collection of assets. Use AssetSetAsset to link * an asset to the asset set. */ export interface GoogleAdsSearchads360V23Resources__AssetSet { /** * Business Profile location group asset set data. */ businessProfileLocationGroup?: GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup; /** * Represents information about a Chain dynamic location group. Only * applicable if the sync level AssetSet's type is LOCATION_SYNC and sync * source is chain. */ chainLocationGroup?: GoogleAdsSearchads360V23Common__ChainLocationGroup; /** * Output only. For Performance Max for travel goals campaigns with a Hotel * Center account link. Read-only. */ readonly hotelPropertyData?: GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData; /** * Output only. The ID of the asset set. */ readonly id?: bigint; /** * Immutable. Parent asset set ID for the asset set where the elements of * this asset set come from. For example: the sync level location AssetSet id * where the elements in LocationGroup AssetSet come from. This field is * required and only applicable for Location Group typed AssetSet. */ locationGroupParentAssetSetId?: bigint; /** * Location asset set data. This will be used for sync level location set. * This can only be set if AssetSet's type is LOCATION_SYNC. */ locationSet?: GoogleAdsSearchads360V23Common__LocationSet; /** * Merchant ID and Feed Label from Google Merchant Center. */ merchantCenterFeed?: GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed; /** * Required. Name of the asset set. Required. It must have a minimum length * of 1 and maximum length of 128. */ name?: string; /** * Immutable. The resource name of the asset set. Asset set resource names * have the form: `customers/{customer_id}/assetSets/{asset_set_id}` */ resourceName?: string; /** * Output only. The status of the asset set. Read-only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * Required. Immutable. The type of the asset set. Required. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "PAGE_FEED" | "DYNAMIC_EDUCATION" | "MERCHANT_CENTER_FEED" | "DYNAMIC_REAL_ESTATE" | "DYNAMIC_CUSTOM" | "DYNAMIC_HOTELS_AND_RENTALS" | "DYNAMIC_FLIGHTS" | "DYNAMIC_TRAVEL" | "DYNAMIC_LOCAL" | "DYNAMIC_JOBS" | "LOCATION_SYNC" | "BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP" | "CHAIN_DYNAMIC_LOCATION_GROUP" | "STATIC_LOCATION_GROUP" | "HOTEL_PROPERTY" | "TRAVEL_FEED"; } function serializeGoogleAdsSearchads360V23Resources__AssetSet(data: any): GoogleAdsSearchads360V23Resources__AssetSet { return { ...data, businessProfileLocationGroup: data["businessProfileLocationGroup"] !== undefined ? serializeGoogleAdsSearchads360V23Common__BusinessProfileLocationGroup(data["businessProfileLocationGroup"]) : undefined, chainLocationGroup: data["chainLocationGroup"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ChainLocationGroup(data["chainLocationGroup"]) : undefined, locationGroupParentAssetSetId: data["locationGroupParentAssetSetId"] !== undefined ? String(data["locationGroupParentAssetSetId"]) : undefined, locationSet: data["locationSet"] !== undefined ? serializeGoogleAdsSearchads360V23Common__LocationSet(data["locationSet"]) : undefined, merchantCenterFeed: data["merchantCenterFeed"] !== undefined ? serializeGoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed(data["merchantCenterFeed"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__AssetSet(data: any): GoogleAdsSearchads360V23Resources__AssetSet { return { ...data, businessProfileLocationGroup: data["businessProfileLocationGroup"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__BusinessProfileLocationGroup(data["businessProfileLocationGroup"]) : undefined, chainLocationGroup: data["chainLocationGroup"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ChainLocationGroup(data["chainLocationGroup"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, locationGroupParentAssetSetId: data["locationGroupParentAssetSetId"] !== undefined ? BigInt(data["locationGroupParentAssetSetId"]) : undefined, locationSet: data["locationSet"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__LocationSet(data["locationSet"]) : undefined, merchantCenterFeed: data["merchantCenterFeed"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed(data["merchantCenterFeed"]) : undefined, }; } /** * AssetSetAsset is the link between an asset and an asset set. Adding an * AssetSetAsset links an asset with an asset set. */ export interface GoogleAdsSearchads360V23Resources__AssetSetAsset { /** * Immutable. The asset which this asset set asset is linking to. */ asset?: string; /** * Immutable. The asset set which this asset set asset is linking to. */ assetSet?: string; /** * Immutable. The resource name of the asset set asset. Asset set asset * resource names have the form: * `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` */ resourceName?: string; /** * Output only. The status of the asset set asset. Read-only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; } /** * An asset set type view. This view reports non-overcounted metrics for each * asset set type. Child asset set types are not included in this report. Their * stats are aggregated under the parent asset set type. */ export interface GoogleAdsSearchads360V23Resources__AssetSetTypeView { /** * Output only. The asset set type of the asset set type view. */ readonly assetSetType?: | "UNSPECIFIED" | "UNKNOWN" | "PAGE_FEED" | "DYNAMIC_EDUCATION" | "MERCHANT_CENTER_FEED" | "DYNAMIC_REAL_ESTATE" | "DYNAMIC_CUSTOM" | "DYNAMIC_HOTELS_AND_RENTALS" | "DYNAMIC_FLIGHTS" | "DYNAMIC_TRAVEL" | "DYNAMIC_LOCAL" | "DYNAMIC_JOBS" | "LOCATION_SYNC" | "BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP" | "CHAIN_DYNAMIC_LOCATION_GROUP" | "STATIC_LOCATION_GROUP" | "HOTEL_PROPERTY" | "TRAVEL_FEED"; /** * Output only. The resource name of the asset set type view. Asset set type * view resource names have the form: * `customers/{customer_id}/assetSetTypeViews/{asset_set_type}` */ readonly resourceName?: string; } /** * Audience is an effective targeting option that lets you intersect different * segment attributes, such as detailed demographics and affinities, to create * audiences that represent sections of your target segments. */ export interface GoogleAdsSearchads360V23Resources__Audience { /** * Immutable. The asset group that this audience is scoped under. Must be set * if and only if scope is ASSET_GROUP. Immutable after creation. If an * audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field * will automatically be cleared. */ assetGroup?: string; /** * Description of this audience. */ description?: string; /** * Positive dimensions specifying the audience composition. */ dimensions?: GoogleAdsSearchads360V23Common__AudienceDimension[]; /** * Negative dimension specifying the audience composition. */ exclusionDimension?: GoogleAdsSearchads360V23Common__AudienceExclusionDimension; /** * Output only. ID of the audience. */ readonly id?: bigint; /** * Name of the audience. It should be unique across all audiences within the * account. It must have a minimum length of 1 and maximum length of 255. * Required when scope is not set or is set to CUSTOMER. Cannot be set or * updated when scope is ASSET_GROUP. */ name?: string; /** * Immutable. The resource name of the audience. Audience names have the * form: `customers/{customer_id}/audiences/{audience_id}` */ resourceName?: string; /** * Defines the scope this audience can be used in. By default, the scope is * CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for * exclusive use by a single asset_group. Scope may change from ASSET_GROUP to * CUSTOMER but not from CUSTOMER to ASSET_GROUP. */ scope?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER" | "ASSET_GROUP"; /** * Output only. Status of this audience. Indicates whether the audience is * enabled or removed. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; } /** * specific to local services background check. */ export interface GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact { /** * Output only. URL to access background case. */ readonly caseUrl?: string; /** * Output only. The timestamp when this background check case result was * adjudicated. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads * account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 * 14:34:30" */ readonly finalAdjudicationDateTime?: string; } /** * A list of mutates being processed asynchronously. The mutates are uploaded * by the user. The mutates themselves aren't readable and the results of the * job can only be read using BatchJobService.ListBatchJobResults. */ export interface GoogleAdsSearchads360V23Resources__BatchJob { /** * Output only. ID of this batch job. */ readonly id?: bigint; /** * Output only. The resource name of the long-running operation that can be * used to poll for completion. Only set when the batch job status is RUNNING * or DONE. */ readonly longRunningOperation?: string; /** * Output only. Contains additional information about this batch job. */ readonly metadata?: GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata; /** * Output only. The next sequence token to use when adding operations. Only * set when the batch job status is PENDING. */ readonly nextAddSequenceToken?: string; /** * Immutable. The resource name of the batch job. Batch job resource names * have the form: `customers/{customer_id}/batchJobs/{batch_job_id}` */ resourceName?: string; /** * Output only. Status of this batch job. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "RUNNING" | "DONE"; } /** * Represents a bidding data exclusion. Bidding data exclusions can be set in * client accounts only, and cannot be used in manager accounts. See "About data * exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A * customer account can have a maximum of 500 active bidding data exclusions. */ export interface GoogleAdsSearchads360V23Resources__BiddingDataExclusion { /** * The data_exclusion will apply to all the campaigns under the listed * channels retroactively as well as going forward when the scope of this * exclusion is CHANNEL. The supported advertising channel types are DISPLAY, * SEARCH and SHOPPING. Note: a data exclusion with both * advertising_channel_types and campaign_ids is not supported. */ advertisingChannelTypes?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH" | "DISPLAY" | "SHOPPING" | "HOTEL" | "VIDEO" | "MULTI_CHANNEL" | "LOCAL" | "SMART" | "PERFORMANCE_MAX" | "LOCAL_SERVICES" | "TRAVEL" | "DEMAND_GEN" | "SOCIAL"[]; /** * The data exclusion will apply to the campaigns listed when the scope of * this exclusion is CAMPAIGN. The maximum number of campaigns per event is * 2000. Note: a data exclusion with both advertising_channel_types and * campaign_ids is not supported. */ campaigns?: string[]; /** * Output only. The ID of the data exclusion. */ readonly dataExclusionId?: bigint; /** * The description of the data exclusion. The description can be at most 2048 * characters. */ description?: string; /** * If not specified, all devices will be included in this exclusion. * Otherwise, only the specified targeted devices will be included in this * exclusion. */ devices?: | "UNSPECIFIED" | "UNKNOWN" | "MOBILE" | "TABLET" | "DESKTOP" | "CONNECTED_TV" | "OTHER"[]; /** * Required. The exclusive end time of the data exclusion in yyyy-MM-dd * HH:mm:ss format. The length of [start_date_time, end_date_time) interval * must be within (0, 14 days]. */ endDateTime?: string; /** * The name of the data exclusion. The name can be at most 255 characters. */ name?: string; /** * Immutable. The resource name of the data exclusion. Data exclusion * resource names have the form: * `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` */ resourceName?: string; /** * The scope of the data exclusion. */ scope?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER" | "CAMPAIGN" | "CHANNEL"; /** * Required. The inclusive start time of the data exclusion in yyyy-MM-dd * HH:mm:ss format. A data exclusion is backward looking and should be used * for events that start in the past and end either in the past or future. */ startDateTime?: string; /** * Output only. The status of the data exclusion. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; } /** * Represents a bidding seasonality adjustment. Cannot be used in manager * accounts. See "About seasonality adjustments" at * https://support.google.com/google-ads/answer/10369906. */ export interface GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment { /** * The seasonality adjustment will apply to all the campaigns under the * listed channels retroactively as well as going forward when the scope of * this adjustment is CHANNEL. The supported advertising channel types are * DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both * advertising_channel_types and campaign_ids is not supported. */ advertisingChannelTypes?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH" | "DISPLAY" | "SHOPPING" | "HOTEL" | "VIDEO" | "MULTI_CHANNEL" | "LOCAL" | "SMART" | "PERFORMANCE_MAX" | "LOCAL_SERVICES" | "TRAVEL" | "DEMAND_GEN" | "SOCIAL"[]; /** * The seasonality adjustment will apply to the campaigns listed when the * scope of this adjustment is CAMPAIGN. The maximum number of campaigns per * event is 2000. Note: a seasonality adjustment with both * advertising_channel_types and campaign_ids is not supported. */ campaigns?: string[]; /** * Conversion rate modifier estimated based on expected conversion rate * changes. When this field is unset or set to 1.0 no adjustment will be * applied to traffic. The allowed range is 0.1 to 10.0. */ conversionRateModifier?: number; /** * The description of the seasonality adjustment. The description can be at * most 2048 characters. */ description?: string; /** * If not specified, all devices will be included in this adjustment. * Otherwise, only the specified targeted devices will be included in this * adjustment. */ devices?: | "UNSPECIFIED" | "UNKNOWN" | "MOBILE" | "TABLET" | "DESKTOP" | "CONNECTED_TV" | "OTHER"[]; /** * Required. The exclusive end time of the seasonality adjustment in * yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) * interval must be within (0, 14 days]. */ endDateTime?: string; /** * The name of the seasonality adjustment. The name can be at most 255 * characters. */ name?: string; /** * Immutable. The resource name of the seasonality adjustment. Seasonality * adjustment resource names have the form: * `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` */ resourceName?: string; /** * The scope of the seasonality adjustment. */ scope?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER" | "CAMPAIGN" | "CHANNEL"; /** * Output only. The ID of the seasonality adjustment. */ readonly seasonalityAdjustmentId?: bigint; /** * Required. The inclusive start time of the seasonality adjustment in * yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and * should be used for events that start and end in the future. */ startDateTime?: string; /** * Output only. The status of the seasonality adjustment. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; } /** * A bidding strategy. */ export interface GoogleAdsSearchads360V23Resources__BiddingStrategy { /** * ID of the campaign budget that this portfolio bidding strategy is aligned * with. When a portfolio and a campaign budget are aligned, that means that * they are attached to the same set of campaigns. After a bidding strategy is * aligned with a campaign budget, campaigns that are added to the bidding * strategy must also use the aligned campaign budget. */ alignedCampaignBudgetId?: bigint; /** * Output only. The number of campaigns attached to this bidding strategy. * This field is read-only. */ readonly campaignCount?: bigint; /** * Immutable. The currency used by the bidding strategy (ISO 4217 * three-letter code). For bidding strategies in manager customers, this * currency can be set on creation and defaults to the manager customer's * currency. For serving customers, this field cannot be set; all strategies * in a serving customer implicitly use the serving customer's currency. In * all cases the effective_currency_code field returns the currency used by * the strategy. */ currencyCode?: string; /** * Output only. The currency used by the bidding strategy (ISO 4217 * three-letter code). For bidding strategies in manager customers, this is * the currency set by the advertiser when creating the strategy. For serving * customers, this is the customer's currency_code. Bidding strategy metrics * are reported in this currency. This field is read-only. */ readonly effectiveCurrencyCode?: string; /** * A bidding strategy that raises bids for clicks that seem more likely to * lead to a conversion and lowers them for clicks where they seem less * likely. */ enhancedCpc?: GoogleAdsSearchads360V23Common__EnhancedCpc; /** * Output only. The ID of the bidding strategy. */ readonly id?: bigint; /** * An automated bidding strategy to help get the most conversions for your * campaigns while spending your budget. */ maximizeConversions?: GoogleAdsSearchads360V23Common__MaximizeConversions; /** * An automated bidding strategy to help get the most conversion value for * your campaigns while spending your budget. */ maximizeConversionValue?: GoogleAdsSearchads360V23Common__MaximizeConversionValue; /** * The name of the bidding strategy. All bidding strategies within an account * must be named distinctly. The length of this string should be between 1 and * 255, inclusive, in UTF-8 bytes, (trimmed). */ name?: string; /** * Output only. The number of non-removed campaigns attached to this bidding * strategy. This field is read-only. */ readonly nonRemovedCampaignCount?: bigint; /** * Immutable. The resource name of the bidding strategy. Bidding strategy * resource names have the form: * `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` */ resourceName?: string; /** * Output only. The status of the bidding strategy. This field is read-only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * A bidding strategy that sets bids to help get as many conversions as * possible at the target cost-per-acquisition (CPA) you set. */ targetCpa?: GoogleAdsSearchads360V23Common__TargetCpa; /** * A bidding strategy that automatically optimizes towards a chosen * percentage of impressions. */ targetImpressionShare?: GoogleAdsSearchads360V23Common__TargetImpressionShare; /** * A bidding strategy that helps you maximize revenue while averaging a * specific target Return On Ad Spend (ROAS). */ targetRoas?: GoogleAdsSearchads360V23Common__TargetRoas; /** * A bid strategy that sets your bids to help get as many clicks as possible * within your budget. */ targetSpend?: GoogleAdsSearchads360V23Common__TargetSpend; /** * Output only. The type of the bidding strategy. Create a bidding strategy * by setting the bidding scheme. This field is read-only. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "COMMISSION" | "ENHANCED_CPC" | "INVALID" | "MANUAL_CPA" | "MANUAL_CPC" | "MANUAL_CPM" | "MANUAL_CPV" | "MAXIMIZE_CONVERSIONS" | "MAXIMIZE_CONVERSION_VALUE" | "PAGE_ONE_PROMOTED" | "PERCENT_CPC" | "TARGET_CPA" | "TARGET_CPC" | "TARGET_CPM" | "TARGET_IMPRESSION_SHARE" | "TARGET_OUTRANK_SHARE" | "TARGET_ROAS" | "TARGET_SPEND"; } function serializeGoogleAdsSearchads360V23Resources__BiddingStrategy(data: any): GoogleAdsSearchads360V23Resources__BiddingStrategy { return { ...data, alignedCampaignBudgetId: data["alignedCampaignBudgetId"] !== undefined ? String(data["alignedCampaignBudgetId"]) : undefined, maximizeConversions: data["maximizeConversions"] !== undefined ? serializeGoogleAdsSearchads360V23Common__MaximizeConversions(data["maximizeConversions"]) : undefined, maximizeConversionValue: data["maximizeConversionValue"] !== undefined ? serializeGoogleAdsSearchads360V23Common__MaximizeConversionValue(data["maximizeConversionValue"]) : undefined, targetCpa: data["targetCpa"] !== undefined ? serializeGoogleAdsSearchads360V23Common__TargetCpa(data["targetCpa"]) : undefined, targetImpressionShare: data["targetImpressionShare"] !== undefined ? serializeGoogleAdsSearchads360V23Common__TargetImpressionShare(data["targetImpressionShare"]) : undefined, targetRoas: data["targetRoas"] !== undefined ? serializeGoogleAdsSearchads360V23Common__TargetRoas(data["targetRoas"]) : undefined, targetSpend: data["targetSpend"] !== undefined ? serializeGoogleAdsSearchads360V23Common__TargetSpend(data["targetSpend"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__BiddingStrategy(data: any): GoogleAdsSearchads360V23Resources__BiddingStrategy { return { ...data, alignedCampaignBudgetId: data["alignedCampaignBudgetId"] !== undefined ? BigInt(data["alignedCampaignBudgetId"]) : undefined, campaignCount: data["campaignCount"] !== undefined ? BigInt(data["campaignCount"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, maximizeConversions: data["maximizeConversions"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__MaximizeConversions(data["maximizeConversions"]) : undefined, maximizeConversionValue: data["maximizeConversionValue"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__MaximizeConversionValue(data["maximizeConversionValue"]) : undefined, nonRemovedCampaignCount: data["nonRemovedCampaignCount"] !== undefined ? BigInt(data["nonRemovedCampaignCount"]) : undefined, targetCpa: data["targetCpa"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__TargetCpa(data["targetCpa"]) : undefined, targetImpressionShare: data["targetImpressionShare"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__TargetImpressionShare(data["targetImpressionShare"]) : undefined, targetRoas: data["targetRoas"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__TargetRoas(data["targetRoas"]) : undefined, targetSpend: data["targetSpend"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__TargetSpend(data["targetSpend"]) : undefined, }; } /** * A bidding strategy simulation. Supported combinations of simulation type and * simulation modification method are detailed below respectively. 1. TARGET_CPA * - UNIFORM 2. TARGET_ROAS - UNIFORM */ export interface GoogleAdsSearchads360V23Resources__BiddingStrategySimulation { /** * Output only. Bidding strategy shared set id of the simulation. */ readonly biddingStrategyId?: bigint; /** * Output only. Last day on which the simulation is based, in YYYY-MM-DD * format */ readonly endDate?: string; /** * Output only. How the simulation modifies the field. */ readonly modificationMethod?: | "UNSPECIFIED" | "UNKNOWN" | "UNIFORM" | "DEFAULT" | "SCALING"; /** * Output only. The resource name of the bidding strategy simulation. Bidding * strategy simulation resource names have the form: * `customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}` */ readonly resourceName?: string; /** * Output only. First day on which the simulation is based, in YYYY-MM-DD * format. */ readonly startDate?: string; /** * Output only. Simulation points if the simulation type is TARGET_CPA. */ readonly targetCpaPointList?: GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList; /** * Output only. Simulation points if the simulation type is TARGET_ROAS. */ readonly targetRoasPointList?: GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList; /** * Output only. The field that the simulation modifies. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "CPC_BID" | "CPV_BID" | "TARGET_CPA" | "BID_MODIFIER" | "TARGET_ROAS" | "PERCENT_CPC_BID" | "TARGET_IMPRESSION_SHARE" | "BUDGET"; } /** * A billing setup, which associates a payments account and an advertiser. A * billing setup is specific to one advertiser. */ export interface GoogleAdsSearchads360V23Resources__BillingSetup { /** * Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss * format. */ readonly endDateTime?: string; /** * Output only. The end time as a type. The only possible value is FOREVER. */ readonly endTimeType?: | "UNSPECIFIED" | "UNKNOWN" | "NOW" | "FOREVER"; /** * Output only. The ID of the billing setup. */ readonly id?: bigint; /** * Immutable. The resource name of the payments account associated with this * billing setup. Payments resource names have the form: * `customers/{customer_id}/paymentsAccounts/{payments_account_id}` When * setting up billing, this is used to signup with an existing payments * account (and then payments_account_info should not be set). When getting a * billing setup, this and payments_account_info will be populated. */ paymentsAccount?: string; /** * Immutable. The payments account information associated with this billing * setup. When setting up billing, this is used to signup with a new payments * account (and then payments_account should not be set). When getting a * billing setup, this and payments_account will be populated. */ paymentsAccountInfo?: GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo; /** * Immutable. The resource name of the billing setup. BillingSetup resource * names have the form: * `customers/{customer_id}/billingSetups/{billing_setup_id}` */ resourceName?: string; /** * Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss * format. Only a future time is allowed. */ startDateTime?: string; /** * Immutable. The start time as a type. Only NOW is allowed. */ startTimeType?: | "UNSPECIFIED" | "UNKNOWN" | "NOW" | "FOREVER"; /** * Output only. The status of the billing setup. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "APPROVED_HELD" | "APPROVED" | "CANCELLED"; } /** * specific to a local services business registration check. */ export interface GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact { /** * Output only. The id of the check, such as vat_tax_id, representing "VAT * Tax ID" requirement. */ readonly checkId?: string; /** * Output only. Message storing document info for the business. */ readonly registrationDocument?: GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument; /** * Output only. Message storing government issued number for the business. */ readonly registrationNumber?: GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber; /** * Output only. The type of business registration check (number, document). */ readonly registrationType?: | "UNSPECIFIED" | "UNKNOWN" | "NUMBER" | "DOCUMENT"; /** * Output only. Registration document rejection reason. */ readonly rejectionReason?: | "UNSPECIFIED" | "UNKNOWN" | "BUSINESS_NAME_MISMATCH" | "BUSINESS_DETAILS_MISMATCH" | "ID_NOT_FOUND" | "POOR_DOCUMENT_IMAGE_QUALITY" | "DOCUMENT_EXPIRED" | "DOCUMENT_INVALID" | "DOCUMENT_TYPE_MISMATCH" | "DOCUMENT_UNVERIFIABLE" | "OTHER"; } /** * specific to a local services business registration document. */ export interface GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument { /** * Output only. The readonly field containing the information for an uploaded * business registration document. */ readonly documentReadonly?: GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly; } /** * specific to a local services business registration number. */ export interface GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber { /** * Output only. Government-issued number for the business. */ readonly number?: string; } /** * Call reporting setting for a customer. */ export interface GoogleAdsSearchads360V23Resources__CallReportingSetting { /** * Customer-level call conversion action to attribute a call conversion to. * If not set a default conversion action is used. Only in effect when * call_conversion_reporting_enabled is set to true. */ callConversionAction?: string; /** * Whether to enable call conversion reporting. */ callConversionReportingEnabled?: boolean; /** * Enable reporting of phone call events by redirecting them through Google * System. */ callReportingEnabled?: boolean; } /** * A call view that includes data for call tracking of call-only ads or call * extensions. */ export interface GoogleAdsSearchads360V23Resources__CallView { /** * Output only. The advertiser-provided call duration in seconds. */ readonly callDurationSeconds?: bigint; /** * Output only. Area code of the caller. Null if the call duration is shorter * than 15 seconds. */ readonly callerAreaCode?: string; /** * Output only. code of the caller. */ readonly callerCountryCode?: string; /** * Output only. The status of the call. */ readonly callStatus?: | "UNSPECIFIED" | "UNKNOWN" | "MISSED" | "RECEIVED"; /** * Output only. The call tracking display location. */ readonly callTrackingDisplayLocation?: | "UNSPECIFIED" | "UNKNOWN" | "AD" | "LANDING_PAGE"; /** * Output only. The advertiser-provided call end date time. */ readonly endCallDateTime?: string; /** * Output only. The resource name of the call view. Call view resource names * have the form: `customers/{customer_id}/callViews/{call_detail_id}` */ readonly resourceName?: string; /** * Output only. The advertiser-provided call start date time. */ readonly startCallDateTime?: string; /** * Output only. The type of the call. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "MANUALLY_DIALED" | "HIGH_END_MOBILE_SEARCH"; } /** * A campaign. */ export interface GoogleAdsSearchads360V23Resources__Campaign { /** * Output only. Resource name of AccessibleBiddingStrategy, a read-only view * of the unrestricted attributes of the attached portfolio bidding strategy * identified by 'bidding_strategy'. Empty, if the campaign does not use a * portfolio strategy. Unrestricted strategy attributes are available to all * customers with whom the strategy is shared and are read from the * AccessibleBiddingStrategy resource. In contrast, restricted attributes are * only available to the owner customer of the strategy and their managers. * Restricted attributes can only be read from the BiddingStrategy resource. */ readonly accessibleBiddingStrategy?: string; /** * The ad serving optimization status of the campaign. */ adServingOptimizationStatus?: | "UNSPECIFIED" | "UNKNOWN" | "OPTIMIZE" | "CONVERSION_OPTIMIZE" | "ROTATE" | "ROTATE_INDEFINITELY" | "UNAVAILABLE"; /** * Immutable. Optional refinement to `advertising_channel_type`. Must be a * valid sub-type of the parent channel type. Can be set only when creating * campaigns. After campaign is created, the field can not be changed. */ advertisingChannelSubType?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH_MOBILE_APP" | "DISPLAY_MOBILE_APP" | "SEARCH_EXPRESS" | "DISPLAY_EXPRESS" | "SHOPPING_SMART_ADS" | "DISPLAY_GMAIL_AD" | "DISPLAY_SMART_CAMPAIGN" | "VIDEO_ACTION" | "VIDEO_NON_SKIPPABLE" | "APP_CAMPAIGN" | "APP_CAMPAIGN_FOR_ENGAGEMENT" | "LOCAL_CAMPAIGN" | "SHOPPING_COMPARISON_LISTING_ADS" | "SMART_CAMPAIGN" | "VIDEO_SEQUENCE" | "APP_CAMPAIGN_FOR_PRE_REGISTRATION" | "VIDEO_REACH_TARGET_FREQUENCY" | "TRAVEL_ACTIVITIES" | "SOCIAL_FACEBOOK_TRACKING_ONLY"; /** * Immutable. The primary serving target for ads within the campaign. The * targeting options can be refined in `network_settings`. This field is * required and should not be empty when creating new campaigns. Can be set * only when creating campaigns. After the campaign is created, the field can * not be changed. */ advertisingChannelType?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH" | "DISPLAY" | "SHOPPING" | "HOTEL" | "VIDEO" | "MULTI_CHANNEL" | "LOCAL" | "SMART" | "PERFORMANCE_MAX" | "LOCAL_SERVICES" | "TRAVEL" | "DEMAND_GEN" | "SOCIAL"; /** * Settings for AI Max in search campaigns. */ aiMaxSetting?: GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting; /** * The setting related to App Campaign. */ appCampaignSetting?: GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting; /** * Contains the opt-in/out status of each AssetAutomationType. See * documentation of each asset automation type enum for default opt in/out * behavior. */ assetAutomationSettings?: GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting[]; /** * Immutable. Setting for audience related features. */ audienceSetting?: GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting; /** * Output only. The resource name of the base campaign of a draft or * experiment campaign. For base campaigns, this is equal to `resource_name`. * This field is read-only. */ readonly baseCampaign?: string; /** * The resource name of the portfolio bidding strategy used by the campaign. */ biddingStrategy?: string; /** * Output only. The system status of the campaign's bidding strategy. */ readonly biddingStrategySystemStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "LEARNING_NEW" | "LEARNING_SETTING_CHANGE" | "LEARNING_BUDGET_CHANGE" | "LEARNING_COMPOSITION_CHANGE" | "LEARNING_CONVERSION_TYPE_CHANGE" | "LEARNING_CONVERSION_SETTING_CHANGE" | "LIMITED_BY_CPC_BID_CEILING" | "LIMITED_BY_CPC_BID_FLOOR" | "LIMITED_BY_DATA" | "LIMITED_BY_BUDGET" | "LIMITED_BY_LOW_PRIORITY_SPEND" | "LIMITED_BY_LOW_QUALITY" | "LIMITED_BY_INVENTORY" | "MISCONFIGURED_ZERO_ELIGIBILITY" | "MISCONFIGURED_CONVERSION_TYPES" | "MISCONFIGURED_CONVERSION_SETTINGS" | "MISCONFIGURED_SHARED_BUDGET" | "MISCONFIGURED_STRATEGY_TYPE" | "PAUSED" | "UNAVAILABLE" | "MULTIPLE_LEARNING" | "MULTIPLE_LIMITED" | "MULTIPLE_MISCONFIGURED" | "MULTIPLE"; /** * Output only. The type of bidding strategy. A bidding strategy can be * created by setting either the bidding scheme to create a standard bidding * strategy or the `bidding_strategy` field to create a portfolio bidding * strategy. This field is read-only. */ readonly biddingStrategyType?: | "UNSPECIFIED" | "UNKNOWN" | "COMMISSION" | "ENHANCED_CPC" | "INVALID" | "MANUAL_CPA" | "MANUAL_CPC" | "MANUAL_CPM" | "MANUAL_CPV" | "MAXIMIZE_CONVERSIONS" | "MAXIMIZE_CONVERSION_VALUE" | "PAGE_ONE_PROMOTED" | "PERCENT_CPC" | "TARGET_CPA" | "TARGET_CPC" | "TARGET_CPM" | "TARGET_IMPRESSION_SHARE" | "TARGET_OUTRANK_SHARE" | "TARGET_ROAS" | "TARGET_SPEND"; brandGuidelines?: GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines; /** * Immutable. Whether Brand Guidelines are enabled for this Campaign. Only * applicable to Performance Max campaigns. If enabled, business name and logo * assets must be linked as CampaignAssets instead of AssetGroupAssets. */ brandGuidelinesEnabled?: boolean; /** * The resource name of the campaign budget of the campaign. */ campaignBudget?: string; /** * The resource name of the campaign group that this campaign belongs to. */ campaignGroup?: string; /** * Commission is an automatic bidding strategy in which the advertiser pays a * certain portion of the conversion value. */ commission?: GoogleAdsSearchads360V23Common__Commission; /** * The advertiser should self-declare whether this campaign contains * political advertising content targeted towards the European Union. */ containsEuPoliticalAdvertising?: | "UNSPECIFIED" | "UNKNOWN" | "CONTAINS_EU_POLITICAL_ADVERTISING" | "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"; /** * Settings for Demand Gen campaign. */ demandGenCampaignSettings?: GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings; /** * The setting for controlling Dynamic Search Ads (DSA). */ dynamicSearchAdsSetting?: GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting; /** * Output only. The resource names of effective labels attached to this * campaign. An effective label is a label inherited or directly assigned to * this campaign. */ readonly effectiveLabels?: string[]; /** * The last day and time of the campaign in serving customer's timezone in * "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily * granularity, time granularity is only supported for some campaign types. On * create, defaults to running indefinitely. To set an existing campaign to * run indefinitely, clear this field. */ endDateTime?: string; /** * Output only. ID of the campaign in the external engine account. This field * is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, * Baidu etc. For Google Ads entity, use "campaign.id" instead. */ readonly engineId?: string; /** * The asset field types that should be excluded from this campaign. Asset * links with these field types will not be inherited by this campaign from * the upper level. */ excludedParentAssetFieldTypes?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"[]; /** * The asset set types that should be excluded from this campaign. Asset set * links with these types will not be inherited by this campaign from the * upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, * CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of * LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all * location group asset sets are not allowed to be linked to this campaign, * and all Location Extension (LE) and Affiliate Location Extensions (ALE) * will not be served under this campaign. Only LOCATION_SYNC is currently * supported. */ excludedParentAssetSetTypes?: | "UNSPECIFIED" | "UNKNOWN" | "PAGE_FEED" | "DYNAMIC_EDUCATION" | "MERCHANT_CENTER_FEED" | "DYNAMIC_REAL_ESTATE" | "DYNAMIC_CUSTOM" | "DYNAMIC_HOTELS_AND_RENTALS" | "DYNAMIC_FLIGHTS" | "DYNAMIC_TRAVEL" | "DYNAMIC_LOCAL" | "DYNAMIC_JOBS" | "LOCATION_SYNC" | "BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP" | "CHAIN_DYNAMIC_LOCATION_GROUP" | "STATIC_LOCATION_GROUP" | "HOTEL_PROPERTY" | "TRAVEL_FEED"[]; /** * Output only. The type of campaign: normal, draft, or experiment. */ readonly experimentType?: | "UNSPECIFIED" | "UNKNOWN" | "BASE" | "DRAFT" | "EXPERIMENT"; /** * Output only. Types of feeds that are attached directly to this campaign. */ readonly feedTypes?: | "UNSPECIFIED" | "UNKNOWN" | "PAGE_FEED" | "DYNAMIC_EDUCATION" | "MERCHANT_CENTER_FEED" | "DYNAMIC_REAL_ESTATE" | "DYNAMIC_CUSTOM" | "DYNAMIC_HOTELS_AND_RENTALS" | "DYNAMIC_FLIGHTS" | "DYNAMIC_TRAVEL" | "DYNAMIC_LOCAL" | "DYNAMIC_JOBS" | "LOCATION_SYNC" | "BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP" | "CHAIN_DYNAMIC_LOCATION_GROUP" | "STATIC_LOCATION_GROUP" | "HOTEL_PROPERTY" | "TRAVEL_FEED"[]; /** * Suffix used to append query parameters to landing pages that are served * with parallel tracking. */ finalUrlSuffix?: string; /** * A list that limits how often each user will see this campaign's ads. */ frequencyCaps?: GoogleAdsSearchads360V23Common__FrequencyCapEntry[]; /** * The setting for ads geotargeting. */ geoTargetTypeSetting?: GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting; /** * Immutable. The resource name for a set of hotel properties for Performance * Max for travel goals campaigns. */ hotelPropertyAssetSet?: string; /** * Output only. The hotel setting for the campaign. */ readonly hotelSetting?: GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo; /** * Output only. The ID of the campaign. */ readonly id?: bigint; /** * Keyword match type of Campaign. Set to BROAD to set broad matching for all * keywords in a campaign. */ keywordMatchType?: | "UNSPECIFIED" | "UNKNOWN" | "BROAD"; /** * Output only. The resource names of labels attached to this campaign. */ readonly labels?: string[]; /** * Output only. The datetime when this campaign was last modified. The * datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" * format. */ readonly lastModifiedTime?: string; /** * Immutable. Listing type of ads served for this campaign. Field is * restricted for usage with Performance Max campaigns. */ listingType?: | "UNSPECIFIED" | "UNKNOWN" | "VEHICLES"; /** * The setting for local campaign. */ localCampaignSetting?: GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting; /** * The Local Services Campaign related settings. */ localServicesCampaignSettings?: GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings; /** * Standard Manual CPA bidding strategy. Manual bidding strategy that allows * advertiser to set the bid per advertiser-specified action. Supported only * for Local Services campaigns. */ manualCpa?: GoogleAdsSearchads360V23Common__ManualCpa; /** * Standard Manual CPC bidding strategy. Manual click-based bidding where * user pays per click. */ manualCpc?: GoogleAdsSearchads360V23Common__ManualCpc; /** * Standard Manual CPM bidding strategy. Manual impression-based bidding * where user pays per thousand impressions. */ manualCpm?: GoogleAdsSearchads360V23Common__ManualCpm; /** * A bidding strategy that pays a configurable amount per video view. */ manualCpv?: GoogleAdsSearchads360V23Common__ManualCpv; /** * Standard Maximize Conversions bidding strategy that automatically * maximizes number of conversions while spending your budget. */ maximizeConversions?: GoogleAdsSearchads360V23Common__MaximizeConversions; /** * Standard Maximize Conversion Value bidding strategy that automatically * sets bids to maximize revenue while spending your budget. */ maximizeConversionValue?: GoogleAdsSearchads360V23Common__MaximizeConversionValue; /** * Output only. Indicates whether this campaign is missing a declaration * about whether it contains political advertising targeted towards the EU and * is ineligible for any exemptions. If this field is true, use the * contains_eu_political_advertising field to add the required declaration. * This field is read-only. */ readonly missingEuPoliticalAdvertisingDeclaration?: boolean; /** * The name of the campaign. This field is required and should not be empty * when creating new campaigns. It must not contain any null (code point 0x0), * NL line feed (code point 0xA) or carriage return (code point 0xD) * characters. */ name?: string; /** * The network settings for the campaign. */ networkSettings?: GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings; /** * Optimization goal setting for this campaign, which includes a set of * optimization goal types. */ optimizationGoalSetting?: GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting; /** * Output only. Optimization score of the campaign. Optimization score is an * estimate of how well a campaign is set to perform. It ranges from 0% (0.0) * to 100% (1.0), with 100% indicating that the campaign is performing at full * potential. This field is null for unscored campaigns. See "About * optimization score" at * https://support.google.com/google-ads/answer/9061546. This field is * read-only. */ readonly optimizationScore?: number; /** * Payment mode for the campaign. */ paymentMode?: | "UNSPECIFIED" | "UNKNOWN" | "CLICKS" | "CONVERSION_VALUE" | "CONVERSIONS" | "GUEST_STAY"; /** * Standard Percent Cpc bidding strategy where bids are a fraction of the * advertised price for some good or service. */ percentCpc?: GoogleAdsSearchads360V23Common__PercentCpc; /** * Output only. Information about campaigns being upgraded to Performance * Max. */ readonly performanceMaxUpgrade?: GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade; /** * Settings for Performance Max campaign. */ pmaxCampaignSettings?: GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings; /** * Output only. The primary status of the campaign. Provides insight into why * a campaign is not serving or not serving optimally. Modification to the * campaign and its related entities might take a while to be reflected in * this status. */ readonly primaryStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "PAUSED" | "REMOVED" | "ENDED" | "PENDING" | "MISCONFIGURED" | "LIMITED" | "LEARNING" | "NOT_ELIGIBLE"; /** * Output only. The primary status reasons of the campaign. Provides insight * into why a campaign is not serving or not serving optimally. These reasons * are aggregated to determine an overall CampaignPrimaryStatus. */ readonly primaryStatusReasons?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_REMOVED" | "CAMPAIGN_PAUSED" | "CAMPAIGN_PENDING" | "CAMPAIGN_ENDED" | "CAMPAIGN_DRAFT" | "BIDDING_STRATEGY_MISCONFIGURED" | "BIDDING_STRATEGY_LIMITED" | "BIDDING_STRATEGY_LEARNING" | "BIDDING_STRATEGY_CONSTRAINED" | "BUDGET_CONSTRAINED" | "BUDGET_MISCONFIGURED" | "SEARCH_VOLUME_LIMITED" | "AD_GROUPS_PAUSED" | "NO_AD_GROUPS" | "KEYWORDS_PAUSED" | "NO_KEYWORDS" | "AD_GROUP_ADS_PAUSED" | "NO_AD_GROUP_ADS" | "HAS_ADS_LIMITED_BY_POLICY" | "HAS_ADS_DISAPPROVED" | "MOST_ADS_UNDER_REVIEW" | "MISSING_LEAD_FORM_EXTENSION" | "MISSING_CALL_EXTENSION" | "LEAD_FORM_EXTENSION_UNDER_REVIEW" | "LEAD_FORM_EXTENSION_DISAPPROVED" | "CALL_EXTENSION_UNDER_REVIEW" | "CALL_EXTENSION_DISAPPROVED" | "NO_MOBILE_APPLICATION_AD_GROUP_CRITERIA" | "CAMPAIGN_GROUP_PAUSED" | "CAMPAIGN_GROUP_ALL_GROUP_BUDGETS_ENDED" | "APP_NOT_RELEASED" | "APP_PARTIALLY_RELEASED" | "HAS_ASSET_GROUPS_DISAPPROVED" | "HAS_ASSET_GROUPS_LIMITED_BY_POLICY" | "MOST_ASSET_GROUPS_UNDER_REVIEW" | "NO_ASSET_GROUPS" | "ASSET_GROUPS_PAUSED" | "MISSING_LOCATION_TARGETING"[]; /** * Settings for Real-Time Bidding, a feature only available for campaigns * targeting the Ad Exchange network. */ realTimeBiddingSetting?: GoogleAdsSearchads360V23Common__RealTimeBiddingSetting; /** * Immutable. The resource name of the campaign. Campaign resource names have * the form: `customers/{customer_id}/campaigns/{campaign_id}` */ resourceName?: string; /** * Selective optimization setting for this campaign, which includes a set of * conversion actions to optimize this campaign towards. This feature only * applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType * and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as * AdvertisingChannelSubType. */ selectiveOptimization?: GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization; /** * Selective optimization mode for this campaign. */ selectiveOptimizationMode?: | "UNSPECIFIED" | "UNKNOWN" | "UNCONSTRAINED" | "MATCHES_SEARCH_ADS360_EFFECTIVE_CAMPAIGN_LEVEL_CONFIG"; /** * Output only. The ad serving status of the campaign. */ readonly servingStatus?: | "UNSPECIFIED" | "UNKNOWN" | "SERVING" | "NONE" | "ENDED" | "PENDING" | "SUSPENDED"; /** * The setting for controlling Shopping campaigns. */ shoppingSetting?: GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting; /** * The date and time when campaign started in serving. The timestamp is in * the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time * component to 00:00:00 for daily granularity, time granularity is only * supported for some campaign types. */ startDateTime?: string; /** * The status of the campaign. When a new campaign is added, the status * defaults to ENABLED. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "PAUSED" | "REMOVED"; /** * Standard Target CPA bidding strategy that automatically sets bids to help * get as many conversions as possible at the target cost-per-acquisition * (CPA) you set. */ targetCpa?: GoogleAdsSearchads360V23Common__TargetCpa; /** * An automated bidding strategy that sets bids to help get as many clicks as * possible at the target cost-per-click (CPC) you set. */ targetCpc?: GoogleAdsSearchads360V23Common__TargetCpc; /** * A bidding strategy that automatically optimizes cost per thousand * impressions. */ targetCpm?: GoogleAdsSearchads360V23Common__TargetCpm; /** * Target Impression Share bidding strategy. An automated bidding strategy * that sets bids to achieve a chosen percentage of impressions. */ targetImpressionShare?: GoogleAdsSearchads360V23Common__TargetImpressionShare; /** * Setting for targeting related features. */ targetingSetting?: GoogleAdsSearchads360V23Common__TargetingSetting; /** * Standard Target ROAS bidding strategy that automatically maximizes revenue * while averaging a specific target return on ad spend (ROAS). */ targetRoas?: GoogleAdsSearchads360V23Common__TargetRoas; /** * Standard Target Spend bidding strategy that automatically sets your bids * to help get as many clicks as possible within your budget. */ targetSpend?: GoogleAdsSearchads360V23Common__TargetSpend; /** * Third-Party integration partners. */ thirdPartyIntegrationPartners?: GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners; /** * Output only. Campaign-level settings for tracking information. */ readonly trackingSetting?: GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting; /** * The URL template for constructing a tracking URL. */ trackingUrlTemplate?: string; /** * Settings for Travel campaign. */ travelCampaignSettings?: GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings; /** * The list of mappings used to substitute custom parameter tags in a * `tracking_url_template`, `final_urls`, or `mobile_final_urls`. */ urlCustomParameters?: GoogleAdsSearchads360V23Common__CustomParameter[]; /** * Describes how unbranded pharma ads will be displayed. */ vanityPharma?: GoogleAdsSearchads360V23Resources_Campaign_VanityPharma; /** * Brand Safety setting at the individual campaign level. Allows for * selecting an inventory type to show your ads on content that is the right * fit for your brand. See * https://support.google.com/google-ads/answer/7515513. */ videoBrandSafetySuitability?: | "UNSPECIFIED" | "UNKNOWN" | "EXPANDED_INVENTORY" | "STANDARD_INVENTORY" | "LIMITED_INVENTORY"; } function serializeGoogleAdsSearchads360V23Resources__Campaign(data: any): GoogleAdsSearchads360V23Resources__Campaign { return { ...data, commission: data["commission"] !== undefined ? serializeGoogleAdsSearchads360V23Common__Commission(data["commission"]) : undefined, localServicesCampaignSettings: data["localServicesCampaignSettings"] !== undefined ? serializeGoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings(data["localServicesCampaignSettings"]) : undefined, maximizeConversions: data["maximizeConversions"] !== undefined ? serializeGoogleAdsSearchads360V23Common__MaximizeConversions(data["maximizeConversions"]) : undefined, maximizeConversionValue: data["maximizeConversionValue"] !== undefined ? serializeGoogleAdsSearchads360V23Common__MaximizeConversionValue(data["maximizeConversionValue"]) : undefined, percentCpc: data["percentCpc"] !== undefined ? serializeGoogleAdsSearchads360V23Common__PercentCpc(data["percentCpc"]) : undefined, shoppingSetting: data["shoppingSetting"] !== undefined ? serializeGoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting(data["shoppingSetting"]) : undefined, targetCpa: data["targetCpa"] !== undefined ? serializeGoogleAdsSearchads360V23Common__TargetCpa(data["targetCpa"]) : undefined, targetCpc: data["targetCpc"] !== undefined ? serializeGoogleAdsSearchads360V23Common__TargetCpc(data["targetCpc"]) : undefined, targetImpressionShare: data["targetImpressionShare"] !== undefined ? serializeGoogleAdsSearchads360V23Common__TargetImpressionShare(data["targetImpressionShare"]) : undefined, targetRoas: data["targetRoas"] !== undefined ? serializeGoogleAdsSearchads360V23Common__TargetRoas(data["targetRoas"]) : undefined, targetSpend: data["targetSpend"] !== undefined ? serializeGoogleAdsSearchads360V23Common__TargetSpend(data["targetSpend"]) : undefined, travelCampaignSettings: data["travelCampaignSettings"] !== undefined ? serializeGoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings(data["travelCampaignSettings"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__Campaign(data: any): GoogleAdsSearchads360V23Resources__Campaign { return { ...data, commission: data["commission"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__Commission(data["commission"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, localServicesCampaignSettings: data["localServicesCampaignSettings"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings(data["localServicesCampaignSettings"]) : undefined, maximizeConversions: data["maximizeConversions"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__MaximizeConversions(data["maximizeConversions"]) : undefined, maximizeConversionValue: data["maximizeConversionValue"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__MaximizeConversionValue(data["maximizeConversionValue"]) : undefined, percentCpc: data["percentCpc"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__PercentCpc(data["percentCpc"]) : undefined, shoppingSetting: data["shoppingSetting"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting(data["shoppingSetting"]) : undefined, targetCpa: data["targetCpa"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__TargetCpa(data["targetCpa"]) : undefined, targetCpc: data["targetCpc"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__TargetCpc(data["targetCpc"]) : undefined, targetImpressionShare: data["targetImpressionShare"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__TargetImpressionShare(data["targetImpressionShare"]) : undefined, targetRoas: data["targetRoas"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__TargetRoas(data["targetRoas"]) : undefined, targetSpend: data["targetSpend"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__TargetSpend(data["targetSpend"]) : undefined, travelCampaignSettings: data["travelCampaignSettings"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings(data["travelCampaignSettings"]) : undefined, }; } /** * A link between a Campaign and an Asset. */ export interface GoogleAdsSearchads360V23Resources__CampaignAsset { /** * Immutable. The asset which is linked to the campaign. */ asset?: string; /** * Immutable. The campaign to which the asset is linked. */ campaign?: string; /** * Immutable. Role that the asset takes under the linked campaign. Required. */ fieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Output only. Provides the PrimaryStatus of this asset link. Primary status * is meant essentially to differentiate between the plain "status" field, * which has advertiser set values of enabled, paused, or removed. The primary * status takes into account other signals (for assets its mainly policy and * quality approvals) to come up with a more comprehensive status to indicate * its serving state. */ readonly primaryStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "PAUSED" | "REMOVED" | "PENDING" | "LIMITED" | "NOT_ELIGIBLE"; /** * Output only. Provides the details of the primary status and its associated * reasons. */ readonly primaryStatusDetails?: GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[]; /** * Output only. Provides a list of reasons for why an asset is not serving or * not serving at full capacity. */ readonly primaryStatusReasons?: | "UNSPECIFIED" | "UNKNOWN" | "ASSET_LINK_PAUSED" | "ASSET_LINK_REMOVED" | "ASSET_DISAPPROVED" | "ASSET_UNDER_REVIEW" | "ASSET_APPROVED_LABELED"[]; /** * Immutable. The resource name of the campaign asset. CampaignAsset resource * names have the form: * `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}` */ resourceName?: string; /** * Output only. Source of the campaign asset link. */ readonly source?: | "UNSPECIFIED" | "UNKNOWN" | "ADVERTISER" | "AUTOMATICALLY_CREATED"; /** * Status of the campaign asset. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED" | "PAUSED"; } /** * CampaignAssetSet is the linkage between a campaign and an asset set. Adding * a CampaignAssetSet links an asset set with a campaign. */ export interface GoogleAdsSearchads360V23Resources__CampaignAssetSet { /** * Immutable. The asset set which is linked to the campaign. */ assetSet?: string; /** * Immutable. The campaign to which this asset set is linked. */ campaign?: string; /** * Immutable. The resource name of the campaign asset set. Asset set asset * resource names have the form: * `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` */ resourceName?: string; /** * Output only. The status of the campaign asset set asset. Read-only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; } /** * A campaign audience view. Includes performance data from interests and * remarketing lists for Display Network and YouTube Network ads, and * remarketing lists for search ads (RLSA), aggregated by campaign and audience * criterion. This view only includes audiences attached at the campaign level. */ export interface GoogleAdsSearchads360V23Resources__CampaignAudienceView { /** * Output only. The resource name of the campaign audience view. Campaign * audience view resource names have the form: * `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}` */ readonly resourceName?: string; } /** * Represents a bid-modifiable only criterion at the campaign level. */ export interface GoogleAdsSearchads360V23Resources__CampaignBidModifier { /** * The modifier for the bid when the criterion matches. */ bidModifier?: number; /** * Output only. The campaign to which this criterion belongs. */ readonly campaign?: string; /** * Output only. The ID of the criterion to bid modify. This field is ignored * for mutates. */ readonly criterionId?: bigint; /** * Immutable. Criterion for interaction type. Only supported for search * campaigns. */ interactionType?: GoogleAdsSearchads360V23Common__InteractionTypeInfo; /** * Immutable. The resource name of the campaign bid modifier. Campaign bid * modifier resource names have the form: * `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}` */ resourceName?: string; } /** * A campaign budget. */ export interface GoogleAdsSearchads360V23Resources__CampaignBudget { /** * ID of the portfolio bidding strategy that this shared campaign budget is * aligned with. When a bidding strategy and a campaign budget are aligned, * they are attached to the same set of campaigns. After a campaign budget is * aligned with a bidding strategy, campaigns that are added to the campaign * budget must also use the aligned bidding strategy. */ alignedBiddingStrategyId?: bigint; /** * The average daily amount to be spent by the campaign. This field is used * when the CampaignBudget `period` is set to `DAILY`, which is the default. * Amount is specified in micros in the account's local currency. One million * micros is equivalent to one currency unit. The effective monthly spend is * capped at 30.4 times this daily amount. This field is mutually exclusive * with 'total_amount_micros'. Only one of 'amount_micros' or * 'total_amount_micros' should be set. */ amountMicros?: bigint; /** * The delivery method that determines the rate at which the campaign budget * is spent. Defaults to STANDARD if unspecified in a create operation. */ deliveryMethod?: | "UNSPECIFIED" | "UNKNOWN" | "STANDARD" | "ACCELERATED"; /** * Specifies whether the budget is explicitly shared. Defaults to true if * unspecified in a create operation. If true, the budget was created with the * purpose of sharing across one or more campaigns. If false, the budget was * created with the intention of only being used with a single campaign. The * budget's name and status will stay in sync with the campaign's name and * status. Attempting to share the budget with a second campaign will result * in an error. A non-shared budget can become an explicitly shared. The same * operation must also assign the budget a name. A shared campaign budget can * never become non-shared. */ explicitlyShared?: boolean; /** * Output only. Indicates whether there is a recommended budget for this * campaign budget. This field is read-only. */ readonly hasRecommendedBudget?: boolean; /** * Output only. The ID of the campaign budget. A campaign budget is created * using the CampaignBudgetService create operation and is assigned a budget * ID. A budget ID can be shared across different campaigns; the system will * then allocate the campaign budget among different campaigns to get optimum * results. */ readonly id?: bigint; /** * The name of the campaign budget. When creating a campaign budget through * CampaignBudgetService, every explicitly shared campaign budget must have a * non-null, non-empty name. Campaign budgets that are not explicitly shared * derive their name from the attached campaign's name. The length of this * string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed). */ name?: string; /** * Immutable. Period over which to spend the budget. Defaults to DAILY if not * specified. */ period?: | "UNSPECIFIED" | "UNKNOWN" | "DAILY" | "CUSTOM_PERIOD"; /** * Output only. The recommended budget amount. If no recommendation is * available, this will be set to the budget amount. Amount is specified in * micros, where one million is equivalent to one currency unit. This field is * read-only. */ readonly recommendedBudgetAmountMicros?: bigint; /** * Output only. The estimated change in weekly clicks if the recommended * budget is applied. This field is read-only. */ readonly recommendedBudgetEstimatedChangeWeeklyClicks?: bigint; /** * Output only. The estimated change in weekly cost in micros if the * recommended budget is applied. One million is equivalent to one currency * unit. This field is read-only. */ readonly recommendedBudgetEstimatedChangeWeeklyCostMicros?: bigint; /** * Output only. The estimated change in weekly interactions if the * recommended budget is applied. This field is read-only. */ readonly recommendedBudgetEstimatedChangeWeeklyInteractions?: bigint; /** * Output only. The estimated change in weekly views if the recommended * budget is applied. This field is read-only. */ readonly recommendedBudgetEstimatedChangeWeeklyViews?: bigint; /** * Output only. The number of campaigns actively using the budget. This field * is read-only. */ readonly referenceCount?: bigint; /** * Immutable. The resource name of the campaign budget. Campaign budget * resource names have the form: * `customers/{customer_id}/campaignBudgets/{campaign_budget_id}` */ resourceName?: string; /** * Output only. The status of this campaign budget. This field is read-only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * The total amount to be spent by the campaign over its entire duration. * This field is used *only* when the CampaignBudget `period` is set to * `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, * rather than a daily limit. The amount is specified in micros in the * account's local currency. One million micros is equivalent to one currency * unit. This field is mutually exclusive with 'amount_micros'. Only one of * 'total_amount_micros' or 'amount_micros' should be set. */ totalAmountMicros?: bigint; /** * Immutable. The type of the campaign budget. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "STANDARD" | "FIXED_CPA" | "SMART_CAMPAIGN" | "LOCAL_SERVICES"; } function serializeGoogleAdsSearchads360V23Resources__CampaignBudget(data: any): GoogleAdsSearchads360V23Resources__CampaignBudget { return { ...data, alignedBiddingStrategyId: data["alignedBiddingStrategyId"] !== undefined ? String(data["alignedBiddingStrategyId"]) : undefined, amountMicros: data["amountMicros"] !== undefined ? String(data["amountMicros"]) : undefined, totalAmountMicros: data["totalAmountMicros"] !== undefined ? String(data["totalAmountMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__CampaignBudget(data: any): GoogleAdsSearchads360V23Resources__CampaignBudget { return { ...data, alignedBiddingStrategyId: data["alignedBiddingStrategyId"] !== undefined ? BigInt(data["alignedBiddingStrategyId"]) : undefined, amountMicros: data["amountMicros"] !== undefined ? BigInt(data["amountMicros"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, recommendedBudgetAmountMicros: data["recommendedBudgetAmountMicros"] !== undefined ? BigInt(data["recommendedBudgetAmountMicros"]) : undefined, recommendedBudgetEstimatedChangeWeeklyClicks: data["recommendedBudgetEstimatedChangeWeeklyClicks"] !== undefined ? BigInt(data["recommendedBudgetEstimatedChangeWeeklyClicks"]) : undefined, recommendedBudgetEstimatedChangeWeeklyCostMicros: data["recommendedBudgetEstimatedChangeWeeklyCostMicros"] !== undefined ? BigInt(data["recommendedBudgetEstimatedChangeWeeklyCostMicros"]) : undefined, recommendedBudgetEstimatedChangeWeeklyInteractions: data["recommendedBudgetEstimatedChangeWeeklyInteractions"] !== undefined ? BigInt(data["recommendedBudgetEstimatedChangeWeeklyInteractions"]) : undefined, recommendedBudgetEstimatedChangeWeeklyViews: data["recommendedBudgetEstimatedChangeWeeklyViews"] !== undefined ? BigInt(data["recommendedBudgetEstimatedChangeWeeklyViews"]) : undefined, referenceCount: data["referenceCount"] !== undefined ? BigInt(data["referenceCount"]) : undefined, totalAmountMicros: data["totalAmountMicros"] !== undefined ? BigInt(data["totalAmountMicros"]) : undefined, }; } /** * The biddability setting for the specified campaign only for all conversion * actions with a matching category and origin. */ export interface GoogleAdsSearchads360V23Resources__CampaignConversionGoal { /** * The biddability of the campaign conversion goal. */ biddable?: boolean; /** * Immutable. The campaign with which this campaign conversion goal is * associated. */ campaign?: string; /** * The conversion category of this campaign conversion goal. */ category?: | "UNSPECIFIED" | "UNKNOWN" | "DEFAULT" | "PAGE_VIEW" | "PURCHASE" | "SIGNUP" | "DOWNLOAD" | "ADD_TO_CART" | "BEGIN_CHECKOUT" | "SUBSCRIBE_PAID" | "PHONE_CALL_LEAD" | "IMPORTED_LEAD" | "SUBMIT_LEAD_FORM" | "BOOK_APPOINTMENT" | "REQUEST_QUOTE" | "GET_DIRECTIONS" | "OUTBOUND_CLICK" | "CONTACT" | "ENGAGEMENT" | "STORE_VISIT" | "STORE_SALE" | "QUALIFIED_LEAD" | "CONVERTED_LEAD"; /** * The conversion origin of this campaign conversion goal. */ origin?: | "UNSPECIFIED" | "UNKNOWN" | "WEBSITE" | "GOOGLE_HOSTED" | "APP" | "CALL_FROM_ADS" | "STORE" | "YOUTUBE_HOSTED" | "FLOODLIGHT"; /** * Immutable. The resource name of the campaign conversion goal. Campaign * conversion goal resource names have the form: * `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}` */ resourceName?: string; /** * Search Ads 360 biddability of the campaign conversion goal. */ searchAds360Biddable?: boolean; } /** * A campaign criterion. */ export interface GoogleAdsSearchads360V23Resources__CampaignCriterion { /** * Immutable. Ad Schedule. */ adSchedule?: GoogleAdsSearchads360V23Common__AdScheduleInfo; /** * Immutable. Age range. */ ageRange?: GoogleAdsSearchads360V23Common__AgeRangeInfo; /** * The modifier for the bids when the criterion matches. The modifier must be * in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. * Use 0 to opt out of a Device type. */ bidModifier?: number; /** * Immutable. Brand list campaign criterion. */ brandList?: GoogleAdsSearchads360V23Common__BrandListInfo; /** * Immutable. The campaign to which the criterion belongs. */ campaign?: string; /** * Immutable. Carrier. */ carrier?: GoogleAdsSearchads360V23Common__CarrierInfo; /** * Immutable. Combined Audience. */ combinedAudience?: GoogleAdsSearchads360V23Common__CombinedAudienceInfo; /** * Immutable. ContentLabel. */ contentLabel?: GoogleAdsSearchads360V23Common__ContentLabelInfo; /** * Output only. The ID of the criterion. This field is ignored during mutate. */ readonly criterionId?: bigint; /** * Immutable. Device. */ device?: GoogleAdsSearchads360V23Common__DeviceInfo; /** * Output only. The display name of the criterion. This field is ignored for * mutates. */ readonly displayName?: string; /** * Immutable. Extended demographic criterion. */ extendedDemographic?: GoogleAdsSearchads360V23Common__ExtendedDemographicInfo; /** * Immutable. Gender. */ gender?: GoogleAdsSearchads360V23Common__GenderInfo; /** * Immutable. Income range. */ incomeRange?: GoogleAdsSearchads360V23Common__IncomeRangeInfo; /** * Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign. */ ipBlock?: GoogleAdsSearchads360V23Common__IpBlockInfo; /** * Immutable. Keyword. */ keyword?: GoogleAdsSearchads360V23Common__KeywordInfo; /** * Immutable. Smart Campaign Keyword Theme. */ keywordTheme?: GoogleAdsSearchads360V23Common__KeywordThemeInfo; /** * Immutable. Language. */ language?: GoogleAdsSearchads360V23Common__LanguageInfo; /** * Output only. The datetime when this campaign criterion was last modified. * The datetime is in the customer's time zone and in "yyyy-MM-dd * HH:mm:ss.ssssss" format. */ readonly lastModifiedTime?: string; /** * Immutable. Life event campaign criterion. */ lifeEvent?: GoogleAdsSearchads360V23Common__LifeEventInfo; /** * Immutable. Listing scope. */ listingScope?: GoogleAdsSearchads360V23Common__ListingScopeInfo; /** * Immutable. GLS service campaign criterion. */ localServiceId?: GoogleAdsSearchads360V23Common__LocalServiceIdInfo; /** * Immutable. Location. */ location?: GoogleAdsSearchads360V23Common__LocationInfo; /** * Immutable. Location Group */ locationGroup?: GoogleAdsSearchads360V23Common__LocationGroupInfo; /** * Immutable. Mobile app category. */ mobileAppCategory?: GoogleAdsSearchads360V23Common__MobileAppCategoryInfo; /** * Immutable. Mobile application. */ mobileApplication?: GoogleAdsSearchads360V23Common__MobileApplicationInfo; /** * Immutable. Mobile Device. */ mobileDevice?: GoogleAdsSearchads360V23Common__MobileDeviceInfo; /** * Immutable. Whether to target (`false`) or exclude (`true`) the criterion. */ negative?: boolean; /** * Immutable. Operating system version. */ operatingSystemVersion?: GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo; /** * Immutable. Parental status. */ parentalStatus?: GoogleAdsSearchads360V23Common__ParentalStatusInfo; /** * Immutable. Placement. */ placement?: GoogleAdsSearchads360V23Common__PlacementInfo; /** * Immutable. Proximity. */ proximity?: GoogleAdsSearchads360V23Common__ProximityInfo; /** * Immutable. The resource name of the campaign criterion. Campaign criterion * resource names have the form: * `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}` */ resourceName?: string; /** * The status of the criterion. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "PAUSED" | "REMOVED"; /** * Immutable. Topic. */ topic?: GoogleAdsSearchads360V23Common__TopicInfo; /** * Output only. The type of the criterion. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "KEYWORD" | "PLACEMENT" | "MOBILE_APP_CATEGORY" | "MOBILE_APPLICATION" | "DEVICE" | "LOCATION" | "LISTING_GROUP" | "AD_SCHEDULE" | "AGE_RANGE" | "GENDER" | "INCOME_RANGE" | "PARENTAL_STATUS" | "YOUTUBE_VIDEO" | "YOUTUBE_CHANNEL" | "USER_LIST" | "PROXIMITY" | "TOPIC" | "LISTING_SCOPE" | "LANGUAGE" | "IP_BLOCK" | "CONTENT_LABEL" | "CARRIER" | "USER_INTEREST" | "WEBPAGE" | "OPERATING_SYSTEM_VERSION" | "APP_PAYMENT_MODEL" | "MOBILE_DEVICE" | "CUSTOM_AFFINITY" | "CUSTOM_INTENT" | "LOCATION_GROUP" | "CUSTOM_AUDIENCE" | "COMBINED_AUDIENCE" | "KEYWORD_THEME" | "AUDIENCE" | "NEGATIVE_KEYWORD_LIST" | "LOCAL_SERVICE_ID" | "SEARCH_THEME" | "BRAND" | "BRAND_LIST" | "LIFE_EVENT" | "WEBPAGE_LIST" | "VIDEO_LINEUP" | "PLACEMENT_LIST" | "VERTICAL_ADS_ITEM_GROUP_RULE_LIST" | "VERTICAL_ADS_ITEM_GROUP_RULE"; /** * Immutable. User Interest. */ userInterest?: GoogleAdsSearchads360V23Common__UserInterestInfo; /** * Immutable. User List. */ userList?: GoogleAdsSearchads360V23Common__UserListInfo; /** * Immutable. Video lineup criterion. */ videoLineup?: GoogleAdsSearchads360V23Common__VideoLineupInfo; /** * Immutable. Webpage. */ webpage?: GoogleAdsSearchads360V23Common__WebpageInfo; /** * Immutable. Webpage list. This criterion is not publicly available. */ webpageList?: GoogleAdsSearchads360V23Common__WebpageListInfo; /** * Immutable. YouTube Channel. */ youtubeChannel?: GoogleAdsSearchads360V23Common__YouTubeChannelInfo; /** * Immutable. YouTube Video. */ youtubeVideo?: GoogleAdsSearchads360V23Common__YouTubeVideoInfo; } function serializeGoogleAdsSearchads360V23Resources__CampaignCriterion(data: any): GoogleAdsSearchads360V23Resources__CampaignCriterion { return { ...data, extendedDemographic: data["extendedDemographic"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ExtendedDemographicInfo(data["extendedDemographic"]) : undefined, lifeEvent: data["lifeEvent"] !== undefined ? serializeGoogleAdsSearchads360V23Common__LifeEventInfo(data["lifeEvent"]) : undefined, listingScope: data["listingScope"] !== undefined ? serializeGoogleAdsSearchads360V23Common__ListingScopeInfo(data["listingScope"]) : undefined, locationGroup: data["locationGroup"] !== undefined ? serializeGoogleAdsSearchads360V23Common__LocationGroupInfo(data["locationGroup"]) : undefined, videoLineup: data["videoLineup"] !== undefined ? serializeGoogleAdsSearchads360V23Common__VideoLineupInfo(data["videoLineup"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__CampaignCriterion(data: any): GoogleAdsSearchads360V23Resources__CampaignCriterion { return { ...data, criterionId: data["criterionId"] !== undefined ? BigInt(data["criterionId"]) : undefined, extendedDemographic: data["extendedDemographic"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ExtendedDemographicInfo(data["extendedDemographic"]) : undefined, lifeEvent: data["lifeEvent"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__LifeEventInfo(data["lifeEvent"]) : undefined, listingScope: data["listingScope"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__ListingScopeInfo(data["listingScope"]) : undefined, locationGroup: data["locationGroup"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__LocationGroupInfo(data["locationGroup"]) : undefined, videoLineup: data["videoLineup"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__VideoLineupInfo(data["videoLineup"]) : undefined, }; } /** * A customizer value for the associated CustomizerAttribute at the Campaign * level. */ export interface GoogleAdsSearchads360V23Resources__CampaignCustomizer { /** * Immutable. The campaign to which the customizer attribute is linked. */ campaign?: string; /** * Required. Immutable. The customizer attribute which is linked to the * campaign. */ customizerAttribute?: string; /** * Immutable. The resource name of the campaign customizer. Campaign * customizer resource names have the form: * `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` */ resourceName?: string; /** * Output only. The status of the campaign customizer. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * Required. The value to associate with the customizer attribute at this * level. The value must be of the type specified for the CustomizerAttribute. */ value?: GoogleAdsSearchads360V23Common__CustomizerValue; } /** * A campaign draft. */ export interface GoogleAdsSearchads360V23Resources__CampaignDraft { /** * Immutable. The base campaign to which the draft belongs. */ baseCampaign?: string; /** * Output only. Resource name of the Campaign that results from overlaying * the draft changes onto the base campaign. This field is read-only. */ readonly draftCampaign?: string; /** * Output only. The ID of the draft. This field is read-only. */ readonly draftId?: bigint; /** * Output only. Whether there is an experiment based on this draft currently * serving. */ readonly hasExperimentRunning?: boolean; /** * Output only. The resource name of the long-running operation that can be * used to poll for completion of draft promotion. This is only set if the * draft promotion is in progress or finished. */ readonly longRunningOperation?: string; /** * The name of the campaign draft. This field is required and should not be * empty when creating new campaign drafts. It must not contain any null (code * point 0x0), NL line feed (code point 0xA) or carriage return (code point * 0xD) characters. */ name?: string; /** * Immutable. The resource name of the campaign draft. Campaign draft * resource names have the form: * `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` */ resourceName?: string; /** * Output only. The status of the campaign draft. This field is read-only. * When a new campaign draft is added, the status defaults to PROPOSED. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "PROPOSED" | "REMOVED" | "PROMOTING" | "PROMOTED" | "PROMOTE_FAILED"; } /** * Represents a relationship between a campaign and an effective label. An * effective label is a label inherited or directly assigned to this campaign. */ export interface GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel { /** * Immutable. The campaign to which the effective label is attached. */ campaign?: string; /** * Immutable. The effective label assigned to the campaign. */ label?: string; /** * Output only. The ID of the Customer which owns the effective label. */ readonly ownerCustomerId?: bigint; /** * Immutable. Name of the resource. CampaignEffectivelabel resource names * have the form: * `customers/{owner_customer_id}/campaignEffectiveLabels/{campaign_id}~{label_id}` */ resourceName?: string; } /** * A link between a campaign and a goal enabling campaign-specific * optimization. */ export interface GoogleAdsSearchads360V23Resources__CampaignGoalConfig { /** * Immutable. The resource name of the campaign for this link. */ campaign?: string; /** * Retention goal campaign settings. */ campaignRetentionSettings?: GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings; /** * Immutable. The resource name of the goal this link is attached to. */ goal?: string; /** * Output only. The goal type this link is attached to. */ readonly goalType?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER_RETENTION"; /** * Immutable. The resource name of the campaign goal config. campaign goal * config resource names have the form: * `customers/{customer_id}/campaignGoalConfigs/{campaign_id}~{goal_id}` */ resourceName?: string; } /** * A campaign group. */ export interface GoogleAdsSearchads360V23Resources__CampaignGroup { /** * Output only. The ID of the campaign group. */ readonly id?: bigint; /** * The name of the campaign group. This field is required and should not be * empty when creating new campaign groups. It must not contain any null (code * point 0x0), NL line feed (code point 0xA) or carriage return (code point * 0xD) characters. */ name?: string; /** * Immutable. The resource name of the campaign group. Campaign group * resource names have the form: * `customers/{customer_id}/campaignGroups/{campaign_group_id}` */ resourceName?: string; /** * The status of the campaign group. When a new campaign group is added, the * status defaults to ENABLED. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; } /** * Represents a relationship between a campaign and a label. */ export interface GoogleAdsSearchads360V23Resources__CampaignLabel { /** * Immutable. The campaign to which the label is attached. */ campaign?: string; /** * Immutable. The label assigned to the campaign. */ label?: string; /** * Output only. The ID of the Customer which owns the label. */ readonly ownerCustomerId?: bigint; /** * Immutable. Name of the resource. Campaign label resource names have the * form: * `customers/{owner_customer_id}/campaignLabels/{campaign_id}~{label_id}` */ resourceName?: string; } /** * Campaign level customer lifecycle goal settings. */ export interface GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal { /** * Output only. The campaign where the goal is attached. */ readonly campaign?: string; /** * Output only. The customer acquisition goal settings for the campaign. The * customer acquisition goal is described in this article: * https://support.google.com/google-ads/answer/12080169 */ readonly customerAcquisitionGoalSettings?: GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings; /** * Immutable. The resource name of the customer lifecycle goal of a campaign. * `customers/{customer_id}/campaignLifecycleGoal/{campaign_id}` */ resourceName?: string; } /** * This report provides a high-level view of search demand at the campaign * level by grouping similar search terms into categories and showing their * search volume. Historical data is available starting March 2023. */ export interface GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight { /** * Output only. The ID of the campaign. */ readonly campaignId?: bigint; /** * Output only. The label for the search category. An empty string denotes * the catch-all category for search terms that didn't fit into another * category. */ readonly categoryLabel?: string; /** * Output only. The ID of the insight. */ readonly id?: bigint; /** * Output only. The resource name of the campaign level search term insight. * Campaign level search term insight resource names have the form: * `customers/{customer_id}/campaignSearchTermInsights/{campaign_id}~{category_id}` */ readonly resourceName?: string; } /** * This report provides granular performance data, including cost metrics, for * each individual search term that triggered your ads. If keyword-related * segments are used, Performance Max data will be excluded from the results. */ export interface GoogleAdsSearchads360V23Resources__CampaignSearchTermView { /** * Output only. The campaign the search term served in. */ readonly campaign?: string; /** * Output only. The resource name of the campaign search term view. Campaign * search term view resource names have the form: * `customers/{customer_id}/campaignSearchTermViews/{campaign_id}~{URL-base64_search_term}` */ readonly resourceName?: string; /** * Output only. The search term. */ readonly searchTerm?: string; } /** * CampaignSharedSets are used for managing the shared sets associated with a * campaign. */ export interface GoogleAdsSearchads360V23Resources__CampaignSharedSet { /** * Immutable. The campaign to which the campaign shared set belongs. */ campaign?: string; /** * Immutable. The resource name of the campaign shared set. Campaign shared * set resource names have the form: * `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` */ resourceName?: string; /** * Immutable. The shared set associated with the campaign. This may be a * negative keyword shared set of another customer. This customer should be a * manager of the other customer, otherwise the campaign shared set will exist * but have no serving effect. Only negative keyword shared sets can be * associated with Shopping campaigns. Only negative placement shared sets can * be associated with Display mobile app campaigns. */ sharedSet?: string; /** * Output only. The status of this campaign shared set. Read only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; } /** * A campaign simulation. Supported combinations of advertising channel type, * simulation type and simulation modification method is detailed below * respectively. * SEARCH - CPC_BID - UNIFORM * SEARCH - CPC_BID - SCALING * * SEARCH - TARGET_CPA - UNIFORM * SEARCH - TARGET_CPA - SCALING * SEARCH - * TARGET_ROAS - UNIFORM * SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM * SEARCH - * BUDGET - UNIFORM * SHOPPING - BUDGET - UNIFORM * SHOPPING - TARGET_ROAS - * UNIFORM * MULTI_CHANNEL - TARGET_CPA - UNIFORM * MULTI_CHANNEL - TARGET_ROAS * - UNIFORM * DEMAND_GEN - TARGET_CPA - DEFAULT * DISPLAY - TARGET_CPA - * UNIFORM * PERFORMANCE_MAX - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - * TARGET_ROAS - UNIFORM * PERFORMANCE_MAX - BUDGET - UNIFORM */ export interface GoogleAdsSearchads360V23Resources__CampaignSimulation { /** * Output only. Simulation points if the simulation type is BUDGET. */ readonly budgetPointList?: GoogleAdsSearchads360V23Common__BudgetSimulationPointList; /** * Output only. Campaign id of the simulation. */ readonly campaignId?: bigint; /** * Output only. Simulation points if the simulation type is CPC_BID. */ readonly cpcBidPointList?: GoogleAdsSearchads360V23Common__CpcBidSimulationPointList; /** * Output only. Last day on which the simulation is based, in YYYY-MM-DD * format */ readonly endDate?: string; /** * Output only. How the simulation modifies the field. */ readonly modificationMethod?: | "UNSPECIFIED" | "UNKNOWN" | "UNIFORM" | "DEFAULT" | "SCALING"; /** * Output only. The resource name of the campaign simulation. Campaign * simulation resource names have the form: * `customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}` */ readonly resourceName?: string; /** * Output only. First day on which the simulation is based, in YYYY-MM-DD * format. */ readonly startDate?: string; /** * Output only. Simulation points if the simulation type is TARGET_CPA. */ readonly targetCpaPointList?: GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList; /** * Output only. Simulation points if the simulation type is * TARGET_IMPRESSION_SHARE. */ readonly targetImpressionSharePointList?: GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList; /** * Output only. Simulation points if the simulation type is TARGET_ROAS. */ readonly targetRoasPointList?: GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList; /** * Output only. The field that the simulation modifies. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "CPC_BID" | "CPV_BID" | "TARGET_CPA" | "BID_MODIFIER" | "TARGET_ROAS" | "PERCENT_CPC_BID" | "TARGET_IMPRESSION_SHARE" | "BUDGET"; } /** * A carrier criterion that can be used in campaign targeting. */ export interface GoogleAdsSearchads360V23Resources__CarrierConstant { /** * Output only. The country code of the country where the carrier is located, * for example, "AR", "FR", etc. */ readonly countryCode?: string; /** * Output only. The ID of the carrier criterion. */ readonly id?: bigint; /** * Output only. The full name of the carrier in English. */ readonly name?: string; /** * Output only. The resource name of the carrier criterion. Carrier criterion * resource names have the form: `carrierConstants/{criterion_id}` */ readonly resourceName?: string; } /** * Cart data sales view. Provides information about the products which were * purchased if conversions with cart data is implemented. Performance metrics * like revenue, gross profit, lead/cross-sell metrics etc. and Merchant Center * attributes such as brand, category etc. are available for products defined in * an inventory feed and sold as a result of Google ads. For purchases * attributed to clicks on Shopping ads, dimensions of both clicked and sold * products can be viewed together. */ export interface GoogleAdsSearchads360V23Resources__CartDataSalesView { /** * Output only. The resource name of the Cart data sales view. Cart data * sales view resource names have the form: * `customers/{customer_id}/cartDataSalesView` */ readonly resourceName?: string; } /** * Describes the granular change of returned resources of certain resource * types. Changes made through the UI or API in the past 30 days are included. * Previous and new values of the changed fields are shown. ChangeEvent could * have up to 3 minutes delay to reflect a new change. */ export interface GoogleAdsSearchads360V23Resources__ChangeEvent { /** * Output only. The AdGroup affected by this change. */ readonly adGroup?: string; /** * Output only. The Asset affected by this change. */ readonly asset?: string; /** * Output only. The Campaign affected by this change. */ readonly campaign?: string; /** * Output only. Time at which the change was committed on this resource. */ readonly changeDateTime?: string; /** * Output only. A list of fields that are changed in the returned resource. */ readonly changedFields?: string /* FieldMask */; /** * Output only. The Simply resource this change occurred on. */ readonly changeResourceName?: string; /** * Output only. The type of the changed resource. This dictates what resource * will be set in old_resource and new_resource. */ readonly changeResourceType?: | "UNSPECIFIED" | "UNKNOWN" | "AD" | "AD_GROUP" | "AD_GROUP_CRITERION" | "CAMPAIGN" | "CAMPAIGN_BUDGET" | "AD_GROUP_BID_MODIFIER" | "CAMPAIGN_CRITERION" | "FEED" | "FEED_ITEM" | "CAMPAIGN_FEED" | "AD_GROUP_FEED" | "AD_GROUP_AD" | "ASSET" | "CUSTOMER_ASSET" | "CAMPAIGN_ASSET" | "AD_GROUP_ASSET" | "ASSET_SET" | "ASSET_SET_ASSET" | "CAMPAIGN_ASSET_SET"; /** * Output only. Where the change was made through. */ readonly clientType?: | "UNSPECIFIED" | "UNKNOWN" | "GOOGLE_ADS_WEB_CLIENT" | "GOOGLE_ADS_AUTOMATED_RULE" | "GOOGLE_ADS_SCRIPTS" | "GOOGLE_ADS_BULK_UPLOAD" | "GOOGLE_ADS_API" | "GOOGLE_ADS_EDITOR" | "GOOGLE_ADS_MOBILE_APP" | "GOOGLE_ADS_RECOMMENDATIONS" | "SEARCH_ADS_360_SYNC" | "SEARCH_ADS_360_POST" | "INTERNAL_TOOL" | "OTHER" | "GOOGLE_ADS_RECOMMENDATIONS_SUBSCRIPTION"; /** * Output only. The new resource after the change. Only changed fields will * be populated. */ readonly newResource?: GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource; /** * Output only. The old resource before the change. Only changed fields will * be populated. */ readonly oldResource?: GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource; /** * Output only. The operation on the changed resource. */ readonly resourceChangeOperation?: | "UNSPECIFIED" | "UNKNOWN" | "CREATE" | "UPDATE" | "REMOVE"; /** * Output only. The resource name of the change event. Change event resource * names have the form: * `customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}` */ readonly resourceName?: string; /** * Output only. The email of the user who made this change. */ readonly userEmail?: string; } /** * Describes the status of returned resource. ChangeStatus could have up to 3 * minutes delay to reflect a new change. */ export interface GoogleAdsSearchads360V23Resources__ChangeStatus { /** * Output only. The AdGroup affected by this change. */ readonly adGroup?: string; /** * Output only. The AdGroupAd affected by this change. */ readonly adGroupAd?: string; /** * Output only. The AdGroupAsset affected by this change. */ readonly adGroupAsset?: string; /** * Output only. The AdGroupBidModifier affected by this change. */ readonly adGroupBidModifier?: string; /** * Output only. The AdGroupCriterion affected by this change. */ readonly adGroupCriterion?: string; /** * Output only. The Asset affected by this change. */ readonly asset?: string; /** * Output only. The AssetGroup affected by this change. */ readonly assetGroup?: string; /** * Output only. The AssetSet affected by this change. */ readonly assetSet?: string; /** * Output only. The Campaign affected by this change. */ readonly campaign?: string; /** * Output only. The CampaignAsset affected by this change. */ readonly campaignAsset?: string; /** * Output only. The CampaignAssetSet affected by this change. */ readonly campaignAssetSet?: string; /** * Output only. The CampaignBudget affected by this change. */ readonly campaignBudget?: string; /** * Output only. The CampaignCriterion affected by this change. */ readonly campaignCriterion?: string; /** * Output only. The CampaignSharedSet affected by this change. */ readonly campaignSharedSet?: string; /** * Output only. The CombinedAudience affected by this change. */ readonly combinedAudience?: string; /** * Output only. The CustomerAsset affected by this change. */ readonly customerAsset?: string; /** * Output only. Time at which the most recent change has occurred on this * resource. */ readonly lastChangeDateTime?: string; /** * Output only. The resource name of the change status. Change status * resource names have the form: * `customers/{customer_id}/changeStatus/{change_status_id}` */ readonly resourceName?: string; /** * Output only. Represents the status of the changed resource. */ readonly resourceStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ADDED" | "CHANGED" | "REMOVED"; /** * Output only. Represents the type of the changed resource. This dictates * what fields will be set. For example, for AD_GROUP, campaign and ad_group * fields will be set. */ readonly resourceType?: | "UNSPECIFIED" | "UNKNOWN" | "AD_GROUP" | "AD_GROUP_AD" | "AD_GROUP_CRITERION" | "CAMPAIGN" | "CAMPAIGN_CRITERION" | "CAMPAIGN_BUDGET" | "FEED" | "FEED_ITEM" | "AD_GROUP_FEED" | "CAMPAIGN_FEED" | "AD_GROUP_BID_MODIFIER" | "SHARED_SET" | "CAMPAIGN_SHARED_SET" | "ASSET" | "CUSTOMER_ASSET" | "CAMPAIGN_ASSET" | "AD_GROUP_ASSET" | "COMBINED_AUDIENCE" | "ASSET_GROUP" | "ASSET_SET" | "CAMPAIGN_ASSET_SET"; /** * Output only. The SharedSet affected by this change. */ readonly sharedSet?: string; } /** * A click view with metrics aggregated at each click level, including both * valid and invalid clicks. For non-Search campaigns, metrics.clicks represents * the number of valid and invalid interactions. Queries including ClickView * must have a filter limiting the results to one day and can be requested for * dates back to 90 days before the time of the request. GCLIDs are not * available in this report for App Campaigns for Installs (ACi) and App * Campaigns for Pre-registration (ACpre). */ export interface GoogleAdsSearchads360V23Resources__ClickView { /** * Output only. The associated ad. */ readonly adGroupAd?: string; /** * Output only. The location criteria matching the area of interest * associated with the impression. */ readonly areaOfInterest?: GoogleAdsSearchads360V23Common__ClickLocation; /** * Output only. The associated campaign location target, if one exists. */ readonly campaignLocationTarget?: string; /** * Output only. The Google Click ID. */ readonly gclid?: string; /** * Output only. The associated keyword, if one exists and the click * corresponds to the SEARCH channel. */ readonly keyword?: string; /** * Output only. Basic information about the associated keyword, if it exists. */ readonly keywordInfo?: GoogleAdsSearchads360V23Common__KeywordInfo; /** * Output only. The location criteria matching the location of presence * associated with the impression. */ readonly locationOfPresence?: GoogleAdsSearchads360V23Common__ClickLocation; /** * Output only. Page number in search results where the ad was shown. */ readonly pageNumber?: bigint; /** * Output only. The resource name of the click view. Click view resource * names have the form: `customers/{customer_id}/clickViews/{date * (yyyy-MM-dd)}~{gclid}` */ readonly resourceName?: string; /** * Output only. The associated user list, if one exists. */ readonly userList?: string; } /** * Describe a resource for combined audiences which includes different * audiences. */ export interface GoogleAdsSearchads360V23Resources__CombinedAudience { /** * Output only. Description of this combined audience. */ readonly description?: string; /** * Output only. ID of the combined audience. */ readonly id?: bigint; /** * Output only. Name of the combined audience. It should be unique across all * combined audiences. */ readonly name?: string; /** * Immutable. The resource name of the combined audience. Combined audience * names have the form: * `customers/{customer_id}/combinedAudience/{combined_audience_id}` */ resourceName?: string; /** * Output only. Status of this combined audience. Indicates whether the * combined audience is enabled or removed. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; } /** * Fields containing consumer contact details. */ export interface GoogleAdsSearchads360V23Resources__ContactDetails { /** * Output only. Consumer name if consumer provided name from Message or * Booking form on google.com */ readonly consumerName?: string; /** * Output only. Consumer email address. */ readonly email?: string; /** * Output only. Phone number of the consumer for the lead. This can be a real * phone number or a tracking number. The phone number is returned in E164 * format. See https://support.google.com/google-ads/answer/16355235?hl=en to * learn more. Example: +16504519489. */ readonly phoneNumber?: string; } /** * A content criterion view. */ export interface GoogleAdsSearchads360V23Resources__ContentCriterionView { /** * Output only. The resource name of the content criterion view. Content * criterion view resource names have the form: * `customers/{customer_id}/contentCriterionViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * A conversion. */ export interface GoogleAdsSearchads360V23Resources__Conversion { /** * Output only. Ad ID. A value of 0 indicates that the ad is unattributed. */ readonly adId?: bigint; /** * Output only. For offline conversions, this is an ID provided by * advertisers. If an advertiser doesn't specify such an ID, Search Ads 360 * generates one. For online conversions, this is equal to the id column or * the floodlight_order_id column depending on the advertiser's Floodlight * instructions. */ readonly advertiserConversionId?: string; /** * Output only. Asset field type of the conversion event. */ readonly assetFieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Output only. ID of the asset which was interacted with during the * conversion event. */ readonly assetId?: bigint; /** * Output only. What the conversion is attributed to: Visit or Keyword+Ad. */ readonly attributionType?: | "UNSPECIFIED" | "UNKNOWN" | "VISIT" | "CRITERION_AD"; /** * Output only. A unique string, for the visit that the conversion is * attributed to, that is passed to the landing page as the click id URL * parameter. */ readonly clickId?: string; /** * Output only. The timestamp of the conversion event. */ readonly conversionDateTime?: string; /** * Output only. The timestamp of the last time the conversion was modified. */ readonly conversionLastModifiedDateTime?: string; /** * Output only. The quantity of items recorded by the conversion, as * determined by the qty url parameter. The advertiser is responsible for * dynamically populating the parameter (such as number of items sold in the * conversion), otherwise it defaults to 1. */ readonly conversionQuantity?: bigint; /** * Output only. The adjusted revenue in micros for the conversion event. This * will always be in the currency of the serving account. */ readonly conversionRevenueMicros?: bigint; /** * Output only. The timestamp of the visit that the conversion is attributed * to. */ readonly conversionVisitDateTime?: string; /** * Output only. Search Ads 360 criterion ID. A value of 0 indicates that the * criterion is unattributed. */ readonly criterionId?: bigint; /** * Output only. The Floodlight order ID provided by the advertiser for the * conversion. */ readonly floodlightOrderId?: string; /** * Output only. The original, unchanged revenue associated with the * Floodlight event (in the currency of the current report), before Floodlight * currency instruction modifications. */ readonly floodlightOriginalRevenue?: bigint; /** * Output only. The ID of the conversion */ readonly id?: bigint; /** * Output only. The Search Ads 360 inventory account ID containing the * product that was clicked on. Search Ads 360 generates this ID when you link * an inventory account in Search Ads 360. */ readonly merchantId?: bigint; /** * Output only. The sales channel of the product that was clicked on: Online * or Local. */ readonly productChannel?: | "UNSPECIFIED" | "UNKNOWN" | "ONLINE" | "LOCAL"; /** * Output only. The country (ISO-3166-format) registered for the inventory * feed that contains the product clicked on. */ readonly productCountryCode?: string; /** * Output only. The ID of the product clicked on. */ readonly productId?: string; /** * Output only. The language (ISO-639-1) that has been set for the Merchant * Center feed containing data about the product. */ readonly productLanguageCode?: string; /** * Output only. The store in the Local Inventory Ad that was clicked on. This * should match the store IDs used in your local products feed. */ readonly productStoreId?: string; /** * Output only. The resource name of the conversion. Conversion resource * names have the form: * `customers/{customer_id}/conversions/{ad_group_id}~{criterion_id}~{ds_conversion_id}` */ readonly resourceName?: string; /** * Output only. The status of the conversion, either ENABLED or REMOVED.. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * Output only. The Search Ads 360 visit ID that the conversion is attributed * to. */ readonly visitId?: bigint; } /** * A conversion action. */ export interface GoogleAdsSearchads360V23Resources__ConversionAction { /** * App ID for an app conversion action. */ appId?: string; /** * Settings related to this conversion action's attribution model. */ attributionModelSettings?: GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings; /** * The category of conversions reported for this conversion action. */ category?: | "UNSPECIFIED" | "UNKNOWN" | "DEFAULT" | "PAGE_VIEW" | "PURCHASE" | "SIGNUP" | "DOWNLOAD" | "ADD_TO_CART" | "BEGIN_CHECKOUT" | "SUBSCRIBE_PAID" | "PHONE_CALL_LEAD" | "IMPORTED_LEAD" | "SUBMIT_LEAD_FORM" | "BOOK_APPOINTMENT" | "REQUEST_QUOTE" | "GET_DIRECTIONS" | "OUTBOUND_CLICK" | "CONTACT" | "ENGAGEMENT" | "STORE_VISIT" | "STORE_SALE" | "QUALIFIED_LEAD" | "CONVERTED_LEAD"; /** * The maximum number of days that may elapse between an interaction (for * example, a click) and a conversion event. */ clickThroughLookbackWindowDays?: bigint; /** * How to count conversion events for the conversion action. */ countingType?: | "UNSPECIFIED" | "UNKNOWN" | "ONE_PER_CLICK" | "MANY_PER_CLICK"; /** * Output only. Timestamp of the Floodlight activity's creation, formatted in * ISO 8601. */ readonly creationTime?: string; /** * Output only. Firebase settings for Firebase conversion types. */ readonly firebaseSettings?: GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings; /** * Output only. Floodlight settings for Floodlight conversion types. */ readonly floodlightSettings?: GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings; /** * Output only. Google Analytics 4 settings for Google Analytics 4 conversion * types. */ readonly googleAnalytics4Settings?: GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings; /** * Output only. The ID of the conversion action. */ readonly id?: bigint; /** * Whether this conversion action should be included in the * "client_account_conversions" metric. */ includeInClientAccountConversionsMetric?: boolean; /** * Output only. Whether this conversion action should be included in the * "conversions" metric. */ readonly includeInConversionsMetric?: boolean; /** * Output only. Mobile app vendor for an app conversion action. */ readonly mobileAppVendor?: | "UNSPECIFIED" | "UNKNOWN" | "APPLE_APP_STORE" | "GOOGLE_APP_STORE"; /** * The name of the conversion action. This field is required and should not * be empty when creating new conversion actions. */ name?: string; /** * Output only. The conversion origin of this conversion action. */ readonly origin?: | "UNSPECIFIED" | "UNKNOWN" | "WEBSITE" | "GOOGLE_HOSTED" | "APP" | "CALL_FROM_ADS" | "STORE" | "YOUTUBE_HOSTED" | "FLOODLIGHT"; /** * Output only. The resource name of the conversion action owner customer, or * null if this is a system-defined conversion action. */ readonly ownerCustomer?: string; /** * The phone call duration in seconds after which a conversion should be * reported for this conversion action. The value must be between 0 and 10000, * inclusive. */ phoneCallDurationSeconds?: bigint; /** * If a conversion action's primary_for_goal bit is false, the conversion * action is non-biddable for all campaigns regardless of their customer * conversion goal or campaign conversion goal. However, custom conversion * goals do not respect primary_for_goal, so if a campaign has a custom * conversion goal configured with a primary_for_goal = false conversion * action, that conversion action is still biddable. By default, * primary_for_goal will be true if not set. In V9, primary_for_goal can only * be set to false after creation through an 'update' operation because it's * not declared as optional. */ primaryForGoal?: boolean; /** * Immutable. The resource name of the conversion action. Conversion action * resource names have the form: * `customers/{customer_id}/conversionActions/{conversion_action_id}` */ resourceName?: string; /** * The status of this conversion action for conversion event accrual. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED" | "HIDDEN"; /** * Output only. The snippets used for tracking conversions. */ readonly tagSnippets?: GoogleAdsSearchads360V23Common__TagSnippet[]; /** * Output only. Third Party App Analytics settings for third party conversion * types. */ readonly thirdPartyAppAnalyticsSettings?: GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings; /** * Immutable. The type of this conversion action. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "AD_CALL" | "CLICK_TO_CALL" | "GOOGLE_PLAY_DOWNLOAD" | "GOOGLE_PLAY_IN_APP_PURCHASE" | "UPLOAD_CALLS" | "UPLOAD_CLICKS" | "WEBPAGE" | "WEBSITE_CALL" | "STORE_SALES_DIRECT_UPLOAD" | "STORE_SALES" | "FIREBASE_ANDROID_FIRST_OPEN" | "FIREBASE_ANDROID_IN_APP_PURCHASE" | "FIREBASE_ANDROID_CUSTOM" | "FIREBASE_IOS_FIRST_OPEN" | "FIREBASE_IOS_IN_APP_PURCHASE" | "FIREBASE_IOS_CUSTOM" | "THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN" | "THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE" | "THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM" | "THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN" | "THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE" | "THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM" | "ANDROID_APP_PRE_REGISTRATION" | "ANDROID_INSTALLS_ALL_OTHER_APPS" | "FLOODLIGHT_ACTION" | "FLOODLIGHT_TRANSACTION" | "GOOGLE_HOSTED" | "LEAD_FORM_SUBMIT" | "SALESFORCE" | "SEARCH_ADS_360" | "SMART_CAMPAIGN_AD_CLICKS_TO_CALL" | "SMART_CAMPAIGN_MAP_CLICKS_TO_CALL" | "SMART_CAMPAIGN_MAP_DIRECTIONS" | "SMART_CAMPAIGN_TRACKED_CALLS" | "STORE_VISITS" | "WEBPAGE_CODELESS" | "UNIVERSAL_ANALYTICS_GOAL" | "UNIVERSAL_ANALYTICS_TRANSACTION" | "GOOGLE_ANALYTICS_4_CUSTOM" | "GOOGLE_ANALYTICS_4_PURCHASE"; /** * Settings related to the value for conversion events associated with this * conversion action. */ valueSettings?: GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings; /** * The maximum number of days which may elapse between an impression and a * conversion without an interaction. */ viewThroughLookbackWindowDays?: bigint; } function serializeGoogleAdsSearchads360V23Resources__ConversionAction(data: any): GoogleAdsSearchads360V23Resources__ConversionAction { return { ...data, clickThroughLookbackWindowDays: data["clickThroughLookbackWindowDays"] !== undefined ? String(data["clickThroughLookbackWindowDays"]) : undefined, phoneCallDurationSeconds: data["phoneCallDurationSeconds"] !== undefined ? String(data["phoneCallDurationSeconds"]) : undefined, viewThroughLookbackWindowDays: data["viewThroughLookbackWindowDays"] !== undefined ? String(data["viewThroughLookbackWindowDays"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__ConversionAction(data: any): GoogleAdsSearchads360V23Resources__ConversionAction { return { ...data, clickThroughLookbackWindowDays: data["clickThroughLookbackWindowDays"] !== undefined ? BigInt(data["clickThroughLookbackWindowDays"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, phoneCallDurationSeconds: data["phoneCallDurationSeconds"] !== undefined ? BigInt(data["phoneCallDurationSeconds"]) : undefined, viewThroughLookbackWindowDays: data["viewThroughLookbackWindowDays"] !== undefined ? BigInt(data["viewThroughLookbackWindowDays"]) : undefined, }; } /** * A conversion custom variable. See "About custom Floodlight metrics and * dimensions in the new Search Ads 360" at * https://support.google.com/sa360/answer/13567857 */ export interface GoogleAdsSearchads360V23Resources__ConversionCustomVariable { /** * Output only. Cardinality of the conversion custom variable. */ readonly cardinality?: | "UNSPECIFIED" | "UNKNOWN" | "BELOW_ALL_LIMITS" | "EXCEEDS_SEGMENTATION_LIMIT_BUT_NOT_STATS_LIMIT" | "APPROACHES_STATS_LIMIT" | "EXCEEDS_STATS_LIMIT"; /** * Output only. The IDs of custom columns that use this conversion custom * variable. */ readonly customColumnIds?: bigint[]; /** * Output only. Family of the conversion custom variable. */ readonly family?: | "UNSPECIFIED" | "UNKNOWN" | "STANDARD" | "FLOODLIGHT"; /** * Output only. Fields for Search Ads 360 floodlight conversion custom * variables. */ readonly floodlightConversionCustomVariableInfo?: GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo; /** * Output only. The ID of the conversion custom variable. */ readonly id?: bigint; /** * Required. The name of the conversion custom variable. Name should be * unique. The maximum length of name is 100 characters. There should not be * any extra spaces before and after. */ name?: string; /** * Output only. The resource name of the customer that owns the conversion * custom variable. */ readonly ownerCustomer?: string; /** * Immutable. The resource name of the conversion custom variable. Conversion * custom variable resource names have the form: * `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}` */ resourceName?: string; /** * The status of the conversion custom variable for conversion event accrual. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ACTIVATION_NEEDED" | "ENABLED" | "PAUSED"; /** * Required. Immutable. The tag of the conversion custom variable. Tag should * be unique and consist of a "u" character directly followed with a number * less than ormequal to 100. For example: "u4". */ tag?: string; } /** * Conversion goal settings for a Campaign. */ export interface GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig { /** * Immutable. The campaign with which this conversion goal campaign config is * associated. */ campaign?: string; /** * The custom conversion goal the campaign is using for optimization. */ customConversionGoal?: string; /** * The level of goal config the campaign is using. */ goalConfigLevel?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER" | "CAMPAIGN"; /** * Immutable. The resource name of the conversion goal campaign config. * Conversion goal campaign config resource names have the form: * `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}` */ resourceName?: string; /** * The Search Ads 360 custom conversion goal the campaign is using for * optimization. */ searchAds360CustomConversionGoal?: string; /** * The level of Search Ads 360 goal config the campaign is using. */ searchAds360GoalConfigLevel?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER" | "CAMPAIGN"; } /** * A collection of customer-wide settings related to Search Ads 360 Conversion * Tracking. */ export interface GoogleAdsSearchads360V23Resources__ConversionTrackingSetting { /** * Output only. Whether the customer has accepted customer data terms. If * using cross-account conversion tracking, this value is inherited from the * manager. This field is read-only. For more information, see * https://support.google.com/adspolicy/answer/7475709. */ readonly acceptedCustomerDataTerms?: boolean; /** * Output only. The conversion tracking id used for this account. This id * doesn't indicate whether the customer uses conversion tracking * (conversion_tracking_status does). This field is read-only. */ readonly conversionTrackingId?: bigint; /** * Output only. Conversion tracking status. It indicates whether the customer * is using conversion tracking, and who is the conversion tracking owner of * this customer. If this customer is using cross-account conversion tracking, * the value returned will differ based on the `login-customer-id` of the * request. */ readonly conversionTrackingStatus?: | "UNSPECIFIED" | "UNKNOWN" | "NOT_CONVERSION_TRACKED" | "CONVERSION_TRACKING_MANAGED_BY_SELF" | "CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER" | "CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER"; /** * Output only. The conversion tracking id of the customer's manager. This is * set when the customer is opted into cross-account conversion tracking, and * it overrides conversion_tracking_id. */ readonly crossAccountConversionTrackingId?: bigint; /** * Output only. Whether the customer is opted-in for enhanced conversions for * leads. If using cross-account conversion tracking, this value is inherited * from the manager. This field is read-only. */ readonly enhancedConversionsForLeadsEnabled?: boolean; /** * The resource name of the customer where conversions are created and * managed. This field is read-only. */ googleAdsConversionCustomer?: string; /** * Output only. The conversion tracking id of the customer's manager. This is * set when the customer is opted into conversion tracking, and it overrides * conversion_tracking_id. This field can only be managed through the Google * Ads UI. This field is read-only. */ readonly googleAdsCrossAccountConversionTrackingId?: bigint; } /** * A conversion value rule */ export interface GoogleAdsSearchads360V23Resources__ConversionValueRule { /** * Action applied when the rule is triggered. */ action?: GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction; /** * Condition for audience that must be satisfied for the value rule to apply. */ audienceCondition?: GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition; /** * Condition for device type that must be satisfied for the value rule to * apply. */ deviceCondition?: GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition; /** * Condition for Geo location that must be satisfied for the value rule to * apply. */ geoLocationCondition?: GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition; /** * Output only. The ID of the conversion value rule. */ readonly id?: bigint; /** * Condition for itinerary that must be satisfied for the value rule to * apply. */ itineraryCondition?: GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition; /** * Output only. The resource name of the conversion value rule's owner * customer. When the value rule is inherited from a manager customer, * owner_customer will be the resource name of the manager whereas the * customer in the resource_name will be of the requesting serving customer. * ** Read-only ** */ readonly ownerCustomer?: string; /** * Immutable. The resource name of the conversion value rule. Conversion * value rule resource names have the form: * `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` */ resourceName?: string; /** * The status of the conversion value rule. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED" | "PAUSED"; } /** * A conversion value rule set is a collection of conversion value rules that * lets you adjust conversion values based on the dimensions specified in the * `dimensions` field. */ export interface GoogleAdsSearchads360V23Resources__ConversionValueRuleSet { /** * Immutable. Defines the scope where the conversion value rule set is * attached. */ attachmentType?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER" | "CAMPAIGN"; /** * The resource name of the campaign when the conversion value rule set is * attached to a campaign. */ campaign?: string; /** * Immutable. The conversion action categories of the conversion value rule * set. */ conversionActionCategories?: | "UNSPECIFIED" | "UNKNOWN" | "DEFAULT" | "PAGE_VIEW" | "PURCHASE" | "SIGNUP" | "DOWNLOAD" | "ADD_TO_CART" | "BEGIN_CHECKOUT" | "SUBSCRIBE_PAID" | "PHONE_CALL_LEAD" | "IMPORTED_LEAD" | "SUBMIT_LEAD_FORM" | "BOOK_APPOINTMENT" | "REQUEST_QUOTE" | "GET_DIRECTIONS" | "OUTBOUND_CLICK" | "CONTACT" | "ENGAGEMENT" | "STORE_VISIT" | "STORE_SALE" | "QUALIFIED_LEAD" | "CONVERTED_LEAD"[]; /** * Resource names of rules within the rule set. */ conversionValueRules?: string[]; /** * Defines dimensions for Value Rule conditions. The condition types of value * rules within this value rule set must be of these dimensions. The first * entry in this list is the primary dimension of the included value rules. * When using value rule primary dimension segmentation, conversion values * will be segmented into the values adjusted by value rules and the original * values, if some value rules apply. */ dimensions?: | "UNSPECIFIED" | "UNKNOWN" | "GEO_LOCATION" | "DEVICE" | "AUDIENCE" | "NO_CONDITION" | "ITINERARY"[]; /** * Output only. The ID of the conversion value rule set. */ readonly id?: bigint; /** * Output only. The resource name of the conversion value rule set's owner * customer. When the value rule set is inherited from a manager customer, * owner_customer will be the resource name of the manager whereas the * customer in the resource_name will be of the requesting serving customer. * ** Read-only ** */ readonly ownerCustomer?: string; /** * Immutable. The resource name of the conversion value rule set. Conversion * value rule set resource names have the form: * `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` */ resourceName?: string; /** * Output only. The status of the conversion value rule set. ** Read-only ** */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED" | "PAUSED"; } /** * Represents the credit details of a lead. */ export interface GoogleAdsSearchads360V23Resources__CreditDetails { /** * Output only. Credit state of the lead. */ readonly creditState?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "CREDITED"; /** * Output only. The date time when the credit state of the lead was last * updated. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's * timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" */ readonly creditStateLastUpdateDateTime?: string; } /** * A currency constant. */ export interface GoogleAdsSearchads360V23Resources__CurrencyConstant { /** * Output only. The billable unit for this currency. Billed amounts should be * multiples of this value. */ readonly billableUnitMicros?: bigint; /** * Output only. ISO 4217 three-letter currency code, for example, "USD" */ readonly code?: string; /** * Output only. Full English name of the currency. */ readonly name?: string; /** * Output only. The resource name of the currency constant. Currency constant * resource names have the form: `currencyConstants/{code}` */ readonly resourceName?: string; /** * Output only. Standard symbol for describing this currency, for example, * '$' for US Dollars. */ readonly symbol?: string; } /** * A custom audience. This is a list of users by interest. The unique key of a * custom audience consists of the following fields: name. Violating the unique * key constraint produces error: CustomAudienceError.NAME_ALREADY_USED */ export interface GoogleAdsSearchads360V23Resources__CustomAudience { /** * Description of this custom audience. */ description?: string; /** * Output only. ID of the custom audience. */ readonly id?: bigint; /** * List of custom audience members that this custom audience is composed of. * Members can be added during CustomAudience creation. If members are * presented in UPDATE operation, existing members will be overridden. */ members?: GoogleAdsSearchads360V23Resources__CustomAudienceMember[]; /** * Name of the custom audience. It should be unique for all custom audiences * created by a customer. This field is required for creating operations. */ name?: string; /** * Immutable. The resource name of the custom audience. Custom audience * resource names have the form: * `customers/{customer_id}/customAudiences/{custom_audience_id}` */ resourceName?: string; /** * Output only. Status of this custom audience. Indicates whether the custom * audience is enabled or removed. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * Type of the custom audience. ("INTEREST" OR "PURCHASE_INTENT" is not * allowed for newly created custom audience but kept for existing audiences) */ type?: | "UNSPECIFIED" | "UNKNOWN" | "AUTO" | "INTEREST" | "PURCHASE_INTENT" | "SEARCH"; } function serializeGoogleAdsSearchads360V23Resources__CustomAudience(data: any): GoogleAdsSearchads360V23Resources__CustomAudience { return { ...data, members: data["members"] !== undefined ? data["members"].map((item: any) => (serializeGoogleAdsSearchads360V23Resources__CustomAudienceMember(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__CustomAudience(data: any): GoogleAdsSearchads360V23Resources__CustomAudience { return { ...data, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, members: data["members"] !== undefined ? data["members"].map((item: any) => (deserializeGoogleAdsSearchads360V23Resources__CustomAudienceMember(item))) : undefined, }; } /** * A member of custom audience. A member can be a KEYWORD, URL, PLACE_CATEGORY * or APP. It can only be created or removed but not changed. */ export interface GoogleAdsSearchads360V23Resources__CustomAudienceMember { /** * A package name of Android apps which users installed such as * com.google.example. */ app?: string; /** * A keyword or keyword phrase — at most 10 words and 80 characters. * Languages with double-width characters such as Chinese, Japanese, or * Korean, are allowed 40 characters, which describes the user's interests or * actions. */ keyword?: string; /** * The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP. */ memberType?: | "UNSPECIFIED" | "UNKNOWN" | "KEYWORD" | "URL" | "PLACE_CATEGORY" | "APP"; /** * A place type described by a place category users visit. */ placeCategory?: bigint; /** * An HTTP URL, protocol-included — at most 2048 characters, which includes * contents users have interests in. */ url?: string; } function serializeGoogleAdsSearchads360V23Resources__CustomAudienceMember(data: any): GoogleAdsSearchads360V23Resources__CustomAudienceMember { return { ...data, placeCategory: data["placeCategory"] !== undefined ? String(data["placeCategory"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__CustomAudienceMember(data: any): GoogleAdsSearchads360V23Resources__CustomAudienceMember { return { ...data, placeCategory: data["placeCategory"] !== undefined ? BigInt(data["placeCategory"]) : undefined, }; } /** * A custom column. See Search Ads 360 custom column at * https://support.google.com/sa360/answer/9633916 */ export interface GoogleAdsSearchads360V23Resources__CustomColumn { /** * Output only. User-defined description of the custom column. */ readonly description?: string; /** * Output only. ID of the custom column. */ readonly id?: bigint; /** * Output only. User-defined name of the custom column. */ readonly name?: string; /** * Output only. True when the custom column is available to be used in the * query of SearchAds360Service.Search and SearchAds360Service.SearchStream. */ readonly queryable?: boolean; /** * Output only. The list of the referenced system columns of this custom * column. For example, A custom column "sum of impressions and clicks" has * referenced system columns of {"metrics.clicks", "metrics.impressions"}. */ readonly referencedSystemColumns?: string[]; /** * Output only. True when the custom column is referring to one or more * attributes. */ readonly referencesAttributes?: boolean; /** * Output only. True when the custom column is referring to one or more * metrics. */ readonly referencesMetrics?: boolean; /** * Output only. How the result value of the custom column should be * interpreted. */ readonly renderType?: | "UNSPECIFIED" | "UNKNOWN" | "NUMBER" | "PERCENT" | "MONEY" | "STRING" | "BOOLEAN" | "DATE"; /** * Immutable. The resource name of the custom column. Custom column resource * names have the form: * `customers/{customer_id}/customColumns/{custom_column_id}` */ resourceName?: string; /** * Output only. The type of the result value of the custom column. */ readonly valueType?: | "UNSPECIFIED" | "UNKNOWN" | "STRING" | "INT64" | "DOUBLE" | "BOOLEAN" | "DATE"; } /** * Custom conversion goal that can make arbitrary conversion actions biddable. */ export interface GoogleAdsSearchads360V23Resources__CustomConversionGoal { /** * Conversion actions that the custom conversion goal makes biddable. */ conversionActions?: string[]; /** * Immutable. The ID for this custom conversion goal. */ id?: bigint; /** * The name for this custom conversion goal. */ name?: string; /** * Immutable. The resource name of the custom conversion goal. Custom * conversion goal resource names have the form: * `customers/{customer_id}/customConversionGoals/{goal_id}` */ resourceName?: string; /** * The status of the custom conversion goal. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; } function serializeGoogleAdsSearchads360V23Resources__CustomConversionGoal(data: any): GoogleAdsSearchads360V23Resources__CustomConversionGoal { return { ...data, id: data["id"] !== undefined ? String(data["id"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__CustomConversionGoal(data: any): GoogleAdsSearchads360V23Resources__CustomConversionGoal { return { ...data, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, }; } /** * A customer. */ export interface GoogleAdsSearchads360V23Resources__Customer { /** * Output only. The account level of the customer: Manager, Sub-manager, * Associate manager, Service account. */ readonly accountLevel?: | "UNSPECIFIED" | "UNKNOWN" | "CLIENT_ACCOUNT_FACEBOOK" | "CLIENT_ACCOUNT_GOOGLE_ADS" | "CLIENT_ACCOUNT_MICROSOFT" | "CLIENT_ACCOUNT_YAHOO_JAPAN" | "CLIENT_ACCOUNT_ENGINE_TRACK" | "MANAGER" | "SUB_MANAGER" | "ASSOCIATE_MANAGER"; /** * Output only. Account status, for example, Enabled, Paused, Removed, etc. */ readonly accountStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "PAUSED" | "SUSPENDED" | "REMOVED" | "DRAFT"; /** * Output only. Engine account type, for example, Google Ads, Microsoft * Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc. */ readonly accountType?: | "UNSPECIFIED" | "UNKNOWN" | "BAIDU" | "ENGINE_TRACK" | "FACEBOOK" | "FACEBOOK_GATEWAY" | "GOOGLE_ADS" | "MICROSOFT" | "SEARCH_ADS_360" | "YAHOO_JAPAN"; /** * Output only. The descriptive name of the associate manager. */ readonly associateManagerDescriptiveName?: string; /** * Output only. The customer ID of the associate manager. A 0 value indicates * that the customer has no SA360 associate manager. */ readonly associateManagerId?: bigint; /** * Whether auto-tagging is enabled for the customer. */ autoTaggingEnabled?: boolean; /** * Call reporting setting for a customer. */ callReportingSetting?: GoogleAdsSearchads360V23Resources__CallReportingSetting; /** * Output only. Returns the advertiser self-declaration status of whether * this customer contains political advertising content targeted towards the * European Union. You can use the Google Ads UI to update this account-level * declaration, or use the API to update the self-declaration status of * individual campaigns. */ readonly containsEuPoliticalAdvertising?: | "UNSPECIFIED" | "UNKNOWN" | "CONTAINS_EU_POLITICAL_ADVERTISING" | "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"; /** * Conversion tracking setting for a customer. */ conversionTrackingSetting?: GoogleAdsSearchads360V23Resources__ConversionTrackingSetting; /** * Output only. The timestamp when this customer was created. The timestamp * is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. */ readonly creationTime?: string; /** * Immutable. The currency in which the account operates. A subset of the * currency codes from the ISO 4217 standard is supported. */ currencyCode?: string; /** * Output only. Customer Agreement Setting for a customer. */ readonly customerAgreementSetting?: GoogleAdsSearchads360V23Resources__CustomerAgreementSetting; /** * Optional, non-unique descriptive name of the customer. */ descriptiveName?: string; /** * Output only. DoubleClick Campaign Manager (DCM) setting for a manager * customer. */ readonly doubleClickCampaignManagerSetting?: GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting; /** * Output only. ID of the account in the external engine account. */ readonly engineId?: string; /** * The URL template for appending params to the final URL. */ finalUrlSuffix?: string; /** * Output only. Whether the Customer has a Partners program badge. If the * Customer is not associated with the Partners program, this will be false. * For more information, see * https://support.google.com/partners/answer/3125774. */ readonly hasPartnersBadge?: boolean; /** * Output only. The ID of the customer. */ readonly id?: bigint; /** * Output only. True if feed based image has been migrated to asset based * image. */ readonly imageAssetAutoMigrationDone?: boolean; /** * Output only. Timestamp of migration from feed based image to asset base * image in yyyy-MM-dd HH:mm:ss format. */ readonly imageAssetAutoMigrationDoneDateTime?: string; /** * Output only. The datetime when this customer was last modified. The * datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" * format. */ readonly lastModifiedTime?: string; /** * Output only. Settings for Local Services customer. */ readonly localServicesSettings?: GoogleAdsSearchads360V23Resources__LocalServicesSettings; /** * Output only. True if feed based location has been migrated to asset based * location. */ readonly locationAssetAutoMigrationDone?: boolean; /** * Output only. Timestamp of migration from feed based location to asset base * location in yyyy-MM-dd HH:mm:ss format. */ readonly locationAssetAutoMigrationDoneDateTime?: string; /** * Output only. Whether the customer is a manager. */ readonly manager?: boolean; /** * Output only. The descriptive name of the manager. */ readonly managerDescriptiveName?: string; /** * Output only. The customer ID of the manager. A 0 value indicates that the * customer has no SA360 manager. */ readonly managerId?: bigint; /** * Output only. Optimization score of the customer. Optimization score is an * estimate of how well a customer's campaigns are set to perform. It ranges * from 0% (0.0) to 100% (1.0). This field is null for all manager customers, * and for unscored non-manager customers. See "About optimization score" at * https://support.google.com/google-ads/answer/9061546. This field is * read-only. */ readonly optimizationScore?: number; /** * Output only. Optimization score weight of the customer. Optimization score * weight can be used to compare/aggregate optimization scores across multiple * non-manager customers. The aggregate optimization score of a manager is * computed as the sum over all of their customers of * `Customer.optimization_score * Customer.optimization_score_weight`. This * field is 0 for all manager customers, and for unscored non-manager * customers. This field is read-only. */ readonly optimizationScoreWeight?: number; /** * Output only. Reasons why the customer is not eligible to use * PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. * This field is read-only. */ readonly payPerConversionEligibilityFailureReasons?: | "UNSPECIFIED" | "UNKNOWN" | "NOT_ENOUGH_CONVERSIONS" | "CONVERSION_LAG_TOO_HIGH" | "HAS_CAMPAIGN_WITH_SHARED_BUDGET" | "HAS_UPLOAD_CLICKS_CONVERSION" | "AVERAGE_DAILY_SPEND_TOO_HIGH" | "ANALYSIS_NOT_COMPLETE" | "OTHER"[]; /** * Output only. Remarketing setting for a customer. */ readonly remarketingSetting?: GoogleAdsSearchads360V23Resources__RemarketingSetting; /** * Immutable. The resource name of the customer. Customer resource names have * the form: `customers/{customer_id}` */ resourceName?: string; /** * Output only. The status of the customer. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "CANCELED" | "SUSPENDED" | "CLOSED"; /** * Output only. The descriptive name of the sub manager. */ readonly subManagerDescriptiveName?: string; /** * Output only. The customer ID of the sub manager. A 0 value indicates that * the customer has no sub SA360 manager. */ readonly subManagerId?: bigint; /** * Output only. Whether the customer is a test account. */ readonly testAccount?: boolean; /** * Immutable. The local timezone ID of the customer. */ timeZone?: string; /** * The URL template for constructing a tracking URL out of parameters. */ trackingUrlTemplate?: string; /** * Brand Safety setting at the account level. Allows for selecting an * inventory type to show your ads on content that is the right fit for your * brand. See https://support.google.com/google-ads/answer/7515513. */ videoBrandSafetySuitability?: | "UNSPECIFIED" | "UNKNOWN" | "EXPANDED_INVENTORY" | "STANDARD_INVENTORY" | "LIMITED_INVENTORY"; /** * Video specific information about a Customer. */ videoCustomer?: GoogleAdsSearchads360V23Resources__VideoCustomer; } /** * The customer acquisition goal settings for the campaign. */ export interface GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings { /** * Output only. Customer acquisition optimization mode of this campaign. */ readonly optimizationMode?: | "UNSPECIFIED" | "UNKNOWN" | "TARGET_ALL_EQUALLY" | "BID_HIGHER_FOR_NEW_CUSTOMER" | "TARGET_NEW_CUSTOMER"; /** * Output only. Campaign specific values for the customer acquisition goal. */ readonly valueSettings?: GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings; } /** * Customer Agreement Setting for a customer. */ export interface GoogleAdsSearchads360V23Resources__CustomerAgreementSetting { /** * Output only. Whether the customer has accepted lead form term of service. */ readonly acceptedLeadFormTerms?: boolean; } /** * A link between a customer and an asset. */ export interface GoogleAdsSearchads360V23Resources__CustomerAsset { /** * Required. Immutable. The asset which is linked to the customer. */ asset?: string; /** * Required. Immutable. Role that the asset takes for the customer link. */ fieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Output only. Provides the PrimaryStatus of this asset link. Primary status * is meant essentially to differentiate between the plain "status" field, * which has advertiser set values of enabled, paused, or removed. The primary * status takes into account other signals (for assets its mainly policy and * quality approvals) to come up with a more comprehensive status to indicate * its serving state. */ readonly primaryStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "PAUSED" | "REMOVED" | "PENDING" | "LIMITED" | "NOT_ELIGIBLE"; /** * Output only. Provides the details of the primary status and its associated * reasons. */ readonly primaryStatusDetails?: GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[]; /** * Output only. Provides a list of reasons for why an asset is not serving or * not serving at full capacity. */ readonly primaryStatusReasons?: | "UNSPECIFIED" | "UNKNOWN" | "ASSET_LINK_PAUSED" | "ASSET_LINK_REMOVED" | "ASSET_DISAPPROVED" | "ASSET_UNDER_REVIEW" | "ASSET_APPROVED_LABELED"[]; /** * Immutable. The resource name of the customer asset. CustomerAsset resource * names have the form: * `customers/{customer_id}/customerAssets/{asset_id}~{field_type}` */ resourceName?: string; /** * Output only. Source of the customer asset link. */ readonly source?: | "UNSPECIFIED" | "UNKNOWN" | "ADVERTISER" | "AUTOMATICALLY_CREATED"; /** * Status of the customer asset. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED" | "PAUSED"; } /** * CustomerAssetSet is the linkage between a customer and an asset set. Adding * a CustomerAssetSet links an asset set with a customer. */ export interface GoogleAdsSearchads360V23Resources__CustomerAssetSet { /** * Immutable. The asset set which is linked to the customer. */ assetSet?: string; /** * Immutable. The customer to which this asset set is linked. */ customer?: string; /** * Immutable. The resource name of the customer asset set. Asset set asset * resource names have the form: * `customers/{customer_id}/customerAssetSets/{asset_set_id}` */ resourceName?: string; /** * Output only. The status of the customer asset set asset. Read-only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; } /** * A link between the given customer and a client customer. CustomerClients * only exist for manager customers. All direct and indirect client customers * are included, as well as the manager itself. */ export interface GoogleAdsSearchads360V23Resources__CustomerClient { /** * Output only. The resource names of the labels owned by the requesting * customer that are applied to the client customer. Label resource names have * the form: `customers/{customer_id}/labels/{label_id}` */ readonly appliedLabels?: string[]; /** * Output only. The resource name of the client-customer which is linked to * the given customer. Read only. */ readonly clientCustomer?: string; /** * Output only. Currency code (for example, 'USD', 'EUR') for the client. * Read only. */ readonly currencyCode?: string; /** * Output only. Descriptive name for the client. Read only. */ readonly descriptiveName?: string; /** * Output only. Specifies whether this is a hidden account. Read only. */ readonly hidden?: boolean; /** * Output only. The ID of the client customer. Read only. */ readonly id?: bigint; /** * Output only. Distance between given customer and client. For self link, * the level value will be 0. Read only. */ readonly level?: bigint; /** * Output only. Identifies if the client is a manager. Read only. */ readonly manager?: boolean; /** * Output only. The resource name of the customer client. CustomerClient * resource names have the form: * `customers/{customer_id}/customerClients/{client_customer_id}` */ readonly resourceName?: string; /** * Output only. The status of the client customer. Read only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "CANCELED" | "SUSPENDED" | "CLOSED"; /** * Output only. Identifies if the client is a test account. Read only. */ readonly testAccount?: boolean; /** * Output only. Common Locale Data Repository (CLDR) string representation of * the time zone of the client, for example, America/Los_Angeles. Read only. */ readonly timeZone?: string; } /** * Represents customer client link relationship. */ export interface GoogleAdsSearchads360V23Resources__CustomerClientLink { /** * Immutable. The client customer linked to this customer. */ clientCustomer?: string; /** * The visibility of the link. Users can choose whether or not to see hidden * links in the Google Ads UI. Default value is false */ hidden?: boolean; /** * Output only. This is uniquely identifies a customer client link. Read * only. */ readonly managerLinkId?: bigint; /** * Immutable. Name of the resource. CustomerClientLink resource names have * the form: * `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}` */ resourceName?: string; /** * This is the status of the link between client and manager. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ACTIVE" | "INACTIVE" | "PENDING" | "REFUSED" | "CANCELED"; } /** * Biddability control for conversion actions with a matching category and * origin. */ export interface GoogleAdsSearchads360V23Resources__CustomerConversionGoal { /** * The biddability of the customer conversion goal. */ biddable?: boolean; /** * The conversion category of this customer conversion goal. Only conversion * actions that have this category will be included in this goal. */ category?: | "UNSPECIFIED" | "UNKNOWN" | "DEFAULT" | "PAGE_VIEW" | "PURCHASE" | "SIGNUP" | "DOWNLOAD" | "ADD_TO_CART" | "BEGIN_CHECKOUT" | "SUBSCRIBE_PAID" | "PHONE_CALL_LEAD" | "IMPORTED_LEAD" | "SUBMIT_LEAD_FORM" | "BOOK_APPOINTMENT" | "REQUEST_QUOTE" | "GET_DIRECTIONS" | "OUTBOUND_CLICK" | "CONTACT" | "ENGAGEMENT" | "STORE_VISIT" | "STORE_SALE" | "QUALIFIED_LEAD" | "CONVERTED_LEAD"; /** * The conversion origin of this customer conversion goal. Only conversion * actions that have this conversion origin will be included in this goal. */ origin?: | "UNSPECIFIED" | "UNKNOWN" | "WEBSITE" | "GOOGLE_HOSTED" | "APP" | "CALL_FROM_ADS" | "STORE" | "YOUTUBE_HOSTED" | "FLOODLIGHT"; /** * Immutable. The resource name of the customer conversion goal. Customer * conversion goal resource names have the form: * `customers/{customer_id}/customerConversionGoals/{category}~{origin}` */ resourceName?: string; } /** * A customizer value for the associated CustomizerAttribute at the Customer * level. */ export interface GoogleAdsSearchads360V23Resources__CustomerCustomizer { /** * Required. Immutable. The customizer attribute which is linked to the * customer. */ customizerAttribute?: string; /** * Immutable. The resource name of the customer customizer. Customer * customizer resource names have the form: * `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` */ resourceName?: string; /** * Output only. The status of the customer customizer attribute. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * Required. The value to associate with the customizer attribute at this * level. The value must be of the type specified for the CustomizerAttribute. */ value?: GoogleAdsSearchads360V23Common__CustomizerValue; } /** * Represents a relationship between a customer and a label. This customer may * not have access to all the labels attached to it. Additional CustomerLabels * may be returned by increasing permissions with login-customer-id. */ export interface GoogleAdsSearchads360V23Resources__CustomerLabel { /** * Output only. The resource name of the customer to which the label is * attached. Read only. */ readonly customer?: string; /** * Output only. The resource name of the label assigned to the customer. * Note: the Customer ID portion of the label resource name is not validated * when creating a new CustomerLabel. */ readonly label?: string; /** * Immutable. Name of the resource. Customer label resource names have the * form: `customers/{customer_id}/customerLabels/{label_id}` */ resourceName?: string; } /** * Account level customer lifecycle goal settings. */ export interface GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal { /** * Output only. Customer acquisition goal customer level value settings. */ readonly customerAcquisitionGoalValueSettings?: GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings; /** * Output only. The resource name of the customer which owns the lifecycle * goal. */ readonly ownerCustomer?: string; /** * Immutable. The resource name of the customer lifecycle goal. Customer * lifecycle resource names have the form: * `customers/{customer_id}/customerLifecycleGoal` */ resourceName?: string; } /** * Represents customer-manager link relationship. */ export interface GoogleAdsSearchads360V23Resources__CustomerManagerLink { /** * Output only. The manager customer linked to the customer. */ readonly managerCustomer?: string; /** * Output only. ID of the customer-manager link. This field is read only. */ readonly managerLinkId?: bigint; /** * Immutable. Name of the resource. CustomerManagerLink resource names have * the form: * `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` */ resourceName?: string; /** * Output only. The timestamp when the CustomerManagerLink was created. The * timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" * format. */ readonly startTime?: string; /** * Status of the link between the customer and the manager. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ACTIVE" | "INACTIVE" | "PENDING" | "REFUSED" | "CANCELED"; } /** * A negative criterion for exclusions at the customer level. */ export interface GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion { /** * Immutable. ContentLabel. */ contentLabel?: GoogleAdsSearchads360V23Common__ContentLabelInfo; /** * Output only. The ID of the criterion. */ readonly id?: bigint; /** * Immutable. IpBlock. You can exclude up to 500 IP addresses per account. */ ipBlock?: GoogleAdsSearchads360V23Common__IpBlockInfo; /** * Immutable. MobileAppCategory. */ mobileAppCategory?: GoogleAdsSearchads360V23Common__MobileAppCategoryInfo; /** * Immutable. MobileApplication. */ mobileApplication?: GoogleAdsSearchads360V23Common__MobileApplicationInfo; /** * Immutable. NegativeKeywordList. */ negativeKeywordList?: GoogleAdsSearchads360V23Common__NegativeKeywordListInfo; /** * Immutable. Placement. */ placement?: GoogleAdsSearchads360V23Common__PlacementInfo; /** * Immutable. PlacementList. */ placementList?: GoogleAdsSearchads360V23Common__PlacementListInfo; /** * Immutable. The resource name of the customer negative criterion. Customer * negative criterion resource names have the form: * `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` */ resourceName?: string; /** * Output only. The type of the criterion. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "KEYWORD" | "PLACEMENT" | "MOBILE_APP_CATEGORY" | "MOBILE_APPLICATION" | "DEVICE" | "LOCATION" | "LISTING_GROUP" | "AD_SCHEDULE" | "AGE_RANGE" | "GENDER" | "INCOME_RANGE" | "PARENTAL_STATUS" | "YOUTUBE_VIDEO" | "YOUTUBE_CHANNEL" | "USER_LIST" | "PROXIMITY" | "TOPIC" | "LISTING_SCOPE" | "LANGUAGE" | "IP_BLOCK" | "CONTENT_LABEL" | "CARRIER" | "USER_INTEREST" | "WEBPAGE" | "OPERATING_SYSTEM_VERSION" | "APP_PAYMENT_MODEL" | "MOBILE_DEVICE" | "CUSTOM_AFFINITY" | "CUSTOM_INTENT" | "LOCATION_GROUP" | "CUSTOM_AUDIENCE" | "COMBINED_AUDIENCE" | "KEYWORD_THEME" | "AUDIENCE" | "NEGATIVE_KEYWORD_LIST" | "LOCAL_SERVICE_ID" | "SEARCH_THEME" | "BRAND" | "BRAND_LIST" | "LIFE_EVENT" | "WEBPAGE_LIST" | "VIDEO_LINEUP" | "PLACEMENT_LIST" | "VERTICAL_ADS_ITEM_GROUP_RULE_LIST" | "VERTICAL_ADS_ITEM_GROUP_RULE"; /** * Immutable. YouTube Channel. */ youtubeChannel?: GoogleAdsSearchads360V23Common__YouTubeChannelInfo; /** * Immutable. YouTube Video. */ youtubeVideo?: GoogleAdsSearchads360V23Common__YouTubeVideoInfo; } /** * This report provides a high-level view of search demand at the customer * level by grouping similar search terms into categories and showing their * search volume. Historical data is available starting March 2023. */ export interface GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight { /** * Output only. The label for the search category. An empty string denotes * the catch-all category for search terms that didn't fit into another * category. */ readonly categoryLabel?: string; /** * Output only. The ID of the insight. */ readonly id?: bigint; /** * Output only. The resource name of the customer level search term insight. * Customer level search term insight resource names have the form: * `customers/{customer_id}/customerSearchTermInsights/{category_id}` */ readonly resourceName?: string; } /** * A CustomerSkAdNetworkConversionValueSchema. */ export interface GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema { /** * Output only. The resource name of the schema. * CustomerSkAdNetworkConversionValueSchema resource names have the form: * customers/{customer_id}/customerSkAdNetworkConversionValueSchemas/{account_link_id} */ readonly resourceName?: string; /** * Output only. The schema for the specified resource. */ readonly schema?: GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema; } /** * Represents the permission of a single user onto a single customer. */ export interface GoogleAdsSearchads360V23Resources__CustomerUserAccess { /** * Output only. The customer user access creation time. Read only field The * format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or * "2018-02-01 14:34:30" */ readonly accessCreationDateTime?: string; /** * Access role of the user. */ accessRole?: | "UNSPECIFIED" | "UNKNOWN" | "ADMIN" | "STANDARD" | "READ_ONLY" | "EMAIL_ONLY"; /** * Output only. Email address of the user. Read only field */ readonly emailAddress?: string; /** * Output only. The email address of the inviter user. Read only field */ readonly inviterUserEmailAddress?: string; /** * Immutable. Name of the resource. Resource names have the form: * `customers/{customer_id}/customerUserAccesses/{user_id}` */ resourceName?: string; /** * Output only. User id of the user with the customer access. Read only field */ readonly userId?: bigint; } /** * Represent an invitation to a new user on this customer account. */ export interface GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation { /** * Immutable. Access role of the user. */ accessRole?: | "UNSPECIFIED" | "UNKNOWN" | "ADMIN" | "STANDARD" | "READ_ONLY" | "EMAIL_ONLY"; /** * Output only. Time invitation was created. This field is read-only. The * format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or * "2018-02-01 14:34:30" */ readonly creationDateTime?: string; /** * Immutable. Email address the invitation was sent to. This can differ from * the email address of the account that accepts the invite. */ emailAddress?: string; /** * Output only. The ID of the invitation. This field is read-only. */ readonly invitationId?: bigint; /** * Output only. Invitation status of the user. */ readonly invitationStatus?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "DECLINED" | "EXPIRED"; /** * Immutable. Name of the resource. Resource names have the form: * `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` */ resourceName?: string; } /** * A custom interest. This is a list of users by interest. */ export interface GoogleAdsSearchads360V23Resources__CustomInterest { /** * Description of this custom interest audience. */ description?: string; /** * Output only. Id of the custom interest. */ readonly id?: bigint; /** * List of custom interest members that this custom interest is composed of. * Members can be added during CustomInterest creation. If members are * presented in UPDATE operation, existing members will be overridden. */ members?: GoogleAdsSearchads360V23Resources__CustomInterestMember[]; /** * Name of the custom interest. It should be unique across the same custom * affinity audience. This field is required for create operations. */ name?: string; /** * Immutable. The resource name of the custom interest. Custom interest * resource names have the form: * `customers/{customer_id}/customInterests/{custom_interest_id}` */ resourceName?: string; /** * Status of this custom interest. Indicates whether the custom interest is * enabled or removed. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default * the type is set to CUSTOM_AFFINITY. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOM_AFFINITY" | "CUSTOM_INTENT"; } /** * A member of custom interest audience. A member can be a keyword or url. It * is immutable, that is, it can only be created or removed but not changed. */ export interface GoogleAdsSearchads360V23Resources__CustomInterestMember { /** * The type of custom interest member, KEYWORD or URL. */ memberType?: | "UNSPECIFIED" | "UNKNOWN" | "KEYWORD" | "URL"; /** * Keyword text when member_type is KEYWORD or URL string when member_type is * URL. */ parameter?: string; } /** * A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, * AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer * attribute and set its value at the customer, campaign, ad group, or ad group * criterion level, respectively. */ export interface GoogleAdsSearchads360V23Resources__CustomizerAttribute { /** * Output only. The ID of the customizer attribute. */ readonly id?: bigint; /** * Required. Immutable. Name of the customizer attribute. Required. It must * have a minimum length of 1 and maximum length of 40. Name of an enabled * customizer attribute must be unique (case insensitive). */ name?: string; /** * Immutable. The resource name of the customizer attribute. Customizer * Attribute resource names have the form: * `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` */ resourceName?: string; /** * Output only. The status of the customizer attribute. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * Immutable. The type of the customizer attribute. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "TEXT" | "NUMBER" | "PRICE" | "PERCENT"; } /** * Fields in the submitted custom question */ export interface GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField { /** * Output only. Field value for custom question response, maximum number of * characters is 70. */ readonly fieldValue?: string; /** * Output only. Question text for custom question, maximum number of * characters is 300. */ readonly questionText?: string; } /** * Represents the data sharing connection between */ export interface GoogleAdsSearchads360V23Resources__DataLink { /** * Output only. The ID of the data link. This field is read only. */ readonly dataLinkId?: bigint; /** * Output only. The ID of the link. This field is read only. */ readonly productLinkId?: bigint; /** * Immutable. Resource name of the product data link. DataLink resource names * have the form: ` */ resourceName?: string; /** * Output only. The status of the data link. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "REQUESTED" | "PENDING_APPROVAL" | "ENABLED" | "DISABLED" | "REVOKED" | "REJECTED"; /** * Output only. The type of the data. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "VIDEO"; /** * Immutable. A data link to YouTube video. */ youtubeVideo?: GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier; } /** * The identifier for Data Partner account. */ export interface GoogleAdsSearchads360V23Resources__DataPartnerIdentifier { /** * Immutable. The customer ID of the Data partner account. This field is * required and should not be empty when creating a new data partner link. It * is unable to be modified after the creation of the link. */ dataPartnerId?: bigint; } function serializeGoogleAdsSearchads360V23Resources__DataPartnerIdentifier(data: any): GoogleAdsSearchads360V23Resources__DataPartnerIdentifier { return { ...data, dataPartnerId: data["dataPartnerId"] !== undefined ? String(data["dataPartnerId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__DataPartnerIdentifier(data: any): GoogleAdsSearchads360V23Resources__DataPartnerIdentifier { return { ...data, dataPartnerId: data["dataPartnerId"] !== undefined ? BigInt(data["dataPartnerId"]) : undefined, }; } /** * A detail content suitability placement view. */ export interface GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView { /** * Output only. The display name is URL for websites, YouTube video name for * YouTube videos, and translated mobile app name for mobile apps. */ readonly displayName?: string; /** * Output only. The automatic placement string at detail level, for example. * website url, mobile application id, or a YouTube video id. */ readonly placement?: string; /** * Output only. Represents the type of the placement, for example, Website, * YouTubeVideo and MobileApplication. */ readonly placementType?: | "UNSPECIFIED" | "UNKNOWN" | "WEBSITE" | "MOBILE_APP_CATEGORY" | "MOBILE_APPLICATION" | "YOUTUBE_VIDEO" | "YOUTUBE_CHANNEL" | "GOOGLE_PRODUCTS"; /** * Output only. The resource name of the detail content suitability placement * view. Detail content suitability placement view resource names have the * form: * `customers/{customer_id}/detailContentSuitabilityPlacementViews/{placement_fingerprint}` */ readonly resourceName?: string; /** * Output only. URL of the placement, for example, website, link to the * mobile application in app store, or a YouTube video URL. */ readonly targetUrl?: string; } /** * A detailed demographic: a particular interest-based vertical to be targeted * to reach users based on long-term life facts. */ export interface GoogleAdsSearchads360V23Resources__DetailedDemographic { /** * Output only. Availability information of the detailed demographic. */ readonly availabilities?: GoogleAdsSearchads360V23Common__CriterionCategoryAvailability[]; /** * Output only. The ID of the detailed demographic. */ readonly id?: bigint; /** * Output only. True if the detailed demographic is launched to all channels * and locales. */ readonly launchedToAll?: boolean; /** * Output only. The name of the detailed demographic. For example,"Highest * Level of Educational Attainment" */ readonly name?: string; /** * Output only. The parent of the detailed_demographic. */ readonly parent?: string; /** * Output only. The resource name of the detailed demographic. Detailed * demographic resource names have the form: * `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}` */ readonly resourceName?: string; } /** * A view with metrics aggregated by ad group and URL or YouTube video. This * view primarily surfaces placement data from the Google Display Network. While * you can select segments like `segments.ad_network_type`, this view generally * does not include placement data from other networks, such as the Search * Partners network. To understand performance on Search Partners, consider * other reports and segmentations. */ export interface GoogleAdsSearchads360V23Resources__DetailPlacementView { /** * Output only. The display name is URL name for websites, YouTube video name * for YouTube videos, and translated mobile app name for mobile apps. */ readonly displayName?: string; /** * Output only. URL of the group placement, for example, domain, link to the * mobile application in app store, or a YouTube channel URL. */ readonly groupPlacementTargetUrl?: string; /** * Output only. The automatic placement string at detail level, e. g. website * URL, mobile application ID, or a YouTube video ID. */ readonly placement?: string; /** * Output only. Type of the placement, for example, Website, YouTube Video, * and Mobile Application. */ readonly placementType?: | "UNSPECIFIED" | "UNKNOWN" | "WEBSITE" | "MOBILE_APP_CATEGORY" | "MOBILE_APPLICATION" | "YOUTUBE_VIDEO" | "YOUTUBE_CHANNEL" | "GOOGLE_PRODUCTS"; /** * Output only. The resource name of the detail placement view. Detail * placement view resource names have the form: * `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}` */ readonly resourceName?: string; /** * Output only. URL of the placement, for example, website, link to the * mobile application in app store, or a YouTube video URL. */ readonly targetUrl?: string; } /** * A display keyword view. Provides performance data for keywords used in * Display Network campaigns. This view lets you analyze how your display * keywords are performing across various segments. This view is primarily used * to track the effectiveness of keyword targeting within your Display * campaigns. To understand which network the metrics apply to, you can select * the `segments.ad_network_type` field in your query. This field will segment * the data by networks such as the Google Display Network, YouTube, Gmail, and * so on. You can select fields from this resource along with metrics like * impressions, clicks, and conversions to gauge performance. Attributed * resources like `ad_group` and `campaign` can also be selected without * segmenting metrics. */ export interface GoogleAdsSearchads360V23Resources__DisplayKeywordView { /** * Output only. The resource name of the display keyword view. Display * Keyword view resource names have the form: * `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * A distance view with metrics aggregated by the user's distance from an * advertiser's location extensions. Each DistanceBucket includes all * impressions that fall within its distance and a single impression will * contribute to the metrics for all DistanceBuckets that include the user's * distance. */ export interface GoogleAdsSearchads360V23Resources__DistanceView { /** * Output only. Grouping of user distance from location extensions. */ readonly distanceBucket?: | "UNSPECIFIED" | "UNKNOWN" | "WITHIN_700M" | "WITHIN_1KM" | "WITHIN_5KM" | "WITHIN_10KM" | "WITHIN_15KM" | "WITHIN_20KM" | "WITHIN_25KM" | "WITHIN_30KM" | "WITHIN_35KM" | "WITHIN_40KM" | "WITHIN_45KM" | "WITHIN_50KM" | "WITHIN_55KM" | "WITHIN_60KM" | "WITHIN_65KM" | "BEYOND_65KM" | "WITHIN_0_7MILES" | "WITHIN_1MILE" | "WITHIN_5MILES" | "WITHIN_10MILES" | "WITHIN_15MILES" | "WITHIN_20MILES" | "WITHIN_25MILES" | "WITHIN_30MILES" | "WITHIN_35MILES" | "WITHIN_40MILES" | "BEYOND_40MILES"; /** * Output only. True if the DistanceBucket is using the metric system, false * otherwise. */ readonly metricSystem?: boolean; /** * Output only. The resource name of the distance view. Distance view * resource names have the form: * `customers/{customer_id}/distanceViews/1~{distance_bucket}` */ readonly resourceName?: string; } /** * DoubleClick Campaign Manager (DCM) setting for a manager customer. */ export interface GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting { /** * Output only. ID of the Campaign Manager advertiser associated with this * customer. */ readonly advertiserId?: bigint; /** * Output only. ID of the Campaign Manager network associated with this * customer. */ readonly networkId?: bigint; /** * Output only. Time zone of the Campaign Manager network associated with * this customer in IANA Time Zone Database format, such as America/New_York. */ readonly timeZone?: string; } /** * A dynamic search ads search term view. */ export interface GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView { /** * Output only. True if query is added to targeted keywords. This field is * read-only. */ readonly hasMatchingKeyword?: boolean; /** * Output only. True if query matches a negative keyword. This field is * read-only. */ readonly hasNegativeKeyword?: boolean; /** * Output only. True if query matches a negative url. This field is * read-only. */ readonly hasNegativeUrl?: boolean; /** * Output only. The dynamically generated headline of the Dynamic Search Ad. * This field is read-only. */ readonly headline?: string; /** * Output only. The dynamically selected landing page URL of the impression. * This field is read-only. */ readonly landingPage?: string; /** * Output only. The URL of page feed item served for the impression. This * field is read-only. */ readonly pageUrl?: string; /** * Output only. The resource name of the dynamic search ads search term view. * Dynamic search ads search term view resource names have the form: * `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}` */ readonly resourceName?: string; /** * Output only. Search term This field is read-only. */ readonly searchTerm?: string; } /** * A landing page view with metrics aggregated at the expanded final URL level. */ export interface GoogleAdsSearchads360V23Resources__ExpandedLandingPageView { /** * Output only. The final URL that clicks are directed to. */ readonly expandedFinalUrl?: string; /** * Output only. The resource name of the expanded landing page view. Expanded * landing page view resource names have the form: * `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}` */ readonly resourceName?: string; } /** * A Google ads experiment for users to experiment changes on multiple * campaigns, compare the performance, and apply the effective changes. */ export interface GoogleAdsSearchads360V23Resources__Experiment { /** * The description of the experiment. It must have a minimum length of 1 and * maximum length of 2048. */ description?: string; /** * Date when the experiment ends. By default, the experiment ends on the * campaign's end date. If this field is set, then the experiment ends at the * end of the specified date in the customer's time zone. Format: YYYY-MM-DD * Example: 2019-04-18 */ endDate?: string; /** * Output only. The ID of the experiment. Read only. */ readonly experimentId?: bigint; /** * The goals of this experiment. */ goals?: GoogleAdsSearchads360V23Common__MetricGoal[]; /** * Output only. The resource name of the long-running operation that can be * used to poll for completion of experiment schedule or promote. The most * recent long running operation is returned. */ readonly longRunningOperation?: string; /** * Required. The name of the experiment. It must have a minimum length of 1 * and maximum length of 1024. It must be unique under a customer. */ name?: string; /** * Output only. The status of the experiment promotion process. */ readonly promoteStatus?: | "UNSPECIFIED" | "UNKNOWN" | "NOT_STARTED" | "IN_PROGRESS" | "COMPLETED" | "FAILED" | "COMPLETED_WITH_WARNING"; /** * Immutable. The resource name of the experiment. Experiment resource names * have the form: `customers/{customer_id}/experiments/{experiment_id}` */ resourceName?: string; /** * Date when the experiment starts. By default, the experiment starts now or * on the campaign's start date, whichever is later. If this field is set, * then the experiment starts at the beginning of the specified date in the * customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14 */ startDate?: string; /** * The Advertiser-chosen status of this experiment. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED" | "HALTED" | "PROMOTED" | "SETUP" | "INITIATED" | "GRADUATED"; /** * For system managed experiments, the advertiser must provide a suffix * during construction, in the setup stage before moving to initiated. The * suffix will be appended to the in-design and experiment campaign names so * that the name is base campaign name + suffix. */ suffix?: string; /** * Immutable. Set to true if changes to base campaigns should be synced to * the trial campaigns. Any changes made directly to trial campaigns will be * preserved. This field can only be set when the experiment is being created. */ syncEnabled?: boolean; /** * Required. The product/feature that uses this experiment. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "DISPLAY_AND_VIDEO_360" | "AD_VARIATION" | "YOUTUBE_CUSTOM" | "DISPLAY_CUSTOM" | "SEARCH_CUSTOM" | "DISPLAY_AUTOMATED_BIDDING_STRATEGY" | "SEARCH_AUTOMATED_BIDDING_STRATEGY" | "SHOPPING_AUTOMATED_BIDDING_STRATEGY" | "SMART_MATCHING" | "HOTEL_CUSTOM"; } /** * A Google ads experiment for users to experiment changes on multiple * campaigns, compare the performance, and apply the effective changes. */ export interface GoogleAdsSearchads360V23Resources__ExperimentArm { /** * List of asset groups in the experiment arm. */ assetGroups?: GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo[]; /** * List of campaigns in the trial arm. The max length is one. */ campaigns?: string[]; /** * Whether this arm is a control arm. A control arm is the arm against which * the other arms are compared. */ control?: boolean; /** * Immutable. The experiment to which the ExperimentArm belongs. */ experiment?: string; /** * Output only. The in design campaigns in the treatment experiment arm. */ readonly inDesignCampaigns?: string[]; /** * Required. The name of the experiment arm. It must have a minimum length of * 1 and maximum length of 1024. It must be unique under an experiment. */ name?: string; /** * Immutable. The resource name of the experiment arm. Experiment arm * resource names have the form: * `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}` */ resourceName?: string; /** * Traffic split of the trial arm. The value should be between 1 and 100 and * must total 100 between the two trial arms. */ trafficSplit?: bigint; } function serializeGoogleAdsSearchads360V23Resources__ExperimentArm(data: any): GoogleAdsSearchads360V23Resources__ExperimentArm { return { ...data, trafficSplit: data["trafficSplit"] !== undefined ? String(data["trafficSplit"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__ExperimentArm(data: any): GoogleAdsSearchads360V23Resources__ExperimentArm { return { ...data, trafficSplit: data["trafficSplit"] !== undefined ? BigInt(data["trafficSplit"]) : undefined, }; } /** * Details about the employee's medical Fellowship. Fellowship is a period of * medical training that the professional undertakes after finishing their * residency. */ export interface GoogleAdsSearchads360V23Resources__Fellowship { /** * Output only. Year of completion. */ readonly completionYear?: number; /** * Output only. Name of the instutition at which the fellowship was * completed. */ readonly institutionName?: string; } /** * FinalUrlExpansionAssetView Resource. */ export interface GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView { /** * Output only. Ad Group in which FinalUrlExpansionAsset served. */ readonly adGroup?: string; /** * Output only. The ID of the asset. */ readonly asset?: string; /** * Output only. Asset Group in which FinalUrlExpansionAsset served. */ readonly assetGroup?: string; /** * Output only. Campaign in which the asset served. */ readonly campaign?: string; /** * Output only. The field type of the asset. */ readonly fieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Output only. Final URL of the FinalUrlExpansionAsset. */ readonly finalUrl?: string; /** * Output only. The resource name of the FinalUrlExpansionAsset. */ readonly resourceName?: string; /** * Output only. Status of the FinalUrlExpansionAsset. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED" | "PAUSED"; } /** * A gender view. The gender_view resource reflects the effective serving * state, rather than what criteria were added. An ad group without gender * criteria by default shows to all genders, so all genders appear in * gender_view with stats. */ export interface GoogleAdsSearchads360V23Resources__GenderView { /** * Output only. The resource name of the gender view. Gender view resource * names have the form: * `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * A geographic view. Geographic View includes all metrics aggregated at the * country level, one row per country. It reports metrics at either actual * physical location of the user or an area of interest. If other segment fields * are used, you may get more than one row per country. */ export interface GoogleAdsSearchads360V23Resources__GeographicView { /** * Output only. Criterion Id for the country. */ readonly countryCriterionId?: bigint; /** * Output only. Type of the geo targeting of the campaign. */ readonly locationType?: | "UNSPECIFIED" | "UNKNOWN" | "AREA_OF_INTEREST" | "LOCATION_OF_PRESENCE"; /** * Output only. The resource name of the geographic view. Geographic view * resource names have the form: * `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}` */ readonly resourceName?: string; } /** * A geo target constant. */ export interface GoogleAdsSearchads360V23Resources__GeoTargetConstant { /** * Output only. The fully qualified English name, consisting of the target's * name and that of its parent and country. */ readonly canonicalName?: string; /** * Output only. The ISO-3166-1 alpha-2 country code that is associated with * the target. */ readonly countryCode?: string; /** * Output only. The ID of the geo target constant. */ readonly id?: bigint; /** * Output only. Geo target constant English name. */ readonly name?: string; /** * Output only. The resource name of the parent geo target constant. Geo * target constant resource names have the form: * `geoTargetConstants/{parent_geo_target_constant_id}` */ readonly parentGeoTarget?: string; /** * Output only. The resource name of the geo target constant. Geo target * constant resource names have the form: * `geoTargetConstants/{geo_target_constant_id}` */ readonly resourceName?: string; /** * Output only. Geo target constant status. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVAL_PLANNED"; /** * Output only. Geo target constant target type. */ readonly targetType?: string; } /** * Representation of goals. */ export interface GoogleAdsSearchads360V23Resources__Goal { /** * Output only. The ID of this goal. */ readonly goalId?: bigint; /** * Output only. The type of this goal. */ readonly goalType?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER_RETENTION"; /** * Output only. Indicates if this goal is eligible for campaign optimization. */ readonly optimizationEligibility?: | "UNSPECIFIED" | "UNKNOWN" | "ELIGIBLE" | "INELIGIBLE"; /** * Output only. The resource name of the goal owner customer. */ readonly ownerCustomer?: string; /** * Immutable. The resource name of the goal. Goal resource names have the * form: `customers/{customer_id}/goals/{goal_id}` */ resourceName?: string; /** * Retention goal settings. */ retentionGoalSettings?: GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal; } /** * The identifier for Google Ads account. */ export interface GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier { /** * Immutable. The resource name of the Google Ads account. This field is * required and should not be empty when creating a new Google Ads link. It is * unable to be modified after the creation of the link. */ customer?: string; } /** * Insurance status at geo + vertical level. */ export interface GoogleAdsSearchads360V23Resources__GranularInsuranceStatus { /** * Output only. Service category associated with the status. For example, * xcat:service_area_business_plumber. For more details see: * https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids */ readonly categoryId?: string; /** * Output only. Geotarget criterion ID associated with the status. Can be on * country or state/province geo level, depending on requirements and * location. See https://developers.google.com/google-ads/api/data/geotargets * for more information. */ readonly geoCriterionId?: bigint; /** * Output only. Granular insurance status, per geo + vertical. */ readonly verificationStatus?: | "UNSPECIFIED" | "UNKNOWN" | "NEEDS_REVIEW" | "FAILED" | "PASSED" | "NOT_APPLICABLE" | "NO_SUBMISSION" | "PARTIAL_SUBMISSION" | "PENDING_ESCALATION"; } /** * License status at geo + vertical level. */ export interface GoogleAdsSearchads360V23Resources__GranularLicenseStatus { /** * Output only. Service category associated with the status. For example, * xcat:service_area_business_plumber. For more details see: * https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids */ readonly categoryId?: string; /** * Output only. Geotarget criterion ID associated with the status. Can be on * country or state/province geo level, depending on requirements and * location. See https://developers.google.com/google-ads/api/data/geotargets * for more information. */ readonly geoCriterionId?: bigint; /** * Output only. Granular license status, per geo + vertical. */ readonly verificationStatus?: | "UNSPECIFIED" | "UNKNOWN" | "NEEDS_REVIEW" | "FAILED" | "PASSED" | "NOT_APPLICABLE" | "NO_SUBMISSION" | "PARTIAL_SUBMISSION" | "PENDING_ESCALATION"; } /** * A group content suitability placement view. */ export interface GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView { /** * Output only. The display name is URL for websites, YouTube video name for * YouTube videos, and translated mobile app name for mobile apps. */ readonly displayName?: string; /** * Output only. The automatic placement string at group level, for example. * website url, mobile application id, or a YouTube video id. */ readonly placement?: string; /** * Output only. Represents the type of the placement, for example, Website, * YouTubeVideo and MobileApplication. */ readonly placementType?: | "UNSPECIFIED" | "UNKNOWN" | "WEBSITE" | "MOBILE_APP_CATEGORY" | "MOBILE_APPLICATION" | "YOUTUBE_VIDEO" | "YOUTUBE_CHANNEL" | "GOOGLE_PRODUCTS"; /** * Output only. The resource name of the group content suitability placement * view. Group content suitability placement view resource names have the * form: * `customers/{customer_id}/groupContentSuitabilityPlacementViews/{placement_fingerprint}` */ readonly resourceName?: string; /** * Output only. URL of the placement, for example, website, link to the * mobile application in app store, or a YouTube video URL. */ readonly targetUrl?: string; } /** * A group placement view. */ export interface GoogleAdsSearchads360V23Resources__GroupPlacementView { /** * Output only. Domain name for websites and YouTube channel name for YouTube * channels. */ readonly displayName?: string; /** * Output only. The automatic placement string at group level, e. g. web * domain, mobile app ID, or a YouTube channel ID. */ readonly placement?: string; /** * Output only. Type of the placement, for example, Website, YouTube Channel, * Mobile Application. */ readonly placementType?: | "UNSPECIFIED" | "UNKNOWN" | "WEBSITE" | "MOBILE_APP_CATEGORY" | "MOBILE_APPLICATION" | "YOUTUBE_VIDEO" | "YOUTUBE_CHANNEL" | "GOOGLE_PRODUCTS"; /** * Output only. The resource name of the group placement view. Group * placement view resource names have the form: * `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}` */ readonly resourceName?: string; /** * Output only. URL of the group placement, for example, domain, link to the * mobile application in app store, or a YouTube channel URL. */ readonly targetUrl?: string; } /** * The identifier for Hotel account. */ export interface GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier { /** * Output only. The hotel center id of the hotel account. This field is read * only */ readonly hotelCenterId?: bigint; } /** * A hotel group view. */ export interface GoogleAdsSearchads360V23Resources__HotelGroupView { /** * Output only. The resource name of the hotel group view. Hotel Group view * resource names have the form: * `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * A hotel performance view. */ export interface GoogleAdsSearchads360V23Resources__HotelPerformanceView { /** * Output only. The resource name of the hotel performance view. Hotel * performance view resource names have the form: * `customers/{customer_id}/hotelPerformanceView` */ readonly resourceName?: string; } /** * A hotel reconciliation. It contains conversion information from Hotel * bookings to reconcile with advertiser records. These rows may be updated or * canceled before billing through Bulk Uploads. */ export interface GoogleAdsSearchads360V23Resources__HotelReconciliation { /** * Output only. Whether a given booking has been billed. Once billed, a * booking can't be modified. */ readonly billed?: boolean; /** * Output only. The resource name for the Campaign associated with the * conversion. */ readonly campaign?: string; /** * Output only. Check-in date recorded when the booking is made. If the * check-in date is modified at reconciliation, the revised date will then * take the place of the original date in this column. Format is YYYY-MM-DD. */ readonly checkInDate?: string; /** * Output only. Check-out date recorded when the booking is made. If the * check-in date is modified at reconciliation, the revised date will then * take the place of the original date in this column. Format is YYYY-MM-DD. */ readonly checkOutDate?: string; /** * Required. Output only. The commission ID is Google's ID for this booking. * Every booking event is assigned a Commission ID to help you match it to a * guest stay. */ readonly commissionId?: string; /** * Output only. Identifier for the Hotel Center account which provides the * rates for the Hotel campaign. */ readonly hotelCenterId?: bigint; /** * Output only. Unique identifier for the booked property, as provided in the * Hotel Center feed. The hotel ID comes from the 'ID' parameter of the * conversion tracking tag. */ readonly hotelId?: string; /** * Output only. The order ID is the identifier for this booking as provided * in the 'transaction_id' parameter of the conversion tracking tag. */ readonly orderId?: string; /** * Required. Output only. Reconciled value is the final value of a booking as * paid by the guest. If original booking value changes for any reason, such * as itinerary changes or room upsells, the reconciled value should be the * full final amount collected. If a booking is canceled, the reconciled value * should include the value of any cancellation fees or non-refundable nights * charged. Value is in millionths of the base unit currency. For example, * $12.35 would be represented as 12350000. Currency unit is in the default * customer currency. */ readonly reconciledValueMicros?: bigint; /** * Immutable. The resource name of the hotel reconciliation. Hotel * reconciliation resource names have the form: * `customers/{customer_id}/hotelReconciliations/{commission_id}` */ resourceName?: string; /** * Required. Output only. Current status of a booking with regards to * reconciliation and billing. Bookings should be reconciled within 45 days * after the check-out date. Any booking not reconciled within 45 days will be * billed at its original value. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "RESERVATION_ENABLED" | "RECONCILIATION_NEEDED" | "RECONCILED" | "CANCELED"; } /** * An income range view. */ export interface GoogleAdsSearchads360V23Resources__IncomeRangeView { /** * Output only. The resource name of the income range view. Income range view * resource names have the form: * `customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * specific to a local services insurance. */ export interface GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact { /** * Output only. Insurance amount. This is measured in "micros" of the * currency mentioned in the insurance document. */ readonly amountMicros?: bigint; /** * Output only. The timestamp when this insurance expires. The format is * "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: * "2018-03-05 09:15:00" or "2018-02-01 14:34:30" */ readonly expirationDateTime?: string; /** * Output only. The readonly field containing the information for an uploaded * insurance document. */ readonly insuranceDocumentReadonly?: GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly; /** * Output only. Insurance document's rejection reason. */ readonly rejectionReason?: | "UNSPECIFIED" | "UNKNOWN" | "BUSINESS_NAME_MISMATCH" | "INSURANCE_AMOUNT_INSUFFICIENT" | "EXPIRED" | "NO_SIGNATURE" | "NO_POLICY_NUMBER" | "NO_COMMERCIAL_GENERAL_LIABILITY" | "EDITABLE_FORMAT" | "CATEGORY_MISMATCH" | "MISSING_EXPIRATION_DATE" | "POOR_QUALITY" | "POTENTIALLY_EDITED" | "WRONG_DOCUMENT_TYPE" | "NON_FINAL" | "OTHER"; } /** * An invoice. All invoice information is snapshotted to match the PDF invoice. * For invoices older than the launch of InvoiceService, the snapshotted * information may not match the PDF invoice. */ export interface GoogleAdsSearchads360V23Resources__Invoice { /** * Output only. The list of summarized account budget information associated * with this invoice. */ readonly accountBudgetSummaries?: GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary[]; /** * Output only. The list of summarized account information associated with * this invoice. */ readonly accountSummaries?: GoogleAdsSearchads360V23Resources_Invoice_AccountSummary[]; /** * Output only. The pretax subtotal amount of invoice level adjustments, in * micros. */ readonly adjustmentsSubtotalAmountMicros?: bigint; /** * Output only. The sum of taxes on the invoice level adjustments, in micros. */ readonly adjustmentsTaxAmountMicros?: bigint; /** * Output only. The total amount of invoice level adjustments, in micros. */ readonly adjustmentsTotalAmountMicros?: bigint; /** * Output only. The resource name of this invoice's billing setup. * `customers/{customer_id}/billingSetups/{billing_setup_id}` */ readonly billingSetup?: string; /** * Output only. The resource name of the original invoice corrected, wrote * off, or canceled by this invoice, if applicable. If `corrected_invoice` is * set, `replaced_invoices` will not be set. Invoice resource names have the * form: `customers/{customer_id}/invoices/{invoice_id}` */ readonly correctedInvoice?: string; /** * Output only. The currency code. All costs are returned in this currency. A * subset of the currency codes derived from the ISO 4217 standard is * supported. */ readonly currencyCode?: string; /** * Output only. The due date in yyyy-mm-dd format. */ readonly dueDate?: string; /** * Output only. The pretax subtotal amount of invoice level export charges, * in micros. */ readonly exportChargeSubtotalAmountMicros?: bigint; /** * Output only. The sum of taxes on the invoice level export charges, in * micros. */ readonly exportChargeTaxAmountMicros?: bigint; /** * Output only. The total amount of invoice level export charges, in micros. */ readonly exportChargeTotalAmountMicros?: bigint; /** * Output only. The ID of the invoice. It appears on the invoice PDF as * "Invoice number". */ readonly id?: string; /** * Output only. The issue date in yyyy-mm-dd format. It appears on the * invoice PDF as either "Issue date" or "Invoice date". */ readonly issueDate?: string; /** * Output only. A 16 digit ID used to identify the payments account * associated with the billing setup, for example, "1234-5678-9012-3456". It * appears on the invoice PDF as "Billing Account Number". */ readonly paymentsAccountId?: string; /** * Output only. A 12 digit ID used to identify the payments profile * associated with the billing setup, for example, "1234-5678-9012". It * appears on the invoice PDF as "Billing ID". */ readonly paymentsProfileId?: string; /** * Output only. The URL to a PDF copy of the invoice. Users need to pass in * their OAuth token to request the PDF with this URL. */ readonly pdfUrl?: string; /** * Output only. The pretax subtotal amount of invoice level regulatory costs, * in micros. */ readonly regulatoryCostsSubtotalAmountMicros?: bigint; /** * Output only. The sum of taxes on the invoice level regulatory costs, in * micros. */ readonly regulatoryCostsTaxAmountMicros?: bigint; /** * Output only. The total amount of invoice level regulatory costs, in * micros. */ readonly regulatoryCostsTotalAmountMicros?: bigint; /** * Output only. The resource name of the original invoice(s) being rebilled * or replaced by this invoice, if applicable. There might be multiple * replaced invoices due to invoice consolidation. The replaced invoices may * not belong to the same payments account. If `replaced_invoices` is set, * `corrected_invoice` will not be set. Invoice resource names have the form: * `customers/{customer_id}/invoices/{invoice_id}` */ readonly replacedInvoices?: string[]; /** * Output only. The resource name of the invoice. Multiple customers can * share a given invoice, so multiple resource names may point to the same * invoice. Invoice resource names have the form: * `customers/{customer_id}/invoices/{invoice_id}` */ readonly resourceName?: string; /** * Output only. The service period date range of this invoice. The end date * is inclusive. */ readonly serviceDateRange?: GoogleAdsSearchads360V23Common__DateRange; /** * Output only. The pretax subtotal amount, in micros. This is equal to the * sum of the AccountBudgetSummary subtotal amounts and * Invoice.adjustments_subtotal_amount_micros. */ readonly subtotalAmountMicros?: bigint; /** * Output only. The sum of all taxes on the invoice, in micros. This equals * the sum of the AccountBudgetSummary tax amounts, plus taxes not associated * with a specific account budget. */ readonly taxAmountMicros?: bigint; /** * Output only. The total amount, in micros. This equals the sum of * Invoice.subtotal_amount_micros, Invoice.tax_amount_micros, * Invoice.regulatory_costs_subtotal_amount_micros, and * Invoice.export_charge_subtotal_amount_micros (which is separated into a * separate line item starting with V14.1). */ readonly totalAmountMicros?: bigint; /** * Output only. The type of invoice. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "CREDIT_MEMO" | "INVOICE"; } /** * A Keyword Planner plan. Max number of saved keyword plans: 10000. It's * possible to remove plans if limit is reached. */ export interface GoogleAdsSearchads360V23Resources__KeywordPlan { /** * The date period used for forecasting the plan. */ forecastPeriod?: GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod; /** * Output only. The ID of the keyword plan. */ readonly id?: bigint; /** * The name of the keyword plan. This field is required and should not be * empty when creating new keyword plans. */ name?: string; /** * Immutable. The resource name of the Keyword Planner plan. KeywordPlan * resource names have the form: * `customers/{customer_id}/keywordPlans/{kp_plan_id}` */ resourceName?: string; } /** * A Keyword Planner ad group. Max number of keyword plan ad groups per plan: * 200. */ export interface GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup { /** * A default ad group max cpc bid in micros in account currency for all * biddable keywords under the keyword plan ad group. If not set, will inherit * from parent campaign. */ cpcBidMicros?: bigint; /** * Output only. The ID of the keyword plan ad group. */ readonly id?: bigint; /** * The keyword plan campaign to which this ad group belongs. */ keywordPlanCampaign?: string; /** * The name of the keyword plan ad group. This field is required and should * not be empty when creating keyword plan ad group. */ name?: string; /** * Immutable. The resource name of the Keyword Planner ad group. * KeywordPlanAdGroup resource names have the form: * `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroup(data: any): GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? String(data["cpcBidMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroup(data: any): GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? BigInt(data["cpcBidMicros"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, }; } /** * A Keyword Plan ad group keyword. Max number of keyword plan keywords per * plan: 10000. */ export interface GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword { /** * A keyword level max cpc bid in micros (for example, $1 = 1mm). The * currency is the same as the account currency code. This will override any * CPC bid set at the keyword plan ad group level. Not applicable for negative * keywords. (negative = true) This field is Optional. */ cpcBidMicros?: bigint; /** * Output only. The ID of the Keyword Plan keyword. */ readonly id?: bigint; /** * The Keyword Plan ad group to which this keyword belongs. */ keywordPlanAdGroup?: string; /** * The keyword match type. */ matchType?: | "UNSPECIFIED" | "UNKNOWN" | "EXACT" | "PHRASE" | "BROAD"; /** * Immutable. If true, the keyword is negative. */ negative?: boolean; /** * Immutable. The resource name of the Keyword Plan ad group keyword. * KeywordPlanAdGroupKeyword resource names have the form: * `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}` */ resourceName?: string; /** * The keyword text. */ text?: string; } function serializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword(data: any): GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? String(data["cpcBidMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword(data: any): GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? BigInt(data["cpcBidMicros"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, }; } /** * A Keyword Plan campaign. Max number of keyword plan campaigns per plan * allowed: 1. */ export interface GoogleAdsSearchads360V23Resources__KeywordPlanCampaign { /** * A default max cpc bid in micros, and in the account currency, for all ad * groups under the campaign. This field is required and should not be empty * when creating Keyword Plan campaigns. */ cpcBidMicros?: bigint; /** * The geo targets. Max number allowed: 20. */ geoTargets?: GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget[]; /** * Output only. The ID of the Keyword Plan campaign. */ readonly id?: bigint; /** * The keyword plan this campaign belongs to. */ keywordPlan?: string; /** * Targeting network. This field is required and should not be empty when * creating Keyword Plan campaigns. */ keywordPlanNetwork?: | "UNSPECIFIED" | "UNKNOWN" | "GOOGLE_SEARCH" | "GOOGLE_SEARCH_AND_PARTNERS"; /** * The languages targeted for the Keyword Plan campaign. Max allowed: 1. */ languageConstants?: string[]; /** * The name of the Keyword Plan campaign. This field is required and should * not be empty when creating Keyword Plan campaigns. */ name?: string; /** * Immutable. The resource name of the Keyword Plan campaign. * KeywordPlanCampaign resource names have the form: * `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}` */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Resources__KeywordPlanCampaign(data: any): GoogleAdsSearchads360V23Resources__KeywordPlanCampaign { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? String(data["cpcBidMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__KeywordPlanCampaign(data: any): GoogleAdsSearchads360V23Resources__KeywordPlanCampaign { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? BigInt(data["cpcBidMicros"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, }; } /** * A Keyword Plan Campaign keyword. Only negative keywords are supported for * Campaign Keyword. */ export interface GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword { /** * Output only. The ID of the Keyword Plan negative keyword. */ readonly id?: bigint; /** * The Keyword Plan campaign to which this negative keyword belongs. */ keywordPlanCampaign?: string; /** * The keyword match type. */ matchType?: | "UNSPECIFIED" | "UNKNOWN" | "EXACT" | "PHRASE" | "BROAD"; /** * Immutable. If true, the keyword is negative. Must be set to true. Only * negative campaign keywords are supported. */ negative?: boolean; /** * Immutable. The resource name of the Keyword Plan Campaign keyword. * KeywordPlanCampaignKeyword resource names have the form: * `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}` */ resourceName?: string; /** * The keyword text. */ text?: string; } /** * The forecasting period associated with the keyword plan. */ export interface GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod { /** * A future date range relative to the current date used for forecasting. */ dateInterval?: | "UNSPECIFIED" | "UNKNOWN" | "NEXT_WEEK" | "NEXT_MONTH" | "NEXT_QUARTER"; /** * The custom date range used for forecasting. It cannot be greater than a * year. The start and end dates must be in the future. Otherwise, an error * will be returned when the forecasting action is performed. The start and * end dates are inclusive. */ dateRange?: GoogleAdsSearchads360V23Common__DateRange; } /** * A geo target. */ export interface GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget { /** * Required. The resource name of the geo target. */ geoTargetConstant?: string; } /** * A Smart Campaign keyword theme constant. */ export interface GoogleAdsSearchads360V23Resources__KeywordThemeConstant { /** * Output only. The ISO-3166 Alpha-2 country code of the constant, eg. "US". * To display and query matching purpose, the keyword theme needs to be * localized. */ readonly countryCode?: string; /** * Output only. The display name of the keyword theme or sub keyword theme. */ readonly displayName?: string; /** * Output only. The ISO-639-1 language code with 2 letters of the constant, * eg. "en". To display and query matching purpose, the keyword theme needs to * be localized. */ readonly languageCode?: string; /** * Output only. The resource name of the keyword theme constant. Keyword * theme constant resource names have the form: * `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}` */ readonly resourceName?: string; } /** * A keyword view. */ export interface GoogleAdsSearchads360V23Resources__KeywordView { /** * Output only. The resource name of the keyword view. Keyword view resource * names have the form: * `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * A label. */ export interface GoogleAdsSearchads360V23Resources__Label { /** * Output only. ID of the label. Read only. */ readonly id?: bigint; /** * The name of the label. This field is required and should not be empty when * creating a new label. The length of this string should be between 1 and 80, * inclusive. */ name?: string; /** * Immutable. Name of the resource. Label resource names have the form: * `customers/{owner_customer_id}/labels/{label_id}` */ resourceName?: string; /** * Output only. Status of the label. Read only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * A type of label displaying text on a colored background. */ textLabel?: GoogleAdsSearchads360V23Common__TextLabel; } /** * A landing page view with metrics aggregated at the unexpanded final URL * level. */ export interface GoogleAdsSearchads360V23Resources__LandingPageView { /** * Output only. The resource name of the landing page view. Landing page view * resource names have the form: * `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}` */ readonly resourceName?: string; /** * Output only. The advertiser-specified final URL. */ readonly unexpandedFinalUrl?: string; } /** * A language. */ export interface GoogleAdsSearchads360V23Resources__LanguageConstant { /** * Output only. The language code, for example, "en_US", "en_AU", "es", "fr", * etc. */ readonly code?: string; /** * Output only. The ID of the language constant. */ readonly id?: bigint; /** * Output only. The full name of the language in English, for example, * "English (US)", "Spanish", etc. */ readonly name?: string; /** * Output only. The resource name of the language constant. Language constant * resource names have the form: `languageConstants/{criterion_id}` */ readonly resourceName?: string; /** * Output only. Whether the language is targetable. */ readonly targetable?: boolean; } /** * Data from lead form submissions. */ export interface GoogleAdsSearchads360V23Resources__LeadFormSubmissionData { /** * Output only. AdGroup associated with the submitted lead form. */ readonly adGroup?: string; /** * Output only. AdGroupAd associated with the submitted lead form. */ readonly adGroupAd?: string; /** * Output only. Asset associated with the submitted lead form. */ readonly asset?: string; /** * Output only. Campaign associated with the submitted lead form. */ readonly campaign?: string; /** * Output only. Submission data associated with a custom lead form. */ readonly customLeadFormSubmissionFields?: GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField[]; /** * Output only. Google Click Id associated with the submissed lead form. */ readonly gclid?: string; /** * Output only. ID of this lead form submission. */ readonly id?: string; /** * Output only. Submission data associated with a lead form. */ readonly leadFormSubmissionFields?: GoogleAdsSearchads360V23Resources__LeadFormSubmissionField[]; /** * Output only. The resource name of the lead form submission data. Lead form * submission data resource names have the form: * `customers/{customer_id}/leadFormSubmissionData/{lead_form_submission_data_id}` */ readonly resourceName?: string; /** * Output only. The date and time at which the lead form was submitted. The * format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 * 12:32:45-08:00". */ readonly submissionDateTime?: string; } /** * Fields in the submitted lead form. */ export interface GoogleAdsSearchads360V23Resources__LeadFormSubmissionField { /** * Output only. Field type for lead form fields. */ readonly fieldType?: | "UNSPECIFIED" | "UNKNOWN" | "FULL_NAME" | "EMAIL" | "PHONE_NUMBER" | "POSTAL_CODE" | "STREET_ADDRESS" | "CITY" | "REGION" | "COUNTRY" | "WORK_EMAIL" | "COMPANY_NAME" | "WORK_PHONE" | "JOB_TITLE" | "GOVERNMENT_ISSUED_ID_CPF_BR" | "GOVERNMENT_ISSUED_ID_DNI_AR" | "GOVERNMENT_ISSUED_ID_DNI_PE" | "GOVERNMENT_ISSUED_ID_RUT_CL" | "GOVERNMENT_ISSUED_ID_CC_CO" | "GOVERNMENT_ISSUED_ID_CI_EC" | "GOVERNMENT_ISSUED_ID_RFC_MX" | "FIRST_NAME" | "LAST_NAME" | "VEHICLE_MODEL" | "VEHICLE_TYPE" | "PREFERRED_DEALERSHIP" | "VEHICLE_PURCHASE_TIMELINE" | "VEHICLE_OWNERSHIP" | "VEHICLE_PAYMENT_TYPE" | "VEHICLE_CONDITION" | "COMPANY_SIZE" | "ANNUAL_SALES" | "YEARS_IN_BUSINESS" | "JOB_DEPARTMENT" | "JOB_ROLE" | "OVER_18_AGE" | "OVER_19_AGE" | "OVER_20_AGE" | "OVER_21_AGE" | "OVER_22_AGE" | "OVER_23_AGE" | "OVER_24_AGE" | "OVER_25_AGE" | "OVER_26_AGE" | "OVER_27_AGE" | "OVER_28_AGE" | "OVER_29_AGE" | "OVER_30_AGE" | "OVER_31_AGE" | "OVER_32_AGE" | "OVER_33_AGE" | "OVER_34_AGE" | "OVER_35_AGE" | "OVER_36_AGE" | "OVER_37_AGE" | "OVER_38_AGE" | "OVER_39_AGE" | "OVER_40_AGE" | "OVER_41_AGE" | "OVER_42_AGE" | "OVER_43_AGE" | "OVER_44_AGE" | "OVER_45_AGE" | "OVER_46_AGE" | "OVER_47_AGE" | "OVER_48_AGE" | "OVER_49_AGE" | "OVER_50_AGE" | "OVER_51_AGE" | "OVER_52_AGE" | "OVER_53_AGE" | "OVER_54_AGE" | "OVER_55_AGE" | "OVER_56_AGE" | "OVER_57_AGE" | "OVER_58_AGE" | "OVER_59_AGE" | "OVER_60_AGE" | "OVER_61_AGE" | "OVER_62_AGE" | "OVER_63_AGE" | "OVER_64_AGE" | "OVER_65_AGE" | "EDUCATION_PROGRAM" | "EDUCATION_COURSE" | "PRODUCT" | "SERVICE" | "OFFER" | "CATEGORY" | "PREFERRED_CONTACT_METHOD" | "PREFERRED_LOCATION" | "PREFERRED_CONTACT_TIME" | "PURCHASE_TIMELINE" | "YEARS_OF_EXPERIENCE" | "JOB_INDUSTRY" | "LEVEL_OF_EDUCATION" | "PROPERTY_TYPE" | "REALTOR_HELP_GOAL" | "PROPERTY_COMMUNITY" | "PRICE_RANGE" | "NUMBER_OF_BEDROOMS" | "FURNISHED_PROPERTY" | "PETS_ALLOWED_PROPERTY" | "NEXT_PLANNED_PURCHASE" | "EVENT_SIGNUP_INTEREST" | "PREFERRED_SHOPPING_PLACES" | "FAVORITE_BRAND" | "TRANSPORTATION_COMMERCIAL_LICENSE_TYPE" | "EVENT_BOOKING_INTEREST" | "DESTINATION_COUNTRY" | "DESTINATION_CITY" | "DEPARTURE_COUNTRY" | "DEPARTURE_CITY" | "DEPARTURE_DATE" | "RETURN_DATE" | "NUMBER_OF_TRAVELERS" | "TRAVEL_BUDGET" | "TRAVEL_ACCOMMODATION"; /** * Output only. Field value for lead form fields. */ readonly fieldValue?: string; } /** * specific to a local services license. */ export interface GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact { /** * Output only. The timestamp when this license expires. The format is * "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: * "2018-03-05 09:15:00" or "2018-02-01 14:34:30" */ readonly expirationDateTime?: string; /** * Output only. The readonly field containing the information for an uploaded * license document. */ readonly licenseDocumentReadonly?: GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly; /** * Output only. First name of the licensee. */ readonly licenseeFirstName?: string; /** * Output only. Last name of the licensee. */ readonly licenseeLastName?: string; /** * Output only. License number. */ readonly licenseNumber?: string; /** * Output only. License type / name. */ readonly licenseType?: string; /** * Output only. License rejection reason. */ readonly rejectionReason?: | "UNSPECIFIED" | "UNKNOWN" | "BUSINESS_NAME_MISMATCH" | "UNAUTHORIZED" | "EXPIRED" | "POOR_QUALITY" | "UNVERIFIABLE" | "WRONG_DOCUMENT_OR_ID" | "OTHER"; } /** * A life event: a particular interest-based vertical to be targeted to reach * users when they are in the midst of important life milestones. */ export interface GoogleAdsSearchads360V23Resources__LifeEvent { /** * Output only. Availability information of the life event. */ readonly availabilities?: GoogleAdsSearchads360V23Common__CriterionCategoryAvailability[]; /** * Output only. The ID of the life event. */ readonly id?: bigint; /** * Output only. True if the life event is launched to all channels and * locales. */ readonly launchedToAll?: boolean; /** * Output only. The name of the life event, for example,"Recently Moved" */ readonly name?: string; /** * Output only. The parent of the life_event. */ readonly parent?: string; /** * Output only. The resource name of the life event. Life event resource * names have the form: `customers/{customer_id}/lifeEvents/{life_event_id}` */ readonly resourceName?: string; } /** * Listing dimensions for the asset group listing group filter. */ export interface GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension { /** * Brand of a product offer. */ productBrand?: GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand; /** * Category of a product offer. */ productCategory?: GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory; /** * Locality of a product offer. */ productChannel?: GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel; /** * Condition of a product offer. */ productCondition?: GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition; /** * Custom attribute of a product offer. */ productCustomAttribute?: GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute; /** * Item id of a product offer. */ productItemId?: GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId; /** * Type of a product offer. */ productType?: GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType; /** * Filters for URLs in a page feed and URLs from the advertiser web domain. */ webpage?: GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage; } function serializeGoogleAdsSearchads360V23Resources__ListingGroupFilterDimension(data: any): GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension { return { ...data, productCategory: data["productCategory"] !== undefined ? serializeGoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory(data["productCategory"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__ListingGroupFilterDimension(data: any): GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension { return { ...data, productCategory: data["productCategory"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory(data["productCategory"]) : undefined, }; } /** * The path defining of dimensions defining a listing group filter. */ export interface GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath { /** * Output only. The complete path of dimensions through the listing group * filter hierarchy (excluding the root node) to this listing group filter. */ readonly dimensions?: GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension[]; } /** * A local services employee resource. */ export interface GoogleAdsSearchads360V23Resources__LocalServicesEmployee { /** * Output only. Category of the employee. A list of Local Services category * IDs can be found at * https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids. */ readonly categoryIds?: string[]; /** * Output only. Timestamp of employee creation. The format is "YYYY-MM-DD * HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 * 09:15:00" or "2018-02-01 14:34:30" */ readonly creationDateTime?: string; /** * Output only. Email address of the employee. */ readonly emailAddress?: string; /** * Output only. The institutions where the employee has completed their * fellowship. */ readonly fellowships?: GoogleAdsSearchads360V23Resources__Fellowship[]; /** * Output only. First name of the employee. */ readonly firstName?: string; /** * Output only. The ID of the employee. */ readonly id?: bigint; /** * Output only. Job title for this employee, such as "Senior partner" in * legal verticals. */ readonly jobTitle?: string; /** * Output only. Languages that the employee speaks, represented as language * tags from https://developers.google.com/admin-sdk/directory/v1/languages */ readonly languagesSpoken?: string[]; /** * Output only. Last name of the employee. */ readonly lastName?: string; /** * Output only. Middle name of the employee. */ readonly middleName?: string; /** * Output only. NPI id associated with the employee. */ readonly nationalProviderIdNumber?: string; /** * Output only. The institutions where the employee has completed their * residency. */ readonly residencies?: GoogleAdsSearchads360V23Resources__Residency[]; /** * Immutable. The resource name of the Local Services Verification. Local * Services Verification resource names have the form: * `customers/{customer_id}/localServicesEmployees/{gls_employee_id}` */ resourceName?: string; /** * Output only. Employee status, such as DELETED or ENABLED. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * Output only. Employee type. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "BUSINESS_OWNER" | "EMPLOYEE"; /** * Output only. A list of degrees this employee has obtained, and wants to * feature. */ readonly universityDegrees?: GoogleAdsSearchads360V23Resources__UniversityDegree[]; /** * Output only. The year that this employee started practicing in this field. */ readonly yearStartedPracticing?: number; } /** * Data from Local Services Lead. Contains details of Lead which is generated * when user calls, messages or books service from advertiser. More info: * https://ads.google.com/local-services-ads */ export interface GoogleAdsSearchads360V23Resources__LocalServicesLead { /** * Output only. Service category of the lead. For example: * `xcat:service_area_business_hvac`, * `xcat:service_area_business_real_estate_agent`, etc. For more details see: * https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids */ readonly categoryId?: string; /** * Output only. Lead's contact details. */ readonly contactDetails?: GoogleAdsSearchads360V23Resources__ContactDetails; /** * Output only. The date time at which lead was created by Local Services * Ads. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's * timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" */ readonly creationDateTime?: string; /** * Output only. Credit details of the lead. */ readonly creditDetails?: GoogleAdsSearchads360V23Resources__CreditDetails; /** * Output only. ID of this Lead. */ readonly id?: bigint; /** * Output only. True if the advertiser was charged for the lead. */ readonly leadCharged?: boolean; /** * Output only. True if the advertiser submitted feedback for the lead. */ readonly leadFeedbackSubmitted?: boolean; /** * Output only. Current status of lead. */ readonly leadStatus?: | "UNSPECIFIED" | "UNKNOWN" | "NEW" | "ACTIVE" | "BOOKED" | "DECLINED" | "EXPIRED" | "DISABLED" | "CONSUMER_DECLINED" | "WIPED_OUT"; /** * Output only. Type of Local Services lead: phone, message, booking, etc. */ readonly leadType?: | "UNSPECIFIED" | "UNKNOWN" | "MESSAGE" | "PHONE_CALL" | "BOOKING"; /** * Output only. Language used by the Local Services provider linked to lead. * See https://developers.google.com/google-ads/api/data/codes-formats#locales */ readonly locale?: string; /** * Output only. Note added by advertiser for the lead. */ readonly note?: GoogleAdsSearchads360V23Resources__Note; /** * Immutable. The resource name of the local services lead data. Local * Services Lead resource name have the form * `customers/{customer_id}/localServicesLead/{local_services_lead_id}` */ resourceName?: string; /** * Output only. Service for the category. For example: `buyer_agent`, * `seller_agent` for the category of * `xcat:service_area_business_real_estate_agent`. */ readonly serviceId?: string; } /** * Data from Local Services Lead Conversation. Contains details of Lead * Conversation which is generated when user calls, messages or books service * from advertiser. These are appended to a Lead. More info: * https://ads.google.com/local-services-ads */ export interface GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation { /** * Output only. Type of GLS lead conversation, EMAIL, MESSAGE, PHONE_CALL, * SMS, etc. */ readonly conversationChannel?: | "UNSPECIFIED" | "UNKNOWN" | "EMAIL" | "MESSAGE" | "PHONE_CALL" | "SMS" | "BOOKING" | "WHATSAPP" | "ADS_API"; /** * Output only. The date time at which lead conversation was created by Local * Services Ads. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads * account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 * 14:34:30" */ readonly eventDateTime?: string; /** * Output only. ID of this Lead Conversation. */ readonly id?: bigint; /** * Output only. Resource name of Lead associated to the Lead Conversation. */ readonly lead?: string; /** * Output only. Details of message conversation in case of EMAIL, MESSAGE or * SMS. */ readonly messageDetails?: GoogleAdsSearchads360V23Resources__MessageDetails; /** * Output only. Type of participant in the lead conversation, ADVERTISER or * CONSUMER. */ readonly participantType?: | "UNSPECIFIED" | "UNKNOWN" | "ADVERTISER" | "CONSUMER"; /** * Output only. Details of phone call conversation in case of PHONE_CALL. */ readonly phoneCallDetails?: GoogleAdsSearchads360V23Resources__PhoneCallDetails; /** * Output only. The resource name of the local services lead conversation * data. Local Services Lead Conversation resource name have the form * `customers/{customer_id}/localServicesLeadConversation/{local_services_lead_conversation_id}` */ readonly resourceName?: string; } /** * Settings for Local Services customer. */ export interface GoogleAdsSearchads360V23Resources__LocalServicesSettings { /** * Output only. A read-only list of geo vertical level insurance statuses. */ readonly granularInsuranceStatuses?: GoogleAdsSearchads360V23Resources__GranularInsuranceStatus[]; /** * Output only. A read-only list of geo vertical level license statuses. */ readonly granularLicenseStatuses?: GoogleAdsSearchads360V23Resources__GranularLicenseStatus[]; } /** * A local services verification resource. */ export interface GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact { /** * Output only. The type of the verification artifact. */ readonly artifactType?: | "UNSPECIFIED" | "UNKNOWN" | "BACKGROUND_CHECK" | "INSURANCE" | "LICENSE" | "BUSINESS_REGISTRATION_CHECK"; /** * Output only. A background check verification artifact. */ readonly backgroundCheckVerificationArtifact?: GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact; /** * Output only. A business registration check verification artifact. */ readonly businessRegistrationCheckVerificationArtifact?: GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact; /** * Output only. The timestamp when this verification artifact was created. * The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" */ readonly creationDateTime?: string; /** * Output only. The ID of the verification artifact. */ readonly id?: bigint; /** * Output only. An insurance verification artifact. */ readonly insuranceVerificationArtifact?: GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact; /** * Output only. A license verification artifact. */ readonly licenseVerificationArtifact?: GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact; /** * Immutable. The resource name of the Local Services Verification. Local * Services Verification resource names have the form: * `customers/{customer_id}/localServicesVerificationArtifacts/{verification_artifact_id}` */ resourceName?: string; /** * Output only. The status of the verification artifact. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "PASSED" | "FAILED" | "PENDING" | "NO_SUBMISSION" | "CANCELLED"; } /** * A location interest view summarizes the performance of adgroup location * interest criteria. */ export interface GoogleAdsSearchads360V23Resources__LocationInterestView { /** * Output only. The resource name of the location interest view. Location * interest view resource names have the form: * `customers/{customer_id}/locationInterestViews/{campaign_id}~{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * A location view summarizes the performance of campaigns by a Location * criterion. */ export interface GoogleAdsSearchads360V23Resources__LocationView { /** * Output only. The resource name of the location view. Location view * resource names have the form: * `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}` */ readonly resourceName?: string; } /** * A managed placement view. */ export interface GoogleAdsSearchads360V23Resources__ManagedPlacementView { /** * Output only. The resource name of the Managed Placement view. Managed * placement view resource names have the form: * `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * A view that reports metrics for locations where users showed interest, and * which matched the advertiser's location interest targeting (defined as geo * targets at the AdGroup level). The data is aggregated at the country level by * default. This view is currently only available for AI Max campaigns. */ export interface GoogleAdsSearchads360V23Resources__MatchedLocationInterestView { /** * Output only. The resource name of the matched location interest view. * Matched location interest view resource names have the form: * `customers/{customer_id}/matchedLocationInterestViews/{country_criterion_id}` */ readonly resourceName?: string; } /** * Encapsulates an Audio. */ export interface GoogleAdsSearchads360V23Resources__MediaAudio { /** * Output only. The duration of the Audio in milliseconds. */ readonly adDurationMillis?: bigint; } /** * Represents a ZIP archive media the content of which contains HTML5 assets. */ export interface GoogleAdsSearchads360V23Resources__MediaBundle { /** * Immutable. Raw zipped data. */ data?: Uint8Array; /** * Output only. The url to access the uploaded zipped data. For example, * https://tpc.googlesyndication.com/simgad/123 This field is read-only. */ readonly url?: string; } function serializeGoogleAdsSearchads360V23Resources__MediaBundle(data: any): GoogleAdsSearchads360V23Resources__MediaBundle { return { ...data, data: data["data"] !== undefined ? encodeBase64(data["data"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__MediaBundle(data: any): GoogleAdsSearchads360V23Resources__MediaBundle { return { ...data, data: data["data"] !== undefined ? decodeBase64(data["data"] as string) : undefined, }; } /** * A media file. */ export interface GoogleAdsSearchads360V23Resources__MediaFile { /** * Output only. Encapsulates an Audio. */ readonly audio?: GoogleAdsSearchads360V23Resources__MediaAudio; /** * Output only. The size of the media file in bytes. */ readonly fileSize?: bigint; /** * Output only. The ID of the media file. */ readonly id?: bigint; /** * Immutable. Encapsulates an Image. */ image?: GoogleAdsSearchads360V23Resources__MediaImage; /** * Immutable. A ZIP archive media the content of which contains HTML5 assets. */ mediaBundle?: GoogleAdsSearchads360V23Resources__MediaBundle; /** * Output only. The mime type of the media file. */ readonly mimeType?: | "UNSPECIFIED" | "UNKNOWN" | "IMAGE_JPEG" | "IMAGE_GIF" | "IMAGE_PNG" | "FLASH" | "TEXT_HTML" | "PDF" | "MSWORD" | "MSEXCEL" | "RTF" | "AUDIO_WAV" | "AUDIO_MP3" | "HTML5_AD_ZIP"; /** * Immutable. The name of the media file. The name can be used by clients to * help identify previously uploaded media. */ name?: string; /** * Immutable. The resource name of the media file. Media file resource names * have the form: `customers/{customer_id}/mediaFiles/{media_file_id}` */ resourceName?: string; /** * Immutable. The URL of where the original media file was downloaded from * (or a file name). Only used for media of type AUDIO and IMAGE. */ sourceUrl?: string; /** * Immutable. Type of the media file. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "IMAGE" | "ICON" | "MEDIA_BUNDLE" | "AUDIO" | "VIDEO" | "DYNAMIC_IMAGE"; /** * Immutable. Encapsulates a Video. */ video?: GoogleAdsSearchads360V23Resources__MediaVideo; } function serializeGoogleAdsSearchads360V23Resources__MediaFile(data: any): GoogleAdsSearchads360V23Resources__MediaFile { return { ...data, image: data["image"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__MediaImage(data["image"]) : undefined, mediaBundle: data["mediaBundle"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__MediaBundle(data["mediaBundle"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__MediaFile(data: any): GoogleAdsSearchads360V23Resources__MediaFile { return { ...data, fileSize: data["fileSize"] !== undefined ? BigInt(data["fileSize"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, image: data["image"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__MediaImage(data["image"]) : undefined, mediaBundle: data["mediaBundle"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__MediaBundle(data["mediaBundle"]) : undefined, }; } /** * Encapsulates an Image. */ export interface GoogleAdsSearchads360V23Resources__MediaImage { /** * Immutable. Raw image data. */ data?: Uint8Array; /** * Output only. The url to the full size version of the image. */ readonly fullSizeImageUrl?: string; /** * Output only. The url to the preview size version of the image. */ readonly previewSizeImageUrl?: string; } function serializeGoogleAdsSearchads360V23Resources__MediaImage(data: any): GoogleAdsSearchads360V23Resources__MediaImage { return { ...data, data: data["data"] !== undefined ? encodeBase64(data["data"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__MediaImage(data: any): GoogleAdsSearchads360V23Resources__MediaImage { return { ...data, data: data["data"] !== undefined ? decodeBase64(data["data"] as string) : undefined, }; } /** * Encapsulates a Video. */ export interface GoogleAdsSearchads360V23Resources__MediaVideo { /** * Output only. The duration of the Video in milliseconds. */ readonly adDurationMillis?: bigint; /** * Output only. The Advertising Digital Identification code for this video, * as defined by the American Association of Advertising Agencies, used mainly * for television commercials. */ readonly advertisingIdCode?: string; /** * Output only. The Industry Standard Commercial Identifier code for this * video, used mainly for television commercials. */ readonly isciCode?: string; /** * Immutable. The YouTube video ID (as seen in YouTube URLs). Adding prefix * "https://www.youtube.com/watch?v=" to this ID will get the YouTube * streaming URL for this video. */ youtubeVideoId?: string; } /** * The identifier for Google Merchant Center account */ export interface GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier { /** * Immutable. The customer ID of the Google Merchant Center account. This * field is required and should not be empty when creating a new Merchant * Center link. It is unable to be modified after the creation of the link. */ merchantCenterId?: bigint; } function serializeGoogleAdsSearchads360V23Resources__MerchantCenterIdentifier(data: any): GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier { return { ...data, merchantCenterId: data["merchantCenterId"] !== undefined ? String(data["merchantCenterId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__MerchantCenterIdentifier(data: any): GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier { return { ...data, merchantCenterId: data["merchantCenterId"] !== undefined ? BigInt(data["merchantCenterId"]) : undefined, }; } /** * The identifier for Merchant Center Account. */ export interface GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier { /** * Output only. The Merchant Center id of the Merchant account. This field is * read only */ readonly merchantCenterId?: bigint; } /** * Represents details of text message in case of email, message or SMS. */ export interface GoogleAdsSearchads360V23Resources__MessageDetails { /** * Output only. URL to the SMS or email attachments. These URLs can be used * to download the contents of the attachment by using the developer token. */ readonly attachmentUrls?: string[]; /** * Output only. Textual content of the message. */ readonly text?: string; } /** * A mobile application category constant. */ export interface GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant { /** * Output only. The ID of the mobile app category constant. */ readonly id?: number; /** * Output only. Mobile app category name. */ readonly name?: string; /** * Output only. The resource name of the mobile app category constant. Mobile * app category constant resource names have the form: * `mobileAppCategoryConstants/{mobile_app_category_id}` */ readonly resourceName?: string; } /** * A mobile device constant. */ export interface GoogleAdsSearchads360V23Resources__MobileDeviceConstant { /** * Output only. The ID of the mobile device constant. */ readonly id?: bigint; /** * Output only. The manufacturer of the mobile device. */ readonly manufacturerName?: string; /** * Output only. The name of the mobile device. */ readonly name?: string; /** * Output only. The operating system of the mobile device. */ readonly operatingSystemName?: string; /** * Output only. The resource name of the mobile device constant. Mobile * device constant resource names have the form: * `mobileDeviceConstants/{criterion_id}` */ readonly resourceName?: string; /** * Output only. The type of mobile device. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "MOBILE" | "TABLET"; } /** * Represents a note added to a lead by the advertiser. Advertisers can edit * notes, which will reset edit time and change description. */ export interface GoogleAdsSearchads360V23Resources__Note { /** * Output only. Content of lead note. */ readonly description?: string; /** * Output only. The date time when lead note was edited. The format is * "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: * "2018-03-05 09:15:00" or "2018-02-01 14:34:30" */ readonly editDateTime?: string; } /** * Alert for offline conversion client summary. */ export interface GoogleAdsSearchads360V23Resources__OfflineConversionAlert { /** * Output only. Error for offline conversion client alert. */ readonly error?: GoogleAdsSearchads360V23Resources__OfflineConversionError; /** * Output only. Percentage of the error, the range of this field should be * [0, 1.0]. */ readonly errorPercentage?: number; } /** * Possible errors for offline conversion client summary. */ export interface GoogleAdsSearchads360V23Resources__OfflineConversionError { /** * Output only. Collection size error. */ readonly collectionSizeError?: | "UNSPECIFIED" | "UNKNOWN" | "TOO_FEW" | "TOO_MANY"; /** * Output only. Conversion adjustment upload error. */ readonly conversionAdjustmentUploadError?: | "UNSPECIFIED" | "UNKNOWN" | "TOO_RECENT_CONVERSION_ACTION" | "CONVERSION_ALREADY_RETRACTED" | "CONVERSION_NOT_FOUND" | "CONVERSION_EXPIRED" | "ADJUSTMENT_PRECEDES_CONVERSION" | "MORE_RECENT_RESTATEMENT_FOUND" | "TOO_RECENT_CONVERSION" | "CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE" | "TOO_MANY_ADJUSTMENTS_IN_REQUEST" | "TOO_MANY_ADJUSTMENTS" | "RESTATEMENT_ALREADY_EXISTS" | "DUPLICATE_ADJUSTMENT_IN_REQUEST" | "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS" | "CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT" | "INVALID_USER_IDENTIFIER" | "UNSUPPORTED_USER_IDENTIFIER" | "GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET" | "CONVERSION_ALREADY_ENHANCED" | "DUPLICATE_ENHANCEMENT_IN_REQUEST" | "CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT" | "MISSING_ORDER_ID_FOR_WEBPAGE" | "ORDER_ID_CONTAINS_PII" | "INVALID_JOB_ID" | "NO_CONVERSION_ACTION_FOUND" | "INVALID_CONVERSION_ACTION_TYPE"; /** * Output only. Conversion upload error. */ readonly conversionUploadError?: | "UNSPECIFIED" | "UNKNOWN" | "TOO_MANY_CONVERSIONS_IN_REQUEST" | "UNPARSEABLE_GCLID" | "CONVERSION_PRECEDES_EVENT" | "EXPIRED_EVENT" | "TOO_RECENT_EVENT" | "EVENT_NOT_FOUND" | "UNAUTHORIZED_CUSTOMER" | "TOO_RECENT_CONVERSION_ACTION" | "CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME" | "EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION" | "EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION" | "ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION" | "ORDER_ID_ALREADY_IN_USE" | "DUPLICATE_ORDER_ID" | "TOO_RECENT_CALL" | "EXPIRED_CALL" | "CALL_NOT_FOUND" | "CONVERSION_PRECEDES_CALL" | "CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME" | "UNPARSEABLE_CALLERS_PHONE_NUMBER" | "CLICK_CONVERSION_ALREADY_EXISTS" | "CALL_CONVERSION_ALREADY_EXISTS" | "DUPLICATE_CLICK_CONVERSION_IN_REQUEST" | "DUPLICATE_CALL_CONVERSION_IN_REQUEST" | "CUSTOM_VARIABLE_NOT_ENABLED" | "CUSTOM_VARIABLE_VALUE_CONTAINS_PII" | "INVALID_CUSTOMER_FOR_CLICK" | "INVALID_CUSTOMER_FOR_CALL" | "CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY" | "CLICK_NOT_FOUND" | "INVALID_USER_IDENTIFIER" | "EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER" | "UNSUPPORTED_USER_IDENTIFIER" | "GBRAID_WBRAID_BOTH_SET" | "UNPARSEABLE_WBRAID" | "UNPARSEABLE_GBRAID" | "ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID" | "CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS" | "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS" | "ORDER_ID_CONTAINS_PII" | "CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS" | "INVALID_JOB_ID" | "NO_CONVERSION_ACTION_FOUND" | "INVALID_CONVERSION_ACTION_TYPE"; /** * Output only. Date error. */ readonly dateError?: | "UNSPECIFIED" | "UNKNOWN" | "INVALID_FIELD_VALUES_IN_DATE" | "INVALID_FIELD_VALUES_IN_DATE_TIME" | "INVALID_STRING_DATE" | "INVALID_STRING_DATE_TIME_MICROS" | "INVALID_STRING_DATE_TIME_SECONDS" | "INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET" | "EARLIER_THAN_MINIMUM_DATE" | "LATER_THAN_MAXIMUM_DATE" | "DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE" | "DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL" | "DATE_RANGE_ERROR_START_TIME_MUST_BE_THE_START_OF_A_DAY" | "DATE_RANGE_ERROR_END_TIME_MUST_BE_THE_END_OF_A_DAY"; /** * Output only. Distinct error. */ readonly distinctError?: | "UNSPECIFIED" | "UNKNOWN" | "DUPLICATE_ELEMENT" | "DUPLICATE_TYPE"; /** * Output only. Field error. */ readonly fieldError?: | "UNSPECIFIED" | "UNKNOWN" | "REQUIRED" | "IMMUTABLE_FIELD" | "INVALID_VALUE" | "VALUE_MUST_BE_UNSET" | "REQUIRED_NONEMPTY_LIST" | "FIELD_CANNOT_BE_CLEARED" | "BLOCKED_VALUE" | "FIELD_CAN_ONLY_BE_CLEARED"; /** * Output only. Mutate error. */ readonly mutateError?: | "UNSPECIFIED" | "UNKNOWN" | "RESOURCE_NOT_FOUND" | "ID_EXISTS_IN_MULTIPLE_MUTATES" | "INCONSISTENT_FIELD_VALUES" | "MUTATE_NOT_ALLOWED" | "RESOURCE_NOT_IN_GOOGLE_ADS" | "RESOURCE_ALREADY_EXISTS" | "RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY" | "OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE" | "RESOURCE_READ_ONLY" | "EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED"; /** * Output only. Not allowlisted error. */ readonly notAllowlistedError?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE"; /** * Output only. String format error. */ readonly stringFormatError?: | "UNSPECIFIED" | "UNKNOWN" | "ILLEGAL_CHARS" | "INVALID_FORMAT"; /** * Output only. String length error. */ readonly stringLengthError?: | "UNSPECIFIED" | "UNKNOWN" | "EMPTY" | "TOO_SHORT" | "TOO_LONG"; } /** * Historical upload summary, grouped by upload date or job. */ export interface GoogleAdsSearchads360V23Resources__OfflineConversionSummary { /** * Output only. Total count of failed event. */ readonly failedCount?: bigint; /** * Output only. Dimension key for last N jobs. */ readonly jobId?: bigint; /** * Output only. Total count of pending uploaded event. */ readonly pendingCount?: bigint; /** * Output only. Total count of successful event. */ readonly successfulCount?: bigint; /** * Output only. Dimension key for last N days. */ readonly uploadDate?: string; } /** * Offline conversion upload summary at customer level. */ export interface GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary { /** * Output only. Details for each error code. Alerts are generated from most * recent calendar day with upload stats. */ readonly alerts?: GoogleAdsSearchads360V23Resources__OfflineConversionAlert[]; /** * Output only. Client type of the upload event. */ readonly client?: | "UNSPECIFIED" | "UNKNOWN" | "GOOGLE_ADS_API" | "GOOGLE_ADS_WEB_CLIENT" | "ADS_DATA_CONNECTOR"; /** * Output only. Summary of history stats by last N days. */ readonly dailySummaries?: GoogleAdsSearchads360V23Resources__OfflineConversionSummary[]; /** * Output only. Summary of history stats by last N jobs. */ readonly jobSummaries?: GoogleAdsSearchads360V23Resources__OfflineConversionSummary[]; /** * Output only. Date for the latest upload batch. The format is "yyyy-mm-dd * hh:mm:ss", and it's in the time zone of the Google Ads account. */ readonly lastUploadDateTime?: string; /** * Output only. Total count of pending uploaded events. */ readonly pendingEventCount?: bigint; /** * Output only. The ratio of total pending events to total events. */ readonly pendingRate?: number; /** * Output only. The resource name of the offline conversion upload summary at * customer level. Offline conversion upload client summary resource names * have the form: * `customers/{customer_id}/offlineConversionUploadClientSummaries/{client}` */ readonly resourceName?: string; /** * Output only. Overall status for offline conversion client summary. Status * is generated from most recent calendar day with upload stats. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "EXCELLENT" | "GOOD" | "NEEDS_ATTENTION" | "NO_RECENT_UPLOAD"; /** * Output only. Total count of successful uploaded events. */ readonly successfulEventCount?: bigint; /** * Output only. Successful rate. */ readonly successRate?: number; /** * Output only. Total count of uploaded events. */ readonly totalEventCount?: bigint; } /** * Offline conversion upload summary at conversion action level. */ export interface GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary { /** * Output only. Details for each error code. Alerts are generated from most * recent calendar day with upload stats. */ readonly alerts?: GoogleAdsSearchads360V23Resources__OfflineConversionAlert[]; /** * Output only. Client type of the upload event. */ readonly client?: | "UNSPECIFIED" | "UNKNOWN" | "GOOGLE_ADS_API" | "GOOGLE_ADS_WEB_CLIENT" | "ADS_DATA_CONNECTOR"; /** * Output only. Conversion action id. */ readonly conversionActionId?: bigint; /** * Output only. The name of the conversion action. */ readonly conversionActionName?: string; /** * Output only. Summary of history stats by last N days. */ readonly dailySummaries?: GoogleAdsSearchads360V23Resources__OfflineConversionSummary[]; /** * Output only. Summary of history stats by last N jobs. */ readonly jobSummaries?: GoogleAdsSearchads360V23Resources__OfflineConversionSummary[]; /** * Output only. Date for the latest upload batch. The format is "yyyy-mm-dd * hh:mm:ss", and it's in the time zone of the Google Ads account. */ readonly lastUploadDateTime?: string; /** * Output only. Total count of pending uploaded events. */ readonly pendingEventCount?: bigint; /** * Output only. The resource name of the offline conversion upload summary at * conversion action level. Offline conversion upload conversion action * summary resource names have the form: * `customers/{customer_id}/offlineConversionUploadConversionActionSummaries/{conversion_action_id}~{client}` */ readonly resourceName?: string; /** * Output only. Overall status for offline conversion upload conversion * action summary. Status is generated from most recent calendar day with * upload stats. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "EXCELLENT" | "GOOD" | "NEEDS_ATTENTION" | "NO_RECENT_UPLOAD"; /** * Output only. Total count of successful uploaded events. */ readonly successfulEventCount?: bigint; /** * Output only. Total count of uploaded events. */ readonly totalEventCount?: bigint; } /** * A job containing offline user data of store visitors, or user list members * that will be processed asynchronously. The uploaded data isn't readable and * the processing results of the job can only be read using */ export interface GoogleAdsSearchads360V23Resources__OfflineUserDataJob { /** * Immutable. Metadata for data updates to a CRM-based user list. */ customerMatchUserListMetadata?: GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata; /** * Immutable. User specified job ID. */ externalId?: bigint; /** * Output only. Reason for the processing failure, if status is FAILED. */ readonly failureReason?: | "UNSPECIFIED" | "UNKNOWN" | "INSUFFICIENT_MATCHED_TRANSACTIONS" | "INSUFFICIENT_TRANSACTIONS" | "HIGH_AVERAGE_TRANSACTION_VALUE" | "LOW_AVERAGE_TRANSACTION_VALUE" | "NEWLY_OBSERVED_CURRENCY_CODE"; /** * Output only. ID of this offline user data job. */ readonly id?: bigint; /** * Output only. Metadata of offline user data job depicting match rate range. */ readonly operationMetadata?: GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata; /** * Immutable. The resource name of the offline user data job. Offline user * data job resource names have the form: * `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}` */ resourceName?: string; /** * Output only. Status of the job. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "RUNNING" | "SUCCESS" | "FAILED"; /** * Immutable. Metadata for store sales data update. */ storeSalesMetadata?: GoogleAdsSearchads360V23Common__StoreSalesMetadata; /** * Immutable. Type of the job. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "STORE_SALES_UPLOAD_FIRST_PARTY" | "STORE_SALES_UPLOAD_THIRD_PARTY" | "CUSTOMER_MATCH_USER_LIST" | "CUSTOMER_MATCH_WITH_ATTRIBUTES"; } function serializeGoogleAdsSearchads360V23Resources__OfflineUserDataJob(data: any): GoogleAdsSearchads360V23Resources__OfflineUserDataJob { return { ...data, externalId: data["externalId"] !== undefined ? String(data["externalId"]) : undefined, storeSalesMetadata: data["storeSalesMetadata"] !== undefined ? serializeGoogleAdsSearchads360V23Common__StoreSalesMetadata(data["storeSalesMetadata"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__OfflineUserDataJob(data: any): GoogleAdsSearchads360V23Resources__OfflineUserDataJob { return { ...data, externalId: data["externalId"] !== undefined ? BigInt(data["externalId"]) : undefined, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, storeSalesMetadata: data["storeSalesMetadata"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__StoreSalesMetadata(data["storeSalesMetadata"]) : undefined, }; } /** * Metadata of offline user data job. */ export interface GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata { /** * Output only. Match rate of the Customer Match user list upload. Describes * the estimated match rate when the status of the job is "RUNNING" and final * match rate when the final match rate is available after the status of the * job is "SUCCESS/FAILED". */ readonly matchRateRange?: | "UNSPECIFIED" | "UNKNOWN" | "MATCH_RANGE_LESS_THAN_20" | "MATCH_RANGE_20_TO_30" | "MATCH_RANGE_31_TO_40" | "MATCH_RANGE_41_TO_50" | "MATCH_RANGE_51_TO_60" | "MATCH_RANGE_61_TO_70" | "MATCH_RANGE_71_TO_80" | "MATCH_RANGE_81_TO_90" | "MATCH_RANGE_91_TO_100"; } /** * A mobile operating system version or a range of versions, depending on * `operator_type`. List of available mobile platforms at * https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms */ export interface GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant { /** * Output only. The ID of the operating system version. */ readonly id?: bigint; /** * Output only. Name of the operating system. */ readonly name?: string; /** * Output only. Determines whether this constant represents a single version * or a range of versions. */ readonly operatorType?: | "UNSPECIFIED" | "UNKNOWN" | "EQUALS_TO" | "GREATER_THAN_EQUALS_TO"; /** * Output only. The OS Major Version number. */ readonly osMajorVersion?: number; /** * Output only. The OS Minor Version number. */ readonly osMinorVersion?: number; /** * Output only. The resource name of the operating system version constant. * Operating system version constant resource names have the form: * `operatingSystemVersionConstants/{criterion_id}` */ readonly resourceName?: string; } /** * A paid organic search term view providing a view of search stats across ads * and organic listings aggregated by search term at the ad group level. */ export interface GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView { /** * Output only. The resource name of the search term view. Search term view * resource names have the form: * `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~ * {ad_group_id}~{URL-base64 search term}` */ readonly resourceName?: string; /** * Output only. The search term. */ readonly searchTerm?: string; } /** * A parental status view. */ export interface GoogleAdsSearchads360V23Resources__ParentalStatusView { /** * Output only. The resource name of the parental status view. Parental * Status view resource names have the form: * `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * A payments account, which can be used to set up billing for an Ads customer. */ export interface GoogleAdsSearchads360V23Resources__PaymentsAccount { /** * Output only. The currency code of the payments account. A subset of the * currency codes derived from the ISO 4217 standard is supported. */ readonly currencyCode?: string; /** * Output only. The name of the payments account. */ readonly name?: string; /** * Output only. Paying manager of this payment account. */ readonly payingManagerCustomer?: string; /** * Output only. A 16 digit ID used to identify a payments account. */ readonly paymentsAccountId?: string; /** * Output only. A 12 digit ID used to identify the payments profile * associated with the payments account. */ readonly paymentsProfileId?: string; /** * Output only. The resource name of the payments account. PaymentsAccount * resource names have the form: * `customers/{customer_id}/paymentsAccounts/{payments_account_id}` */ readonly resourceName?: string; /** * Output only. A secondary payments profile ID present in uncommon * situations, for example, when a sequential liability agreement has been * arranged. */ readonly secondaryPaymentsProfileId?: string; } /** * A view with impression metrics for Performance Max campaign placements. */ export interface GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView { /** * Output only. The name displayed to represent the placement, such as the * URL name for websites, YouTube video name for YouTube videos, and * translated mobile app name for mobile apps. */ readonly displayName?: string; /** * Output only. The default placement string, such as the website URL, mobile * application ID, or a YouTube video ID. */ readonly placement?: string; /** * Output only. Type of the placement. Possible values for Performance Max * placements are WEBSITE, MOBILE_APPLICATION, or YOUTUBE_VIDEO. */ readonly placementType?: | "UNSPECIFIED" | "UNKNOWN" | "WEBSITE" | "MOBILE_APP_CATEGORY" | "MOBILE_APPLICATION" | "YOUTUBE_VIDEO" | "YOUTUBE_CHANNEL" | "GOOGLE_PRODUCTS"; /** * Output only. The resource name of the Performance Max placement view. * Performance Max placement view resource names have the form: * `customers/{customer_id}/performanceMaxPlacementViews/{base_64_placement}` */ readonly resourceName?: string; /** * Output only. URL of the placement, for example, website, link to the * mobile application in app store, or a YouTube video URL. */ readonly targetUrl?: string; } /** * A per store view. This view provides per store impression reach and local * action conversion stats for advertisers. */ export interface GoogleAdsSearchads360V23Resources__PerStoreView { /** * Output only. First line of the store's address. */ readonly address1?: string; /** * Output only. Second line of the store's address. */ readonly address2?: string; /** * Output only. The name of the business. */ readonly businessName?: string; /** * Output only. The city where the store is located. */ readonly city?: string; /** * Output only. The two-letter country code for the store's location (e.g., * "US"). */ readonly countryCode?: string; /** * Output only. The phone number of the store. */ readonly phoneNumber?: string; /** * Output only. The place ID of the per store view. */ readonly placeId?: string; /** * Output only. The postal code of the store's address. */ readonly postalCode?: string; /** * Output only. The province or state of the store's address. */ readonly province?: string; /** * Output only. The resource name of the per store view. Per Store view * resource names have the form: * `customers/{customer_id}/perStoreViews/{place_id}` */ readonly resourceName?: string; } /** * Represents details of a phone call conversation. */ export interface GoogleAdsSearchads360V23Resources__PhoneCallDetails { /** * Output only. The duration (in milliseconds) of the phone call (end to * end). */ readonly callDurationMillis?: bigint; /** * Output only. URL to the call recording audio file. */ readonly callRecordingUrl?: string; } /** * A Product Category. */ export interface GoogleAdsSearchads360V23Resources__ProductCategoryConstant { /** * Output only. The ID of the product category. This ID is equivalent to the * google_product_category ID as described in this article: * https://support.google.com/merchants/answer/6324436. */ readonly categoryId?: bigint; /** * Output only. Level of the product category. */ readonly level?: | "UNSPECIFIED" | "UNKNOWN" | "LEVEL1" | "LEVEL2" | "LEVEL3" | "LEVEL4" | "LEVEL5"; /** * Output only. List of all available localizations of the product category. */ readonly localizations?: GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization[]; /** * Output only. Resource name of the parent product category. */ readonly productCategoryConstantParent?: string; /** * Output only. The resource name of the product category. Product category * resource names have the form: * `productCategoryConstants/{level}~{category_id}` */ readonly resourceName?: string; /** * Output only. State of the product category. */ readonly state?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "OBSOLETE"; } /** * A product group view. */ export interface GoogleAdsSearchads360V23Resources__ProductGroupView { /** * Output only. The resource name of the product group view. Product group * view resource names have the form: * `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * Represents the data sharing connection between */ export interface GoogleAdsSearchads360V23Resources__ProductLink { /** * Output only. Advertising Partner link. */ readonly advertisingPartner?: GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier; /** * Immutable. Data partner link. */ dataPartner?: GoogleAdsSearchads360V23Resources__DataPartnerIdentifier; /** * Immutable. Google Ads link. */ googleAds?: GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier; /** * Immutable. Google Merchant Center link. */ merchantCenter?: GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier; /** * Output only. The ID of the link. This field is read only. */ readonly productLinkId?: bigint; /** * Immutable. Resource name of the product link. ProductLink resource names * have the form: ` ` */ resourceName?: string; /** * Output only. The type of the linked product. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "DATA_PARTNER" | "GOOGLE_ADS" | "HOTEL_CENTER" | "MERCHANT_CENTER" | "ADVERTISING_PARTNER"; } function serializeGoogleAdsSearchads360V23Resources__ProductLink(data: any): GoogleAdsSearchads360V23Resources__ProductLink { return { ...data, dataPartner: data["dataPartner"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__DataPartnerIdentifier(data["dataPartner"]) : undefined, merchantCenter: data["merchantCenter"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__MerchantCenterIdentifier(data["merchantCenter"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__ProductLink(data: any): GoogleAdsSearchads360V23Resources__ProductLink { return { ...data, dataPartner: data["dataPartner"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__DataPartnerIdentifier(data["dataPartner"]) : undefined, merchantCenter: data["merchantCenter"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__MerchantCenterIdentifier(data["merchantCenter"]) : undefined, productLinkId: data["productLinkId"] !== undefined ? BigInt(data["productLinkId"]) : undefined, }; } /** * Represents an invitation for data sharing connection between a Google Ads * account and another account. */ export interface GoogleAdsSearchads360V23Resources__ProductLinkInvitation { /** * Output only. Advertising Partner link invitation. */ readonly advertisingPartner?: GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier; /** * Output only. Hotel link invitation. */ readonly hotelCenter?: GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier; /** * Output only. Merchant Center link invitation. */ readonly merchantCenter?: GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier; /** * Output only. The ID of the product link invitation. This field is read * only. */ readonly productLinkInvitationId?: bigint; /** * Immutable. The resource name of a product link invitation. Product link * invitation resource names have the form: * `customers/{customer_id}/productLinkInvitations/{product_link_invitation_id}` */ resourceName?: string; /** * Output only. The status of the product link invitation. This field is read * only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ACCEPTED" | "REQUESTED" | "PENDING_APPROVAL" | "REVOKED" | "REJECTED" | "EXPIRED"; /** * Output only. The type of the invited account. This field is read only and * can be used for filtering invitations with {@code * GoogleAdsService.SearchGoogleAdsRequest}. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "DATA_PARTNER" | "GOOGLE_ADS" | "HOTEL_CENTER" | "MERCHANT_CENTER" | "ADVERTISING_PARTNER"; } /** * Qualifying Questions for Lead Form. */ export interface GoogleAdsSearchads360V23Resources__QualifyingQuestion { /** * Output only. The locale of the qualifying question. */ readonly locale?: string; /** * Output only. The id of the qualifying question. */ readonly qualifyingQuestionId?: bigint; /** * Output only. The resource name of the qualifying question. * 'qualifyingQuestions/{qualifyingQuestionId}' */ readonly resourceName?: string; /** * Output only. The qualifying question. */ readonly text?: string; } /** * A recommendation. */ export interface GoogleAdsSearchads360V23Resources__Recommendation { /** * Output only. The ad group targeted by this recommendation. This will be * set only when the recommendation affects a single ad group. This field will * be set for the following recommendation types: KEYWORD, * OPTIMIZE_AD_ROTATION, TEXT_AD */ readonly adGroup?: string; /** * Output only. The call asset recommendation. */ readonly callAssetRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation; /** * Output only. The callout asset recommendation. */ readonly calloutAssetRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation; /** * Output only. The campaign targeted by this recommendation. This field will * be set for the following recommendation types: CALL_EXTENSION, * CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, KEYWORD_MATCH_TYPE, * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, * SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, TARGET_CPA_OPT_IN, * TARGET_ROAS_OPT_IN, TEXT_AD, */ readonly campaign?: string; /** * Output only. The budget targeted by this recommendation. This will be set * only when the recommendation affects a single campaign budget. This field * will be set for the following recommendation types: CAMPAIGN_BUDGET, * FORECASTING_CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET */ readonly campaignBudget?: string; /** * Output only. The campaign budget recommendation. */ readonly campaignBudgetRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation; /** * Output only. The campaigns targeted by this recommendation. This field * will be set for the following recommendation types: CAMPAIGN_BUDGET, * FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET and * MOVE_UNUSED_BUDGET */ readonly campaigns?: string[]; /** * Output only. The custom audience opt in recommendation. */ readonly customAudienceOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation; /** * Output only. Whether the recommendation is dismissed or not. */ readonly dismissed?: boolean; /** * Output only. The Display Expansion opt-in recommendation. */ readonly displayExpansionOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation; /** * Output only. Recommendation to enable dynamic image extensions on the * account, allowing Google to find the best images from ad landing pages and * complement text ads. */ readonly dynamicImageExtensionOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation; /** * Output only. The Enhanced Cost-Per-Click Opt-In recommendation. */ readonly enhancedCpcOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation; /** * Output only. The forecasting campaign budget recommendation. */ readonly forecastingCampaignBudgetRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation; /** * Output only. The forecasting set target CPA recommendation. */ readonly forecastingSetTargetCpaRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation; /** * Output only. The forecasting set target ROAS recommendation. */ readonly forecastingSetTargetRoasRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation; /** * Output only. The impact on account performance as a result of applying the * recommendation. */ readonly impact?: GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact; /** * Output only. The improve Demand Gen ad strength recommendation. */ readonly improveDemandGenAdStrengthRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation; /** * Output only. Recommendation to deploy Google Tag on more pages. */ readonly improveGoogleTagCoverageRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation; /** * Output only. The improve Performance Max ad strength recommendation. */ readonly improvePerformanceMaxAdStrengthRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation; /** * Output only. The keyword match type recommendation. */ readonly keywordMatchTypeRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation; /** * Output only. The keyword recommendation. */ readonly keywordRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation; /** * Output only. The lead form asset recommendation. */ readonly leadFormAssetRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation; /** * Output only. Recommendation to lower Target ROAS. */ readonly lowerTargetRoasRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation; /** * Output only. The marginal ROI campaign budget recommendation. */ readonly marginalRoiCampaignBudgetRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation; /** * Output only. The MaximizeClicks Opt-In recommendation. */ readonly maximizeClicksOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation; /** * Output only. The MaximizeConversions Opt-In recommendation. */ readonly maximizeConversionsOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation; /** * Output only. The Maximize Conversion Value opt-in recommendation. */ readonly maximizeConversionValueOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation; /** * Output only. The Dynamic Search Ads to Performance Max migration * recommendation. */ readonly migrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation; /** * Output only. The move unused budget recommendation. */ readonly moveUnusedBudgetRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation; /** * Output only. The Optimize Ad Rotation recommendation. */ readonly optimizeAdRotationRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation; /** * Output only. Recommendation to turn on Final URL expansion for your * Performance Max campaigns. */ readonly performanceMaxFinalUrlOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation; /** * Output only. The Performance Max Opt In recommendation. */ readonly performanceMaxOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation; /** * Output only. The raise target CPA bid too low recommendation. */ readonly raiseTargetCpaBidTooLowRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation; /** * Output only. Recommendation to raise Target CPA. */ readonly raiseTargetCpaRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation; /** * Output only. The refresh customer list recommendation. */ readonly refreshCustomerMatchListRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation; /** * Immutable. The resource name of the recommendation. * `customers/{customer_id}/recommendations/{recommendation_id}` */ resourceName?: string; /** * Output only. The responsive search ad asset recommendation. */ readonly responsiveSearchAdAssetRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation; /** * Output only. The responsive search ad improve ad strength recommendation. */ readonly responsiveSearchAdImproveAdStrengthRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation; /** * Output only. The add responsive search ad recommendation. */ readonly responsiveSearchAdRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation; /** * Output only. The Search Partners Opt-In recommendation. */ readonly searchPartnersOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation; /** * Output only. The set target CPA recommendation. */ readonly setTargetCpaRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation; /** * Output only. The set target ROAS recommendation. */ readonly setTargetRoasRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation; /** * Output only. The shopping add age group recommendation. */ readonly shoppingAddAgeGroupRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; /** * Output only. The shopping add color recommendation. */ readonly shoppingAddColorRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; /** * Output only. The shopping add gender recommendation. */ readonly shoppingAddGenderRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; /** * Output only. The shopping add GTIN recommendation. */ readonly shoppingAddGtinRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; /** * Output only. The shopping add more identifiers recommendation. */ readonly shoppingAddMoreIdentifiersRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; /** * Output only. The shopping add products to campaign recommendation. */ readonly shoppingAddProductsToCampaignRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation; /** * Output only. The shopping add size recommendation. */ readonly shoppingAddSizeRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; /** * Output only. The shopping fix disapproved products recommendation. */ readonly shoppingFixDisapprovedProductsRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation; /** * Output only. The shopping fix Merchant Center account suspension warning * recommendation. */ readonly shoppingFixMerchantCenterAccountSuspensionWarningRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation; /** * Output only. The shopping fix suspended Merchant Center account * recommendation. */ readonly shoppingFixSuspendedMerchantCenterAccountRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation; /** * Output only. The shopping migrate Regular Shopping Campaign offers to * Performance Max recommendation. */ readonly shoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation; /** * Output only. The shopping target all offers recommendation. */ readonly shoppingTargetAllOffersRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation; /** * Output only. The sitelink asset recommendation. */ readonly sitelinkAssetRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation; /** * Output only. The TargetCPA opt-in recommendation. */ readonly targetCpaOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation; /** * Output only. The Target ROAS opt-in recommendation. */ readonly targetRoasOptInRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation; /** * Output only. Add expanded text ad recommendation. */ readonly textAdRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation; /** * Output only. The type of recommendation. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_BUDGET" | "KEYWORD" | "TEXT_AD" | "TARGET_CPA_OPT_IN" | "MAXIMIZE_CONVERSIONS_OPT_IN" | "ENHANCED_CPC_OPT_IN" | "SEARCH_PARTNERS_OPT_IN" | "MAXIMIZE_CLICKS_OPT_IN" | "OPTIMIZE_AD_ROTATION" | "KEYWORD_MATCH_TYPE" | "MOVE_UNUSED_BUDGET" | "FORECASTING_CAMPAIGN_BUDGET" | "TARGET_ROAS_OPT_IN" | "RESPONSIVE_SEARCH_AD" | "MARGINAL_ROI_CAMPAIGN_BUDGET" | "USE_BROAD_MATCH_KEYWORD" | "RESPONSIVE_SEARCH_AD_ASSET" | "UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX" | "RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH" | "DISPLAY_EXPANSION_OPT_IN" | "UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX" | "RAISE_TARGET_CPA_BID_TOO_LOW" | "FORECASTING_SET_TARGET_ROAS" | "CALLOUT_ASSET" | "SITELINK_ASSET" | "CALL_ASSET" | "SHOPPING_ADD_AGE_GROUP" | "SHOPPING_ADD_COLOR" | "SHOPPING_ADD_GENDER" | "SHOPPING_ADD_GTIN" | "SHOPPING_ADD_MORE_IDENTIFIERS" | "SHOPPING_ADD_SIZE" | "SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN" | "SHOPPING_FIX_DISAPPROVED_PRODUCTS" | "SHOPPING_TARGET_ALL_OFFERS" | "SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT" | "SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING" | "SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX" | "DYNAMIC_IMAGE_EXTENSION_OPT_IN" | "RAISE_TARGET_CPA" | "LOWER_TARGET_ROAS" | "PERFORMANCE_MAX_OPT_IN" | "IMPROVE_PERFORMANCE_MAX_AD_STRENGTH" | "MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX" | "FORECASTING_SET_TARGET_CPA" | "SET_TARGET_CPA" | "SET_TARGET_ROAS" | "MAXIMIZE_CONVERSION_VALUE_OPT_IN" | "IMPROVE_GOOGLE_TAG_COVERAGE" | "PERFORMANCE_MAX_FINAL_URL_OPT_IN" | "REFRESH_CUSTOMER_MATCH_LIST" | "CUSTOM_AUDIENCE_OPT_IN" | "LEAD_FORM_ASSET" | "IMPROVE_DEMAND_GEN_AD_STRENGTH"; /** * Output only. The upgrade a Local campaign to a Performance Max campaign * recommendation. */ readonly upgradeLocalCampaignToPerformanceMaxRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation; /** * Output only. The upgrade a Smart Shopping campaign to a Performance Max * campaign recommendation. */ readonly upgradeSmartShoppingCampaignToPerformanceMaxRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation; /** * Output only. The use broad match keyword recommendation. */ readonly useBroadMatchKeywordRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation; } /** * Recommendation Subscription resource */ export interface GoogleAdsSearchads360V23Resources__RecommendationSubscription { /** * Output only. Time in seconds when the subscription was first created. The * datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" * format. */ readonly createDateTime?: string; /** * Output only. Contains the time in microseconds, when the Recommendation * Subscription was last updated. The datetime is in the customer's time zone * and in "yyyy-MM-dd HH:mm:ss.ssssss" format. */ readonly modifyDateTime?: string; /** * Immutable. The resource name of the recommendation subscription. * `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}` */ resourceName?: string; /** * Required. Status of the subscription, either enabled or paused. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "PAUSED"; /** * Required. Immutable. The type of recommendation subscribed to. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_BUDGET" | "KEYWORD" | "TEXT_AD" | "TARGET_CPA_OPT_IN" | "MAXIMIZE_CONVERSIONS_OPT_IN" | "ENHANCED_CPC_OPT_IN" | "SEARCH_PARTNERS_OPT_IN" | "MAXIMIZE_CLICKS_OPT_IN" | "OPTIMIZE_AD_ROTATION" | "KEYWORD_MATCH_TYPE" | "MOVE_UNUSED_BUDGET" | "FORECASTING_CAMPAIGN_BUDGET" | "TARGET_ROAS_OPT_IN" | "RESPONSIVE_SEARCH_AD" | "MARGINAL_ROI_CAMPAIGN_BUDGET" | "USE_BROAD_MATCH_KEYWORD" | "RESPONSIVE_SEARCH_AD_ASSET" | "UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX" | "RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH" | "DISPLAY_EXPANSION_OPT_IN" | "UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX" | "RAISE_TARGET_CPA_BID_TOO_LOW" | "FORECASTING_SET_TARGET_ROAS" | "CALLOUT_ASSET" | "SITELINK_ASSET" | "CALL_ASSET" | "SHOPPING_ADD_AGE_GROUP" | "SHOPPING_ADD_COLOR" | "SHOPPING_ADD_GENDER" | "SHOPPING_ADD_GTIN" | "SHOPPING_ADD_MORE_IDENTIFIERS" | "SHOPPING_ADD_SIZE" | "SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN" | "SHOPPING_FIX_DISAPPROVED_PRODUCTS" | "SHOPPING_TARGET_ALL_OFFERS" | "SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT" | "SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING" | "SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX" | "DYNAMIC_IMAGE_EXTENSION_OPT_IN" | "RAISE_TARGET_CPA" | "LOWER_TARGET_ROAS" | "PERFORMANCE_MAX_OPT_IN" | "IMPROVE_PERFORMANCE_MAX_AD_STRENGTH" | "MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX" | "FORECASTING_SET_TARGET_CPA" | "SET_TARGET_CPA" | "SET_TARGET_ROAS" | "MAXIMIZE_CONVERSION_VALUE_OPT_IN" | "IMPROVE_GOOGLE_TAG_COVERAGE" | "PERFORMANCE_MAX_FINAL_URL_OPT_IN" | "REFRESH_CUSTOMER_MATCH_LIST" | "CUSTOM_AUDIENCE_OPT_IN" | "LEAD_FORM_ASSET" | "IMPROVE_DEMAND_GEN_AD_STRENGTH"; } /** * A remarketing action. A snippet of JavaScript code that will collect the * product id and the type of page people visited (product page, shopping cart * page, purchase page, general site visit) on an advertiser's website. */ export interface GoogleAdsSearchads360V23Resources__RemarketingAction { /** * Output only. Id of the remarketing action. */ readonly id?: bigint; /** * The name of the remarketing action. This field is required and should not * be empty when creating new remarketing actions. */ name?: string; /** * Immutable. The resource name of the remarketing action. Remarketing action * resource names have the form: * `customers/{customer_id}/remarketingActions/{remarketing_action_id}` */ resourceName?: string; /** * Output only. The snippets used for tracking remarketing actions. */ readonly tagSnippets?: GoogleAdsSearchads360V23Common__TagSnippet[]; } /** * Remarketing setting for a customer. */ export interface GoogleAdsSearchads360V23Resources__RemarketingSetting { /** * Output only. The Google tag. */ readonly googleGlobalSiteTag?: string; } /** * Details about the employee's medical residency. Residency is a stage of * graduate medical education in which a qualified medical professional * practices under the supervision of a senior clinician. */ export interface GoogleAdsSearchads360V23Resources__Residency { /** * Output only. Year of completion. */ readonly completionYear?: number; /** * Output only. Name of the institution at which the residency was completed. */ readonly institutionName?: string; } /** * A Search Ads 360 campaign. */ export interface GoogleAdsSearchads360V23Resources__SearchAds360Campaign { /** * The type of product attribution filtering to apply to this campaign. */ productAttributionFilterType?: | "UNSPECIFIED" | "UNKNOWN" | "INHERIT" | "MANUAL" | "AUTO_BRAND"; /** * Immutable. The resource name of the Search Ads 360 campaign. Search Ads * 360 campaign resource names have the form: * `customers/{customer_id}/searchAds360Campaigns/{campaign_id}` */ resourceName?: string; } /** * A field or resource (artifact) used by SearchAds360Service. */ export interface GoogleAdsSearchads360V23Resources__SearchAds360Field { /** * Output only. The names of all resources that are selectable with the * described artifact. Fields from these resources do not segment metrics when * included in search queries. This field is only set for artifacts whose * category is RESOURCE. */ readonly attributeResources?: string[]; /** * Output only. The category of the artifact. */ readonly category?: | "UNSPECIFIED" | "UNKNOWN" | "RESOURCE" | "ATTRIBUTE" | "SEGMENT" | "METRIC"; /** * Output only. This field determines the operators that can be used with the * artifact in WHERE clauses. */ readonly dataType?: | "UNSPECIFIED" | "UNKNOWN" | "BOOLEAN" | "DATE" | "DOUBLE" | "ENUM" | "FLOAT" | "INT32" | "INT64" | "MESSAGE" | "RESOURCE_NAME" | "STRING" | "UINT64"; /** * Output only. Values the artifact can assume if it is a field of type ENUM. * This field is only set for artifacts of category SEGMENT or ATTRIBUTE. */ readonly enumValues?: string[]; /** * Output only. Whether the artifact can be used in a WHERE clause in search * queries. */ readonly filterable?: boolean; /** * Output only. Whether the field artifact is repeated. */ readonly isRepeated?: boolean; /** * Output only. This field lists the names of all metrics that are selectable * with the described artifact when it is used in the FROM clause. It is only * set for artifacts whose category is RESOURCE. */ readonly metrics?: string[]; /** * Output only. The name of the artifact. */ readonly name?: string; /** * Output only. The resource name of the artifact. Artifact resource names * have the form: `SearchAds360Fields/{name}` */ readonly resourceName?: string; /** * Output only. This field lists the names of all artifacts, whether a * segment or another resource, that segment metrics when included in search * queries and when the described artifact is used in the FROM clause. It is * only set for artifacts whose category is RESOURCE. */ readonly segments?: string[]; /** * Output only. Whether the artifact can be used in a SELECT clause in search * queries. */ readonly selectable?: boolean; /** * Output only. The names of all resources, segments, and metrics that are * selectable with the described artifact. */ readonly selectableWith?: string[]; /** * Output only. Whether the artifact can be used in a ORDER BY clause in * search queries. */ readonly sortable?: boolean; /** * Output only. The URL of proto describing the artifact's data type. */ readonly typeUrl?: string; } /** * A search term view with metrics aggregated by search term at the ad group * level. This view does not include Performance Max data. If you are looking * for Performance Max search term data, use the CampaignSearchTermView instead. */ export interface GoogleAdsSearchads360V23Resources__SearchTermView { /** * Output only. The ad group the search term served in. */ readonly adGroup?: string; /** * Output only. The resource name of the search term view. Search term view * resource names have the form: * `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}` */ readonly resourceName?: string; /** * Output only. The search term. */ readonly searchTerm?: string; /** * Output only. Indicates whether the search term is currently one of your * targeted or excluded keywords. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ADDED" | "EXCLUDED" | "ADDED_EXCLUDED" | "NONE"; } /** * A criterion belonging to a shared set. */ export interface GoogleAdsSearchads360V23Resources__SharedCriterion { /** * Immutable. Brand. */ brand?: GoogleAdsSearchads360V23Common__BrandInfo; /** * Output only. The ID of the criterion. This field is ignored for mutates. */ readonly criterionId?: bigint; /** * Immutable. Keyword. */ keyword?: GoogleAdsSearchads360V23Common__KeywordInfo; /** * Immutable. Mobile App Category. */ mobileAppCategory?: GoogleAdsSearchads360V23Common__MobileAppCategoryInfo; /** * Immutable. Mobile application. */ mobileApplication?: GoogleAdsSearchads360V23Common__MobileApplicationInfo; /** * Immutable. If true, the criterion is excluded. If false, the criterion is * targeted. */ negative?: boolean; /** * Immutable. Placement. */ placement?: GoogleAdsSearchads360V23Common__PlacementInfo; /** * Immutable. The resource name of the shared criterion. Shared set resource * names have the form: * `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` */ resourceName?: string; /** * Immutable. The shared set to which the shared criterion belongs. */ sharedSet?: string; /** * Output only. The type of the criterion. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "KEYWORD" | "PLACEMENT" | "MOBILE_APP_CATEGORY" | "MOBILE_APPLICATION" | "DEVICE" | "LOCATION" | "LISTING_GROUP" | "AD_SCHEDULE" | "AGE_RANGE" | "GENDER" | "INCOME_RANGE" | "PARENTAL_STATUS" | "YOUTUBE_VIDEO" | "YOUTUBE_CHANNEL" | "USER_LIST" | "PROXIMITY" | "TOPIC" | "LISTING_SCOPE" | "LANGUAGE" | "IP_BLOCK" | "CONTENT_LABEL" | "CARRIER" | "USER_INTEREST" | "WEBPAGE" | "OPERATING_SYSTEM_VERSION" | "APP_PAYMENT_MODEL" | "MOBILE_DEVICE" | "CUSTOM_AFFINITY" | "CUSTOM_INTENT" | "LOCATION_GROUP" | "CUSTOM_AUDIENCE" | "COMBINED_AUDIENCE" | "KEYWORD_THEME" | "AUDIENCE" | "NEGATIVE_KEYWORD_LIST" | "LOCAL_SERVICE_ID" | "SEARCH_THEME" | "BRAND" | "BRAND_LIST" | "LIFE_EVENT" | "WEBPAGE_LIST" | "VIDEO_LINEUP" | "PLACEMENT_LIST" | "VERTICAL_ADS_ITEM_GROUP_RULE_LIST" | "VERTICAL_ADS_ITEM_GROUP_RULE"; /** * Immutable. Vertical ads item group rule. */ verticalAdsItemGroupRule?: GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo; /** * Immutable. Webpage. */ webpage?: GoogleAdsSearchads360V23Common__WebpageInfo; /** * Immutable. YouTube Channel. */ youtubeChannel?: GoogleAdsSearchads360V23Common__YouTubeChannelInfo; /** * Immutable. YouTube Video. */ youtubeVideo?: GoogleAdsSearchads360V23Common__YouTubeVideoInfo; } function serializeGoogleAdsSearchads360V23Resources__SharedCriterion(data: any): GoogleAdsSearchads360V23Resources__SharedCriterion { return { ...data, verticalAdsItemGroupRule: data["verticalAdsItemGroupRule"] !== undefined ? serializeGoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo(data["verticalAdsItemGroupRule"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__SharedCriterion(data: any): GoogleAdsSearchads360V23Resources__SharedCriterion { return { ...data, criterionId: data["criterionId"] !== undefined ? BigInt(data["criterionId"]) : undefined, verticalAdsItemGroupRule: data["verticalAdsItemGroupRule"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo(data["verticalAdsItemGroupRule"]) : undefined, }; } /** * SharedSets are used for sharing criterion exclusions across multiple * campaigns. */ export interface GoogleAdsSearchads360V23Resources__SharedSet { /** * Output only. The ID of this shared set. Read only. */ readonly id?: bigint; /** * Output only. The number of shared criteria within this shared set. Read * only. */ readonly memberCount?: bigint; /** * The name of this shared set. Required. Shared Sets must have names that * are unique among active shared sets of the same type. The length of this * string should be between 1 and 255 UTF-8 bytes, inclusive. */ name?: string; /** * Output only. The number of campaigns associated with this shared set. Read * only. */ readonly referenceCount?: bigint; /** * Immutable. The resource name of the shared set. Shared set resource names * have the form: `customers/{customer_id}/sharedSets/{shared_set_id}` */ resourceName?: string; /** * Output only. The status of this shared set. Read only. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "REMOVED"; /** * Immutable. The type of this shared set: each shared set holds only a * single kind of resource. Required. Immutable. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "NEGATIVE_KEYWORDS" | "NEGATIVE_PLACEMENTS" | "ACCOUNT_LEVEL_NEGATIVE_KEYWORDS" | "BRANDS" | "WEBPAGES" | "VERTICAL_ADS_ITEM_GROUP_RULE_LIST"; /** * Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are * associated with a particular vertical (e.g. hotels, things to do, flights, * etc.). This field is required for shared sets of type * VERTICAL_ADS_ITEM_GROUP_RULE_LIST. */ verticalAdsItemVerticalType?: | "UNSPECIFIED" | "UNKNOWN" | "HOTELS" | "VACATION_RENTALS" | "RENTAL_CARS" | "EVENTS" | "THINGS_TO_DO" | "FLIGHTS"; } /** * Shopping performance view. Provides Shopping campaign and Performance Max * campaign statistics aggregated at several product dimension levels. Product * dimension values from Merchant Center such as brand, category, custom * attributes, product condition, and product type will reflect the state of * each dimension as of the date and time when the corresponding event was * recorded. The number of impressions and clicks that * `shopping_performance_view` returns stats for may be different from campaign * reports. `shopping_performance_view` shows impressions and clicks on products * appearing in ads, while campaign reports show impressions and clicks on the * ads themselves. Depending on the format, an ad can show from zero to several * products, so the numbers may not match. In Search Ads 360 UI, you can query * impressions and clicks of products appearing in ads by selecting a column * from "Product attributes" in the report editor. For example, selecting the * "Brand" column is equivalent to selecting `segments.product_brand`. */ export interface GoogleAdsSearchads360V23Resources__ShoppingPerformanceView { /** * Output only. The resource name of the Shopping performance view. Shopping * performance view resource names have the form: * `customers/{customer_id}/shoppingPerformanceView` */ readonly resourceName?: string; } /** * A shopping product from Google Merchant Center that can be advertised by * campaigns. The resource returns currently existing products from Google * Merchant Center accounts linked with the customer. A campaign includes a * product by specifying its merchant id (or, if available, the Multi Client * Account id of the merchant) in the `ShoppingSetting`, and can limit the * inclusion to products having a specified feed label. Standard Shopping * campaigns can also limit the inclusion through a * `campaign_criterion.listing_scope`. Queries to this resource specify a scope: * * Account: - Filters on campaigns or ad groups are not specified. - All * products from the linked Google Merchant Center accounts are returned. - * Metrics and some fields (see the per-field documentation) are aggregated * across all Shopping and Performance Max campaigns that include a product. * * Campaign: - An equality filter on `campaign` is specified. Supported campaign * types are Shopping, Performance Max, Demand Gen, Video, App. - Only products * that are included by the specified campaign are returned. - Metrics and some * fields (see the per-field documentation) are restricted to the specified * campaign. - Only the following metrics are supported for Demand Gen, Video, * App campaigns: impressions, clicks, ctr. * Ad group: - An equality filter on * `ad_group` and `campaign` is specified. Supported campaign types are * Shopping, Demand Gen, Video, App. - Only products that are included by the * specified campaign are returned. - Metrics and some fields (see the per-field * documentation) are restricted to the specified ad group. - Only the following * metrics are supported for Demand Gen, Video, App campaigns: impressions, * clicks, ctr. Note that segmentation by date segments is not permitted and * will return UNSUPPORTED_DATE_SEGMENTATION error. On the other hand, filtering * on date segments is allowed. */ export interface GoogleAdsSearchads360V23Resources__ShoppingProduct { /** * Output only. An ad group of a campaign that includes the product. This * field is selectable only in the ad group scope, which requires an equality * filter on `campaign` and `ad_group`. */ readonly adGroup?: string; /** * Output only. The availability of the product as provided by the merchant. */ readonly availability?: | "UNSPECIFIED" | "UNKNOWN" | "IN_STOCK" | "OUT_OF_STOCK" | "PREORDER"; /** * Output only. The brand of the product as provided by the merchant. */ readonly brand?: string; /** * Output only. A campaign that includes the product. This field is * selectable only in the campaign scope, which requires an equality filter on * `campaign`. */ readonly campaign?: string; /** * Output only. The category level 1 of the product. */ readonly categoryLevel1?: string; /** * Output only. The category level 2 of the product. */ readonly categoryLevel2?: string; /** * Output only. The category level 3 of the product. */ readonly categoryLevel3?: string; /** * Output only. The category level 4 of the product. */ readonly categoryLevel4?: string; /** * Output only. The category level 5 of the product. */ readonly categoryLevel5?: string; /** * Output only. The product channel describing the locality of the product. */ readonly channel?: | "UNSPECIFIED" | "UNKNOWN" | "ONLINE" | "LOCAL"; /** * Output only. The channel exclusivity of the product as provided by the * merchant. */ readonly channelExclusivity?: | "UNSPECIFIED" | "UNKNOWN" | "SINGLE_CHANNEL" | "MULTI_CHANNEL"; /** * Output only. The condition of the product as provided by the merchant. */ readonly condition?: | "UNSPECIFIED" | "UNKNOWN" | "NEW" | "REFURBISHED" | "USED"; /** * Output only. The currency code as provided by the merchant, in ISO 4217 * format. */ readonly currencyCode?: string; /** * Output only. The custom attribute 0 of the product as provided by the * merchant. */ readonly customAttribute0?: string; /** * Output only. The custom attribute 1 of the product as provided by the * merchant. */ readonly customAttribute1?: string; /** * Output only. The custom attribute 2 of the product as provided by the * merchant. */ readonly customAttribute2?: string; /** * Output only. The custom attribute 3 of the product as provided by the * merchant. */ readonly customAttribute3?: string; /** * Output only. The custom attribute 4 of the product as provided by the * merchant. */ readonly customAttribute4?: string; /** * Output only. The effective maximum cost-per-click (effective max. CPC) of * the product. This field is available only if the query specifies the * campaign or ad group scope, and if the campaign uses manual bidding. The * value is the highest bid set for the product in product groups across all * enabled ad groups. It represents the most you're willing to pay for a click * on the product. This field can take up to 24 hours to update. */ readonly effectiveMaxCpcMicros?: bigint; /** * Output only. The product feed label as provided by the merchant. */ readonly feedLabel?: string; /** * Output only. The list of issues affecting whether the product can show in * ads. The value of this field is restricted to the scope specified in the * query, see the documentation of the resource. This field can take up to 24 * hours to update. This field is not supported for App campaigns. */ readonly issues?: GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue[]; /** * Output only. The item id of the product as provided by the merchant. */ readonly itemId?: string; /** * Output only. The language code as provided by the merchant, in BCP 47 * format. */ readonly languageCode?: string; /** * Output only. The id of the merchant that owns the product. */ readonly merchantCenterId?: bigint; /** * Output only. The id of the Multi Client Account of the merchant, if * present. */ readonly multiClientAccountId?: bigint; /** * Output only. The price of the product in micros as provided by the * merchant, in the currency specified in `currency_code` (e.g. $2.97 is * reported as 2970000). */ readonly priceMicros?: bigint; /** * Output only. The URI of the product image as provided by the merchant. */ readonly productImageUri?: string; /** * Output only. The product type level 1 as provided by the merchant. */ readonly productTypeLevel1?: string; /** * Output only. The product type level 2 as provided by the merchant. */ readonly productTypeLevel2?: string; /** * Output only. The product type level 3 as provided by the merchant. */ readonly productTypeLevel3?: string; /** * Output only. The product type level 4 as provided by the merchant. */ readonly productTypeLevel4?: string; /** * Output only. The product type level 5 as provided by the merchant. */ readonly productTypeLevel5?: string; /** * Output only. The resource name of the shopping product. Shopping product * resource names have the form: * `customers/{customer_id}/shoppingProducts/{merchant_center_id}~{channel}~{language_code}~{feed_label}~{item_id}` */ readonly resourceName?: string; /** * Output only. The status that indicates whether the product can show in * ads. The value of this field is restricted to the scope specified in the * query, see the documentation of the resource. This field can take up to 24 * hours to update. This field is not supported for App campaigns. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "NOT_ELIGIBLE" | "ELIGIBLE_LIMITED" | "ELIGIBLE"; /** * Output only. Upper-case two-letter ISO 3166-1 code of the regions where * the product is intended to be shown in ads. */ readonly targetCountries?: string[]; /** * Output only. The title of the product as provided by the merchant. */ readonly title?: string; } /** * A Smart campaign search term view. */ export interface GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView { /** * Output only. The Smart campaign the search term served in. */ readonly campaign?: string; /** * Output only. The resource name of the Smart campaign search term view. * Smart campaign search term view resource names have the form: * `customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{URL-base64_search_term}` */ readonly resourceName?: string; /** * Output only. The search term. */ readonly searchTerm?: string; } /** * Settings for configuring Smart campaigns. */ export interface GoogleAdsSearchads360V23Resources__SmartCampaignSetting { /** * Settings for configuring a business profile optimized for ads as this * campaign's landing page. This campaign must be linked to a business profile * to use this option. For more information on this feature, consult * https://support.google.com/google-ads/answer/9827068. */ adOptimizedBusinessProfileSetting?: GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting; /** * The language code to advertise in from the set of [supported language * codes] * (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages). */ advertisingLanguageCode?: string; /** * The name of the business. */ businessName?: string; /** * The resource name of a Business Profile location. Business Profile * location resource names can be fetched through the Business Profile API and * adhere to the following format: `locations/{locationId}`. See the [Business * Profile API] * (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) * for additional details. */ businessProfileLocation?: string; /** * Output only. The campaign to which these settings apply. */ readonly campaign?: string; /** * The user-provided landing page URL for this Campaign. */ finalUrl?: string; /** * Phone number and country code. */ phoneNumber?: GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber; /** * Immutable. The resource name of the Smart campaign setting. Smart campaign * setting resource names have the form: * `customers/{customer_id}/smartCampaignSettings/{campaign_id}` */ resourceName?: string; } /** * A targeting expansion view with metrics. Returns metrics for automated * expansion over manual targeting. */ export interface GoogleAdsSearchads360V23Resources__TargetingExpansionView { /** * Output only. The resource name of the targeting expansion view. Targeting * expansion view resource names have the form: * `customers/{customer_id}/targetingExpansionViews/{campaign_id}~{targeting_expansion_type}` */ readonly resourceName?: string; } /** * A data sharing connection, allowing the import of third party app analytics * into a Google Ads Customer. */ export interface GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink { /** * Immutable. The resource name of the third party app analytics link. Third * party app analytics link resource names have the form: * `customers/{customer_id}/thirdPartyAppAnalyticsLinks/{account_link_id}` */ resourceName?: string; /** * Output only. The shareable link ID that should be provided to the third * party when setting up app analytics. This is able to be regenerated using * regenerate method in the ThirdPartyAppAnalyticsLinkService. */ readonly shareableLinkId?: string; } /** * The identifiers of a Third Party App Analytics Link. */ export interface GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier { /** * Immutable. The ID of the app analytics provider. This field should not be * empty when creating a new third party app analytics link. It is unable to * be modified after the creation of the link. */ appAnalyticsProviderId?: bigint; /** * Immutable. A string that uniquely identifies a mobile application from * which the data was collected to the Google Ads API. For iOS, the ID string * is the 9 digit string that appears at the end of an App Store URL (for * example, "422689480" for "Gmail" whose App Store link is * https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For * Android, the ID string is the application's package name (for example, * "com.google.android.gm" for "Gmail" given Google Play link * https://play.google.com/store/apps/details?id=com.google.android.gm) This * field should not be empty when creating a new third party app analytics * link. It is unable to be modified after the creation of the link. */ appId?: string; /** * Immutable. The vendor of the app. This field should not be empty when * creating a new third party app analytics link. It is unable to be modified * after the creation of the link. */ appVendor?: | "UNSPECIFIED" | "UNKNOWN" | "APPLE_APP_STORE" | "GOOGLE_APP_STORE"; } function serializeGoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier(data: any): GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier { return { ...data, appAnalyticsProviderId: data["appAnalyticsProviderId"] !== undefined ? String(data["appAnalyticsProviderId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier(data: any): GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier { return { ...data, appAnalyticsProviderId: data["appAnalyticsProviderId"] !== undefined ? BigInt(data["appAnalyticsProviderId"]) : undefined, }; } /** * Use topics to target or exclude placements in the Google Display Network * based on the category into which the placement falls (for example, "Pets & * Animals/Pets/Dogs"). */ export interface GoogleAdsSearchads360V23Resources__TopicConstant { /** * Output only. The ID of the topic. */ readonly id?: bigint; /** * Output only. The category to target or exclude. Each subsequent element in * the array describes a more specific sub-category. For example, {"Pets & * Animals", "Pets", "Dogs"} represents the "Pets & Animals/Pets/Dogs" * category. List of available topic categories at * https://developers.google.com/google-ads/api/reference/data/verticals */ readonly path?: string[]; /** * Output only. The resource name of the topic constant. topic constant * resource names have the form: `topicConstants/{topic_id}` */ readonly resourceName?: string; /** * Output only. Resource name of parent of the topic constant. */ readonly topicConstantParent?: string; } /** * A topic view. */ export interface GoogleAdsSearchads360V23Resources__TopicView { /** * Output only. The resource name of the topic view. Topic view resource * names have the form: * `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * A travel activity group view. */ export interface GoogleAdsSearchads360V23Resources__TravelActivityGroupView { /** * Output only. The resource name of the travel activity group view. Travel * Activity Group view resource names have the form: * `customers/{customer_id}/travelActivityGroupViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * A travel activity performance view. */ export interface GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView { /** * Output only. The resource name of the travel activity performance view. * Travel Activity performance view resource names have the form: * `customers/{customer_id}/travelActivityPerformanceView` */ readonly resourceName?: string; } /** * A list of degrees this employee has obtained, and wants to feature. */ export interface GoogleAdsSearchads360V23Resources__UniversityDegree { /** * Output only. Name of the degree obtained. */ readonly degree?: string; /** * Output only. Year of graduation. */ readonly graduationYear?: number; /** * Output only. Name of the university at which the degree was obtained. */ readonly institutionName?: string; } /** * A user interest: a particular interest-based vertical to be targeted. */ export interface GoogleAdsSearchads360V23Resources__UserInterest { /** * Output only. Availability information of the user interest. */ readonly availabilities?: GoogleAdsSearchads360V23Common__CriterionCategoryAvailability[]; /** * Output only. True if the user interest is launched to all channels and * locales. */ readonly launchedToAll?: boolean; /** * Output only. The name of the user interest. */ readonly name?: string; /** * Output only. The resource name of the user interest. User interest * resource names have the form: * `customers/{customer_id}/userInterests/{user_interest_id}` */ readonly resourceName?: string; /** * Output only. Taxonomy type of the user interest. */ readonly taxonomyType?: | "UNSPECIFIED" | "UNKNOWN" | "AFFINITY" | "IN_MARKET" | "MOBILE_APP_INSTALL_USER" | "VERTICAL_GEO" | "NEW_SMART_PHONE_USER"; /** * Output only. The ID of the user interest. */ readonly userInterestId?: bigint; /** * Output only. The parent of the user interest. */ readonly userInterestParent?: string; } /** * A user list. This is a list of users a customer may target. The unique key * of a user list consists of the following fields: `id`. Note that the `name` * must also be unique for user lists owned by a given customer, except in some * cases where `access_reason` is set to `SHARED`. Violating the unique name * constraint produces error: `UserListError.INVALID_NAME`. */ export interface GoogleAdsSearchads360V23Resources__UserList { /** * Output only. Indicates the reason this account has been granted access to * the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This * field is read-only. */ readonly accessReason?: | "UNSPECIFIED" | "UNKNOWN" | "OWNED" | "SHARED" | "LICENSED" | "SUBSCRIBED" | "AFFILIATED"; /** * Indicates if this share is still enabled. When a UserList is shared with * the user this field is set to ENABLED. Later the userList owner can decide * to revoke the share and make it DISABLED. The default value of this field * is set to ENABLED. */ accountUserListStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ENABLED" | "DISABLED"; /** * User list targeting as a collection of conversion or remarketing actions. */ basicUserList?: GoogleAdsSearchads360V23Common__BasicUserListInfo; /** * Indicating the reason why this user list membership status is closed. It * is only populated on lists that were automatically closed due to * inactivity, and will be cleared once the list membership status becomes * open. */ closingReason?: | "UNSPECIFIED" | "UNKNOWN" | "UNUSED"; /** * User list of CRM users provided by the advertiser. */ crmBasedUserList?: GoogleAdsSearchads360V23Common__CrmBasedUserListInfo; /** * Description of this user list. */ description?: string; /** * Output only. Indicates this user list is eligible for Google Display * Network. This field is read-only. */ readonly eligibleForDisplay?: boolean; /** * Indicates if this user list is eligible for Google Search Network. */ eligibleForSearch?: boolean; /** * Output only. Id of the user list. */ readonly id?: bigint; /** * An ID from external system. It is used by user list sellers to correlate * IDs on their systems. */ integrationCode?: string; /** * User list that is a custom combination of user lists. */ logicalUserList?: GoogleAdsSearchads360V23Common__LogicalUserListInfo; /** * Immutable. Lookalike User List. */ lookalikeUserList?: GoogleAdsSearchads360V23Common__LookalikeUserListInfo; /** * Output only. Indicates match rate for Customer Match lists. The range of * this field is [0-100]. This will be null for other list types or when it's * not possible to calculate the match rate. This field is read-only. */ readonly matchRatePercentage?: number; /** * Number of days a user's cookie stays on your list since its most recent * addition to the list. This field must be between 0 and 540 inclusive. * However, for CRM based userlists, this field can be set to 10000 which * means no expiration. Beginning on April 7, 2025, using a value of 10000 to * indicate no expiration will no longer be supported. This field is ignored * for logical_user_list and rule_based_user_list types. Membership to lists * of these types depends on the rules defined by the lists. */ membershipLifeSpan?: bigint; /** * Membership status of this user list. Indicates whether a user list is open * or active. Only open user lists can accumulate more users and can be * targeted to. */ membershipStatus?: | "UNSPECIFIED" | "UNKNOWN" | "OPEN" | "CLOSED"; /** * Name of this user list. Unique per user list, except in some cases where a * user list of the same name has `access_reason` set to `SHARED`. */ name?: string; /** * Output only. An option that indicates if a user may edit a list. Depends * on the list ownership and list type. For example, external remarketing user * lists are not editable. This field is -only. */ readonly readOnly?: boolean; /** * Immutable. The resource name of the user list. User list resource names * have the form: `customers/{customer_id}/userLists/{user_list_id}` */ resourceName?: string; /** * User list generated by a rule. */ ruleBasedUserList?: GoogleAdsSearchads360V23Common__RuleBasedUserListInfo; /** * Output only. User list which are similar to users from another UserList. * These lists are readonly and automatically created by google. */ readonly similarUserList?: GoogleAdsSearchads360V23Common__SimilarUserListInfo; /** * Output only. Estimated number of users in this user list, on the Google * Display Network. This value is if the number of users has not yet been * determined. This field is -only. */ readonly sizeForDisplay?: bigint; /** * Output only. Estimated number of users in this user list in the google.com * domain. These are the users available for targeting in Search campaigns. * This value is null if the number of users has not yet been determined. This * field is read-only. */ readonly sizeForSearch?: bigint; /** * Output only. Size range in terms of number of users of the UserList, on * the Google Display Network. This field is read-only. */ readonly sizeRangeForDisplay?: | "UNSPECIFIED" | "UNKNOWN" | "LESS_THAN_FIVE_HUNDRED" | "LESS_THAN_ONE_THOUSAND" | "ONE_THOUSAND_TO_TEN_THOUSAND" | "TEN_THOUSAND_TO_FIFTY_THOUSAND" | "FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND" | "ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND" | "THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND" | "FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION" | "ONE_MILLION_TO_TWO_MILLION" | "TWO_MILLION_TO_THREE_MILLION" | "THREE_MILLION_TO_FIVE_MILLION" | "FIVE_MILLION_TO_TEN_MILLION" | "TEN_MILLION_TO_TWENTY_MILLION" | "TWENTY_MILLION_TO_THIRTY_MILLION" | "THIRTY_MILLION_TO_FIFTY_MILLION" | "OVER_FIFTY_MILLION"; /** * Output only. Size range in terms of number of users of the UserList, for * Search ads. This field is read-only. */ readonly sizeRangeForSearch?: | "UNSPECIFIED" | "UNKNOWN" | "LESS_THAN_FIVE_HUNDRED" | "LESS_THAN_ONE_THOUSAND" | "ONE_THOUSAND_TO_TEN_THOUSAND" | "TEN_THOUSAND_TO_FIFTY_THOUSAND" | "FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND" | "ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND" | "THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND" | "FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION" | "ONE_MILLION_TO_TWO_MILLION" | "TWO_MILLION_TO_THREE_MILLION" | "THREE_MILLION_TO_FIVE_MILLION" | "FIVE_MILLION_TO_TEN_MILLION" | "TEN_MILLION_TO_TWENTY_MILLION" | "TWENTY_MILLION_TO_THIRTY_MILLION" | "THIRTY_MILLION_TO_FIFTY_MILLION" | "OVER_FIFTY_MILLION"; /** * Output only. Type of this list. This field is read-only. */ readonly type?: | "UNSPECIFIED" | "UNKNOWN" | "REMARKETING" | "LOGICAL" | "EXTERNAL_REMARKETING" | "RULE_BASED" | "SIMILAR" | "CRM_BASED" | "LOOKALIKE"; } function serializeGoogleAdsSearchads360V23Resources__UserList(data: any): GoogleAdsSearchads360V23Resources__UserList { return { ...data, lookalikeUserList: data["lookalikeUserList"] !== undefined ? serializeGoogleAdsSearchads360V23Common__LookalikeUserListInfo(data["lookalikeUserList"]) : undefined, membershipLifeSpan: data["membershipLifeSpan"] !== undefined ? String(data["membershipLifeSpan"]) : undefined, ruleBasedUserList: data["ruleBasedUserList"] !== undefined ? serializeGoogleAdsSearchads360V23Common__RuleBasedUserListInfo(data["ruleBasedUserList"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources__UserList(data: any): GoogleAdsSearchads360V23Resources__UserList { return { ...data, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, lookalikeUserList: data["lookalikeUserList"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__LookalikeUserListInfo(data["lookalikeUserList"]) : undefined, membershipLifeSpan: data["membershipLifeSpan"] !== undefined ? BigInt(data["membershipLifeSpan"]) : undefined, ruleBasedUserList: data["ruleBasedUserList"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__RuleBasedUserListInfo(data["ruleBasedUserList"]) : undefined, sizeForDisplay: data["sizeForDisplay"] !== undefined ? BigInt(data["sizeForDisplay"]) : undefined, sizeForSearch: data["sizeForSearch"] !== undefined ? BigInt(data["sizeForSearch"]) : undefined, }; } /** * A user list customer type */ export interface GoogleAdsSearchads360V23Resources__UserListCustomerType { /** * Immutable. The user list customer type category */ customerTypeCategory?: | "UNSPECIFIED" | "UNKNOWN" | "ALL_CUSTOMERS" | "PURCHASERS" | "HIGH_VALUE_CUSTOMERS" | "DISENGAGED_CUSTOMERS" | "QUALIFIED_LEADS" | "CONVERTED_LEADS" | "PAID_SUBSCRIBERS" | "LOYALTY_SIGN_UPS" | "CART_ABANDONERS" | "LOYALTY_TIER_1_MEMBERS" | "LOYALTY_TIER_2_MEMBERS" | "LOYALTY_TIER_3_MEMBERS" | "LOYALTY_TIER_4_MEMBERS" | "LOYALTY_TIER_5_MEMBERS" | "LOYALTY_TIER_6_MEMBERS" | "LOYALTY_TIER_7_MEMBERS"; /** * Immutable. The resource name of the user list customer type User list * customer type resource names have the form: * `customers/{customer_id}/userListCustomerTypes/{user_list_id}~{customer_type_category}` */ resourceName?: string; /** * Immutable. The resource name for the user list this user list customer * type is associated with */ userList?: string; } /** * A user location view. User Location View includes all metrics aggregated at * the country level, one row per country. It reports metrics at the actual * physical location of the user by targeted or not targeted location. If other * segment fields are used, you may get more than one row per country. */ export interface GoogleAdsSearchads360V23Resources__UserLocationView { /** * Output only. Criterion Id for the country. */ readonly countryCriterionId?: bigint; /** * Output only. The resource name of the user location view. UserLocation * view resource names have the form: * `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}` */ readonly resourceName?: string; /** * Output only. Indicates whether location was targeted or not. */ readonly targetingLocation?: boolean; } export interface GoogleAdsSearchads360V23Resources__Video { /** * Output only. The owner channel id of the video. */ readonly channelId?: string; /** * Output only. The duration of the video in milliseconds. */ readonly durationMillis?: bigint; /** * Output only. The ID of the video. */ readonly id?: string; /** * Output only. The resource name of the video. Video resource names have the * form: `customers/{customer_id}/videos/{video_id}` */ readonly resourceName?: string; /** * Output only. The title of the video. */ readonly title?: string; } /** * Video specific information about a Customer. */ export interface GoogleAdsSearchads360V23Resources__VideoCustomer { /** * Third Party integration partners. */ thirdPartyIntegrationPartners?: GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners; } /** * A visit. */ export interface GoogleAdsSearchads360V23Resources__Visit { /** * Output only. Ad ID. A value of 0 indicates that the ad is unattributed. */ readonly adId?: bigint; /** * Output only. Asset field type of the visit event. */ readonly assetFieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Output only. ID of the asset which was interacted with during the visit * event. */ readonly assetId?: bigint; /** * Output only. A unique string for each visit that is passed to the landing * page as the click id URL parameter. */ readonly clickId?: string; /** * Output only. Search Ads 360 keyword ID. A value of 0 indicates that the * keyword is unattributed. */ readonly criterionId?: bigint; /** * Output only. The ID of the visit. */ readonly id?: bigint; /** * Output only. The Search Ads 360 inventory account ID containing the * product that was clicked on. Search Ads 360 generates this ID when you link * an inventory account in Search Ads 360. */ readonly merchantId?: bigint; /** * Output only. The sales channel of the product that was clicked on: Online * or Local. */ readonly productChannel?: | "UNSPECIFIED" | "UNKNOWN" | "ONLINE" | "LOCAL"; /** * Output only. The country (ISO-3166 format) registered for the inventory * feed that contains the product clicked on. */ readonly productCountryCode?: string; /** * Output only. The ID of the product clicked on. */ readonly productId?: string; /** * Output only. The language (ISO-639-1) that has been set for the Merchant * Center feed containing data about the product. */ readonly productLanguageCode?: string; /** * Output only. The store in the Local Inventory Ad that was clicked on. This * should match the store IDs used in your local products feed. */ readonly productStoreId?: string; /** * Output only. The resource name of the visit. Visit resource names have the * form: * `customers/{customer_id}/visits/{ad_group_id}~{criterion_id}~{ds_visit_id}` */ readonly resourceName?: string; /** * Output only. The timestamp of the visit event. The timestamp is in the * customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. */ readonly visitDateTime?: string; } /** * A webpage view. */ export interface GoogleAdsSearchads360V23Resources__WebpageView { /** * Output only. The resource name of the webpage view. Webpage view resource * names have the form: * `customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}` */ readonly resourceName?: string; } /** * The identifier for YouTube video */ export interface GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier { /** * Immutable. The ID of the hosting channel of the video. This is a string * value with “UC” prefix. For example, "UCK8sQmJBp8GCxrOtXWBpyEA". */ channelId?: string; /** * Immutable. The ID of the video associated with the video link. This is the * 11 character string value used in the YouTube video URL. For example, video * ID is jV1vkHv4zq8 from the YouTube video URL * "https://www.youtube.com/watch?v=jV1vkHv4zq8&t=2s". */ videoId?: string; } /** * An automated bidding strategy to help get the most conversions for your * campaigns while spending your budget. */ export interface GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions { /** * Output only. The target cost per acquisition (CPA) option. This is the * average amount that you would like to spend per acquisition. */ readonly targetCpaMicros?: bigint; } /** * An automated bidding strategy to help get the most conversion value for your * campaigns while spending your budget. */ export interface GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue { /** * Output only. The target return on ad spend (ROAS) option. If set, the bid * strategy will maximize revenue while averaging the target return on ad * spend. If the target ROAS is high, the bid strategy may not be able to * spend the full budget. If the target ROAS is not set, the bid strategy will * aim to achieve the highest possible ROAS for the budget. */ readonly targetRoas?: number; } /** * An automated bid strategy that sets bids to help get as many conversions as * possible at the target cost-per-acquisition (CPA) you set. */ export interface GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa { /** * Output only. Average CPA target. This target should be greater than or * equal to minimum billable unit based on the currency for the account. */ readonly targetCpaMicros?: bigint; } /** * An automated bidding strategy that sets bids so that a certain percentage of * search ads are shown at the top of the first page (or other targeted * location). */ export interface GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare { /** * Output only. The highest CPC bid the automated bidding system is permitted * to specify. This is a required field entered by the advertiser that sets * the ceiling and specified in local micros. */ readonly cpcBidCeilingMicros?: bigint; /** * Output only. The targeted location on the search results page. */ readonly location?: | "UNSPECIFIED" | "UNKNOWN" | "ANYWHERE_ON_PAGE" | "TOP_OF_PAGE" | "ABSOLUTE_TOP_OF_PAGE"; /** * The chosen fraction of ads to be shown in the targeted location in micros. * For example, 1% equals 10,000. */ locationFractionMicros?: bigint; } function serializeGoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare(data: any): GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare { return { ...data, locationFractionMicros: data["locationFractionMicros"] !== undefined ? String(data["locationFractionMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare(data: any): GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare { return { ...data, cpcBidCeilingMicros: data["cpcBidCeilingMicros"] !== undefined ? BigInt(data["cpcBidCeilingMicros"]) : undefined, locationFractionMicros: data["locationFractionMicros"] !== undefined ? BigInt(data["locationFractionMicros"]) : undefined, }; } /** * An automated bidding strategy that helps you maximize revenue while * averaging a specific target return on ad spend (ROAS). */ export interface GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas { /** * Output only. The chosen revenue (based on conversion data) per unit of * spend. */ readonly targetRoas?: number; } /** * An automated bid strategy that sets your bids to help get as many clicks as * possible within your budget. */ export interface GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend { /** * Output only. Maximum bid limit that can be set by the bid strategy. The * limit applies to all keywords managed by the strategy. */ readonly cpcBidCeilingMicros?: bigint; /** * Output only. The spend target under which to maximize clicks. A * TargetSpend bidder will attempt to spend the smaller of this value or the * natural throttling spend amount. If not specified, the budget is used as * the spend target. This field is deprecated and should no longer be used. * See * https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html * for details. */ readonly targetSpendMicros?: bigint; } /** * A pending proposal associated with the enclosing account-level budget, if * applicable. */ export interface GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal { /** * Output only. The resource name of the proposal. AccountBudgetProposal * resource names have the form: * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` */ readonly accountBudgetProposal?: string; /** * Output only. The time when this account-level budget proposal was created. * Formatted as yyyy-MM-dd HH:mm:ss. */ readonly creationDateTime?: string; /** * Output only. The end time in yyyy-MM-dd HH:mm:ss format. */ readonly endDateTime?: string; /** * Output only. The end time as a well-defined type, for example, FOREVER. */ readonly endTimeType?: | "UNSPECIFIED" | "UNKNOWN" | "NOW" | "FOREVER"; /** * Output only. The name to assign to the account-level budget. */ readonly name?: string; /** * Output only. Notes associated with this budget. */ readonly notes?: string; /** * Output only. The type of this proposal, for example, END to end the budget * associated with this proposal. */ readonly proposalType?: | "UNSPECIFIED" | "UNKNOWN" | "CREATE" | "UPDATE" | "END" | "REMOVE"; /** * Output only. A purchase order number is a value that helps users reference * this budget in their monthly invoices. */ readonly purchaseOrderNumber?: string; /** * Output only. The spending limit in micros. One million is equivalent to * one unit. */ readonly spendingLimitMicros?: bigint; /** * Output only. The spending limit as a well-defined type, for example, * INFINITE. */ readonly spendingLimitType?: | "UNSPECIFIED" | "UNKNOWN" | "INFINITE"; /** * Output only. The start time in yyyy-MM-dd HH:mm:ss format. */ readonly startDateTime?: string; } /** * Settings for AI Max feature in standard search adgroups. */ export interface GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting { /** * Disable search term matching for this adgroup when AI Max is enabled. * Search term matching uses broad match, asset-based, and landing page-based * technology to improve reach. */ disableSearchTermMatching?: boolean; } /** * Settings for the audience targeting. */ export interface GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting { /** * Immutable. If true, this ad group uses an Audience resource for audience * targeting. If false, this ad group may use audience segment criteria * instead. */ useAudienceGrouped?: boolean; } /** * Settings for Demand Gen ad groups. */ export interface GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings { /** * Channel controls for Demand Gen ad groups. */ channelControls?: GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls; } /** * Vertical ads setting feature to enable/disable ad group format controls in * search campaigns. */ export interface GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting { /** * If true, text ads will be disabled for this ad group. */ disableTextAds?: boolean; /** * If true, booking links will be enabled for this ad group. */ enableBookingLinks?: boolean; /** * If true, vertical promotion ads will be enabled for this ad group. */ enableVerticalPromotionAds?: boolean; } /** * Estimates for criterion bids at various positions. */ export interface GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates { /** * Output only. Estimate of how many clicks per week you might get by * changing your keyword bid to the value in first_position_cpc_micros. */ readonly estimatedAddClicksAtFirstPositionCpc?: bigint; /** * Output only. Estimate of how your cost per week might change when changing * your keyword bid to the value in first_position_cpc_micros. */ readonly estimatedAddCostAtFirstPositionCpc?: bigint; /** * Output only. The estimate of the CPC bid required for ad to be shown on * first page of search results. */ readonly firstPageCpcMicros?: bigint; /** * Output only. The estimate of the CPC bid required for ad to be displayed * in first position, at the top of the first page of search results. */ readonly firstPositionCpcMicros?: bigint; /** * Output only. The estimate of the CPC bid required for ad to be displayed * at the top of the first page of search results. */ readonly topOfPageCpcMicros?: bigint; } /** * A container for ad group criterion quality information. */ export interface GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo { /** * Output only. The performance of the ad compared to other advertisers. */ readonly creativeQualityScore?: | "UNSPECIFIED" | "UNKNOWN" | "BELOW_AVERAGE" | "AVERAGE" | "ABOVE_AVERAGE"; /** * Output only. The quality score of the landing page. */ readonly postClickQualityScore?: | "UNSPECIFIED" | "UNKNOWN" | "BELOW_AVERAGE" | "AVERAGE" | "ABOVE_AVERAGE"; /** * Output only. The quality score. This field may not be populated if Google * does not have enough information to determine a value. */ readonly qualityScore?: number; /** * Output only. The click-through rate compared to that of other advertisers. */ readonly searchPredictedCtr?: | "UNSPECIFIED" | "UNKNOWN" | "BELOW_AVERAGE" | "AVERAGE" | "ABOVE_AVERAGE"; } /** * Channel controls for Demand Gen ad groups. */ export interface GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls { /** * Output only. Channel configuration reflecting which field in the oneof is * populated. */ readonly channelConfig?: | "UNSPECIFIED" | "UNKNOWN" | "CHANNEL_STRATEGY" | "SELECTED_CHANNELS"; /** * High level channel strategy. */ channelStrategy?: | "UNSPECIFIED" | "UNKNOWN" | "ALL_CHANNELS" | "ALL_OWNED_AND_OPERATED_CHANNELS"; /** * Explicitly selected channels. This field should be set with at least one * true value when present. */ selectedChannels?: GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels; } /** * Explicitly selected channels for channel controls in Demand Gen ad groups. */ export interface GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels { /** * Whether to enable ads on the Discover channel. */ discover?: boolean; /** * Whether to enable ads on the Display channel. */ display?: boolean; /** * Whether to enable ads on the Gmail channel. */ gmail?: boolean; /** * Whether to enable ads on the YouTube In-Feed channel. */ youtubeInFeed?: boolean; /** * Whether to enable ads on the YouTube In-Stream channel. */ youtubeInStream?: boolean; /** * Whether to enable ads on the YouTube Shorts channel. */ youtubeShorts?: boolean; } /** * The details of the asset to add. */ export interface GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails { /** * Output only. The number of assets to add. */ readonly assetCount?: number; /** * Output only. The asset field type of the asset(s) to add. */ readonly assetFieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Output only. For video field types, the required aspect ratio of the * video. When unset and asset_field_type is YOUTUBE_VIDEO, the system * recommends the advertiser upload any YouTube video, regardless of aspect * ratio. */ readonly videoAspectRatioRequirement?: | "UNSPECIFIED" | "UNKNOWN" | "HORIZONTAL" | "SQUARE" | "VERTICAL"; } /** * For Performance Max for travel goals campaigns with a Hotel Center account * link. Read-only. */ export interface GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData { /** * Output only. The hotel center ID of the partner. */ readonly hotelCenterId?: bigint; /** * Output only. Name of the hotel partner. */ readonly partnerName?: string; } /** * Merchant ID and Feed Label from Google Merchant Center. */ export interface GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed { /** * Optional. Feed Label from Google Merchant Center. */ feedLabel?: string; /** * Required. Merchant ID from Google Merchant Center */ merchantId?: bigint; } function serializeGoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed(data: any): GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed { return { ...data, merchantId: data["merchantId"] !== undefined ? String(data["merchantId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed(data: any): GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed { return { ...data, merchantId: data["merchantId"] !== undefined ? BigInt(data["merchantId"]) : undefined, }; } /** * Additional information about the batch job. This message is also used as * metadata returned in batch job Long Running Operations. */ export interface GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata { /** * Output only. The time when this batch job was completed. Formatted as * yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00" */ readonly completionDateTime?: string; /** * Output only. The time when this batch job was created. Formatted as * yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00" */ readonly creationDateTime?: string; /** * Output only. The fraction (between 0.0 and 1.0) of mutates that have been * processed. This is empty if the job hasn't started running yet. */ readonly estimatedCompletionRatio?: number; /** * Output only. The number of mutate operations executed by the batch job. * Present only if the job has started running. */ readonly executedOperationCount?: bigint; /** * Immutable. The approximate upper bound for how long a batch job can be * executed, in seconds. If the job runs more than the given upper bound, the * job will be canceled. */ executionLimitSeconds?: number; /** * Output only. The number of mutate operations in the batch job. */ readonly operationCount?: bigint; /** * Output only. The time when this batch job started running. Formatted as * yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:30" */ readonly startDateTime?: string; } /** * Container of payments account information for this billing. */ export interface GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo { /** * Output only. A 16 digit id used to identify the payments account * associated with the billing setup. This must be passed as a string with * dashes, for example, "1234-5678-9012-3456". */ readonly paymentsAccountId?: string; /** * Immutable. The name of the payments account associated with the billing * setup. This enables the user to specify a meaningful name for a payments * account to aid in reconciling monthly invoices. This name will be printed * in the monthly invoices. */ paymentsAccountName?: string; /** * Immutable. A 12 digit id used to identify the payments profile associated * with the billing setup. This must be passed in as a string with dashes, for * example, "1234-5678-9012". */ paymentsProfileId?: string; /** * Output only. The name of the payments profile associated with the billing * setup. */ readonly paymentsProfileName?: string; /** * Output only. A secondary payments profile id present in uncommon * situations, for example, when a sequential liability agreement has been * arranged. */ readonly secondaryPaymentsProfileId?: string; } /** * Settings for AI Max in search campaigns. */ export interface GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting { /** * Output only. Indicates whether a search campaign has adopted AI Max * before, and is required to have AI Max enabled to adopt campaign-level text * asset automation and brand list targeting in all API versions. */ readonly bundlingRequired?: | "UNSPECIFIED" | "UNKNOWN" | "NOT_REQUIRED" | "REQUIRED"; /** * Controls whether or not AI Max features are served for this campaign. * Individual AI Max features are enabled or disabled by their respective * settings. But if enable_ai_max is set to false or cleared, then no AI Max * features will serve for this campaign, regardless of the other settings. * Search Term Matching is enabled by default when AI Max is enabled, and can * be disabled at the ad group level. */ enableAiMax?: boolean; } /** * Campaign-level settings for App Campaigns. */ export interface GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting { /** * Immutable. A string that uniquely identifies a mobile application. */ appId?: string; /** * Immutable. The application store that distributes this specific app. */ appStore?: | "UNSPECIFIED" | "UNKNOWN" | "APPLE_APP_STORE" | "GOOGLE_APP_STORE"; /** * Represents the goal which the bidding strategy of this app campaign should * optimize towards. */ biddingStrategyGoalType?: | "UNSPECIFIED" | "UNKNOWN" | "OPTIMIZE_INSTALLS_TARGET_INSTALL_COST" | "OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST" | "OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST" | "OPTIMIZE_RETURN_ON_ADVERTISING_SPEND" | "OPTIMIZE_PRE_REGISTRATION_CONVERSION_VOLUME" | "OPTIMIZE_INSTALLS_WITHOUT_TARGET_INSTALL_COST" | "OPTIMIZE_IN_APP_CONVERSIONS_WITHOUT_TARGET_CPA" | "OPTIMIZE_TOTAL_VALUE_WITHOUT_TARGET_ROAS"; } /** * Asset automation setting contains pair of AssetAutomationType and the asset * automation opt-in/out status */ export interface GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting { /** * The opt-in/out status of asset automation type. */ assetAutomationStatus?: | "UNSPECIFIED" | "UNKNOWN" | "OPTED_IN" | "OPTED_OUT"; /** * The asset automation type advertiser would like to opt-in/out. */ assetAutomationType?: | "UNSPECIFIED" | "UNKNOWN" | "TEXT_ASSET_AUTOMATION" | "GENERATE_VERTICAL_YOUTUBE_VIDEOS" | "GENERATE_SHORTER_YOUTUBE_VIDEOS" | "GENERATE_LANDING_PAGE_PREVIEW" | "GENERATE_ENHANCED_YOUTUBE_VIDEOS" | "GENERATE_IMAGE_ENHANCEMENT" | "GENERATE_IMAGE_EXTRACTION" | "GENERATE_DESIGN_VERSIONS_FOR_IMAGES" | "FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION" | "GENERATE_VIDEOS_FROM_OTHER_ASSETS"; } /** * Settings for the audience targeting. */ export interface GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting { /** * Immutable. If true, this campaign uses an Audience resource for audience * targeting. If false, this campaign may use audience segment criteria * instead. */ useAudienceGrouped?: boolean; } /** * Settings that control the visual appearance of your brand in a campaign's * automatically generated assets and formats. Only applicable to Performance * Max campaigns. */ export interface GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines { /** * The accent brand color, entered as a hex code (e.g., #00ff00). You must * provide the accent_color if you provide a main_color. */ accentColor?: string; /** * The main brand color, entered as a hex code (e.g., #00ff00). You must * provide the main_color if you provide an accent_color. */ mainColor?: string; /** * The brand's font family. Must be one of the following Google Fonts (case * sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair * Display, Roboto Slab. */ predefinedFontFamily?: string; } /** * Category bids in LocalServicesReportingCampaignSettings. */ export interface GoogleAdsSearchads360V23Resources_Campaign_CategoryBid { /** * Category for which the bid will be associated with. For example, * xcat:service_area_business_plumber. */ categoryId?: string; /** * Manual CPA bid for the category. Bid must be greater than the reserve * price associated for that category. Value is in micros and in the * advertiser's currency. */ manualCpaBidMicros?: bigint; /** * Target CPA bid for the category. Value is in micros and in the * advertiser's currency. */ targetCpaBidMicros?: bigint; } function serializeGoogleAdsSearchads360V23Resources_Campaign_CategoryBid(data: any): GoogleAdsSearchads360V23Resources_Campaign_CategoryBid { return { ...data, manualCpaBidMicros: data["manualCpaBidMicros"] !== undefined ? String(data["manualCpaBidMicros"]) : undefined, targetCpaBidMicros: data["targetCpaBidMicros"] !== undefined ? String(data["targetCpaBidMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources_Campaign_CategoryBid(data: any): GoogleAdsSearchads360V23Resources_Campaign_CategoryBid { return { ...data, manualCpaBidMicros: data["manualCpaBidMicros"] !== undefined ? BigInt(data["manualCpaBidMicros"]) : undefined, targetCpaBidMicros: data["targetCpaBidMicros"] !== undefined ? BigInt(data["targetCpaBidMicros"]) : undefined, }; } /** * Settings for Demand Gen campaign. */ export interface GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings { /** * Immutable. Specifies whether this campaign uses upgraded targeting * options. When this field is set to `true`, you can use location and * language targeting at the ad group level as opposed to the standard * campaign-level targeting. */ upgradedTargeting?: boolean; } /** * The setting for controlling Dynamic Search Ads (DSA). */ export interface GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting { /** * Required. The Internet domain name that this setting represents, for * example, "google.com" or "www.google.com". */ domainName?: string; /** * Required. The language code specifying the language of the domain, for * example, "en". */ languageCode?: string; /** * Whether the campaign uses advertiser supplied URLs exclusively. */ useSuppliedUrlsOnly?: boolean; } /** * Represents a collection of settings related to ads geotargeting. */ export interface GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting { /** * The setting used for negative geotargeting in this particular campaign. */ negativeGeoTargetType?: | "UNSPECIFIED" | "UNKNOWN" | "PRESENCE_OR_INTEREST" | "PRESENCE"; /** * The setting used for positive geotargeting in this particular campaign. */ positiveGeoTargetType?: | "UNSPECIFIED" | "UNKNOWN" | "PRESENCE_OR_INTEREST" | "SEARCH_INTEREST" | "PRESENCE"; } /** * Campaign-level settings for hotel ads. */ export interface GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo { /** * Output only. The linked Hotel Center account. */ readonly hotelCenterId?: bigint; } /** * Campaign setting for local campaigns. */ export interface GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting { /** * The location source type for this local campaign. */ locationSourceType?: | "UNSPECIFIED" | "UNKNOWN" | "GOOGLE_MY_BUSINESS" | "AFFILIATE"; } /** * Settings for LocalServicesCampaign subresource. */ export interface GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings { /** * Categorical level bids associated with MANUAL_CPA bidding strategy. */ categoryBids?: GoogleAdsSearchads360V23Resources_Campaign_CategoryBid[]; } function serializeGoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings(data: any): GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings { return { ...data, categoryBids: data["categoryBids"] !== undefined ? data["categoryBids"].map((item: any) => (serializeGoogleAdsSearchads360V23Resources_Campaign_CategoryBid(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings(data: any): GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings { return { ...data, categoryBids: data["categoryBids"] !== undefined ? data["categoryBids"].map((item: any) => (deserializeGoogleAdsSearchads360V23Resources_Campaign_CategoryBid(item))) : undefined, }; } /** * The network settings for the campaign. */ export interface GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings { /** * Whether ads will be served on specified placements in the Google Display * Network. Placements are specified using the Placement criterion. */ targetContentNetwork?: boolean; /** * Whether ads will be served with google.com search results. */ targetGoogleSearch?: boolean; /** * Whether ads will be served on the Google TV network. */ targetGoogleTvNetwork?: boolean; /** * Whether ads will be served on the partner network. This is available only * to some select partner accounts. Unless you have been instructed to use * this field, it likely does not apply to your account. This does not control * whether ads will be served on Google Search Partners Network; use * `target_search_network` for that instead. */ targetPartnerSearchNetwork?: boolean; /** * Whether ads will be served on sites in the Google Search Partners Network * (requires `target_google_search` to also be `true`). */ targetSearchNetwork?: boolean; /** * Whether ads will be served on YouTube. */ targetYoutube?: boolean; } /** * Optimization goal setting for this campaign, which includes a set of * optimization goal types. */ export interface GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting { /** * The list of optimization goal types. */ optimizationGoalTypes?: | "UNSPECIFIED" | "UNKNOWN" | "CALL_CLICKS" | "DRIVING_DIRECTIONS" | "APP_PRE_REGISTRATION"[]; } /** * Information about a campaign being upgraded to Performance Max. */ export interface GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade { /** * Output only. The resource name of the Performance Max campaign the * campaign is upgraded to. */ readonly performanceMaxCampaign?: string; /** * Output only. The resource name of the legacy campaign upgraded to * Performance Max. */ readonly preUpgradeCampaign?: string; /** * Output only. The upgrade status of a campaign requested to be upgraded to * Performance Max. */ readonly status?: | "UNSPECIFIED" | "UNKNOWN" | "UPGRADE_IN_PROGRESS" | "UPGRADE_COMPLETE" | "UPGRADE_FAILED" | "UPGRADE_ELIGIBLE"; } /** * Settings for Performance Max campaigns. */ export interface GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings { /** * Overrides of brand targeting for various ad types. */ brandTargetingOverrides?: GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides; } /** * Selective optimization setting for this campaign, which includes a set of * conversion actions to optimize this campaign towards. This feature only * applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and * APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. */ export interface GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization { /** * The selected set of resource names for conversion actions for optimizing * this campaign. */ conversionActions?: string[]; } /** * The setting for Shopping campaigns. Defines the universe of products that * can be advertised by the campaign, and how this campaign interacts with other * Shopping campaigns. */ export interface GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting { /** * The list of Google Ads accounts IDs of advertising partners cooperating * within the campaign. This feature is currently available only for accounts * having an advertising partner link. This feature is currently supported * only for Performance Max, Shopping, Search and Demand Gen campaign types. */ advertisingPartnerIds?: bigint[]; /** * Priority of the campaign. Campaigns with numerically higher priorities * take precedence over those with lower priorities. This field is required * for Shopping campaigns, with values between 0 and 2, inclusive. This field * is optional for Smart Shopping campaigns, but must be equal to 3 if set. */ campaignPriority?: number; /** * Disable the optional product feed. This field is currently supported only * for Demand Gen campaigns. See * https://support.google.com/google-ads/answer/13721750 to learn more about * this feature. */ disableProductFeed?: boolean; /** * Whether to include local products. */ enableLocal?: boolean; /** * Feed label of products to include in the campaign. Valid feed labels may * contain a maximum of 20 characters including uppercase letters, numbers, * hyphens, and underscores. If you previously used the deprecated * `sales_country` in the two-letter country code (`XX`) format, the * `feed_label` field should be used instead. For more information see the * [feed label](//support.google.com/merchants/answer/12453549) support * article. */ feedLabel?: string; /** * ID of the Merchant Center account. This field is required for create * operations. This field is immutable for Shopping campaigns. */ merchantId?: bigint; /** * Immutable. Whether to target Vehicle Listing inventory. */ useVehicleInventory?: boolean; } function serializeGoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting(data: any): GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting { return { ...data, advertisingPartnerIds: data["advertisingPartnerIds"] !== undefined ? data["advertisingPartnerIds"].map((item: any) => (String(item))) : undefined, merchantId: data["merchantId"] !== undefined ? String(data["merchantId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting(data: any): GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting { return { ...data, advertisingPartnerIds: data["advertisingPartnerIds"] !== undefined ? data["advertisingPartnerIds"].map((item: any) => (BigInt(item))) : undefined, merchantId: data["merchantId"] !== undefined ? BigInt(data["merchantId"]) : undefined, }; } /** * Campaign-level settings for tracking information. */ export interface GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting { /** * Output only. The url used for dynamic tracking. */ readonly trackingUrl?: string; } /** * Settings for Travel campaign. */ export interface GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings { /** * Immutable. The Travel account ID associated with the Travel campaign. */ travelAccountId?: bigint; } function serializeGoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings(data: any): GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings { return { ...data, travelAccountId: data["travelAccountId"] !== undefined ? String(data["travelAccountId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings(data: any): GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings { return { ...data, travelAccountId: data["travelAccountId"] !== undefined ? BigInt(data["travelAccountId"]) : undefined, }; } /** * Describes how unbranded pharma ads will be displayed. */ export interface GoogleAdsSearchads360V23Resources_Campaign_VanityPharma { /** * The display mode for vanity pharma URLs. */ vanityPharmaDisplayUrlMode?: | "UNSPECIFIED" | "UNKNOWN" | "MANUFACTURER_WEBSITE_URL" | "WEBSITE_DESCRIPTION"; /** * The text that will be displayed in display URL of the text ad when website * description is the selected display mode for vanity pharma URLs. */ vanityPharmaText?: | "UNSPECIFIED" | "UNKNOWN" | "PRESCRIPTION_TREATMENT_WEBSITE_EN" | "PRESCRIPTION_TREATMENT_WEBSITE_ES" | "PRESCRIPTION_DEVICE_WEBSITE_EN" | "PRESCRIPTION_DEVICE_WEBSITE_ES" | "MEDICAL_DEVICE_WEBSITE_EN" | "MEDICAL_DEVICE_WEBSITE_ES" | "PREVENTATIVE_TREATMENT_WEBSITE_EN" | "PREVENTATIVE_TREATMENT_WEBSITE_ES" | "PRESCRIPTION_CONTRACEPTION_WEBSITE_EN" | "PRESCRIPTION_CONTRACEPTION_WEBSITE_ES" | "PRESCRIPTION_VACCINE_WEBSITE_EN" | "PRESCRIPTION_VACCINE_WEBSITE_ES"; } /** * Overrides of brand targeting for various ad types. */ export interface GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides { /** * If true, brand exclusions are ignored for Shopping ads. */ ignoreExclusionsForShoppingAds?: boolean; } /** * A wrapper proto presenting all supported resources. Only the resource of the * change_resource_type will be set. */ export interface GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource { /** * Output only. Set if change_resource_type == AD. */ readonly ad?: GoogleAdsSearchads360V23Resources__Ad; /** * Output only. Set if change_resource_type == AD_GROUP. */ readonly adGroup?: GoogleAdsSearchads360V23Resources__AdGroup; /** * Output only. Set if change_resource_type == AD_GROUP_AD. */ readonly adGroupAd?: GoogleAdsSearchads360V23Resources__AdGroupAd; /** * Output only. Set if change_resource_type == AD_GROUP_ASSET. */ readonly adGroupAsset?: GoogleAdsSearchads360V23Resources__AdGroupAsset; /** * Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER. */ readonly adGroupBidModifier?: GoogleAdsSearchads360V23Resources__AdGroupBidModifier; /** * Output only. Set if change_resource_type == AD_GROUP_CRITERION. */ readonly adGroupCriterion?: GoogleAdsSearchads360V23Resources__AdGroupCriterion; /** * Output only. Set if change_resource_type == ASSET. */ readonly asset?: GoogleAdsSearchads360V23Resources__Asset; /** * Output only. Set if change_resource_type == ASSET_SET. */ readonly assetSet?: GoogleAdsSearchads360V23Resources__AssetSet; /** * Output only. Set if change_resource_type == ASSET_SET_ASSET. */ readonly assetSetAsset?: GoogleAdsSearchads360V23Resources__AssetSetAsset; /** * Output only. Set if change_resource_type == CAMPAIGN. */ readonly campaign?: GoogleAdsSearchads360V23Resources__Campaign; /** * Output only. Set if change_resource_type == CAMPAIGN_ASSET. */ readonly campaignAsset?: GoogleAdsSearchads360V23Resources__CampaignAsset; /** * Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET. */ readonly campaignAssetSet?: GoogleAdsSearchads360V23Resources__CampaignAssetSet; /** * Output only. Set if change_resource_type == CAMPAIGN_BUDGET. */ readonly campaignBudget?: GoogleAdsSearchads360V23Resources__CampaignBudget; /** * Output only. Set if change_resource_type == CAMPAIGN_CRITERION. */ readonly campaignCriterion?: GoogleAdsSearchads360V23Resources__CampaignCriterion; /** * Output only. Set if change_resource_type == CUSTOMER_ASSET. */ readonly customerAsset?: GoogleAdsSearchads360V23Resources__CustomerAsset; } /** * Settings related to this conversion action's attribution model. */ export interface GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings { /** * The attribution model type of this conversion action. */ attributionModel?: | "UNSPECIFIED" | "UNKNOWN" | "EXTERNAL" | "GOOGLE_ADS_LAST_CLICK" | "GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK" | "GOOGLE_SEARCH_ATTRIBUTION_LINEAR" | "GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY" | "GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED" | "GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN"; /** * Output only. The status of the data-driven attribution model for the * conversion action. */ readonly dataDrivenModelStatus?: | "UNSPECIFIED" | "UNKNOWN" | "AVAILABLE" | "STALE" | "EXPIRED" | "NEVER_GENERATED"; } /** * Settings related to a Firebase conversion action. */ export interface GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings { /** * Output only. The event name of a Firebase conversion. */ readonly eventName?: string; /** * Output only. The Firebase project ID of the conversion. */ readonly projectId?: string; /** * Output only. The GA property ID of the conversion. */ readonly propertyId?: bigint; /** * Output only. The GA property name of the conversion. */ readonly propertyName?: string; } /** * Settings related to a Floodlight conversion action. */ export interface GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings { /** * Output only. String used to identify a Floodlight activity group when * reporting conversions. */ readonly activityGroupTag?: string; /** * Output only. ID of the Floodlight activity in DoubleClick Campaign Manager * (DCM). */ readonly activityId?: bigint; /** * Output only. String used to identify a Floodlight activity when reporting * conversions. */ readonly activityTag?: string; } /** * Settings related to a Google Analytics 4 conversion action. */ export interface GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings { /** * Output only. The name of the GA 4 event. */ readonly eventName?: string; /** * Output only. The ID of the GA 4 property. */ readonly propertyId?: bigint; /** * Output only. The name of the GA 4 property. */ readonly propertyName?: string; } /** * Settings related to a third party app analytics conversion action. */ export interface GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings { /** * Output only. The event name of a third-party app analytics conversion. */ readonly eventName?: string; /** * Output only. Name of the third-party app analytics provider. */ readonly providerName?: string; } /** * Settings related to the value for conversion events associated with this * conversion action. */ export interface GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings { /** * Controls whether the default value and default currency code are used in * place of the value and currency code specified in conversion events for * this conversion action. */ alwaysUseDefaultValue?: boolean; /** * The currency code to use when conversion events for this conversion action * are sent with an invalid or missing currency code, or when this conversion * action is configured to always use the default value. */ defaultCurrencyCode?: string; /** * The value to use when conversion events for this conversion action are * sent with an invalid, disallowed or missing value, or when this conversion * action is configured to always use the default value. */ defaultValue?: number; } /** * Information for Search Ads 360 Floodlight Conversion Custom Variables. */ export interface GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo { /** * Output only. Floodlight variable data type defined in Search Ads 360. */ readonly floodlightVariableDataType?: | "UNSPECIFIED" | "UNKNOWN" | "NUMBER" | "STRING"; /** * Output only. Floodlight variable type defined in Search Ads 360. */ readonly floodlightVariableType?: | "UNSPECIFIED" | "UNKNOWN" | "DIMENSION" | "METRIC" | "UNSET"; } /** * Action applied when rule is applied. */ export interface GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction { /** * Specifies applied operation. */ operation?: | "UNSPECIFIED" | "UNKNOWN" | "ADD" | "MULTIPLY" | "SET"; /** * Specifies applied value. */ value?: number; } /** * Condition on Audience dimension. */ export interface GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition { /** * User Interests. */ userInterests?: string[]; /** * User Lists. */ userLists?: string[]; } /** * Condition on Device dimension. */ export interface GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition { /** * Value for device type condition. */ deviceTypes?: | "UNSPECIFIED" | "UNKNOWN" | "MOBILE" | "DESKTOP" | "TABLET"[]; } /** * Condition on Geo dimension. */ export interface GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition { /** * Excluded Geo location match type. */ excludedGeoMatchType?: | "UNSPECIFIED" | "UNKNOWN" | "ANY" | "LOCATION_OF_PRESENCE"; /** * Geo locations that advertisers want to exclude. */ excludedGeoTargetConstants?: string[]; /** * Included Geo location match type. */ geoMatchType?: | "UNSPECIFIED" | "UNKNOWN" | "ANY" | "LOCATION_OF_PRESENCE"; /** * Geo locations that advertisers want to include. */ geoTargetConstants?: string[]; } /** * Range for the number of days between the date of the booking and the start * of the itinerary. */ export interface GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow { /** * Maximum number of days between the date of the booking the start date. */ maxDays?: number; /** * Minimum number of days between the date of the booking the start date. */ minDays?: number; } /** * Condition on Itinerary dimension. */ export interface GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition { /** * Range for the number of days between the date of the booking and the start * of the itinerary. */ advanceBookingWindow?: GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow; /** * Range for the itinerary length in number of nights. */ travelLength?: GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength; /** * The days of the week on which this itinerary's travel can start. */ travelStartDay?: GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay; } /** * Range for the itinerary length in number of nights. */ export interface GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength { /** * Maximum number of days between the start date and the end date. */ maxNights?: number; /** * Minimum number of nights between the start date and the end date. */ minNights?: number; } /** * The days of the week on which an itinerary's travel can start. */ export interface GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay { /** * The travel can start on Friday. */ friday?: boolean; /** * The travel can start on Monday. */ monday?: boolean; /** * The travel can start on Saturday. */ saturday?: boolean; /** * The travel can start on Sunday. */ sunday?: boolean; /** * The travel can start on Thursday. */ thursday?: boolean; /** * The travel can start on Tuesday. */ tuesday?: boolean; /** * The travel can start on Wednesday. */ wednesday?: boolean; } /** * The CustomerLink specific SkAdNetworkConversionValueSchema. */ export interface GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema { /** * Required. Output only. Apple App Store app ID. */ readonly appId?: string; /** * Output only. Fine grained conversion value mappings. */ readonly fineGrainedConversionValueMappings?: GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings[]; /** * Output only. A time window (measured in hours) post-install, after which * the App Attribution Partner or advertiser stops calling * [updateConversionValue] * (https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue). */ readonly measurementWindowHours?: number; /** * Output only. Per-postback conversion value mappings for postbacks in * multiple conversion windows. Only applicable for SkAdNetwork versions >= * 4.0. */ readonly postbackMappings?: GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping[]; } /** * Mappings for coarse grained conversion values. */ export interface GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings { /** * Output only. Mapping for "high" coarse conversion value. */ readonly highConversionValueMapping?: GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping; /** * Output only. Mapping for "low" coarse conversion value. */ readonly lowConversionValueMapping?: GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping; /** * Output only. Mapping for "medium" coarse conversion value. */ readonly mediumConversionValueMapping?: GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping; } /** * Represents mapping from one conversion value to one or more conversion * events. */ export interface GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping { /** * Output only. The conversion value may be mapped to multiple events with * various attributes. */ readonly mappedEvents?: GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event[]; /** * Output only. The maximum of the time range in which a user was last active * during the measurement window. */ readonly maxTimePostInstallHours?: bigint; /** * Output only. The minimum of the time range in which a user was last active * during the measurement window. */ readonly minTimePostInstallHours?: bigint; } /** * Defines a Google conversion event that the conversion value is mapped to. */ export interface GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event { /** * Output only. The reported currency for the event_revenue. ISO 4217 * three-letter currency code, for example, "USD" */ readonly currencyCode?: string; /** * Output only. For specific event counter values. */ readonly eventCounter?: bigint; /** * Output only. The event counter range. */ readonly eventOccurrenceRange?: GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange; /** * Output only. The event revenue range. */ readonly eventRevenueRange?: GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange; /** * Output only. The specific event revenue value. */ readonly eventRevenueValue?: number; /** * Output only. Google event name represented by this conversion value. */ readonly mappedEventName?: string; } /** * Mappings for fine grained conversion value. */ export interface GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings { /** * Output only. Conversion events the fine grained conversion value maps to. */ readonly conversionValueMapping?: GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping; /** * Output only. Fine grained conversion value. Valid values are in the * inclusive range [0,63]. */ readonly fineGrainedConversionValue?: number; } /** * Mappings for each postback in multiple conversion windows. */ export interface GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping { /** * Output only. Conversion value mappings for all coarse grained conversion * values. */ readonly coarseGrainedConversionValueMappings?: GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings; /** * Output only. Coarse grained conversion value that triggers conversion * window lock. */ readonly lockWindowCoarseConversionValue?: | "UNSPECIFIED" | "UNKNOWN" | "UNAVAILABLE" | "LOW" | "MEDIUM" | "HIGH" | "NONE"; /** * Output only. Event name that triggers conversion window lock. */ readonly lockWindowEvent?: string; /** * Output only. Fine grained conversion value that triggers conversion window * lock. */ readonly lockWindowFineConversionValue?: number; /** * Output only. 0-based index that indicates the order of postback. Valid * values are in the inclusive range [0,2]. */ readonly postbackSequenceIndex?: number; } /** * Defines a range for event counter values. */ export interface GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange { /** * Output only. For event counter ranges, the maximum of the defined range. A * value of 0 will be treated as unset. */ readonly maxEventCount?: bigint; /** * Output only. For event counter ranges, the minimum of the defined range. A * value of 0 will be treated as unset. */ readonly minEventCount?: bigint; } /** * Defines a range for revenue values. */ export interface GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange { /** * Output only. For revenue ranges, the maximum value in `currency_code` for * which this conversion value would be updated. A value of 0 will be treated * as unset. */ readonly maxEventRevenue?: number; /** * Output only. For revenue ranges, the minimum value in `currency_code` for * which this conversion value would be updated. A value of 0 will be treated * as unset. */ readonly minEventRevenue?: number; } /** * Holds the details of an asset within an asset group for an Optimize Assets * experiment arm. */ export interface GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo { /** * Asset resource name of the asset group asset. */ asset?: string; /** * Field type of the asset group asset. */ fieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; } /** * Holds the asset groups included in an arm of an Optimize Assets experiment. */ export interface GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo { /** * Asset group resource name. */ assetGroup?: string; /** * List of asset group assets under the asset group. */ assetGroupAssets?: GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo[]; } /** * Represents a summarized account budget billable cost. */ export interface GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary { /** * Output only. The resource name of the account budget associated with this * summarized billable cost. AccountBudget resource names have the form: * `customers/{customer_id}/accountBudgets/{account_budget_id}` */ readonly accountBudget?: string; /** * Output only. The name of the account budget. It appears on the invoice PDF * as "Account budget". */ readonly accountBudgetName?: string; /** * Output only. The billable activity date range of the account budget, * within the service date range of this invoice. The end date is inclusive. * This can be different from the account budget's start and end time. */ readonly billableActivityDateRange?: GoogleAdsSearchads360V23Common__DateRange; /** * Output only. The pretax billed amount attributable to this budget during * the service period, in micros. This does not account for any adjustments. */ readonly billedAmountMicros?: bigint; /** * Output only. The list of summarized campaign level information associated * with this account budget. */ readonly campaignSummaries?: GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary[]; /** * Output only. The resource name of the customer associated with this * account budget. This contains the customer ID, which appears on the invoice * PDF as "Account ID". Customer resource names have the form: * `customers/{customer_id}` */ readonly customer?: string; /** * Output only. The descriptive name of the account budget's customer. It * appears on the invoice PDF as "Account". */ readonly customerDescriptiveName?: string; /** * Output only. The pretax invalid activity amount attributable to this * budget in previous months, in micros (negative value). */ readonly invalidActivityAmountMicros?: bigint; /** * Output only. The list of summarized invalid activity credits with original * linkages. */ readonly invalidActivitySummaries?: GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary[]; /** * Output only. The pretax overdelivery amount attributable to this budget * during the service period, in micros (negative value). */ readonly overdeliveryAmountMicros?: bigint; /** * Output only. The purchase order number of the account budget. It appears * on the invoice PDF as "Purchase order". */ readonly purchaseOrderNumber?: string; /** * Output only. The pretax served amount attributable to this budget during * the service period, in micros. This is only useful to reconcile invoice and * delivery data. */ readonly servedAmountMicros?: bigint; /** * Output only. The pretax subtotal amount attributable to this budget during * the service period, in micros. */ readonly subtotalAmountMicros?: bigint; /** * Output only. The tax amount attributable to this budget during the service * period, in micros. */ readonly taxAmountMicros?: bigint; /** * Output only. The total amount attributable to this budget during the * service period, in micros. This equals the sum of the account budget * subtotal amount and the account budget tax amount. */ readonly totalAmountMicros?: bigint; } /** * Represents a summarized view at account level. */ export interface GoogleAdsSearchads360V23Resources_Invoice_AccountSummary { /** * Output only. The list of adjustment information associated with this * account. */ readonly adjustmentSummaries?: GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary[]; /** * Output only. Pretax billing correction subtotal amount, in micros. */ readonly billingCorrectionSubtotalAmountMicros?: bigint; /** * Output only. Tax on billing correction, in micros. */ readonly billingCorrectionTaxAmountMicros?: bigint; /** * Output only. Total billing correction amount, in micros. */ readonly billingCorrectionTotalAmountMicros?: bigint; /** * Output only. Pretax coupon adjustment subtotal amount, in micros. */ readonly couponAdjustmentSubtotalAmountMicros?: bigint; /** * Output only. Tax on coupon adjustment, in micros. */ readonly couponAdjustmentTaxAmountMicros?: bigint; /** * Output only. Total coupon adjustment amount, in micros. */ readonly couponAdjustmentTotalAmountMicros?: bigint; /** * Output only. The account associated with the account summary. */ readonly customer?: string; /** * Output only. Pretax excess credit adjustment subtotal amount, in micros. */ readonly excessCreditAdjustmentSubtotalAmountMicros?: bigint; /** * Output only. Tax on excess credit adjustment, in micros. */ readonly excessCreditAdjustmentTaxAmountMicros?: bigint; /** * Output only. Total excess credit adjustment amount, in micros. */ readonly excessCreditAdjustmentTotalAmountMicros?: bigint; /** * Output only. Pretax export charge subtotal amount, in micros. */ readonly exportChargeSubtotalAmountMicros?: bigint; /** * Output only. Tax on export charge, in micros. */ readonly exportChargeTaxAmountMicros?: bigint; /** * Output only. Total export charge amount, in micros. */ readonly exportChargeTotalAmountMicros?: bigint; /** * Output only. Pretax regulatory costs subtotal amount, in micros. */ readonly regulatoryCostsSubtotalAmountMicros?: bigint; /** * Output only. Tax on regulatory costs, in micros. */ readonly regulatoryCostsTaxAmountMicros?: bigint; /** * Output only. Total regulatory costs amount, in micros. */ readonly regulatoryCostsTotalAmountMicros?: bigint; /** * Output only. The list of regulatory cost information associated with this * account. */ readonly regulatoryCostSummaries?: GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary[]; /** * Output only. Total pretax subtotal amount attributable to the account * during the service period, in micros. */ readonly subtotalAmountMicros?: bigint; /** * Output only. Total tax amount attributable to the account during the * service period, in micros. */ readonly taxAmountMicros?: bigint; /** * Output only. Total amount attributable to the account during the service * period, in micros. This equals the sum of the subtotal_amount_micros and * tax_amount_micros. */ readonly totalAmountMicros?: bigint; } /** * Represents adjustment information associated with an account. */ export interface GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary { /** * Output only. The description of the adjustment. Example: Incentive * Adjustment, discount. */ readonly adjustmentDescription?: string; /** * Output only. The amount of the adjustment, in micros. The currency code * for this amount is the same as the Invoice.currency_code. */ readonly amountMicros?: bigint; } /** * Represents campaign level billable cost information associated with an * account budget. */ export interface GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary { /** * Output only. The amount attributable to this campaign for the given unit * of measure during the service period, in micros. The currency code for this * amount is the same as the Invoice.currency_code. */ readonly amountMicros?: bigint; /** * Output only. The description of the campaign. This is generally the same * as the campaign name, but may differ. */ readonly campaignDescription?: string; /** * Output only. The quantity served for the given unit of measure. */ readonly quantity?: bigint; /** * Output only. The unit of measure for the quantity served. */ readonly unitOfMeasure?: | "UNSPECIFIED" | "UNKNOWN" | "CLICKS" | "IMPRESSIONS" | "ACQUISITIONS" | "PHONE_CALLS" | "VIDEO_PLAYS" | "DAYS" | "AUDIO_PLAYS" | "ENGAGEMENTS" | "SECONDS" | "LEADS" | "GUEST_STAYS" | "HOURS"; } /** * Details about the invalid activity for the invoice that contain additional * details about invoice against which corrections are made. */ export interface GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary { /** * Output only. Invalid activity amount in micros. */ readonly amountMicros?: bigint; /** * Output only. Original account budget name related to this invalid activity * credit. */ readonly originalAccountBudgetName?: string; /** * Output only. Original invoice number related to this invalid activity * credit. */ readonly originalInvoiceId?: string; /** * Output only. Original month of service related to this invalid activity * credit. */ readonly originalMonthOfService?: | "UNSPECIFIED" | "UNKNOWN" | "JANUARY" | "FEBRUARY" | "MARCH" | "APRIL" | "MAY" | "JUNE" | "JULY" | "AUGUST" | "SEPTEMBER" | "OCTOBER" | "NOVEMBER" | "DECEMBER"; /** * Output only. Original purchase order number related to this invalid * activity credit. */ readonly originalPurchaseOrderNumber?: string; /** * Output only. Original year of service related to this invalid activity * credit. */ readonly originalYearOfService?: string; } /** * Represents regulatory cost information associated with an account. */ export interface GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary { /** * Output only. The amount of the regulatory fee, in micros. The currency * code for this amount is the same as the Invoice.currency_code. */ readonly amountMicros?: bigint; /** * Output only. The type of regulatory fee. */ readonly regulatoryFeeType?: | "UNSPECIFIED" | "UNKNOWN" | "AUSTRIA_DST_FEE" | "TURKIYE_REGULATORY_OPERATING_COST" | "UK_DST_FEE" | "SPAIN_REGULATORY_OPERATING_COST" | "FRANCE_REGULATORY_OPERATING_COST" | "ITALY_REGULATORY_OPERATING_COST" | "INDIA_REGULATORY_OPERATING_COST" | "POLAND_REGULATORY_OPERATING_COST" | "OPERATING_CHARGES" | "CANADA_DST_FEE"; } /** * Brand of the product. */ export interface GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand { /** * String value of the product brand. */ value?: string; } /** * One element of a category at a certain level. Top-level categories are at * level 1, their children at level 2, and so on. We currently support up to 5 * levels. The user must specify a dimension type that indicates the level of * the category. All cases of the same subdivision must have the same dimension * type (category level). */ export interface GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory { /** * ID of the product category. This ID is equivalent to the * google_product_category ID as described in this article: * https://support.google.com/merchants/answer/6324436 */ categoryId?: bigint; /** * Indicates the level of the category in the taxonomy. */ level?: | "UNSPECIFIED" | "UNKNOWN" | "LEVEL1" | "LEVEL2" | "LEVEL3" | "LEVEL4" | "LEVEL5"; } function serializeGoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory(data: any): GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory { return { ...data, categoryId: data["categoryId"] !== undefined ? String(data["categoryId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory(data: any): GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory { return { ...data, categoryId: data["categoryId"] !== undefined ? BigInt(data["categoryId"]) : undefined, }; } /** * Locality of a product offer. */ export interface GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel { /** * Value of the locality. */ channel?: | "UNSPECIFIED" | "UNKNOWN" | "ONLINE" | "LOCAL"; } /** * Condition of a product offer. */ export interface GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition { /** * Value of the condition. */ condition?: | "UNSPECIFIED" | "UNKNOWN" | "NEW" | "REFURBISHED" | "USED"; } /** * Custom attribute of a product offer. */ export interface GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute { /** * Indicates the index of the custom attribute. */ index?: | "UNSPECIFIED" | "UNKNOWN" | "INDEX0" | "INDEX1" | "INDEX2" | "INDEX3" | "INDEX4"; /** * String value of the product custom attribute. */ value?: string; } /** * Item id of a product offer. */ export interface GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId { /** * Value of the id. */ value?: string; } /** * Type of a product offer. */ export interface GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType { /** * Level of the type. */ level?: | "UNSPECIFIED" | "UNKNOWN" | "LEVEL1" | "LEVEL2" | "LEVEL3" | "LEVEL4" | "LEVEL5"; /** * Value of the type. */ value?: string; } /** * Filters for URLs in a page feed and URLs from the advertiser web domain. * Several root nodes with this dimension are allowed in an asset group and * their conditions are considered in OR. */ export interface GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage { /** * The webpage conditions are case sensitive and these are and-ed together * when evaluated for filtering. All the conditions should be of same type. * Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = * www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains * conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has * Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as * custom_label conditions, URL1 will be matched but not URL2. With Label2 as * the only custom_label condition then both URL1 and URL2 will be matched. */ conditions?: GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition[]; } /** * Matching condition for URL filtering. */ export interface GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition { /** * Filters the URLs in a page feed that have this custom label. A custom * label can be added to a campaign by creating an AssetSet of type PAGE_FEED * and linking it to the campaign using CampaignAssetSet. */ customLabel?: string; /** * Filters the URLs in a page feed and the URLs from the advertiser web * domain that contain this string. */ urlContains?: string; } /** * Localization for the product category. */ export interface GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization { /** * Output only. Two-letter ISO 639-1 language code of the localized category. */ readonly languageCode?: string; /** * Output only. Upper-case two-letter ISO 3166-1 country code of the * localized category. */ readonly regionCode?: string; /** * Output only. The name of the category in the specified locale. */ readonly value?: string; } /** * Wrapper for information about a Google Ads account. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo { /** * Output only. The customer ID of the account. */ readonly customerId?: bigint; /** * Output only. The descriptive name of the account. */ readonly descriptiveName?: string; } /** * The call asset recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation { } /** * The callout asset recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation { /** * Output only. New callout extension assets recommended at the campaign * level. */ readonly recommendedCampaignCalloutAssets?: GoogleAdsSearchads360V23Resources__Asset[]; /** * Output only. New callout extension assets recommended at the customer * level. */ readonly recommendedCustomerCalloutAssets?: GoogleAdsSearchads360V23Resources__Asset[]; } /** * A campaign budget shared amongst various budget recommendation types. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget { /** * Output only. Current budget amount. */ readonly currentAmountMicros?: bigint; /** * Output only. The date when the new budget would start being used. This * field will be set for the following recommendation types: * FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17. */ readonly newStartDate?: string; /** * Output only. Recommended budget amount. */ readonly recommendedNewAmountMicros?: bigint; } /** * The budget recommendation for budget constrained campaigns. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation { /** * Output only. The budget amounts and associated impact estimates for some * values of possible budget amounts. */ readonly budgetOptions?: GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption[]; /** * Output only. The current budget amount in micros. */ readonly currentBudgetAmountMicros?: bigint; /** * Output only. The recommended budget amount in micros. */ readonly recommendedBudgetAmountMicros?: bigint; } /** * The Custom Audience Opt In recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation { /** * Output only. The list of keywords to use for custom audience creation. */ readonly keywords?: GoogleAdsSearchads360V23Common__KeywordInfo[]; } /** * The Display Expansion opt-in recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation { } /** * Recommendation to enable dynamic image extensions on the account, allowing * Google to find the best images from ad landing pages and complement text ads. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation { } /** * The Enhanced Cost-Per-Click Opt-In recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation { } /** * The set target CPA recommendations. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation { /** * Output only. The campaign budget. */ readonly campaignBudget?: GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget; /** * Output only. The recommended target CPA. */ readonly recommendedTargetCpaMicros?: bigint; } /** * The forecasting set target ROAS recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation { /** * Output only. The campaign budget. */ readonly campaignBudget?: GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget; /** * Output only. The recommended target ROAS (revenue per unit of spend). The * value is between 0.01 and 1000.0, inclusive. */ readonly recommendedTargetRoas?: number; } /** * The improve Demand Gen ad strength recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation { /** * Output only. The resource name of the ad that can be improved. */ readonly ad?: string; /** * Output only. The current ad strength. */ readonly adStrength?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "NO_ADS" | "POOR" | "AVERAGE" | "GOOD" | "EXCELLENT"; /** * Output only. A list of recommendations to improve the ad strength. */ readonly demandGenAssetActionItems?: string[]; } /** * Recommendation to deploy Google Tag on more pages. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation { } /** * Recommendation to improve the asset group strength of a Performance Max * campaign to an "Excellent" rating. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation { /** * Output only. The current ad strength score of the asset group. */ readonly adStrength?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING" | "NO_ADS" | "POOR" | "AVERAGE" | "GOOD" | "EXCELLENT"; /** * Output only. The asset group resource name. */ readonly assetGroup?: string; } /** * The keyword match type recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation { /** * Output only. The existing keyword where the match type should be more * broad. */ readonly keyword?: GoogleAdsSearchads360V23Common__KeywordInfo; /** * Output only. The recommended new match type. */ readonly recommendedMatchType?: | "UNSPECIFIED" | "UNKNOWN" | "EXACT" | "PHRASE" | "BROAD"; } /** * The keyword recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation { /** * Output only. The recommended keyword. */ readonly keyword?: GoogleAdsSearchads360V23Common__KeywordInfo; /** * Output only. The recommended CPC (cost-per-click) bid. */ readonly recommendedCpcBidMicros?: bigint; /** * Output only. A list of search terms this keyword matches. The same search * term may be repeated for multiple keywords. */ readonly searchTerms?: GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm[]; } /** * The lead form asset recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation { } /** * Recommendation to lower Target ROAS. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation { /** * Output only. The relevant information describing the recommended target * adjustment. */ readonly targetAdjustment?: GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo; } /** * The Maximize Clicks opt-in recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation { /** * Output only. The recommended new budget amount. Only set if the current * budget is too high. */ readonly recommendedBudgetAmountMicros?: bigint; } /** * The Maximize Conversions Opt-In recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation { /** * Output only. The recommended new budget amount. */ readonly recommendedBudgetAmountMicros?: bigint; } /** * Recommendation to opt into Maximize Conversion Value bidding strategy. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation { } /** * The Merchant Center account details. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo { /** * Output only. The Merchant Center account ID. */ readonly id?: bigint; /** * Output only. Whether the Merchant Center account is a Multi-Client account * (MCA). */ readonly multiClient?: boolean; /** * Output only. The name of the Merchant Center account. */ readonly name?: string; } /** * The Dynamic Search Ads to Performance Max migration recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation { /** * Output only. A link to the Google Ads UI where the customer can manually * apply the recommendation. */ readonly applyLink?: string; } /** * The move unused budget recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation { /** * Output only. The recommendation for the constrained budget to increase. */ readonly budgetRecommendation?: GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation; /** * Output only. The excess budget's resource_name. */ readonly excessCampaignBudget?: string; } /** * The Optimize Ad Rotation recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation { } /** * Recommendation to turn on Final URL expansion for your Performance Max * campaigns. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation { } /** * The Performance Max Opt In recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation { } /** * The raise target CPA bid too low recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation { /** * Output only. The current average target CPA of the campaign, in micros of * customer local currency. */ readonly averageTargetCpaMicros?: bigint; /** * Output only. A number greater than 1.0 indicating the factor by which we * recommend the target CPA should be increased. */ readonly recommendedTargetMultiplier?: number; } /** * Recommendation to raise Target CPA. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation { /** * Output only. Represents the goal towards which the bidding strategy should * optimize. Only populated for App Campaigns. */ readonly appBiddingGoal?: | "UNSPECIFIED" | "UNKNOWN" | "OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME" | "OPTIMIZE_FOR_IN_APP_CONVERSION_VOLUME" | "OPTIMIZE_FOR_TOTAL_CONVERSION_VALUE" | "OPTIMIZE_FOR_TARGET_IN_APP_CONVERSION" | "OPTIMIZE_FOR_RETURN_ON_ADVERTISING_SPEND" | "OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME_WITHOUT_TARGET_CPI" | "OPTIMIZE_FOR_PRE_REGISTRATION_CONVERSION_VOLUME"; /** * Output only. The relevant information describing the recommended target * adjustment. */ readonly targetAdjustment?: GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo; } /** * The impact of making the change as described in the recommendation. Some * types of recommendations may not have impact information. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact { /** * Output only. Base metrics at the time the recommendation was generated. */ readonly baseMetrics?: GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics; /** * Output only. Estimated metrics if the recommendation is applied. */ readonly potentialMetrics?: GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics; } /** * Weekly account performance metrics. For some recommendation types, these are * averaged over the past 90-day period and hence can be fractional. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics { /** * Output only. Number of ad clicks. */ readonly clicks?: number; /** * Output only. Number of conversions. */ readonly conversions?: number; /** * Output only. Sum of the conversion value of the conversions. */ readonly conversionsValue?: number; /** * Output only. Cost (in micros) for advertising, in the local currency for * the account. */ readonly costMicros?: bigint; /** * Output only. Number of ad impressions. */ readonly impressions?: number; /** * Output only. Number of video views for a video ad campaign. */ readonly videoViews?: number; } /** * The recommendation to update a customer list that hasn't been updated in the * last 90 days. The customer receiving the recommendation is not necessarily * the owner account. The owner account should update the customer list. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation { /** * Output only. Days since last refresh. */ readonly daysSinceLastRefresh?: bigint; /** * Output only. The owner account. This is the account that should update the * customer list. */ readonly ownerAccount?: GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo; /** * Output only. User lists can be shared with other accounts by the owner. * targeting_accounts_count is the number of those accounts that can use it * for targeting. */ readonly targetingAccountsCount?: bigint; /** * Output only. The top spending account. */ readonly topSpendingAccount?: GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo[]; /** * Output only. The user list ID. */ readonly userListId?: bigint; /** * Output only. The name of the list. */ readonly userListName?: string; } /** * The add responsive search ad asset recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation { /** * Output only. The current ad to be updated. */ readonly currentAd?: GoogleAdsSearchads360V23Resources__Ad; /** * Output only. The recommended assets. This is populated only with the new * headlines and/or descriptions, and is otherwise empty. */ readonly recommendedAssets?: GoogleAdsSearchads360V23Resources__Ad; } /** * The responsive search ad improve ad strength recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation { /** * Output only. The current ad to be updated. */ readonly currentAd?: GoogleAdsSearchads360V23Resources__Ad; /** * Output only. The updated ad. */ readonly recommendedAd?: GoogleAdsSearchads360V23Resources__Ad; } /** * The add responsive search ad recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation { /** * Output only. Recommended ad. */ readonly ad?: GoogleAdsSearchads360V23Resources__Ad; } /** * The Search Partners Opt-In recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation { } /** * The shopping recommendation to add products to a Shopping Campaign * Inventory. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation { /** * Output only. The feed label for the campaign. */ readonly feedLabel?: string; /** * Output only. The details of the Merchant Center account. */ readonly merchant?: GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; /** * Output only. The reason why no products are attached to the campaign. */ readonly reason?: | "UNSPECIFIED" | "UNKNOWN" | "MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS" | "MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS_IN_FEED" | "ADS_ACCOUNT_EXCLUDES_OFFERS_FROM_CAMPAIGN" | "ALL_PRODUCTS_ARE_EXCLUDED_FROM_CAMPAIGN"; } /** * The shopping recommendation to fix disapproved products in a Shopping * Campaign Inventory. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation { /** * Output only. The numbers of products of the campaign that are disapproved. */ readonly disapprovedProductsCount?: bigint; /** * Output only. The feed label for the campaign. */ readonly feedLabel?: string; /** * Output only. The details of the Merchant Center account. */ readonly merchant?: GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; /** * Output only. The number of products of the campaign. */ readonly productsCount?: bigint; } /** * The shopping recommendation to fix Merchant Center account suspension * issues. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation { /** * Output only. The feed label of the campaign for which the suspension * happened. */ readonly feedLabel?: string; /** * Output only. The details of the Merchant Center account. */ readonly merchant?: GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; } /** * The shopping recommendation to migrate Regular Shopping Campaign targeted * offers to Performance Max campaigns. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation { /** * Output only. The feed label of the offers targeted by the campaigns * sharing this suggestion. */ readonly feedLabel?: string; /** * Output only. The details of the Merchant Center account. */ readonly merchant?: GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; } /** * The shopping recommendation to add an attribute to offers that are demoted * because it is missing. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation { /** * Output only. The number of online, servable offers that are demoted for * missing attributes. Visit the Merchant Center for more details. */ readonly demotedOffersCount?: bigint; /** * Output only. The campaign feed label. */ readonly feedLabel?: string; /** * Output only. The details of the Merchant Center account. */ readonly merchant?: GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; /** * Output only. The number of online, servable offers. */ readonly offersCount?: bigint; } /** * The shopping recommendation to create a catch-all campaign that targets all * offers. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation { /** * Output only. The offer feed label. */ readonly feedLabel?: string; /** * Output only. The details of the Merchant Center account. */ readonly merchant?: GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; /** * Output only. The number of untargeted offers. */ readonly untargetedOffersCount?: bigint; } /** * The sitelink asset recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation { /** * Output only. New sitelink assets recommended at the campaign level. */ readonly recommendedCampaignSitelinkAssets?: GoogleAdsSearchads360V23Resources__Asset[]; /** * Output only. New sitelink assets recommended at the customer level. */ readonly recommendedCustomerSitelinkAssets?: GoogleAdsSearchads360V23Resources__Asset[]; } /** * Information of a target adjustment recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo { /** * Output only. The current average target of the campaign or portfolio * targeted by this recommendation. */ readonly currentAverageTargetMicros?: bigint; /** * Output only. The factor by which we recommend the target to be adjusted * by. */ readonly recommendedTargetMultiplier?: number; /** * Output only. The shared set resource name of the portfolio bidding * strategy where the target is defined. Only populated if the recommendation * is portfolio level. */ readonly sharedSet?: string; } /** * The Target CPA opt-in recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation { /** * Output only. The available goals and corresponding options for Target CPA * strategy. */ readonly options?: GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption[]; /** * Output only. The recommended average CPA target. See required budget * amount and impact of using this recommendation in options list. */ readonly recommendedTargetCpaMicros?: bigint; } /** * The Target ROAS opt-in recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation { /** * Output only. The recommended target ROAS (revenue per unit of spend). The * value is between 0.01 and 1000.0, inclusive. */ readonly recommendedTargetRoas?: number; /** * Output only. The minimum campaign budget, in local currency for the * account, required to achieve the target ROAS. Amount is specified in * micros, where one million is equivalent to one currency unit. */ readonly requiredCampaignBudgetAmountMicros?: bigint; } /** * The text ad recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation { /** * Output only. Recommended ad. */ readonly ad?: GoogleAdsSearchads360V23Resources__Ad; /** * Output only. Date, if present, is the earliest when the recommendation * will be auto applied. YYYY-MM-DD format, for example, 2018-04-17. */ readonly autoApplyDate?: string; /** * Output only. Creation date of the recommended ad. YYYY-MM-DD format, for * example, 2018-04-17. */ readonly creationDate?: string; } /** * The Upgrade Local campaign to Performance Max campaign recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation { } /** * The upgrade a Smart Shopping campaign to a Performance Max campaign * recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation { /** * Output only. ID of Merchant Center account. */ readonly merchantId?: bigint; /** * Output only. Country whose products from merchant's inventory should be * included. */ readonly salesCountryCode?: string; } /** * The use broad match keyword recommendation. */ export interface GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation { /** * Output only. Total number of keywords in the campaign. */ readonly campaignKeywordsCount?: bigint; /** * Output only. Whether the associated campaign uses a shared budget. */ readonly campaignUsesSharedBudget?: boolean; /** * Output only. Sample of keywords to be expanded to Broad Match. */ readonly keyword?: GoogleAdsSearchads360V23Common__KeywordInfo[]; /** * Output only. The budget recommended to avoid becoming budget constrained * after applying the recommendation. */ readonly requiredCampaignBudgetAmountMicros?: bigint; /** * Output only. Total number of keywords to be expanded to Broad Match in the * campaign. */ readonly suggestedKeywordsCount?: bigint; } /** * The impact estimates for a given budget amount. */ export interface GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption { /** * Output only. The budget amount for this option. */ readonly budgetAmountMicros?: bigint; /** * Output only. The impact estimate if budget is changed to amount specified * in this option. */ readonly impact?: GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact; } /** * Information about a search term as related to a keyword recommendation. */ export interface GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm { /** * Output only. Estimated number of historical weekly searches for this * search term. */ readonly estimatedWeeklySearchCount?: bigint; /** * Output only. The text of the search term. */ readonly text?: string; } /** * The Target CPA opt-in option with impact estimate. */ export interface GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption { /** * Output only. The goal achieved by this option. */ readonly goal?: | "UNSPECIFIED" | "UNKNOWN" | "SAME_COST" | "SAME_CONVERSIONS" | "SAME_CPA" | "CLOSEST_CPA"; /** * Output only. The impact estimate if this option is selected. */ readonly impact?: GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact; /** * Output only. The minimum campaign budget, in local currency for the * account, required to achieve the target CPA. Amount is specified in micros, * where one million is equivalent to one currency unit. */ readonly requiredCampaignBudgetAmountMicros?: bigint; /** * Output only. Average CPA target. */ readonly targetCpaMicros?: bigint; } /** * An issue affecting whether a product can show in ads. */ export interface GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue { /** * Output only. The severity of the issue in Google Ads. */ readonly adsSeverity?: | "UNSPECIFIED" | "UNKNOWN" | "WARNING" | "ERROR"; /** * Output only. List of upper-case two-letter ISO 3166-1 codes of the regions * affected by the issue. If empty, all regions are affected. */ readonly affectedRegions?: string[]; /** * Output only. The name of the product's attribute, if any, that triggered * the issue. */ readonly attributeName?: string; /** * Output only. The short description of the issue in English. */ readonly description?: string; /** * Output only. The detailed description of the issue in English. */ readonly detail?: string; /** * Output only. The URL of the Help Center article for the issue. */ readonly documentation?: string; /** * Output only. The error code that identifies the issue. */ readonly errorCode?: string; } /** * Settings for configuring a business profile optimized for ads as this * campaign's landing page. */ export interface GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting { /** * Enabling a lead form on your business profile enables prospective * customers to contact your business by filling out a simple form, and you'll * receive their information through email. */ includeLeadForm?: boolean; } /** * Phone number and country code in smart campaign settings. */ export interface GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber { /** * Upper-case, two-letter country code as defined by ISO-3166. */ countryCode?: string; /** * Phone number of the smart campaign. */ phoneNumber?: string; } /** * A single operation to propose the creation of a new account-level budget or * edit/end/remove an existing one. */ export interface GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation { /** * Create operation: A new proposal to create a new budget, edit an existing * budget, end an actively running budget, or remove an approved budget * scheduled to start in the future. No resource name is expected for the new * proposal. */ create?: GoogleAdsSearchads360V23Resources__AccountBudgetProposal; /** * Remove operation: A resource name for the removed proposal is expected, in * this format: * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` * A request may be cancelled iff it is pending. */ remove?: string; /** * FieldMask that determines which budget fields are modified. While budgets * may be modified, proposals that propose such modifications are final. * Therefore, update operations are not supported for proposals. Proposals * that modify budgets have the 'update' proposal type. Specifying a mask for * any other proposal type is considered an error. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AccountBudgetProposalOperation(data: any): GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AccountBudgetProposal(data["create"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AccountBudgetProposalOperation(data: any): GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AccountBudgetProposal(data["create"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single update on an account link. */ export interface GoogleAdsSearchads360V23Services__AccountLinkOperation { /** * Remove operation: A resource name for the account link to remove is * expected, in this format: * `customers/{customer_id}/accountLinks/{account_link_id}` */ remove?: string; /** * Update operation: The account link is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__AccountLink; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AccountLinkOperation(data: any): GoogleAdsSearchads360V23Services__AccountLinkOperation { return { ...data, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AccountLink(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AccountLinkOperation(data: any): GoogleAdsSearchads360V23Services__AccountLinkOperation { return { ...data, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AccountLink(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Request message for BatchJobService.AddBatchJobOperations. */ export interface GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest { /** * Required. The list of mutates being added. Operations can use negative * integers as temp ids to signify dependencies between entities created in * this batch job. For example, a customer with id = 1234 can create a * campaign and an ad group in that same campaign by creating a campaign in * the first operation with the resource name explicitly set to * "customers/1234/campaigns/-1", and creating an ad group in the second * operation with the campaign field also set to * "customers/1234/campaigns/-1". */ mutateOperations?: GoogleAdsSearchads360V23Services__MutateOperation[]; /** * A token used to enforce sequencing. The first AddBatchJobOperations * request for a batch job should not set sequence_token. Subsequent requests * must set sequence_token to the value of next_sequence_token received in the * previous AddBatchJobOperations response. */ sequenceToken?: string; } function serializeGoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest(data: any): GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest { return { ...data, mutateOperations: data["mutateOperations"] !== undefined ? data["mutateOperations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest(data: any): GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest { return { ...data, mutateOperations: data["mutateOperations"] !== undefined ? data["mutateOperations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateOperation(item))) : undefined, }; } /** * Response message for BatchJobService.AddBatchJobOperations. */ export interface GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse { /** * The sequence token to be used when calling AddBatchJobOperations again if * more operations need to be added. The next AddBatchJobOperations request * must set the sequence_token field to the value of this field. */ nextSequenceToken?: string; /** * The total number of operations added so far for this batch job. */ totalOperations?: bigint; } function serializeGoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse(data: any): GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse { return { ...data, totalOperations: data["totalOperations"] !== undefined ? String(data["totalOperations"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse(data: any): GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse { return { ...data, totalOperations: data["totalOperations"] !== undefined ? BigInt(data["totalOperations"]) : undefined, }; } /** * Request message for * OfflineUserDataJobService.AddOfflineUserDataJobOperations. */ export interface GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest { /** * True to enable partial failure for the offline user data job. */ enablePartialFailure?: boolean; /** * True to enable warnings for the offline user data job. When enabled, a * warning will not block the OfflineUserDataJobOperation, and will also * return warning messages about malformed field values. */ enableWarnings?: boolean; /** * Required. The list of operations to be done. */ operations?: GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation[]; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest(data: any): GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__OfflineUserDataJobOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest(data: any): GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__OfflineUserDataJobOperation(item))) : undefined, }; } /** * Response message for * OfflineUserDataJobService.AddOfflineUserDataJobOperations. */ export interface GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * Non blocking errors that pertain to operation failures in the warnings * mode. Returned only when enable_warnings = true. */ warning?: GoogleRpc__Status; } /** * A single operation (create, remove) on an ad group ad label. */ export interface GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation { /** * Create operation: No resource name is expected for the new ad group ad * label. */ create?: GoogleAdsSearchads360V23Resources__AdGroupAdLabel; /** * Remove operation: A resource name for the ad group ad label being removed, * in this format: * `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}` */ remove?: string; } /** * A single operation (create, update, remove) on an ad group ad. */ export interface GoogleAdsSearchads360V23Services__AdGroupAdOperation { /** * Create operation: No resource name is expected for the new ad. */ create?: GoogleAdsSearchads360V23Resources__AdGroupAd; /** * Configuration for how policies are validated. */ policyValidationParameter?: GoogleAdsSearchads360V23Common__PolicyValidationParameter; /** * Remove operation: A resource name for the removed ad is expected, in this * format: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` */ remove?: string; /** * Update operation: The ad is expected to have a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__AdGroupAd; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AdGroupAdOperation(data: any): GoogleAdsSearchads360V23Services__AdGroupAdOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupAd(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupAd(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AdGroupAdOperation(data: any): GoogleAdsSearchads360V23Services__AdGroupAdOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupAd(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupAd(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on an ad group asset. */ export interface GoogleAdsSearchads360V23Services__AdGroupAssetOperation { /** * Create operation: No resource name is expected for the new ad group asset. */ create?: GoogleAdsSearchads360V23Resources__AdGroupAsset; /** * Remove operation: A resource name for the removed ad group asset is * expected, in this format: * `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}` */ remove?: string; /** * Update operation: The ad group asset is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__AdGroupAsset; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AdGroupAssetOperation(data: any): GoogleAdsSearchads360V23Services__AdGroupAssetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AdGroupAssetOperation(data: any): GoogleAdsSearchads360V23Services__AdGroupAssetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on an ad group asset set. */ export interface GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation { /** * Create operation: No resource name is expected for the new ad group asset * set. */ create?: GoogleAdsSearchads360V23Resources__AdGroupAssetSet; /** * Remove operation: A resource name for the removed ad group asset set is * expected, in this format: * `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}` */ remove?: string; } /** * A single operation (create, remove, update) on an ad group bid modifier. */ export interface GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation { /** * Create operation: No resource name is expected for the new ad group bid * modifier. */ create?: GoogleAdsSearchads360V23Resources__AdGroupBidModifier; /** * Remove operation: A resource name for the removed ad group bid modifier is * expected, in this format: * `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}` */ remove?: string; /** * Update operation: The ad group bid modifier is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__AdGroupBidModifier; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AdGroupBidModifierOperation(data: any): GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupBidModifier(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupBidModifier(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AdGroupBidModifierOperation(data: any): GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupBidModifier(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupBidModifier(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on a customizer attribute. */ export interface GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation { /** * Create operation: No resource name is expected for the new ad group * criterion customizer. */ create?: GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer; /** * Remove operation: A resource name for the removed ad group criterion * customizer is expected, in this format: * `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}` */ remove?: string; } /** * A single operation (create, remove) on an ad group criterion label. */ export interface GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation { /** * Create operation: No resource name is expected for the new ad group label. */ create?: GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel; /** * Remove operation: A resource name for the ad group criterion label being * removed, in this format: * `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` */ remove?: string; } /** * A single operation (create, remove, update) on an ad group criterion. */ export interface GoogleAdsSearchads360V23Services__AdGroupCriterionOperation { /** * Create operation: No resource name is expected for the new criterion. */ create?: GoogleAdsSearchads360V23Resources__AdGroupCriterion; /** * The list of policy violation keys that should not cause a * PolicyViolationError to be reported. Not all policy violations are * exemptable, refer to the is_exemptible field in the returned * PolicyViolationError. Resources violating these polices will be saved, but * will not be eligible to serve. They may begin serving at a later time due * to a change in policies, re-review of the resource, or a change in * advertiser certificates. */ exemptPolicyViolationKeys?: GoogleAdsSearchads360V23Common__PolicyViolationKey[]; /** * Remove operation: A resource name for the removed criterion is expected, * in this format: * `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}` */ remove?: string; /** * Update operation: The criterion is expected to have a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__AdGroupCriterion; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AdGroupCriterionOperation(data: any): GoogleAdsSearchads360V23Services__AdGroupCriterionOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupCriterion(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupCriterion(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AdGroupCriterionOperation(data: any): GoogleAdsSearchads360V23Services__AdGroupCriterionOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupCriterion(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupCriterion(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on a customizer attribute. */ export interface GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation { /** * Create operation: No resource name is expected for the new ad group * customizer */ create?: GoogleAdsSearchads360V23Resources__AdGroupCustomizer; /** * Remove operation: A resource name for the removed ad group customizer is * expected, in this format: * `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}` */ remove?: string; } /** * The suggested text and AdGroup/Campaign pairing for a given keyword. */ export interface GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion { /** * The original keyword text. */ keywordText?: string; /** * The suggested AdGroup for the keyword. Resource name format: * `customers/{customer_id}/adGroups/{ad_group_id}` */ suggestedAdGroup?: string; /** * The suggested Campaign for the keyword. Resource name format: * `customers/{customer_id}/campaigns/{campaign_id}` */ suggestedCampaign?: string; /** * The normalized version of keyword_text for BROAD/EXACT/PHRASE suggestions. */ suggestedKeywordText?: string; /** * The suggested keyword match type. */ suggestedMatchType?: | "UNSPECIFIED" | "UNKNOWN" | "EXACT" | "PHRASE" | "BROAD"; } /** * A single operation (create, remove) on an ad group label. */ export interface GoogleAdsSearchads360V23Services__AdGroupLabelOperation { /** * Create operation: No resource name is expected for the new ad group label. */ create?: GoogleAdsSearchads360V23Resources__AdGroupLabel; /** * Remove operation: A resource name for the ad group label being removed, in * this format: * `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` */ remove?: string; } /** * A single operation (create, update, remove) on an ad group. */ export interface GoogleAdsSearchads360V23Services__AdGroupOperation { /** * Create operation: No resource name is expected for the new ad group. */ create?: GoogleAdsSearchads360V23Resources__AdGroup; /** * Remove operation: A resource name for the removed ad group is expected, in * this format: `customers/{customer_id}/adGroups/{ad_group_id}` */ remove?: string; /** * Update operation: The ad group is expected to have a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__AdGroup; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AdGroupOperation(data: any): GoogleAdsSearchads360V23Services__AdGroupOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroup(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroup(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AdGroupOperation(data: any): GoogleAdsSearchads360V23Services__AdGroupOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroup(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroup(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single update operation on an ad. */ export interface GoogleAdsSearchads360V23Services__AdOperation { /** * Configuration for how policies are validated. */ policyValidationParameter?: GoogleAdsSearchads360V23Common__PolicyValidationParameter; /** * Update operation: The ad is expected to have a valid resource name in this * format: `customers/{customer_id}/ads/{ad_id}` */ update?: GoogleAdsSearchads360V23Resources__Ad; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AdOperation(data: any): GoogleAdsSearchads360V23Services__AdOperation { return { ...data, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Ad(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AdOperation(data: any): GoogleAdsSearchads360V23Services__AdOperation { return { ...data, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Ad(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on ad parameter. */ export interface GoogleAdsSearchads360V23Services__AdParameterOperation { /** * Create operation: No resource name is expected for the new ad parameter. */ create?: GoogleAdsSearchads360V23Resources__AdParameter; /** * Remove operation: A resource name for the ad parameter to remove is * expected in this format: * `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}` */ remove?: string; /** * Update operation: The ad parameter is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__AdParameter; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AdParameterOperation(data: any): GoogleAdsSearchads360V23Services__AdParameterOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdParameter(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdParameter(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AdParameterOperation(data: any): GoogleAdsSearchads360V23Services__AdParameterOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdParameter(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdParameter(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Advanced targeting settings for products. */ export interface GoogleAdsSearchads360V23Services__AdvancedProductTargeting { /** * Surface targeting settings for this product. */ surfaceTargetingSettings?: GoogleAdsSearchads360V23Services__SurfaceTargeting; /** * Settings for a Target frequency campaign. Must be set when selecting the * TARGET_FREQUENCY product. See * https://support.google.com/google-ads/answer/12400225 for more information * about Target Frequency campaigns. */ targetFrequencySettings?: GoogleAdsSearchads360V23Services__TargetFrequencySettings; /** * Settings for YouTube Select targeting. */ youtubeSelectSettings?: GoogleAdsSearchads360V23Services__YouTubeSelectSettings; } function serializeGoogleAdsSearchads360V23Services__AdvancedProductTargeting(data: any): GoogleAdsSearchads360V23Services__AdvancedProductTargeting { return { ...data, youtubeSelectSettings: data["youtubeSelectSettings"] !== undefined ? serializeGoogleAdsSearchads360V23Services__YouTubeSelectSettings(data["youtubeSelectSettings"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AdvancedProductTargeting(data: any): GoogleAdsSearchads360V23Services__AdvancedProductTargeting { return { ...data, youtubeSelectSettings: data["youtubeSelectSettings"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__YouTubeSelectSettings(data["youtubeSelectSettings"]) : undefined, }; } /** * Request message for LocalServicesLeadService.AppendLeadConversation. */ export interface GoogleAdsSearchads360V23Services__AppendLeadConversationRequest { /** * Required. Conversations that are being appended. */ conversations?: GoogleAdsSearchads360V23Services__Conversation[]; } /** * Response message for LocalServicesLeadService.AppendLeadConversation. */ export interface GoogleAdsSearchads360V23Services__AppendLeadConversationResponse { /** * Required. List of append conversation operation results. */ responses?: GoogleAdsSearchads360V23Services__ConversationOrError[]; } /** * Request message for applying an incentive. */ export interface GoogleAdsSearchads360V23Services__ApplyIncentiveRequest { /** * Required. User's country code. Required. This field must be equal to the * Google Ads account's billing country. Incentive eligibility, terms of * service, and reward values are often country-specific. This country code is * used to ensure the selected incentive is applicable to the user. Possible * country codes: * https://developers.google.com/google-ads/api/data/codes-formats#country_codes */ countryCode?: string; } /** * Response for applying an incentive. */ export interface GoogleAdsSearchads360V23Services__ApplyIncentiveResponse { /** * The coupon code of the applied incentive. A globally unique identifier of * the applied incentive. This code is separate and distinct from the * selected_incentive_id in the request. */ couponCode?: string; /** * The timestamp when this incentive was applied. The timestamp is in UTC * timezone and in "yyyy-MM-dd HH:mm:ss" format. */ creationTime?: string; } /** * Information about the operation to apply a recommendation and any parameters * to customize it. */ export interface GoogleAdsSearchads360V23Services__ApplyRecommendationOperation { /** * Parameters to use when applying call asset recommendation. */ callAsset?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters; /** * Parameters to use when applying call extension recommendation. */ callExtension?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters; /** * Parameters to use when applying callout asset recommendation. */ calloutAsset?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters; /** * Parameters to use when applying callout extension recommendation. */ calloutExtension?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters; /** * Optional parameters to use when applying a campaign budget recommendation. */ campaignBudget?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters; /** * Parameters to use when applying forecasting set target CPA recommendation. */ forecastingSetTargetCpa?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters; /** * Parameters to use when applying a forecasting set target ROAS * recommendation. */ forecastingSetTargetRoas?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters; /** * Optional parameters to use when applying keyword recommendation. */ keyword?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters; /** * Parameters to use when applying lead form asset recommendation. */ leadFormAsset?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters; /** * Parameters to use when applying lower Target ROAS recommendation. */ lowerTargetRoas?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters; /** * Parameters to use when applying move unused budget recommendation. */ moveUnusedBudget?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters; /** * Parameters to use when applying raise Target CPA recommendation. */ raiseTargetCpa?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters; /** * Parameters to use when applying a raise target CPA bid too low * recommendation. The apply is asynchronous and can take minutes depending on * the number of ad groups there is in the related campaign. */ raiseTargetCpaBidTooLow?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters; /** * The resource name of the recommendation to apply. */ resourceName?: string; /** * Parameters to use when applying a responsive search ad recommendation. */ responsiveSearchAd?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters; /** * Parameters to use when applying a responsive search ad asset * recommendation. */ responsiveSearchAdAsset?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters; /** * Parameters to use when applying a responsive search ad improve ad strength * recommendation. */ responsiveSearchAdImproveAdStrength?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters; /** * Parameters to use when applying set target CPA recommendation. */ setTargetCpa?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters; /** * Parameters to use when applying set target ROAS recommendation. */ setTargetRoas?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters; /** * Parameters to use when applying sitelink asset recommendation. */ sitelinkAsset?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters; /** * Parameters to use when applying sitelink recommendation. */ sitelinkExtension?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters; /** * Optional parameters to use when applying target CPA opt-in recommendation. */ targetCpaOptIn?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters; /** * Optional parameters to use when applying target ROAS opt-in * recommendation. */ targetRoasOptIn?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters; /** * Optional parameters to use when applying a text ad recommendation. */ textAd?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters; /** * Parameters to use when applying a use broad match keyword recommendation. */ useBroadMatchKeyword?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters; } function serializeGoogleAdsSearchads360V23Services__ApplyRecommendationOperation(data: any): GoogleAdsSearchads360V23Services__ApplyRecommendationOperation { return { ...data, callAsset: data["callAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters(data["callAsset"]) : undefined, calloutAsset: data["calloutAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters(data["calloutAsset"]) : undefined, campaignBudget: data["campaignBudget"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters(data["campaignBudget"]) : undefined, forecastingSetTargetCpa: data["forecastingSetTargetCpa"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters(data["forecastingSetTargetCpa"]) : undefined, forecastingSetTargetRoas: data["forecastingSetTargetRoas"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters(data["forecastingSetTargetRoas"]) : undefined, keyword: data["keyword"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters(data["keyword"]) : undefined, leadFormAsset: data["leadFormAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters(data["leadFormAsset"]) : undefined, moveUnusedBudget: data["moveUnusedBudget"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters(data["moveUnusedBudget"]) : undefined, responsiveSearchAd: data["responsiveSearchAd"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters(data["responsiveSearchAd"]) : undefined, responsiveSearchAdAsset: data["responsiveSearchAdAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters(data["responsiveSearchAdAsset"]) : undefined, responsiveSearchAdImproveAdStrength: data["responsiveSearchAdImproveAdStrength"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters(data["responsiveSearchAdImproveAdStrength"]) : undefined, setTargetCpa: data["setTargetCpa"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters(data["setTargetCpa"]) : undefined, setTargetRoas: data["setTargetRoas"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters(data["setTargetRoas"]) : undefined, sitelinkAsset: data["sitelinkAsset"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters(data["sitelinkAsset"]) : undefined, targetCpaOptIn: data["targetCpaOptIn"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters(data["targetCpaOptIn"]) : undefined, targetRoasOptIn: data["targetRoasOptIn"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters(data["targetRoasOptIn"]) : undefined, textAd: data["textAd"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters(data["textAd"]) : undefined, useBroadMatchKeyword: data["useBroadMatchKeyword"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters(data["useBroadMatchKeyword"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ApplyRecommendationOperation(data: any): GoogleAdsSearchads360V23Services__ApplyRecommendationOperation { return { ...data, callAsset: data["callAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters(data["callAsset"]) : undefined, calloutAsset: data["calloutAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters(data["calloutAsset"]) : undefined, campaignBudget: data["campaignBudget"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters(data["campaignBudget"]) : undefined, forecastingSetTargetCpa: data["forecastingSetTargetCpa"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters(data["forecastingSetTargetCpa"]) : undefined, forecastingSetTargetRoas: data["forecastingSetTargetRoas"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters(data["forecastingSetTargetRoas"]) : undefined, keyword: data["keyword"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters(data["keyword"]) : undefined, leadFormAsset: data["leadFormAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters(data["leadFormAsset"]) : undefined, moveUnusedBudget: data["moveUnusedBudget"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters(data["moveUnusedBudget"]) : undefined, responsiveSearchAd: data["responsiveSearchAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters(data["responsiveSearchAd"]) : undefined, responsiveSearchAdAsset: data["responsiveSearchAdAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters(data["responsiveSearchAdAsset"]) : undefined, responsiveSearchAdImproveAdStrength: data["responsiveSearchAdImproveAdStrength"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters(data["responsiveSearchAdImproveAdStrength"]) : undefined, setTargetCpa: data["setTargetCpa"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters(data["setTargetCpa"]) : undefined, setTargetRoas: data["setTargetRoas"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters(data["setTargetRoas"]) : undefined, sitelinkAsset: data["sitelinkAsset"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters(data["sitelinkAsset"]) : undefined, targetCpaOptIn: data["targetCpaOptIn"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters(data["targetCpaOptIn"]) : undefined, targetRoasOptIn: data["targetRoasOptIn"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters(data["targetRoasOptIn"]) : undefined, textAd: data["textAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters(data["textAd"]) : undefined, useBroadMatchKeyword: data["useBroadMatchKeyword"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters(data["useBroadMatchKeyword"]) : undefined, }; } /** * Request message for RecommendationService.ApplyRecommendation. */ export interface GoogleAdsSearchads360V23Services__ApplyRecommendationRequest { /** * Required. The list of operations to apply recommendations. If * partial_failure=false all recommendations should be of the same type There * is a limit of 100 operations per request. */ operations?: GoogleAdsSearchads360V23Services__ApplyRecommendationOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, operations will be carried out as a * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; } function serializeGoogleAdsSearchads360V23Services__ApplyRecommendationRequest(data: any): GoogleAdsSearchads360V23Services__ApplyRecommendationRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ApplyRecommendationOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ApplyRecommendationRequest(data: any): GoogleAdsSearchads360V23Services__ApplyRecommendationRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ApplyRecommendationOperation(item))) : undefined, }; } /** * Response message for RecommendationService.ApplyRecommendation. */ export interface GoogleAdsSearchads360V23Services__ApplyRecommendationResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors) we return the RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * Results of operations to apply recommendations. */ results?: GoogleAdsSearchads360V23Services__ApplyRecommendationResult[]; } /** * The result of applying a recommendation. */ export interface GoogleAdsSearchads360V23Services__ApplyRecommendationResult { /** * Returned for successful applies. */ resourceName?: string; } /** * A single operation (create, remove) on an asset group asset. */ export interface GoogleAdsSearchads360V23Services__AssetGroupAssetOperation { /** * Create operation: No resource name is expected for the new asset group * asset. */ create?: GoogleAdsSearchads360V23Resources__AssetGroupAsset; /** * Remove operation: A resource name for the removed asset group asset is * expected, in this format: * `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}` */ remove?: string; /** * Update operation: The asset group asset is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__AssetGroupAsset; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AssetGroupAssetOperation(data: any): GoogleAdsSearchads360V23Services__AssetGroupAssetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AssetGroupAssetOperation(data: any): GoogleAdsSearchads360V23Services__AssetGroupAssetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on an asset group listing group filter. */ export interface GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation { /** * Create operation: No resource name is expected for the new asset group * listing group filter. */ create?: GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter; /** * Remove operation: A resource name for the removed asset group listing * group filter is expected, in this format: * `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` * An entity can be removed only if it's not referenced by other * parent_listing_group_id. If multiple entities are being deleted, the * mutates must be in the correct order. */ remove?: string; /** * Update operation: The asset group listing group filter is expected to have * a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation(data: any): GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation(data: any): GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on an asset group. */ export interface GoogleAdsSearchads360V23Services__AssetGroupOperation { /** * Create operation: No resource name is expected for the new asset group */ create?: GoogleAdsSearchads360V23Resources__AssetGroup; /** * Remove operation: A resource name for the removed asset group is expected, * in this format: `customers/{customer_id}/assetGroups/{asset_group_id}` */ remove?: string; /** * Update operation: The asset group is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__AssetGroup; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AssetGroupOperation(data: any): GoogleAdsSearchads360V23Services__AssetGroupOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AssetGroupOperation(data: any): GoogleAdsSearchads360V23Services__AssetGroupOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on an asset group signal. */ export interface GoogleAdsSearchads360V23Services__AssetGroupSignalOperation { /** * Create operation: No resource name is expected for the new asset group * signal. */ create?: GoogleAdsSearchads360V23Resources__AssetGroupSignal; /** * Optional. The list of policy violation keys that should not cause a * PolicyViolationError to be reported. Not all policy violations are * exemptable, refer to the is_exemptible field in the returned * PolicyViolationError. Resources violating these polices will be saved, but * will not be eligible to serve. They may begin serving at a later time due * to a change in policies, re-review of the resource, or a change in * advertiser certificates. */ exemptPolicyViolationKeys?: GoogleAdsSearchads360V23Common__PolicyViolationKey[]; /** * Remove operation: A resource name for the removed asset group signal is * expected, in this format: * `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{criterion_id}` */ remove?: string; } /** * A single operation to create an asset. Supported asset types are * YoutubeVideoAsset, MediaBundleAsset, ImageAsset, LeadFormAsset, * LocationAsset, and ImageAsset. TextAsset can be created with an Ad inline, * but it can also be created apart from an Ad like other assets. */ export interface GoogleAdsSearchads360V23Services__AssetOperation { /** * Create operation: No resource name is expected for the new asset. */ create?: GoogleAdsSearchads360V23Resources__Asset; /** * Update operation: The asset is expected to have a valid resource name in * this format: `customers/{customer_id}/assets/{asset_id}` */ update?: GoogleAdsSearchads360V23Resources__Asset; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AssetOperation(data: any): GoogleAdsSearchads360V23Services__AssetOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Asset(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Asset(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AssetOperation(data: any): GoogleAdsSearchads360V23Services__AssetOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Asset(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Asset(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on an asset set asset. */ export interface GoogleAdsSearchads360V23Services__AssetSetAssetOperation { /** * Create operation: No resource name is expected for the new asset set asset */ create?: GoogleAdsSearchads360V23Resources__AssetSetAsset; /** * Remove operation: A resource name for the removed asset set asset is * expected, in this format: * `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}` */ remove?: string; } /** * A single operation (create, remove) on an asset set. */ export interface GoogleAdsSearchads360V23Services__AssetSetOperation { /** * Create operation: No resource name is expected for the new asset set */ create?: GoogleAdsSearchads360V23Resources__AssetSet; /** * Remove operation: A resource name for the removed asset set is expected, * in this format: `customers/{customer_id}/assetSets/{asset_set_id}` */ remove?: string; /** * Update operation: The asset set is expected to have a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__AssetSet; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AssetSetOperation(data: any): GoogleAdsSearchads360V23Services__AssetSetOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AssetSet(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AssetSet(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AssetSetOperation(data: any): GoogleAdsSearchads360V23Services__AssetSetOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AssetSet(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AssetSet(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * The combination of system asset and field type to remove. */ export interface GoogleAdsSearchads360V23Services__AssetsWithFieldType { /** * Required. The resource name of the asset to be removed. */ asset?: string; /** * Required. The asset field type. */ assetFieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; } /** * An audience attribute with metadata and metrics. */ export interface GoogleAdsSearchads360V23Services__AudienceCompositionAttribute { /** * The attribute with its metadata. */ attributeMetadata?: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata; /** * Share and index metrics for the attribute. */ metrics?: GoogleAdsSearchads360V23Services__AudienceCompositionMetrics; } function serializeGoogleAdsSearchads360V23Services__AudienceCompositionAttribute(data: any): GoogleAdsSearchads360V23Services__AudienceCompositionAttribute { return { ...data, attributeMetadata: data["attributeMetadata"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(data["attributeMetadata"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AudienceCompositionAttribute(data: any): GoogleAdsSearchads360V23Services__AudienceCompositionAttribute { return { ...data, attributeMetadata: data["attributeMetadata"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(data["attributeMetadata"]) : undefined, }; } /** * A collection of related attributes, with metadata and metrics, in an * audience composition insights report. */ export interface GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster { /** * The individual attributes that make up this cluster, with metadata and * metrics. */ attributes?: GoogleAdsSearchads360V23Services__AudienceCompositionAttribute[]; /** * The name of this cluster of attributes */ clusterDisplayName?: string; /** * If the dimension associated with this cluster is YOUTUBE_CHANNEL, then * cluster_metrics are metrics associated with the cluster as a whole. For * other dimensions, this field is unset. */ clusterMetrics?: GoogleAdsSearchads360V23Services__AudienceCompositionMetrics; } function serializeGoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster(data: any): GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster { return { ...data, attributes: data["attributes"] !== undefined ? data["attributes"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AudienceCompositionAttribute(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster(data: any): GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster { return { ...data, attributes: data["attributes"] !== undefined ? data["attributes"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AudienceCompositionAttribute(item))) : undefined, }; } /** * The share and index metrics associated with an attribute in an audience * composition insights report. */ export interface GoogleAdsSearchads360V23Services__AudienceCompositionMetrics { /** * The fraction (from 0 to 1 inclusive) of the specific audience that match * the attribute. */ audienceShare?: number; /** * The fraction (from 0 to 1 inclusive) of the baseline audience that match * the attribute. */ baselineAudienceShare?: number; /** * The ratio of audience_share to baseline_audience_share, or zero if this * ratio is undefined or is not meaningful. */ index?: number; /** * A relevance score from 0 to 1 inclusive. */ score?: number; } /** * A collection of related attributes of the same type in an audience * composition insights report. */ export interface GoogleAdsSearchads360V23Services__AudienceCompositionSection { /** * Additional attributes for this audience, grouped into clusters. Only * populated if dimension is YOUTUBE_CHANNEL. */ clusteredAttributes?: GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster[]; /** * The type of the attributes in this section. */ dimension?: | "UNSPECIFIED" | "UNKNOWN" | "CATEGORY" | "KNOWLEDGE_GRAPH" | "GEO_TARGET_COUNTRY" | "SUB_COUNTRY_LOCATION" | "YOUTUBE_CHANNEL" | "AFFINITY_USER_INTEREST" | "IN_MARKET_USER_INTEREST" | "PARENTAL_STATUS" | "INCOME_RANGE" | "AGE_RANGE" | "GENDER" | "YOUTUBE_VIDEO" | "DEVICE" | "YOUTUBE_LINEUP" | "USER_LIST" | "LIFE_EVENT_USER_INTEREST"; /** * The most relevant segments for this audience. If dimension is GENDER, * AGE_RANGE or PARENTAL_STATUS, then this list of attributes is exhaustive. */ topAttributes?: GoogleAdsSearchads360V23Services__AudienceCompositionAttribute[]; } function serializeGoogleAdsSearchads360V23Services__AudienceCompositionSection(data: any): GoogleAdsSearchads360V23Services__AudienceCompositionSection { return { ...data, clusteredAttributes: data["clusteredAttributes"] !== undefined ? data["clusteredAttributes"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster(item))) : undefined, topAttributes: data["topAttributes"] !== undefined ? data["topAttributes"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AudienceCompositionAttribute(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AudienceCompositionSection(data: any): GoogleAdsSearchads360V23Services__AudienceCompositionSection { return { ...data, clusteredAttributes: data["clusteredAttributes"] !== undefined ? data["clusteredAttributes"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster(item))) : undefined, topAttributes: data["topAttributes"] !== undefined ? data["topAttributes"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AudienceCompositionAttribute(item))) : undefined, }; } /** * A collection of dimensions to be used for generating insights. */ export interface GoogleAdsSearchads360V23Services__AudienceInsightsDimensions { /** * Required. A list of dimensions. */ dimensions?: | "UNSPECIFIED" | "UNKNOWN" | "CATEGORY" | "KNOWLEDGE_GRAPH" | "GEO_TARGET_COUNTRY" | "SUB_COUNTRY_LOCATION" | "YOUTUBE_CHANNEL" | "AFFINITY_USER_INTEREST" | "IN_MARKET_USER_INTEREST" | "PARENTAL_STATUS" | "INCOME_RANGE" | "AGE_RANGE" | "GENDER" | "YOUTUBE_VIDEO" | "DEVICE" | "YOUTUBE_LINEUP" | "USER_LIST" | "LIFE_EVENT_USER_INTEREST"[]; } /** * A single operation (create, update) on an audience. */ export interface GoogleAdsSearchads360V23Services__AudienceOperation { /** * Create operation: No resource name is expected for the new audience */ create?: GoogleAdsSearchads360V23Resources__Audience; /** * Update operation: The audience is expected to have a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__Audience; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__AudienceOperation(data: any): GoogleAdsSearchads360V23Services__AudienceOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AudienceOperation(data: any): GoogleAdsSearchads360V23Services__AudienceOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * An audience attribute, with metadata including the overlap between this * attribute's potential YouTube reach and that of a primary attribute. */ export interface GoogleAdsSearchads360V23Services__AudienceOverlapItem { /** * The attribute and its metadata, including potential YouTube reach. */ attributeMetadata?: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata; /** * The estimated size of the intersection of this audience attribute with the * primary attribute, that is, the number of reachable YouTube users who match * BOTH the primary attribute and this one. */ potentialYoutubeReachIntersection?: bigint; } function serializeGoogleAdsSearchads360V23Services__AudienceOverlapItem(data: any): GoogleAdsSearchads360V23Services__AudienceOverlapItem { return { ...data, attributeMetadata: data["attributeMetadata"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(data["attributeMetadata"]) : undefined, potentialYoutubeReachIntersection: data["potentialYoutubeReachIntersection"] !== undefined ? String(data["potentialYoutubeReachIntersection"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__AudienceOverlapItem(data: any): GoogleAdsSearchads360V23Services__AudienceOverlapItem { return { ...data, attributeMetadata: data["attributeMetadata"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(data["attributeMetadata"]) : undefined, potentialYoutubeReachIntersection: data["potentialYoutubeReachIntersection"] !== undefined ? BigInt(data["potentialYoutubeReachIntersection"]) : undefined, }; } /** * Audience targeting for reach forecast. */ export interface GoogleAdsSearchads360V23Services__AudienceTargeting { /** * List of audiences based on user interests to be targeted. */ userInterest?: GoogleAdsSearchads360V23Common__UserInterestInfo[]; /** * List of audiences based on user lists to be targeted. */ userLists?: GoogleAdsSearchads360V23Common__UserListInfo[]; } /** * A single operation on a batch job. */ export interface GoogleAdsSearchads360V23Services__BatchJobOperation { /** * Create operation: No resource name is expected for the new batch job. */ create?: GoogleAdsSearchads360V23Resources__BatchJob; /** * Remove operation: The batch job must not have been run. A resource name * for the removed batch job is expected, in this format: * `customers/{customer_id}/batchJobs/{batch_job_id}` */ remove?: string; } /** * An individual batch job result. */ export interface GoogleAdsSearchads360V23Services__BatchJobResult { /** * Response for the mutate. May be empty if errors occurred. */ mutateOperationResponse?: GoogleAdsSearchads360V23Services__MutateOperationResponse; /** * Index of the mutate operation. */ operationIndex?: bigint; /** * Details of the errors when processing the operation. */ status?: GoogleRpc__Status; } function serializeGoogleAdsSearchads360V23Services__BatchJobResult(data: any): GoogleAdsSearchads360V23Services__BatchJobResult { return { ...data, mutateOperationResponse: data["mutateOperationResponse"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateOperationResponse(data["mutateOperationResponse"]) : undefined, operationIndex: data["operationIndex"] !== undefined ? String(data["operationIndex"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__BatchJobResult(data: any): GoogleAdsSearchads360V23Services__BatchJobResult { return { ...data, mutateOperationResponse: data["mutateOperationResponse"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateOperationResponse(data["mutateOperationResponse"]) : undefined, operationIndex: data["operationIndex"] !== undefined ? BigInt(data["operationIndex"]) : undefined, }; } /** * A location that supports benchmarks data. */ export interface GoogleAdsSearchads360V23Services__BenchmarksLocation { /** * Information on the geographic location, including the location ID. */ locationInfo?: GoogleAdsSearchads360V23Common__LocationInfo; /** * The unique location name in English. */ locationName?: string; /** * The location's type. Location types correspond to target_type returned by * searching location type in GoogleAdsService.Search/SearchStream. */ locationType?: string; } /** * The metadata associated with a product supported for benchmarks data. */ export interface GoogleAdsSearchads360V23Services__BenchmarksProductMetadata { /** * The marketing objective associated with the product. A marketing objective * is a broader classification of products. */ marketingObjective?: | "UNSPECIFIED" | "UNKNOWN" | "AWARENESS" | "CONSIDERATION" | "ACTION"; /** * The identifier of the product. The identifier can be used as inputs for * BenchmarksService.GenerateBenchmarksMetrics. */ productCode?: string; /** * The name of the product. */ productName?: string; } /** * The source used to generate benchmarks metrics for. The ID of the source can * be obtained from BenchmarksService.ListBenchmarksSources. */ export interface GoogleAdsSearchads360V23Services__BenchmarksSource { /** * The ID of the Industry Vertical. */ industryVerticalId?: bigint; } function serializeGoogleAdsSearchads360V23Services__BenchmarksSource(data: any): GoogleAdsSearchads360V23Services__BenchmarksSource { return { ...data, industryVerticalId: data["industryVerticalId"] !== undefined ? String(data["industryVerticalId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__BenchmarksSource(data: any): GoogleAdsSearchads360V23Services__BenchmarksSource { return { ...data, industryVerticalId: data["industryVerticalId"] !== undefined ? BigInt(data["industryVerticalId"]) : undefined, }; } /** * The metadata associated with a benchmarks source. */ export interface GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata { /** * The type of benchmarks source. */ benchmarksSourceType?: | "UNSPECIFIED" | "UNKNOWN" | "INDUSTRY_VERTICAL"; /** * Information on the Industry Vertical. */ industryVerticalInfo?: GoogleAdsSearchads360V23Services__IndustryVerticalInfo; } function serializeGoogleAdsSearchads360V23Services__BenchmarksSourceMetadata(data: any): GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata { return { ...data, industryVerticalInfo: data["industryVerticalInfo"] !== undefined ? serializeGoogleAdsSearchads360V23Services__IndustryVerticalInfo(data["industryVerticalInfo"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__BenchmarksSourceMetadata(data: any): GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata { return { ...data, industryVerticalInfo: data["industryVerticalInfo"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__IndustryVerticalInfo(data["industryVerticalInfo"]) : undefined, }; } /** * A biddable keyword part of an ad group. */ export interface GoogleAdsSearchads360V23Services__BiddableKeyword { /** * Required. Keyword. Must have text and match type. */ keyword?: GoogleAdsSearchads360V23Common__KeywordInfo; /** * A max cpc bid in micros that overrides the ad group level max cpc bid in * forecast simulation. This value will override the max cpc value set in the * bidding strategy and ad group. Only specify this field for bidding * strategies that support max cpc values. */ maxCpcBidMicros?: bigint; } function serializeGoogleAdsSearchads360V23Services__BiddableKeyword(data: any): GoogleAdsSearchads360V23Services__BiddableKeyword { return { ...data, maxCpcBidMicros: data["maxCpcBidMicros"] !== undefined ? String(data["maxCpcBidMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__BiddableKeyword(data: any): GoogleAdsSearchads360V23Services__BiddableKeyword { return { ...data, maxCpcBidMicros: data["maxCpcBidMicros"] !== undefined ? BigInt(data["maxCpcBidMicros"]) : undefined, }; } /** * A single operation (create, remove, update) on a data exclusion. */ export interface GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation { /** * Create operation: No resource name is expected for the new data exclusion. */ create?: GoogleAdsSearchads360V23Resources__BiddingDataExclusion; /** * Remove operation: A resource name for the removed data exclusion is * expected, in this format: * `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}` */ remove?: string; /** * Update operation: The data exclusion is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__BiddingDataExclusion; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__BiddingDataExclusionOperation(data: any): GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__BiddingDataExclusionOperation(data: any): GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove, update) on a seasonality adjustment. */ export interface GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation { /** * Create operation: No resource name is expected for the new seasonality * adjustment. */ create?: GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment; /** * Remove operation: A resource name for the removed seasonality adjustment * is expected, in this format: * `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}` */ remove?: string; /** * Update operation: The seasonality adjustment is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation(data: any): GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation(data: any): GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on a bidding strategy. */ export interface GoogleAdsSearchads360V23Services__BiddingStrategyOperation { /** * Create operation: No resource name is expected for the new bidding * strategy. */ create?: GoogleAdsSearchads360V23Resources__BiddingStrategy; /** * Remove operation: A resource name for the removed bidding strategy is * expected, in this format: * `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}` */ remove?: string; /** * Update operation: The bidding strategy is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__BiddingStrategy; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__BiddingStrategyOperation(data: any): GoogleAdsSearchads360V23Services__BiddingStrategyOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__BiddingStrategy(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__BiddingStrategy(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__BiddingStrategyOperation(data: any): GoogleAdsSearchads360V23Services__BiddingStrategyOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__BiddingStrategy(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__BiddingStrategy(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation on a billing setup, which describes the cancellation of * an existing billing setup. */ export interface GoogleAdsSearchads360V23Services__BillingSetupOperation { /** * Creates a billing setup. No resource name is expected for the new billing * setup. */ create?: GoogleAdsSearchads360V23Resources__BillingSetup; /** * Resource name of the billing setup to remove. A setup cannot be removed * unless it is in a pending state or its scheduled start time is in the * future. The resource name looks like * `customers/{customer_id}/billingSetups/{billing_id}`. */ remove?: string; } /** * Assets linked at the campaign level. A business_name and at least one * logo_asset are required. */ export interface GoogleAdsSearchads360V23Services__BrandCampaignAssets { /** * Required. The resource name of the business name text asset. */ businessNameAsset?: string; /** * Optional. The resource name of landscape logo assets. */ landscapeLogoAsset?: string[]; /** * Required. The resource name of square logo assets. */ logoAsset?: string[]; } /** * A single operation (create, remove) on a campaign asset. */ export interface GoogleAdsSearchads360V23Services__CampaignAssetOperation { /** * Create operation: No resource name is expected for the new campaign asset. */ create?: GoogleAdsSearchads360V23Resources__CampaignAsset; /** * Remove operation: A resource name for the removed campaign asset is * expected, in this format: * `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}` */ remove?: string; /** * Update operation: The campaign asset is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__CampaignAsset; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CampaignAssetOperation(data: any): GoogleAdsSearchads360V23Services__CampaignAssetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CampaignAssetOperation(data: any): GoogleAdsSearchads360V23Services__CampaignAssetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on a campaign asset set. */ export interface GoogleAdsSearchads360V23Services__CampaignAssetSetOperation { /** * Create operation: No resource name is expected for the new campaign asset * set. */ create?: GoogleAdsSearchads360V23Resources__CampaignAssetSet; /** * Remove operation: A resource name for the removed campaign asset set is * expected, in this format: * `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}` */ remove?: string; } /** * A single operation (create, remove, update) on a campaign bid modifier. */ export interface GoogleAdsSearchads360V23Services__CampaignBidModifierOperation { /** * Create operation: No resource name is expected for the new campaign bid * modifier. */ create?: GoogleAdsSearchads360V23Resources__CampaignBidModifier; /** * Remove operation: A resource name for the removed campaign bid modifier is * expected, in this format: * `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}` */ remove?: string; /** * Update operation: The campaign bid modifier is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__CampaignBidModifier; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CampaignBidModifierOperation(data: any): GoogleAdsSearchads360V23Services__CampaignBidModifierOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CampaignBidModifierOperation(data: any): GoogleAdsSearchads360V23Services__CampaignBidModifierOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * The mapping of experiment campaign and budget to be graduated. */ export interface GoogleAdsSearchads360V23Services__CampaignBudgetMapping { /** * Required. The budget that should be attached to the graduating experiment * campaign. */ campaignBudget?: string; /** * Required. The experiment campaign to graduate. */ experimentCampaign?: string; } /** * A single operation (create, update, remove) on a campaign budget. */ export interface GoogleAdsSearchads360V23Services__CampaignBudgetOperation { /** * Create operation: No resource name is expected for the new budget. */ create?: GoogleAdsSearchads360V23Resources__CampaignBudget; /** * Remove operation: A resource name for the removed budget is expected, in * this format: `customers/{customer_id}/campaignBudgets/{budget_id}` */ remove?: string; /** * Update operation: The campaign budget is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__CampaignBudget; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CampaignBudgetOperation(data: any): GoogleAdsSearchads360V23Services__CampaignBudgetOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CampaignBudget(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CampaignBudget(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CampaignBudgetOperation(data: any): GoogleAdsSearchads360V23Services__CampaignBudgetOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CampaignBudget(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CampaignBudget(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (update) on a campaign conversion goal. */ export interface GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation { /** * Update operation: The customer conversion goal is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__CampaignConversionGoal; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CampaignConversionGoalOperation(data: any): GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CampaignConversionGoalOperation(data: any): GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on a campaign criterion. */ export interface GoogleAdsSearchads360V23Services__CampaignCriterionOperation { /** * Create operation: No resource name is expected for the new criterion. */ create?: GoogleAdsSearchads360V23Resources__CampaignCriterion; /** * Remove operation: A resource name for the removed criterion is expected, * in this format: * `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}` */ remove?: string; /** * Update operation: The criterion is expected to have a valid resource name. * Note that for smart campaigns, you cannot use the update method to edit the * geolocation target. */ update?: GoogleAdsSearchads360V23Resources__CampaignCriterion; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CampaignCriterionOperation(data: any): GoogleAdsSearchads360V23Services__CampaignCriterionOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CampaignCriterion(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CampaignCriterion(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CampaignCriterionOperation(data: any): GoogleAdsSearchads360V23Services__CampaignCriterionOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CampaignCriterion(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CampaignCriterion(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on a customizer attribute. */ export interface GoogleAdsSearchads360V23Services__CampaignCustomizerOperation { /** * Create operation: No resource name is expected for the new campaign * customizer */ create?: GoogleAdsSearchads360V23Resources__CampaignCustomizer; /** * Remove operation: A resource name for the removed campaign customizer is * expected, in this format: * `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}` */ remove?: string; } /** * A single operation (create, update, remove) on a campaign draft. */ export interface GoogleAdsSearchads360V23Services__CampaignDraftOperation { /** * Create operation: No resource name is expected for the new campaign draft. */ create?: GoogleAdsSearchads360V23Resources__CampaignDraft; /** * Remove operation: The campaign draft is expected to have a valid resource * name, in this format: * `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}` */ remove?: string; /** * Update operation: The campaign draft is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__CampaignDraft; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CampaignDraftOperation(data: any): GoogleAdsSearchads360V23Services__CampaignDraftOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CampaignDraftOperation(data: any): GoogleAdsSearchads360V23Services__CampaignDraftOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * The duration of a planned campaign. */ export interface GoogleAdsSearchads360V23Services__CampaignDuration { /** * Date range of the campaign. Dates are in the yyyy-mm-dd format and * inclusive. The end date must be < 1 year in the future and the date range * must be <= 92 days long. This field cannot be combined with the * duration_in_days field. */ dateRange?: GoogleAdsSearchads360V23Common__DateRange; /** * The duration value in days. This field cannot be combined with the * date_range field. */ durationInDays?: number; } /** * A single mutate operation on the campaign goal config. */ export interface GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation { /** * Create a new campaign goal config. */ create?: GoogleAdsSearchads360V23Resources__CampaignGoalConfig; /** * Remove an existing campaign goal config. */ remove?: string; /** * Update an existing campaign goal config. */ update?: GoogleAdsSearchads360V23Resources__CampaignGoalConfig; /** * FieldMask that determines which fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CampaignGoalConfigOperation(data: any): GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CampaignGoalConfigOperation(data: any): GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on a campaign group. */ export interface GoogleAdsSearchads360V23Services__CampaignGroupOperation { /** * Create operation: No resource name is expected for the new campaign group. */ create?: GoogleAdsSearchads360V23Resources__CampaignGroup; /** * Remove operation: A resource name for the removed campaign group is * expected, in this format: * `customers/{customer_id}/campaignGroups/{campaign_group_id}` */ remove?: string; /** * Update operation: The campaign group is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__CampaignGroup; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CampaignGroupOperation(data: any): GoogleAdsSearchads360V23Services__CampaignGroupOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CampaignGroupOperation(data: any): GoogleAdsSearchads360V23Services__CampaignGroupOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on a campaign-label relationship. */ export interface GoogleAdsSearchads360V23Services__CampaignLabelOperation { /** * Create operation: No resource name is expected for the new campaign-label * relationship. */ create?: GoogleAdsSearchads360V23Resources__CampaignLabel; /** * Remove operation: A resource name for the campaign-label relationship * being removed, in this format: * `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` */ remove?: string; } /** * A single operation on a campaign lifecycle goal. */ export interface GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation { create?: GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal; /** * Update operation: Update an existing campaign lifecycle goal. The campaign * field should not be set for this operation. */ update?: GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal; /** * Optional. FieldMask that determines which resource fields are modified in * an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation(data: any): GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation(data: any): GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on a campaign. */ export interface GoogleAdsSearchads360V23Services__CampaignOperation { /** * Create operation: No resource name is expected for the new campaign. */ create?: GoogleAdsSearchads360V23Resources__Campaign; /** * Remove operation: A resource name for the removed campaign is expected, in * this format: `customers/{customer_id}/campaigns/{campaign_id}` */ remove?: string; /** * Update operation: The campaign is expected to have a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__Campaign; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CampaignOperation(data: any): GoogleAdsSearchads360V23Services__CampaignOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Campaign(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Campaign(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CampaignOperation(data: any): GoogleAdsSearchads360V23Services__CampaignOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Campaign(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Campaign(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on a campaign shared set. */ export interface GoogleAdsSearchads360V23Services__CampaignSharedSetOperation { /** * Create operation: No resource name is expected for the new campaign shared * set. */ create?: GoogleAdsSearchads360V23Resources__CampaignSharedSet; /** * Remove operation: A resource name for the removed campaign shared set is * expected, in this format: * `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}` */ remove?: string; } /** * A campaign to do a keyword campaign forecast. */ export interface GoogleAdsSearchads360V23Services__CampaignToForecast { /** * The ad groups in the new campaign to forecast. */ adGroups?: GoogleAdsSearchads360V23Services__ForecastAdGroup[]; /** * Required. The bidding strategy for the campaign. */ biddingStrategy?: GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy; /** * The expected conversion rate (number of conversions divided by number of * total clicks) as defined by the user. This value is expressed as a decimal * value, so an expected conversion rate of 2% should be entered as 0.02. If * left empty, an estimated conversion rate will be used. */ conversionRate?: number; /** * Locations to be targeted. Locations must be unique. */ geoModifiers?: GoogleAdsSearchads360V23Services__CriterionBidModifier[]; /** * Required. The network used for targeting. */ keywordPlanNetwork?: | "UNSPECIFIED" | "UNKNOWN" | "GOOGLE_SEARCH" | "GOOGLE_SEARCH_AND_PARTNERS"; /** * The list of resource names of languages to be targeted. The resource name * is of the format "languageConstants/{criterion_id}". See * https://developers.google.com/google-ads/api/data/codes-formats#languages * for the list of language criterion codes. */ languageConstants?: string[]; /** * The list of negative keywords to be used in the campaign when doing the * forecast. */ negativeKeywords?: GoogleAdsSearchads360V23Common__KeywordInfo[]; } function serializeGoogleAdsSearchads360V23Services__CampaignToForecast(data: any): GoogleAdsSearchads360V23Services__CampaignToForecast { return { ...data, adGroups: data["adGroups"] !== undefined ? data["adGroups"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ForecastAdGroup(item))) : undefined, biddingStrategy: data["biddingStrategy"] !== undefined ? serializeGoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy(data["biddingStrategy"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CampaignToForecast(data: any): GoogleAdsSearchads360V23Services__CampaignToForecast { return { ...data, adGroups: data["adGroups"] !== undefined ? data["adGroups"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ForecastAdGroup(item))) : undefined, biddingStrategy: data["biddingStrategy"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy(data["biddingStrategy"]) : undefined, }; } /** * Request message for * CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals. */ export interface GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest { /** * Required. The operation to perform campaign lifecycle goal update. */ operation?: GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation; /** * Optional. If true, the request is validated but not executed. Only errors * are returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest(data: any): GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest { return { ...data, operation: data["operation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation(data["operation"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest(data: any): GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest { return { ...data, operation: data["operation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation(data["operation"]) : undefined, }; } /** * Response message for * CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals. */ export interface GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse { /** * Result for the campaign lifecycle goal configuration. */ result?: GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult; } /** * The result for the campaign lifecycle goal configuration. */ export interface GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult { /** * Returned for the successful operation. */ resourceName?: string; } /** * Request message for * CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals. */ export interface GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest { /** * Required. The operation to perform customer lifecycle goal update. */ operation?: GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation; /** * Optional. If true, the request is validated but not executed. Only errors * are returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest(data: any): GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest { return { ...data, operation: data["operation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation(data["operation"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest(data: any): GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest { return { ...data, operation: data["operation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation(data["operation"]) : undefined, }; } /** * Response message for * CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals. */ export interface GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse { /** * result for the customer lifecycle goal configuration. */ result?: GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult; } /** * The result for the customer lifecycle goal configuration. */ export interface GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult { /** * Returned for the successful operation. */ resourceName?: string; } /** * Details of the conversation that needs to be appended. */ export interface GoogleAdsSearchads360V23Services__Conversation { /** * Required. The resource name of the local services lead that the * conversation should be applied to. */ localServicesLead?: string; /** * Required. Text message that user wanted to append to lead. */ text?: string; } /** * Result of the append conversation operation. */ export interface GoogleAdsSearchads360V23Services__ConversationOrError { /** * The resource name of the appended local services lead conversation. */ localServicesLeadConversation?: string; /** * Failure status when the request could not be processed. */ partialFailureError?: GoogleRpc__Status; } /** * A single operation (create, update, remove) on a conversion action. */ export interface GoogleAdsSearchads360V23Services__ConversionActionOperation { /** * Create operation: No resource name is expected for the new conversion * action. */ create?: GoogleAdsSearchads360V23Resources__ConversionAction; /** * Remove operation: A resource name for the removed conversion action is * expected, in this format: * `customers/{customer_id}/conversionActions/{conversion_action_id}` */ remove?: string; /** * Update operation: The conversion action is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__ConversionAction; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__ConversionActionOperation(data: any): GoogleAdsSearchads360V23Services__ConversionActionOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ConversionAction(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ConversionAction(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ConversionActionOperation(data: any): GoogleAdsSearchads360V23Services__ConversionActionOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ConversionAction(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ConversionAction(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Message for conversion custom dimension header. */ export interface GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader { /** * The conversion custom dimension ID. */ id?: bigint; /** * The user defined name of the conversion custom dimension. */ name?: string; } function serializeGoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader(data: any): GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader { return { ...data, id: data["id"] !== undefined ? String(data["id"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader(data: any): GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader { return { ...data, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, }; } /** * Message for conversion custom metric header. */ export interface GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader { /** * The conversion custom metric ID. */ id?: bigint; /** * The user defined name of the conversion custom metric. */ name?: string; } function serializeGoogleAdsSearchads360V23Services__ConversionCustomMetricHeader(data: any): GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader { return { ...data, id: data["id"] !== undefined ? String(data["id"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ConversionCustomMetricHeader(data: any): GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader { return { ...data, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, }; } /** * A single operation (create, update) on a conversion custom variable. */ export interface GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation { /** * Create operation: No resource name is expected for the new conversion * custom variable. */ create?: GoogleAdsSearchads360V23Resources__ConversionCustomVariable; /** * Update operation: The conversion custom variable is expected to have a * valid resource name. */ update?: GoogleAdsSearchads360V23Resources__ConversionCustomVariable; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__ConversionCustomVariableOperation(data: any): GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ConversionCustomVariableOperation(data: any): GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (update) on a conversion goal campaign config. */ export interface GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation { /** * Update operation: The conversion goal campaign config is expected to have * a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation(data: any): GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation(data: any): GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A conversion rate suggestion. */ export interface GoogleAdsSearchads360V23Services__ConversionRateSuggestion { /** * The suggested conversion rate. The value is between 0 and 1 (exclusive). */ conversionRate?: number; /** * Model type used to calculate the suggested conversion rate. */ conversionRateModel?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER_HISTORY" | "INVENTORY_AGGRESSIVE" | "INVENTORY_CONSERVATIVE" | "INVENTORY_MEDIAN"; /** * The code associated with the plannable product (for example: DEMAND_GEN). * To list all plannable product codes, use * ReachPlanService.ListPlannableProducts. */ plannableProductCode?: string; /** * The surfaces associated with the plannable product. If not present, the * conversion rate is considered surface agnostic for this product. */ surfaceTargeting?: GoogleAdsSearchads360V23Services__SurfaceTargeting; } /** * A single operation (create, update, remove) on a conversion value rule. */ export interface GoogleAdsSearchads360V23Services__ConversionValueRuleOperation { /** * Create operation: No resource name is expected for the new conversion * value rule. */ create?: GoogleAdsSearchads360V23Resources__ConversionValueRule; /** * Remove operation: A resource name for the removed conversion value rule is * expected, in this format: * `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}` */ remove?: string; /** * Update operation: The conversion value rule is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__ConversionValueRule; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__ConversionValueRuleOperation(data: any): GoogleAdsSearchads360V23Services__ConversionValueRuleOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ConversionValueRuleOperation(data: any): GoogleAdsSearchads360V23Services__ConversionValueRuleOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on a conversion value rule set. */ export interface GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation { /** * Create operation: No resource name is expected for the new conversion * value rule set. */ create?: GoogleAdsSearchads360V23Resources__ConversionValueRuleSet; /** * Remove operation: A resource name for the removed conversion value rule * set is expected, in this format: * `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}` */ remove?: string; /** * Update operation: The conversion value rule set is expected to have a * valid resource name. */ update?: GoogleAdsSearchads360V23Resources__ConversionValueRuleSet; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation(data: any): GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation(data: any): GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Request message for AccountLinkService.CreateAccountLink. */ export interface GoogleAdsSearchads360V23Services__CreateAccountLinkRequest { /** * Required. The account link to be created. */ accountLink?: GoogleAdsSearchads360V23Resources__AccountLink; } function serializeGoogleAdsSearchads360V23Services__CreateAccountLinkRequest(data: any): GoogleAdsSearchads360V23Services__CreateAccountLinkRequest { return { ...data, accountLink: data["accountLink"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AccountLink(data["accountLink"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CreateAccountLinkRequest(data: any): GoogleAdsSearchads360V23Services__CreateAccountLinkRequest { return { ...data, accountLink: data["accountLink"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AccountLink(data["accountLink"]) : undefined, }; } /** * Response message for AccountLinkService.CreateAccountLink. */ export interface GoogleAdsSearchads360V23Services__CreateAccountLinkResponse { /** * Returned for successful operations. Resource name of the account link. */ resourceName?: string; } /** * Request message for CustomerService.CreateCustomerClient. */ export interface GoogleAdsSearchads360V23Services__CreateCustomerClientRequest { /** * The proposed role of user on the created client customer. Accessible only * to customers on the allow-list. */ accessRole?: | "UNSPECIFIED" | "UNKNOWN" | "ADMIN" | "STANDARD" | "READ_ONLY" | "EMAIL_ONLY"; /** * Required. The new client customer to create. The resource name on this * customer will be ignored. */ customerClient?: GoogleAdsSearchads360V23Resources__Customer; /** * Email address of the user who should be invited on the created client * customer. Accessible only to customers on the allow-list. */ emailAddress?: string; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for CreateCustomerClient mutate. */ export interface GoogleAdsSearchads360V23Services__CreateCustomerClientResponse { /** * Link for inviting user to access the created customer. Accessible to * allowlisted customers only. */ invitationLink?: string; /** * The resource name of the newly created customer. Customer resource names * have the form: `customers/{customer_id}`. */ resourceName?: string; } /** * Request message for DataLinkService.CreateDataLink. */ export interface GoogleAdsSearchads360V23Services__CreateDataLinkRequest { /** * Required. The data link to be created. */ dataLink?: GoogleAdsSearchads360V23Resources__DataLink; } /** * Response message for DataLinkService.CreateDataLink. */ export interface GoogleAdsSearchads360V23Services__CreateDataLinkResponse { /** * Returned for successful operations. Resource name of the data link. */ resourceName?: string; } /** * Request message for OfflineUserDataJobService.CreateOfflineUserDataJob. */ export interface GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest { /** * If true, match rate range for the offline user data job is calculated and * made available in the resource. */ enableMatchRateRangePreview?: boolean; /** * Required. The offline user data job to be created. */ job?: GoogleAdsSearchads360V23Resources__OfflineUserDataJob; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest(data: any): GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest { return { ...data, job: data["job"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__OfflineUserDataJob(data["job"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest(data: any): GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest { return { ...data, job: data["job"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__OfflineUserDataJob(data["job"]) : undefined, }; } /** * Response message for OfflineUserDataJobService.CreateOfflineUserDataJob. */ export interface GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse { /** * The resource name of the OfflineUserDataJob. */ resourceName?: string; } /** * Request message for * ProductLinkInvitationService.CreateProductLinkInvitation. */ export interface GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest { /** * Required. The product link invitation to be created. */ productLinkInvitation?: GoogleAdsSearchads360V23Resources__ProductLinkInvitation; } /** * Response message for product link invitation create. */ export interface GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse { /** * Resource name of the product link invitation. */ resourceName?: string; } /** * Request message for ProductLinkService.CreateProductLink. */ export interface GoogleAdsSearchads360V23Services__CreateProductLinkRequest { /** * Required. The product link to be created. */ productLink?: GoogleAdsSearchads360V23Resources__ProductLink; } function serializeGoogleAdsSearchads360V23Services__CreateProductLinkRequest(data: any): GoogleAdsSearchads360V23Services__CreateProductLinkRequest { return { ...data, productLink: data["productLink"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ProductLink(data["productLink"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CreateProductLinkRequest(data: any): GoogleAdsSearchads360V23Services__CreateProductLinkRequest { return { ...data, productLink: data["productLink"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ProductLink(data["productLink"]) : undefined, }; } /** * Response message for ProductLinkService.CreateProductLink. */ export interface GoogleAdsSearchads360V23Services__CreateProductLinkResponse { /** * Returned for successful operations. Resource name of the product link. */ resourceName?: string; } /** * Location Criterion bid modifier. */ export interface GoogleAdsSearchads360V23Services__CriterionBidModifier { /** * The associated multiplier for the criterion_id. If set, this value cannot * be 0. */ bidModifier?: number; /** * The resource name of the geo location to target. The resource name is of * the format "geoTargetConstants/{criterion_id}". */ geoTargetConstant?: string; } /** * A single operation (create, update) on a custom audience. */ export interface GoogleAdsSearchads360V23Services__CustomAudienceOperation { /** * Create operation: No resource name is expected for the new custom * audience. */ create?: GoogleAdsSearchads360V23Resources__CustomAudience; /** * Remove operation: A resource name for the removed custom audience is * expected, in this format: * `customers/{customer_id}/customAudiences/{custom_audience_id}` */ remove?: string; /** * Update operation: The custom audience is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__CustomAudience; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CustomAudienceOperation(data: any): GoogleAdsSearchads360V23Services__CustomAudienceOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CustomAudience(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CustomAudience(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomAudienceOperation(data: any): GoogleAdsSearchads360V23Services__CustomAudienceOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CustomAudience(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CustomAudience(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Message for custom column header. */ export interface GoogleAdsSearchads360V23Services__CustomColumnHeader { /** * The custom column ID. */ id?: bigint; /** * The user defined name of the custom column. */ name?: string; /** * True when the custom column references metrics. */ referencesMetrics?: boolean; } function serializeGoogleAdsSearchads360V23Services__CustomColumnHeader(data: any): GoogleAdsSearchads360V23Services__CustomColumnHeader { return { ...data, id: data["id"] !== undefined ? String(data["id"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomColumnHeader(data: any): GoogleAdsSearchads360V23Services__CustomColumnHeader { return { ...data, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, }; } /** * A single operation (create, remove) on a custom conversion goal. */ export interface GoogleAdsSearchads360V23Services__CustomConversionGoalOperation { /** * Create operation: No resource name is expected for the new custom * conversion goal */ create?: GoogleAdsSearchads360V23Resources__CustomConversionGoal; /** * Remove operation: A resource name for the removed custom conversion goal * is expected, in this format: * 'customers/{customer_id}/customConversionGoals/{goal_id}' */ remove?: string; /** * Update operation: The custom conversion goal is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__CustomConversionGoal; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CustomConversionGoalOperation(data: any): GoogleAdsSearchads360V23Services__CustomConversionGoalOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CustomConversionGoal(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CustomConversionGoal(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomConversionGoalOperation(data: any): GoogleAdsSearchads360V23Services__CustomConversionGoalOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CustomConversionGoal(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CustomConversionGoal(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on a customer asset. */ export interface GoogleAdsSearchads360V23Services__CustomerAssetOperation { /** * Create operation: No resource name is expected for the new customer asset. */ create?: GoogleAdsSearchads360V23Resources__CustomerAsset; /** * Remove operation: A resource name for the removed customer asset is * expected, in this format: * `customers/{customer_id}/customerAssets/{asset_id}~{field_type}` */ remove?: string; /** * Update operation: The customer asset is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__CustomerAsset; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CustomerAssetOperation(data: any): GoogleAdsSearchads360V23Services__CustomerAssetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomerAssetOperation(data: any): GoogleAdsSearchads360V23Services__CustomerAssetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on a customer asset set. */ export interface GoogleAdsSearchads360V23Services__CustomerAssetSetOperation { /** * Create operation: No resource name is expected for the new customer asset * set. */ create?: GoogleAdsSearchads360V23Resources__CustomerAssetSet; /** * Remove operation: A resource name for the removed customer asset set is * expected, in this format: * `customers/{customer_id}/customerAssetSets/{asset_set_id}` */ remove?: string; } /** * A single operation (create, update) on a CustomerClientLink. */ export interface GoogleAdsSearchads360V23Services__CustomerClientLinkOperation { /** * Create operation: No resource name is expected for the new link. */ create?: GoogleAdsSearchads360V23Resources__CustomerClientLink; /** * Update operation: The link is expected to have a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__CustomerClientLink; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CustomerClientLinkOperation(data: any): GoogleAdsSearchads360V23Services__CustomerClientLinkOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomerClientLinkOperation(data: any): GoogleAdsSearchads360V23Services__CustomerClientLinkOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (update) on a customer conversion goal. */ export interface GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation { /** * Update operation: The customer conversion goal is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__CustomerConversionGoal; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CustomerConversionGoalOperation(data: any): GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomerConversionGoalOperation(data: any): GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on a customizer attribute. */ export interface GoogleAdsSearchads360V23Services__CustomerCustomizerOperation { /** * Create operation: No resource name is expected for the new customer * customizer */ create?: GoogleAdsSearchads360V23Resources__CustomerCustomizer; /** * Remove operation: A resource name for the removed customer customizer is * expected, in this format: * `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}` */ remove?: string; } /** * A single operation (create, remove) on a customer-label relationship. */ export interface GoogleAdsSearchads360V23Services__CustomerLabelOperation { /** * Create operation: No resource name is expected for the new customer-label * relationship. */ create?: GoogleAdsSearchads360V23Resources__CustomerLabel; /** * Remove operation: A resource name for the customer-label relationship * being removed, in this format: * `customers/{customer_id}/customerLabels/{label_id}` */ remove?: string; } /** * A single operation on a customer lifecycle goal. */ export interface GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation { create?: GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal; /** * Update operation: Update an existing customer lifecycle goal. */ update?: GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal; /** * Optional. FieldMask that determines which resource fields are modified in * an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation(data: any): GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation(data: any): GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Updates the status of a CustomerManagerLink. The following actions are * possible: 1. Update operation with status ACTIVE accepts a pending * invitation. 2. Update operation with status REFUSED declines a pending * invitation. 3. Update operation with status INACTIVE terminates link to * manager. */ export interface GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation { /** * Update operation: The link is expected to have a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__CustomerManagerLink; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CustomerManagerLinkOperation(data: any): GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomerManagerLinkOperation(data: any): GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create or remove) on a customer level negative * criterion. */ export interface GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation { /** * Create operation: No resource name is expected for the new criterion. */ create?: GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion; /** * Remove operation: A resource name for the removed criterion is expected, * in this format: * `customers/{customer_id}/customerNegativeCriteria/{criterion_id}` */ remove?: string; } /** * A single update on a customer. */ export interface GoogleAdsSearchads360V23Services__CustomerOperation { /** * Mutate operation. Only updates are supported for customer. */ update?: GoogleAdsSearchads360V23Resources__Customer; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CustomerOperation(data: any): GoogleAdsSearchads360V23Services__CustomerOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomerOperation(data: any): GoogleAdsSearchads360V23Services__CustomerOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single update operation for a CustomerSkAdNetworkConversionValueSchema. */ export interface GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation { /** * Update operation: The schema is expected to have a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema; } /** * A single operation (create or remove) on customer user access invitation. */ export interface GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation { /** * Create operation: No resource name is expected for the new access * invitation. */ create?: GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation; /** * Remove operation: A resource name for the revoke invitation is expected, * in this format: * `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}` */ remove?: string; } /** * A single operation (update, remove) on customer user access. */ export interface GoogleAdsSearchads360V23Services__CustomerUserAccessOperation { /** * Remove operation: A resource name for the removed access is expected, in * this format: * `customers/{customer_id}/customerUserAccesses/{CustomerUserAccess.user_id}` */ remove?: string; /** * Update operation: The customer user access is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__CustomerUserAccess; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CustomerUserAccessOperation(data: any): GoogleAdsSearchads360V23Services__CustomerUserAccessOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomerUserAccessOperation(data: any): GoogleAdsSearchads360V23Services__CustomerUserAccessOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update) on a custom interest. */ export interface GoogleAdsSearchads360V23Services__CustomInterestOperation { /** * Create operation: No resource name is expected for the new custom * interest. */ create?: GoogleAdsSearchads360V23Resources__CustomInterest; /** * Update operation: The custom interest is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__CustomInterest; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CustomInterestOperation(data: any): GoogleAdsSearchads360V23Services__CustomInterestOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomInterestOperation(data: any): GoogleAdsSearchads360V23Services__CustomInterestOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, remove) on a customizer attribute. */ export interface GoogleAdsSearchads360V23Services__CustomizerAttributeOperation { /** * Create operation: No resource name is expected for the new customizer * attribute */ create?: GoogleAdsSearchads360V23Resources__CustomizerAttribute; /** * Remove operation: A resource name for the removed customizer attribute is * expected, in this format: * `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}` */ remove?: string; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__CustomizerAttributeOperation(data: any): GoogleAdsSearchads360V23Services__CustomizerAttributeOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CustomizerAttributeOperation(data: any): GoogleAdsSearchads360V23Services__CustomizerAttributeOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * An incentive offer in the Choose-Your-Own Incentive feature where a user can * select from a set of incentives with different money amounts. */ export interface GoogleAdsSearchads360V23Services__CyoIncentives { /** * Required. The CYO incentive with high target and award amounts. */ highOffer?: GoogleAdsSearchads360V23Services__Incentive; /** * Required. The CYO incentive with low target and award amounts. */ lowOffer?: GoogleAdsSearchads360V23Services__Incentive; /** * Required. The CYO incentive with medium target and award amounts. */ mediumOffer?: GoogleAdsSearchads360V23Services__Incentive; } function serializeGoogleAdsSearchads360V23Services__CyoIncentives(data: any): GoogleAdsSearchads360V23Services__CyoIncentives { return { ...data, highOffer: data["highOffer"] !== undefined ? serializeGoogleAdsSearchads360V23Services__Incentive(data["highOffer"]) : undefined, lowOffer: data["lowOffer"] !== undefined ? serializeGoogleAdsSearchads360V23Services__Incentive(data["lowOffer"]) : undefined, mediumOffer: data["mediumOffer"] !== undefined ? serializeGoogleAdsSearchads360V23Services__Incentive(data["mediumOffer"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__CyoIncentives(data: any): GoogleAdsSearchads360V23Services__CyoIncentives { return { ...data, highOffer: data["highOffer"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__Incentive(data["highOffer"]) : undefined, lowOffer: data["lowOffer"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__Incentive(data["lowOffer"]) : undefined, mediumOffer: data["mediumOffer"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__Incentive(data["mediumOffer"]) : undefined, }; } /** * A list of audience attributes of a single dimension, including their overlap * with a primary attribute, returned as part of a * GenerateAudienceOverlapInsightsResponse. */ export interface GoogleAdsSearchads360V23Services__DimensionOverlapResult { /** * The dimension of all the attributes in this section. */ dimension?: | "UNSPECIFIED" | "UNKNOWN" | "CATEGORY" | "KNOWLEDGE_GRAPH" | "GEO_TARGET_COUNTRY" | "SUB_COUNTRY_LOCATION" | "YOUTUBE_CHANNEL" | "AFFINITY_USER_INTEREST" | "IN_MARKET_USER_INTEREST" | "PARENTAL_STATUS" | "INCOME_RANGE" | "AGE_RANGE" | "GENDER" | "YOUTUBE_VIDEO" | "DEVICE" | "YOUTUBE_LINEUP" | "USER_LIST" | "LIFE_EVENT_USER_INTEREST"; /** * The attributes and their overlap with the primary attribute. */ items?: GoogleAdsSearchads360V23Services__AudienceOverlapItem[]; } function serializeGoogleAdsSearchads360V23Services__DimensionOverlapResult(data: any): GoogleAdsSearchads360V23Services__DimensionOverlapResult { return { ...data, items: data["items"] !== undefined ? data["items"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AudienceOverlapItem(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__DimensionOverlapResult(data: any): GoogleAdsSearchads360V23Services__DimensionOverlapResult { return { ...data, items: data["items"] !== undefined ? data["items"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AudienceOverlapItem(item))) : undefined, }; } /** * Request message for RecommendationService.DismissRecommendation. */ export interface GoogleAdsSearchads360V23Services__DismissRecommendationRequest { /** * Required. The list of operations to dismiss recommendations. If * partial_failure=false all recommendations should be of the same type There * is a limit of 100 operations per request. */ operations?: GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, operations will be carried in a single * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; } /** * Response message for RecommendationService.DismissRecommendation. */ export interface GoogleAdsSearchads360V23Services__DismissRecommendationResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors) we return the RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * Results of operations to dismiss recommendations. */ results?: GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult[]; } /** * A breakdown of the number of unique people reached at a given effective * frequency. */ export interface GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown { /** * The number of users (including co-viewing users) reached for the * associated effective_frequency value. */ effectiveCoviewReach?: bigint; /** * The effective frequency [1-10]. */ effectiveFrequency?: number; /** * The number of users (including co-viewing users) reached for the * associated effective_frequency value within the specified plan demographic. */ onTargetEffectiveCoviewReach?: bigint; /** * The number of unique people reached at least effective_frequency times * that exactly matches the Targeting. Note that a minimum number of unique * people must be reached in order for data to be reported. If the minimum * number is not met, the on_target_reach value will be rounded to 0. */ onTargetReach?: bigint; /** * Total number of unique people reached at least effective_frequency times. * This includes people that may fall outside the specified Targeting. Note * that a minimum number of unique people must be reached in order for data to * be reported. If the minimum number is not met, the total_reach value will * be rounded to 0. */ totalReach?: bigint; } function serializeGoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown(data: any): GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown { return { ...data, effectiveCoviewReach: data["effectiveCoviewReach"] !== undefined ? String(data["effectiveCoviewReach"]) : undefined, onTargetEffectiveCoviewReach: data["onTargetEffectiveCoviewReach"] !== undefined ? String(data["onTargetEffectiveCoviewReach"]) : undefined, onTargetReach: data["onTargetReach"] !== undefined ? String(data["onTargetReach"]) : undefined, totalReach: data["totalReach"] !== undefined ? String(data["totalReach"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown(data: any): GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown { return { ...data, effectiveCoviewReach: data["effectiveCoviewReach"] !== undefined ? BigInt(data["effectiveCoviewReach"]) : undefined, onTargetEffectiveCoviewReach: data["onTargetEffectiveCoviewReach"] !== undefined ? BigInt(data["onTargetEffectiveCoviewReach"]) : undefined, onTargetReach: data["onTargetReach"] !== undefined ? BigInt(data["onTargetReach"]) : undefined, totalReach: data["totalReach"] !== undefined ? BigInt(data["totalReach"]) : undefined, }; } /** * Effective frequency limit. */ export interface GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit { /** * The highest effective frequency value to include in * Forecast.effective_frequency_breakdowns. This field supports frequencies * 1-10, inclusive. */ effectiveFrequencyBreakdownLimit?: number; } /** * A single enablement result of a campaign. */ export interface GoogleAdsSearchads360V23Services__EnablementResult { /** * This indicates the campaign for which enablement was tried, regardless of * the outcome. */ campaign?: string; /** * Details of the error when enablement fails. */ enablementError?: GoogleRpc__Status; } /** * A single enable operation of a campaign. */ export interface GoogleAdsSearchads360V23Services__EnableOperation { /** * Optional. Hex code representation of the accent brand color, for example * #00ff00. accent_color is required when main_color is specified. */ accentColor?: string; /** * Required. The switch to automatically populate top-performing brand * assets. This field is required. If true, top-performing brand assets will * be automatically populated. If false, the brand_assets field is required. */ autoPopulateBrandAssets?: boolean; /** * Optional. The brand assets linked to the campaign. This field is required * when the value of auto_populate_brand_assets is false. */ brandAssets?: GoogleAdsSearchads360V23Services__BrandCampaignAssets; /** * Required. The resource name of the campaign to enable. */ campaign?: string; /** * Optional. The domain of the final uri. */ finalUriDomain?: string; /** * Optional. The font family is specified as a string, and must be one of the * following: "Open Sans", "Roboto", "Roboto Slab", "Montserrat", "Poppins", * "Lato", "Oswald", or "Playfair Display". */ fontFamily?: string; /** * Optional. Hex code representation of the main brand color, for example * #00ff00. main_color is required when accent color is specified. */ mainColor?: string; } /** * Request to enable Brand Guidelines for a Performance Max campaign. */ export interface GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest { /** * Required. The list of individual campaign operations. A maximum of 10 * enable operations can be executed in a request. */ operations?: GoogleAdsSearchads360V23Services__EnableOperation[]; } /** * Brand Guidelines campaign enablement response. */ export interface GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse { /** * Campaign enablement results per campaign. */ results?: GoogleAdsSearchads360V23Services__EnablementResult[]; } /** * Request message for ExperimentService.EndExperiment. */ export interface GoogleAdsSearchads360V23Services__EndExperimentRequest { /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * A single operation on an experiment arm. */ export interface GoogleAdsSearchads360V23Services__ExperimentArmOperation { /** * Create operation */ create?: GoogleAdsSearchads360V23Resources__ExperimentArm; /** * Remove operation: The experiment arm is expected to have a valid resource * name, in this format: * `customers/{customer_id}/experiments/{campaign_experiment_id}` */ remove?: string; /** * Update operation: The experiment arm is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__ExperimentArm; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__ExperimentArmOperation(data: any): GoogleAdsSearchads360V23Services__ExperimentArmOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ExperimentArm(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ExperimentArm(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ExperimentArmOperation(data: any): GoogleAdsSearchads360V23Services__ExperimentArmOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ExperimentArm(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ExperimentArm(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation on an experiment. */ export interface GoogleAdsSearchads360V23Services__ExperimentOperation { /** * Create operation */ create?: GoogleAdsSearchads360V23Resources__Experiment; /** * Remove operation: The experiment is expected to have a valid resource * name, in this format: * `customers/{customer_id}/experiments/{campaign_experiment_id}` */ remove?: string; /** * Update operation: The experiment is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__Experiment; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__ExperimentOperation(data: any): GoogleAdsSearchads360V23Services__ExperimentOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ExperimentOperation(data: any): GoogleAdsSearchads360V23Services__ExperimentOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Response from getting the acquisition incentive for a user when they visit a * specific marketing page. */ export interface GoogleAdsSearchads360V23Services__FetchIncentiveResponse { /** * Required. The acquisition incentive offer for the user. */ incentiveOffer?: GoogleAdsSearchads360V23Services__IncentiveOffer; } function serializeGoogleAdsSearchads360V23Services__FetchIncentiveResponse(data: any): GoogleAdsSearchads360V23Services__FetchIncentiveResponse { return { ...data, incentiveOffer: data["incentiveOffer"] !== undefined ? serializeGoogleAdsSearchads360V23Services__IncentiveOffer(data["incentiveOffer"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__FetchIncentiveResponse(data: any): GoogleAdsSearchads360V23Services__FetchIncentiveResponse { return { ...data, incentiveOffer: data["incentiveOffer"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__IncentiveOffer(data["incentiveOffer"]) : undefined, }; } /** * Forecasted traffic metrics for the planned products and targeting. */ export interface GoogleAdsSearchads360V23Services__Forecast { /** * The number of conversions. This metric is only available for DEMAND_GEN * plannable products. See * https://support.google.com/google-ads/answer/2375431 for more information * on conversions. */ conversions?: number; /** * A list of effective frequency forecasts. The list is ordered starting with * 1+ and ending with the value set in * GenerateReachForecastRequest.effective_frequency_limit. If no * effective_frequency_limit was set, this list will be empty. */ effectiveFrequencyBreakdowns?: GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown[]; /** * Number of ad impressions that exactly matches the Targeting including * co-viewers. */ onTargetCoviewImpressions?: bigint; /** * Number of unique people reached that exactly matches the Targeting * including co-viewers. */ onTargetCoviewReach?: bigint; /** * Number of ad impressions that exactly matches the Targeting. */ onTargetImpressions?: bigint; /** * Number of unique people reached at least * GenerateReachForecastRequest.min_effective_frequency or * GenerateReachForecastRequest.effective_frequency_limit times that exactly * matches the Targeting. Note that a minimum number of unique people must be * reached in order for data to be reported. If the minimum number is not met, * the on_target_reach value will be rounded to 0. */ onTargetReach?: bigint; /** * Total number of ad impressions including co-viewers. This includes * impressions that may fall outside the specified Targeting, due to * insufficient information on signed-in users. */ totalCoviewImpressions?: bigint; /** * Number of unique people reached including co-viewers. This includes people * that may fall outside the specified Targeting. */ totalCoviewReach?: bigint; /** * Total number of ad impressions. This includes impressions that may fall * outside the specified Targeting, due to insufficient information on * signed-in users. */ totalImpressions?: bigint; /** * Total number of unique people reached at least * GenerateReachForecastRequest.min_effective_frequency or * GenerateReachForecastRequest.effective_frequency_limit times. This includes * people that may fall outside the specified Targeting. Note that a minimum * number of unique people must be reached in order for data to be reported. * If the minimum number is not met, the total_reach value will be rounded to * 0. */ totalReach?: bigint; /** * Number of ad views forecasted for the specified product and targeting. A * TrueView View is counted when a viewer views a larger portion or the * entirety of an ad beyond an impression. See * https://support.google.com/google-ads/answer/2375431 for more information * on TrueView Views. */ trueviewViews?: bigint; /** * Number of times the ad's impressions were considered viewable. See * https://support.google.com/google-ads/answer/7029393 for more information * about what makes an ad viewable and how viewability is measured. */ viewableImpressions?: bigint; } function serializeGoogleAdsSearchads360V23Services__Forecast(data: any): GoogleAdsSearchads360V23Services__Forecast { return { ...data, effectiveFrequencyBreakdowns: data["effectiveFrequencyBreakdowns"] !== undefined ? data["effectiveFrequencyBreakdowns"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown(item))) : undefined, onTargetCoviewImpressions: data["onTargetCoviewImpressions"] !== undefined ? String(data["onTargetCoviewImpressions"]) : undefined, onTargetCoviewReach: data["onTargetCoviewReach"] !== undefined ? String(data["onTargetCoviewReach"]) : undefined, onTargetImpressions: data["onTargetImpressions"] !== undefined ? String(data["onTargetImpressions"]) : undefined, onTargetReach: data["onTargetReach"] !== undefined ? String(data["onTargetReach"]) : undefined, totalCoviewImpressions: data["totalCoviewImpressions"] !== undefined ? String(data["totalCoviewImpressions"]) : undefined, totalCoviewReach: data["totalCoviewReach"] !== undefined ? String(data["totalCoviewReach"]) : undefined, totalImpressions: data["totalImpressions"] !== undefined ? String(data["totalImpressions"]) : undefined, totalReach: data["totalReach"] !== undefined ? String(data["totalReach"]) : undefined, trueviewViews: data["trueviewViews"] !== undefined ? String(data["trueviewViews"]) : undefined, viewableImpressions: data["viewableImpressions"] !== undefined ? String(data["viewableImpressions"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__Forecast(data: any): GoogleAdsSearchads360V23Services__Forecast { return { ...data, effectiveFrequencyBreakdowns: data["effectiveFrequencyBreakdowns"] !== undefined ? data["effectiveFrequencyBreakdowns"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown(item))) : undefined, onTargetCoviewImpressions: data["onTargetCoviewImpressions"] !== undefined ? BigInt(data["onTargetCoviewImpressions"]) : undefined, onTargetCoviewReach: data["onTargetCoviewReach"] !== undefined ? BigInt(data["onTargetCoviewReach"]) : undefined, onTargetImpressions: data["onTargetImpressions"] !== undefined ? BigInt(data["onTargetImpressions"]) : undefined, onTargetReach: data["onTargetReach"] !== undefined ? BigInt(data["onTargetReach"]) : undefined, totalCoviewImpressions: data["totalCoviewImpressions"] !== undefined ? BigInt(data["totalCoviewImpressions"]) : undefined, totalCoviewReach: data["totalCoviewReach"] !== undefined ? BigInt(data["totalCoviewReach"]) : undefined, totalImpressions: data["totalImpressions"] !== undefined ? BigInt(data["totalImpressions"]) : undefined, totalReach: data["totalReach"] !== undefined ? BigInt(data["totalReach"]) : undefined, trueviewViews: data["trueviewViews"] !== undefined ? BigInt(data["trueviewViews"]) : undefined, viewableImpressions: data["viewableImpressions"] !== undefined ? BigInt(data["viewableImpressions"]) : undefined, }; } /** * An ad group that is part of a campaign to be forecasted. */ export interface GoogleAdsSearchads360V23Services__ForecastAdGroup { /** * Required. The list of biddable keywords to be used in the ad group when * doing the forecast. Requires at least one keyword. */ biddableKeywords?: GoogleAdsSearchads360V23Services__BiddableKeyword[]; /** * The max cpc to use for the ad group when generating forecasted traffic. * This value will override the max cpc value set in the bidding strategy. * Only specify this field for bidding strategies that max cpc values. */ maxCpcBidMicros?: bigint; /** * The details of the keyword. You should specify both the keyword text and * match type. */ negativeKeywords?: GoogleAdsSearchads360V23Common__KeywordInfo[]; } function serializeGoogleAdsSearchads360V23Services__ForecastAdGroup(data: any): GoogleAdsSearchads360V23Services__ForecastAdGroup { return { ...data, biddableKeywords: data["biddableKeywords"] !== undefined ? data["biddableKeywords"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__BiddableKeyword(item))) : undefined, maxCpcBidMicros: data["maxCpcBidMicros"] !== undefined ? String(data["maxCpcBidMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ForecastAdGroup(data: any): GoogleAdsSearchads360V23Services__ForecastAdGroup { return { ...data, biddableKeywords: data["biddableKeywords"] !== undefined ? data["biddableKeywords"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__BiddableKeyword(item))) : undefined, maxCpcBidMicros: data["maxCpcBidMicros"] !== undefined ? BigInt(data["maxCpcBidMicros"]) : undefined, }; } /** * Controls forecast metrics to return. */ export interface GoogleAdsSearchads360V23Services__ForecastMetricOptions { /** * Indicates whether to include co-view metrics in the response forecast. */ includeCoview?: boolean; } /** * A rule specifying the maximum number of times an ad can be shown to a user * over a particular time period. */ export interface GoogleAdsSearchads360V23Services__FrequencyCap { /** * Required. The number of impressions, inclusive. */ impressions?: number; /** * Required. The type of time unit. */ timeUnit?: | "UNSPECIFIED" | "UNKNOWN" | "DAY" | "WEEK" | "MONTH"; } /** * Request message for KeywordPlanIdeaService.GenerateAdGroupThemes. */ export interface GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest { /** * Required. A list of resource names of AdGroups to group keywords into. * Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}` */ adGroups?: string[]; /** * Required. A list of keywords to group into the provided AdGroups. */ keywords?: string[]; } /** * Response message for KeywordPlanIdeaService.GenerateAdGroupThemes. */ export interface GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse { /** * A list of suggested AdGroup/keyword pairings. */ adGroupKeywordSuggestions?: GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion[]; /** * A list of provided AdGroups that could not be used as suggestions. */ unusableAdGroups?: GoogleAdsSearchads360V23Services__UnusableAdGroup[]; } /** * Request message for * AudienceInsightsService.GenerateAudienceCompositionInsights. */ export interface GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest { /** * Required. The audience of interest for which insights are being requested. */ audience?: GoogleAdsSearchads360V23Services__InsightsAudience; /** * The baseline audience to which the audience of interest is being compared. */ baselineAudience?: GoogleAdsSearchads360V23Services__InsightsAudience; /** * The name of the customer being planned for. This is a user-defined value. */ customerInsightsGroup?: string; /** * The one-month range of historical data to use for insights, in the format * "yyyy-mm". If unset, insights will be returned for the last thirty days of * data. */ dataMonth?: string; /** * Required. The audience dimensions for which composition insights should be * returned. Supported dimensions are KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, * SUB_COUNTRY_LOCATION, YOUTUBE_CHANNEL, YOUTUBE_LINEUP, * AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, . */ dimensions?: | "UNSPECIFIED" | "UNKNOWN" | "CATEGORY" | "KNOWLEDGE_GRAPH" | "GEO_TARGET_COUNTRY" | "SUB_COUNTRY_LOCATION" | "YOUTUBE_CHANNEL" | "AFFINITY_USER_INTEREST" | "IN_MARKET_USER_INTEREST" | "PARENTAL_STATUS" | "INCOME_RANGE" | "AGE_RANGE" | "GENDER" | "YOUTUBE_VIDEO" | "DEVICE" | "YOUTUBE_LINEUP" | "USER_LIST" | "LIFE_EVENT_USER_INTEREST"[]; /** * Optional. Additional information on the application issuing the request. */ insightsApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * Response message for * AudienceInsightsService.GenerateAudienceCompositionInsights. */ export interface GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse { /** * The contents of the insights report, organized into sections. Each section * is associated with one of the AudienceInsightsDimension values in the * request. There may be more than one section per dimension. */ sections?: GoogleAdsSearchads360V23Services__AudienceCompositionSection[]; } function serializeGoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse { return { ...data, sections: data["sections"] !== undefined ? data["sections"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AudienceCompositionSection(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse { return { ...data, sections: data["sections"] !== undefined ? data["sections"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AudienceCompositionSection(item))) : undefined, }; } /** * Request message for AudienceInsightsService.GenerateAudienceDefinition. */ export interface GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest { /** * Required. Provide a text description of an audience to get AI-generated * structured suggestions. This can take around 5 or more seconds to complete * Supported marketing objectives are: AWARENESS, CONSIDERATION and RESEARCH. * Supported dimensions are: AGE_RANGE, GENDER, PARENTAL_STATUS, * AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, LIFE_EVENT_USER_INTEREST, * CATEGORY and KNOWLEDGE_GRAPH. */ audienceDescription?: GoogleAdsSearchads360V23Services__InsightsAudienceDescription; /** * Optional. The name of the customer being planned for. This is a * user-defined value. */ customerInsightsGroup?: string; /** * Optional. Additional information on the application issuing the request. */ insightsApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * Response message for AudienceInsightsService.GenerateAudienceDefinition. */ export interface GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse { /** * The attributes that make up the audience definition. */ highRelevanceAttributes?: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; /** * Additional attributes that are less relevant but still related to the * audience description. Use these attributes to broaden the audience * definition to reach more users. */ mediumRelevanceAttributes?: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; } function serializeGoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse(data: any): GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse { return { ...data, highRelevanceAttributes: data["highRelevanceAttributes"] !== undefined ? data["highRelevanceAttributes"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, mediumRelevanceAttributes: data["mediumRelevanceAttributes"] !== undefined ? data["mediumRelevanceAttributes"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse(data: any): GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse { return { ...data, highRelevanceAttributes: data["highRelevanceAttributes"] !== undefined ? data["highRelevanceAttributes"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, mediumRelevanceAttributes: data["mediumRelevanceAttributes"] !== undefined ? data["mediumRelevanceAttributes"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, }; } /** * Request message for AudienceInsightsService.GenerateAudienceOverlapInsights. */ export interface GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest { /** * Required. The country in which to calculate the sizes and overlaps of * audiences. */ countryLocation?: GoogleAdsSearchads360V23Common__LocationInfo; /** * The name of the customer being planned for. This is a user-defined value. */ customerInsightsGroup?: string; /** * Required. The types of attributes of which to calculate the overlap with * the primary_attribute. The values must be a subset of * AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, AGE_RANGE and GENDER. */ dimensions?: | "UNSPECIFIED" | "UNKNOWN" | "CATEGORY" | "KNOWLEDGE_GRAPH" | "GEO_TARGET_COUNTRY" | "SUB_COUNTRY_LOCATION" | "YOUTUBE_CHANNEL" | "AFFINITY_USER_INTEREST" | "IN_MARKET_USER_INTEREST" | "PARENTAL_STATUS" | "INCOME_RANGE" | "AGE_RANGE" | "GENDER" | "YOUTUBE_VIDEO" | "DEVICE" | "YOUTUBE_LINEUP" | "USER_LIST" | "LIFE_EVENT_USER_INTEREST"[]; /** * Optional. Additional information on the application issuing the request. */ insightsApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; /** * Required. The audience attribute that should be intersected with all other * eligible audiences. This must be an Affinity or In-Market UserInterest, an * AgeRange or a Gender. */ primaryAttribute?: GoogleAdsSearchads360V23Common__AudienceInsightsAttribute; } /** * Response message for * AudienceInsightsService.GenerateAudienceOverlapInsights. */ export interface GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse { /** * Lists of attributes and their overlap with the primary attribute, one list * per requested dimension. */ dimensionResults?: GoogleAdsSearchads360V23Services__DimensionOverlapResult[]; /** * Metadata for the primary attribute, including potential YouTube reach. */ primaryAttributeMetadata?: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata; } function serializeGoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse { return { ...data, dimensionResults: data["dimensionResults"] !== undefined ? data["dimensionResults"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__DimensionOverlapResult(item))) : undefined, primaryAttributeMetadata: data["primaryAttributeMetadata"] !== undefined ? serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(data["primaryAttributeMetadata"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse { return { ...data, dimensionResults: data["dimensionResults"] !== undefined ? data["dimensionResults"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__DimensionOverlapResult(item))) : undefined, primaryAttributeMetadata: data["primaryAttributeMetadata"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(data["primaryAttributeMetadata"]) : undefined, }; } /** * Request message for BenchmarksService.GenerateBenchmarksMetrics. */ export interface GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest { /** * Additional information on the application issuing the request. */ applicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; /** * Required. The source used to generate benchmarks metrics for. */ benchmarksSource?: GoogleAdsSearchads360V23Services__BenchmarksSource; /** * Optional. The three-character ISO 4217 currency code. If unspecified, the * default currency for monetary values is USD. */ currencyCode?: string; /** * The name of the customer being planned for. This is a user-defined value. */ customerBenchmarksGroup?: string; /** * The date range to aggregate metrics over. If unset, data will be returned * for the most recent quarter for which data is available. Dates can be * retrieved using BenchmarksService.ListBenchmarksAvailableDates. */ dateRange?: GoogleAdsSearchads360V23Common__DateRange; /** * Required. The location to generate benchmarks metrics for. */ location?: GoogleAdsSearchads360V23Common__LocationInfo; /** * Required. The products to aggregate metrics over. Product filter settings * support a list of product IDs or a list of marketing objectives. */ productFilter?: GoogleAdsSearchads360V23Services__ProductFilter; } function serializeGoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest(data: any): GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest { return { ...data, benchmarksSource: data["benchmarksSource"] !== undefined ? serializeGoogleAdsSearchads360V23Services__BenchmarksSource(data["benchmarksSource"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest(data: any): GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest { return { ...data, benchmarksSource: data["benchmarksSource"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__BenchmarksSource(data["benchmarksSource"]) : undefined, }; } /** * Response message for BenchmarksService.GenerateBenchmarksMetrics. */ export interface GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse { /** * Metrics for the selected benchmarks source. */ averageBenchmarksMetrics?: GoogleAdsSearchads360V23Services__Metrics; /** * Metrics belonging to the customer. */ customerMetrics?: GoogleAdsSearchads360V23Services__Metrics; } /** * Request message for ReachPlanService.GenerateConversionRates. */ export interface GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest { /** * Required. The ID of the customer. A conversion rate based on the * historical data of this customer may be suggested. */ customerId?: string; /** * The name of the customer being planned for. This is a user-defined value. */ customerReachGroup?: string; /** * Optional. Additional information on the application issuing the request. */ reachApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * Response message for ReachPlanService.GenerateConversionRates, containing * conversion rate suggestions for supported plannable products. */ export interface GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse { /** * A list containing conversion rate suggestions. Each repeated element will * have an associated product code. Multiple suggestions may share the same * product code. */ conversionRateSuggestions?: GoogleAdsSearchads360V23Services__ConversionRateSuggestion[]; } /** * Request message for AudienceInsightsService.GenerateInsightsFinderReport. */ export interface GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest { /** * Required. A baseline audience for this report, typically all people in a * region. */ baselineAudience?: GoogleAdsSearchads360V23Services__InsightsAudience; /** * The name of the customer being planned for. This is a user-defined value. */ customerInsightsGroup?: string; /** * Optional. Additional information on the application issuing the request. */ insightsApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; /** * Required. The specific audience of interest for this report. The insights * in the report will be based on attributes more prevalent in this audience * than in the report's baseline audience. */ specificAudience?: GoogleAdsSearchads360V23Services__InsightsAudience; } /** * The response message for * AudienceInsightsService.GenerateInsightsFinderReport, containing the * shareable URL for the report. */ export interface GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse { /** * An HTTPS URL providing a deep link into the Insights Finder UI with the * report inputs filled in according to the request. */ savedReportUrl?: string; } /** * Request message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics. */ export interface GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest { /** * Required. The campaign used in the forecast. */ campaign?: GoogleAdsSearchads360V23Services__CampaignToForecast; /** * The currency used for exchange rate conversion. By default, the account * currency of the customer is used. Set this field only if the currency is * different from the account currency. The list of valid currency codes can * be found at * https://developers.google.com/google-ads/api/data/codes-formats#currency-codes. */ currencyCode?: string; /** * The date range for the forecast. The start date must be in the future and * end date must be within 1 year from today. The reference timezone used is * the one of the Google Ads account belonging to the customer. If not set, a * default date range from next Sunday to the following Saturday will be used. */ forecastPeriod?: GoogleAdsSearchads360V23Common__DateRange; } function serializeGoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest { return { ...data, campaign: data["campaign"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CampaignToForecast(data["campaign"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest { return { ...data, campaign: data["campaign"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CampaignToForecast(data["campaign"]) : undefined, }; } /** * Response message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics. */ export interface GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse { /** * Results of the campaign forecast. */ campaignForecastMetrics?: GoogleAdsSearchads360V23Services__KeywordForecastMetrics; } function serializeGoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse { return { ...data, campaignForecastMetrics: data["campaignForecastMetrics"] !== undefined ? serializeGoogleAdsSearchads360V23Services__KeywordForecastMetrics(data["campaignForecastMetrics"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse { return { ...data, campaignForecastMetrics: data["campaignForecastMetrics"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__KeywordForecastMetrics(data["campaignForecastMetrics"]) : undefined, }; } /** * Request message for KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics. */ export interface GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest { /** * The aggregate fields to include in response. */ aggregateMetrics?: GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics; /** * The resource names of the location to target. Maximum is 10. An empty list * MAY be used to specify all targeting geos. */ geoTargetConstants?: string[]; /** * The options for historical metrics data. */ historicalMetricsOptions?: GoogleAdsSearchads360V23Common__HistoricalMetricsOptions; /** * If true, adult keywords will be included in response. The default value is * false. */ includeAdultKeywords?: boolean; /** * Targeting network. If not set, Google Search And Partners Network will be * used. */ keywordPlanNetwork?: | "UNSPECIFIED" | "UNKNOWN" | "GOOGLE_SEARCH" | "GOOGLE_SEARCH_AND_PARTNERS"; /** * A list of keywords to get historical metrics. Not all inputs will be * returned as a result of near-exact deduplication. For example, if stats for * "car" and "cars" are requested, only "car" will be returned. A maximum of * 10,000 keywords can be used. */ keywords?: string[]; /** * The resource name of the language to target. Each keyword belongs to some * set of languages; a keyword is included if language is one of its * languages. If not set, all keywords will be included. */ language?: string; } function serializeGoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest { return { ...data, historicalMetricsOptions: data["historicalMetricsOptions"] !== undefined ? serializeGoogleAdsSearchads360V23Common__HistoricalMetricsOptions(data["historicalMetricsOptions"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest { return { ...data, historicalMetricsOptions: data["historicalMetricsOptions"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__HistoricalMetricsOptions(data["historicalMetricsOptions"]) : undefined, }; } /** * Response message for * KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics. */ export interface GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse { /** * The aggregate metrics for all keywords. */ aggregateMetricResults?: GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults; /** * List of keywords and their historical metrics. */ results?: GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult[]; } function serializeGoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse { return { ...data, aggregateMetricResults: data["aggregateMetricResults"] !== undefined ? serializeGoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults(data["aggregateMetricResults"]) : undefined, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse { return { ...data, aggregateMetricResults: data["aggregateMetricResults"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults(data["aggregateMetricResults"]) : undefined, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult(item))) : undefined, }; } /** * The result of generating keyword historical metrics. */ export interface GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult { /** * The list of close variants from the requested keywords whose stats are * combined into this GenerateKeywordHistoricalMetricsResult. */ closeVariants?: string[]; /** * The historical metrics for text and its close variants */ keywordMetrics?: GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics; /** * The text of the query associated with one or more keywords. Note that we * de-dupe your keywords list, eliminating close variants before returning the * keywords as text. For example, if your request originally contained the * keywords "car" and "cars", the returned search query will only contain * "cars". The list of de-duped queries will be included in close_variants * field. */ text?: string; } function serializeGoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult { return { ...data, keywordMetrics: data["keywordMetrics"] !== undefined ? serializeGoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics(data["keywordMetrics"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult { return { ...data, keywordMetrics: data["keywordMetrics"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics(data["keywordMetrics"]) : undefined, }; } /** * Response message for KeywordPlanIdeaService.GenerateKeywordIdeas. */ export interface GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse { /** * The aggregate metrics for all keyword ideas. */ aggregateMetricResults?: GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults; /** * Pagination token used to retrieve the next page of results. Pass the * content of this string as the `page_token` attribute of the next request. * `next_page_token` is not returned for the last page. */ nextPageToken?: string; /** * Results of generating keyword ideas. */ results?: GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult[]; /** * Total number of results available. */ totalSize?: bigint; } function serializeGoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse { return { ...data, aggregateMetricResults: data["aggregateMetricResults"] !== undefined ? serializeGoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults(data["aggregateMetricResults"]) : undefined, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult(item))) : undefined, totalSize: data["totalSize"] !== undefined ? String(data["totalSize"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse { return { ...data, aggregateMetricResults: data["aggregateMetricResults"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults(data["aggregateMetricResults"]) : undefined, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult(item))) : undefined, totalSize: data["totalSize"] !== undefined ? BigInt(data["totalSize"]) : undefined, }; } /** * The result of generating keyword ideas. */ export interface GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult { /** * The list of close variants from the requested keywords that are combined * into this GenerateKeywordIdeaResult. See * https://support.google.com/google-ads/answer/9342105 for the definition of * "close variants". */ closeVariants?: string[]; /** * The annotations for the keyword. The annotation data is only provided if * requested. */ keywordAnnotations?: GoogleAdsSearchads360V23Common__KeywordAnnotations; /** * The historical metrics for the keyword. */ keywordIdeaMetrics?: GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics; /** * Text of the keyword idea. As in Keyword Plan historical metrics, this text * may not be an actual keyword, but the canonical form of multiple keywords. * See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService. */ text?: string; } function serializeGoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult { return { ...data, keywordIdeaMetrics: data["keywordIdeaMetrics"] !== undefined ? serializeGoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics(data["keywordIdeaMetrics"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult { return { ...data, keywordIdeaMetrics: data["keywordIdeaMetrics"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics(data["keywordIdeaMetrics"]) : undefined, }; } /** * Request message for KeywordPlanIdeaService.GenerateKeywordIdeas. */ export interface GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest { /** * The aggregate fields to include in response. */ aggregateMetrics?: GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics; /** * The resource names of the location to target. Maximum is 10. An empty list * MAY be used to specify all targeting geos. */ geoTargetConstants?: string[]; /** * The options for historical metrics data. */ historicalMetricsOptions?: GoogleAdsSearchads360V23Common__HistoricalMetricsOptions; /** * If true, adult keywords will be included in response. The default value is * false. */ includeAdultKeywords?: boolean; /** * A Keyword and a specific Url to generate ideas from for example, cars, * www.example.com/cars. */ keywordAndUrlSeed?: GoogleAdsSearchads360V23Services__KeywordAndUrlSeed; /** * The keyword annotations to include in response. */ keywordAnnotation?: | "UNSPECIFIED" | "UNKNOWN" | "KEYWORD_CONCEPT"[]; /** * Targeting network. If not set, Google Search And Partners Network will be * used. */ keywordPlanNetwork?: | "UNSPECIFIED" | "UNKNOWN" | "GOOGLE_SEARCH" | "GOOGLE_SEARCH_AND_PARTNERS"; /** * A Keyword or phrase to generate ideas from, for example, cars. */ keywordSeed?: GoogleAdsSearchads360V23Services__KeywordSeed; /** * The resource name of the language to target. Each keyword belongs to some * set of languages; a keyword is included if language is one of its * languages. If not set, all keywords will be included. */ language?: string; /** * Number of results to retrieve in a single page. A maximum of 10,000 * results may be returned, if the page_size exceeds this, it is ignored. If * unspecified, at most 10,000 results will be returned. The server may decide * to further limit the number of returned resources. If the response contains * fewer than 10,000 results it may not be assumed as last page of results. */ pageSize?: number; /** * Token of the page to retrieve. If not specified, the first page of results * will be returned. To request next page of results use the value obtained * from `next_page_token` in the previous response. The request fields must * match across pages. */ pageToken?: string; /** * The site to generate ideas from, for example, www.example.com. */ siteSeed?: GoogleAdsSearchads360V23Services__SiteSeed; /** * A specific url to generate ideas from, for example, www.example.com/cars. */ urlSeed?: GoogleAdsSearchads360V23Services__UrlSeed; } function serializeGoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest { return { ...data, historicalMetricsOptions: data["historicalMetricsOptions"] !== undefined ? serializeGoogleAdsSearchads360V23Common__HistoricalMetricsOptions(data["historicalMetricsOptions"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest(data: any): GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest { return { ...data, historicalMetricsOptions: data["historicalMetricsOptions"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__HistoricalMetricsOptions(data["historicalMetricsOptions"]) : undefined, }; } /** * Request message for ReachPlanService.GenerateReachForecast. */ export interface GoogleAdsSearchads360V23Services__GenerateReachForecastRequest { /** * Required. Campaign duration. */ campaignDuration?: GoogleAdsSearchads360V23Services__CampaignDuration; /** * Chosen cookie frequency cap to be applied to each planned product. This is * equivalent to the frequency cap exposed in Google Ads when creating a * campaign, it represents the maximum number of times an ad can be shown to * the same user. If not specified, no cap is applied. This field is * deprecated in v4 and will eventually be removed. Use * cookie_frequency_cap_setting instead. */ cookieFrequencyCap?: number; /** * Chosen cookie frequency cap to be applied to each planned product. This is * equivalent to the frequency cap exposed in Google Ads when creating a * campaign, it represents the maximum number of times an ad can be shown to * the same user during a specified time interval. If not specified, a default * of 0 (no cap) is applied. This field replaces the deprecated * cookie_frequency_cap field. */ cookieFrequencyCapSetting?: GoogleAdsSearchads360V23Services__FrequencyCap; /** * The currency code. Three-character ISO 4217 currency code. */ currencyCode?: string; /** * The name of the customer being planned for. This is a user-defined value. */ customerReachGroup?: string; /** * The highest minimum effective frequency (the number of times a person was * exposed to the ad) value [1-10] to include in * Forecast.effective_frequency_breakdowns. If not specified, * Forecast.effective_frequency_breakdowns will not be provided. The effective * frequency value provided here will also be used as the minimum effective * frequency for the reported reach metrics. This field cannot be combined * with the min_effective_frequency field. */ effectiveFrequencyLimit?: GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit; /** * Controls the forecast metrics returned in the response. */ forecastMetricOptions?: GoogleAdsSearchads360V23Services__ForecastMetricOptions; /** * Chosen minimum effective frequency (the number of times a person was * exposed to the ad) for the reported reach metrics [1-10]. This won't affect * the targeting, but just the reporting. If not specified, a default of 1 is * applied. This field cannot be combined with the effective_frequency_limit * field. */ minEffectiveFrequency?: number; /** * Required. The products to be forecast. The max number of allowed planned * products is 15. */ plannedProducts?: GoogleAdsSearchads360V23Services__PlannedProduct[]; /** * Optional. Additional information on the application issuing the request. */ reachApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; /** * The targeting to be applied to all products selected in the product mix. * This is planned targeting: execution details might vary based on the * advertising product, consult an implementation specialist. See specific * metrics for details on how targeting affects them. */ targeting?: GoogleAdsSearchads360V23Services__Targeting; } function serializeGoogleAdsSearchads360V23Services__GenerateReachForecastRequest(data: any): GoogleAdsSearchads360V23Services__GenerateReachForecastRequest { return { ...data, plannedProducts: data["plannedProducts"] !== undefined ? data["plannedProducts"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__PlannedProduct(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateReachForecastRequest(data: any): GoogleAdsSearchads360V23Services__GenerateReachForecastRequest { return { ...data, plannedProducts: data["plannedProducts"] !== undefined ? data["plannedProducts"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__PlannedProduct(item))) : undefined, }; } /** * Response message containing the generated reach curve. */ export interface GoogleAdsSearchads360V23Services__GenerateReachForecastResponse { /** * Reference on target audiences for this curve. */ onTargetAudienceMetrics?: GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics; /** * The generated reach curve for the planned product mix. */ reachCurve?: GoogleAdsSearchads360V23Services__ReachCurve; } function serializeGoogleAdsSearchads360V23Services__GenerateReachForecastResponse(data: any): GoogleAdsSearchads360V23Services__GenerateReachForecastResponse { return { ...data, onTargetAudienceMetrics: data["onTargetAudienceMetrics"] !== undefined ? serializeGoogleAdsSearchads360V23Services__OnTargetAudienceMetrics(data["onTargetAudienceMetrics"]) : undefined, reachCurve: data["reachCurve"] !== undefined ? serializeGoogleAdsSearchads360V23Services__ReachCurve(data["reachCurve"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateReachForecastResponse(data: any): GoogleAdsSearchads360V23Services__GenerateReachForecastResponse { return { ...data, onTargetAudienceMetrics: data["onTargetAudienceMetrics"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__OnTargetAudienceMetrics(data["onTargetAudienceMetrics"]) : undefined, reachCurve: data["reachCurve"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__ReachCurve(data["reachCurve"]) : undefined, }; } /** * Request message for RecommendationService.GenerateRecommendations. */ export interface GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest { /** * Optional. Current AdGroup Information. Supports information from a single * AdGroup. This field is optional for the following recommendation_types: * KEYWORD */ adGroupInfo?: GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo[]; /** * Required. Advertising channel type of the campaign. The following * advertising_channel_types are supported for recommendation generation: * PERFORMANCE_MAX and SEARCH */ advertisingChannelType?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH" | "DISPLAY" | "SHOPPING" | "HOTEL" | "VIDEO" | "MULTI_CHANNEL" | "LOCAL" | "SMART" | "PERFORMANCE_MAX" | "LOCAL_SERVICES" | "TRAVEL" | "DEMAND_GEN" | "SOCIAL"; /** * Optional. Current AssetGroup Information. This field is required for the * following recommendation_types: CAMPAIGN_BUDGET */ assetGroupInfo?: GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo[]; /** * Optional. Current bidding information of the campaign. This field is * necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, * MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, * SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN */ biddingInfo?: GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo; /** * Optional. Current budget information. This field is optional for the * following recommendation_types: CAMPAIGN_BUDGET */ budgetInfo?: GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo; /** * Optional. Current campaign call asset count. This field is optional for * the following recommendation_types: CAMPAIGN_BUDGET */ campaignCallAssetCount?: number; /** * Optional. Current campaign image asset count. This field is optional for * the following recommendation_types: CAMPAIGN_BUDGET */ campaignImageAssetCount?: number; /** * Optional. Number of sitelinks on the campaign. This field is necessary for * the following recommendation_types: SITELINK_ASSET */ campaignSitelinkCount?: number; /** * Optional. Current conversion tracking status. This field is necessary for * the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, * MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, * SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN */ conversionTrackingStatus?: | "UNSPECIFIED" | "UNKNOWN" | "NOT_CONVERSION_TRACKED" | "CONVERSION_TRACKING_MANAGED_BY_SELF" | "CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER" | "CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER"; /** * Optional. Current campaign country codes. This field is required for the * following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType * is SEARCH */ countryCodes?: string[]; /** * Optional. Whether or not this customer should be treated as a "new" * customer (that is, a customer who has not yet created a campaign). Setting * this to `true` will cause the backend to generate recommendations using a * dedicated recommendation model for onboarding new customers, as opposed to * the default model for existing customers. This is only recommended for * customers with 0 campaigns. This field is optional for the following * recommendation_types: CAMPAIGN_BUDGET */ isNewCustomer?: boolean; /** * Optional. Current campaign language codes. This field is required for the * following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType * is SEARCH */ languageCodes?: string[]; /** * Optional. Merchant Center account ID. This field should only be set when * advertising_channel_type is PERFORMANCE_MAX. Setting this field causes * RecommendationService to generate recommendations for Performance Max for * retail instead of standard Performance Max. This field is optional for the * following recommendation_types: CAMPAIGN_BUDGET */ merchantCenterAccountId?: bigint; /** * Optional. Current campaign negative location ids. One of this field OR * positive_location_ids is required for the following recommendation_types: * CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH */ negativeLocationsIds?: bigint[]; /** * Optional. Current campaign positive location ids. One of this field OR * negative_location_ids is required for the following recommendation_types: * CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH */ positiveLocationsIds?: bigint[]; /** * Required. List of eligible recommendation_types to generate. If the * uploaded criteria isn't sufficient to make a recommendation, or the * campaign is already in the recommended state, no recommendation will be * returned for that type. Generally, a recommendation is returned if all * required fields for that recommendation_type are uploaded, but there are * cases where this is still not sufficient. The following * recommendation_types are supported for recommendation generation: KEYWORD, * MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, * SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN */ recommendationTypes?: | "UNSPECIFIED" | "UNKNOWN" | "CAMPAIGN_BUDGET" | "KEYWORD" | "TEXT_AD" | "TARGET_CPA_OPT_IN" | "MAXIMIZE_CONVERSIONS_OPT_IN" | "ENHANCED_CPC_OPT_IN" | "SEARCH_PARTNERS_OPT_IN" | "MAXIMIZE_CLICKS_OPT_IN" | "OPTIMIZE_AD_ROTATION" | "KEYWORD_MATCH_TYPE" | "MOVE_UNUSED_BUDGET" | "FORECASTING_CAMPAIGN_BUDGET" | "TARGET_ROAS_OPT_IN" | "RESPONSIVE_SEARCH_AD" | "MARGINAL_ROI_CAMPAIGN_BUDGET" | "USE_BROAD_MATCH_KEYWORD" | "RESPONSIVE_SEARCH_AD_ASSET" | "UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX" | "RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH" | "DISPLAY_EXPANSION_OPT_IN" | "UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX" | "RAISE_TARGET_CPA_BID_TOO_LOW" | "FORECASTING_SET_TARGET_ROAS" | "CALLOUT_ASSET" | "SITELINK_ASSET" | "CALL_ASSET" | "SHOPPING_ADD_AGE_GROUP" | "SHOPPING_ADD_COLOR" | "SHOPPING_ADD_GENDER" | "SHOPPING_ADD_GTIN" | "SHOPPING_ADD_MORE_IDENTIFIERS" | "SHOPPING_ADD_SIZE" | "SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN" | "SHOPPING_FIX_DISAPPROVED_PRODUCTS" | "SHOPPING_TARGET_ALL_OFFERS" | "SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT" | "SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING" | "SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX" | "DYNAMIC_IMAGE_EXTENSION_OPT_IN" | "RAISE_TARGET_CPA" | "LOWER_TARGET_ROAS" | "PERFORMANCE_MAX_OPT_IN" | "IMPROVE_PERFORMANCE_MAX_AD_STRENGTH" | "MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX" | "FORECASTING_SET_TARGET_CPA" | "SET_TARGET_CPA" | "SET_TARGET_ROAS" | "MAXIMIZE_CONVERSION_VALUE_OPT_IN" | "IMPROVE_GOOGLE_TAG_COVERAGE" | "PERFORMANCE_MAX_FINAL_URL_OPT_IN" | "REFRESH_CUSTOMER_MATCH_LIST" | "CUSTOM_AUDIENCE_OPT_IN" | "LEAD_FORM_ASSET" | "IMPROVE_DEMAND_GEN_AD_STRENGTH"[]; /** * Optional. Seed information for Keywords. This field is necessary for the * following recommendation_types: KEYWORD */ seedInfo?: GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo; /** * Optional. If true, the campaign is opted into serving ads on specified * placements in the Google Display Network. This field is optional for the * following recommendation_types: CAMPAIGN_BUDGET */ targetContentNetwork?: boolean; /** * Optional. If true, the campaign is opted into serving ads on the Google * Partner Network. This field is optional for the following * recommendation_types: CAMPAIGN_BUDGET */ targetPartnerSearchNetwork?: boolean; } function serializeGoogleAdsSearchads360V23Services__GenerateRecommendationsRequest(data: any): GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest { return { ...data, biddingInfo: data["biddingInfo"] !== undefined ? serializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo(data["biddingInfo"]) : undefined, budgetInfo: data["budgetInfo"] !== undefined ? serializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo(data["budgetInfo"]) : undefined, merchantCenterAccountId: data["merchantCenterAccountId"] !== undefined ? String(data["merchantCenterAccountId"]) : undefined, negativeLocationsIds: data["negativeLocationsIds"] !== undefined ? data["negativeLocationsIds"].map((item: any) => (String(item))) : undefined, positiveLocationsIds: data["positiveLocationsIds"] !== undefined ? data["positiveLocationsIds"].map((item: any) => (String(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateRecommendationsRequest(data: any): GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest { return { ...data, biddingInfo: data["biddingInfo"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo(data["biddingInfo"]) : undefined, budgetInfo: data["budgetInfo"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo(data["budgetInfo"]) : undefined, merchantCenterAccountId: data["merchantCenterAccountId"] !== undefined ? BigInt(data["merchantCenterAccountId"]) : undefined, negativeLocationsIds: data["negativeLocationsIds"] !== undefined ? data["negativeLocationsIds"].map((item: any) => (BigInt(item))) : undefined, positiveLocationsIds: data["positiveLocationsIds"] !== undefined ? data["positiveLocationsIds"].map((item: any) => (BigInt(item))) : undefined, }; } /** * Response message for RecommendationService.GenerateRecommendations. */ export interface GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse { /** * List of generated recommendations from the passed in set of requested * recommendation_types. If there isn't sufficient data to generate a * recommendation for the requested recommendation_types, the result set won't * contain a recommendation for that type. */ recommendations?: GoogleAdsSearchads360V23Resources__Recommendation[]; } /** * Request message for * AudienceInsightsService.GenerateSuggestedTargetingInsights. */ export interface GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest { /** * Provide a seed audience to get suggestions for. */ audienceDefinition?: GoogleAdsSearchads360V23Services__InsightsAudienceDefinition; /** * Provide a text description of an audience to get AI-generated targeting * suggestions. This can take around 5 or more seconds to complete. */ audienceDescription?: GoogleAdsSearchads360V23Services__InsightsAudienceDescription; /** * Optional. The name of the customer being planned for. This is a * user-defined value. */ customerInsightsGroup?: string; /** * Optional. Additional information on the application issuing the request. */ insightsApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * Response message for * AudienceInsightsService.GenerateSuggestedTargetingInsights. */ export interface GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse { /** * Suggested insights for targetable audiences. */ suggestions?: GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics[]; } function serializeGoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse { return { ...data, suggestions: data["suggestions"] !== undefined ? data["suggestions"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__TargetingSuggestionMetrics(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse { return { ...data, suggestions: data["suggestions"] !== undefined ? data["suggestions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__TargetingSuggestionMetrics(item))) : undefined, }; } /** * Request message for * AudienceInsightsService.GenerateTargetingSuggestionMetrics. */ export interface GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest { /** * Required. Audiences to request metrics for. */ audiences?: GoogleAdsSearchads360V23Services__InsightsAudience[]; /** * Optional. The name of the customer being planned for. This is a * user-defined value. */ customerInsightsGroup?: string; /** * Optional. Additional information on the application issuing the request. */ insightsApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * Response message for * AudienceInsightsService.GenerateTargetingSuggestionMetrics. */ export interface GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse { /** * Suggested targetable audiences. There will be one suggestion for each * GenerateTargetingSuggestionMetricsRequest.audiences requested, matching the * order requested. */ suggestions?: GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics[]; } function serializeGoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse { return { ...data, suggestions: data["suggestions"] !== undefined ? data["suggestions"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__TargetingSuggestionMetrics(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse(data: any): GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse { return { ...data, suggestions: data["suggestions"] !== undefined ? data["suggestions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__TargetingSuggestionMetrics(item))) : undefined, }; } /** * A geo target constant suggestion. */ export interface GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion { /** * The GeoTargetConstant result. */ geoTargetConstant?: GoogleAdsSearchads360V23Resources__GeoTargetConstant; /** * The list of parents of the geo target constant. */ geoTargetConstantParents?: GoogleAdsSearchads360V23Resources__GeoTargetConstant[]; /** * The language this GeoTargetConstantSuggestion is currently translated to. * It affects the name of geo target fields. For example, if locale=en, then * name=Spain. If locale=es, then name=España. The default locale will be * returned if no translation exists for the locale in the request. */ locale?: string; /** * Approximate user population that will be targeted, rounded to the nearest * 100. */ reach?: bigint; /** * If the request searched by location name, this is the location name that * matched the geo target. */ searchTerm?: string; } function serializeGoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion(data: any): GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion { return { ...data, reach: data["reach"] !== undefined ? String(data["reach"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion(data: any): GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion { return { ...data, reach: data["reach"] !== undefined ? BigInt(data["reach"]) : undefined, }; } /** * Response message for GetIdentityVerification. */ export interface GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse { /** * List of identity verifications for the customer. */ identityVerification?: GoogleAdsSearchads360V23Services__IdentityVerification[]; } /** * Response message for SmartCampaignSettingService.GetSmartCampaignStatus. */ export interface GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse { /** * Details related to Smart campaigns that are eligible to serve. */ eligibleDetails?: GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails; /** * Details related to Smart campaigns that have ended. */ endedDetails?: GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails; /** * Details related to Smart campaigns that are ineligible to serve. */ notEligibleDetails?: GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails; /** * Details related to paused Smart campaigns. */ pausedDetails?: GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails; /** * Details related to removed Smart campaigns. */ removedDetails?: GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails; /** * The status of this Smart campaign. */ smartCampaignStatus?: | "UNSPECIFIED" | "UNKNOWN" | "PAUSED" | "NOT_ELIGIBLE" | "PENDING" | "ELIGIBLE" | "REMOVED" | "ENDED"; } /** * A single mutate operation on the goal. */ export interface GoogleAdsSearchads360V23Services__GoalOperation { /** * Create a new goal. */ create?: GoogleAdsSearchads360V23Resources__Goal; /** * Update an existing goal. */ update?: GoogleAdsSearchads360V23Resources__Goal; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__GoalOperation(data: any): GoogleAdsSearchads360V23Services__GoalOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__GoalOperation(data: any): GoogleAdsSearchads360V23Services__GoalOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Request message for ExperimentService.GraduateExperiment. */ export interface GoogleAdsSearchads360V23Services__GraduateExperimentRequest { /** * Required. List of campaign budget mappings for graduation. Each campaign * that appears here will graduate, and will be assigned a new budget that is * paired with it in the mapping. The maximum size is one. */ campaignBudgetMappings?: GoogleAdsSearchads360V23Services__CampaignBudgetMapping[]; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Message containing the asset suggestions for a hotel. */ export interface GoogleAdsSearchads360V23Services__HotelAssetSuggestion { /** * Call to action type. */ callToAction?: | "UNSPECIFIED" | "UNKNOWN" | "LEARN_MORE" | "GET_QUOTE" | "APPLY_NOW" | "SIGN_UP" | "CONTACT_US" | "SUBSCRIBE" | "DOWNLOAD" | "BOOK_NOW" | "SHOP_NOW" | "BUY_NOW" | "DONATE_NOW" | "ORDER_NOW" | "PLAY_NOW" | "SEE_MORE" | "START_NOW" | "VISIT_SITE" | "WATCH_NOW"; /** * Suggested final URL for an AssetGroup. */ finalUrl?: string; /** * Hotel name in requested language. */ hotelName?: string; /** * Image assets such as landscape/portrait/square, etc. */ imageAssets?: GoogleAdsSearchads360V23Services__HotelImageAsset[]; /** * Google Places ID of the hotel. */ placeId?: string; /** * The status of the hotel asset suggestion. */ status?: | "UNSPECIFIED" | "UNKNOWN" | "SUCCESS" | "HOTEL_NOT_FOUND" | "INVALID_PLACE_ID"; /** * Text assets such as headline, description, etc. */ textAssets?: GoogleAdsSearchads360V23Services__HotelTextAsset[]; } /** * A single image asset suggestion for a hotel. */ export interface GoogleAdsSearchads360V23Services__HotelImageAsset { /** * The Image asset type. For example, MARKETING_IMAGE, * PORTRAIT_MARKETING_IMAGE, etc. */ assetFieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * URI for the image. */ uri?: string; } /** * A single text asset suggestion for a hotel. */ export interface GoogleAdsSearchads360V23Services__HotelTextAsset { /** * The text asset type. For example, HEADLINE, DESCRIPTION, etc. */ assetFieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; /** * Asset text in requested language. */ text?: string; } /** * An identity verification for a customer. */ export interface GoogleAdsSearchads360V23Services__IdentityVerification { /** * The verification requirement for this verification program for this * customer. */ identityVerificationRequirement?: GoogleAdsSearchads360V23Services__IdentityVerificationRequirement; /** * The verification program type. */ verificationProgram?: | "UNSPECIFIED" | "UNKNOWN" | "ADVERTISER_IDENTITY_VERIFICATION"; /** * Information regarding progress for this verification program for this * customer. */ verificationProgress?: GoogleAdsSearchads360V23Services__IdentityVerificationProgress; } /** * Information regarding the verification progress for a verification program * type. */ export interface GoogleAdsSearchads360V23Services__IdentityVerificationProgress { /** * Action URL for user to complete verification for the given verification * program type. */ actionUrl?: string; /** * The timestamp when the action url will expire in "yyyy-MM-dd HH:mm:ss" * format. */ invitationLinkExpirationTime?: string; /** * Current Status (PENDING_USER_ACTION, SUCCESS, FAILURE etc) */ programStatus?: | "UNSPECIFIED" | "UNKNOWN" | "PENDING_USER_ACTION" | "PENDING_REVIEW" | "SUCCESS" | "FAILURE"; } /** * Information regarding the verification requirement for a verification * program type. */ export interface GoogleAdsSearchads360V23Services__IdentityVerificationRequirement { /** * The deadline to submit verification. */ verificationCompletionDeadlineTime?: string; /** * The deadline to start verification in "yyyy-MM-dd HH:mm:ss" format. */ verificationStartDeadlineTime?: string; } /** * An incentive that a user can claim for their account. */ export interface GoogleAdsSearchads360V23Services__Incentive { /** * The incentive ID of this incentive. This is used to identify which * incentive is selected by the user in the CYO flow. */ incentiveId?: bigint; /** * The URL of the terms and conditions for THIS incentive offer ONLY. This is * different from the terms_and_conditions_url field in * AcquisitionIncentiveOffer which is a combination of all the Incentive * offers in a CYO offer. */ incentiveTermsAndConditionsUrl?: string; /** * The requirement for this incentive. */ requirement?: GoogleAdsSearchads360V23Services_Incentive_Requirement; /** * The type of the incentive. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "ACQUISITION"; } function serializeGoogleAdsSearchads360V23Services__Incentive(data: any): GoogleAdsSearchads360V23Services__Incentive { return { ...data, incentiveId: data["incentiveId"] !== undefined ? String(data["incentiveId"]) : undefined, requirement: data["requirement"] !== undefined ? serializeGoogleAdsSearchads360V23Services_Incentive_Requirement(data["requirement"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__Incentive(data: any): GoogleAdsSearchads360V23Services__Incentive { return { ...data, incentiveId: data["incentiveId"] !== undefined ? BigInt(data["incentiveId"]) : undefined, requirement: data["requirement"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_Incentive_Requirement(data["requirement"]) : undefined, }; } /** * An acquisition incentive offer for a user. An offer means how the user is * treated. An offer can have no incentive or multiple incentives. */ export interface GoogleAdsSearchads360V23Services__IncentiveOffer { /** * Optional. The URL of the terms and conditions for the incentive offer. */ consolidatedTermsAndConditionsUrl?: string; /** * CYO incentives. Set when type is CYO_INCENTIVE. */ cyoIncentives?: GoogleAdsSearchads360V23Services__CyoIncentives; /** * Required. The type of this acquisition incentive offer. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "NO_INCENTIVE" | "CYO_INCENTIVE"; } function serializeGoogleAdsSearchads360V23Services__IncentiveOffer(data: any): GoogleAdsSearchads360V23Services__IncentiveOffer { return { ...data, cyoIncentives: data["cyoIncentives"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CyoIncentives(data["cyoIncentives"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__IncentiveOffer(data: any): GoogleAdsSearchads360V23Services__IncentiveOffer { return { ...data, cyoIncentives: data["cyoIncentives"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CyoIncentives(data["cyoIncentives"]) : undefined, }; } /** * The information associated with an Industry Vertical. */ export interface GoogleAdsSearchads360V23Services__IndustryVerticalInfo { /** * The unique identifier of the Industry Vertical. */ industryVerticalId?: bigint; /** * The name of the Industry Vertical. */ industryVerticalName?: string; /** * The unique identifier of the parent Industry Vertical, if exists. */ parentIndustryVerticalId?: bigint; } function serializeGoogleAdsSearchads360V23Services__IndustryVerticalInfo(data: any): GoogleAdsSearchads360V23Services__IndustryVerticalInfo { return { ...data, industryVerticalId: data["industryVerticalId"] !== undefined ? String(data["industryVerticalId"]) : undefined, parentIndustryVerticalId: data["parentIndustryVerticalId"] !== undefined ? String(data["parentIndustryVerticalId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__IndustryVerticalInfo(data: any): GoogleAdsSearchads360V23Services__IndustryVerticalInfo { return { ...data, industryVerticalId: data["industryVerticalId"] !== undefined ? BigInt(data["industryVerticalId"]) : undefined, parentIndustryVerticalId: data["parentIndustryVerticalId"] !== undefined ? BigInt(data["parentIndustryVerticalId"]) : undefined, }; } /** * A set of users, defined by various characteristics, for which insights can * be requested in AudienceInsightsService. */ export interface GoogleAdsSearchads360V23Services__InsightsAudience { /** * Age ranges for the audience. If absent, the audience represents all people * over 18 that match the other attributes. */ ageRanges?: GoogleAdsSearchads360V23Common__AgeRangeInfo[]; /** * Required. The countries for the audience. */ countryLocations?: GoogleAdsSearchads360V23Common__LocationInfo[]; /** * Gender for the audience. If absent, the audience does not restrict by * gender. */ gender?: GoogleAdsSearchads360V23Common__GenderInfo; /** * Household income percentile ranges for the audience. If absent, the * audience does not restrict by household income range. */ incomeRanges?: GoogleAdsSearchads360V23Common__IncomeRangeInfo[]; /** * Lineups representing the YouTube content viewed by the audience. */ lineups?: GoogleAdsSearchads360V23Common__AudienceInsightsLineup[]; /** * Parental status for the audience. If absent, the audience does not * restrict by parental status. */ parentalStatus?: GoogleAdsSearchads360V23Common__ParentalStatusInfo; /** * Sub-country geographic location attributes. If present, each of these must * be contained in one of the countries in this audience. If absent, the * audience is geographically to the country_locations and no further. */ subCountryLocations?: GoogleAdsSearchads360V23Common__LocationInfo[]; /** * A combination of entity, category and user interest attributes defining * the audience. The combination has a logical AND-of-ORs structure: * Attributes within each InsightsAudienceAttributeGroup are combined with OR, * and the combinations themselves are combined together with AND. For * example, the expression (Entity OR Affinity) AND (In-Market OR Category) * can be formed using two InsightsAudienceAttributeGroups with two Attributes * each. */ topicAudienceCombinations?: GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup[]; /** * User list to be targeted by the audience. */ userList?: GoogleAdsSearchads360V23Common__UserListInfo; } /** * A list of AudienceInsightsAttributes. */ export interface GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup { /** * Required. A collection of audience attributes to be combined with logical * OR. Attributes need not all be the same dimension. Only Knowledge Graph * entities, Product & Service Categories, and Affinity and In-Market * audiences are supported in this context. */ attributes?: GoogleAdsSearchads360V23Common__AudienceInsightsAttribute[]; } /** * A structured definition of the audience of interest for which insights are * being requested in AudienceInsightsService. */ export interface GoogleAdsSearchads360V23Services__InsightsAudienceDefinition { /** * Required. The audience of interest for which insights are being requested. */ audience?: GoogleAdsSearchads360V23Services__InsightsAudience; /** * Optional. The baseline audience. The default, if unspecified, is all * people in the same country as the audience of interest. */ baselineAudience?: GoogleAdsSearchads360V23Services__InsightsAudience; /** * Optional. The one-month range of historical data to use for insights, in * the format "yyyy-mm". If unset, insights will be returned for the last * thirty days of data. */ dataMonth?: string; } /** * A text description of the audience of interest for which insights are being * requested in AudienceInsightsService. */ export interface GoogleAdsSearchads360V23Services__InsightsAudienceDescription { /** * Required. An English language text description of an audience to get * suggestions for. Maximum length is 2000 characters. For example, "Women in * their 30s who love to travel". */ audienceDescription?: string; /** * Optional. An optional list of audience dimensions to return. */ audienceDimensions?: GoogleAdsSearchads360V23Services__AudienceInsightsDimensions; /** * Required. The countries for the audience. */ countryLocations?: GoogleAdsSearchads360V23Common__LocationInfo[]; /** * Optional. An optional marketing objective which will influence the type of * suggestions produced. */ marketingObjective?: | "UNSPECIFIED" | "UNKNOWN" | "AWARENESS" | "CONSIDERATION" | "RESEARCH"; } /** * Keyword And Url Seed */ export interface GoogleAdsSearchads360V23Services__KeywordAndUrlSeed { /** * Requires at least one keyword and no more than 20 keywords. */ keywords?: string[]; /** * The URL to crawl in order to generate keyword ideas. */ url?: string; } /** * The forecast metrics for the planless keyword campaign. */ export interface GoogleAdsSearchads360V23Services__KeywordForecastMetrics { /** * Average cost per acquisition calculated as cost_micros / conversions. */ averageCpaMicros?: bigint; /** * The average cpc. Available only if clicks > 0. */ averageCpcMicros?: bigint; /** * The total number of clicks. */ clicks?: number; /** * The average click through rate. Available only if impressions > 0. */ clickThroughRate?: number; /** * Forecasted conversion rate. */ conversionRate?: number; /** * Forecasted number of conversions: clicks * conversion_rate. */ conversions?: number; /** * The total cost. */ costMicros?: bigint; /** * The total number of impressions. */ impressions?: number; } function serializeGoogleAdsSearchads360V23Services__KeywordForecastMetrics(data: any): GoogleAdsSearchads360V23Services__KeywordForecastMetrics { return { ...data, averageCpaMicros: data["averageCpaMicros"] !== undefined ? String(data["averageCpaMicros"]) : undefined, averageCpcMicros: data["averageCpcMicros"] !== undefined ? String(data["averageCpcMicros"]) : undefined, costMicros: data["costMicros"] !== undefined ? String(data["costMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__KeywordForecastMetrics(data: any): GoogleAdsSearchads360V23Services__KeywordForecastMetrics { return { ...data, averageCpaMicros: data["averageCpaMicros"] !== undefined ? BigInt(data["averageCpaMicros"]) : undefined, averageCpcMicros: data["averageCpcMicros"] !== undefined ? BigInt(data["averageCpcMicros"]) : undefined, costMicros: data["costMicros"] !== undefined ? BigInt(data["costMicros"]) : undefined, }; } /** * A single operation (create, update, remove) on a Keyword Plan ad group * keyword. */ export interface GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation { /** * Create operation: No resource name is expected for the new Keyword Plan ad * group keyword. */ create?: GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword; /** * Remove operation: A resource name for the removed Keyword Plan ad group * keyword is expected, in this format: * `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}` */ remove?: string; /** * Update operation: The Keyword Plan ad group keyword is expected to have a * valid resource name. */ update?: GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword; /** * The FieldMask that determines which resource fields are modified in an * update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation(data: any): GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation(data: any): GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on a Keyword Plan ad group. */ export interface GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation { /** * Create operation: No resource name is expected for the new Keyword Plan ad * group. */ create?: GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup; /** * Remove operation: A resource name for the removed Keyword Plan ad group is * expected, in this format: * `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}` */ remove?: string; /** * Update operation: The Keyword Plan ad group is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup; /** * The FieldMask that determines which resource fields are modified in an * update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation(data: any): GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroup(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroup(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation(data: any): GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroup(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroup(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on a Keyword Plan campaign * keyword. */ export interface GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation { /** * Create operation: No resource name is expected for the new Keyword Plan * campaign keyword. */ create?: GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword; /** * Remove operation: A resource name for the removed Keyword Plan campaign * keywords expected in this format: * `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}` */ remove?: string; /** * Update operation: The Keyword Plan campaign keyword expected to have a * valid resource name. */ update?: GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword; /** * The FieldMask that determines which resource fields are modified in an * update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation(data: any): GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation(data: any): GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on a Keyword Plan campaign. */ export interface GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation { /** * Create operation: No resource name is expected for the new Keyword Plan * campaign. */ create?: GoogleAdsSearchads360V23Resources__KeywordPlanCampaign; /** * Remove operation: A resource name for the removed Keyword Plan campaign is * expected, in this format: * `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}` */ remove?: string; /** * Update operation: The Keyword Plan campaign is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__KeywordPlanCampaign; /** * The FieldMask that determines which resource fields are modified in an * update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation(data: any): GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__KeywordPlanCampaign(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__KeywordPlanCampaign(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation(data: any): GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__KeywordPlanCampaign(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__KeywordPlanCampaign(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A single operation (create, update, remove) on a keyword plan. */ export interface GoogleAdsSearchads360V23Services__KeywordPlanOperation { /** * Create operation: No resource name is expected for the new keyword plan. */ create?: GoogleAdsSearchads360V23Resources__KeywordPlan; /** * Remove operation: A resource name for the removed keyword plan is expected * in this format: `customers/{customer_id}/keywordPlans/{keyword_plan_id}` */ remove?: string; /** * Update operation: The keyword plan is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__KeywordPlan; /** * The FieldMask that determines which resource fields are modified in an * update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__KeywordPlanOperation(data: any): GoogleAdsSearchads360V23Services__KeywordPlanOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__KeywordPlanOperation(data: any): GoogleAdsSearchads360V23Services__KeywordPlanOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Keyword Seed */ export interface GoogleAdsSearchads360V23Services__KeywordSeed { /** * Requires at least one keyword and no more than 20 keywords. */ keywords?: string[]; } /** * A single operation (create, remove, update) on a label. */ export interface GoogleAdsSearchads360V23Services__LabelOperation { /** * Create operation: No resource name is expected for the new label. */ create?: GoogleAdsSearchads360V23Resources__Label; /** * Remove operation: A resource name for the label being removed, in this * format: `customers/{customer_id}/labels/{label_id}` */ remove?: string; /** * Update operation: The label is expected to have a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__Label; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__LabelOperation(data: any): GoogleAdsSearchads360V23Services__LabelOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__LabelOperation(data: any): GoogleAdsSearchads360V23Services__LabelOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Response message for CustomerService.ListAccessibleCustomers. */ export interface GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse { /** * Resource name of customers directly accessible by the user authenticating * the call. */ resourceNames?: string[]; } /** * Request message for AudienceInsightsService.ListAudienceInsightsAttributes. */ export interface GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest { /** * The name of the customer being planned for. This is a user-defined value. */ customerInsightsGroup?: string; /** * Required. The types of attributes to be returned. Supported dimensions are * CATEGORY, KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, SUB_COUNTRY_LOCATION, * YOUTUBE_LINEUP, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, . */ dimensions?: | "UNSPECIFIED" | "UNKNOWN" | "CATEGORY" | "KNOWLEDGE_GRAPH" | "GEO_TARGET_COUNTRY" | "SUB_COUNTRY_LOCATION" | "YOUTUBE_CHANNEL" | "AFFINITY_USER_INTEREST" | "IN_MARKET_USER_INTEREST" | "PARENTAL_STATUS" | "INCOME_RANGE" | "AGE_RANGE" | "GENDER" | "YOUTUBE_VIDEO" | "DEVICE" | "YOUTUBE_LINEUP" | "USER_LIST" | "LIFE_EVENT_USER_INTEREST"[]; /** * Optional. Additional information on the application issuing the request. */ insightsApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; /** * If SUB_COUNTRY_LOCATION attributes are one of the requested dimensions and * this field is present, then the SUB_COUNTRY_LOCATION attributes returned * will be located in these countries. If this field is absent, then location * attributes are not filtered by country. Setting this field when * SUB_COUNTRY_LOCATION attributes are not requested will return an error. */ locationCountryFilters?: GoogleAdsSearchads360V23Common__LocationInfo[]; /** * Required. A free text query. If the requested dimensions include * Attributes CATEGORY or KNOWLEDGE_GRAPH, then the attributes returned for * those dimensions will match or be related to this string. For other * dimensions, this field is ignored and all available attributes are * returned. */ queryText?: string; /** * If present, potential YouTube reach estimates within the specified market * will be returned for attributes for which they are available. Reach is only * available for the AGE_RANGE, GENDER, AFFINITY_USER_INTEREST and * IN_MARKET_USER_INTEREST dimensions, and may not be available for every * attribute of those dimensions in every market. */ youtubeReachLocation?: GoogleAdsSearchads360V23Common__LocationInfo; } /** * Response message for AudienceInsightsService.ListAudienceInsightsAttributes. */ export interface GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse { /** * The attributes matching the search query. */ attributes?: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; } function serializeGoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse(data: any): GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse { return { ...data, attributes: data["attributes"] !== undefined ? data["attributes"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse(data: any): GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse { return { ...data, attributes: data["attributes"] !== undefined ? data["attributes"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, }; } /** * Response message for BatchJobService.ListBatchJobResults. */ export interface GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse { /** * Pagination token used to retrieve the next page of results. Pass the * content of this string as the `page_token` attribute of the next request. * `next_page_token` is not returned for the last page. */ nextPageToken?: string; /** * The list of rows that matched the query. */ results?: GoogleAdsSearchads360V23Services__BatchJobResult[]; } function serializeGoogleAdsSearchads360V23Services__ListBatchJobResultsResponse(data: any): GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__BatchJobResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ListBatchJobResultsResponse(data: any): GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__BatchJobResult(item))) : undefined, }; } /** * Request message for BenchmarksService.ListBenchmarksAvailableDates. */ export interface GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest { /** * Additional information on the application issuing the request. */ applicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * Response message for BenchmarksService.ListBenchmarksAvailableDates. */ export interface GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse { /** * The dates that support benchmarks metrics. Data is supported for any dates * within this date range inclusive. */ supportedDates?: GoogleAdsSearchads360V23Common__DateRange; } /** * Request message for BenchmarksService.ListBenchmarksLocations. */ export interface GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest { /** * Additional information on the application issuing the request. */ applicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * Response message for BenchmarksService.ListBenchmarksLocations. */ export interface GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse { /** * The list of locations supported for benchmarks data. */ benchmarksLocations?: GoogleAdsSearchads360V23Services__BenchmarksLocation[]; } /** * Request message for BenchmarksService.ListBenchmarksProducts. */ export interface GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest { /** * Additional information on the application issuing the request. */ applicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * Response message for BenchmarksService.ListBenchmarksProducts. */ export interface GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse { /** * The list of products available for benchmarks data. */ benchmarksProducts?: GoogleAdsSearchads360V23Services__BenchmarksProductMetadata[]; } /** * Request message for BenchmarksService.ListBenchmarksSources. */ export interface GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest { /** * Additional information on the application issuing the request. */ applicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; /** * Required. The types of benchmarks sources to be returned (for example, * INDUSTRY_VERTICAL). */ benchmarksSources?: | "UNSPECIFIED" | "UNKNOWN" | "INDUSTRY_VERTICAL"[]; } /** * Response message for BenchmarksService.ListBenchmarksSources. */ export interface GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse { /** * The list of available source used to generate benchmarks data for. */ benchmarksSources?: GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata[]; } function serializeGoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse(data: any): GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse { return { ...data, benchmarksSources: data["benchmarksSources"] !== undefined ? data["benchmarksSources"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__BenchmarksSourceMetadata(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse(data: any): GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse { return { ...data, benchmarksSources: data["benchmarksSources"] !== undefined ? data["benchmarksSources"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__BenchmarksSourceMetadata(item))) : undefined, }; } /** * Response message for CampaignDraftService.ListCampaignDraftAsyncErrors. */ export interface GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse { /** * Details of the errors when performing the asynchronous operation. */ errors?: GoogleRpc__Status[]; /** * Pagination token used to retrieve the next page of results. Pass the * content of this string as the `page_token` attribute of the next request. * `next_page_token` is not returned for the last page. */ nextPageToken?: string; } /** * Response message for fetching all custom columns associated with a customer. */ export interface GoogleAdsSearchads360V23Services__ListCustomColumnsResponse { /** * The CustomColumns owned by the provided customer. */ customColumns?: GoogleAdsSearchads360V23Resources__CustomColumn[]; } /** * Response message for ExperimentService.ListExperimentAsyncErrors. */ export interface GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse { /** * details of the errors when performing the asynchronous operation. */ errors?: GoogleRpc__Status[]; /** * Pagination token used to retrieve the next page of results. Pass the * content of this string as the `page_token` attribute of the next request. * `next_page_token` is not returned for the last page. */ nextPageToken?: string; } /** * Request message for AudienceInsightsService.ListInsightsEligibleDates. */ export interface GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest { /** * Optional. Additional information on the application issuing the request. */ insightsApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * Response message for AudienceInsightsService.ListInsightsEligibleDates. */ export interface GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse { /** * The months for which AudienceInsights data is currently available, each * represented as a string in the form "YYYY-MM". */ dataMonths?: string[]; /** * The actual dates covered by the "last 30 days" date range that will be * used implicitly for * AudienceInsightsService.GenerateAudienceCompositionInsights requests that * have no data_month set. */ lastThirtyDays?: GoogleAdsSearchads360V23Common__DateRange; } /** * Response message for InvoiceService.ListInvoices. */ export interface GoogleAdsSearchads360V23Services__ListInvoicesResponse { /** * The list of invoices that match the billing setup and time period. */ invoices?: GoogleAdsSearchads360V23Resources__Invoice[]; } /** * Response message for PaymentsAccountService.ListPaymentsAccounts. */ export interface GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse { /** * The list of accessible payments accounts. */ paymentsAccounts?: GoogleAdsSearchads360V23Resources__PaymentsAccount[]; } /** * Request message for ReachPlanService.ListPlannableLocations. */ export interface GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest { /** * Optional. Additional information on the application issuing the request. */ reachApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * The list of plannable locations. */ export interface GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse { /** * The list of locations available for planning. See * https://developers.google.com/google-ads/api/reference/data/geotargets for * sample locations. */ plannableLocations?: GoogleAdsSearchads360V23Services__PlannableLocation[]; } function serializeGoogleAdsSearchads360V23Services__ListPlannableLocationsResponse(data: any): GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse { return { ...data, plannableLocations: data["plannableLocations"] !== undefined ? data["plannableLocations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__PlannableLocation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ListPlannableLocationsResponse(data: any): GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse { return { ...data, plannableLocations: data["plannableLocations"] !== undefined ? data["plannableLocations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__PlannableLocation(item))) : undefined, }; } /** * Request to list available products in a given location. */ export interface GoogleAdsSearchads360V23Services__ListPlannableProductsRequest { /** * Required. The ID of the selected location for planning. To list the * available plannable location IDs use * ReachPlanService.ListPlannableLocations. */ plannableLocationId?: string; /** * Optional. Additional information on the application issuing the request. */ reachApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * A response with all available products. */ export interface GoogleAdsSearchads360V23Services__ListPlannableProductsResponse { /** * The list of products available for planning and related targeting * metadata. */ productMetadata?: GoogleAdsSearchads360V23Services__ProductMetadata[]; } function serializeGoogleAdsSearchads360V23Services__ListPlannableProductsResponse(data: any): GoogleAdsSearchads360V23Services__ListPlannableProductsResponse { return { ...data, productMetadata: data["productMetadata"] !== undefined ? data["productMetadata"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ProductMetadata(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ListPlannableProductsResponse(data: any): GoogleAdsSearchads360V23Services__ListPlannableProductsResponse { return { ...data, productMetadata: data["productMetadata"] !== undefined ? data["productMetadata"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ProductMetadata(item))) : undefined, }; } /** * Request message for ReachPlanService.ListPlannableUserInterests. */ export interface GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest { /** * Required. The ID of the customer. */ customerId?: string; /** * A filter by user interest name. If set, only user interests with a name * containing the literal string (case insensitive) in the filter will be * returned. Maximum length is 200 characters. */ nameQuery?: string; /** * A filter by user interest path. If set, only user interests with a path * containing the literal string (case insensitive) in the filter will be * returned. Maximum length is 200 characters. */ pathQuery?: string; /** * Optional. Additional information on the application issuing the request. */ reachApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; /** * Optional. A filter by user interest type. If set, only user interests with * a type listed in the filter will be returned. If not set, user interests of * all supported types will be returned. Supported user interest types are * AFFINITY and IN_MARKET. Each type must be specified at most once. */ userInterestTaxonomyTypes?: | "UNSPECIFIED" | "UNKNOWN" | "AFFINITY" | "IN_MARKET" | "MOBILE_APP_INSTALL_USER" | "VERTICAL_GEO" | "NEW_SMART_PHONE_USER"[]; } /** * Response message for ReachPlanService.ListPlannableUserInterests. */ export interface GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse { /** * The list of plannable user interests. */ plannableUserInterests?: GoogleAdsSearchads360V23Services__PlannableUserInterest[]; } /** * Request message for ReachPlanService.ListPlannableUserLists that lists the * available user lists for a customer. */ export interface GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest { /** * Required. The ID of the customer. */ customerId?: string; /** * The name of the customer being planned for. This is a user-defined value. */ customerReachGroup?: string; /** * Optional. Additional information on the application issuing the request. */ reachApplicationInfo?: GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; } /** * A response with all available user lists with their plannable status. */ export interface GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse { /** * The list of user lists available for planning and related targeting * metadata. */ plannableUserLists?: GoogleAdsSearchads360V23Services__PlannableUserList[]; } /** * Manual CPC Bidding Strategy. */ export interface GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy { /** * Campaign level budget in micros. If set, a minimum value is enforced for * the local currency used in the campaign. An error will occur showing the * minimum value if this field is set too low. */ dailyBudgetMicros?: bigint; /** * Required. A bid in micros to be applied to ad groups within the campaign * for a manual CPC bidding strategy. */ maxCpcBidMicros?: bigint; } function serializeGoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy(data: any): GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy { return { ...data, dailyBudgetMicros: data["dailyBudgetMicros"] !== undefined ? String(data["dailyBudgetMicros"]) : undefined, maxCpcBidMicros: data["maxCpcBidMicros"] !== undefined ? String(data["maxCpcBidMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy(data: any): GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy { return { ...data, dailyBudgetMicros: data["dailyBudgetMicros"] !== undefined ? BigInt(data["dailyBudgetMicros"]) : undefined, maxCpcBidMicros: data["maxCpcBidMicros"] !== undefined ? BigInt(data["maxCpcBidMicros"]) : undefined, }; } /** * Maximize Clicks Bidding Strategy. */ export interface GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy { /** * Required. The daily target spend in micros to be used for estimation. A * minimum value is enforced for the local currency used in the campaign. An * error will occur showing the minimum value if this field is set too low. */ dailyTargetSpendMicros?: bigint; /** * Ceiling on max CPC bids in micros. */ maxCpcBidCeilingMicros?: bigint; } function serializeGoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy(data: any): GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy { return { ...data, dailyTargetSpendMicros: data["dailyTargetSpendMicros"] !== undefined ? String(data["dailyTargetSpendMicros"]) : undefined, maxCpcBidCeilingMicros: data["maxCpcBidCeilingMicros"] !== undefined ? String(data["maxCpcBidCeilingMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy(data: any): GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy { return { ...data, dailyTargetSpendMicros: data["dailyTargetSpendMicros"] !== undefined ? BigInt(data["dailyTargetSpendMicros"]) : undefined, maxCpcBidCeilingMicros: data["maxCpcBidCeilingMicros"] !== undefined ? BigInt(data["maxCpcBidCeilingMicros"]) : undefined, }; } /** * Maximize Conversions Bidding Strategy. */ export interface GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy { /** * Required. The daily target spend in micros to be used for estimation. This * value must be greater than zero. */ dailyTargetSpendMicros?: bigint; } function serializeGoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy(data: any): GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy { return { ...data, dailyTargetSpendMicros: data["dailyTargetSpendMicros"] !== undefined ? String(data["dailyTargetSpendMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy(data: any): GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy { return { ...data, dailyTargetSpendMicros: data["dailyTargetSpendMicros"] !== undefined ? BigInt(data["dailyTargetSpendMicros"]) : undefined, }; } /** * Indicates the attributes of metrics. */ export interface GoogleAdsSearchads360V23Services__MetricAttributes { /** * The attributes of the metric. */ attributes?: GoogleAdsSearchads360V23Services_MetricAttributes_Attribute[]; /** * The name of the metric. */ name?: string; } /** * All metrics returned against a criteria. */ export interface GoogleAdsSearchads360V23Services__Metrics { /** * Average rate metrics calculated by dividing one metric by another. */ averageRateMetrics?: GoogleAdsSearchads360V23Services__RateMetrics; } /** * Request message for CustomerManagerLinkService.MoveManagerLink. */ export interface GoogleAdsSearchads360V23Services__MoveManagerLinkRequest { /** * Required. The resource name of the new manager customer that the client * wants to move to. Customer resource names have the format: * "customers/{customer_id}" */ newManager?: string; /** * Required. The resource name of the previous CustomerManagerLink. The * resource name has the form: * `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}` */ previousCustomerManagerLink?: string; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for a CustomerManagerLink moveManagerLink. */ export interface GoogleAdsSearchads360V23Services__MoveManagerLinkResponse { /** * Returned for successful operations. Represents a CustomerManagerLink * resource of the newly created link between client customer and new manager * customer. */ resourceName?: string; } /** * Request message for * AccountBudgetProposalService.MutateAccountBudgetProposal. */ export interface GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest { /** * Required. The operation to perform on an individual account-level budget * proposal. */ operation?: GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest(data: any): GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest { return { ...data, operation: data["operation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AccountBudgetProposalOperation(data["operation"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest(data: any): GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest { return { ...data, operation: data["operation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AccountBudgetProposalOperation(data["operation"]) : undefined, }; } /** * Response message for account-level budget mutate operations. */ export interface GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse { /** * The result of the mutate. */ result?: GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult; } /** * The result for the account budget proposal mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for AccountLinkService.MutateAccountLink. */ export interface GoogleAdsSearchads360V23Services__MutateAccountLinkRequest { /** * Required. The operation to perform on the link. */ operation?: GoogleAdsSearchads360V23Services__AccountLinkOperation; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAccountLinkRequest(data: any): GoogleAdsSearchads360V23Services__MutateAccountLinkRequest { return { ...data, operation: data["operation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AccountLinkOperation(data["operation"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAccountLinkRequest(data: any): GoogleAdsSearchads360V23Services__MutateAccountLinkRequest { return { ...data, operation: data["operation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AccountLinkOperation(data["operation"]) : undefined, }; } /** * Response message for account link mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAccountLinkResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * Result for the mutate. */ result?: GoogleAdsSearchads360V23Services__MutateAccountLinkResult; } /** * The result for the account link mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAccountLinkResult { /** * Returned for successful operations. */ resourceName?: string; } /** * The result for an ad group ad label mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for AdGroupAdLabelService.MutateAdGroupAdLabels. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest { /** * Required. The list of operations to perform on ad group ad labels. */ operations?: GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for an ad group ad labels mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult[]; } /** * The result for the ad mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAdResult { /** * The mutated ad group ad with only mutable fields after mutate. The field * will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ adGroupAd?: GoogleAdsSearchads360V23Resources__AdGroupAd; /** * The resource name returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupAdResult(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupAdResult { return { ...data, adGroupAd: data["adGroupAd"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupAd(data["adGroupAd"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupAdResult(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupAdResult { return { ...data, adGroupAd: data["adGroupAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupAd(data["adGroupAd"]) : undefined, }; } /** * Request message for AdGroupAdService.MutateAdGroupAds. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest { /** * Required. The list of operations to perform on individual ads. */ operations?: GoogleAdsSearchads360V23Services__AdGroupAdOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AdGroupAdOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AdGroupAdOperation(item))) : undefined, }; } /** * Response message for an ad group ad mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdGroupAdResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateAdGroupAdResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateAdGroupAdResult(item))) : undefined, }; } /** * The result for the ad group asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult { /** * The mutated ad group asset with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ adGroupAsset?: GoogleAdsSearchads360V23Resources__AdGroupAsset; /** * Returned for successful operations. */ resourceName?: string; } /** * The result for the ad group asset set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult { /** * The mutated ad group asset set with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ adGroupAssetSet?: GoogleAdsSearchads360V23Resources__AdGroupAssetSet; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for AdGroupAssetSetService.MutateAdGroupAssetSets. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest { /** * Required. The list of operations to perform on individual ad group asset * sets. */ operations?: GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for an ad group asset set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (e.g. auth errors), * we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult[]; } /** * Request message for AdGroupAssetService.MutateAdGroupAssets. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest { /** * Required. The list of operations to perform on individual ad group assets. */ operations?: GoogleAdsSearchads360V23Services__AdGroupAssetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AdGroupAssetOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AdGroupAssetOperation(item))) : undefined, }; } /** * Response message for an ad group asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult[]; } /** * The result for the criterion mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult { /** * The mutated ad group bid modifier with only mutable fields after mutate. * The field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ adGroupBidModifier?: GoogleAdsSearchads360V23Resources__AdGroupBidModifier; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult { return { ...data, adGroupBidModifier: data["adGroupBidModifier"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupBidModifier(data["adGroupBidModifier"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult { return { ...data, adGroupBidModifier: data["adGroupBidModifier"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupBidModifier(data["adGroupBidModifier"]) : undefined, }; } /** * Request message for AdGroupBidModifierService.MutateAdGroupBidModifiers. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest { /** * Required. The list of operations to perform on individual ad group bid * modifiers. */ operations?: GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AdGroupBidModifierOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AdGroupBidModifierOperation(item))) : undefined, }; } /** * Response message for ad group bid modifiers mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult(item))) : undefined, }; } /** * Request message for AdGroupCriterionService.MutateAdGroupCriteria. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest { /** * Required. The list of operations to perform on individual criteria. */ operations?: GoogleAdsSearchads360V23Services__AdGroupCriterionOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AdGroupCriterionOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AdGroupCriterionOperation(item))) : undefined, }; } /** * Response message for an ad group criterion mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult(item))) : undefined, }; } /** * The result for the ad group criterion customizer mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult { /** * The mutated AdGroupCriterionCustomizer with only mutable fields after * mutate. The field will only be returned when response_content_type is set * to "MUTABLE_RESOURCE". */ adGroupCriterionCustomizer?: GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest { /** * Required. The list of operations to perform on individual ad group * criterion customizers. */ operations?: GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for an ad group criterion customizer mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult[]; } /** * The result for an ad group criterion label mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * AdGroupCriterionLabelService.MutateAdGroupCriterionLabels. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest { /** * Required. The list of operations to perform on ad group criterion labels. */ operations?: GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for an ad group criterion labels mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult[]; } /** * The result for the criterion mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult { /** * The mutated ad group criterion with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ adGroupCriterion?: GoogleAdsSearchads360V23Resources__AdGroupCriterion; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult { return { ...data, adGroupCriterion: data["adGroupCriterion"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupCriterion(data["adGroupCriterion"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult { return { ...data, adGroupCriterion: data["adGroupCriterion"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupCriterion(data["adGroupCriterion"]) : undefined, }; } /** * The result for the ad group customizer mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult { /** * The mutated AdGroupCustomizer with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ adGroupCustomizer?: GoogleAdsSearchads360V23Resources__AdGroupCustomizer; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for AdGroupCustomizerService.MutateAdGroupCustomizers. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest { /** * Required. The list of operations to perform on individual ad group * customizers. */ operations?: GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for an ad group customizer mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult[]; } /** * The result for an ad group label mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for AdGroupLabelService.MutateAdGroupLabels. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest { /** * Required. The list of operations to perform on ad group labels. */ operations?: GoogleAdsSearchads360V23Services__AdGroupLabelOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for an ad group labels mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult[]; } /** * The result for the ad group mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupResult { /** * The mutated ad group with only mutable fields after mutate. The field will * only be returned when response_content_type is set to "MUTABLE_RESOURCE". */ adGroup?: GoogleAdsSearchads360V23Resources__AdGroup; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupResult(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupResult { return { ...data, adGroup: data["adGroup"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroup(data["adGroup"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupResult(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupResult { return { ...data, adGroup: data["adGroup"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroup(data["adGroup"]) : undefined, }; } /** * Request message for AdGroupService.MutateAdGroups. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupsRequest { /** * Required. The list of operations to perform on individual ad groups. */ operations?: GoogleAdsSearchads360V23Services__AdGroupOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AdGroupOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AdGroupOperation(item))) : undefined, }; } /** * Response message for an ad group mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdGroupsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdGroupResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateAdGroupsResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateAdGroupResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdGroupsResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdGroupsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateAdGroupResult(item))) : undefined, }; } /** * The result for the ad parameter mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdParameterResult { /** * The mutated AdParameter with only mutable fields after mutate. The field * will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ adParameter?: GoogleAdsSearchads360V23Resources__AdParameter; /** * The resource name returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateAdParameterResult(data: any): GoogleAdsSearchads360V23Services__MutateAdParameterResult { return { ...data, adParameter: data["adParameter"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdParameter(data["adParameter"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdParameterResult(data: any): GoogleAdsSearchads360V23Services__MutateAdParameterResult { return { ...data, adParameter: data["adParameter"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdParameter(data["adParameter"]) : undefined, }; } /** * Request message for AdParameterService.MutateAdParameters */ export interface GoogleAdsSearchads360V23Services__MutateAdParametersRequest { /** * Required. The list of operations to perform on individual ad parameters. */ operations?: GoogleAdsSearchads360V23Services__AdParameterOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAdParametersRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdParametersRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AdParameterOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdParametersRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdParametersRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AdParameterOperation(item))) : undefined, }; } /** * Response message for an ad parameter mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdParametersResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdParameterResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateAdParametersResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdParametersResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateAdParameterResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdParametersResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdParametersResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateAdParameterResult(item))) : undefined, }; } /** * The result for the ad mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdResult { /** * The mutated ad with only mutable fields after mutate. The field will only * be returned when response_content_type is set to "MUTABLE_RESOURCE". */ ad?: GoogleAdsSearchads360V23Resources__Ad; /** * The resource name returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateAdResult(data: any): GoogleAdsSearchads360V23Services__MutateAdResult { return { ...data, ad: data["ad"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Ad(data["ad"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdResult(data: any): GoogleAdsSearchads360V23Services__MutateAdResult { return { ...data, ad: data["ad"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Ad(data["ad"]) : undefined, }; } /** * Request message for AdService.MutateAds. */ export interface GoogleAdsSearchads360V23Services__MutateAdsRequest { /** * Required. The list of operations to perform on individual ads. */ operations?: GoogleAdsSearchads360V23Services__AdOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAdsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AdOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAdsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AdOperation(item))) : undefined, }; } /** * Response message for an ad mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAdsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAdResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateAdsResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateAdResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAdsResponse(data: any): GoogleAdsSearchads360V23Services__MutateAdsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateAdResult(item))) : undefined, }; } /** * The result for the asset group asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for AssetGroupAssetService.MutateAssetGroupAssets. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest { /** * Required. The list of operations to perform on individual asset group * assets. */ operations?: GoogleAdsSearchads360V23Services__AssetGroupAssetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AssetGroupAssetOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AssetGroupAssetOperation(item))) : undefined, }; } /** * Response message for an asset group asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult[]; } /** * The result for the asset group listing group filter mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult { /** * The mutated AssetGroupListingGroupFilter with only mutable fields after * mutate. The field will only be returned when response_content_type is set * to "MUTABLE_RESOURCE". */ assetGroupListingGroupFilter?: GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult(data: any): GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult { return { ...data, assetGroupListingGroupFilter: data["assetGroupListingGroupFilter"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter(data["assetGroupListingGroupFilter"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult(data: any): GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult { return { ...data, assetGroupListingGroupFilter: data["assetGroupListingGroupFilter"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter(data["assetGroupListingGroupFilter"]) : undefined, }; } /** * Request message for * AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters. * partial_failure is not supported because the tree needs to be validated * together. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest { /** * Required. The list of operations to perform on individual asset group * listing group filters. */ operations?: GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation[]; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest(data: any): GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest(data: any): GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation(item))) : undefined, }; } /** * Response message for an asset group listing group filter mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse { /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse(data: any): GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse(data: any): GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult(item))) : undefined, }; } /** * The result for the asset group mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupResult { /** * Returned for successful operations. */ resourceName?: string; } /** * The result for the asset group signal mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult { /** * The mutated AssetGroupSignal with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ assetGroupSignal?: GoogleAdsSearchads360V23Resources__AssetGroupSignal; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for AssetGroupSignalService.MutateAssetGroupSignals. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest { /** * Required. The list of operations to perform on individual asset group * signals. */ operations?: GoogleAdsSearchads360V23Services__AssetGroupSignalOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for an asset group signal mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult[]; } /** * Request message for AssetGroupService.MutateAssetGroups. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest { /** * Required. The list of operations to perform on individual asset groups. */ operations?: GoogleAdsSearchads360V23Services__AssetGroupOperation[]; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAssetGroupsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AssetGroupOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAssetGroupsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AssetGroupOperation(item))) : undefined, }; } /** * Response message for an asset group mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAssetGroupResult[]; } /** * The result for the asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetResult { /** * The mutated asset with only mutable fields after mutate. The field will * only be returned when response_content_type is set to "MUTABLE_RESOURCE". */ asset?: GoogleAdsSearchads360V23Resources__Asset; /** * The resource name returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateAssetResult(data: any): GoogleAdsSearchads360V23Services__MutateAssetResult { return { ...data, asset: data["asset"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Asset(data["asset"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAssetResult(data: any): GoogleAdsSearchads360V23Services__MutateAssetResult { return { ...data, asset: data["asset"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Asset(data["asset"]) : undefined, }; } /** * The result for the asset set asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult { /** * The mutated asset set asset with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ assetSetAsset?: GoogleAdsSearchads360V23Resources__AssetSetAsset; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for AssetSetAssetService.MutateAssetSetAssets. */ export interface GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest { /** * Required. The list of operations to perform on individual asset set * assets. */ operations?: GoogleAdsSearchads360V23Services__AssetSetAssetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for an asset set asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult[]; } /** * The result for the asset set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetSetResult { /** * The mutated asset set with only mutable fields after mutate. The field * will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ assetSet?: GoogleAdsSearchads360V23Resources__AssetSet; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateAssetSetResult(data: any): GoogleAdsSearchads360V23Services__MutateAssetSetResult { return { ...data, assetSet: data["assetSet"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AssetSet(data["assetSet"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAssetSetResult(data: any): GoogleAdsSearchads360V23Services__MutateAssetSetResult { return { ...data, assetSet: data["assetSet"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AssetSet(data["assetSet"]) : undefined, }; } /** * Request message for AssetSetService.MutateAssetSets. */ export interface GoogleAdsSearchads360V23Services__MutateAssetSetsRequest { /** * Required. The list of operations to perform on individual asset sets. */ operations?: GoogleAdsSearchads360V23Services__AssetSetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAssetSetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAssetSetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AssetSetOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAssetSetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAssetSetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AssetSetOperation(item))) : undefined, }; } /** * Response message for an asset set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetSetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAssetSetResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateAssetSetsResponse(data: any): GoogleAdsSearchads360V23Services__MutateAssetSetsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateAssetSetResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAssetSetsResponse(data: any): GoogleAdsSearchads360V23Services__MutateAssetSetsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateAssetSetResult(item))) : undefined, }; } /** * Request message for AssetService.MutateAssets */ export interface GoogleAdsSearchads360V23Services__MutateAssetsRequest { /** * Required. The list of operations to perform on individual assets. */ operations?: GoogleAdsSearchads360V23Services__AssetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAssetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAssetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AssetOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAssetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateAssetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AssetOperation(item))) : undefined, }; } /** * Response message for an asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAssetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAssetResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateAssetsResponse(data: any): GoogleAdsSearchads360V23Services__MutateAssetsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateAssetResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAssetsResponse(data: any): GoogleAdsSearchads360V23Services__MutateAssetsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateAssetResult(item))) : undefined, }; } /** * The result for the audience mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAudienceResult { /** * The mutated Audience with only mutable fields after mutate. The field will * only be returned when response_content_type is set to "MUTABLE_RESOURCE". */ audience?: GoogleAdsSearchads360V23Resources__Audience; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for AudienceService.MutateAudiences. */ export interface GoogleAdsSearchads360V23Services__MutateAudiencesRequest { /** * Required. The list of operations to perform on individual audiences. */ operations?: GoogleAdsSearchads360V23Services__AudienceOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateAudiencesRequest(data: any): GoogleAdsSearchads360V23Services__MutateAudiencesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__AudienceOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateAudiencesRequest(data: any): GoogleAdsSearchads360V23Services__MutateAudiencesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__AudienceOperation(item))) : undefined, }; } /** * Response message for an audience mutate. */ export interface GoogleAdsSearchads360V23Services__MutateAudiencesResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateAudienceResult[]; } /** * Request message for BatchJobService.MutateBatchJob. */ export interface GoogleAdsSearchads360V23Services__MutateBatchJobRequest { /** * Required. The operation to perform on an individual batch job. */ operation?: GoogleAdsSearchads360V23Services__BatchJobOperation; } /** * Response message for BatchJobService.MutateBatchJob. */ export interface GoogleAdsSearchads360V23Services__MutateBatchJobResponse { /** * The result for the mutate. */ result?: GoogleAdsSearchads360V23Services__MutateBatchJobResult; } /** * The result for the batch job mutate. */ export interface GoogleAdsSearchads360V23Services__MutateBatchJobResult { /** * The resource name of the batch job. */ resourceName?: string; } /** * Request message for BiddingDataExclusionService.MutateBiddingDataExclusions. */ export interface GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest { /** * Required. The list of operations to perform on individual data exclusions. */ operations?: GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest(data: any): GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__BiddingDataExclusionOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest(data: any): GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__BiddingDataExclusionOperation(item))) : undefined, }; } /** * Response message for data exclusions mutate. */ export interface GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult[]; } /** * The result for the data exclusion mutate. */ export interface GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult { /** * The mutated bidding data exclusion with only mutable fields after mutate. * The field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ biddingDataExclusion?: GoogleAdsSearchads360V23Resources__BiddingDataExclusion; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments. */ export interface GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest { /** * Required. The list of operations to perform on individual seasonality * adjustments. */ operations?: GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest(data: any): GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest(data: any): GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation(item))) : undefined, }; } /** * Response message for seasonality adjustments mutate. */ export interface GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult[]; } /** * The result for the seasonality adjustment mutate. */ export interface GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult { /** * The mutated bidding seasonality adjustment with only mutable fields after * mutate. The field will only be returned when response_content_type is set * to "MUTABLE_RESOURCE". */ biddingSeasonalityAdjustment?: GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for BiddingStrategyService.MutateBiddingStrategies. */ export interface GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest { /** * Required. The list of operations to perform on individual bidding * strategies. */ operations?: GoogleAdsSearchads360V23Services__BiddingStrategyOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest(data: any): GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__BiddingStrategyOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest(data: any): GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__BiddingStrategyOperation(item))) : undefined, }; } /** * Response message for bidding strategy mutate. */ export interface GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse(data: any): GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateBiddingStrategyResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse(data: any): GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateBiddingStrategyResult(item))) : undefined, }; } /** * The result for the bidding strategy mutate. */ export interface GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult { /** * The mutated bidding strategy with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ biddingStrategy?: GoogleAdsSearchads360V23Resources__BiddingStrategy; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateBiddingStrategyResult(data: any): GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult { return { ...data, biddingStrategy: data["biddingStrategy"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__BiddingStrategy(data["biddingStrategy"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateBiddingStrategyResult(data: any): GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult { return { ...data, biddingStrategy: data["biddingStrategy"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__BiddingStrategy(data["biddingStrategy"]) : undefined, }; } /** * Request message for billing setup mutate operations. */ export interface GoogleAdsSearchads360V23Services__MutateBillingSetupRequest { /** * Required. The operation to perform. */ operation?: GoogleAdsSearchads360V23Services__BillingSetupOperation; } /** * Response message for a billing setup operation. */ export interface GoogleAdsSearchads360V23Services__MutateBillingSetupResponse { /** * A result that identifies the resource affected by the mutate request. */ result?: GoogleAdsSearchads360V23Services__MutateBillingSetupResult; } /** * Result for a single billing setup mutate. */ export interface GoogleAdsSearchads360V23Services__MutateBillingSetupResult { /** * Returned for successful operations. */ resourceName?: string; } /** * The result for the campaign asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignAssetResult { /** * The mutated campaign asset with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ campaignAsset?: GoogleAdsSearchads360V23Resources__CampaignAsset; /** * Returned for successful operations. */ resourceName?: string; } /** * The result for the campaign asset set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult { /** * The mutated campaign asset set with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ campaignAssetSet?: GoogleAdsSearchads360V23Resources__CampaignAssetSet; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CampaignAssetSetService.MutateCampaignAssetSets. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest { /** * Required. The list of operations to perform on individual campaign asset * sets. */ operations?: GoogleAdsSearchads360V23Services__CampaignAssetSetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for a campaign asset set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult[]; } /** * Request message for CampaignAssetService.MutateCampaignAssets. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest { /** * Required. The list of operations to perform on individual campaign assets. */ operations?: GoogleAdsSearchads360V23Services__CampaignAssetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CampaignAssetOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CampaignAssetOperation(item))) : undefined, }; } /** * Response message for a campaign asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignAssetResult[]; } /** * The result for the criterion mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult { /** * The mutated campaign bid modifier with only mutable fields after mutate. * The field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ campaignBidModifier?: GoogleAdsSearchads360V23Resources__CampaignBidModifier; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CampaignBidModifierService.MutateCampaignBidModifiers. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest { /** * Required. The list of operations to perform on individual campaign bid * modifiers. */ operations?: GoogleAdsSearchads360V23Services__CampaignBidModifierOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CampaignBidModifierOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CampaignBidModifierOperation(item))) : undefined, }; } /** * Response message for campaign bid modifiers mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult[]; } /** * The result for the campaign budget mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult { /** * The mutated campaign budget with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ campaignBudget?: GoogleAdsSearchads360V23Resources__CampaignBudget; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetResult(data: any): GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult { return { ...data, campaignBudget: data["campaignBudget"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CampaignBudget(data["campaignBudget"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetResult(data: any): GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult { return { ...data, campaignBudget: data["campaignBudget"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CampaignBudget(data["campaignBudget"]) : undefined, }; } /** * Request message for CampaignBudgetService.MutateCampaignBudgets. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest { /** * Required. The list of operations to perform on individual campaign * budgets. */ operations?: GoogleAdsSearchads360V23Services__CampaignBudgetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CampaignBudgetOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CampaignBudgetOperation(item))) : undefined, }; } /** * Response message for campaign budget mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse(data: any): GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse(data: any): GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetResult(item))) : undefined, }; } /** * The result for the campaign conversion goal mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * CampaignConversionGoalService.MutateCampaignConversionGoals. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest { /** * Required. The list of operations to perform on individual campaign * conversion goal. */ operations?: GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation[]; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CampaignConversionGoalOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CampaignConversionGoalOperation(item))) : undefined, }; } /** * Response message for a campaign conversion goal mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse { /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult[]; } /** * Request message for CampaignCriterionService.MutateCampaignCriteria. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest { /** * Required. The list of operations to perform on individual criteria. */ operations?: GoogleAdsSearchads360V23Services__CampaignCriterionOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CampaignCriterionOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CampaignCriterionOperation(item))) : undefined, }; } /** * Response message for campaign criterion mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse(data: any): GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateCampaignCriterionResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse(data: any): GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateCampaignCriterionResult(item))) : undefined, }; } /** * The result for the criterion mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult { /** * The mutated campaign criterion with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ campaignCriterion?: GoogleAdsSearchads360V23Resources__CampaignCriterion; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignCriterionResult(data: any): GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult { return { ...data, campaignCriterion: data["campaignCriterion"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CampaignCriterion(data["campaignCriterion"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignCriterionResult(data: any): GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult { return { ...data, campaignCriterion: data["campaignCriterion"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CampaignCriterion(data["campaignCriterion"]) : undefined, }; } /** * The result for the campaign customizer mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult { /** * The mutated CampaignCustomizer with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ campaignCustomizer?: GoogleAdsSearchads360V23Resources__CampaignCustomizer; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CampaignCustomizerService.MutateCampaignCustomizers. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest { /** * Required. The list of operations to perform on individual campaign * customizers. */ operations?: GoogleAdsSearchads360V23Services__CampaignCustomizerOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for a campaign customizer mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult[]; } /** * The result for the campaign draft mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignDraftResult { /** * The mutated campaign draft with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ campaignDraft?: GoogleAdsSearchads360V23Resources__CampaignDraft; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CampaignDraftService.MutateCampaignDrafts. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest { /** * Required. The list of operations to perform on individual campaign drafts. */ operations?: GoogleAdsSearchads360V23Services__CampaignDraftOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CampaignDraftOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CampaignDraftOperation(item))) : undefined, }; } /** * Response message for campaign draft mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignDraftResult[]; } /** * The result for the campaign goal config mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CampaignGoalConfigService.MutateCampaignGoalConfigs. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest { /** * Required. The list of operations to perform on the campaign goal configs. */ operations?: GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation[]; /** * Optional. If true, successful operations will be carried out and invalid * operations will return errors. If false, all operations will be carried out * in one transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * Optional. If true, the request is validated but not executed. Only errors * are returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CampaignGoalConfigOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CampaignGoalConfigOperation(item))) : undefined, }; } /** * Response message for a campaign goal config mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse { /** * Errors that pertain to operation failures in the partial failure mode. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult[]; } /** * The result for the campaign group mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignGroupResult { /** * The mutated campaign group with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ campaignGroup?: GoogleAdsSearchads360V23Resources__CampaignGroup; /** * Required. Returned for successful operations. */ resourceName?: string; } /** * Request message for CampaignGroupService.MutateCampaignGroups. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest { /** * Required. The list of operations to perform on individual campaign groups. */ operations?: GoogleAdsSearchads360V23Services__CampaignGroupOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CampaignGroupOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CampaignGroupOperation(item))) : undefined, }; } /** * Response message for campaign group mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignGroupResult[]; } /** * The result for a campaign label mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignLabelResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CampaignLabelService.MutateCampaignLabels. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest { /** * Required. The list of operations to perform on campaign-label * relationships. */ operations?: GoogleAdsSearchads360V23Services__CampaignLabelOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for a campaign labels mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignLabelResult[]; } /** * The result for the campaign mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignResult { /** * The mutated campaign with only mutable fields after mutate. The field will * only be returned when response_content_type is set to "MUTABLE_RESOURCE". */ campaign?: GoogleAdsSearchads360V23Resources__Campaign; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignResult(data: any): GoogleAdsSearchads360V23Services__MutateCampaignResult { return { ...data, campaign: data["campaign"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Campaign(data["campaign"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignResult(data: any): GoogleAdsSearchads360V23Services__MutateCampaignResult { return { ...data, campaign: data["campaign"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Campaign(data["campaign"]) : undefined, }; } /** * The result for the campaign shared set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult { /** * The mutated campaign shared set with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ campaignSharedSet?: GoogleAdsSearchads360V23Resources__CampaignSharedSet; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CampaignSharedSetService.MutateCampaignSharedSets. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest { /** * Required. The list of operations to perform on individual campaign shared * sets. */ operations?: GoogleAdsSearchads360V23Services__CampaignSharedSetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for a campaign shared set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult[]; } /** * Request message for CampaignService.MutateCampaigns. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignsRequest { /** * Required. The list of operations to perform on individual campaigns. */ operations?: GoogleAdsSearchads360V23Services__CampaignOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CampaignOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCampaignsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CampaignOperation(item))) : undefined, }; } /** * Response message for campaign mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCampaignsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCampaignResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateCampaignsResponse(data: any): GoogleAdsSearchads360V23Services__MutateCampaignsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateCampaignResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCampaignsResponse(data: any): GoogleAdsSearchads360V23Services__MutateCampaignsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateCampaignResult(item))) : undefined, }; } /** * The result for the conversion action mutate. */ export interface GoogleAdsSearchads360V23Services__MutateConversionActionResult { /** * The mutated conversion action with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ conversionAction?: GoogleAdsSearchads360V23Resources__ConversionAction; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateConversionActionResult(data: any): GoogleAdsSearchads360V23Services__MutateConversionActionResult { return { ...data, conversionAction: data["conversionAction"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ConversionAction(data["conversionAction"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateConversionActionResult(data: any): GoogleAdsSearchads360V23Services__MutateConversionActionResult { return { ...data, conversionAction: data["conversionAction"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ConversionAction(data["conversionAction"]) : undefined, }; } /** * Request message for ConversionActionService.MutateConversionActions. */ export interface GoogleAdsSearchads360V23Services__MutateConversionActionsRequest { /** * Required. The list of operations to perform on individual conversion * actions. */ operations?: GoogleAdsSearchads360V23Services__ConversionActionOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateConversionActionsRequest(data: any): GoogleAdsSearchads360V23Services__MutateConversionActionsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ConversionActionOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateConversionActionsRequest(data: any): GoogleAdsSearchads360V23Services__MutateConversionActionsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ConversionActionOperation(item))) : undefined, }; } /** * Response message for ConversionActionService.MutateConversionActions. */ export interface GoogleAdsSearchads360V23Services__MutateConversionActionsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateConversionActionResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateConversionActionsResponse(data: any): GoogleAdsSearchads360V23Services__MutateConversionActionsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateConversionActionResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateConversionActionsResponse(data: any): GoogleAdsSearchads360V23Services__MutateConversionActionsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateConversionActionResult(item))) : undefined, }; } /** * The result for the conversion custom variable mutate. */ export interface GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult { /** * The mutated conversion custom variable with only mutable fields after * mutate. The field will only be returned when response_content_type is set * to "MUTABLE_RESOURCE". */ conversionCustomVariable?: GoogleAdsSearchads360V23Resources__ConversionCustomVariable; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * ConversionCustomVariableService.MutateConversionCustomVariables. */ export interface GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest { /** * Required. The list of operations to perform on individual conversion * custom variables. */ operations?: GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest(data: any): GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ConversionCustomVariableOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest(data: any): GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ConversionCustomVariableOperation(item))) : undefined, }; } /** * Response message for * ConversionCustomVariableService.MutateConversionCustomVariables. */ export interface GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult[]; } /** * The result for the conversion goal campaign config mutate. */ export interface GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult { /** * The mutated ConversionGoalCampaignConfig with only mutable fields after * mutate. The field will only be returned when response_content_type is set * to "MUTABLE_RESOURCE". */ conversionGoalCampaignConfig?: GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs. */ export interface GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest { /** * Required. The list of operations to perform on individual conversion goal * campaign config. */ operations?: GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation[]; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest(data: any): GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest(data: any): GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation(item))) : undefined, }; } /** * Response message for a conversion goal campaign config mutate. */ export interface GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse { /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult[]; } /** * The result for the conversion value rule mutate. */ export interface GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult { /** * The mutated conversion value rule with only mutable fields after mutate. * The field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ conversionValueRule?: GoogleAdsSearchads360V23Resources__ConversionValueRule; /** * Returned for successful operations. */ resourceName?: string; } /** * The result for the conversion value rule set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult { /** * The mutated conversion value rule set with only mutable fields after * mutate. The field will only be returned when response_content_type is set * to "MUTABLE_RESOURCE". */ conversionValueRuleSet?: GoogleAdsSearchads360V23Resources__ConversionValueRuleSet; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * ConversionValueRuleSetService.MutateConversionValueRuleSets. */ export interface GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest { /** * Required. The list of operations to perform on individual conversion value * rule sets. */ operations?: GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation(item))) : undefined, }; } /** * Response message for * ConversionValueRuleSetService.MutateConversionValueRuleSets. */ export interface GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult[]; } /** * Request message for ConversionValueRuleService.MutateConversionValueRules. */ export interface GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest { /** * Required. The list of operations to perform on individual conversion value * rules. */ operations?: GoogleAdsSearchads360V23Services__ConversionValueRuleOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest(data: any): GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ConversionValueRuleOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest(data: any): GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ConversionValueRuleOperation(item))) : undefined, }; } /** * Response message for ConversionValueRuleService.MutateConversionValueRules. */ export interface GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult[]; } /** * The result for the custom audience mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomAudienceResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CustomAudienceService.MutateCustomAudiences. */ export interface GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest { /** * Required. The list of operations to perform on individual custom * audiences. */ operations?: GoogleAdsSearchads360V23Services__CustomAudienceOperation[]; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CustomAudienceOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CustomAudienceOperation(item))) : undefined, }; } /** * Response message for custom audience mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse { /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCustomAudienceResult[]; } /** * The result for the custom conversion goal mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult { /** * The mutated CustomConversionGoal with only mutable fields after mutate. * The field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ customConversionGoal?: GoogleAdsSearchads360V23Resources__CustomConversionGoal; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult(data: any): GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult { return { ...data, customConversionGoal: data["customConversionGoal"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CustomConversionGoal(data["customConversionGoal"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult(data: any): GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult { return { ...data, customConversionGoal: data["customConversionGoal"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CustomConversionGoal(data["customConversionGoal"]) : undefined, }; } /** * Request message for CustomConversionGoalService.MutateCustomConversionGoals. */ export interface GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest { /** * Required. The list of operations to perform on individual custom * conversion goal. */ operations?: GoogleAdsSearchads360V23Services__CustomConversionGoalOperation[]; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CustomConversionGoalOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CustomConversionGoalOperation(item))) : undefined, }; } /** * Response message for a custom conversion goal mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse { /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse(data: any): GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse(data: any): GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult(item))) : undefined, }; } /** * The result for the customer asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerAssetResult { /** * The mutated customer asset with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ customerAsset?: GoogleAdsSearchads360V23Resources__CustomerAsset; /** * Returned for successful operations. */ resourceName?: string; } /** * The result for the customer asset set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult { /** * The mutated customer asset set with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ customerAssetSet?: GoogleAdsSearchads360V23Resources__CustomerAssetSet; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CustomerAssetSetService.MutateCustomerAssetSets. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest { /** * Required. The list of operations to perform on individual customer asset * sets. */ operations?: GoogleAdsSearchads360V23Services__CustomerAssetSetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for a customer asset set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (e.g. auth errors), * we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult[]; } /** * Request message for CustomerAssetService.MutateCustomerAssets. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest { /** * Required. The list of operations to perform on individual customer assets. */ operations?: GoogleAdsSearchads360V23Services__CustomerAssetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CustomerAssetOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CustomerAssetOperation(item))) : undefined, }; } /** * Response message for a customer asset mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCustomerAssetResult[]; } /** * Request message for CustomerClientLinkService.MutateCustomerClientLink. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest { /** * Required. The operation to perform on the individual CustomerClientLink. */ operation?: GoogleAdsSearchads360V23Services__CustomerClientLinkOperation; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest { return { ...data, operation: data["operation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CustomerClientLinkOperation(data["operation"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest { return { ...data, operation: data["operation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CustomerClientLinkOperation(data["operation"]) : undefined, }; } /** * Response message for a CustomerClientLink mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse { /** * A result that identifies the resource affected by the mutate request. */ result?: GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult; } /** * The result for a single customer client link mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult { /** * Returned for successful operations. */ resourceName?: string; } /** * The result for the customer conversion goal mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * CustomerConversionGoalService.MutateCustomerConversionGoals. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest { /** * Required. The list of operations to perform on individual customer * conversion goal. */ operations?: GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation[]; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CustomerConversionGoalOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CustomerConversionGoalOperation(item))) : undefined, }; } /** * Response message for a customer conversion goal mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse { /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult[]; } /** * The result for the customizer attribute mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult { /** * The mutated CustomerCustomizer with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ customerCustomizer?: GoogleAdsSearchads360V23Resources__CustomerCustomizer; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CustomerCustomizerService.MutateCustomerCustomizers. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest { /** * Required. The list of operations to perform on individual customer * customizers. */ operations?: GoogleAdsSearchads360V23Services__CustomerCustomizerOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for a customizer attribute mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult[]; } /** * The result for a customer label mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerLabelResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CustomerLabelService.MutateCustomerLabels. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest { /** * Required. The list of operations to perform on customer-label * relationships. */ operations?: GoogleAdsSearchads360V23Services__CustomerLabelOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for a customer labels mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCustomerLabelResult[]; } /** * Request message for CustomerManagerLinkService.MutateCustomerManagerLink. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest { /** * Required. The list of operations to perform on individual customer manager * links. */ operations?: GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation[]; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CustomerManagerLinkOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CustomerManagerLinkOperation(item))) : undefined, }; } /** * Response message for a CustomerManagerLink mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse { /** * A result that identifies the resource affected by the mutate request. */ results?: GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult[]; } /** * The result for the customer manager link mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * CustomerNegativeCriterionService.MutateCustomerNegativeCriteria. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest { /** * Required. The list of operations to perform on individual criteria. */ operations?: GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for customer negative criterion mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult[]; } /** * The result for the criterion mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult { /** * The mutated criterion with only mutable fields after mutate. The field * will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ customerNegativeCriterion?: GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CustomerService.MutateCustomer. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerRequest { /** * Required. The operation to perform on the customer */ operation?: GoogleAdsSearchads360V23Services__CustomerOperation; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCustomerRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerRequest { return { ...data, operation: data["operation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CustomerOperation(data["operation"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomerRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerRequest { return { ...data, operation: data["operation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CustomerOperation(data["operation"]) : undefined, }; } /** * Response message for customer mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerResponse { /** * Result for the mutate. */ result?: GoogleAdsSearchads360V23Services__MutateCustomerResult; } /** * The result for the customer mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerResult { /** * The mutated customer with only mutable fields after mutate. The fields * will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ customer?: GoogleAdsSearchads360V23Resources__Customer; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest { /** * Optional. If true, enables returning warnings. Warnings return error * messages and error codes without blocking the execution of the mutate * operation. */ enableWarnings?: boolean; /** * The operation to perform. */ operation?: GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for MutateCustomerSkAdNetworkConversionValueSchema. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse { /** * All results for the mutate. */ result?: GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult; /** * Non blocking errors that provides schema validation failure details. * Returned only when enable_warnings = true. */ warning?: GoogleRpc__Status; } /** * The result for the CustomerSkAdNetworkConversionValueSchema mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult { /** * App ID of the SkanConversionValue modified. */ appId?: string; /** * Resource name of the customer that was modified. */ resourceName?: string; } /** * Request message for * CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation */ export interface GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest { /** * Required. The operation to perform on the access invitation */ operation?: GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation; } /** * Response message for access invitation mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse { /** * Result for the mutate. */ result?: GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult; } /** * The result for the access invitation mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Mutate Request for CustomerUserAccessService.MutateCustomerUserAccess. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest { /** * Required. The operation to perform on the customer */ operation?: GoogleAdsSearchads360V23Services__CustomerUserAccessOperation; } function serializeGoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest { return { ...data, operation: data["operation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CustomerUserAccessOperation(data["operation"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest { return { ...data, operation: data["operation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CustomerUserAccessOperation(data["operation"]) : undefined, }; } /** * Response message for customer user access mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse { /** * Result for the mutate. */ result?: GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult; } /** * The result for the customer user access mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult { /** * Returned for successful operations. */ resourceName?: string; } /** * The result for the custom interest mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomInterestResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CustomInterestService.MutateCustomInterests. */ export interface GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest { /** * Required. The list of operations to perform on individual custom * interests. */ operations?: GoogleAdsSearchads360V23Services__CustomInterestOperation[]; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCustomInterestsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CustomInterestOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomInterestsRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CustomInterestOperation(item))) : undefined, }; } /** * Response message for custom interest mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse { /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCustomInterestResult[]; } /** * The result for the customizer attribute mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult { /** * The mutated CustomizerAttribute with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ customizerAttribute?: GoogleAdsSearchads360V23Resources__CustomizerAttribute; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for CustomizerAttributeService.MutateCustomizerAttributes. */ export interface GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest { /** * Required. The list of operations to perform on individual customizer * attributes. */ operations?: GoogleAdsSearchads360V23Services__CustomizerAttributeOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CustomizerAttributeOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest(data: any): GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CustomizerAttributeOperation(item))) : undefined, }; } /** * Response message for a customizer attribute mutate. */ export interface GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult[]; } /** * The result for the experiment arm mutate. */ export interface GoogleAdsSearchads360V23Services__MutateExperimentArmResult { /** * The mutated experiment arm with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ experimentArm?: GoogleAdsSearchads360V23Resources__ExperimentArm; /** * Returned for successful operations. */ resourceName?: string; } function serializeGoogleAdsSearchads360V23Services__MutateExperimentArmResult(data: any): GoogleAdsSearchads360V23Services__MutateExperimentArmResult { return { ...data, experimentArm: data["experimentArm"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ExperimentArm(data["experimentArm"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateExperimentArmResult(data: any): GoogleAdsSearchads360V23Services__MutateExperimentArmResult { return { ...data, experimentArm: data["experimentArm"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ExperimentArm(data["experimentArm"]) : undefined, }; } /** * Request message for ExperimentArmService.MutateExperimentArms. */ export interface GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest { /** * Required. The list of operations to perform on individual experiment arm. */ operations?: GoogleAdsSearchads360V23Services__ExperimentArmOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateExperimentArmsRequest(data: any): GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ExperimentArmOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateExperimentArmsRequest(data: any): GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ExperimentArmOperation(item))) : undefined, }; } /** * Response message for experiment arm mutate. */ export interface GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateExperimentArmResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateExperimentArmsResponse(data: any): GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateExperimentArmResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateExperimentArmsResponse(data: any): GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateExperimentArmResult(item))) : undefined, }; } /** * The result for the campaign experiment mutate. */ export interface GoogleAdsSearchads360V23Services__MutateExperimentResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for ExperimentService.MutateExperiments. */ export interface GoogleAdsSearchads360V23Services__MutateExperimentsRequest { /** * Required. The list of operations to perform on individual experiments. */ operations?: GoogleAdsSearchads360V23Services__ExperimentOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateExperimentsRequest(data: any): GoogleAdsSearchads360V23Services__MutateExperimentsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ExperimentOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateExperimentsRequest(data: any): GoogleAdsSearchads360V23Services__MutateExperimentsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ExperimentOperation(item))) : undefined, }; } /** * Response message for experiment mutate. */ export interface GoogleAdsSearchads360V23Services__MutateExperimentsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateExperimentResult[]; } /** * The result for the goal mutate. */ export interface GoogleAdsSearchads360V23Services__MutateGoalResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for GoalService.MutateGoals. */ export interface GoogleAdsSearchads360V23Services__MutateGoalsRequest { /** * Required. The list of operations to perform on the goals. */ operations?: GoogleAdsSearchads360V23Services__GoalOperation[]; /** * Optional. If true, successful operations will be carried out and invalid * operations will return errors. If false, all operations will be carried out * in one transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * Optional. If true, the request is validated but not executed. Only errors * are returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateGoalsRequest(data: any): GoogleAdsSearchads360V23Services__MutateGoalsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__GoalOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateGoalsRequest(data: any): GoogleAdsSearchads360V23Services__MutateGoalsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__GoalOperation(item))) : undefined, }; } /** * Response message for a goal mutate. */ export interface GoogleAdsSearchads360V23Services__MutateGoalsResponse { /** * Errors that pertain to operation failures in the partial failure mode. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateGoalResult[]; } /** * The result for the Keyword Plan ad group keyword mutate. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest { /** * Required. The list of operations to perform on individual Keyword Plan ad * group keywords. */ operations?: GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest(data: any): GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest(data: any): GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation(item))) : undefined, }; } /** * Response message for a Keyword Plan ad group keyword mutate. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult[]; } /** * The result for the Keyword Plan ad group mutate. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for KeywordPlanAdGroupService.MutateKeywordPlanAdGroups. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest { /** * Required. The list of operations to perform on individual Keyword Plan ad * groups. */ operations?: GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest(data: any): GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest(data: any): GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation(item))) : undefined, }; } /** * Response message for a Keyword Plan ad group mutate. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. The order of the results is determined by the * order of the keywords in the original request. */ results?: GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult[]; } /** * The result for the Keyword Plan campaign keyword mutate. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for * KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest { /** * Required. The list of operations to perform on individual Keyword Plan * campaign keywords. */ operations?: GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest(data: any): GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest(data: any): GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation(item))) : undefined, }; } /** * Response message for a Keyword Plan campaign keyword mutate. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult[]; } /** * The result for the Keyword Plan campaign mutate. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for KeywordPlanCampaignService.MutateKeywordPlanCampaigns. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest { /** * Required. The list of operations to perform on individual Keyword Plan * campaigns. */ operations?: GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest(data: any): GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest(data: any): GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation(item))) : undefined, }; } /** * Response message for a Keyword Plan campaign mutate. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult[]; } /** * Request message for KeywordPlanService.MutateKeywordPlans. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest { /** * Required. The list of operations to perform on individual keyword plans. */ operations?: GoogleAdsSearchads360V23Services__KeywordPlanOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateKeywordPlansRequest(data: any): GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__KeywordPlanOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateKeywordPlansRequest(data: any): GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__KeywordPlanOperation(item))) : undefined, }; } /** * Response message for a keyword plan mutate. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateKeywordPlansResult[]; } /** * The result for the keyword plan mutate. */ export interface GoogleAdsSearchads360V23Services__MutateKeywordPlansResult { /** * Returned for successful operations. */ resourceName?: string; } /** * The result for a label mutate. */ export interface GoogleAdsSearchads360V23Services__MutateLabelResult { /** * The mutated label with only mutable fields after mutate. The field will * only be returned when response_content_type is set to "MUTABLE_RESOURCE". */ label?: GoogleAdsSearchads360V23Resources__Label; /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for LabelService.MutateLabels. */ export interface GoogleAdsSearchads360V23Services__MutateLabelsRequest { /** * Required. The list of operations to perform on labels. */ operations?: GoogleAdsSearchads360V23Services__LabelOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateLabelsRequest(data: any): GoogleAdsSearchads360V23Services__MutateLabelsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__LabelOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateLabelsRequest(data: any): GoogleAdsSearchads360V23Services__MutateLabelsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__LabelOperation(item))) : undefined, }; } /** * Response message for a labels mutate. */ export interface GoogleAdsSearchads360V23Services__MutateLabelsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateLabelResult[]; } /** * A single operation (create, update, remove) on a resource. */ export interface GoogleAdsSearchads360V23Services__MutateOperation { /** * An ad group ad label mutate operation. */ adGroupAdLabelOperation?: GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation; /** * An ad group ad mutate operation. */ adGroupAdOperation?: GoogleAdsSearchads360V23Services__AdGroupAdOperation; /** * An ad group asset mutate operation. */ adGroupAssetOperation?: GoogleAdsSearchads360V23Services__AdGroupAssetOperation; /** * An ad group bid modifier mutate operation. */ adGroupBidModifierOperation?: GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation; /** * An ad group criterion customizer mutate operation. */ adGroupCriterionCustomizerOperation?: GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation; /** * An ad group criterion label mutate operation. */ adGroupCriterionLabelOperation?: GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation; /** * An ad group criterion mutate operation. */ adGroupCriterionOperation?: GoogleAdsSearchads360V23Services__AdGroupCriterionOperation; /** * An ad group customizer mutate operation. */ adGroupCustomizerOperation?: GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation; /** * An ad group label mutate operation. */ adGroupLabelOperation?: GoogleAdsSearchads360V23Services__AdGroupLabelOperation; /** * An ad group mutate operation. */ adGroupOperation?: GoogleAdsSearchads360V23Services__AdGroupOperation; /** * An ad mutate operation. */ adOperation?: GoogleAdsSearchads360V23Services__AdOperation; /** * An ad parameter mutate operation. */ adParameterOperation?: GoogleAdsSearchads360V23Services__AdParameterOperation; /** * An asset group asset mutate operation. */ assetGroupAssetOperation?: GoogleAdsSearchads360V23Services__AssetGroupAssetOperation; /** * An asset group listing group filter mutate operation. */ assetGroupListingGroupFilterOperation?: GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation; /** * An asset group mutate operation. */ assetGroupOperation?: GoogleAdsSearchads360V23Services__AssetGroupOperation; /** * An asset group signal mutate operation. */ assetGroupSignalOperation?: GoogleAdsSearchads360V23Services__AssetGroupSignalOperation; /** * An asset mutate operation. */ assetOperation?: GoogleAdsSearchads360V23Services__AssetOperation; /** * An asset set asset mutate operation. */ assetSetAssetOperation?: GoogleAdsSearchads360V23Services__AssetSetAssetOperation; /** * An asset set mutate operation. */ assetSetOperation?: GoogleAdsSearchads360V23Services__AssetSetOperation; /** * An audience mutate operation. */ audienceOperation?: GoogleAdsSearchads360V23Services__AudienceOperation; /** * A bidding data exclusion mutate operation. */ biddingDataExclusionOperation?: GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation; /** * A bidding seasonality adjustment mutate operation. */ biddingSeasonalityAdjustmentOperation?: GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation; /** * A bidding strategy mutate operation. */ biddingStrategyOperation?: GoogleAdsSearchads360V23Services__BiddingStrategyOperation; /** * A campaign asset mutate operation. */ campaignAssetOperation?: GoogleAdsSearchads360V23Services__CampaignAssetOperation; /** * A campaign asset mutate operation. */ campaignAssetSetOperation?: GoogleAdsSearchads360V23Services__CampaignAssetSetOperation; /** * A campaign bid modifier mutate operation. */ campaignBidModifierOperation?: GoogleAdsSearchads360V23Services__CampaignBidModifierOperation; /** * A campaign budget mutate operation. */ campaignBudgetOperation?: GoogleAdsSearchads360V23Services__CampaignBudgetOperation; /** * A campaign conversion goal mutate operation. */ campaignConversionGoalOperation?: GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation; /** * A campaign criterion mutate operation. */ campaignCriterionOperation?: GoogleAdsSearchads360V23Services__CampaignCriterionOperation; /** * A campaign customizer mutate operation. */ campaignCustomizerOperation?: GoogleAdsSearchads360V23Services__CampaignCustomizerOperation; /** * A campaign draft mutate operation. */ campaignDraftOperation?: GoogleAdsSearchads360V23Services__CampaignDraftOperation; /** * A campaign group mutate operation. */ campaignGroupOperation?: GoogleAdsSearchads360V23Services__CampaignGroupOperation; /** * A campaign label mutate operation. */ campaignLabelOperation?: GoogleAdsSearchads360V23Services__CampaignLabelOperation; /** * A campaign mutate operation. */ campaignOperation?: GoogleAdsSearchads360V23Services__CampaignOperation; /** * A campaign shared set mutate operation. */ campaignSharedSetOperation?: GoogleAdsSearchads360V23Services__CampaignSharedSetOperation; /** * A conversion action mutate operation. */ conversionActionOperation?: GoogleAdsSearchads360V23Services__ConversionActionOperation; /** * A conversion custom variable mutate operation. */ conversionCustomVariableOperation?: GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation; /** * A conversion goal campaign config mutate operation. */ conversionGoalCampaignConfigOperation?: GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation; /** * A conversion value rule mutate operation. */ conversionValueRuleOperation?: GoogleAdsSearchads360V23Services__ConversionValueRuleOperation; /** * A conversion value rule set mutate operation. */ conversionValueRuleSetOperation?: GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation; /** * A custom conversion goal mutate operation. */ customConversionGoalOperation?: GoogleAdsSearchads360V23Services__CustomConversionGoalOperation; /** * A customer asset mutate operation. */ customerAssetOperation?: GoogleAdsSearchads360V23Services__CustomerAssetOperation; /** * A customer conversion goal mutate operation. */ customerConversionGoalOperation?: GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation; /** * A customer customizer mutate operation. */ customerCustomizerOperation?: GoogleAdsSearchads360V23Services__CustomerCustomizerOperation; /** * A customer label mutate operation. */ customerLabelOperation?: GoogleAdsSearchads360V23Services__CustomerLabelOperation; /** * A customer negative criterion mutate operation. */ customerNegativeCriterionOperation?: GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation; /** * A customer mutate operation. */ customerOperation?: GoogleAdsSearchads360V23Services__CustomerOperation; /** * A customizer attribute mutate operation. */ customizerAttributeOperation?: GoogleAdsSearchads360V23Services__CustomizerAttributeOperation; /** * An experiment arm mutate operation. */ experimentArmOperation?: GoogleAdsSearchads360V23Services__ExperimentArmOperation; /** * An experiment mutate operation. */ experimentOperation?: GoogleAdsSearchads360V23Services__ExperimentOperation; /** * A keyword plan ad group keyword operation. */ keywordPlanAdGroupKeywordOperation?: GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation; /** * A keyword plan ad group operation. */ keywordPlanAdGroupOperation?: GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation; /** * A keyword plan campaign keyword operation. */ keywordPlanCampaignKeywordOperation?: GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation; /** * A keyword plan campaign operation. */ keywordPlanCampaignOperation?: GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation; /** * A keyword plan operation. */ keywordPlanOperation?: GoogleAdsSearchads360V23Services__KeywordPlanOperation; /** * A label mutate operation. */ labelOperation?: GoogleAdsSearchads360V23Services__LabelOperation; /** * A recommendation subscription mutate operation. */ recommendationSubscriptionOperation?: GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation; /** * A remarketing action mutate operation. */ remarketingActionOperation?: GoogleAdsSearchads360V23Services__RemarketingActionOperation; /** * A Search Ads 360 campaign mutate operation. */ searchAds360CampaignOperation?: GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation; /** * A shared criterion mutate operation. */ sharedCriterionOperation?: GoogleAdsSearchads360V23Services__SharedCriterionOperation; /** * A shared set mutate operation. */ sharedSetOperation?: GoogleAdsSearchads360V23Services__SharedSetOperation; /** * A Smart campaign setting mutate operation. */ smartCampaignSettingOperation?: GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation; /** * A user list mutate operation. */ userListOperation?: GoogleAdsSearchads360V23Services__UserListOperation; } function serializeGoogleAdsSearchads360V23Services__MutateOperation(data: any): GoogleAdsSearchads360V23Services__MutateOperation { return { ...data, adGroupAdOperation: data["adGroupAdOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AdGroupAdOperation(data["adGroupAdOperation"]) : undefined, adGroupAssetOperation: data["adGroupAssetOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AdGroupAssetOperation(data["adGroupAssetOperation"]) : undefined, adGroupBidModifierOperation: data["adGroupBidModifierOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AdGroupBidModifierOperation(data["adGroupBidModifierOperation"]) : undefined, adGroupCriterionOperation: data["adGroupCriterionOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AdGroupCriterionOperation(data["adGroupCriterionOperation"]) : undefined, adGroupOperation: data["adGroupOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AdGroupOperation(data["adGroupOperation"]) : undefined, adOperation: data["adOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AdOperation(data["adOperation"]) : undefined, adParameterOperation: data["adParameterOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AdParameterOperation(data["adParameterOperation"]) : undefined, assetGroupAssetOperation: data["assetGroupAssetOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AssetGroupAssetOperation(data["assetGroupAssetOperation"]) : undefined, assetGroupListingGroupFilterOperation: data["assetGroupListingGroupFilterOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation(data["assetGroupListingGroupFilterOperation"]) : undefined, assetGroupOperation: data["assetGroupOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AssetGroupOperation(data["assetGroupOperation"]) : undefined, assetOperation: data["assetOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AssetOperation(data["assetOperation"]) : undefined, assetSetOperation: data["assetSetOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AssetSetOperation(data["assetSetOperation"]) : undefined, audienceOperation: data["audienceOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AudienceOperation(data["audienceOperation"]) : undefined, biddingDataExclusionOperation: data["biddingDataExclusionOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__BiddingDataExclusionOperation(data["biddingDataExclusionOperation"]) : undefined, biddingSeasonalityAdjustmentOperation: data["biddingSeasonalityAdjustmentOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation(data["biddingSeasonalityAdjustmentOperation"]) : undefined, biddingStrategyOperation: data["biddingStrategyOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__BiddingStrategyOperation(data["biddingStrategyOperation"]) : undefined, campaignAssetOperation: data["campaignAssetOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CampaignAssetOperation(data["campaignAssetOperation"]) : undefined, campaignBidModifierOperation: data["campaignBidModifierOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CampaignBidModifierOperation(data["campaignBidModifierOperation"]) : undefined, campaignBudgetOperation: data["campaignBudgetOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CampaignBudgetOperation(data["campaignBudgetOperation"]) : undefined, campaignConversionGoalOperation: data["campaignConversionGoalOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CampaignConversionGoalOperation(data["campaignConversionGoalOperation"]) : undefined, campaignCriterionOperation: data["campaignCriterionOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CampaignCriterionOperation(data["campaignCriterionOperation"]) : undefined, campaignDraftOperation: data["campaignDraftOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CampaignDraftOperation(data["campaignDraftOperation"]) : undefined, campaignGroupOperation: data["campaignGroupOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CampaignGroupOperation(data["campaignGroupOperation"]) : undefined, campaignOperation: data["campaignOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CampaignOperation(data["campaignOperation"]) : undefined, conversionActionOperation: data["conversionActionOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__ConversionActionOperation(data["conversionActionOperation"]) : undefined, conversionCustomVariableOperation: data["conversionCustomVariableOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__ConversionCustomVariableOperation(data["conversionCustomVariableOperation"]) : undefined, conversionGoalCampaignConfigOperation: data["conversionGoalCampaignConfigOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation(data["conversionGoalCampaignConfigOperation"]) : undefined, conversionValueRuleOperation: data["conversionValueRuleOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__ConversionValueRuleOperation(data["conversionValueRuleOperation"]) : undefined, conversionValueRuleSetOperation: data["conversionValueRuleSetOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation(data["conversionValueRuleSetOperation"]) : undefined, customConversionGoalOperation: data["customConversionGoalOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CustomConversionGoalOperation(data["customConversionGoalOperation"]) : undefined, customerAssetOperation: data["customerAssetOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CustomerAssetOperation(data["customerAssetOperation"]) : undefined, customerConversionGoalOperation: data["customerConversionGoalOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CustomerConversionGoalOperation(data["customerConversionGoalOperation"]) : undefined, customerOperation: data["customerOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CustomerOperation(data["customerOperation"]) : undefined, customizerAttributeOperation: data["customizerAttributeOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__CustomizerAttributeOperation(data["customizerAttributeOperation"]) : undefined, experimentArmOperation: data["experimentArmOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__ExperimentArmOperation(data["experimentArmOperation"]) : undefined, experimentOperation: data["experimentOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__ExperimentOperation(data["experimentOperation"]) : undefined, keywordPlanAdGroupKeywordOperation: data["keywordPlanAdGroupKeywordOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation(data["keywordPlanAdGroupKeywordOperation"]) : undefined, keywordPlanAdGroupOperation: data["keywordPlanAdGroupOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation(data["keywordPlanAdGroupOperation"]) : undefined, keywordPlanCampaignKeywordOperation: data["keywordPlanCampaignKeywordOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation(data["keywordPlanCampaignKeywordOperation"]) : undefined, keywordPlanCampaignOperation: data["keywordPlanCampaignOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation(data["keywordPlanCampaignOperation"]) : undefined, keywordPlanOperation: data["keywordPlanOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__KeywordPlanOperation(data["keywordPlanOperation"]) : undefined, labelOperation: data["labelOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__LabelOperation(data["labelOperation"]) : undefined, recommendationSubscriptionOperation: data["recommendationSubscriptionOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation(data["recommendationSubscriptionOperation"]) : undefined, remarketingActionOperation: data["remarketingActionOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__RemarketingActionOperation(data["remarketingActionOperation"]) : undefined, searchAds360CampaignOperation: data["searchAds360CampaignOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__SearchAds360CampaignOperation(data["searchAds360CampaignOperation"]) : undefined, sharedCriterionOperation: data["sharedCriterionOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__SharedCriterionOperation(data["sharedCriterionOperation"]) : undefined, sharedSetOperation: data["sharedSetOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__SharedSetOperation(data["sharedSetOperation"]) : undefined, smartCampaignSettingOperation: data["smartCampaignSettingOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__SmartCampaignSettingOperation(data["smartCampaignSettingOperation"]) : undefined, userListOperation: data["userListOperation"] !== undefined ? serializeGoogleAdsSearchads360V23Services__UserListOperation(data["userListOperation"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateOperation(data: any): GoogleAdsSearchads360V23Services__MutateOperation { return { ...data, adGroupAdOperation: data["adGroupAdOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AdGroupAdOperation(data["adGroupAdOperation"]) : undefined, adGroupAssetOperation: data["adGroupAssetOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AdGroupAssetOperation(data["adGroupAssetOperation"]) : undefined, adGroupBidModifierOperation: data["adGroupBidModifierOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AdGroupBidModifierOperation(data["adGroupBidModifierOperation"]) : undefined, adGroupCriterionOperation: data["adGroupCriterionOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AdGroupCriterionOperation(data["adGroupCriterionOperation"]) : undefined, adGroupOperation: data["adGroupOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AdGroupOperation(data["adGroupOperation"]) : undefined, adOperation: data["adOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AdOperation(data["adOperation"]) : undefined, adParameterOperation: data["adParameterOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AdParameterOperation(data["adParameterOperation"]) : undefined, assetGroupAssetOperation: data["assetGroupAssetOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AssetGroupAssetOperation(data["assetGroupAssetOperation"]) : undefined, assetGroupListingGroupFilterOperation: data["assetGroupListingGroupFilterOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation(data["assetGroupListingGroupFilterOperation"]) : undefined, assetGroupOperation: data["assetGroupOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AssetGroupOperation(data["assetGroupOperation"]) : undefined, assetOperation: data["assetOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AssetOperation(data["assetOperation"]) : undefined, assetSetOperation: data["assetSetOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AssetSetOperation(data["assetSetOperation"]) : undefined, audienceOperation: data["audienceOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AudienceOperation(data["audienceOperation"]) : undefined, biddingDataExclusionOperation: data["biddingDataExclusionOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__BiddingDataExclusionOperation(data["biddingDataExclusionOperation"]) : undefined, biddingSeasonalityAdjustmentOperation: data["biddingSeasonalityAdjustmentOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation(data["biddingSeasonalityAdjustmentOperation"]) : undefined, biddingStrategyOperation: data["biddingStrategyOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__BiddingStrategyOperation(data["biddingStrategyOperation"]) : undefined, campaignAssetOperation: data["campaignAssetOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CampaignAssetOperation(data["campaignAssetOperation"]) : undefined, campaignBidModifierOperation: data["campaignBidModifierOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CampaignBidModifierOperation(data["campaignBidModifierOperation"]) : undefined, campaignBudgetOperation: data["campaignBudgetOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CampaignBudgetOperation(data["campaignBudgetOperation"]) : undefined, campaignConversionGoalOperation: data["campaignConversionGoalOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CampaignConversionGoalOperation(data["campaignConversionGoalOperation"]) : undefined, campaignCriterionOperation: data["campaignCriterionOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CampaignCriterionOperation(data["campaignCriterionOperation"]) : undefined, campaignDraftOperation: data["campaignDraftOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CampaignDraftOperation(data["campaignDraftOperation"]) : undefined, campaignGroupOperation: data["campaignGroupOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CampaignGroupOperation(data["campaignGroupOperation"]) : undefined, campaignOperation: data["campaignOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CampaignOperation(data["campaignOperation"]) : undefined, conversionActionOperation: data["conversionActionOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__ConversionActionOperation(data["conversionActionOperation"]) : undefined, conversionCustomVariableOperation: data["conversionCustomVariableOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__ConversionCustomVariableOperation(data["conversionCustomVariableOperation"]) : undefined, conversionGoalCampaignConfigOperation: data["conversionGoalCampaignConfigOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation(data["conversionGoalCampaignConfigOperation"]) : undefined, conversionValueRuleOperation: data["conversionValueRuleOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__ConversionValueRuleOperation(data["conversionValueRuleOperation"]) : undefined, conversionValueRuleSetOperation: data["conversionValueRuleSetOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation(data["conversionValueRuleSetOperation"]) : undefined, customConversionGoalOperation: data["customConversionGoalOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CustomConversionGoalOperation(data["customConversionGoalOperation"]) : undefined, customerAssetOperation: data["customerAssetOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CustomerAssetOperation(data["customerAssetOperation"]) : undefined, customerConversionGoalOperation: data["customerConversionGoalOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CustomerConversionGoalOperation(data["customerConversionGoalOperation"]) : undefined, customerOperation: data["customerOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CustomerOperation(data["customerOperation"]) : undefined, customizerAttributeOperation: data["customizerAttributeOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__CustomizerAttributeOperation(data["customizerAttributeOperation"]) : undefined, experimentArmOperation: data["experimentArmOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__ExperimentArmOperation(data["experimentArmOperation"]) : undefined, experimentOperation: data["experimentOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__ExperimentOperation(data["experimentOperation"]) : undefined, keywordPlanAdGroupKeywordOperation: data["keywordPlanAdGroupKeywordOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation(data["keywordPlanAdGroupKeywordOperation"]) : undefined, keywordPlanAdGroupOperation: data["keywordPlanAdGroupOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation(data["keywordPlanAdGroupOperation"]) : undefined, keywordPlanCampaignKeywordOperation: data["keywordPlanCampaignKeywordOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation(data["keywordPlanCampaignKeywordOperation"]) : undefined, keywordPlanCampaignOperation: data["keywordPlanCampaignOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation(data["keywordPlanCampaignOperation"]) : undefined, keywordPlanOperation: data["keywordPlanOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__KeywordPlanOperation(data["keywordPlanOperation"]) : undefined, labelOperation: data["labelOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__LabelOperation(data["labelOperation"]) : undefined, recommendationSubscriptionOperation: data["recommendationSubscriptionOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation(data["recommendationSubscriptionOperation"]) : undefined, remarketingActionOperation: data["remarketingActionOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__RemarketingActionOperation(data["remarketingActionOperation"]) : undefined, searchAds360CampaignOperation: data["searchAds360CampaignOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__SearchAds360CampaignOperation(data["searchAds360CampaignOperation"]) : undefined, sharedCriterionOperation: data["sharedCriterionOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__SharedCriterionOperation(data["sharedCriterionOperation"]) : undefined, sharedSetOperation: data["sharedSetOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__SharedSetOperation(data["sharedSetOperation"]) : undefined, smartCampaignSettingOperation: data["smartCampaignSettingOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__SmartCampaignSettingOperation(data["smartCampaignSettingOperation"]) : undefined, userListOperation: data["userListOperation"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__UserListOperation(data["userListOperation"]) : undefined, }; } /** * Response message for the resource mutate. */ export interface GoogleAdsSearchads360V23Services__MutateOperationResponse { /** * The result for the ad group ad label mutate. */ adGroupAdLabelResult?: GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult; /** * The result for the ad group ad mutate. */ adGroupAdResult?: GoogleAdsSearchads360V23Services__MutateAdGroupAdResult; /** * The result for the ad group asset mutate. */ adGroupAssetResult?: GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult; /** * The result for the ad group bid modifier mutate. */ adGroupBidModifierResult?: GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult; /** * The result for the ad group criterion customizer mutate. */ adGroupCriterionCustomizerResult?: GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult; /** * The result for the ad group criterion label mutate. */ adGroupCriterionLabelResult?: GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult; /** * The result for the ad group criterion mutate. */ adGroupCriterionResult?: GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult; /** * The result for the ad group customizer mutate. */ adGroupCustomizerResult?: GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult; /** * The result for the ad group label mutate. */ adGroupLabelResult?: GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult; /** * The result for the ad group mutate. */ adGroupResult?: GoogleAdsSearchads360V23Services__MutateAdGroupResult; /** * The result for the ad parameter mutate. */ adParameterResult?: GoogleAdsSearchads360V23Services__MutateAdParameterResult; /** * The result for the ad mutate. */ adResult?: GoogleAdsSearchads360V23Services__MutateAdResult; /** * The result for the asset group asset mutate. */ assetGroupAssetResult?: GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult; /** * The result for the asset group listing group filter mutate. */ assetGroupListingGroupFilterResult?: GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult; /** * The result for the asset group mutate. */ assetGroupResult?: GoogleAdsSearchads360V23Services__MutateAssetGroupResult; /** * The result for the asset group signal mutate. */ assetGroupSignalResult?: GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult; /** * The result for the asset mutate. */ assetResult?: GoogleAdsSearchads360V23Services__MutateAssetResult; /** * The result for the asset set asset mutate. */ assetSetAssetResult?: GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult; /** * The result for the asset set mutate. */ assetSetResult?: GoogleAdsSearchads360V23Services__MutateAssetSetResult; /** * The result for the audience mutate. */ audienceResult?: GoogleAdsSearchads360V23Services__MutateAudienceResult; /** * The result for the bidding data exclusion mutate. */ biddingDataExclusionResult?: GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult; /** * The result for the bidding seasonality adjustment mutate. */ biddingSeasonalityAdjustmentResult?: GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult; /** * The result for the bidding strategy mutate. */ biddingStrategyResult?: GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult; /** * The result for the campaign asset mutate. */ campaignAssetResult?: GoogleAdsSearchads360V23Services__MutateCampaignAssetResult; /** * The result for the campaign asset set mutate. */ campaignAssetSetResult?: GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult; /** * The result for the campaign bid modifier mutate. */ campaignBidModifierResult?: GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult; /** * The result for the campaign budget mutate. */ campaignBudgetResult?: GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult; /** * The result for the campaign conversion goal mutate. */ campaignConversionGoalResult?: GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult; /** * The result for the campaign criterion mutate. */ campaignCriterionResult?: GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult; /** * The result for the campaign customizer mutate. */ campaignCustomizerResult?: GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult; /** * The result for the campaign draft mutate. */ campaignDraftResult?: GoogleAdsSearchads360V23Services__MutateCampaignDraftResult; /** * The result for the campaign group mutate. */ campaignGroupResult?: GoogleAdsSearchads360V23Services__MutateCampaignGroupResult; /** * The result for the campaign label mutate. */ campaignLabelResult?: GoogleAdsSearchads360V23Services__MutateCampaignLabelResult; /** * The result for the campaign mutate. */ campaignResult?: GoogleAdsSearchads360V23Services__MutateCampaignResult; /** * The result for the campaign shared set mutate. */ campaignSharedSetResult?: GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult; /** * The result for the conversion action mutate. */ conversionActionResult?: GoogleAdsSearchads360V23Services__MutateConversionActionResult; /** * The result for the conversion custom variable mutate. */ conversionCustomVariableResult?: GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult; /** * The result for the conversion goal campaign config mutate. */ conversionGoalCampaignConfigResult?: GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult; /** * The result for the conversion value rule mutate. */ conversionValueRuleResult?: GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult; /** * The result for the conversion value rule set mutate. */ conversionValueRuleSetResult?: GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult; /** * The result for the custom conversion goal mutate. */ customConversionGoalResult?: GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult; /** * The result for the customer asset mutate. */ customerAssetResult?: GoogleAdsSearchads360V23Services__MutateCustomerAssetResult; /** * The result for the customer conversion goal mutate. */ customerConversionGoalResult?: GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult; /** * The result for the customer customizer mutate. */ customerCustomizerResult?: GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult; /** * The result for the customer label mutate. */ customerLabelResult?: GoogleAdsSearchads360V23Services__MutateCustomerLabelResult; /** * The result for the customer negative criterion mutate. */ customerNegativeCriterionResult?: GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult; /** * The result for the customer mutate. */ customerResult?: GoogleAdsSearchads360V23Services__MutateCustomerResult; /** * The result for the customizer attribute mutate. */ customizerAttributeResult?: GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult; /** * The result for the experiment arm mutate. */ experimentArmResult?: GoogleAdsSearchads360V23Services__MutateExperimentArmResult; /** * The result for the experiment mutate. */ experimentResult?: GoogleAdsSearchads360V23Services__MutateExperimentResult; /** * The result for the keyword plan ad group keyword mutate. */ keywordPlanAdGroupKeywordResult?: GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult; /** * The result for the keyword plan ad group mutate. */ keywordPlanAdGroupResult?: GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult; /** * The result for the keyword plan campaign keyword mutate. */ keywordPlanCampaignKeywordResult?: GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult; /** * The result for the keyword plan campaign mutate. */ keywordPlanCampaignResult?: GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult; /** * The result for the keyword plan mutate. */ keywordPlanResult?: GoogleAdsSearchads360V23Services__MutateKeywordPlansResult; /** * The result for the label mutate. */ labelResult?: GoogleAdsSearchads360V23Services__MutateLabelResult; /** * The result for the recommendation subscription mutate. */ recommendationSubscriptionResult?: GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult; /** * The result for the remarketing action mutate. */ remarketingActionResult?: GoogleAdsSearchads360V23Services__MutateRemarketingActionResult; /** * The result for the Search Ads 360 campaign mutate. */ searchAds360CampaignResult?: GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult; /** * The result for the shared criterion mutate. */ sharedCriterionResult?: GoogleAdsSearchads360V23Services__MutateSharedCriterionResult; /** * The result for the shared set mutate. */ sharedSetResult?: GoogleAdsSearchads360V23Services__MutateSharedSetResult; /** * The result for the Smart campaign setting mutate. */ smartCampaignSettingResult?: GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult; /** * The result for the user list mutate. */ userListResult?: GoogleAdsSearchads360V23Services__MutateUserListResult; } function serializeGoogleAdsSearchads360V23Services__MutateOperationResponse(data: any): GoogleAdsSearchads360V23Services__MutateOperationResponse { return { ...data, adGroupAdResult: data["adGroupAdResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateAdGroupAdResult(data["adGroupAdResult"]) : undefined, adGroupBidModifierResult: data["adGroupBidModifierResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult(data["adGroupBidModifierResult"]) : undefined, adGroupCriterionResult: data["adGroupCriterionResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult(data["adGroupCriterionResult"]) : undefined, adGroupResult: data["adGroupResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateAdGroupResult(data["adGroupResult"]) : undefined, adParameterResult: data["adParameterResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateAdParameterResult(data["adParameterResult"]) : undefined, adResult: data["adResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateAdResult(data["adResult"]) : undefined, assetGroupListingGroupFilterResult: data["assetGroupListingGroupFilterResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult(data["assetGroupListingGroupFilterResult"]) : undefined, assetResult: data["assetResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateAssetResult(data["assetResult"]) : undefined, assetSetResult: data["assetSetResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateAssetSetResult(data["assetSetResult"]) : undefined, biddingStrategyResult: data["biddingStrategyResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateBiddingStrategyResult(data["biddingStrategyResult"]) : undefined, campaignBudgetResult: data["campaignBudgetResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetResult(data["campaignBudgetResult"]) : undefined, campaignCriterionResult: data["campaignCriterionResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateCampaignCriterionResult(data["campaignCriterionResult"]) : undefined, campaignResult: data["campaignResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateCampaignResult(data["campaignResult"]) : undefined, conversionActionResult: data["conversionActionResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateConversionActionResult(data["conversionActionResult"]) : undefined, customConversionGoalResult: data["customConversionGoalResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult(data["customConversionGoalResult"]) : undefined, experimentArmResult: data["experimentArmResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateExperimentArmResult(data["experimentArmResult"]) : undefined, sharedCriterionResult: data["sharedCriterionResult"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MutateSharedCriterionResult(data["sharedCriterionResult"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateOperationResponse(data: any): GoogleAdsSearchads360V23Services__MutateOperationResponse { return { ...data, adGroupAdResult: data["adGroupAdResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateAdGroupAdResult(data["adGroupAdResult"]) : undefined, adGroupBidModifierResult: data["adGroupBidModifierResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult(data["adGroupBidModifierResult"]) : undefined, adGroupCriterionResult: data["adGroupCriterionResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult(data["adGroupCriterionResult"]) : undefined, adGroupResult: data["adGroupResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateAdGroupResult(data["adGroupResult"]) : undefined, adParameterResult: data["adParameterResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateAdParameterResult(data["adParameterResult"]) : undefined, adResult: data["adResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateAdResult(data["adResult"]) : undefined, assetGroupListingGroupFilterResult: data["assetGroupListingGroupFilterResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult(data["assetGroupListingGroupFilterResult"]) : undefined, assetResult: data["assetResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateAssetResult(data["assetResult"]) : undefined, assetSetResult: data["assetSetResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateAssetSetResult(data["assetSetResult"]) : undefined, biddingStrategyResult: data["biddingStrategyResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateBiddingStrategyResult(data["biddingStrategyResult"]) : undefined, campaignBudgetResult: data["campaignBudgetResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateCampaignBudgetResult(data["campaignBudgetResult"]) : undefined, campaignCriterionResult: data["campaignCriterionResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateCampaignCriterionResult(data["campaignCriterionResult"]) : undefined, campaignResult: data["campaignResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateCampaignResult(data["campaignResult"]) : undefined, conversionActionResult: data["conversionActionResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateConversionActionResult(data["conversionActionResult"]) : undefined, customConversionGoalResult: data["customConversionGoalResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult(data["customConversionGoalResult"]) : undefined, experimentArmResult: data["experimentArmResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateExperimentArmResult(data["experimentArmResult"]) : undefined, sharedCriterionResult: data["sharedCriterionResult"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MutateSharedCriterionResult(data["sharedCriterionResult"]) : undefined, }; } /** * Request message for * RecommendationSubscriptionService.MutateRecommendationSubscription */ export interface GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest { /** * Required. The list of create or update operations. */ operations?: GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. The mutable * resource will only be returned if the resource has the appropriate response * field. For example, MutateCampaignResult.campaign. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest(data: any): GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest(data: any): GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation(item))) : undefined, }; } /** * Response message for * RecommendationSubscriptionService.MutateRecommendationSubscription */ export interface GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors) we return the RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * Results, one per operation. */ results?: GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult[]; } /** * Result message for * RecommendationSubscriptionService.MutateRecommendationSubscription */ export interface GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult { /** * The mutated recommendation subscription with only mutable fields after * mutate. The field will only be returned when response_content_type is set * to "MUTABLE_RESOURCE". */ recommendationSubscription?: GoogleAdsSearchads360V23Resources__RecommendationSubscription; /** * Resource name of the subscription that was modified. */ resourceName?: string; } /** * The result for the remarketing action mutate. */ export interface GoogleAdsSearchads360V23Services__MutateRemarketingActionResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for RemarketingActionService.MutateRemarketingActions. */ export interface GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest { /** * Required. The list of operations to perform on individual remarketing * actions. */ operations?: GoogleAdsSearchads360V23Services__RemarketingActionOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest(data: any): GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__RemarketingActionOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest(data: any): GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__RemarketingActionOperation(item))) : undefined, }; } /** * Response message for remarketing action mutate. */ export interface GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateRemarketingActionResult[]; } /** * The result for the Search Ads 360 campaign mutate. */ export interface GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult { /** * Returned for successful operations. */ resourceName?: string; /** * The mutated Search Ads 360 campaign with only mutable fields after mutate. * The field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ searchAds360Campaign?: GoogleAdsSearchads360V23Resources__SearchAds360Campaign; } /** * Request message for Service.Mutate. */ export interface GoogleAdsSearchads360V23Services__MutateSearchAds360Request { /** * Required. The list of operations to perform on individual resources. */ mutateOperations?: GoogleAdsSearchads360V23Services__MutateOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. The mutable * resource will only be returned if the resource has the appropriate response * field. For example, . */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateSearchAds360Request(data: any): GoogleAdsSearchads360V23Services__MutateSearchAds360Request { return { ...data, mutateOperations: data["mutateOperations"] !== undefined ? data["mutateOperations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateSearchAds360Request(data: any): GoogleAdsSearchads360V23Services__MutateSearchAds360Request { return { ...data, mutateOperations: data["mutateOperations"] !== undefined ? data["mutateOperations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateOperation(item))) : undefined, }; } /** * Response message for Service.Mutate. */ export interface GoogleAdsSearchads360V23Services__MutateSearchAds360Response { /** * All responses for the mutate. */ mutateOperationResponses?: GoogleAdsSearchads360V23Services__MutateOperationResponse[]; /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; } function serializeGoogleAdsSearchads360V23Services__MutateSearchAds360Response(data: any): GoogleAdsSearchads360V23Services__MutateSearchAds360Response { return { ...data, mutateOperationResponses: data["mutateOperationResponses"] !== undefined ? data["mutateOperationResponses"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateOperationResponse(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateSearchAds360Response(data: any): GoogleAdsSearchads360V23Services__MutateSearchAds360Response { return { ...data, mutateOperationResponses: data["mutateOperationResponses"] !== undefined ? data["mutateOperationResponses"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateOperationResponse(item))) : undefined, }; } /** * Request message for SharedCriterionService.MutateSharedCriteria. */ export interface GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest { /** * Required. The list of operations to perform on individual shared criteria. */ operations?: GoogleAdsSearchads360V23Services__SharedCriterionOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest(data: any): GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__SharedCriterionOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest(data: any): GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__SharedCriterionOperation(item))) : undefined, }; } /** * Response message for a shared criterion mutate. */ export interface GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateSharedCriterionResult[]; } function serializeGoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse(data: any): GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__MutateSharedCriterionResult(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse(data: any): GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse { return { ...data, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__MutateSharedCriterionResult(item))) : undefined, }; } /** * The result for the shared criterion mutate. */ export interface GoogleAdsSearchads360V23Services__MutateSharedCriterionResult { /** * Returned for successful operations. */ resourceName?: string; /** * The mutated shared criterion with only mutable fields after mutate. The * field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ sharedCriterion?: GoogleAdsSearchads360V23Resources__SharedCriterion; } function serializeGoogleAdsSearchads360V23Services__MutateSharedCriterionResult(data: any): GoogleAdsSearchads360V23Services__MutateSharedCriterionResult { return { ...data, sharedCriterion: data["sharedCriterion"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__SharedCriterion(data["sharedCriterion"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateSharedCriterionResult(data: any): GoogleAdsSearchads360V23Services__MutateSharedCriterionResult { return { ...data, sharedCriterion: data["sharedCriterion"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__SharedCriterion(data["sharedCriterion"]) : undefined, }; } /** * The result for the shared set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateSharedSetResult { /** * Returned for successful operations. */ resourceName?: string; /** * The mutated shared set with only mutable fields after mutate. The field * will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ sharedSet?: GoogleAdsSearchads360V23Resources__SharedSet; } /** * Request message for SharedSetService.MutateSharedSets. */ export interface GoogleAdsSearchads360V23Services__MutateSharedSetsRequest { /** * Required. The list of operations to perform on individual shared sets. */ operations?: GoogleAdsSearchads360V23Services__SharedSetOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateSharedSetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateSharedSetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__SharedSetOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateSharedSetsRequest(data: any): GoogleAdsSearchads360V23Services__MutateSharedSetsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__SharedSetOperation(item))) : undefined, }; } /** * Response message for a shared set mutate. */ export interface GoogleAdsSearchads360V23Services__MutateSharedSetsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateSharedSetResult[]; } /** * The result for the Smart campaign setting mutate. */ export interface GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult { /** * Returned for successful operations. */ resourceName?: string; /** * The mutated Smart campaign setting with only mutable fields after mutate. * The field will only be returned when response_content_type is set to * "MUTABLE_RESOURCE". */ smartCampaignSetting?: GoogleAdsSearchads360V23Resources__SmartCampaignSetting; } /** * Request message for SmartCampaignSettingService.MutateSmartCampaignSettings. */ export interface GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest { /** * Required. The list of operations to perform on individual Smart campaign * settings. */ operations?: GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * The response content type setting. Determines whether the mutable resource * or just the resource name should be returned post mutation. */ responseContentType?: | "UNSPECIFIED" | "RESOURCE_NAME_ONLY" | "MUTABLE_RESOURCE"; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest(data: any): GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__SmartCampaignSettingOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest(data: any): GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__SmartCampaignSettingOperation(item))) : undefined, }; } /** * Response message for campaign mutate. */ export interface GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult[]; } /** * The result for the user list customer type mutate. */ export interface GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for UserListCustomerTypeService.MutateUserListCustomerTypes. */ export interface GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest { /** * Required. The list of operations to perform on the user list customer * types. */ operations?: GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation[]; /** * Optional. If true, successful operations will be carried out and invalid * operations will return errors. If false, all operations will be carried out * in one transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * Optional. If true, the request is validated but not executed. Only errors * are returned, not results. */ validateOnly?: boolean; } /** * Response message for a user list customer type mutate. */ export interface GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult[]; } /** * The result for the user list mutate. */ export interface GoogleAdsSearchads360V23Services__MutateUserListResult { /** * Returned for successful operations. */ resourceName?: string; } /** * Request message for UserListService.MutateUserLists. */ export interface GoogleAdsSearchads360V23Services__MutateUserListsRequest { /** * Required. The list of operations to perform on individual user lists. */ operations?: GoogleAdsSearchads360V23Services__UserListOperation[]; /** * If true, successful operations will be carried out and invalid operations * will return errors. If false, all operations will be carried out in one * transaction if and only if they are all valid. Default is false. */ partialFailure?: boolean; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } function serializeGoogleAdsSearchads360V23Services__MutateUserListsRequest(data: any): GoogleAdsSearchads360V23Services__MutateUserListsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__UserListOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__MutateUserListsRequest(data: any): GoogleAdsSearchads360V23Services__MutateUserListsRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__UserListOperation(item))) : undefined, }; } /** * Response message for user list mutate. */ export interface GoogleAdsSearchads360V23Services__MutateUserListsResponse { /** * Errors that pertain to operation failures in the partial failure mode. * Returned only when partial_failure = true and all errors occur inside the * operations. If any errors occur outside the operations (for example, auth * errors), we return an RPC level error. */ partialFailureError?: GoogleRpc__Status; /** * All results for the mutate. */ results?: GoogleAdsSearchads360V23Services__MutateUserListResult[]; } /** * Operation to be made for the AddOfflineUserDataJobOperationsRequest. */ export interface GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation { /** * Add the provided data to the transaction. Data cannot be retrieved after * being uploaded. */ create?: GoogleAdsSearchads360V23Common__UserData; /** * Remove the provided data from the transaction. Data cannot be retrieved * after being uploaded. */ remove?: GoogleAdsSearchads360V23Common__UserData; /** * Remove all previously provided data. This is only supported for Customer * Match. */ removeAll?: boolean; } function serializeGoogleAdsSearchads360V23Services__OfflineUserDataJobOperation(data: any): GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Common__UserData(data["create"]) : undefined, remove: data["remove"] !== undefined ? serializeGoogleAdsSearchads360V23Common__UserData(data["remove"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__OfflineUserDataJobOperation(data: any): GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__UserData(data["create"]) : undefined, remove: data["remove"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__UserData(data["remove"]) : undefined, }; } /** * Audience metrics for the planned products. These metrics consider the * following targeting dimensions: - Location - PlannableAgeRange - Gender - * AudienceTargeting (only for youtube_audience_size) */ export interface GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics { /** * Reference audience size matching the considered targeting for Census. */ censusAudienceSize?: bigint; /** * Reference audience size matching the considered targeting for YouTube. */ youtubeAudienceSize?: bigint; } function serializeGoogleAdsSearchads360V23Services__OnTargetAudienceMetrics(data: any): GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics { return { ...data, censusAudienceSize: data["censusAudienceSize"] !== undefined ? String(data["censusAudienceSize"]) : undefined, youtubeAudienceSize: data["youtubeAudienceSize"] !== undefined ? String(data["youtubeAudienceSize"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__OnTargetAudienceMetrics(data: any): GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics { return { ...data, censusAudienceSize: data["censusAudienceSize"] !== undefined ? BigInt(data["censusAudienceSize"]) : undefined, youtubeAudienceSize: data["youtubeAudienceSize"] !== undefined ? BigInt(data["youtubeAudienceSize"]) : undefined, }; } /** * A plannable location: country, metro region, province, etc. */ export interface GoogleAdsSearchads360V23Services__PlannableLocation { /** * The ISO-3166-1 alpha-2 country code that is associated with the location. */ countryCode?: string; /** * The location identifier. */ id?: string; /** * The location's type. Location types correspond to target_type returned by * . */ locationType?: string; /** * The unique location name in English. */ name?: string; /** * The parent country (not present if location is a country). If present, * will always be a GeoTargetConstant ID. Additional information such as * country name is provided by ReachPlanService.ListPlannableLocations or */ parentCountryId?: bigint; } function serializeGoogleAdsSearchads360V23Services__PlannableLocation(data: any): GoogleAdsSearchads360V23Services__PlannableLocation { return { ...data, parentCountryId: data["parentCountryId"] !== undefined ? String(data["parentCountryId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__PlannableLocation(data: any): GoogleAdsSearchads360V23Services__PlannableLocation { return { ...data, parentCountryId: data["parentCountryId"] !== undefined ? BigInt(data["parentCountryId"]) : undefined, }; } /** * The targeting for which traffic metrics will be reported. */ export interface GoogleAdsSearchads360V23Services__PlannableTargeting { /** * Allowed plannable age ranges for the product for which metrics will be * reported. Actual targeting is computed by mapping this age range onto * standard Google common.AgeRangeInfo values. */ ageRanges?: | "UNSPECIFIED" | "UNKNOWN" | "AGE_RANGE_18_24" | "AGE_RANGE_18_34" | "AGE_RANGE_18_44" | "AGE_RANGE_18_49" | "AGE_RANGE_18_54" | "AGE_RANGE_18_64" | "AGE_RANGE_18_65_UP" | "AGE_RANGE_21_34" | "AGE_RANGE_25_34" | "AGE_RANGE_25_44" | "AGE_RANGE_25_49" | "AGE_RANGE_25_54" | "AGE_RANGE_25_64" | "AGE_RANGE_25_65_UP" | "AGE_RANGE_35_44" | "AGE_RANGE_35_49" | "AGE_RANGE_35_54" | "AGE_RANGE_35_64" | "AGE_RANGE_35_65_UP" | "AGE_RANGE_45_54" | "AGE_RANGE_45_64" | "AGE_RANGE_45_65_UP" | "AGE_RANGE_50_65_UP" | "AGE_RANGE_55_64" | "AGE_RANGE_55_65_UP" | "AGE_RANGE_65_UP"[]; /** * Targetable devices for the ad product. TABLET device targeting is * automatically applied to reported metrics when MOBILE targeting is selected * for CPM_MASTHEAD, GOOGLE_PREFERRED_BUMPER, and GOOGLE_PREFERRED_SHORT * products. */ devices?: GoogleAdsSearchads360V23Common__DeviceInfo[]; /** * Targetable genders for the ad product. */ genders?: GoogleAdsSearchads360V23Common__GenderInfo[]; /** * Targetable networks for the ad product. */ networks?: | "UNSPECIFIED" | "UNKNOWN" | "YOUTUBE" | "GOOGLE_VIDEO_PARTNERS" | "YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS"[]; /** * Targetable surface combinations for the ad product. */ surfaceTargeting?: GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations; /** * Targetable YouTube Select Lineups for the ad product. */ youtubeSelectLineups?: GoogleAdsSearchads360V23Services__YouTubeSelectLineUp[]; } function serializeGoogleAdsSearchads360V23Services__PlannableTargeting(data: any): GoogleAdsSearchads360V23Services__PlannableTargeting { return { ...data, youtubeSelectLineups: data["youtubeSelectLineups"] !== undefined ? data["youtubeSelectLineups"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__YouTubeSelectLineUp(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__PlannableTargeting(data: any): GoogleAdsSearchads360V23Services__PlannableTargeting { return { ...data, youtubeSelectLineups: data["youtubeSelectLineups"] !== undefined ? data["youtubeSelectLineups"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__YouTubeSelectLineUp(item))) : undefined, }; } /** * A plannable user interest that can be targeted in a reach forecast using * ReachPlanService.GenerateReachForecast. */ export interface GoogleAdsSearchads360V23Services__PlannableUserInterest { /** * The user interest id. */ userInterest?: GoogleAdsSearchads360V23Common__UserInterestInfo; /** * The user interest display name. For example, "Autos & Vehicles" */ userInterestDisplayName?: string; /** * The user interest path. For example, "/Autos & Vehicles/Motor * Vehicles/Motor Vehicles by Type/Off-Road Vehicles" */ userInterestPath?: string; /** * The user interest type. */ userInterestType?: | "UNSPECIFIED" | "UNKNOWN" | "AFFINITY" | "IN_MARKET" | "MOBILE_APP_INSTALL_USER" | "VERTICAL_GEO" | "NEW_SMART_PHONE_USER"; } /** * A plannable user list. */ export interface GoogleAdsSearchads360V23Services__PlannableUserList { /** * The name of the user list. */ displayName?: string; /** * The plannable status of the user list. */ plannableStatus?: | "UNSPECIFIED" | "UNKNOWN" | "PLANNABLE" | "UNPLANNABLE"; /** * The relevant metadata for this user list. */ plannableUserListMetadata?: GoogleAdsSearchads360V23Services__PlannableUserListMetadata; /** * The user list ID. */ userListInfo?: GoogleAdsSearchads360V23Common__UserListInfo; /** * The user list type. */ userListType?: | "UNSPECIFIED" | "UNKNOWN" | "REMARKETING" | "LOGICAL" | "EXTERNAL_REMARKETING" | "RULE_BASED" | "SIMILAR" | "CRM_BASED" | "LOOKALIKE"; } /** * The metadata associated with a plannable user list. */ export interface GoogleAdsSearchads360V23Services__PlannableUserListMetadata { /** * The data source type of a CRM based user list. */ userListCrmDataSourceType?: | "UNSPECIFIED" | "UNKNOWN" | "FIRST_PARTY" | "THIRD_PARTY_CREDIT_BUREAU" | "THIRD_PARTY_VOTER_FILE" | "THIRD_PARTY_PARTNER_DATA"; } /** * A product being planned for reach. */ export interface GoogleAdsSearchads360V23Services__PlannedProduct { /** * Targeting settings for the selected product. To list the available * targeting for each product use ReachPlanService.ListPlannableProducts. */ advancedProductTargeting?: GoogleAdsSearchads360V23Services__AdvancedProductTargeting; /** * Required. Maximum budget allocation in micros for the selected product. * The value is specified in the selected planning currency_code. For example: * 1 000 000$ = 1 000 000 000 000 micros. */ budgetMicros?: bigint; /** * Conversion rate as a decimal between 0 and 1, exclusive. For example: if * 2% of ad interactions are expected to lead to conversions, conversion_rate * should be 0.02. This field is required for DEMAND_GEN plannable products. * It is not supported for other plannable products. */ conversionRate?: number; /** * Required. Selected product for planning. The code associated with the ad * product (for example: Trueview, Bumper). To list the available plannable * product codes use ReachPlanService.ListPlannableProducts. */ plannableProductCode?: string; } function serializeGoogleAdsSearchads360V23Services__PlannedProduct(data: any): GoogleAdsSearchads360V23Services__PlannedProduct { return { ...data, advancedProductTargeting: data["advancedProductTargeting"] !== undefined ? serializeGoogleAdsSearchads360V23Services__AdvancedProductTargeting(data["advancedProductTargeting"]) : undefined, budgetMicros: data["budgetMicros"] !== undefined ? String(data["budgetMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__PlannedProduct(data: any): GoogleAdsSearchads360V23Services__PlannedProduct { return { ...data, advancedProductTargeting: data["advancedProductTargeting"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__AdvancedProductTargeting(data["advancedProductTargeting"]) : undefined, budgetMicros: data["budgetMicros"] !== undefined ? BigInt(data["budgetMicros"]) : undefined, }; } /** * Forecasted traffic metrics for a planned product. */ export interface GoogleAdsSearchads360V23Services__PlannedProductForecast { /** * The number of times per selected time unit a user will see an ad, averaged * over the number of time units in the forecast length. This field will only * be populated for a Target Frequency campaign. See * https://support.google.com/google-ads/answer/12400225 for more information * about Target Frequency campaigns. */ averageFrequency?: number; /** * The number of conversions. This metric is only available for DEMAND_GEN * plannable products. See * https://support.google.com/google-ads/answer/2375431 for more information * on conversions. */ conversions?: number; /** * Number of ad impressions that exactly matches the Targeting including * co-viewers. */ onTargetCoviewImpressions?: bigint; /** * Number of unique people reached that exactly matches the Targeting * including co-viewers. */ onTargetCoviewReach?: bigint; /** * Number of ad impressions that exactly matches the Targeting. */ onTargetImpressions?: bigint; /** * Number of unique people reached that exactly matches the Targeting. Note * that a minimum number of unique people must be reached in order for data to * be reported. If the minimum number is not met, the on_target_reach value * will be rounded to 0. */ onTargetReach?: bigint; /** * Total number of ad impressions including co-viewers. This includes * impressions that may fall outside the specified Targeting, due to * insufficient information on signed-in users. */ totalCoviewImpressions?: bigint; /** * Number of unique people reached including co-viewers. This includes people * that may fall outside the specified Targeting. */ totalCoviewReach?: bigint; /** * Total number of ad impressions. This includes impressions that may fall * outside the specified Targeting, due to insufficient information on * signed-in users. */ totalImpressions?: bigint; /** * Number of unique people reached. This includes people that may fall * outside the specified Targeting. Note that a minimum number of unique * people must be reached in order for data to be reported. If the minimum * number is not met, the total_reach value will be rounded to 0. */ totalReach?: bigint; /** * Number of ad views forecasted for the specified product and targeting. A * TrueView View is counted when a viewer views a larger portion or the * entirety of an ad beyond an impression. See * https://support.google.com/google-ads/answer/2375431 for more information * on TrueView Views. */ trueviewViews?: bigint; /** * Number of times the ad's impressions were considered viewable. See * https://support.google.com/google-ads/answer/7029393 for more information * about what makes an ad viewable and how viewability is measured. */ viewableImpressions?: bigint; } function serializeGoogleAdsSearchads360V23Services__PlannedProductForecast(data: any): GoogleAdsSearchads360V23Services__PlannedProductForecast { return { ...data, onTargetCoviewImpressions: data["onTargetCoviewImpressions"] !== undefined ? String(data["onTargetCoviewImpressions"]) : undefined, onTargetCoviewReach: data["onTargetCoviewReach"] !== undefined ? String(data["onTargetCoviewReach"]) : undefined, onTargetImpressions: data["onTargetImpressions"] !== undefined ? String(data["onTargetImpressions"]) : undefined, onTargetReach: data["onTargetReach"] !== undefined ? String(data["onTargetReach"]) : undefined, totalCoviewImpressions: data["totalCoviewImpressions"] !== undefined ? String(data["totalCoviewImpressions"]) : undefined, totalCoviewReach: data["totalCoviewReach"] !== undefined ? String(data["totalCoviewReach"]) : undefined, totalImpressions: data["totalImpressions"] !== undefined ? String(data["totalImpressions"]) : undefined, totalReach: data["totalReach"] !== undefined ? String(data["totalReach"]) : undefined, trueviewViews: data["trueviewViews"] !== undefined ? String(data["trueviewViews"]) : undefined, viewableImpressions: data["viewableImpressions"] !== undefined ? String(data["viewableImpressions"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__PlannedProductForecast(data: any): GoogleAdsSearchads360V23Services__PlannedProductForecast { return { ...data, onTargetCoviewImpressions: data["onTargetCoviewImpressions"] !== undefined ? BigInt(data["onTargetCoviewImpressions"]) : undefined, onTargetCoviewReach: data["onTargetCoviewReach"] !== undefined ? BigInt(data["onTargetCoviewReach"]) : undefined, onTargetImpressions: data["onTargetImpressions"] !== undefined ? BigInt(data["onTargetImpressions"]) : undefined, onTargetReach: data["onTargetReach"] !== undefined ? BigInt(data["onTargetReach"]) : undefined, totalCoviewImpressions: data["totalCoviewImpressions"] !== undefined ? BigInt(data["totalCoviewImpressions"]) : undefined, totalCoviewReach: data["totalCoviewReach"] !== undefined ? BigInt(data["totalCoviewReach"]) : undefined, totalImpressions: data["totalImpressions"] !== undefined ? BigInt(data["totalImpressions"]) : undefined, totalReach: data["totalReach"] !== undefined ? BigInt(data["totalReach"]) : undefined, trueviewViews: data["trueviewViews"] !== undefined ? BigInt(data["trueviewViews"]) : undefined, viewableImpressions: data["viewableImpressions"] !== undefined ? BigInt(data["viewableImpressions"]) : undefined, }; } /** * The forecasted allocation and traffic metrics for a specific product at a * point on the reach curve. */ export interface GoogleAdsSearchads360V23Services__PlannedProductReachForecast { /** * The cost in micros. This may differ from the product's input allocation if * one or more planned products cannot fulfill the budget because of limited * inventory. */ costMicros?: bigint; /** * Selected product for planning. The product codes returned are within the * set of the ones returned by ListPlannableProducts when using the same * location ID. */ plannableProductCode?: string; /** * Forecasted traffic metrics for this product. */ plannedProductForecast?: GoogleAdsSearchads360V23Services__PlannedProductForecast; } function serializeGoogleAdsSearchads360V23Services__PlannedProductReachForecast(data: any): GoogleAdsSearchads360V23Services__PlannedProductReachForecast { return { ...data, costMicros: data["costMicros"] !== undefined ? String(data["costMicros"]) : undefined, plannedProductForecast: data["plannedProductForecast"] !== undefined ? serializeGoogleAdsSearchads360V23Services__PlannedProductForecast(data["plannedProductForecast"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__PlannedProductReachForecast(data: any): GoogleAdsSearchads360V23Services__PlannedProductReachForecast { return { ...data, costMicros: data["costMicros"] !== undefined ? BigInt(data["costMicros"]) : undefined, plannedProductForecast: data["plannedProductForecast"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__PlannedProductForecast(data["plannedProductForecast"]) : undefined, }; } /** * The type and list of products to aggregate benchmarks metrics over. */ export interface GoogleAdsSearchads360V23Services__ProductFilter { /** * The list of marketing goals. Marketing objective is a broader product * classification of products. */ marketingObjectiveList?: GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList; /** * The list of products. */ productList?: GoogleAdsSearchads360V23Services_ProductFilter_ProductList; } /** * The metadata associated with an available plannable product. */ export interface GoogleAdsSearchads360V23Services__ProductMetadata { /** * The code associated with the ad product (for example: BUMPER, * TRUEVIEW_IN_STREAM). To list the available plannable product codes use * ReachPlanService.ListPlannableProducts. */ plannableProductCode?: string; /** * The name associated with the ad product. */ plannableProductName?: string; /** * The allowed plannable targeting for this product. */ plannableTargeting?: GoogleAdsSearchads360V23Services__PlannableTargeting; } function serializeGoogleAdsSearchads360V23Services__ProductMetadata(data: any): GoogleAdsSearchads360V23Services__ProductMetadata { return { ...data, plannableTargeting: data["plannableTargeting"] !== undefined ? serializeGoogleAdsSearchads360V23Services__PlannableTargeting(data["plannableTargeting"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ProductMetadata(data: any): GoogleAdsSearchads360V23Services__ProductMetadata { return { ...data, plannableTargeting: data["plannableTargeting"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__PlannableTargeting(data["plannableTargeting"]) : undefined, }; } /** * Request message for CampaignDraftService.PromoteCampaignDraft. */ export interface GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest { /** * If true, the request is validated but no Long Running Operation is * created. Only errors are returned. */ validateOnly?: boolean; } /** * The metadata of the promoted experiment. */ export interface GoogleAdsSearchads360V23Services__PromoteExperimentMetadata { /** * Required. The promoted experiment. */ experiment?: string; } /** * Request message for ExperimentService.PromoteExperiment. */ export interface GoogleAdsSearchads360V23Services__PromoteExperimentRequest { /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Request message for LocalServicesLeadService.ProvideLeadFeedback. */ export interface GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest { /** * Required. Survey answer for Local Services Ads Lead. */ surveyAnswer?: | "UNSPECIFIED" | "UNKNOWN" | "VERY_SATISFIED" | "SATISFIED" | "NEUTRAL" | "DISSATISFIED" | "VERY_DISSATISFIED"; /** * Details about various factors for not being satisfied with the lead. */ surveyDissatisfied?: GoogleAdsSearchads360V23Services__SurveyDissatisfied; /** * Details about various factors for being satisfied with the lead. */ surveySatisfied?: GoogleAdsSearchads360V23Services__SurveySatisfied; } /** * Response message for LocalServicesLeadService.ProvideLeadFeedback. */ export interface GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse { /** * Required. Decision of bonus credit issued or rejected. If a bonus credit * is issued, it will be available for use in about two months. */ creditIssuanceDecision?: | "UNSPECIFIED" | "UNKNOWN" | "SUCCESS_NOT_REACHED_THRESHOLD" | "SUCCESS_REACHED_THRESHOLD" | "FAIL_OVER_THRESHOLD" | "FAIL_NOT_ELIGIBLE"; } /** * Average rate metrics. Metrics that represent monetary values are returned in * USD by default, if unspecified in the request. */ export interface GoogleAdsSearchads360V23Services__RateMetrics { /** * The percentage of time when your ad appeared on an Active View enabled * site (measurable impressions) and was viewable (viewable impressions). */ activeViewViewability?: number; /** * Average cost-per-thousand viewable impressions. */ averageActiveViewCpm?: number; /** * The average cost-per-click (CPC) is defined by the total cost of all * clicks divided by the total number of clicks received. */ averageCpc?: number; /** * The average cost-per-engagement (CPE) is defined by the total cost of all * ad engagements divided by the total number of ad engagements. */ averageCpe?: number; /** * The average cost-per-interaction (CPI) is defined by the total cost of all * interactions divided by the total number of interactions. */ averageCpi?: number; /** * Average cost-per-thousand impressions (CPM). */ averageCpm?: number; /** * The number of clicks your ad receives (Clicks) divided by the number of * times your ad is shown (Impressions). */ clickThroughRate?: number; /** * How often people engage with your ad after it's shown to them. This is the * number of ad expansions divided by the number of times your ad is shown. */ engagementRate?: number; /** * How often people interact with your ad after it is shown to them. This is * the number of interactions divided by the number of times your ad is shown. */ interactionRate?: number; /** * The average TrueView cost-per-view (CPV) is defined by the total cost of * all ad TrueView views divided by the number of TrueView views. */ trueviewAverageCpv?: number; /** * Number of completed TrueView views divided by the number of impressions. */ trueviewViewRate?: number; /** * Percentage of impressions where the viewer watched all of your video. */ videoCompletionP100Rate?: number; /** * Percentage of impressions where the viewer watched 25% of your video. */ videoCompletionP25Rate?: number; /** * Percentage of impressions where the viewer watched 50% of your video. */ videoCompletionP50Rate?: number; /** * Percentage of impressions where the viewer watched 75% of your video. */ videoCompletionP75Rate?: number; } /** * Message for raw event conversion dimension header. */ export interface GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader { /** * The conversion custom variable ID. */ id?: bigint; /** * The user defined name of the raw event dimension. */ name?: string; } function serializeGoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader(data: any): GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader { return { ...data, id: data["id"] !== undefined ? String(data["id"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader(data: any): GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader { return { ...data, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, }; } /** * Message for raw event conversion metric header. */ export interface GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader { /** * The conversion custom variable ID. */ id?: bigint; /** * The user defined name of the raw event metric. */ name?: string; } function serializeGoogleAdsSearchads360V23Services__RawEventConversionMetricHeader(data: any): GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader { return { ...data, id: data["id"] !== undefined ? String(data["id"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__RawEventConversionMetricHeader(data: any): GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader { return { ...data, id: data["id"] !== undefined ? BigInt(data["id"]) : undefined, }; } /** * The reach curve for the planned products. */ export interface GoogleAdsSearchads360V23Services__ReachCurve { /** * All points on the reach curve. */ reachForecasts?: GoogleAdsSearchads360V23Services__ReachForecast[]; } function serializeGoogleAdsSearchads360V23Services__ReachCurve(data: any): GoogleAdsSearchads360V23Services__ReachCurve { return { ...data, reachForecasts: data["reachForecasts"] !== undefined ? data["reachForecasts"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ReachForecast(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ReachCurve(data: any): GoogleAdsSearchads360V23Services__ReachCurve { return { ...data, reachForecasts: data["reachForecasts"] !== undefined ? data["reachForecasts"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ReachForecast(item))) : undefined, }; } /** * A point on reach curve. */ export interface GoogleAdsSearchads360V23Services__ReachForecast { /** * The cost in micros. */ costMicros?: bigint; /** * Forecasted traffic metrics for this point. */ forecast?: GoogleAdsSearchads360V23Services__Forecast; /** * The forecasted allocation and traffic metrics for each planned product at * this point on the reach curve. */ plannedProductReachForecasts?: GoogleAdsSearchads360V23Services__PlannedProductReachForecast[]; } function serializeGoogleAdsSearchads360V23Services__ReachForecast(data: any): GoogleAdsSearchads360V23Services__ReachForecast { return { ...data, costMicros: data["costMicros"] !== undefined ? String(data["costMicros"]) : undefined, forecast: data["forecast"] !== undefined ? serializeGoogleAdsSearchads360V23Services__Forecast(data["forecast"]) : undefined, plannedProductReachForecasts: data["plannedProductReachForecasts"] !== undefined ? data["plannedProductReachForecasts"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__PlannedProductReachForecast(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__ReachForecast(data: any): GoogleAdsSearchads360V23Services__ReachForecast { return { ...data, costMicros: data["costMicros"] !== undefined ? BigInt(data["costMicros"]) : undefined, forecast: data["forecast"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__Forecast(data["forecast"]) : undefined, plannedProductReachForecasts: data["plannedProductReachForecasts"] !== undefined ? data["plannedProductReachForecasts"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__PlannedProductReachForecast(item))) : undefined, }; } /** * A single operation (create, update) on a recommendation subscription. * RecommendationSubscriptionService.MutateRecommendationSubscription */ export interface GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation { /** * Create operation: No resource name is expected for the new subscription. */ create?: GoogleAdsSearchads360V23Resources__RecommendationSubscription; /** * Update operation: The subscription is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__RecommendationSubscription; /** * Optional. FieldMask that determines which resource fields are modified in * an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation(data: any): GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation(data: any): GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Request message for * ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId. */ export interface GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest { } /** * Response message for * ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId. */ export interface GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse { } /** * A single operation (create, update) on a remarketing action. */ export interface GoogleAdsSearchads360V23Services__RemarketingActionOperation { /** * Create operation: No resource name is expected for the new remarketing * action. */ create?: GoogleAdsSearchads360V23Resources__RemarketingAction; /** * Update operation: The remarketing action is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__RemarketingAction; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__RemarketingActionOperation(data: any): GoogleAdsSearchads360V23Services__RemarketingActionOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__RemarketingActionOperation(data: any): GoogleAdsSearchads360V23Services__RemarketingActionOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Request message for AdGroupAdService.RemoveAutomaticallyCreatedAssets. */ export interface GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest { /** * Required. List of assets with field type to be removed from the AdGroupAd. */ assetsWithFieldType?: GoogleAdsSearchads360V23Services__AssetsWithFieldType[]; } /** * A single operation to remove an automatically created asset from a campaign. */ export interface GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation { /** * Required. The resource name of the asset to remove. */ asset?: string; /** * Required. The resource name of the campaign. */ campaign?: string; /** * Required. The field type of the asset to remove. */ fieldType?: | "UNSPECIFIED" | "UNKNOWN" | "HEADLINE" | "DESCRIPTION" | "MANDATORY_AD_TEXT" | "MARKETING_IMAGE" | "MEDIA_BUNDLE" | "YOUTUBE_VIDEO" | "BOOK_ON_GOOGLE" | "LEAD_FORM" | "PROMOTION" | "CALLOUT" | "STRUCTURED_SNIPPET" | "SITELINK" | "MOBILE_APP" | "HOTEL_CALLOUT" | "CALL" | "PRICE" | "LONG_HEADLINE" | "BUSINESS_NAME" | "SQUARE_MARKETING_IMAGE" | "PORTRAIT_MARKETING_IMAGE" | "LOGO" | "LANDSCAPE_LOGO" | "VIDEO" | "CALL_TO_ACTION_SELECTION" | "AD_IMAGE" | "BUSINESS_LOGO" | "HOTEL_PROPERTY" | "DEMAND_GEN_CAROUSEL_CARD" | "BUSINESS_MESSAGE" | "TALL_PORTRAIT_MARKETING_IMAGE" | "LANDING_PAGE_PREVIEW" | "LONG_DESCRIPTION" | "CALL_TO_ACTION"; } /** * Request message for * AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset. */ export interface GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest { /** * Required. The list of operations. */ operations?: GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation[]; /** * Required. If true, successful operations will be carried out and invalid * operations will return errors. If false, all operations will be carried out * in one transaction if and only if they are all valid. */ partialFailure?: boolean; } /** * Response message for * AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset. */ export interface GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse { /** * Errors that pertain to AutomaticallyCreatedAssetRemoval failures in the * partial failure mode. Returned when all errors occur inside the operations. * If any errors occur outside the operations (for example, auth errors), RPC * level error will be returned. See * https://developers.google.com/google-ads/api/docs/best-practices/partial-failures * for more information about partial failure. */ partialFailureError?: GoogleRpc__Status; } /** * Request message for DataLinkService.RemoveDataLink. */ export interface GoogleAdsSearchads360V23Services__RemoveDataLinkRequest { /** * Required. The data link is expected to have a valid resource name. */ resourceName?: string; } /** * Response message for DataLinkService.RemoveDataLink. */ export interface GoogleAdsSearchads360V23Services__RemoveDataLinkResponse { /** * Result for the remove request. */ resourceName?: string; } /** * Request message for * ProductLinkInvitationService.RemoveProductLinkInvitation. */ export interface GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest { /** * Required. The resource name of the product link invitation being removed. * expected, in this format: ` ` */ resourceName?: string; } /** * Response message for product link invitation removeal. */ export interface GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse { /** * Result for the remove request. */ resourceName?: string; } /** * Request message for ProductLinkService.RemoveProductLink. */ export interface GoogleAdsSearchads360V23Services__RemoveProductLinkRequest { /** * Required. Remove operation: A resource name for the product link to remove * is expected, in this format: ` ` */ resourceName?: string; /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * Response message for product link removal. */ export interface GoogleAdsSearchads360V23Services__RemoveProductLinkResponse { /** * Result for the remove request. */ resourceName?: string; } /** * Request message for BatchJobService.RunBatchJob. */ export interface GoogleAdsSearchads360V23Services__RunBatchJobRequest { } /** * Request message for OfflineUserDataJobService.RunOfflineUserDataJob. */ export interface GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest { /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * The metadata of the scheduled experiment. */ export interface GoogleAdsSearchads360V23Services__ScheduleExperimentMetadata { /** * Required. The scheduled experiment. */ experiment?: string; } /** * Request message for ExperimentService.ScheduleExperiment. */ export interface GoogleAdsSearchads360V23Services__ScheduleExperimentRequest { /** * If true, the request is validated but not executed. Only errors are * returned, not results. */ validateOnly?: boolean; } /** * A single operation (update) on a Search Ads 360 campaign. */ export interface GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation { /** * Update operation: The Search Ads 360 campaign is expected to have a valid * resource name. */ update?: GoogleAdsSearchads360V23Resources__SearchAds360Campaign; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__SearchAds360CampaignOperation(data: any): GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__SearchAds360CampaignOperation(data: any): GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A returned row from the query. */ export interface GoogleAdsSearchads360V23Services__SearchAds360Row { /** * The accessible bidding strategy referenced in the query. */ accessibleBiddingStrategy?: GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy; /** * The account budget in the query. */ accountBudget?: GoogleAdsSearchads360V23Resources__AccountBudget; /** * The account budget proposal referenced in the query. */ accountBudgetProposal?: GoogleAdsSearchads360V23Resources__AccountBudgetProposal; /** * The AccountLink referenced in the query. */ accountLink?: GoogleAdsSearchads360V23Resources__AccountLink; /** * The Ad referenced in the query. */ ad?: GoogleAdsSearchads360V23Resources__Ad; /** * The ad group referenced in the query. */ adGroup?: GoogleAdsSearchads360V23Resources__AdGroup; /** * The ad referenced in the query. */ adGroupAd?: GoogleAdsSearchads360V23Resources__AdGroupAd; /** * The ad group ad asset combination view in the query. */ adGroupAdAssetCombinationView?: GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView; /** * The ad group ad asset view in the query. */ adGroupAdAssetView?: GoogleAdsSearchads360V23Resources__AdGroupAdAssetView; /** * The ad group ad effective label referenced in the query. */ adGroupAdEffectiveLabel?: GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel; /** * The ad group ad label referenced in the query. */ adGroupAdLabel?: GoogleAdsSearchads360V23Resources__AdGroupAdLabel; /** * The ad group asset referenced in the query. */ adGroupAsset?: GoogleAdsSearchads360V23Resources__AdGroupAsset; /** * The ad group asset set referenced in the query. */ adGroupAssetSet?: GoogleAdsSearchads360V23Resources__AdGroupAssetSet; /** * The ad group audience view referenced in the query. */ adGroupAudienceView?: GoogleAdsSearchads360V23Resources__AdGroupAudienceView; /** * The bid modifier referenced in the query. */ adGroupBidModifier?: GoogleAdsSearchads360V23Resources__AdGroupBidModifier; /** * The criterion referenced in the query. */ adGroupCriterion?: GoogleAdsSearchads360V23Resources__AdGroupCriterion; /** * The ad group criterion customizer referenced in the query. */ adGroupCriterionCustomizer?: GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer; /** * The ad group criterion effective label referenced in the query. */ adGroupCriterionEffectiveLabel?: GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel; /** * The ad group criterion label referenced in the query. */ adGroupCriterionLabel?: GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel; /** * The ad group criterion simulation referenced in the query. */ adGroupCriterionSimulation?: GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation; /** * The ad group customizer referenced in the query. */ adGroupCustomizer?: GoogleAdsSearchads360V23Resources__AdGroupCustomizer; /** * The ad group effective label referenced in the query. */ adGroupEffectiveLabel?: GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel; /** * The ad group label referenced in the query. */ adGroupLabel?: GoogleAdsSearchads360V23Resources__AdGroupLabel; /** * The ad group simulation referenced in the query. */ adGroupSimulation?: GoogleAdsSearchads360V23Resources__AdGroupSimulation; /** * The ad parameter referenced in the query. */ adParameter?: GoogleAdsSearchads360V23Resources__AdParameter; /** * The ad schedule view referenced in the query. */ adScheduleView?: GoogleAdsSearchads360V23Resources__AdScheduleView; /** * The age range view referenced in the query. */ ageRangeView?: GoogleAdsSearchads360V23Resources__AgeRangeView; /** * The AI Max search term ad combination view referenced in the query. */ aiMaxSearchTermAdCombinationView?: GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView; /** * The android privacy shared key google ad group referenced in the query. */ androidPrivacySharedKeyGoogleAdGroup?: GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup; /** * The android privacy shared key google campaign referenced in the query. */ androidPrivacySharedKeyGoogleCampaign?: GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign; /** * The android privacy shared key google network type referenced in the * query. */ androidPrivacySharedKeyGoogleNetworkType?: GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType; /** * The asset referenced in the query. */ asset?: GoogleAdsSearchads360V23Resources__Asset; /** * The asset field type view referenced in the query. */ assetFieldTypeView?: GoogleAdsSearchads360V23Resources__AssetFieldTypeView; /** * The asset group referenced in the query. */ assetGroup?: GoogleAdsSearchads360V23Resources__AssetGroup; /** * The asset group asset referenced in the query. */ assetGroupAsset?: GoogleAdsSearchads360V23Resources__AssetGroupAsset; /** * The asset group listing group filter referenced in the query. */ assetGroupListingGroupFilter?: GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter; /** * The asset group product group view referenced in the query. */ assetGroupProductGroupView?: GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView; /** * The asset group signal referenced in the query. */ assetGroupSignal?: GoogleAdsSearchads360V23Resources__AssetGroupSignal; /** * The asset group top combination view referenced in the query. */ assetGroupTopCombinationView?: GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView; /** * The asset set referenced in the query. */ assetSet?: GoogleAdsSearchads360V23Resources__AssetSet; /** * The asset set asset referenced in the query. */ assetSetAsset?: GoogleAdsSearchads360V23Resources__AssetSetAsset; /** * The asset set type view referenced in the query. */ assetSetTypeView?: GoogleAdsSearchads360V23Resources__AssetSetTypeView; /** * The Audience referenced in the query. */ audience?: GoogleAdsSearchads360V23Resources__Audience; /** * The batch job referenced in the query. */ batchJob?: GoogleAdsSearchads360V23Resources__BatchJob; /** * The bidding data exclusion referenced in the query. */ biddingDataExclusion?: GoogleAdsSearchads360V23Resources__BiddingDataExclusion; /** * The bidding seasonality adjustment referenced in the query. */ biddingSeasonalityAdjustment?: GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment; /** * The bidding strategy referenced in the query. */ biddingStrategy?: GoogleAdsSearchads360V23Resources__BiddingStrategy; /** * The bidding strategy simulation referenced in the query. */ biddingStrategySimulation?: GoogleAdsSearchads360V23Resources__BiddingStrategySimulation; /** * The billing setup referenced in the query. */ billingSetup?: GoogleAdsSearchads360V23Resources__BillingSetup; /** * The call view referenced in the query. */ callView?: GoogleAdsSearchads360V23Resources__CallView; /** * The campaign referenced in the query. */ campaign?: GoogleAdsSearchads360V23Resources__Campaign; /** * The campaign asset referenced in the query. */ campaignAsset?: GoogleAdsSearchads360V23Resources__CampaignAsset; /** * The campaign asset set referenced in the query. */ campaignAssetSet?: GoogleAdsSearchads360V23Resources__CampaignAssetSet; /** * The campaign audience view referenced in the query. */ campaignAudienceView?: GoogleAdsSearchads360V23Resources__CampaignAudienceView; /** * The campaign bid modifier referenced in the query. */ campaignBidModifier?: GoogleAdsSearchads360V23Resources__CampaignBidModifier; /** * The campaign budget referenced in the query. */ campaignBudget?: GoogleAdsSearchads360V23Resources__CampaignBudget; /** * The CampaignConversionGoal referenced in the query. */ campaignConversionGoal?: GoogleAdsSearchads360V23Resources__CampaignConversionGoal; /** * The campaign criterion referenced in the query. */ campaignCriterion?: GoogleAdsSearchads360V23Resources__CampaignCriterion; /** * The campaign customizer referenced in the query. */ campaignCustomizer?: GoogleAdsSearchads360V23Resources__CampaignCustomizer; /** * The campaign draft referenced in the query. */ campaignDraft?: GoogleAdsSearchads360V23Resources__CampaignDraft; /** * The campaign effective label referenced in the query. */ campaignEffectiveLabel?: GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel; /** * The campaign goal config referenced in the query. */ campaignGoalConfig?: GoogleAdsSearchads360V23Resources__CampaignGoalConfig; /** * Campaign Group referenced in AWQL query. */ campaignGroup?: GoogleAdsSearchads360V23Resources__CampaignGroup; /** * The campaign label referenced in the query. */ campaignLabel?: GoogleAdsSearchads360V23Resources__CampaignLabel; /** * The campaign lifecycle goal referenced in the query. */ campaignLifecycleGoal?: GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal; /** * The campaign search term insight referenced in the query. */ campaignSearchTermInsight?: GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight; /** * The campaign-level search term view referenced in the query. */ campaignSearchTermView?: GoogleAdsSearchads360V23Resources__CampaignSearchTermView; /** * Campaign Shared Set referenced in AWQL query. */ campaignSharedSet?: GoogleAdsSearchads360V23Resources__CampaignSharedSet; /** * The campaign simulation referenced in the query. */ campaignSimulation?: GoogleAdsSearchads360V23Resources__CampaignSimulation; /** * The carrier constant referenced in the query. */ carrierConstant?: GoogleAdsSearchads360V23Resources__CarrierConstant; /** * The cart data sales view referenced in the query. */ cartDataSalesView?: GoogleAdsSearchads360V23Resources__CartDataSalesView; /** * The ChangeEvent referenced in the query. */ changeEvent?: GoogleAdsSearchads360V23Resources__ChangeEvent; /** * The ChangeStatus referenced in the query. */ changeStatus?: GoogleAdsSearchads360V23Resources__ChangeStatus; /** * The ClickView referenced in the query. */ clickView?: GoogleAdsSearchads360V23Resources__ClickView; /** * The CombinedAudience referenced in the query. */ combinedAudience?: GoogleAdsSearchads360V23Resources__CombinedAudience; /** * The content criterion view referenced in the query. */ contentCriterionView?: GoogleAdsSearchads360V23Resources__ContentCriterionView; /** * The event level conversion referenced in the query. */ conversion?: GoogleAdsSearchads360V23Resources__Conversion; /** * The conversion action referenced in the query. */ conversionAction?: GoogleAdsSearchads360V23Resources__ConversionAction; /** * The conversion custom variable referenced in the query. */ conversionCustomVariable?: GoogleAdsSearchads360V23Resources__ConversionCustomVariable; /** * The ConversionGoalCampaignConfig referenced in the query. */ conversionGoalCampaignConfig?: GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig; /** * The conversion value rule referenced in the query. */ conversionValueRule?: GoogleAdsSearchads360V23Resources__ConversionValueRule; /** * The conversion value rule set referenced in the query. */ conversionValueRuleSet?: GoogleAdsSearchads360V23Resources__ConversionValueRuleSet; /** * The currency constant referenced in the query. */ currencyConstant?: GoogleAdsSearchads360V23Resources__CurrencyConstant; /** * The CustomAudience referenced in the query. */ customAudience?: GoogleAdsSearchads360V23Resources__CustomAudience; /** * The custom columns. */ customColumns?: GoogleAdsSearchads360V23Common__Value[]; /** * The CustomConversionGoal referenced in the query. */ customConversionGoal?: GoogleAdsSearchads360V23Resources__CustomConversionGoal; /** * The customer referenced in the query. */ customer?: GoogleAdsSearchads360V23Resources__Customer; /** * The customer asset referenced in the query. */ customerAsset?: GoogleAdsSearchads360V23Resources__CustomerAsset; /** * The customer asset set referenced in the query. */ customerAssetSet?: GoogleAdsSearchads360V23Resources__CustomerAssetSet; /** * The CustomerClient referenced in the query. */ customerClient?: GoogleAdsSearchads360V23Resources__CustomerClient; /** * The CustomerClientLink referenced in the query. */ customerClientLink?: GoogleAdsSearchads360V23Resources__CustomerClientLink; /** * The CustomerConversionGoal referenced in the query. */ customerConversionGoal?: GoogleAdsSearchads360V23Resources__CustomerConversionGoal; /** * The customer customizer referenced in the query. */ customerCustomizer?: GoogleAdsSearchads360V23Resources__CustomerCustomizer; /** * The customer label referenced in the query. */ customerLabel?: GoogleAdsSearchads360V23Resources__CustomerLabel; /** * The customer lifecycle goal referenced in the query. */ customerLifecycleGoal?: GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal; /** * The CustomerManagerLink referenced in the query. */ customerManagerLink?: GoogleAdsSearchads360V23Resources__CustomerManagerLink; /** * The customer negative criterion referenced in the query. */ customerNegativeCriterion?: GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion; /** * The customer search term insight referenced in the query. */ customerSearchTermInsight?: GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight; /** * The CustomerUserAccess referenced in the query. */ customerUserAccess?: GoogleAdsSearchads360V23Resources__CustomerUserAccess; /** * The CustomerUserAccessInvitation referenced in the query. */ customerUserAccessInvitation?: GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation; /** * The CustomInterest referenced in the query. */ customInterest?: GoogleAdsSearchads360V23Resources__CustomInterest; /** * The customizer attribute referenced in the query. */ customizerAttribute?: GoogleAdsSearchads360V23Resources__CustomizerAttribute; /** * The data link referenced in the query. */ dataLink?: GoogleAdsSearchads360V23Resources__DataLink; /** * The detail content suitability placement view referenced in the query. */ detailContentSuitabilityPlacementView?: GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView; /** * The detailed demographic referenced in the query. */ detailedDemographic?: GoogleAdsSearchads360V23Resources__DetailedDemographic; /** * The detail placement view referenced in the query. */ detailPlacementView?: GoogleAdsSearchads360V23Resources__DetailPlacementView; /** * The display keyword view referenced in the query. */ displayKeywordView?: GoogleAdsSearchads360V23Resources__DisplayKeywordView; /** * The distance view referenced in the query. */ distanceView?: GoogleAdsSearchads360V23Resources__DistanceView; /** * The dynamic search ads search term view referenced in the query. */ dynamicSearchAdsSearchTermView?: GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView; /** * The expanded landing page view referenced in the query. */ expandedLandingPageView?: GoogleAdsSearchads360V23Resources__ExpandedLandingPageView; /** * The experiment referenced in the query. */ experiment?: GoogleAdsSearchads360V23Resources__Experiment; /** * The experiment arm referenced in the query. */ experimentArm?: GoogleAdsSearchads360V23Resources__ExperimentArm; /** * The final url expansion asset view referenced in the query. */ finalUrlExpansionAssetView?: GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView; /** * The gender view referenced in the query. */ genderView?: GoogleAdsSearchads360V23Resources__GenderView; /** * The geographic view referenced in the query. */ geographicView?: GoogleAdsSearchads360V23Resources__GeographicView; /** * The geo target constant referenced in the query. */ geoTargetConstant?: GoogleAdsSearchads360V23Resources__GeoTargetConstant; /** * The goal in the query. */ goal?: GoogleAdsSearchads360V23Resources__Goal; /** * The group content suitability placement view referenced in the query. */ groupContentSuitabilityPlacementView?: GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView; /** * The group placement view referenced in the query. */ groupPlacementView?: GoogleAdsSearchads360V23Resources__GroupPlacementView; /** * The hotel group view referenced in the query. */ hotelGroupView?: GoogleAdsSearchads360V23Resources__HotelGroupView; /** * The hotel performance view referenced in the query. */ hotelPerformanceView?: GoogleAdsSearchads360V23Resources__HotelPerformanceView; /** * The hotel reconciliation referenced in the query. */ hotelReconciliation?: GoogleAdsSearchads360V23Resources__HotelReconciliation; /** * The income range view referenced in the query. */ incomeRangeView?: GoogleAdsSearchads360V23Resources__IncomeRangeView; /** * The keyword plan referenced in the query. */ keywordPlan?: GoogleAdsSearchads360V23Resources__KeywordPlan; /** * The keyword plan ad group referenced in the query. */ keywordPlanAdGroup?: GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup; /** * The keyword plan ad group referenced in the query. */ keywordPlanAdGroupKeyword?: GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword; /** * The keyword plan campaign referenced in the query. */ keywordPlanCampaign?: GoogleAdsSearchads360V23Resources__KeywordPlanCampaign; /** * The keyword plan campaign keyword referenced in the query. */ keywordPlanCampaignKeyword?: GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword; /** * The keyword theme constant referenced in the query. */ keywordThemeConstant?: GoogleAdsSearchads360V23Resources__KeywordThemeConstant; /** * The keyword view referenced in the query. */ keywordView?: GoogleAdsSearchads360V23Resources__KeywordView; /** * The label referenced in the query. */ label?: GoogleAdsSearchads360V23Resources__Label; /** * The landing page view referenced in the query. */ landingPageView?: GoogleAdsSearchads360V23Resources__LandingPageView; /** * The language constant referenced in the query. */ languageConstant?: GoogleAdsSearchads360V23Resources__LanguageConstant; /** * The lead form user submission referenced in the query. */ leadFormSubmissionData?: GoogleAdsSearchads360V23Resources__LeadFormSubmissionData; /** * The life event referenced in the query. */ lifeEvent?: GoogleAdsSearchads360V23Resources__LifeEvent; /** * The local services employee referenced in the query. */ localServicesEmployee?: GoogleAdsSearchads360V23Resources__LocalServicesEmployee; /** * The local services lead referenced in the query. */ localServicesLead?: GoogleAdsSearchads360V23Resources__LocalServicesLead; /** * The local services lead conversationreferenced in the query. */ localServicesLeadConversation?: GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation; /** * The local services verification artifact referenced in the query. */ localServicesVerificationArtifact?: GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact; /** * The location interest view referenced in the query. */ locationInterestView?: GoogleAdsSearchads360V23Resources__LocationInterestView; /** * The location view referenced in the query. */ locationView?: GoogleAdsSearchads360V23Resources__LocationView; /** * The managed placement view referenced in the query. */ managedPlacementView?: GoogleAdsSearchads360V23Resources__ManagedPlacementView; /** * The matched location interest view referenced in the query. */ matchedLocationInterestView?: GoogleAdsSearchads360V23Resources__MatchedLocationInterestView; /** * The media file referenced in the query. */ mediaFile?: GoogleAdsSearchads360V23Resources__MediaFile; /** * The metrics. */ metrics?: GoogleAdsSearchads360V23Common__Metrics; /** * The mobile app category constant referenced in the query. */ mobileAppCategoryConstant?: GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant; /** * The mobile device constant referenced in the query. */ mobileDeviceConstant?: GoogleAdsSearchads360V23Resources__MobileDeviceConstant; /** * Offline conversion upload summary at customer level. */ offlineConversionUploadClientSummary?: GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary; /** * Offline conversion upload summary at conversion type level. */ offlineConversionUploadConversionActionSummary?: GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary; /** * The offline user data job referenced in the query. */ offlineUserDataJob?: GoogleAdsSearchads360V23Resources__OfflineUserDataJob; /** * The operating system version constant referenced in the query. */ operatingSystemVersionConstant?: GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant; /** * The paid organic search term view referenced in the query. */ paidOrganicSearchTermView?: GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView; /** * The parental status view referenced in the query. */ parentalStatusView?: GoogleAdsSearchads360V23Resources__ParentalStatusView; /** * The performance max placement view referenced in the query. */ performanceMaxPlacementView?: GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView; /** * The per store view referenced in the query. */ perStoreView?: GoogleAdsSearchads360V23Resources__PerStoreView; /** * The product category referenced in the query. */ productCategoryConstant?: GoogleAdsSearchads360V23Resources__ProductCategoryConstant; /** * The product group view referenced in the query. */ productGroupView?: GoogleAdsSearchads360V23Resources__ProductGroupView; /** * The product link referenced in the query. */ productLink?: GoogleAdsSearchads360V23Resources__ProductLink; /** * The product link invitation in the query. */ productLinkInvitation?: GoogleAdsSearchads360V23Resources__ProductLinkInvitation; /** * The qualifying question referenced in the query. */ qualifyingQuestion?: GoogleAdsSearchads360V23Resources__QualifyingQuestion; /** * The recommendation referenced in the query. */ recommendation?: GoogleAdsSearchads360V23Resources__Recommendation; /** * The recommendation subscription referenced in the query. */ recommendationSubscription?: GoogleAdsSearchads360V23Resources__RecommendationSubscription; /** * The remarketing action referenced in the query. */ remarketingAction?: GoogleAdsSearchads360V23Resources__RemarketingAction; /** * The Search Ads 360 campaign referenced in the query. */ searchAds360Campaign?: GoogleAdsSearchads360V23Resources__SearchAds360Campaign; /** * The search term view referenced in the query. */ searchTermView?: GoogleAdsSearchads360V23Resources__SearchTermView; /** * The segments. */ segments?: GoogleAdsSearchads360V23Common__Segments; /** * The shared set referenced in the query. */ sharedCriterion?: GoogleAdsSearchads360V23Resources__SharedCriterion; /** * The shared set referenced in the query. */ sharedSet?: GoogleAdsSearchads360V23Resources__SharedSet; /** * The shopping performance view referenced in the query. */ shoppingPerformanceView?: GoogleAdsSearchads360V23Resources__ShoppingPerformanceView; /** * The shopping product referenced in the query. */ shoppingProduct?: GoogleAdsSearchads360V23Resources__ShoppingProduct; /** * The Smart campaign search term view referenced in the query. */ smartCampaignSearchTermView?: GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView; /** * The Smart campaign setting referenced in the query. */ smartCampaignSetting?: GoogleAdsSearchads360V23Resources__SmartCampaignSetting; /** * The Targeting expansion view referenced in the query. */ targetingExpansionView?: GoogleAdsSearchads360V23Resources__TargetingExpansionView; /** * The AccountLink referenced in the query. */ thirdPartyAppAnalyticsLink?: GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink; /** * The topic constant referenced in the query. */ topicConstant?: GoogleAdsSearchads360V23Resources__TopicConstant; /** * The topic view referenced in the query. */ topicView?: GoogleAdsSearchads360V23Resources__TopicView; /** * The travel activity group view referenced in the query. */ travelActivityGroupView?: GoogleAdsSearchads360V23Resources__TravelActivityGroupView; /** * The travel activity performance view referenced in the query. */ travelActivityPerformanceView?: GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView; /** * The user interest referenced in the query. */ userInterest?: GoogleAdsSearchads360V23Resources__UserInterest; /** * The user list referenced in the query. */ userList?: GoogleAdsSearchads360V23Resources__UserList; /** * The user list customer type in the query. */ userListCustomerType?: GoogleAdsSearchads360V23Resources__UserListCustomerType; /** * The user location view referenced in the query. */ userLocationView?: GoogleAdsSearchads360V23Resources__UserLocationView; /** * The video referenced in the query. */ video?: GoogleAdsSearchads360V23Resources__Video; /** * The event level visit referenced in the query. */ visit?: GoogleAdsSearchads360V23Resources__Visit; /** * The webpage view referenced in the query. */ webpageView?: GoogleAdsSearchads360V23Resources__WebpageView; } function serializeGoogleAdsSearchads360V23Services__SearchAds360Row(data: any): GoogleAdsSearchads360V23Services__SearchAds360Row { return { ...data, accountBudgetProposal: data["accountBudgetProposal"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AccountBudgetProposal(data["accountBudgetProposal"]) : undefined, accountLink: data["accountLink"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AccountLink(data["accountLink"]) : undefined, ad: data["ad"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Ad(data["ad"]) : undefined, adGroup: data["adGroup"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroup(data["adGroup"]) : undefined, adGroupAd: data["adGroupAd"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupAd(data["adGroupAd"]) : undefined, adGroupBidModifier: data["adGroupBidModifier"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupBidModifier(data["adGroupBidModifier"]) : undefined, adGroupCriterion: data["adGroupCriterion"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdGroupCriterion(data["adGroupCriterion"]) : undefined, adParameter: data["adParameter"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AdParameter(data["adParameter"]) : undefined, asset: data["asset"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Asset(data["asset"]) : undefined, assetGroupListingGroupFilter: data["assetGroupListingGroupFilter"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter(data["assetGroupListingGroupFilter"]) : undefined, assetSet: data["assetSet"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__AssetSet(data["assetSet"]) : undefined, biddingStrategy: data["biddingStrategy"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__BiddingStrategy(data["biddingStrategy"]) : undefined, campaign: data["campaign"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Campaign(data["campaign"]) : undefined, campaignBudget: data["campaignBudget"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CampaignBudget(data["campaignBudget"]) : undefined, campaignCriterion: data["campaignCriterion"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CampaignCriterion(data["campaignCriterion"]) : undefined, conversionAction: data["conversionAction"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ConversionAction(data["conversionAction"]) : undefined, customAudience: data["customAudience"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CustomAudience(data["customAudience"]) : undefined, customColumns: data["customColumns"] !== undefined ? data["customColumns"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__Value(item))) : undefined, customConversionGoal: data["customConversionGoal"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__CustomConversionGoal(data["customConversionGoal"]) : undefined, experimentArm: data["experimentArm"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ExperimentArm(data["experimentArm"]) : undefined, keywordPlanAdGroup: data["keywordPlanAdGroup"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroup(data["keywordPlanAdGroup"]) : undefined, keywordPlanAdGroupKeyword: data["keywordPlanAdGroupKeyword"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword(data["keywordPlanAdGroupKeyword"]) : undefined, keywordPlanCampaign: data["keywordPlanCampaign"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__KeywordPlanCampaign(data["keywordPlanCampaign"]) : undefined, mediaFile: data["mediaFile"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__MediaFile(data["mediaFile"]) : undefined, metrics: data["metrics"] !== undefined ? serializeGoogleAdsSearchads360V23Common__Metrics(data["metrics"]) : undefined, offlineUserDataJob: data["offlineUserDataJob"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__OfflineUserDataJob(data["offlineUserDataJob"]) : undefined, productLink: data["productLink"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__ProductLink(data["productLink"]) : undefined, segments: data["segments"] !== undefined ? serializeGoogleAdsSearchads360V23Common__Segments(data["segments"]) : undefined, sharedCriterion: data["sharedCriterion"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__SharedCriterion(data["sharedCriterion"]) : undefined, userList: data["userList"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__UserList(data["userList"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__SearchAds360Row(data: any): GoogleAdsSearchads360V23Services__SearchAds360Row { return { ...data, accountBudgetProposal: data["accountBudgetProposal"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AccountBudgetProposal(data["accountBudgetProposal"]) : undefined, accountLink: data["accountLink"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AccountLink(data["accountLink"]) : undefined, ad: data["ad"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Ad(data["ad"]) : undefined, adGroup: data["adGroup"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroup(data["adGroup"]) : undefined, adGroupAd: data["adGroupAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupAd(data["adGroupAd"]) : undefined, adGroupBidModifier: data["adGroupBidModifier"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupBidModifier(data["adGroupBidModifier"]) : undefined, adGroupCriterion: data["adGroupCriterion"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdGroupCriterion(data["adGroupCriterion"]) : undefined, adParameter: data["adParameter"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AdParameter(data["adParameter"]) : undefined, asset: data["asset"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Asset(data["asset"]) : undefined, assetGroupListingGroupFilter: data["assetGroupListingGroupFilter"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter(data["assetGroupListingGroupFilter"]) : undefined, assetSet: data["assetSet"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__AssetSet(data["assetSet"]) : undefined, biddingStrategy: data["biddingStrategy"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__BiddingStrategy(data["biddingStrategy"]) : undefined, campaign: data["campaign"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Campaign(data["campaign"]) : undefined, campaignBudget: data["campaignBudget"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CampaignBudget(data["campaignBudget"]) : undefined, campaignCriterion: data["campaignCriterion"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CampaignCriterion(data["campaignCriterion"]) : undefined, conversionAction: data["conversionAction"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ConversionAction(data["conversionAction"]) : undefined, customAudience: data["customAudience"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CustomAudience(data["customAudience"]) : undefined, customColumns: data["customColumns"] !== undefined ? data["customColumns"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__Value(item))) : undefined, customConversionGoal: data["customConversionGoal"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__CustomConversionGoal(data["customConversionGoal"]) : undefined, experimentArm: data["experimentArm"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ExperimentArm(data["experimentArm"]) : undefined, keywordPlanAdGroup: data["keywordPlanAdGroup"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroup(data["keywordPlanAdGroup"]) : undefined, keywordPlanAdGroupKeyword: data["keywordPlanAdGroupKeyword"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword(data["keywordPlanAdGroupKeyword"]) : undefined, keywordPlanCampaign: data["keywordPlanCampaign"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__KeywordPlanCampaign(data["keywordPlanCampaign"]) : undefined, mediaFile: data["mediaFile"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__MediaFile(data["mediaFile"]) : undefined, metrics: data["metrics"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__Metrics(data["metrics"]) : undefined, offlineUserDataJob: data["offlineUserDataJob"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__OfflineUserDataJob(data["offlineUserDataJob"]) : undefined, productLink: data["productLink"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__ProductLink(data["productLink"]) : undefined, segments: data["segments"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__Segments(data["segments"]) : undefined, sharedCriterion: data["sharedCriterion"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__SharedCriterion(data["sharedCriterion"]) : undefined, userList: data["userList"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__UserList(data["userList"]) : undefined, }; } /** * Request message for SearchAds360FieldService.SearchSearchAds360Fields. */ export interface GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest { /** * Number of elements to retrieve in a single page. When too large a page is * requested, the server may decide to further limit the number of returned * resources. */ pageSize?: number; /** * Token of the page to retrieve. If not specified, the first page of results * will be returned. Use the value obtained from `next_page_token` in the * previous response in order to request the next page of results. */ pageToken?: string; /** * Required. The query string. */ query?: string; } /** * Response message for SearchAds360FieldService.SearchSearchAds360Fields. */ export interface GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse { /** * Pagination token used to retrieve the next page of results. Pass the * content of this string as the `page_token` attribute of the next request. * `next_page_token` is not returned for the last page. */ nextPageToken?: string; /** * The list of fields that matched the query. */ results?: GoogleAdsSearchads360V23Resources__SearchAds360Field[]; /** * Total number of results that match the query ignoring the LIMIT clause. */ totalResultsCount?: bigint; } function serializeGoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse(data: any): GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse { return { ...data, totalResultsCount: data["totalResultsCount"] !== undefined ? String(data["totalResultsCount"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse(data: any): GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse { return { ...data, totalResultsCount: data["totalResultsCount"] !== undefined ? BigInt(data["totalResultsCount"]) : undefined, }; } /** * Request message for SearchAds360Service.Search. */ export interface GoogleAdsSearchads360V23Services__SearchSearchAds360Request { /** * Number of elements to retrieve in a single page. When too large a page is * requested, the server may decide to further limit the number of returned * resources. */ pageSize?: number; /** * Token of the page to retrieve. If not specified, the first page of results * will be returned. Use the value obtained from `next_page_token` in the * previous response in order to request the next page of results. */ pageToken?: string; /** * Required. The query string. */ query?: string; /** * Settings that allow users to specify request count, summary row, and * results behavior. */ searchSettings?: GoogleAdsSearchads360V23Services__SearchSettings; /** * If true, the request is validated but not executed. */ validateOnly?: boolean; } /** * Response message for SearchAds360Service.Search. */ export interface GoogleAdsSearchads360V23Services__SearchSearchAds360Response { /** * The headers of the conversion custom dimensions in the results. */ conversionCustomDimensionHeaders?: GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader[]; /** * The headers of the conversion custom metrics in the results. */ conversionCustomMetricHeaders?: GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader[]; /** * The headers of the custom columns in the results. */ customColumnHeaders?: GoogleAdsSearchads360V23Services__CustomColumnHeader[]; /** * FieldMask that represents what fields were requested by the user. */ fieldMask?: string /* FieldMask */; /** * The metric attributes of the metrics in the results. */ metricAttributes?: GoogleAdsSearchads360V23Services__MetricAttributes[]; /** * Pagination token used to retrieve the next page of results. Pass the * content of this string as the `page_token` attribute of the next request. * `next_page_token` is not returned for the last page. */ nextPageToken?: string; /** * The amount of resources consumed to serve the query. */ queryResourceConsumption?: bigint; /** * The headers of the raw event conversion dimensions in the results. */ rawEventConversionDimensionHeaders?: GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader[]; /** * The headers of the raw event conversion metrics in the results. */ rawEventConversionMetricHeaders?: GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader[]; /** * The list of rows that matched the query. */ results?: GoogleAdsSearchads360V23Services__SearchAds360Row[]; /** * Summary row that contains summary of metrics in results. Summary of * metrics means aggregation of metrics across all results, here aggregation * could be sum, average, rate, etc. */ summaryRow?: GoogleAdsSearchads360V23Services__SearchAds360Row; /** * Total number of results that match the query ignoring the LIMIT clause. */ totalResultsCount?: bigint; } function serializeGoogleAdsSearchads360V23Services__SearchSearchAds360Response(data: any): GoogleAdsSearchads360V23Services__SearchSearchAds360Response { return { ...data, conversionCustomDimensionHeaders: data["conversionCustomDimensionHeaders"] !== undefined ? data["conversionCustomDimensionHeaders"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader(item))) : undefined, conversionCustomMetricHeaders: data["conversionCustomMetricHeaders"] !== undefined ? data["conversionCustomMetricHeaders"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__ConversionCustomMetricHeader(item))) : undefined, customColumnHeaders: data["customColumnHeaders"] !== undefined ? data["customColumnHeaders"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__CustomColumnHeader(item))) : undefined, fieldMask: data["fieldMask"] !== undefined ? data["fieldMask"] : undefined, queryResourceConsumption: data["queryResourceConsumption"] !== undefined ? String(data["queryResourceConsumption"]) : undefined, rawEventConversionDimensionHeaders: data["rawEventConversionDimensionHeaders"] !== undefined ? data["rawEventConversionDimensionHeaders"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader(item))) : undefined, rawEventConversionMetricHeaders: data["rawEventConversionMetricHeaders"] !== undefined ? data["rawEventConversionMetricHeaders"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__RawEventConversionMetricHeader(item))) : undefined, results: data["results"] !== undefined ? data["results"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__SearchAds360Row(item))) : undefined, summaryRow: data["summaryRow"] !== undefined ? serializeGoogleAdsSearchads360V23Services__SearchAds360Row(data["summaryRow"]) : undefined, totalResultsCount: data["totalResultsCount"] !== undefined ? String(data["totalResultsCount"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__SearchSearchAds360Response(data: any): GoogleAdsSearchads360V23Services__SearchSearchAds360Response { return { ...data, conversionCustomDimensionHeaders: data["conversionCustomDimensionHeaders"] !== undefined ? data["conversionCustomDimensionHeaders"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader(item))) : undefined, conversionCustomMetricHeaders: data["conversionCustomMetricHeaders"] !== undefined ? data["conversionCustomMetricHeaders"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__ConversionCustomMetricHeader(item))) : undefined, customColumnHeaders: data["customColumnHeaders"] !== undefined ? data["customColumnHeaders"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__CustomColumnHeader(item))) : undefined, fieldMask: data["fieldMask"] !== undefined ? data["fieldMask"] : undefined, queryResourceConsumption: data["queryResourceConsumption"] !== undefined ? BigInt(data["queryResourceConsumption"]) : undefined, rawEventConversionDimensionHeaders: data["rawEventConversionDimensionHeaders"] !== undefined ? data["rawEventConversionDimensionHeaders"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader(item))) : undefined, rawEventConversionMetricHeaders: data["rawEventConversionMetricHeaders"] !== undefined ? data["rawEventConversionMetricHeaders"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__RawEventConversionMetricHeader(item))) : undefined, results: data["results"] !== undefined ? data["results"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__SearchAds360Row(item))) : undefined, summaryRow: data["summaryRow"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__SearchAds360Row(data["summaryRow"]) : undefined, totalResultsCount: data["totalResultsCount"] !== undefined ? BigInt(data["totalResultsCount"]) : undefined, }; } /** * Indicates search settings in request parameter. */ export interface GoogleAdsSearchads360V23Services__SearchSettings { /** * If true, results will be excluded from the response. Otherwise, results * will be returned. Default is false. */ omitResults?: boolean; /** * If true, summary row will be included in the response and sent in a * response by itself after all other query results are returned. Default is * false. */ returnSummaryRow?: boolean; /** * If true, the total number of results that match the query ignoring the * LIMIT clause will be included in the response. Default is false. */ returnTotalResultsCount?: boolean; } /** * A single operation (create, remove) on an shared criterion. */ export interface GoogleAdsSearchads360V23Services__SharedCriterionOperation { /** * Create operation: No resource name is expected for the new shared * criterion. */ create?: GoogleAdsSearchads360V23Resources__SharedCriterion; /** * Remove operation: A resource name for the removed shared criterion is * expected, in this format: * `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}` */ remove?: string; } function serializeGoogleAdsSearchads360V23Services__SharedCriterionOperation(data: any): GoogleAdsSearchads360V23Services__SharedCriterionOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__SharedCriterion(data["create"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__SharedCriterionOperation(data: any): GoogleAdsSearchads360V23Services__SharedCriterionOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__SharedCriterion(data["create"]) : undefined, }; } /** * A single operation (create, update, remove) on an shared set. */ export interface GoogleAdsSearchads360V23Services__SharedSetOperation { /** * Create operation: No resource name is expected for the new shared set. */ create?: GoogleAdsSearchads360V23Resources__SharedSet; /** * Remove operation: A resource name for the removed shared set is expected, * in this format: `customers/{customer_id}/sharedSets/{shared_set_id}` */ remove?: string; /** * Update operation: The shared set is expected to have a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__SharedSet; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__SharedSetOperation(data: any): GoogleAdsSearchads360V23Services__SharedSetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__SharedSetOperation(data: any): GoogleAdsSearchads360V23Services__SharedSetOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Site Seed */ export interface GoogleAdsSearchads360V23Services__SiteSeed { /** * The domain name of the site. If the customer requesting the ideas doesn't * own the site provided only public information is returned. */ site?: string; } /** * Details related to Smart campaigns that are eligible to serve. */ export interface GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails { /** * The timestamp of when the campaign will end, if applicable. The timestamp * is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format. */ endDateTime?: string; /** * The timestamp of the last impression observed in the last 48 hours for * this campaign. The timestamp is in the customer’s timezone and in * “yyyy-MM-dd HH:mm:ss” format. */ lastImpressionDateTime?: string; } /** * Details related to Smart campaigns that have ended. */ export interface GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails { /** * The timestamp of when the campaign ended. The timestamp is in the * customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format. */ endDateTime?: string; } /** * Details related to Smart campaigns that are not eligible to serve. */ export interface GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails { /** * The reason why the Smart campaign is not eligible to serve. */ notEligibleReason?: | "UNSPECIFIED" | "UNKNOWN" | "ACCOUNT_ISSUE" | "BILLING_ISSUE" | "BUSINESS_PROFILE_LOCATION_REMOVED" | "ALL_ADS_DISAPPROVED"; } /** * Details related to paused Smart campaigns. */ export interface GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails { /** * The timestamp of when the campaign was last paused. The timestamp is in * the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format. */ pausedDateTime?: string; } /** * Details related to removed Smart campaigns. */ export interface GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails { /** * The timestamp of when the campaign was removed. The timestamp is in the * customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format. */ removedDateTime?: string; } /** * A single operation to update Smart campaign settings for a campaign. */ export interface GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation { /** * Update operation: The Smart campaign setting must specify a valid resource * name. */ update?: GoogleAdsSearchads360V23Resources__SmartCampaignSetting; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__SmartCampaignSettingOperation(data: any): GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__SmartCampaignSettingOperation(data: any): GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation { return { ...data, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * Information needed to get suggestion for Smart Campaign. More information * provided will help the system to derive better suggestions. */ export interface GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo { /** * Optional. The business ad schedule. */ adSchedules?: GoogleAdsSearchads360V23Common__AdScheduleInfo[]; /** * Optional. Context describing the business to advertise. */ businessContext?: GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext; /** * Optional. The resource name of a Business Profile location. Business * Profile location resource names can be fetched through the Business Profile * API and adhere to the following format: `locations/{locationId}`. See the * [Business Profile API] * (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) * for additional details. */ businessProfileLocation?: string; /** * Optional. Landing page URL of the campaign. */ finalUrl?: string; /** * Optional. Smart campaign keyword themes. This field may greatly improve * suggestion accuracy and we recommend always setting it if possible. */ keywordThemes?: GoogleAdsSearchads360V23Common__KeywordThemeInfo[]; /** * Optional. The two letter advertising language for the Smart campaign to be * constructed, default to 'en' if not set. */ languageCode?: string; /** * Optional. The targeting geo location by locations. */ locationList?: GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList; /** * Optional. The targeting geo location by proximity. */ proximity?: GoogleAdsSearchads360V23Common__ProximityInfo; } /** * Request message for StartIdentityVerification. */ export interface GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest { /** * Required. The verification program type for which we want to start the * verification. */ verificationProgram?: | "UNSPECIFIED" | "UNKNOWN" | "ADVERTISER_IDENTITY_VERIFICATION"; } /** * Request message for GeoTargetConstantService.SuggestGeoTargetConstants. */ export interface GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest { /** * Returned geo targets are restricted to this country code. */ countryCode?: string; /** * The geo target constant resource names to filter by. */ geoTargets?: GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets; /** * If possible, returned geo targets are translated using this locale. If * not, en is used by default. This is also used as a hint for returned geo * targets. */ locale?: string; /** * The location names to search by. At most 25 names can be set. */ locationNames?: GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames; } /** * Response message for GeoTargetConstantService.SuggestGeoTargetConstants. */ export interface GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse { /** * Geo target constant suggestions. */ geoTargetConstantSuggestions?: GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion[]; } function serializeGoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse(data: any): GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse { return { ...data, geoTargetConstantSuggestions: data["geoTargetConstantSuggestions"] !== undefined ? data["geoTargetConstantSuggestions"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse(data: any): GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse { return { ...data, geoTargetConstantSuggestions: data["geoTargetConstantSuggestions"] !== undefined ? data["geoTargetConstantSuggestions"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion(item))) : undefined, }; } /** * Request message for * KeywordThemeConstantService.SuggestKeywordThemeConstants. */ export interface GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest { /** * Upper-case, two-letter country code as defined by ISO-3166. This for * refining the scope of the query, default to 'US' if not set. */ countryCode?: string; /** * The two letter language code for get corresponding keyword theme for * refining the scope of the query, default to 'en' if not set. */ languageCode?: string; /** * The query text of a keyword theme that will be used to map to similar * keyword themes. For example, "plumber" or "roofer". */ queryText?: string; } /** * Response message for * KeywordThemeConstantService.SuggestKeywordThemeConstants. */ export interface GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse { /** * Smart Campaign keyword theme suggestions. */ keywordThemeConstants?: GoogleAdsSearchads360V23Resources__KeywordThemeConstant[]; } /** * Request message for SmartCampaignSuggestService.SuggestKeywordThemes. */ export interface GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest { /** * Required. Information to get keyword theme suggestions. Required fields: * * suggestion_info.final_url * suggestion_info.language_code * * suggestion_info.geo_target Recommended fields: * * suggestion_info.business_setting */ suggestionInfo?: GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo; } /** * Response message for SmartCampaignSuggestService.SuggestKeywordThemes. */ export interface GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse { /** * Smart campaign keyword theme suggestions. */ keywordThemes?: GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme[]; } /** * Request message for SmartCampaignSuggestService.SuggestSmartCampaignAd. */ export interface GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest { /** * Required. Inputs used to suggest a Smart campaign ad. Required fields: * final_url, language_code, keyword_themes. Optional but recommended fields * to improve the quality of the suggestion: business_setting and geo_target. */ suggestionInfo?: GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo; } /** * Response message for SmartCampaignSuggestService.SuggestSmartCampaignAd. */ export interface GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse { /** * Optional. Ad info includes 3 creative headlines and 2 creative * descriptions. */ adInfo?: GoogleAdsSearchads360V23Common__SmartCampaignAdInfo; } function serializeGoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse(data: any): GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse { return { ...data, adInfo: data["adInfo"] !== undefined ? serializeGoogleAdsSearchads360V23Common__SmartCampaignAdInfo(data["adInfo"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse(data: any): GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse { return { ...data, adInfo: data["adInfo"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__SmartCampaignAdInfo(data["adInfo"]) : undefined, }; } /** * Request message for * SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions. */ export interface GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest { /** * Required. The resource name of the campaign to get suggestion for. */ campaign?: string; /** * Required. Information needed to get budget options */ suggestionInfo?: GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo; } /** * Response message for * SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions. Depending on * whether the system could suggest the options, either all of the options or * none of them might be returned. */ export interface GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse { /** * Optional. The highest budget option. */ high?: GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption; /** * Optional. The lowest budget option. */ low?: GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption; /** * Optional. The recommended budget option. */ recommended?: GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption; } function serializeGoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse(data: any): GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse { return { ...data, high: data["high"] !== undefined ? serializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption(data["high"]) : undefined, low: data["low"] !== undefined ? serializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption(data["low"]) : undefined, recommended: data["recommended"] !== undefined ? serializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption(data["recommended"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse(data: any): GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse { return { ...data, high: data["high"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption(data["high"]) : undefined, low: data["low"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption(data["low"]) : undefined, recommended: data["recommended"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption(data["recommended"]) : undefined, }; } /** * Request message for TravelAssetSuggestionService.SuggestTravelAssets. */ export interface GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest { /** * Required. The language specifications in BCP 47 format (for example, * en-US, zh-CN, etc.) for the asset suggestions. Text will be in this * language. Usually matches one of the campaign target languages. */ languageOption?: string; /** * The Google Maps Place IDs of hotels for which assets are requested. See * https://developers.google.com/places/web-service/place-id for more * information. */ placeIds?: string[]; } /** * Response message for TravelAssetSuggestionService.SuggestTravelAssets. */ export interface GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse { /** * Asset suggestions for each place ID submitted in the request. */ hotelAssetSuggestions?: GoogleAdsSearchads360V23Services__HotelAssetSuggestion[]; } /** * Container for surfaces for a product. Surfaces refer to the available types * of ad inventories such as In-Feed, In-Stream, and Shorts. */ export interface GoogleAdsSearchads360V23Services__SurfaceTargeting { /** * List of surfaces available to target. */ surfaces?: | "UNSPECIFIED" | "UNKNOWN" | "DISCOVER_FEED" | "GMAIL" | "IN_FEED" | "IN_STREAM_BUMPER" | "IN_STREAM_NON_SKIPPABLE" | "IN_STREAM_SKIPPABLE" | "SHORTS"[]; } /** * The surface targeting combinations available for an ad product. */ export interface GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations { /** * Available surface target combinations for the ad product. */ availableTargetingCombinations?: GoogleAdsSearchads360V23Services__SurfaceTargeting[]; /** * Default surface targeting applied to the ad product. */ defaultTargeting?: GoogleAdsSearchads360V23Services__SurfaceTargeting; } /** * Details about various factors for not being satisfied with the lead. */ export interface GoogleAdsSearchads360V23Services__SurveyDissatisfied { /** * Optional. Provider's free form comments. This field is required when * OTHER_DISSATISFIED_REASON is selected as the reason. */ otherReasonComment?: string; /** * Required. Provider's reason for not being satisfied with the lead. */ surveyDissatisfiedReason?: | "UNSPECIFIED" | "UNKNOWN" | "OTHER_DISSATISFIED_REASON" | "GEO_MISMATCH" | "JOB_TYPE_MISMATCH" | "NOT_READY_TO_BOOK" | "SPAM" | "DUPLICATE" | "SOLICITATION"; } /** * Details about various factors for being satisfied with the lead. */ export interface GoogleAdsSearchads360V23Services__SurveySatisfied { /** * Optional. Provider's free form comments. This field is required when * OTHER_SATISFIED_REASON is selected as the reason. */ otherReasonComment?: string; /** * Required. Provider's reason for being satisfied with the lead. */ surveySatisfiedReason?: | "UNSPECIFIED" | "UNKNOWN" | "OTHER_SATISFIED_REASON" | "BOOKED_CUSTOMER" | "LIKELY_BOOKED_CUSTOMER" | "SERVICE_RELATED" | "HIGH_VALUE_SERVICE"; } /** * Target Frequency settings for a supported product. */ export interface GoogleAdsSearchads360V23Services__TargetFrequencySettings { /** * Required. The target frequency goal per selected time unit. */ targetFrequency?: number; /** * Required. The time unit used to describe the time frame for * target_frequency. */ timeUnit?: | "UNSPECIFIED" | "UNKNOWN" | "WEEKLY" | "MONTHLY"; } /** * The targeting for which traffic metrics will be reported. */ export interface GoogleAdsSearchads360V23Services__Targeting { /** * Targeted age range. An unset value is equivalent to targeting all ages. */ ageRange?: | "UNSPECIFIED" | "UNKNOWN" | "AGE_RANGE_18_24" | "AGE_RANGE_18_34" | "AGE_RANGE_18_44" | "AGE_RANGE_18_49" | "AGE_RANGE_18_54" | "AGE_RANGE_18_64" | "AGE_RANGE_18_65_UP" | "AGE_RANGE_21_34" | "AGE_RANGE_25_34" | "AGE_RANGE_25_44" | "AGE_RANGE_25_49" | "AGE_RANGE_25_54" | "AGE_RANGE_25_64" | "AGE_RANGE_25_65_UP" | "AGE_RANGE_35_44" | "AGE_RANGE_35_49" | "AGE_RANGE_35_54" | "AGE_RANGE_35_64" | "AGE_RANGE_35_65_UP" | "AGE_RANGE_45_54" | "AGE_RANGE_45_64" | "AGE_RANGE_45_65_UP" | "AGE_RANGE_50_65_UP" | "AGE_RANGE_55_64" | "AGE_RANGE_55_65_UP" | "AGE_RANGE_65_UP"; /** * Targeted audiences. If not specified, does not target any specific * audience. */ audienceTargeting?: GoogleAdsSearchads360V23Services__AudienceTargeting; /** * Targeted devices. If not specified, targets all applicable devices. * Applicable devices vary by product and region and can be obtained from * ReachPlanService.ListPlannableProducts. */ devices?: GoogleAdsSearchads360V23Common__DeviceInfo[]; /** * Targeted genders. An unset value is equivalent to targeting MALE and * FEMALE. */ genders?: GoogleAdsSearchads360V23Common__GenderInfo[]; /** * Targetable network for the ad product. If not specified, targets all * applicable networks. Applicable networks vary by product and region and can * be obtained from ReachPlanService.ListPlannableProducts. */ network?: | "UNSPECIFIED" | "UNKNOWN" | "YOUTUBE" | "GOOGLE_VIDEO_PARTNERS" | "YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS"; /** * The ID of the selected location. Plannable location IDs can be obtained * from ReachPlanService.ListPlannableLocations. Requests must set either this * field or `plannable_location_ids`. This field is deprecated as of V12 and * will be removed in a future release. Use `plannable_location_ids` instead. */ plannableLocationId?: string; /** * The list of plannable location IDs to target with this forecast. If more * than one ID is provided, all IDs must have the same `parent_country_id`. * Planning for more than `parent_county` is not supported. Plannable location * IDs and their `parent_country_id` can be obtained from * ReachPlanService.ListPlannableLocations. Requests must set either this * field or `plannable_location_id`. */ plannableLocationIds?: string[]; } /** * A suggested targetable audience relevant to the requested audience. */ export interface GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics { /** * Suggested age targeting; may be empty indicating no age targeting. */ ageRanges?: GoogleAdsSearchads360V23Common__AgeRangeInfo[]; /** * The fraction (from 0 to 1 inclusive) of the requested audience that can be * reached using the suggested targeting. */ coverage?: number; /** * Suggested gender targeting. If present, this attribute has dimension * GENDER. */ gender?: GoogleAdsSearchads360V23Common__GenderInfo; /** * The ratio of coverage to the coverage of the baseline audience or zero if * this ratio is undefined or is not meaningful. */ index?: number; /** * Suggested location targeting. These attributes all have dimension * GEO_TARGET_COUNTRY or SUB_COUNTRY_LOCATION */ locations?: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; /** * A Parental Status value (parent, or not a parent). */ parentalStatus?: GoogleAdsSearchads360V23Common__ParentalStatusInfo; /** * The approximate estimated number of people that can be reached on YouTube * using this targeting. */ potentialYoutubeReach?: bigint; /** * List of user interest attributes with metadata defining the audience. The * combination has a logical AND-of-ORs structure: The attributes within each * AudienceInsightsAttributeMetadataGroup are ORed, and the groups themselves * are ANDed. */ userInterests?: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup[]; } function serializeGoogleAdsSearchads360V23Services__TargetingSuggestionMetrics(data: any): GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics { return { ...data, locations: data["locations"] !== undefined ? data["locations"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, potentialYoutubeReach: data["potentialYoutubeReach"] !== undefined ? String(data["potentialYoutubeReach"]) : undefined, userInterests: data["userInterests"] !== undefined ? data["userInterests"].map((item: any) => (serializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__TargetingSuggestionMetrics(data: any): GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics { return { ...data, locations: data["locations"] !== undefined ? data["locations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata(item))) : undefined, potentialYoutubeReach: data["potentialYoutubeReach"] !== undefined ? BigInt(data["potentialYoutubeReach"]) : undefined, userInterests: data["userInterests"] !== undefined ? data["userInterests"].map((item: any) => (deserializeGoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup(item))) : undefined, }; } /** * An AdGroup/Campaign pair that could not be used as a suggestion for * keywords. AdGroups may not be usable if the AdGroup * belongs to a Campaign * that is not ENABLED or PAUSED * is itself not ENABLED */ export interface GoogleAdsSearchads360V23Services__UnusableAdGroup { /** * The AdGroup resource name. Resource name format: * `customers/{customer_id}/adGroups/{ad_group_id}` */ adGroup?: string; /** * The Campaign resource name. Resource name format: * `customers/{customer_id}/campaigns/{campaign_id}` */ campaign?: string; } /** * Request message for DataLinkService.UpdateDataLink. */ export interface GoogleAdsSearchads360V23Services__UpdateDataLinkRequest { /** * Required. The data link status to be updated to. */ dataLinkStatus?: | "UNSPECIFIED" | "UNKNOWN" | "REQUESTED" | "PENDING_APPROVAL" | "ENABLED" | "DISABLED" | "REVOKED" | "REJECTED"; /** * Required. The data link is expected to have a valid resource name. */ resourceName?: string; } /** * Response message for DataLinkService.UpdateDataLink. */ export interface GoogleAdsSearchads360V23Services__UpdateDataLinkResponse { /** * Returned for successful operations. Resource name of the data link. */ resourceName?: string; } /** * Request message for * ProductLinkInvitationService.UpdateProductLinkInvitation. */ export interface GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest { /** * Required. The product link invitation to be created. */ productLinkInvitationStatus?: | "UNSPECIFIED" | "UNKNOWN" | "ACCEPTED" | "REQUESTED" | "PENDING_APPROVAL" | "REVOKED" | "REJECTED" | "EXPIRED"; /** * Required. Resource name of the product link invitation. */ resourceName?: string; } /** * Response message for product link invitation update. */ export interface GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse { /** * Result of the update. */ resourceName?: string; } /** * Request message for UserDataService.UploadUserData */ export interface GoogleAdsSearchads360V23Services__UploadUserDataRequest { /** * Metadata for data updates to a Customer Match user list. */ customerMatchUserListMetadata?: GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata; /** * Required. The list of operations to be done. */ operations?: GoogleAdsSearchads360V23Services__UserDataOperation[]; } function serializeGoogleAdsSearchads360V23Services__UploadUserDataRequest(data: any): GoogleAdsSearchads360V23Services__UploadUserDataRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (serializeGoogleAdsSearchads360V23Services__UserDataOperation(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__UploadUserDataRequest(data: any): GoogleAdsSearchads360V23Services__UploadUserDataRequest { return { ...data, operations: data["operations"] !== undefined ? data["operations"].map((item: any) => (deserializeGoogleAdsSearchads360V23Services__UserDataOperation(item))) : undefined, }; } /** * Response message for UserDataService.UploadUserData Uploads made through * this service will not be visible under the 'Segment members' section for the * Customer Match List in the Google Ads UI. */ export interface GoogleAdsSearchads360V23Services__UploadUserDataResponse { /** * Number of upload data operations received by API. */ receivedOperationsCount?: number; /** * The date time at which the request was received by API, formatted as * "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". */ uploadDateTime?: string; } /** * Url Seed */ export interface GoogleAdsSearchads360V23Services__UrlSeed { /** * The URL to crawl in order to generate keyword ideas. */ url?: string; } /** * Operation to be made for the UploadUserDataRequest. */ export interface GoogleAdsSearchads360V23Services__UserDataOperation { /** * The list of user data to be appended to the user list. */ create?: GoogleAdsSearchads360V23Common__UserData; /** * The list of user data to be removed from the user list. */ remove?: GoogleAdsSearchads360V23Common__UserData; } function serializeGoogleAdsSearchads360V23Services__UserDataOperation(data: any): GoogleAdsSearchads360V23Services__UserDataOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Common__UserData(data["create"]) : undefined, remove: data["remove"] !== undefined ? serializeGoogleAdsSearchads360V23Common__UserData(data["remove"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__UserDataOperation(data: any): GoogleAdsSearchads360V23Services__UserDataOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__UserData(data["create"]) : undefined, remove: data["remove"] !== undefined ? deserializeGoogleAdsSearchads360V23Common__UserData(data["remove"]) : undefined, }; } /** * A single mutate operation on the user list customer type. */ export interface GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation { /** * Attach a user list customer type to a user list. No resource name is * expected for the new user list customer type. */ create?: GoogleAdsSearchads360V23Resources__UserListCustomerType; /** * Remove an existing user list customer type. A resource name for the * removed user list customer type is expected, in this format: * `customers/{customer_id}/userListCustomerTypes/{user_list_id}~{customer_type_category}` */ remove?: string; } /** * A single operation (create, update) on a user list. */ export interface GoogleAdsSearchads360V23Services__UserListOperation { /** * Create operation: No resource name is expected for the new user list. */ create?: GoogleAdsSearchads360V23Resources__UserList; /** * Remove operation: A resource name for the removed user list is expected, * in this format: `customers/{customer_id}/userLists/{user_list_id}` */ remove?: string; /** * Update operation: The user list is expected to have a valid resource name. */ update?: GoogleAdsSearchads360V23Resources__UserList; /** * FieldMask that determines which resource fields are modified in an update. */ updateMask?: string /* FieldMask */; } function serializeGoogleAdsSearchads360V23Services__UserListOperation(data: any): GoogleAdsSearchads360V23Services__UserListOperation { return { ...data, create: data["create"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__UserList(data["create"]) : undefined, update: data["update"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__UserList(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__UserListOperation(data: any): GoogleAdsSearchads360V23Services__UserListOperation { return { ...data, create: data["create"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__UserList(data["create"]) : undefined, update: data["update"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__UserList(data["update"]) : undefined, updateMask: data["updateMask"] !== undefined ? data["updateMask"] : undefined, }; } /** * A Plannable YouTube Select Lineup for product targeting. */ export interface GoogleAdsSearchads360V23Services__YouTubeSelectLineUp { /** * The ID of the YouTube Select Lineup. */ lineupId?: bigint; /** * The unique name of the YouTube Select Lineup. */ lineupName?: string; } function serializeGoogleAdsSearchads360V23Services__YouTubeSelectLineUp(data: any): GoogleAdsSearchads360V23Services__YouTubeSelectLineUp { return { ...data, lineupId: data["lineupId"] !== undefined ? String(data["lineupId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__YouTubeSelectLineUp(data: any): GoogleAdsSearchads360V23Services__YouTubeSelectLineUp { return { ...data, lineupId: data["lineupId"] !== undefined ? BigInt(data["lineupId"]) : undefined, }; } /** * Request settings for YouTube Select Lineups */ export interface GoogleAdsSearchads360V23Services__YouTubeSelectSettings { /** * Lineup for YouTube Select Targeting. */ lineupId?: bigint; } function serializeGoogleAdsSearchads360V23Services__YouTubeSelectSettings(data: any): GoogleAdsSearchads360V23Services__YouTubeSelectSettings { return { ...data, lineupId: data["lineupId"] !== undefined ? String(data["lineupId"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services__YouTubeSelectSettings(data: any): GoogleAdsSearchads360V23Services__YouTubeSelectSettings { return { ...data, lineupId: data["lineupId"] !== undefined ? BigInt(data["lineupId"]) : undefined, }; } /** * Common parameters used when applying ad asset recommendations. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters { /** * The resource names of existing assets to attach to a scope. This may be * combined with new_assets in the same call. */ existingAssets?: string[]; /** * The assets to create and attach to a scope. This may be combined with * existing_assets in the same call. */ newAssets?: GoogleAdsSearchads360V23Resources__Asset[]; /** * Required. The scope at which to apply the assets. Assets at the campaign * scope level will be applied to the campaign associated with the * recommendation. Assets at the customer scope will apply to the entire * account. Assets at the campaign scope will override any attached at the * customer scope. */ scope?: | "UNSPECIFIED" | "UNKNOWN" | "CUSTOMER" | "CAMPAIGN"; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters { return { ...data, newAssets: data["newAssets"] !== undefined ? data["newAssets"].map((item: any) => (serializeGoogleAdsSearchads360V23Resources__Asset(item))) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters { return { ...data, newAssets: data["newAssets"] !== undefined ? data["newAssets"].map((item: any) => (deserializeGoogleAdsSearchads360V23Resources__Asset(item))) : undefined, }; } /** * Parameters to use when applying call asset recommendations. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters { /** * Required. Call assets to be added. This is a required field. */ adAssetApplyParameters?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters { return { ...data, adAssetApplyParameters: data["adAssetApplyParameters"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters(data["adAssetApplyParameters"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters { return { ...data, adAssetApplyParameters: data["adAssetApplyParameters"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters(data["adAssetApplyParameters"]) : undefined, }; } /** * Parameters to use when applying call extension recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters { /** * Call extensions to be added. This is a required field. */ callExtensions?: GoogleAdsSearchads360V23Common__CallFeedItem[]; } /** * Parameters to use when applying callout asset recommendations. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters { /** * Required. Callout assets to be added. This is a required field. */ adAssetApplyParameters?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters { return { ...data, adAssetApplyParameters: data["adAssetApplyParameters"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters(data["adAssetApplyParameters"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters { return { ...data, adAssetApplyParameters: data["adAssetApplyParameters"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters(data["adAssetApplyParameters"]) : undefined, }; } /** * Parameters to use when applying callout extension recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters { /** * Callout extensions to be added. This is a required field. */ calloutExtensions?: GoogleAdsSearchads360V23Common__CalloutFeedItem[]; } /** * Parameters to use when applying a campaign budget recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters { /** * New budget amount to set for target budget resource. This is a required * field. */ newBudgetAmountMicros?: bigint; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters { return { ...data, newBudgetAmountMicros: data["newBudgetAmountMicros"] !== undefined ? String(data["newBudgetAmountMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters { return { ...data, newBudgetAmountMicros: data["newBudgetAmountMicros"] !== undefined ? BigInt(data["newBudgetAmountMicros"]) : undefined, }; } /** * Parameters to use when applying a set target CPA recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters { /** * New campaign budget amount to set for a campaign resource. */ campaignBudgetAmountMicros?: bigint; /** * Average CPA to use for Target CPA bidding strategy. */ targetCpaMicros?: bigint; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters { return { ...data, campaignBudgetAmountMicros: data["campaignBudgetAmountMicros"] !== undefined ? String(data["campaignBudgetAmountMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? String(data["targetCpaMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters { return { ...data, campaignBudgetAmountMicros: data["campaignBudgetAmountMicros"] !== undefined ? BigInt(data["campaignBudgetAmountMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? BigInt(data["targetCpaMicros"]) : undefined, }; } /** * Parameters to use when applying a forecasting set target roas * recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters { /** * New campaign budget amount to set for a campaign resource. */ campaignBudgetAmountMicros?: bigint; /** * New target ROAS (revenue per unit of spend) to set for a campaign * resource. The value is between 0.01 and 1000.0, inclusive. */ targetRoas?: number; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters { return { ...data, campaignBudgetAmountMicros: data["campaignBudgetAmountMicros"] !== undefined ? String(data["campaignBudgetAmountMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters { return { ...data, campaignBudgetAmountMicros: data["campaignBudgetAmountMicros"] !== undefined ? BigInt(data["campaignBudgetAmountMicros"]) : undefined, }; } /** * Parameters to use when applying keyword recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters { /** * The ad group resource to add keyword to. This is a required field. */ adGroup?: string; /** * Optional, CPC bid to set for the keyword. If not set, keyword will use bid * based on bidding strategy used by target ad group. */ cpcBidMicros?: bigint; /** * The match type of the keyword. This is a required field. */ matchType?: | "UNSPECIFIED" | "UNKNOWN" | "EXACT" | "PHRASE" | "BROAD"; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? String(data["cpcBidMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters { return { ...data, cpcBidMicros: data["cpcBidMicros"] !== undefined ? BigInt(data["cpcBidMicros"]) : undefined, }; } /** * Parameters to use when applying a lead form asset recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters { /** * Required. Lead form assets to be added. This is a required field. */ adAssetApplyParameters?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters; /** * If true, the "Submit Lead Form" goal will be set on the target campaign. * As a result, ads will be shown as lead form creative ads. If false, the * "Submit Lead Form" goal will not be set on the campaign and ads will * contain lead form assets. */ setSubmitLeadFormAssetCampaignGoal?: boolean; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters { return { ...data, adAssetApplyParameters: data["adAssetApplyParameters"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters(data["adAssetApplyParameters"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters { return { ...data, adAssetApplyParameters: data["adAssetApplyParameters"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters(data["adAssetApplyParameters"]) : undefined, }; } /** * Parameters to use when applying lower Target ROAS recommendations. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters { /** * Required. Target to set ROAS multiplier to. This is a required field. */ targetRoasMultiplier?: number; } /** * Parameters to use when applying move unused budget recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters { /** * Budget amount to move from excess budget to constrained budget. This is a * required field. */ budgetMicrosToMove?: bigint; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters { return { ...data, budgetMicrosToMove: data["budgetMicrosToMove"] !== undefined ? String(data["budgetMicrosToMove"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters { return { ...data, budgetMicrosToMove: data["budgetMicrosToMove"] !== undefined ? BigInt(data["budgetMicrosToMove"]) : undefined, }; } /** * Parameters to use when applying a raise target CPA bid too low * recommendation. The apply is asynchronous and can take minutes depending on * the number of ad groups there is in the related campaign.. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters { /** * Required. A number greater than 1.0 indicating the factor by which to * increase the target CPA. This is a required field. */ targetMultiplier?: number; } /** * Parameters to use when applying raise Target CPA recommendations. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters { /** * Required. Target to set CPA multiplier to. This is a required field. */ targetCpaMultiplier?: number; } /** * Parameters to use when applying a responsive search ad asset recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters { /** * Updated ad. The current ad's content will be replaced. */ updatedAd?: GoogleAdsSearchads360V23Resources__Ad; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters { return { ...data, updatedAd: data["updatedAd"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Ad(data["updatedAd"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters { return { ...data, updatedAd: data["updatedAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Ad(data["updatedAd"]) : undefined, }; } /** * Parameters to use when applying a responsive search ad improve ad strength * recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters { /** * Updated ad. The current ad's content will be replaced. */ updatedAd?: GoogleAdsSearchads360V23Resources__Ad; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters { return { ...data, updatedAd: data["updatedAd"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Ad(data["updatedAd"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters { return { ...data, updatedAd: data["updatedAd"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Ad(data["updatedAd"]) : undefined, }; } /** * Parameters to use when applying a responsive search ad recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters { /** * Required. New ad to add to recommended ad group. */ ad?: GoogleAdsSearchads360V23Resources__Ad; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters { return { ...data, ad: data["ad"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Ad(data["ad"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters { return { ...data, ad: data["ad"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Ad(data["ad"]) : undefined, }; } /** * Parameters to use when applying sitelink asset recommendations. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters { /** * Required. Sitelink assets to be added. This is a required field. */ adAssetApplyParameters?: GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters { return { ...data, adAssetApplyParameters: data["adAssetApplyParameters"] !== undefined ? serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters(data["adAssetApplyParameters"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters { return { ...data, adAssetApplyParameters: data["adAssetApplyParameters"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters(data["adAssetApplyParameters"]) : undefined, }; } /** * Parameters to use when applying sitelink recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters { /** * Sitelinks to be added. This is a required field. */ sitelinkExtensions?: GoogleAdsSearchads360V23Common__SitelinkFeedItem[]; } /** * Parameters to use when applying Target CPA recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters { /** * Optional, budget amount to set for the campaign. */ newCampaignBudgetAmountMicros?: bigint; /** * Average CPA to use for Target CPA bidding strategy. This is a required * field. */ targetCpaMicros?: bigint; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters { return { ...data, newCampaignBudgetAmountMicros: data["newCampaignBudgetAmountMicros"] !== undefined ? String(data["newCampaignBudgetAmountMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? String(data["targetCpaMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters { return { ...data, newCampaignBudgetAmountMicros: data["newCampaignBudgetAmountMicros"] !== undefined ? BigInt(data["newCampaignBudgetAmountMicros"]) : undefined, targetCpaMicros: data["targetCpaMicros"] !== undefined ? BigInt(data["targetCpaMicros"]) : undefined, }; } /** * Parameters to use when applying a Target ROAS opt-in recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters { /** * Optional, budget amount to set for the campaign. */ newCampaignBudgetAmountMicros?: bigint; /** * Average ROAS (revenue per unit of spend) to use for Target ROAS bidding * strategy. The value is between 0.01 and 1000.0, inclusive. This is a * required field, unless new_campaign_budget_amount_micros is set. */ targetRoas?: number; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters { return { ...data, newCampaignBudgetAmountMicros: data["newCampaignBudgetAmountMicros"] !== undefined ? String(data["newCampaignBudgetAmountMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters { return { ...data, newCampaignBudgetAmountMicros: data["newCampaignBudgetAmountMicros"] !== undefined ? BigInt(data["newCampaignBudgetAmountMicros"]) : undefined, }; } /** * Parameters to use when applying a text ad recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters { /** * New ad to add to recommended ad group. All necessary fields need to be set * in this message. This is a required field. */ ad?: GoogleAdsSearchads360V23Resources__Ad; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters { return { ...data, ad: data["ad"] !== undefined ? serializeGoogleAdsSearchads360V23Resources__Ad(data["ad"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters { return { ...data, ad: data["ad"] !== undefined ? deserializeGoogleAdsSearchads360V23Resources__Ad(data["ad"]) : undefined, }; } /** * Parameters to use when applying a use broad match keyword recommendation. */ export interface GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters { /** * New budget amount to set for target budget resource. */ newBudgetAmountMicros?: bigint; } function serializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters { return { ...data, newBudgetAmountMicros: data["newBudgetAmountMicros"] !== undefined ? String(data["newBudgetAmountMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters(data: any): GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters { return { ...data, newBudgetAmountMicros: data["newBudgetAmountMicros"] !== undefined ? BigInt(data["newBudgetAmountMicros"]) : undefined, }; } /** * Supported bidding strategies for new campaign forecasts. */ export interface GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy { /** * Use manual CPC bidding strategy for forecasting. */ manualCpcBiddingStrategy?: GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy; /** * Use maximize clicks bidding strategy for forecasting. */ maximizeClicksBiddingStrategy?: GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy; /** * Use maximize conversions bidding strategy for forecasting. */ maximizeConversionsBiddingStrategy?: GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy; } function serializeGoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy(data: any): GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy { return { ...data, manualCpcBiddingStrategy: data["manualCpcBiddingStrategy"] !== undefined ? serializeGoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy(data["manualCpcBiddingStrategy"]) : undefined, maximizeClicksBiddingStrategy: data["maximizeClicksBiddingStrategy"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy(data["maximizeClicksBiddingStrategy"]) : undefined, maximizeConversionsBiddingStrategy: data["maximizeConversionsBiddingStrategy"] !== undefined ? serializeGoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy(data["maximizeConversionsBiddingStrategy"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy(data: any): GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy { return { ...data, manualCpcBiddingStrategy: data["manualCpcBiddingStrategy"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy(data["manualCpcBiddingStrategy"]) : undefined, maximizeClicksBiddingStrategy: data["maximizeClicksBiddingStrategy"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy(data["maximizeClicksBiddingStrategy"]) : undefined, maximizeConversionsBiddingStrategy: data["maximizeConversionsBiddingStrategy"] !== undefined ? deserializeGoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy(data["maximizeConversionsBiddingStrategy"]) : undefined, }; } /** * Operation to dismiss a single recommendation identified by resource_name. */ export interface GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation { /** * The resource name of the recommendation to dismiss. */ resourceName?: string; } /** * The result of dismissing a recommendation. */ export interface GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult { /** * Returned for successful dismissals. */ resourceName?: string; } /** * Current AdGroup Information of the campaign. */ export interface GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo { /** * Optional. AdGroup Type of the AdGroup. This field is necessary for the * following recommendation_types if ad_group_info is set: KEYWORD */ adGroupType?: | "UNSPECIFIED" | "UNKNOWN" | "SEARCH_STANDARD" | "DISPLAY_STANDARD" | "SHOPPING_PRODUCT_ADS" | "HOTEL_ADS" | "SHOPPING_SMART_ADS" | "VIDEO_BUMPER" | "VIDEO_TRUE_VIEW_IN_STREAM" | "VIDEO_TRUE_VIEW_IN_DISPLAY" | "VIDEO_NON_SKIPPABLE_IN_STREAM" | "SEARCH_DYNAMIC_ADS" | "SHOPPING_COMPARISON_LISTING_ADS" | "PROMOTED_HOTEL_ADS" | "VIDEO_RESPONSIVE" | "VIDEO_EFFICIENT_REACH" | "SMART_CAMPAIGN_ADS" | "TRAVEL_ADS"; /** * Optional. Current keywords. This field is optional for the following * recommendation_types if ad_group_info is set: KEYWORD */ keywords?: GoogleAdsSearchads360V23Common__KeywordInfo[]; } /** * Current AssetGroup information of the campaign. */ export interface GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo { /** * Optional. Current descriptions of the asset group. This field is optional * for the following recommendation_types if asset_group_info is set: * CAMPAIGN_BUDGET */ description?: string[]; /** * Required. Current url of the asset group. This field is necessary for the * following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET */ finalUrl?: string; /** * Optional. Current headlines of the asset group. This field is optional for * the following recommendation_types if asset_group_info is set: * CAMPAIGN_BUDGET */ headline?: string[]; } /** * Current bidding information of the campaign. Provides a wrapper for * bidding-related signals that inform recommendations. */ export interface GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo { /** * Current bidding strategy. This field is necessary for the following * recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, * MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, * TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN */ biddingStrategyType?: | "UNSPECIFIED" | "UNKNOWN" | "COMMISSION" | "ENHANCED_CPC" | "INVALID" | "MANUAL_CPA" | "MANUAL_CPC" | "MANUAL_CPM" | "MANUAL_CPV" | "MAXIMIZE_CONVERSIONS" | "MAXIMIZE_CONVERSION_VALUE" | "PAGE_ONE_PROMOTED" | "PERCENT_CPC" | "TARGET_CPA" | "TARGET_CPC" | "TARGET_CPM" | "TARGET_IMPRESSION_SHARE" | "TARGET_OUTRANK_SHARE" | "TARGET_ROAS" | "TARGET_SPEND"; /** * Current target_cpa in micros. This can be populated for campaigns with a * bidding strategy type of TARGET_CPA or MAXIMIZE_CONVERSIONS. */ targetCpaMicros?: bigint; /** * Optional. Current Target Impression Share information of the campaign. * This field is necessary for the following recommendation_types: * CAMPAIGN_BUDGET */ targetImpressionShareInfo?: GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo; /** * Current target_roas. This can be populated for campaigns with a bidding * strategy type of TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE. */ targetRoas?: number; } function serializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo(data: any): GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo { return { ...data, targetCpaMicros: data["targetCpaMicros"] !== undefined ? String(data["targetCpaMicros"]) : undefined, targetImpressionShareInfo: data["targetImpressionShareInfo"] !== undefined ? serializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo(data["targetImpressionShareInfo"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo(data: any): GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo { return { ...data, targetCpaMicros: data["targetCpaMicros"] !== undefined ? BigInt(data["targetCpaMicros"]) : undefined, targetImpressionShareInfo: data["targetImpressionShareInfo"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo(data["targetImpressionShareInfo"]) : undefined, }; } /** * Current budget information of the campaign. */ export interface GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo { /** * Required. Current budget amount in micros. This field is necessary for the * following recommendation_types if budget_info is set: CAMPAIGN_BUDGET */ currentBudget?: bigint; } function serializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo(data: any): GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo { return { ...data, currentBudget: data["currentBudget"] !== undefined ? String(data["currentBudget"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo(data: any): GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo { return { ...data, currentBudget: data["currentBudget"] !== undefined ? BigInt(data["currentBudget"]) : undefined, }; } /** * A keyword seed and a specific url to generate keywords from. */ export interface GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo { /** * Optional. Keywords or phrases to generate ideas from, for example: cars or * "car dealership near me". */ keywordSeeds?: string[]; /** * A specific url to generate ideas from, for example: www.example.com/cars. */ urlSeed?: string; } /** * Current Target Impression Share information of the campaign. */ export interface GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo { /** * Required. The targeted location on the search results page. This is * required for campaigns where the AdvertisingChannelType is SEARCH and the * bidding strategy type is TARGET_IMPRESSION_SHARE. */ location?: | "UNSPECIFIED" | "UNKNOWN" | "ANYWHERE_ON_PAGE" | "TOP_OF_PAGE" | "ABSOLUTE_TOP_OF_PAGE"; /** * Optional. Ceiling of max CPC bids in micros set by automated bidders. This * is optional for campaigns with an AdvertisingChannelType of SEARCH and a * bidding strategy type of TARGET_IMPRESSION_SHARE. */ maxCpcBidCeiling?: bigint; /** * Required. The chosen fraction of targeted impression share in micros. For * example, 1% equals 10,000. It must be a value between 1 and 1,000,000. This * is required for campaigns with an AdvertisingChannelType of SEARCH and a * bidding strategy type of TARGET_IMPRESSION_SHARE. */ targetImpressionShareMicros?: bigint; } function serializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo(data: any): GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo { return { ...data, maxCpcBidCeiling: data["maxCpcBidCeiling"] !== undefined ? String(data["maxCpcBidCeiling"]) : undefined, targetImpressionShareMicros: data["targetImpressionShareMicros"] !== undefined ? String(data["targetImpressionShareMicros"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo(data: any): GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo { return { ...data, maxCpcBidCeiling: data["maxCpcBidCeiling"] !== undefined ? BigInt(data["maxCpcBidCeiling"]) : undefined, targetImpressionShareMicros: data["targetImpressionShareMicros"] !== undefined ? BigInt(data["targetImpressionShareMicros"]) : undefined, }; } /** * Requirement for an incentive. */ export interface GoogleAdsSearchads360V23Services_Incentive_Requirement { /** * Optional. Spend requirement for an incentive. */ spend?: GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend; } function serializeGoogleAdsSearchads360V23Services_Incentive_Requirement(data: any): GoogleAdsSearchads360V23Services_Incentive_Requirement { return { ...data, spend: data["spend"] !== undefined ? serializeGoogleAdsSearchads360V23Services_IncentiveRequirement_Spend(data["spend"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_Incentive_Requirement(data: any): GoogleAdsSearchads360V23Services_Incentive_Requirement { return { ...data, spend: data["spend"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_IncentiveRequirement_Spend(data["spend"]) : undefined, }; } /** * Spend requirements for an incentive. */ export interface GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend { /** * Required. Amount in free spend that user will be granted after spending * target amount. Denominated in the currency of the country passed in the get * request. */ awardAmount?: GoogleType__Money; /** * Required. Amount that user must spend to receive the award amount. * Denominated in the currency of the country passed in the get request. */ requiredAmount?: GoogleType__Money; } function serializeGoogleAdsSearchads360V23Services_IncentiveRequirement_Spend(data: any): GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend { return { ...data, awardAmount: data["awardAmount"] !== undefined ? serializeGoogleType__Money(data["awardAmount"]) : undefined, requiredAmount: data["requiredAmount"] !== undefined ? serializeGoogleType__Money(data["requiredAmount"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_IncentiveRequirement_Spend(data: any): GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend { return { ...data, awardAmount: data["awardAmount"] !== undefined ? deserializeGoogleType__Money(data["awardAmount"]) : undefined, requiredAmount: data["requiredAmount"] !== undefined ? deserializeGoogleType__Money(data["requiredAmount"]) : undefined, }; } /** * The attribute of the metric in key value pair format. */ export interface GoogleAdsSearchads360V23Services_MetricAttributes_Attribute { /** * The key of the attribute. */ key?: string; /** * The value of the attribute. */ value?: string; } /** * The list of marketing objectives to generate benchmarks metrics for. */ export interface GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList { /** * Required. Marketing objectives to generate benchmarks metrics for. */ marketingObjectives?: | "UNSPECIFIED" | "UNKNOWN" | "AWARENESS" | "CONSIDERATION" | "ACTION"[]; } /** * The list of products to generate benchmarks metrics for. */ export interface GoogleAdsSearchads360V23Services_ProductFilter_ProductList { /** * Required. Products to generate benchmarks metrics for. */ productCodes?: string[]; } /** * A context that describes a business. */ export interface GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext { /** * Optional. The name of the business. */ businessName?: string; } /** * A list of locations. */ export interface GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList { /** * Required. Locations. */ locations?: GoogleAdsSearchads360V23Common__LocationInfo[]; } /** * A list of geo target constant resource names. */ export interface GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets { /** * A list of geo target constant resource names. */ geoTargetConstants?: string[]; } /** * A list of location names. */ export interface GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames { /** * A list of location names. */ names?: string[]; } /** * A Smart campaign keyword theme suggestion. */ export interface GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme { /** * A free-form text keyword theme. */ freeFormKeywordTheme?: string; /** * A Smart campaign keyword theme constant. */ keywordThemeConstant?: GoogleAdsSearchads360V23Resources__KeywordThemeConstant; } /** * Smart Campaign budget option. */ export interface GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption { /** * The amount of the budget, in the local currency for the account. Amount is * specified in micros, where one million is equivalent to one currency unit. */ dailyAmountMicros?: bigint; /** * Metrics pertaining to the suggested budget, could be empty if there is not * enough information to derive the estimates. */ metrics?: GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics; } function serializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption(data: any): GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption { return { ...data, dailyAmountMicros: data["dailyAmountMicros"] !== undefined ? String(data["dailyAmountMicros"]) : undefined, metrics: data["metrics"] !== undefined ? serializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics(data["metrics"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption(data: any): GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption { return { ...data, dailyAmountMicros: data["dailyAmountMicros"] !== undefined ? BigInt(data["dailyAmountMicros"]) : undefined, metrics: data["metrics"] !== undefined ? deserializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics(data["metrics"]) : undefined, }; } /** * Performance metrics for a given budget option. */ export interface GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics { /** * The estimated max daily clicks. */ maxDailyClicks?: bigint; /** * The estimated min daily clicks. */ minDailyClicks?: bigint; } function serializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics(data: any): GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics { return { ...data, maxDailyClicks: data["maxDailyClicks"] !== undefined ? String(data["maxDailyClicks"]) : undefined, minDailyClicks: data["minDailyClicks"] !== undefined ? String(data["minDailyClicks"]) : undefined, }; } function deserializeGoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics(data: any): GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics { return { ...data, maxDailyClicks: data["maxDailyClicks"] !== undefined ? BigInt(data["maxDailyClicks"]) : undefined, minDailyClicks: data["minDailyClicks"] !== undefined ? BigInt(data["minDailyClicks"]) : undefined, }; } /** * This resource represents a long-running operation that is the result of a * network API call. */ export interface GoogleLongrunning__Operation { /** * If the value is `false`, it means the operation is still in progress. If * `true`, the operation is completed, and either `error` or `response` is * available. */ done?: boolean; /** * The error result of the operation in case of failure or cancellation. */ error?: GoogleRpc__Status; /** * Service-specific metadata associated with the operation. It typically * contains progress information and common metadata such as create time. Some * services might not provide such metadata. Any method that returns a * long-running operation should document the metadata type, if any. */ metadata?: { [key: string]: any }; /** * The server-assigned name, which is only unique within the same service * that originally returns it. If you use the default HTTP mapping, the `name` * should be a resource name ending with `operations/{unique_id}`. */ name?: string; /** * The normal, successful response of the operation. If the original method * returns no data on success, such as `Delete`, the response is * `google.protobuf.Empty`. If the original method is standard * `Get`/`Create`/`Update`, the response should be the resource. For other * methods, the response should have the type `XxxResponse`, where `Xxx` is * the original method name. For example, if the original method name is * `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. */ response?: { [key: string]: any }; } /** * A generic empty message that you can re-use to avoid defining duplicated * empty messages in your APIs. A typical example is to use it as the request or * the response type of an API method. For instance: service Foo { rpc * Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } */ export interface GoogleProtobuf__Empty { } /** * The `Status` type defines a logical error model that is suitable for * different programming environments, including REST APIs and RPC APIs. It is * used by [gRPC](https://github.com/grpc). Each `Status` message contains three * pieces of data: error code, error message, and error details. You can find * out more about this error model and how to work with it in the [API Design * Guide](https://cloud.google.com/apis/design/errors). */ export interface GoogleRpc__Status { /** * The status code, which should be an enum value of google.rpc.Code. */ code?: number; /** * A list of messages that carry the error details. There is a common set of * message types for APIs to use. */ details?: { [key: string]: any }[]; /** * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the * google.rpc.Status.details field, or localized by the client. */ message?: string; } /** * Represents an amount of money with its currency type. */ export interface GoogleType__Money { /** * The three-letter currency code defined in ISO 4217. */ currencyCode?: string; /** * Number of nano (10^-9) units of the amount. The value must be between * -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` * must be positive or zero. If `units` is zero, `nanos` can be positive, * zero, or negative. If `units` is negative, `nanos` must be negative or * zero. For example $-1.75 is represented as `units`=-1 and * `nanos`=-750,000,000. */ nanos?: number; /** * The whole units of the amount. For example if `currencyCode` is `"USD"`, * then 1 unit is one US dollar. */ units?: bigint; } function serializeGoogleType__Money(data: any): GoogleType__Money { return { ...data, units: data["units"] !== undefined ? String(data["units"]) : undefined, }; } function deserializeGoogleType__Money(data: any): GoogleType__Money { return { ...data, units: data["units"] !== undefined ? BigInt(data["units"]) : undefined, }; } /** * Additional options for SearchAds360#incentivesFetchIncentive. */ export interface IncentivesFetchIncentiveOptions { /** * Optional. User's country code. If not provided, the server will default to * "US". Possible country codes: * https://developers.google.com/google-ads/api/data/codes-formats#country_codes */ countryCode?: string; /** * Optional. Email of the user that the requested incentive is meant for. * Will be used for channel partners who do NOT use OAuth to authenticate on * behalf of user. */ email?: string; /** * Optional. User's language code. If not provided, the server will default * to "en". Possible language codes: * https://developers.google.com/google-ads/api/data/codes-formats#languages */ languageCode?: string; /** * Optional. The type of incentive to get. Defaults to ACQUISITION. */ type?: | "UNSPECIFIED" | "UNKNOWN" | "ACQUISITION"; } function decodeBase64(b64: string): Uint8Array { const binString = atob(b64); const size = binString.length; const bytes = new Uint8Array(size); for (let i = 0; i < size; i++) { bytes[i] = binString.charCodeAt(i); } return bytes; } const base64abc = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"]; /** * CREDIT: https://gist.github.com/enepomnyaschih/72c423f727d395eeaa09697058238727 * Encodes a given Uint8Array, ArrayBuffer or string into RFC4648 base64 representation * @param data */ function encodeBase64(uint8: Uint8Array): string { let result = "", i; const l = uint8.length; for (i = 2; i < l; i += 3) { result += base64abc[uint8[i - 2] >> 2]; result += base64abc[((uint8[i - 2] & 0x03) << 4) | (uint8[i - 1] >> 4)]; result += base64abc[((uint8[i - 1] & 0x0f) << 2) | (uint8[i] >> 6)]; result += base64abc[uint8[i] & 0x3f]; } if (i === l + 1) { // 1 octet yet to write result += base64abc[uint8[i - 2] >> 2]; result += base64abc[(uint8[i - 2] & 0x03) << 4]; result += "=="; } if (i === l) { // 2 octets yet to write result += base64abc[uint8[i - 2] >> 2]; result += base64abc[((uint8[i - 2] & 0x03) << 4) | (uint8[i - 1] >> 4)]; result += base64abc[(uint8[i - 1] & 0x0f) << 2]; result += "="; } return result; }