{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-ads/json-schema/google-ads-google-ads-googleads-v25-services-list-batch-job-results-response-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__ListBatchJobResultsResponse",
  "description": "Response message for BatchJobService.ListBatchJobResults.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-batchjobs-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__ListBatchJobResultsResponse",
  "type": "object",
  "properties": {
    "nextPageToken": {
      "type": "string",
      "description": "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."
    },
    "results": {
      "type": "array",
      "description": "The list of rows that matched the query.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__BatchJobResult"
      }
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Actions__BookCampaignsResult": {
      "type": "object",
      "properties": {},
      "description": "Response message for the BookCampaigns action. Note that if the response contains errors, the action response will not be returned, but a quote may still be returned in the ErrorDetails.reservation_error_details field."
    },
    "GoogleAdsGoogleadsV25Actions__QuoteCampaignsResult": {
      "description": "The response of the QuoteCampaigns action, when the action is successful. Note that if the response contains errors, the action response will not be returned, but a quote may still be returned in the ErrorDetails.reservation_error_details field.",
      "type": "object",
      "properties": {
        "quotes": {
          "description": "The quotes for the requested campaigns.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignReservationQuote"
          },
          "type": "array"
        },
        "quoteSignature": {
          "type": "string",
          "description": "The signature of the quote. This signature should be used when booking the quote."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_CountryConstraint": {
      "type": "object",
      "properties": {
        "countryCriterion": {
          "description": "Geo target constant resource name of the country in which serving is constrained.",
          "type": "string"
        }
      },
      "description": "Indicates that a resource's ability to serve in a particular country is constrained."
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_CountryConstraintList": {
      "description": "A list of countries where a resource's serving is constrained.",
      "type": "object",
      "properties": {
        "totalTargetedCountries": {
          "format": "int32",
          "type": "integer",
          "description": "Total number of countries targeted by the resource."
        },
        "countries": {
          "type": "array",
          "description": "Countries in which serving is restricted.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_CountryConstraint"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_ResellerConstraint": {
      "description": "Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationMismatch": {
      "type": "object",
      "properties": {
        "urlTypes": {
          "type": "array",
          "description": "The set of URLs that did not match each other.",
          "items": {
            "x-enumDescriptions": [
              "No value has been specified.",
              "The received value is not known in this version. This is a response-only value.",
              "The display url.",
              "The final url.",
              "The final mobile url.",
              "The tracking url template, with substituted desktop url.",
              "The tracking url template, with substituted mobile url."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "DISPLAY_URL",
              "FINAL_URL",
              "FINAL_MOBILE_URL",
              "TRACKING_URL",
              "MOBILE_TRACKING_URL"
            ],
            "type": "string"
          }
        }
      },
      "description": "Evidence of mismatches between the URLs of a resource."
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationNotWorking": {
      "type": "object",
      "properties": {
        "httpErrorCode": {
          "format": "int64",
          "type": "string",
          "description": "The HTTP error code."
        },
        "expandedUrl": {
          "type": "string",
          "description": "The full URL that didn't work."
        },
        "device": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Landing page doesn't work on desktop device.",
            "Landing page doesn't work on Android device.",
            "Landing page doesn't work on iOS device."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DESKTOP",
            "ANDROID",
            "IOS"
          ],
          "type": "string",
          "description": "The type of device that failed to load the URL."
        },
        "dnsErrorType": {
          "description": "The type of DNS error.",
          "type": "string",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Host name not found in DNS when fetching landing page.",
            "Google internal crawler issue when communicating with DNS. This error doesn't mean the landing page doesn't work. Google will recrawl the landing page."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "HOSTNAME_NOT_FOUND",
            "GOOGLE_CRAWLER_DNS_ISSUE"
          ]
        },
        "lastCheckedDateTime": {
          "description": "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\"",
          "type": "string"
        }
      },
      "description": "Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices."
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationTextList": {
      "type": "object",
      "properties": {
        "destinationTexts": {
          "type": "array",
          "description": "List of text found in the resource's destination page.",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "A list of strings found in a destination page that caused a policy finding."
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_TextList": {
      "type": "object",
      "properties": {
        "texts": {
          "description": "The fragments of text from the resource that caused the policy finding.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "A list of fragments of text that violated a policy."
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_WebsiteList": {
      "description": "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.",
      "type": "object",
      "properties": {
        "websites": {
          "type": "array",
          "description": "Websites that caused the policy finding.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityCityInfo": {
      "description": "The city where the travel activity is available.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity city. The Geo Target Constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityCountryInfo": {
      "description": "The country where the travel activity is available.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity country. The Geo Target Constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityIdInfo": {
      "description": "Advertiser-specific activity ID.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity ID."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityRatingInfo": {
      "description": "Rating of the activity as a number 1 to 5, where 5 is the best.",
      "type": "object",
      "properties": {
        "value": {
          "description": "Long value of the activity rating.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityStateInfo": {
      "description": "The state where the travel activity is available.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity state. The Geo Target Constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdAppDeepLinkAsset": {
      "description": "An app deep link used inside an ad.",
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "description": "The Asset resource name of this app deep link asset."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdAssetPolicySummary": {
      "type": "object",
      "properties": {
        "policyTopicEntries": {
          "description": "The list of policy findings for this asset.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PolicyTopicEntry"
          },
          "type": "array"
        },
        "reviewStatus": {
          "description": "Where in the review process this asset.",
          "type": "string",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Currently under review.",
            "Primary review complete. Other reviews may be continuing.",
            "The resource has been resubmitted for approval or its policy decision has been appealed.",
            "The resource is eligible and may be serving but could still undergo further review."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REVIEW_IN_PROGRESS",
            "REVIEWED",
            "UNDER_APPEAL",
            "ELIGIBLE_MAY_SERVE"
          ]
        },
        "approvalStatus": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Will not serve.",
            "Serves with restrictions.",
            "Serves without restrictions.",
            "Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DISAPPROVED",
            "APPROVED_LIMITED",
            "APPROVED",
            "AREA_OF_INTEREST_ONLY"
          ],
          "description": "The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.",
          "type": "string"
        }
      },
      "description": "Contains policy information for an asset inside an ad."
    },
    "GoogleAdsGoogleadsV25Common__AdCallToActionAsset": {
      "description": "A call to action asset used inside an ad.",
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "description": "The Asset resource name of this call to action asset."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdDemandGenCarouselCardAsset": {
      "type": "object",
      "properties": {
        "asset": {
          "description": "The Asset resource name of this discovery carousel card.",
          "type": "string"
        }
      },
      "description": "A Demand Gen carousel card asset used inside an ad."
    },
    "GoogleAdsGoogleadsV25Common__AdImageAsset": {
      "type": "object",
      "properties": {
        "asset": {
          "description": "The Asset resource name of this image.",
          "type": "string"
        }
      },
      "description": "An image asset used inside an ad."
    },
    "GoogleAdsGoogleadsV25Common__AdMediaBundleAsset": {
      "description": "A media bundle asset used inside an ad.",
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "description": "The Asset resource name of this media bundle."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdScheduleInfo": {
      "type": "object",
      "properties": {
        "dayOfWeek": {
          "description": "Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Monday.",
            "Tuesday.",
            "Wednesday.",
            "Thursday.",
            "Friday.",
            "Saturday.",
            "Sunday."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY",
            "THURSDAY",
            "FRIDAY",
            "SATURDAY",
            "SUNDAY"
          ]
        },
        "startHour": {
          "type": "integer",
          "description": "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.",
          "format": "int32"
        },
        "endHour": {
          "type": "integer",
          "description": "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.",
          "format": "int32"
        },
        "endMinute": {
          "type": "string",
          "description": "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.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Zero minutes past the hour.",
            "Fifteen minutes past the hour.",
            "Thirty minutes past the hour.",
            "Forty-five minutes past the hour."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ZERO",
            "FIFTEEN",
            "THIRTY",
            "FORTY_FIVE"
          ]
        },
        "startMinute": {
          "description": "Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Zero minutes past the hour.",
            "Fifteen minutes past the hour.",
            "Thirty minutes past the hour.",
            "Forty-five minutes past the hour."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ZERO",
            "FIFTEEN",
            "THIRTY",
            "FORTY_FIVE"
          ]
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Common__AdTextAsset": {
      "description": "A text asset used inside an ad.",
      "type": "object",
      "properties": {
        "pinnedField": {
          "type": "string",
          "description": "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.",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The asset is used in headline 1.",
            "The asset is used in headline 2.",
            "The asset is used in headline 3.",
            "The asset is used in description 1.",
            "The asset is used in description 2.",
            "The asset was used in a headline. Use this only if there is only one headline in the ad. Otherwise, use the HEADLINE_1, HEADLINE_2 or HEADLINE_3 enums",
            "The asset was used as a headline in portrait image.",
            "The asset was used in a long headline (used in MultiAssetResponsiveAd).",
            "The asset was used in a description. Use this only if there is only one description in the ad. Otherwise, use the DESCRIPTION_1 or DESCRIPTION_@ enums",
            "The asset was used as description in portrait image.",
            "The asset was used as business name in portrait image.",
            "The asset was used as business name.",
            "The asset was used as a marketing image.",
            "The asset was used as a marketing image in portrait image.",
            "The asset was used as a square marketing image.",
            "The asset was used as a portrait marketing image.",
            "The asset was used as a logo.",
            "The asset was used as a landscape logo.",
            "The asset was used as a call-to-action.",
            "The asset was used as a YouTube video.",
            "This asset is used as a sitelink.",
            "This asset is used as a call.",
            "This asset is used as a mobile app.",
            "This asset is used as a callout.",
            "This asset is used as a structured snippet.",
            "This asset is used as a price.",
            "This asset is used as a promotion.",
            "This asset is used as an image.",
            "The asset is used as a lead form.",
            "The asset is used as a business logo.",
            "The asset is used as a description prefix.",
            "A headline asset used as a sitelink in position 1.",
            "A headline asset used as a sitelink in position 2.",
            "A description line asset used as a sitelink in position 1.",
            "A description line asset used as a sitelink in position 2."
          ],
          "enum": [
            "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"
          ]
        },
        "assetPerformanceLabel": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "This asset does not yet have any performance informantion. This may be because it is still under review.",
            "The asset has started getting impressions but the stats are not statistically significant enough to get an asset performance label.",
            "Worst performing assets.",
            "Good performing assets.",
            "Best performing assets.",
            "Performance label cannot be assigned to this asset. This may be because it's not used by asset based creatives."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "LEARNING",
            "LOW",
            "GOOD",
            "BEST",
            "NOT_APPLICABLE"
          ],
          "type": "string",
          "description": "The performance label of this text asset."
        },
        "text": {
          "type": "string",
          "description": "Asset text."
        },
        "policySummaryInfo": {
          "description": "The policy summary of this text asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdAssetPolicySummary"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdVideoAsset": {
      "description": "A video asset used inside an ad.",
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "description": "The Asset resource name of this video."
        },
        "adVideoAssetInfo": {
          "description": "Contains info fields for this AdVideoAsset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAssetInfo"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdVideoAssetInfo": {
      "description": "Contains info fields for AdVideoAssets.",
      "type": "object",
      "properties": {
        "adVideoAssetInventoryPreferences": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAssetInventoryPreferences",
          "description": "List of inventory preferences for this AdVideoAsset. This field can only be set for DiscoveryVideoResponsiveAd. The video assets with an inventory asset preference set will be preferred over other videos from the same ad during serving time. For example, consider this ad being served for a specific inventory. The server will first try to match an eligible video with a matching preference for that inventory. Videos with no preferences are chosen only when a video with matching preference and eligible for a given ad slot can be found."
        },
        "adVideoAssetFeatureControl": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAssetLinkFeatureControl",
          "description": "Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdVideoAssetInventoryPreferences": {
      "type": "object",
      "properties": {
        "inStreamPreference": {
          "description": "When true, YouTube Video Asset with this inventory preference will be preferred when choosing a video to serve In Stream.",
          "type": "boolean"
        },
        "shortsPreference": {
          "type": "boolean",
          "description": "When true, YouTube Video Asset with this inventory preference will be preferred when choosing a video to serve on YouTube Shorts."
        },
        "inFeedPreference": {
          "description": "When true, YouTube Video Asset with this inventory preference will be preferred when choosing a video to serve In Feed.",
          "type": "boolean"
        }
      },
      "description": "YouTube Video Asset inventory preferences."
    },
    "GoogleAdsGoogleadsV25Common__AdVideoAssetLinkFeatureControl": {
      "type": "object",
      "properties": {
        "allowYoutubeComments": {
          "type": "boolean",
          "description": "Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts."
        }
      },
      "description": "YouTube Video Asset feature controls."
    },
    "GoogleAdsGoogleadsV25Common__AddressInfo": {
      "description": "Address for proximity criterion.",
      "type": "object",
      "properties": {
        "cityName": {
          "type": "string",
          "description": "Name of the city."
        },
        "countryCode": {
          "description": "Country code.",
          "type": "string"
        },
        "postalCode": {
          "type": "string",
          "description": "Postal code."
        },
        "streetAddress": {
          "type": "string",
          "description": "Street address line 1."
        },
        "provinceCode": {
          "description": "Province or state code.",
          "type": "string"
        },
        "provinceName": {
          "type": "string",
          "description": "Province or state name."
        },
        "streetAddress2": {
          "description": "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.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AgeDimension": {
      "type": "object",
      "properties": {
        "ageRanges": {
          "type": "array",
          "description": "Contiguous age range to be included in the dimension.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AgeSegment"
          }
        },
        "includeUndetermined": {
          "type": "boolean",
          "description": "Include users whose age is not determined."
        }
      },
      "description": "Dimension specifying users by their age."
    },
    "GoogleAdsGoogleadsV25Common__AgeRangeInfo": {
      "description": "An age range criterion.",
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Between 18 and 24 years old.",
            "Between 25 and 34 years old.",
            "Between 35 and 44 years old.",
            "Between 45 and 54 years old.",
            "Between 55 and 64 years old.",
            "65 years old and beyond.",
            "Undetermined age range."
          ],
          "enum": [
            "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"
          ],
          "type": "string",
          "description": "Type of the age range."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AgeSegment": {
      "description": "Contiguous age range.",
      "type": "object",
      "properties": {
        "maxAge": {
          "format": "int32",
          "type": "integer",
          "description": "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."
        },
        "minAge": {
          "format": "int32",
          "description": "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.",
          "type": "integer"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AppAdInfo": {
      "type": "object",
      "properties": {
        "mandatoryAdText": {
          "description": "Mandatory ad text.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
        },
        "youtubeVideos": {
          "type": "array",
          "description": "List of YouTube video assets that may be displayed with the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAsset"
          }
        },
        "descriptions": {
          "description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        },
        "html5MediaBundles": {
          "type": "array",
          "description": "List of media bundle assets that may be used with the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdMediaBundleAsset"
          }
        },
        "headlines": {
          "description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        },
        "appDeepLink": {
          "description": "An app deep link asset that may be used with the ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdAppDeepLinkAsset"
        },
        "images": {
          "type": "array",
          "description": "List of image assets that may be displayed with the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        }
      },
      "description": "An app ad."
    },
    "GoogleAdsGoogleadsV25Common__AppDeepLinkAsset": {
      "type": "object",
      "properties": {
        "appDeepLinkUri": {
          "description": "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`).",
          "type": "string"
        }
      },
      "description": "An app deep link asset"
    },
    "GoogleAdsGoogleadsV25Common__AppEngagementAdInfo": {
      "description": "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.",
      "type": "object",
      "properties": {
        "descriptions": {
          "type": "array",
          "description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        },
        "headlines": {
          "description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        },
        "images": {
          "description": "List of image assets that may be displayed with the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          },
          "type": "array"
        },
        "videos": {
          "type": "array",
          "description": "List of video assets that may be displayed with the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAsset"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AppPaymentModelInfo": {
      "description": "An app payment model criterion.",
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Represents paid-for apps."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PAID"
          ],
          "type": "string",
          "description": "Type of the app payment model."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AppPreRegistrationAdInfo": {
      "type": "object",
      "properties": {
        "headlines": {
          "description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        },
        "youtubeVideos": {
          "description": "List of YouTube video asset IDs whose videos may be displayed with the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAsset"
          },
          "type": "array"
        },
        "images": {
          "type": "array",
          "description": "List of image asset IDs whose images may be displayed with the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "descriptions": {
          "type": "array",
          "description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Common__AssetDisapproved": {
      "type": "object",
      "properties": {
        "offlineEvaluationErrorReasons": {
          "type": "array",
          "description": "Provides the quality evaluation disapproval reason of an asset.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "One or more descriptions repeats its corresponding row header.",
              "Price asset contains repetitive headers.",
              "Price item header is not relevant to the price type.",
              "Price item description is not relevant to the item header.",
              "Price asset has a price qualifier in a description.",
              "Unsupported language for price assets",
              "Human raters identified an issue with the price asset that isn't captured by other error reasons. The primary purpose of this value is to represent legacy FeedItem disapprovals that are no longer produced."
            ],
            "enum": [
              "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"
            ],
            "type": "string"
          }
        }
      },
      "description": "Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED"
    },
    "GoogleAdsGoogleadsV25Common__AssetLinkPrimaryStatusDetails": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "description": "Provides the PrimaryStatus of this status detail.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset is eligible to serve.",
            "The user-specified asset link status is paused.",
            "The user-specified asset link status is removed.",
            "The asset may serve in the future.",
            "The asset is serving in a partial capacity.",
            "The asset is not eligible to serve."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "PAUSED",
            "REMOVED",
            "PENDING",
            "LIMITED",
            "NOT_ELIGIBLE"
          ]
        },
        "reason": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.",
            "The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.",
            "The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE",
            "The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.",
            "The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ASSET_LINK_PAUSED",
            "ASSET_LINK_REMOVED",
            "ASSET_DISAPPROVED",
            "ASSET_UNDER_REVIEW",
            "ASSET_APPROVED_LABELED"
          ],
          "type": "string",
          "description": "Provides the reason of this PrimaryStatus."
        },
        "assetDisapproved": {
          "description": "Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AssetDisapproved"
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Common__AudienceDimension": {
      "description": "Positive dimension specifying user's audience.",
      "type": "object",
      "properties": {
        "age": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AgeDimension",
          "description": "Dimension specifying users by their age."
        },
        "gender": {
          "description": "Dimension specifying users by their gender.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__GenderDimension"
        },
        "parentalStatus": {
          "description": "Dimension specifying users by their parental status.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ParentalStatusDimension"
        },
        "householdIncome": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HouseholdIncomeDimension",
          "description": "Dimension specifying users by their household income."
        },
        "audienceSegments": {
          "description": "Dimension specifying users by their membership in other audience segments.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AudienceSegmentDimension"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AudienceExclusionDimension": {
      "description": "Negative dimension specifying users to exclude from the audience.",
      "type": "object",
      "properties": {
        "exclusions": {
          "description": "Audience segment to be excluded.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ExclusionSegment"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AudienceInfo": {
      "description": "An audience criterion.",
      "type": "object",
      "properties": {
        "audience": {
          "type": "string",
          "description": "The Audience resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AudienceSegment": {
      "description": "Positive audience segment.",
      "type": "object",
      "properties": {
        "userInterest": {
          "description": "Affinity or In-market segment.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserInterestSegment"
        },
        "userList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListSegment",
          "description": "User list segment."
        },
        "customAudience": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomAudienceSegment",
          "description": "Custom audience segment."
        },
        "lifeEvent": {
          "description": "Live-event audience segment.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LifeEventSegment"
        },
        "detailedDemographic": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DetailedDemographicSegment",
          "description": "Detailed demographic segment."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AudienceSegmentDimension": {
      "description": "Dimension specifying users by their membership in other audience segments.",
      "type": "object",
      "properties": {
        "segments": {
          "description": "Included audience segments. Users are included if they belong to at least one segment.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AudienceSegment"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__BookOnGoogleAsset": {
      "description": "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.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Common__BrandInfo": {
      "description": "Represents a Brand Criterion used for targeting based on commercial knowledge graph.",
      "type": "object",
      "properties": {
        "entityId": {
          "type": "string",
          "description": "The Commercial KG MID for the brand."
        },
        "status": {
          "description": "Output only. The status of a brand.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "DEPRECATED",
            "UNVERIFIED",
            "APPROVED",
            "CANCELLED",
            "REJECTED"
          ],
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Brand is verified and globally available for selection",
            "Brand was globally available in past but is no longer a valid brand (based on business criteria)",
            "Brand is unverified and customer scoped, but can be selected by customer (only who requested for same) for targeting",
            "Was a customer-scoped (unverified) brand, which got approved by business and added to the global list. Its assigned CKG MID should be used instead of this",
            "Was a customer-scoped (unverified) brand, but the request was canceled by customer and this brand id is no longer valid",
            "Was a customer-scoped (unverified) brand, but the request was rejected by internal business team and this brand id is no longer valid"
          ]
        },
        "rejectionReason": {
          "description": "Output only. The rejection reason when a brand status is REJECTED.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXISTING_BRAND",
            "EXISTING_BRAND_VARIANT",
            "INCORRECT_INFORMATION",
            "NOT_A_BRAND"
          ],
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Brand is already present in the commercial brand set.",
            "Brand is already present in the commercial brand set, but is a variant.",
            "Brand information is not correct (eg: URL and name don't match).",
            "Not a valid brand as per Google policy."
          ]
        },
        "primaryUrl": {
          "type": "string",
          "description": "Output only. The primary url of a brand."
        },
        "displayName": {
          "description": "Output only. A text representation of a brand.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__BrandListInfo": {
      "type": "object",
      "properties": {
        "sharedSet": {
          "description": "Shared set resource name of the brand list.",
          "type": "string"
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Common__BusinessMessageAsset": {
      "type": "object",
      "properties": {
        "messageProvider": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "WhatsApp message provider",
            "Facebook Messenger message provider",
            "Zalo message provider"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WHATSAPP",
            "FACEBOOK_MESSENGER",
            "ZALO"
          ],
          "description": "Required. Message provider of the business message asset.",
          "type": "string"
        },
        "callToAction": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BusinessMessageCallToActionInfo",
          "description": "A call to action for the business message asset."
        },
        "whatsappInfo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WhatsappBusinessMessageInfo",
          "description": "Whatsapp."
        },
        "zaloInfo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ZaloBusinessMessageInfo",
          "description": "Zalo."
        },
        "facebookMessengerInfo": {
          "description": "Facebook Messenger.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__FacebookMessengerBusinessMessageInfo"
        },
        "starterMessage": {
          "description": "Required. A welcome message to prompt the user to initiate a conversation.",
          "type": "string"
        }
      },
      "description": "A business message asset."
    },
    "GoogleAdsGoogleadsV25Common__BusinessMessageCallToActionInfo": {
      "type": "object",
      "properties": {
        "callToActionDescription": {
          "description": "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'.",
          "type": "string"
        },
        "callToActionSelection": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Apply now.",
            "Book now.",
            "Contact us.",
            "Get info.",
            "Get offer.",
            "Get quote.",
            "Get started.",
            "Learn more."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "APPLY_NOW",
            "BOOK_NOW",
            "CONTACT_US",
            "GET_INFO",
            "GET_OFFER",
            "GET_QUOTE",
            "GET_STARTED",
            "LEARN_MORE"
          ],
          "type": "string",
          "description": "Required. Pre-defined call to action text."
        }
      },
      "description": "Display information that encourages the user to take action."
    },
    "GoogleAdsGoogleadsV25Common__BusinessProfileBusinessNameFilter": {
      "description": "Business Profile location group business name filter.",
      "type": "object",
      "properties": {
        "filterType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The filter will use exact string matching."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXACT"
          ],
          "type": "string",
          "description": "The type of string matching to use when filtering with business_name."
        },
        "businessName": {
          "type": "string",
          "description": "Business name string to use for filtering."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__BusinessProfileLocation": {
      "description": "Business Profile location data synced from the linked Business Profile account.",
      "type": "object",
      "properties": {
        "storeCode": {
          "type": "string",
          "description": "Business Profile store code of this location. This is synced from the Business Profile account."
        },
        "labels": {
          "description": "Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "listingId": {
          "format": "int64",
          "description": "Listing ID of this Business Profile location. This is synced from the linked Business Profile account.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__BusinessProfileLocationGroup": {
      "description": "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.",
      "type": "object",
      "properties": {
        "dynamicBusinessProfileLocationGroupFilter": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DynamicBusinessProfileLocationGroupFilter",
          "description": "Filter for dynamic Business Profile location sets."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__BusinessProfileLocationSet": {
      "description": "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.",
      "type": "object",
      "properties": {
        "businessAccountId": {
          "type": "string",
          "description": "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."
        },
        "emailAddress": {
          "description": "Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.",
          "type": "string"
        },
        "labelFilters": {
          "description": "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "httpAuthorizationToken": {
          "type": "string",
          "description": "Required. Immutable. The HTTP authorization token used to obtain authorization."
        },
        "businessNameFilter": {
          "description": "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.",
          "type": "string"
        },
        "listingIdFilters": {
          "description": "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.",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CallAsset": {
      "description": "A Call asset.",
      "type": "object",
      "properties": {
        "callConversionAction": {
          "type": "string",
          "description": "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."
        },
        "phoneNumber": {
          "description": "Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'",
          "type": "string"
        },
        "adScheduleTargets": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdScheduleInfo"
          }
        },
        "countryCode": {
          "description": "Required. Two-letter country code of the phone number. Examples: 'US', 'us'.",
          "type": "string"
        },
        "callConversionReportingState": {
          "type": "string",
          "description": "Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Call conversion action is disabled.",
            "Call conversion action will use call conversion type set at the account level.",
            "Call conversion action will use call conversion type set at the resource (call only ads/call extensions) level."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DISABLED",
            "USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION",
            "USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CallToActionAsset": {
      "type": "object",
      "properties": {
        "callToAction": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The call to action type is learn more.",
            "The call to action type is get quote.",
            "The call to action type is apply now.",
            "The call to action type is sign up.",
            "The call to action type is contact us.",
            "The call to action type is subscribe.",
            "The call to action type is download.",
            "The call to action type is book now.",
            "The call to action type is shop now.",
            "The call to action type is buy now.",
            "The call to action type is donate now.",
            "The call to action type is order now.",
            "The call to action type is play now.",
            "The call to action type is see more.",
            "The call to action type is start now.",
            "The call to action type is visit site.",
            "The call to action type is watch now."
          ],
          "enum": [
            "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"
          ],
          "description": "Call to action.",
          "type": "string"
        }
      },
      "description": "A call to action asset."
    },
    "GoogleAdsGoogleadsV25Common__CalloutAsset": {
      "description": "A Callout asset.",
      "type": "object",
      "properties": {
        "startDate": {
          "description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.",
          "type": "string"
        },
        "endDate": {
          "description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.",
          "type": "string"
        },
        "adScheduleTargets": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdScheduleInfo"
          }
        },
        "calloutText": {
          "description": "Required. The callout text. The length of this string should be between 1 and 25, inclusive.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CampaignReservationQuote": {
      "type": "object",
      "properties": {
        "possibleHoldDurationSeconds": {
          "format": "int64",
          "description": "The possible duration of the hold, in seconds.",
          "type": "string"
        },
        "maxBudgetMicros": {
          "description": "Maximum budget to get all available impressions at the current CPM. Capped at 10M USD. Specified in micros of the advertiser currency.",
          "type": "string",
          "format": "int64"
        },
        "suggestedCpmMicros": {
          "format": "int64",
          "type": "string",
          "description": "The CPM that would be accepted for the campaign calculated at the proposed budget. Specified in micros of the advertiser currency."
        },
        "campaign": {
          "description": "The campaign resource name, as it was specified in the request. It could contain a temp ID. Format: customers/{customer_id}/campaigns/{campaign_id}",
          "type": "string"
        }
      },
      "description": "The campaign reservation quote."
    },
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyBrandLiftIntegrationPartner": {
      "description": "Container for third party Brand Lift integration data for Campaign.",
      "type": "object",
      "properties": {
        "brandLiftIntegrationPartner": {
          "description": "Allowed third party integration partners for Brand Lift verification.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Kantar",
            "Dynata",
            "Intage",
            "Macromill"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "KANTAR_MILLWARD_BROWN",
            "DYNATA",
            "INTAGE",
            "MACROMILL"
          ]
        },
        "brandLiftIntegrationPartnerData": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ThirdPartyIntegrationPartnerData",
          "description": "Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns."
        },
        "shareCost": {
          "type": "boolean",
          "description": "If true, then cost data will be shared with this vendor."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyBrandSafetyIntegrationPartner": {
      "type": "object",
      "properties": {
        "brandSafetyIntegrationPartnerData": {
          "description": "Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ThirdPartyIntegrationPartnerData"
        },
        "brandSafetyIntegrationPartner": {
          "type": "string",
          "description": "Allowed third party integration partners for brand safety verification.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "DoubleVerify.",
            "Integral Ad Science.",
            "Zefr."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DOUBLE_VERIFY",
            "INTEGRAL_AD_SCIENCE",
            "ZEFR"
          ]
        }
      },
      "description": "Container for third party brand safety integration data for Campaign."
    },
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyConversionAttributionIntegrationPartner": {
      "description": "Container for third party YouTube conversion attribution integration data for Campaign.",
      "type": "object",
      "properties": {
        "conversionAttributionIntegrationPartner": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Transunion."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TRANSUNION"
          ],
          "type": "string",
          "description": "Allowed third party integration partners for YouTube conversion attribution verification."
        },
        "conversionAttributionIntegrationPartnerData": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ThirdPartyIntegrationPartnerData",
          "description": "Third party partner data for YouTube conversion attribution verification."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyIntegrationPartners": {
      "type": "object",
      "properties": {
        "brandSafetyIntegrationPartners": {
          "type": "array",
          "description": "Third party integration partners for brand safety verification for this Campaign.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignThirdPartyBrandSafetyIntegrationPartner"
          }
        },
        "conversionAttributionIntegrationPartners": {
          "type": "array",
          "description": "Third party integration partners for YouTube conversion attribution verification for this Campaign.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignThirdPartyConversionAttributionIntegrationPartner"
          }
        },
        "brandLiftIntegrationPartners": {
          "description": "Third party integration partners for Brand Lift verification for this Campaign.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignThirdPartyBrandLiftIntegrationPartner"
          },
          "type": "array"
        },
        "viewabilityIntegrationPartners": {
          "type": "array",
          "description": "Third party integration partners for YouTube viewability verification for this Campaign.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignThirdPartyViewabilityIntegrationPartner"
          }
        },
        "reachIntegrationPartners": {
          "description": "Third party integration partners for reach verification for this Campaign.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignThirdPartyReachIntegrationPartner"
          },
          "type": "array"
        }
      },
      "description": "Container for Campaign level third party integration partners."
    },
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyReachIntegrationPartner": {
      "type": "object",
      "properties": {
        "reachIntegrationPartner": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Nielsen.",
            "Comscore.",
            "Kantar.",
            "Video Research.",
            "Gemius.",
            "MediaScope.",
            "AudienceProject",
            "VideoAmp",
            "iSpot.tv"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NIELSEN",
            "COMSCORE",
            "KANTAR_MILLWARD_BROWN",
            "VIDEO_RESEARCH",
            "GEMIUS",
            "MEDIA_SCOPE",
            "AUDIENCE_PROJECT",
            "VIDEO_AMP",
            "ISPOT_TV"
          ],
          "type": "string",
          "description": "Allowed third party integration partners for reach verification."
        },
        "reachIntegrationPartnerData": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ThirdPartyIntegrationPartnerData",
          "description": "Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns."
        },
        "shareCost": {
          "description": "If true, then cost data will be shared with this vendor.",
          "type": "boolean"
        }
      },
      "description": "Container for third party reach integration data for Campaign."
    },
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyViewabilityIntegrationPartner": {
      "type": "object",
      "properties": {
        "viewabilityIntegrationPartner": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "DoubleVerify.",
            "Integral Ad Science.",
            "Zefr."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DOUBLE_VERIFY",
            "INTEGRAL_AD_SCIENCE",
            "ZEFR"
          ],
          "type": "string",
          "description": "Allowed third party integration partners for YouTube viewability verification."
        },
        "shareCost": {
          "description": "If true, then cost data will be shared with this vendor.",
          "type": "boolean"
        },
        "viewabilityIntegrationPartnerData": {
          "description": "Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ThirdPartyIntegrationPartnerData"
        }
      },
      "description": "Container for third party viewability integration data for Campaign."
    },
    "GoogleAdsGoogleadsV25Common__CarrierInfo": {
      "description": "Represents a Carrier Criterion.",
      "type": "object",
      "properties": {
        "carrierConstant": {
          "type": "string",
          "description": "The Carrier constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ChainFilter": {
      "type": "object",
      "properties": {
        "locationAttributes": {
          "description": "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "chainId": {
          "format": "int64",
          "description": "Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.",
          "type": "string"
        }
      },
      "description": "One chain level filter on location in a feed item set. The filtering logic among all the fields is AND."
    },
    "GoogleAdsGoogleadsV25Common__ChainLocationGroup": {
      "type": "object",
      "properties": {
        "dynamicChainLocationGroupFilters": {
          "description": "Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ChainFilter"
          },
          "type": "array"
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Common__ChainSet": {
      "description": "Data used to configure a location set populated with the specified chains.",
      "type": "object",
      "properties": {
        "relationshipType": {
          "type": "string",
          "description": "Required. Immutable. Relationship type the specified chains have with this advertiser.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Auto dealer relationship.",
            "General retailer relationship."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AUTO_DEALERS",
            "GENERAL_RETAILERS"
          ]
        },
        "chains": {
          "type": "array",
          "description": "Required. A list of chain level filters, all filters are OR'ed together.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ChainFilter"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CombinedAudienceInfo": {
      "description": "A combined audience criterion.",
      "type": "object",
      "properties": {
        "combinedAudience": {
          "type": "string",
          "description": "The CombinedAudience resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__Commission": {
      "description": "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.",
      "type": "object",
      "properties": {
        "commissionRateMicros": {
          "type": "string",
          "description": "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%).",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ContentLabelInfo": {
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Sexually suggestive content.",
            "Below the fold placement.",
            "Parked domain.",
            "Juvenile, gross & bizarre content.",
            "Profanity & rough language.",
            "Death & tragedy.",
            "Video.",
            "Content rating: G.",
            "Content rating: PG.",
            "Content rating: T.",
            "Content rating: MA.",
            "Content rating: not yet rated.",
            "Embedded video.",
            "Live streaming video.",
            "Sensitive social issues.",
            "Content that's suitable for families to view together, including Made for Kids videos on YouTube.",
            "Video games that simulate hand-to-hand fighting or combat with the use of modern or medieval weapons.",
            "Video games that feature mature content, such as violence, inappropriate language, or sexual suggestiveness.",
            "Health content that people might find sensitive or upsetting, such as medical procedures or images and descriptions of various medical conditions.",
            "Health content from sources that may provide accurate information but aren't as commonly cited as other, more well-known sources.",
            "News content that's been recently announced, regardless of the themes or people being reported on.",
            "News content that people might find sensitive or upsetting, such as crimes, accidents, and natural incidents, or commentary on potentially controversial social and political issues.",
            "News content from sources that aren't featured on Google News or YouTube News.",
            "Political content, such as political statements made by well-known politicians, political elections, or events widely perceived to be political in nature.",
            "Content with religious themes, such as religious teachings or customs, holy sites or places of worship, well-known religious figures or people dressed in religious attire, or religious opinions on social and political issues."
          ],
          "enum": [
            "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"
          ],
          "description": "Content label type, required for CREATE operations.",
          "type": "string"
        }
      },
      "description": "Content Label for category exclusion."
    },
    "GoogleAdsGoogleadsV25Common__CustomAffinityInfo": {
      "description": "A custom affinity criterion. A criterion of this type is only targetable.",
      "type": "object",
      "properties": {
        "customAffinity": {
          "type": "string",
          "description": "The CustomInterest resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CustomAudienceInfo": {
      "description": "A custom audience criterion.",
      "type": "object",
      "properties": {
        "customAudience": {
          "type": "string",
          "description": "The CustomAudience resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CustomAudienceSegment": {
      "type": "object",
      "properties": {
        "customAudience": {
          "description": "The custom audience resource.",
          "type": "string"
        }
      },
      "description": "Custom audience segment."
    },
    "GoogleAdsGoogleadsV25Common__CustomIntentInfo": {
      "description": "A custom intent criterion. A criterion of this type is only targetable.",
      "type": "object",
      "properties": {
        "customIntent": {
          "type": "string",
          "description": "The CustomInterest resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CustomParameter": {
      "type": "object",
      "properties": {
        "key": {
          "description": "The key matching the parameter tag name.",
          "type": "string"
        },
        "value": {
          "type": "string",
          "description": "The value to be substituted."
        }
      },
      "description": "A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`."
    },
    "GoogleAdsGoogleadsV25Common__CustomerThirdPartyBrandLiftIntegrationPartner": {
      "type": "object",
      "properties": {
        "brandLiftIntegrationPartner": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Kantar",
            "Dynata",
            "Intage",
            "Macromill"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "KANTAR_MILLWARD_BROWN",
            "DYNATA",
            "INTAGE",
            "MACROMILL"
          ],
          "type": "string",
          "description": "Allowed Third Party integration partners for Brand Lift verification."
        },
        "allowShareCost": {
          "description": "If true, cost data can be shared with this vendor.",
          "type": "boolean"
        }
      },
      "description": "Container for third party Brand Lift integration data for Customer."
    },
    "GoogleAdsGoogleadsV25Common__CustomerThirdPartyBrandSafetyIntegrationPartner": {
      "type": "object",
      "properties": {
        "brandSafetyIntegrationPartner": {
          "description": "Allowed third party integration partners for brand safety verification.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "DoubleVerify.",
            "Integral Ad Science.",
            "Zefr."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DOUBLE_VERIFY",
            "INTEGRAL_AD_SCIENCE",
            "ZEFR"
          ]
        }
      },
      "description": "Container for third party brand safety integration data for Customer."
    },
    "GoogleAdsGoogleadsV25Common__CustomerThirdPartyConversionAttributionIntegrationPartner": {
      "description": "Container for third party YouTube conversion attribution integration data for Customer.",
      "type": "object",
      "properties": {
        "conversionAttributionIntegrationPartner": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Transunion."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TRANSUNION"
          ],
          "type": "string",
          "description": "Allowed third party integration partners for YouTube conversion attribution verification."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CustomerThirdPartyIntegrationPartners": {
      "description": "Container for Customer level third party integration partners.",
      "type": "object",
      "properties": {
        "brandLiftIntegrationPartners": {
          "type": "array",
          "description": "Allowed third party integration partners for Brand Lift verification.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerThirdPartyBrandLiftIntegrationPartner"
          }
        },
        "conversionAttributionIntegrationPartners": {
          "description": "Allowed third party integration partners for YouTube conversion attribution verification.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerThirdPartyConversionAttributionIntegrationPartner"
          },
          "type": "array"
        },
        "viewabilityIntegrationPartners": {
          "description": "Allowed third party integration partners for YouTube viewability verification.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerThirdPartyViewabilityIntegrationPartner"
          },
          "type": "array"
        },
        "reachIntegrationPartners": {
          "type": "array",
          "description": "Allowed third party integration partners for reach verification.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerThirdPartyReachIntegrationPartner"
          }
        },
        "brandSafetyIntegrationPartners": {
          "type": "array",
          "description": "Allowed third party integration partners for brand safety verification.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerThirdPartyBrandSafetyIntegrationPartner"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CustomerThirdPartyReachIntegrationPartner": {
      "type": "object",
      "properties": {
        "reachIntegrationPartner": {
          "type": "string",
          "description": "Allowed Third Party integration partners for reach verification.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Nielsen.",
            "Comscore.",
            "Kantar.",
            "Video Research.",
            "Gemius.",
            "MediaScope.",
            "AudienceProject",
            "VideoAmp",
            "iSpot.tv"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NIELSEN",
            "COMSCORE",
            "KANTAR_MILLWARD_BROWN",
            "VIDEO_RESEARCH",
            "GEMIUS",
            "MEDIA_SCOPE",
            "AUDIENCE_PROJECT",
            "VIDEO_AMP",
            "ISPOT_TV"
          ]
        },
        "allowShareCost": {
          "type": "boolean",
          "description": "If true, cost data can be shared with this vendor."
        }
      },
      "description": "Container for third party reach integration data for Customer."
    },
    "GoogleAdsGoogleadsV25Common__CustomerThirdPartyViewabilityIntegrationPartner": {
      "description": "Container for third party viewability integration data for Customer.",
      "type": "object",
      "properties": {
        "viewabilityIntegrationPartner": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "DoubleVerify.",
            "Integral Ad Science.",
            "Zefr."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DOUBLE_VERIFY",
            "INTEGRAL_AD_SCIENCE",
            "ZEFR"
          ],
          "description": "Allowed third party integration partners for YouTube viewability verification.",
          "type": "string"
        },
        "allowShareCost": {
          "type": "boolean",
          "description": "If true, cost data can be shared with this vendor."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CustomizerValue": {
      "description": "A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc.",
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "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.",
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version.",
            "Text customizer.",
            "Number customizer.",
            "Price customizer consisting of a number and a currency.",
            "Percentage customizer consisting of a number and a '%'."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TEXT",
            "NUMBER",
            "PRICE",
            "PERCENT"
          ]
        },
        "stringValue": {
          "description": "Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DemandGenCarouselAdInfo": {
      "type": "object",
      "properties": {
        "carouselCards": {
          "description": "Required. Carousel cards that will display with the ad. Min 2 max 10.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdDemandGenCarouselCardAsset"
          },
          "type": "array"
        },
        "callToActionText": {
          "description": "Call to action text.",
          "type": "string"
        },
        "headline": {
          "description": "Required. Headline of the ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
        },
        "businessName": {
          "type": "string",
          "description": "Required. The Advertiser/brand name."
        },
        "logoImage": {
          "description": "Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
        },
        "description": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset",
          "description": "Required. The descriptive text of the ad."
        }
      },
      "description": "A Demand Gen carousel ad."
    },
    "GoogleAdsGoogleadsV25Common__DemandGenCarouselCardAsset": {
      "type": "object",
      "properties": {
        "headline": {
          "type": "string",
          "description": "Required. Headline of the carousel card."
        },
        "callToActionText": {
          "description": "Call to action text.",
          "type": "string"
        },
        "portraitMarketingImageAsset": {
          "type": "string",
          "description": "Asset resource name of the associated 4:5 portrait marketing image."
        },
        "marketingImageAsset": {
          "description": "Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.",
          "type": "string"
        },
        "squareMarketingImageAsset": {
          "type": "string",
          "description": "Asset resource name of the associated square marketing image. This and/or a marketing image asset is required."
        }
      },
      "description": "A Demand Gen Carousel Card asset."
    },
    "GoogleAdsGoogleadsV25Common__DemandGenMultiAssetAdInfo": {
      "type": "object",
      "properties": {
        "portraitMarketingImages": {
          "type": "array",
          "description": "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%). Combined with `marketing_images`, `square_marketing_images`, and `tall_portrait_marketing_images` the maximum is 20.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "classicDisplayImages": {
          "type": "array",
          "description": "Classic display image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. At most 20 classic display images can be specified per ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "tallPortraitMarketingImages": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "businessName": {
          "type": "string",
          "description": "The Advertiser/brand name. Maximum display width is 25. Required."
        },
        "logoImages": {
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          },
          "type": "array"
        },
        "descriptions": {
          "type": "array",
          "description": "The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        },
        "callToActionText": {
          "type": "string",
          "description": "Call to action text."
        },
        "headlines": {
          "type": "array",
          "description": "Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        },
        "marketingImages": {
          "type": "array",
          "description": "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. Combined with `square_marketing_images`, `portrait_marketing_images`, and `tall_portrait_marketing_images` the maximum is 20.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "squareMarketingImages": {
          "type": "array",
          "description": "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. Combined with `marketing_images`, `portrait_marketing_images`, and `tall_portrait_marketing_images` the maximum is 20.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        }
      },
      "description": "A Demand Gen multi asset ad."
    },
    "GoogleAdsGoogleadsV25Common__DemandGenProductAdInfo": {
      "description": "A Demand Gen product ad.",
      "type": "object",
      "properties": {
        "description": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset",
          "description": "Required. Text asset used for the description."
        },
        "breadcrumb1": {
          "description": "First part of text that appears in the ad with the displayed URL.",
          "type": "string"
        },
        "breadcrumb2": {
          "description": "Second part of text that appears in the ad with the displayed URL.",
          "type": "string"
        },
        "logoImage": {
          "description": "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%).",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
        },
        "businessName": {
          "description": "Required. The advertiser/brand name.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
        },
        "callToAction": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdCallToActionAsset",
          "description": "Asset of type CallToActionAsset used for the \"Call To Action\" button."
        },
        "headline": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset",
          "description": "Required. Text asset used for the short headline."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DemandGenVideoResponsiveAdInfo": {
      "description": "A Demand Gen video responsive ad.",
      "type": "object",
      "properties": {
        "companionBanners": {
          "type": "array",
          "description": "List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "longHeadlines": {
          "type": "array",
          "description": "List of text assets used for the long headline.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        },
        "videos": {
          "type": "array",
          "description": "Required. List of YouTube video assets used for the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAsset"
          }
        },
        "breadcrumb1": {
          "description": "First part of text that appears in the ad with the displayed URL.",
          "type": "string"
        },
        "breadcrumb2": {
          "description": "Second part of text that appears in the ad with the displayed URL.",
          "type": "string"
        },
        "callToActions": {
          "description": "Assets of type CallToActionAsset used for the \"Call To Action\" button.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdCallToActionAsset"
          },
          "type": "array"
        },
        "businessName": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset",
          "description": "Required. The advertiser/brand name."
        },
        "headlines": {
          "type": "array",
          "description": "List of text assets used for the short headline.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        },
        "descriptions": {
          "type": "array",
          "description": "List of text assets used for the description.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        },
        "logoImages": {
          "type": "array",
          "description": "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%).",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DetailedDemographicSegment": {
      "description": "Detailed demographic segment.",
      "type": "object",
      "properties": {
        "detailedDemographic": {
          "description": "The detailed demographic resource.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DeviceInfo": {
      "description": "A device criterion.",
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Mobile devices with full browsers.",
            "Tablets with full browsers.",
            "Computers.",
            "Smart TVs and game consoles.",
            "Other device types."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MOBILE",
            "TABLET",
            "DESKTOP",
            "CONNECTED_TV",
            "OTHER"
          ],
          "description": "Type of the device.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DisplayUploadAdInfo": {
      "type": "object",
      "properties": {
        "displayUploadProductType": {
          "type": "string",
          "description": "The product type of this ad. See comments on the enum for details.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "HTML5 upload ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set.",
            "Dynamic HTML5 education ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in an education campaign.",
            "Dynamic HTML5 flight ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a flight campaign.",
            "Dynamic HTML5 hotel and rental ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a hotel campaign.",
            "Dynamic HTML5 job ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a job campaign.",
            "Dynamic HTML5 local ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a local campaign.",
            "Dynamic HTML5 real estate ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a real estate campaign.",
            "Dynamic HTML5 custom ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a custom campaign.",
            "Dynamic HTML5 travel ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a travel campaign.",
            "Dynamic HTML5 hotel ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a hotel campaign."
          ],
          "enum": [
            "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"
          ]
        },
        "mediaBundle": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdMediaBundleAsset",
          "description": "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."
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Common__DynamicBusinessProfileLocationGroupFilter": {
      "type": "object",
      "properties": {
        "businessNameFilter": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BusinessProfileBusinessNameFilter",
          "description": "Used to filter Business Profile locations by business name."
        },
        "labelFilters": {
          "type": "array",
          "description": "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.",
          "items": {
            "type": "string"
          }
        },
        "listingIdFilters": {
          "type": "array",
          "description": "Used to filter Business Profile locations by listing ids.",
          "items": {
            "type": "string",
            "format": "int64"
          }
        }
      },
      "description": "Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together."
    },
    "GoogleAdsGoogleadsV25Common__DynamicCustomAsset": {
      "description": "A dynamic custom asset.",
      "type": "object",
      "properties": {
        "formattedPrice": {
          "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.",
          "type": "string"
        },
        "iosAppLink": {
          "description": "iOS deep link, for example, exampleApp://content/page.",
          "type": "string"
        },
        "iosAppStoreId": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "androidAppLink": {
          "type": "string",
          "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234."
        },
        "contextualKeywords": {
          "type": "array",
          "description": "Contextual keywords, for example, Sedans, 4 door sedans.",
          "items": {
            "type": "string"
          }
        },
        "salePrice": {
          "type": "string",
          "description": "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."
        },
        "imageUrl": {
          "type": "string",
          "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset."
        },
        "itemSubtitle": {
          "type": "string",
          "description": "Item subtitle, for example, At your Mountain View dealership."
        },
        "itemCategory": {
          "type": "string",
          "description": "Item category, for example, Sedans."
        },
        "itemDescription": {
          "description": "Item description, for example, Best selling mid-size car.",
          "type": "string"
        },
        "itemAddress": {
          "description": "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",
          "type": "string"
        },
        "similarIds": {
          "type": "array",
          "description": "Similar IDs.",
          "items": {
            "type": "string"
          }
        },
        "formattedSalePrice": {
          "description": "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.",
          "type": "string"
        },
        "id2": {
          "description": "ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.",
          "type": "string"
        },
        "id": {
          "description": "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.",
          "type": "string"
        },
        "itemTitle": {
          "type": "string",
          "description": "Required. Item title, for example, Mid-size sedan. Required."
        },
        "price": {
          "description": "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.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DynamicEducationAsset": {
      "type": "object",
      "properties": {
        "contextualKeywords": {
          "type": "array",
          "description": "Contextual keywords, for example, Nursing certification, Health, Mountain View.",
          "items": {
            "type": "string"
          }
        },
        "imageUrl": {
          "type": "string",
          "description": "Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset."
        },
        "locationId": {
          "type": "string",
          "description": "Location ID which can be any sequence of letters and digits and must be unique."
        },
        "programDescription": {
          "description": "Program description, for example, Nursing Certification.",
          "type": "string"
        },
        "iosAppLink": {
          "description": "iOS deep link, for example, exampleApp://content/page.",
          "type": "string"
        },
        "iosAppStoreId": {
          "description": "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.",
          "type": "string",
          "format": "int64"
        },
        "androidAppLink": {
          "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.",
          "type": "string"
        },
        "programId": {
          "type": "string",
          "description": "Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required."
        },
        "address": {
          "description": "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",
          "type": "string"
        },
        "subject": {
          "description": "Subject of study, for example, Health.",
          "type": "string"
        },
        "similarProgramIds": {
          "description": "Similar program IDs.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "schoolName": {
          "type": "string",
          "description": "School name, for example, Mountain View School of Nursing."
        },
        "thumbnailImageUrl": {
          "type": "string",
          "description": "Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset."
        },
        "programName": {
          "type": "string",
          "description": "Required. Program name, for example, Nursing. Required."
        }
      },
      "description": "A Dynamic Education asset."
    },
    "GoogleAdsGoogleadsV25Common__DynamicFlightsAsset": {
      "description": "A dynamic flights asset.",
      "type": "object",
      "properties": {
        "formattedSalePrice": {
          "description": "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.",
          "type": "string"
        },
        "flightSalePrice": {
          "type": "string",
          "description": "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."
        },
        "destinationName": {
          "description": "Destination name, for example, Paris.",
          "type": "string"
        },
        "originName": {
          "description": "Origin name, for example, London.",
          "type": "string"
        },
        "customMapping": {
          "description": "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\".",
          "type": "string"
        },
        "originId": {
          "description": "Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.",
          "type": "string"
        },
        "similarDestinationIds": {
          "type": "array",
          "description": "Similar destination IDs, for example, PAR,LON.",
          "items": {
            "type": "string"
          }
        },
        "destinationId": {
          "description": "Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.",
          "type": "string"
        },
        "flightDescription": {
          "type": "string",
          "description": "Required. Flight description, for example, Book your ticket. Required."
        },
        "imageUrl": {
          "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.",
          "type": "string"
        },
        "flightPrice": {
          "description": "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.",
          "type": "string"
        },
        "formattedPrice": {
          "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.",
          "type": "string"
        },
        "iosAppLink": {
          "type": "string",
          "description": "iOS deep link, for example, exampleApp://content/page."
        },
        "iosAppStoreId": {
          "format": "int64",
          "type": "string",
          "description": "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."
        },
        "androidAppLink": {
          "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DynamicHotelsAndRentalsAsset": {
      "description": "A dynamic hotels and rentals asset.",
      "type": "object",
      "properties": {
        "contextualKeywords": {
          "description": "Contextual keywords, for example, Mountain View \"Hotels\", South Bay hotels.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "imageUrl": {
          "type": "string",
          "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset."
        },
        "salePrice": {
          "type": "string",
          "description": "ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field."
        },
        "propertyName": {
          "description": "Required. Property name, for example, Mountain View Hotel. Required.",
          "type": "string"
        },
        "category": {
          "description": "Category, for example, Hotel suite.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Description, for example, Close to SJC Airport."
        },
        "formattedPrice": {
          "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.",
          "type": "string"
        },
        "iosAppLink": {
          "type": "string",
          "description": "iOS deep link, for example, exampleApp://content/page."
        },
        "iosAppStoreId": {
          "type": "string",
          "description": "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.",
          "format": "int64"
        },
        "androidAppLink": {
          "type": "string",
          "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234."
        },
        "formattedSalePrice": {
          "description": "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.",
          "type": "string"
        },
        "destinationName": {
          "type": "string",
          "description": "Destination name, for example, Downtown Mountain View."
        },
        "price": {
          "type": "string",
          "description": "Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD."
        },
        "address": {
          "description": "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",
          "type": "string"
        },
        "similarPropertyIds": {
          "description": "Similar property IDs.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "starRating": {
          "description": "Star rating. Must be a number between 1 to 5, inclusive.",
          "type": "string",
          "format": "int64"
        },
        "propertyId": {
          "type": "string",
          "description": "Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DynamicJobsAsset": {
      "description": "A dynamic jobs asset.",
      "type": "object",
      "properties": {
        "jobId": {
          "type": "string",
          "description": "Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required."
        },
        "salary": {
          "type": "string",
          "description": "Salary, for example, $100,000."
        },
        "jobTitle": {
          "type": "string",
          "description": "Required. Job title, for example, Software engineer. Required."
        },
        "contextualKeywords": {
          "type": "array",
          "description": "Contextual keywords, for example, Software engineering job.",
          "items": {
            "type": "string"
          }
        },
        "imageUrl": {
          "type": "string",
          "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset."
        },
        "iosAppLink": {
          "description": "iOS deep link, for example, exampleApp://content/page.",
          "type": "string"
        },
        "iosAppStoreId": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "androidAppLink": {
          "type": "string",
          "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234."
        },
        "locationId": {
          "type": "string",
          "description": "Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique."
        },
        "description": {
          "type": "string",
          "description": "Description, for example, Apply your technical skills."
        },
        "similarJobIds": {
          "type": "array",
          "description": "Similar job IDs, for example, 1275.",
          "items": {
            "type": "string"
          }
        },
        "jobCategory": {
          "description": "Job category, for example, Technical.",
          "type": "string"
        },
        "address": {
          "type": "string",
          "description": "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."
        },
        "jobSubtitle": {
          "description": "Job subtitle, for example, Level II.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DynamicLocalAsset": {
      "description": "A dynamic local asset.",
      "type": "object",
      "properties": {
        "description": {
          "description": "Description, for example, Save on your weekly bill.",
          "type": "string"
        },
        "formattedPrice": {
          "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.",
          "type": "string"
        },
        "similarDealIds": {
          "description": "Similar deal IDs, for example, 1275.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "category": {
          "type": "string",
          "description": "Category, for example, Food."
        },
        "androidAppLink": {
          "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.",
          "type": "string"
        },
        "iosAppLink": {
          "description": "iOS deep link, for example, exampleApp://content/page.",
          "type": "string"
        },
        "iosAppStoreId": {
          "format": "int64",
          "type": "string",
          "description": "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."
        },
        "salePrice": {
          "description": "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.",
          "type": "string"
        },
        "imageUrl": {
          "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.",
          "type": "string"
        },
        "contextualKeywords": {
          "description": "Contextual keywords, for example, Save groceries coupons.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "subtitle": {
          "type": "string",
          "description": "Subtitle, for example, Groceries."
        },
        "dealId": {
          "description": "Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.",
          "type": "string"
        },
        "dealName": {
          "description": "Required. Deal name, for example, 50% off at Mountain View Grocers. Required.",
          "type": "string"
        },
        "formattedSalePrice": {
          "description": "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.",
          "type": "string"
        },
        "address": {
          "type": "string",
          "description": "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."
        },
        "price": {
          "type": "string",
          "description": "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."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DynamicRealEstateAsset": {
      "description": "A dynamic real estate asset.",
      "type": "object",
      "properties": {
        "price": {
          "description": "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.",
          "type": "string"
        },
        "address": {
          "type": "string",
          "description": "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"
        },
        "propertyType": {
          "description": "Property type, for example, House.",
          "type": "string"
        },
        "listingName": {
          "type": "string",
          "description": "Required. Listing name, for example, Boulevard Bungalow. Required."
        },
        "listingType": {
          "description": "Listing type, for example, For sale.",
          "type": "string"
        },
        "contextualKeywords": {
          "description": "Contextual keywords, for example, For sale; Houses for sale.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "imageUrl": {
          "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.",
          "type": "string"
        },
        "cityName": {
          "description": "City name, for example, Mountain View, California.",
          "type": "string"
        },
        "iosAppLink": {
          "type": "string",
          "description": "iOS deep link, for example, exampleApp://content/page."
        },
        "iosAppStoreId": {
          "type": "string",
          "description": "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.",
          "format": "int64"
        },
        "listingId": {
          "description": "Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.",
          "type": "string"
        },
        "androidAppLink": {
          "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Description, for example, 3 beds, 2 baths, 1568 sq. ft."
        },
        "similarListingIds": {
          "type": "array",
          "description": "Similar listing IDs.",
          "items": {
            "type": "string"
          }
        },
        "formattedPrice": {
          "type": "string",
          "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DynamicTravelAsset": {
      "description": "A dynamic travel asset.",
      "type": "object",
      "properties": {
        "androidAppLink": {
          "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.",
          "type": "string"
        },
        "iosAppLink": {
          "description": "iOS deep link, for example, exampleApp://content/page.",
          "type": "string"
        },
        "iosAppStoreId": {
          "format": "int64",
          "type": "string",
          "description": "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."
        },
        "formattedPrice": {
          "type": "string",
          "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00."
        },
        "category": {
          "type": "string",
          "description": "Category, for example, Express."
        },
        "salePrice": {
          "type": "string",
          "description": "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."
        },
        "imageUrl": {
          "type": "string",
          "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset."
        },
        "destinationId": {
          "description": "Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.",
          "type": "string"
        },
        "contextualKeywords": {
          "type": "array",
          "description": "Contextual keywords, for example, Paris trains.",
          "items": {
            "type": "string"
          }
        },
        "similarDestinationIds": {
          "description": "Similar destination IDs, for example, NYC.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "title": {
          "description": "Required. Title, for example, Book your train ticket. Required.",
          "type": "string"
        },
        "originId": {
          "type": "string",
          "description": "Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique."
        },
        "originName": {
          "type": "string",
          "description": "Origin name, for example, London."
        },
        "price": {
          "description": "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.",
          "type": "string"
        },
        "destinationName": {
          "description": "Destination name, for example, Paris.",
          "type": "string"
        },
        "destinationAddress": {
          "description": "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.",
          "type": "string"
        },
        "formattedSalePrice": {
          "type": "string",
          "description": "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."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__EnhancedCpc": {
      "type": "object",
      "properties": {},
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Common__ExclusionSegment": {
      "description": "An audience segment to be excluded from an audience.",
      "type": "object",
      "properties": {
        "userList": {
          "description": "User list segment to be excluded.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListSegment"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ExpandedDynamicSearchAdInfo": {
      "type": "object",
      "properties": {
        "description": {
          "description": "The description of the ad.",
          "type": "string"
        },
        "description2": {
          "type": "string",
          "description": "The second description of the ad."
        }
      },
      "description": "An expanded dynamic search ad."
    },
    "GoogleAdsGoogleadsV25Common__ExpandedTextAdInfo": {
      "type": "object",
      "properties": {
        "headlinePart2": {
          "description": "The second part of the ad's headline.",
          "type": "string"
        },
        "description2": {
          "type": "string",
          "description": "The second description of the ad."
        },
        "headlinePart3": {
          "description": "The third part of the ad's headline.",
          "type": "string"
        },
        "description": {
          "description": "The description of the ad.",
          "type": "string"
        },
        "path1": {
          "type": "string",
          "description": "The text that can appear alongside the ad's displayed URL."
        },
        "headlinePart1": {
          "type": "string",
          "description": "The first part of the ad's headline."
        },
        "path2": {
          "description": "Additional text that can appear alongside the ad's displayed URL.",
          "type": "string"
        }
      },
      "description": "An expanded text ad. Expanded text ads are deprecated."
    },
    "GoogleAdsGoogleadsV25Common__ExtendedDemographicInfo": {
      "description": "Represents an extended demographic criterion.",
      "type": "object",
      "properties": {
        "extendedDemographicId": {
          "format": "int64",
          "type": "string",
          "description": "Taxonomy id of the extended demographic group."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__FacebookMessengerBusinessMessageInfo": {
      "type": "object",
      "properties": {
        "pageName": {
          "type": "string",
          "description": "Required. Facebook page name used for starting a chat on Facebook Messenger."
        }
      },
      "description": "Facebook Messenger information to use for messaging."
    },
    "GoogleAdsGoogleadsV25Common__FinalAppUrl": {
      "description": "A URL for deep linking into an app for the given operating system.",
      "type": "object",
      "properties": {
        "osType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The Apple IOS operating system.",
            "The Android operating system."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "IOS",
            "ANDROID"
          ],
          "type": "string",
          "description": "The operating system targeted by this URL. Required."
        },
        "url": {
          "type": "string",
          "description": "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."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__FixedCpm": {
      "type": "object",
      "properties": {
        "goal": {
          "type": "string",
          "description": "Fixed CPM bidding goal. Determines the exact bidding optimization parameters.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Maximize reach, that is the number of users who saw the ads in this campaign.",
            "Target Frequency CPM bidder. Optimize bidding to reach a single user with the requested frequency."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REACH",
            "TARGET_FREQUENCY"
          ]
        },
        "targetFrequencyInfo": {
          "description": "Target frequency bidding goal details.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__FixedCpmTargetFrequencyGoalInfo"
        }
      },
      "description": "Fixed CPM (cost per thousand impression) bidding strategy. A manual bidding strategy with a fixed CPM."
    },
    "GoogleAdsGoogleadsV25Common__FixedCpmTargetFrequencyGoalInfo": {
      "type": "object",
      "properties": {
        "targetCount": {
          "description": "Target frequency count represents the number of times an advertiser wants to show the ad to target a single user.",
          "type": "string",
          "format": "int64"
        },
        "timeUnit": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Optimize bidding to reach target frequency in 30 days."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MONTHLY"
          ],
          "description": "Time window expressing the period over which you want to reach the specified target_count.",
          "type": "string"
        }
      },
      "description": "Target frequency bidding goal details for Fixed CPM bidding strategy. Only relevant if the goal of the bidding strategy is `TARGET_FREQUENCY`."
    },
    "GoogleAdsGoogleadsV25Common__FrequencyCapEntry": {
      "description": "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.",
      "type": "object",
      "properties": {
        "key": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__FrequencyCapKey",
          "description": "The key of a particular frequency cap. There can be no more than one frequency cap with the same key."
        },
        "cap": {
          "type": "integer",
          "description": "Maximum number of events allowed during the time range by this cap.",
          "format": "int32"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__FrequencyCapKey": {
      "description": "A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key.",
      "type": "object",
      "properties": {
        "level": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The cap is applied at the ad group ad level.",
            "The cap is applied at the ad group level.",
            "The cap is applied at the campaign level."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AD_GROUP_AD",
            "AD_GROUP",
            "CAMPAIGN"
          ],
          "description": "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.",
          "type": "string"
        },
        "eventType": {
          "description": "The type of event that the cap applies to (for example, impression).",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The cap applies on ad impressions.",
            "The cap applies on video ad views."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "IMPRESSION",
            "VIDEO_VIEW"
          ]
        },
        "timeLength": {
          "format": "int32",
          "type": "integer",
          "description": "Number of time units the cap lasts."
        },
        "timeUnit": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The cap would define limit per one day.",
            "The cap would define limit per one week.",
            "The cap would define limit per one month."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DAY",
            "WEEK",
            "MONTH"
          ],
          "type": "string",
          "description": "Unit of time the cap is defined at (for example, day, week)."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__GenderDimension": {
      "description": "Dimension specifying users by their gender.",
      "type": "object",
      "properties": {
        "includeUndetermined": {
          "description": "Include users whose gender is not determined.",
          "type": "boolean"
        },
        "genders": {
          "description": "Included gender demographic segments.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Male.",
              "Female.",
              "Undetermined gender."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "MALE",
              "FEMALE",
              "UNDETERMINED"
            ]
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__GenderInfo": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the gender.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Male.",
            "Female.",
            "Undetermined gender."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MALE",
            "FEMALE",
            "UNDETERMINED"
          ]
        }
      },
      "description": "A gender criterion."
    },
    "GoogleAdsGoogleadsV25Common__GeoPointInfo": {
      "description": "Geo point for proximity criterion.",
      "type": "object",
      "properties": {
        "latitudeInMicroDegrees": {
          "format": "int32",
          "description": "Micro degrees for the latitude.",
          "type": "integer"
        },
        "longitudeInMicroDegrees": {
          "format": "int32",
          "description": "Micro degrees for the longitude.",
          "type": "integer"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__HotelAdInfo": {
      "description": "A hotel ad.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Common__HotelAdvanceBookingWindowInfo": {
      "description": "Criterion for number of days prior to the stay the booking is being made.",
      "type": "object",
      "properties": {
        "minDays": {
          "format": "int64",
          "type": "string",
          "description": "Low end of the number of days prior to the stay."
        },
        "maxDays": {
          "description": "High end of the number of days prior to the stay.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__HotelCalloutAsset": {
      "description": "An asset representing a hotel callout.",
      "type": "object",
      "properties": {
        "text": {
          "description": "Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.",
          "type": "string"
        },
        "languageCode": {
          "type": "string",
          "description": "Required. The language of the hotel callout. Represented as BCP 47 language tag."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__HotelCheckInDateRangeInfo": {
      "type": "object",
      "properties": {
        "startDate": {
          "description": "Start date in the YYYY-MM-DD format.",
          "type": "string"
        },
        "endDate": {
          "description": "End date in the YYYY-MM-DD format.",
          "type": "string"
        }
      },
      "description": "Criterion for a check-in date range."
    },
    "GoogleAdsGoogleadsV25Common__HotelCheckInDayInfo": {
      "description": "Criterion for day of the week the booking is for.",
      "type": "object",
      "properties": {
        "dayOfWeek": {
          "type": "string",
          "description": "The day of the week.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Monday.",
            "Tuesday.",
            "Wednesday.",
            "Thursday.",
            "Friday.",
            "Saturday.",
            "Sunday."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY",
            "THURSDAY",
            "FRIDAY",
            "SATURDAY",
            "SUNDAY"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__HotelCityInfo": {
      "description": "City the hotel is located in.",
      "type": "object",
      "properties": {
        "cityCriterion": {
          "type": "string",
          "description": "The Geo Target Constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__HotelClassInfo": {
      "type": "object",
      "properties": {
        "value": {
          "format": "int64",
          "type": "string",
          "description": "Long value of the hotel class."
        }
      },
      "description": "Class of the hotel as a number of stars 1 to 5."
    },
    "GoogleAdsGoogleadsV25Common__HotelCountryRegionInfo": {
      "type": "object",
      "properties": {
        "countryRegionCriterion": {
          "description": "The Geo Target Constant resource name.",
          "type": "string"
        }
      },
      "description": "Country or Region the hotel is located in."
    },
    "GoogleAdsGoogleadsV25Common__HotelDateSelectionTypeInfo": {
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Dates selected by default.",
            "Dates selected by the user."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DEFAULT_SELECTION",
            "USER_SELECTED"
          ],
          "description": "Type of the hotel date selection",
          "type": "string"
        }
      },
      "description": "Criterion for hotel date selection (default dates versus user selected)."
    },
    "GoogleAdsGoogleadsV25Common__HotelIdInfo": {
      "description": "Advertiser-specific hotel ID.",
      "type": "object",
      "properties": {
        "value": {
          "description": "String value of the hotel ID.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__HotelLengthOfStayInfo": {
      "description": "Criterion for length of hotel stay in nights.",
      "type": "object",
      "properties": {
        "minNights": {
          "type": "string",
          "description": "Low end of the number of nights in the stay.",
          "format": "int64"
        },
        "maxNights": {
          "type": "string",
          "description": "High end of the number of nights in the stay.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__HotelPropertyAsset": {
      "description": "A hotel property asset.",
      "type": "object",
      "properties": {
        "hotelAddress": {
          "description": "Address of the hotel. Read-only.",
          "type": "string"
        },
        "placeId": {
          "type": "string",
          "description": "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."
        },
        "hotelName": {
          "type": "string",
          "description": "Name of the hotel. Read-only."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__HotelStateInfo": {
      "type": "object",
      "properties": {
        "stateCriterion": {
          "description": "The Geo Target Constant resource name.",
          "type": "string"
        }
      },
      "description": "State the hotel is located in."
    },
    "GoogleAdsGoogleadsV25Common__HouseholdIncomeDimension": {
      "type": "object",
      "properties": {
        "incomeRanges": {
          "type": "array",
          "description": "Included household income demographic segments.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "0%-50%.",
              "50% to 60%.",
              "60% to 70%.",
              "70% to 80%.",
              "80% to 90%.",
              "Greater than 90%.",
              "Undetermined income range."
            ],
            "enum": [
              "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"
            ],
            "type": "string"
          }
        },
        "includeUndetermined": {
          "description": "Include users whose household income is not determined.",
          "type": "boolean"
        }
      },
      "description": "Dimension specifying users by their household income."
    },
    "GoogleAdsGoogleadsV25Common__ImageAdInfo": {
      "type": "object",
      "properties": {
        "imageAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset",
          "description": "The image assets used for the ad."
        },
        "pixelHeight": {
          "description": "Height in pixels of the full size image.",
          "type": "string",
          "format": "int64"
        },
        "adIdToCopyImageFrom": {
          "format": "int64",
          "description": "An ad ID to copy the image from.",
          "type": "string"
        },
        "imageUrl": {
          "description": "URL of the full size image.",
          "type": "string"
        },
        "pixelWidth": {
          "format": "int64",
          "type": "string",
          "description": "Width in pixels of the full size image."
        },
        "previewImageUrl": {
          "description": "URL of the preview size image.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "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."
        },
        "previewPixelHeight": {
          "description": "Height in pixels of the preview size image.",
          "type": "string",
          "format": "int64"
        },
        "data": {
          "format": "byte",
          "type": "string",
          "description": "Raw image data as bytes."
        },
        "previewPixelWidth": {
          "description": "Width in pixels of the preview size image.",
          "type": "string",
          "format": "int64"
        },
        "mimeType": {
          "x-enumDescriptions": [
            "The mime type has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "MIME type of image/jpeg.",
            "MIME type of image/gif.",
            "MIME type of image/png.",
            "MIME type of application/x-shockwave-flash.",
            "MIME type of text/html.",
            "MIME type of application/pdf.",
            "MIME type of application/msword.",
            "MIME type of application/vnd.ms-excel.",
            "MIME type of application/rtf.",
            "MIME type of audio/wav.",
            "MIME type of audio/mp3.",
            "MIME type of application/x-html5-ad-zip."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "IMAGE_JPEG",
            "IMAGE_GIF",
            "IMAGE_PNG",
            "FLASH",
            "TEXT_HTML",
            "PDF",
            "MSWORD",
            "MSEXCEL",
            "RTF",
            "AUDIO_WAV",
            "AUDIO_MP3",
            "HTML5_AD_ZIP"
          ],
          "type": "string",
          "description": "The mime type of the image."
        }
      },
      "description": "An image ad."
    },
    "GoogleAdsGoogleadsV25Common__ImageAsset": {
      "type": "object",
      "properties": {
        "mimeType": {
          "x-enumDescriptions": [
            "The mime type has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "MIME type of image/jpeg.",
            "MIME type of image/gif.",
            "MIME type of image/png.",
            "MIME type of application/x-shockwave-flash.",
            "MIME type of text/html.",
            "MIME type of application/pdf.",
            "MIME type of application/msword.",
            "MIME type of application/vnd.ms-excel.",
            "MIME type of application/rtf.",
            "MIME type of audio/wav.",
            "MIME type of audio/mp3.",
            "MIME type of application/x-html5-ad-zip."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "IMAGE_JPEG",
            "IMAGE_GIF",
            "IMAGE_PNG",
            "FLASH",
            "TEXT_HTML",
            "PDF",
            "MSWORD",
            "MSEXCEL",
            "RTF",
            "AUDIO_WAV",
            "AUDIO_MP3",
            "HTML5_AD_ZIP"
          ],
          "type": "string",
          "description": "MIME type of the image asset."
        },
        "fullSize": {
          "description": "Metadata for this image at its original size.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ImageDimension"
        },
        "data": {
          "format": "byte",
          "type": "string",
          "description": "The raw bytes data of an image. This field is mutate only."
        },
        "fileSize": {
          "description": "File size of the image asset in bytes.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "An Image asset."
    },
    "GoogleAdsGoogleadsV25Common__ImageDimension": {
      "description": "Metadata for an image at a certain size, either original or resized.",
      "type": "object",
      "properties": {
        "heightPixels": {
          "description": "Height of the image.",
          "type": "string",
          "format": "int64"
        },
        "widthPixels": {
          "format": "int64",
          "description": "Width of the image.",
          "type": "string"
        },
        "url": {
          "description": "A URL that returns the image with this height and width.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__InFeedVideoAdInfo": {
      "type": "object",
      "properties": {
        "headline": {
          "description": "The headline of the ad.",
          "type": "string"
        },
        "description1": {
          "type": "string",
          "description": "First text line for the ad."
        },
        "description2": {
          "description": "Second text line for the ad.",
          "type": "string"
        },
        "thumbnail": {
          "x-enumDescriptions": [
            "The type has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The default thumbnail. Can be auto-generated or user-uploaded.",
            "Thumbnail 1, generated from the video.",
            "Thumbnail 2, generated from the video.",
            "Thumbnail 3, generated from the video."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DEFAULT_THUMBNAIL",
            "THUMBNAIL_1",
            "THUMBNAIL_2",
            "THUMBNAIL_3"
          ],
          "type": "string",
          "description": "Video thumbnail image to use."
        }
      },
      "description": "Representation of In-feed video ad format."
    },
    "GoogleAdsGoogleadsV25Common__IncomeRangeInfo": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the income range.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "0%-50%.",
            "50% to 60%.",
            "60% to 70%.",
            "70% to 80%.",
            "80% to 90%.",
            "Greater than 90%.",
            "Undetermined income range."
          ],
          "enum": [
            "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"
          ]
        }
      },
      "description": "An income range criterion."
    },
    "GoogleAdsGoogleadsV25Common__InteractionTypeInfo": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "The interaction type.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Calls."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CALLS"
          ]
        }
      },
      "description": "Criterion for Interaction Type."
    },
    "GoogleAdsGoogleadsV25Common__IpBlockInfo": {
      "type": "object",
      "properties": {
        "ipAddress": {
          "type": "string",
          "description": "The IP address or the CIDR block to be excluded."
        }
      },
      "description": "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"
    },
    "GoogleAdsGoogleadsV25Common__KeywordInfo": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "description": "The text of the keyword (at most 80 characters and 10 words)."
        },
        "matchType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Exact match.",
            "Phrase match.",
            "Broad match."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXACT",
            "PHRASE",
            "BROAD"
          ],
          "type": "string",
          "description": "The match type of the keyword."
        }
      },
      "description": "A keyword criterion."
    },
    "GoogleAdsGoogleadsV25Common__KeywordThemeInfo": {
      "description": "A Smart Campaign keyword theme.",
      "type": "object",
      "properties": {
        "keywordThemeConstant": {
          "type": "string",
          "description": "The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`"
        },
        "freeFormKeywordTheme": {
          "type": "string",
          "description": "Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LanguageInfo": {
      "description": "A language criterion.",
      "type": "object",
      "properties": {
        "languageConstant": {
          "type": "string",
          "description": "The language constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LeadFormAsset": {
      "description": "A Lead Form asset.",
      "type": "object",
      "properties": {
        "headline": {
          "description": "Required. Headline of the expanded form to describe what the form is asking for or facilitating.",
          "type": "string"
        },
        "customDisclosure": {
          "description": "Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.",
          "type": "string"
        },
        "customQuestionFields": {
          "description": "Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LeadFormCustomQuestionField"
          },
          "type": "array"
        },
        "postSubmitDescription": {
          "description": "Detailed description shown after form submission that describes how the advertiser will follow up with the user.",
          "type": "string"
        },
        "callToActionType": {
          "description": "Required. Pre-defined display text that encourages user to expand the form.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Learn more.",
            "Get quote.",
            "Apply now.",
            "Sign Up.",
            "Contact us.",
            "Subscribe.",
            "Download.",
            "Book now.",
            "Get offer.",
            "Register.",
            "Get info.",
            "Request a demo.",
            "Join now.",
            "Get started."
          ],
          "enum": [
            "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"
          ]
        },
        "privacyPolicyUrl": {
          "description": "Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.",
          "type": "string"
        },
        "deliveryMethods": {
          "type": "array",
          "description": "Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LeadFormDeliveryMethod"
          }
        },
        "businessName": {
          "description": "Required. The name of the business being advertised.",
          "type": "string"
        },
        "backgroundImageAsset": {
          "description": "Asset resource name of the background image. The image dimensions must be exactly 1200x628.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Required. Detailed description of the expanded form to describe what the form is asking for or facilitating."
        },
        "postSubmitHeadline": {
          "type": "string",
          "description": "Headline of text shown after form submission that describes how the advertiser will follow up with the user."
        },
        "callToActionDescription": {
          "description": "Required. Text giving a clear value proposition of what users expect once they expand the form.",
          "type": "string"
        },
        "desiredIntent": {
          "type": "string",
          "description": "Chosen intent for the lead form, for example, more volume or more qualified.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Deliver more leads at a potentially lower quality.",
            "Deliver leads that are more qualified."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LOW_INTENT",
            "HIGH_INTENT"
          ]
        },
        "fields": {
          "type": "array",
          "description": "Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LeadFormField"
          }
        },
        "postSubmitCallToActionType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Visit site.",
            "Download.",
            "Learn more.",
            "Shop now."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "VISIT_SITE",
            "DOWNLOAD",
            "LEARN_MORE",
            "SHOP_NOW"
          ],
          "type": "string",
          "description": "Pre-defined display text that encourages user action after the form is submitted."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LeadFormCustomQuestionField": {
      "type": "object",
      "properties": {
        "customQuestionText": {
          "description": "The exact custom question field text (for example, \"What kind of vehicle do you have?\").",
          "type": "string"
        },
        "singleChoiceAnswers": {
          "description": "Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LeadFormSingleChoiceAnswers"
        },
        "hasLocationAnswer": {
          "type": "boolean",
          "description": "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."
        }
      },
      "description": "One custom question input field instance within a form."
    },
    "GoogleAdsGoogleadsV25Common__LeadFormDeliveryMethod": {
      "type": "object",
      "properties": {
        "webhook": {
          "description": "Webhook method of delivery.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebhookDelivery"
        }
      },
      "description": "A configuration of how leads are delivered to the advertiser."
    },
    "GoogleAdsGoogleadsV25Common__LeadFormField": {
      "description": "One input field instance within a form.",
      "type": "object",
      "properties": {
        "inputType": {
          "type": "string",
          "description": "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?\".",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The user will be asked to fill in their given and family name. This field cannot be set at the same time as GIVEN_NAME or FAMILY_NAME.",
            "The user will be asked to fill in their email address.",
            "The user will be asked to fill in their phone number.",
            "The user will be asked to fill in their zip code.",
            "The user will be asked to fill in their street address.",
            "The user will be asked to fill in their city.",
            "The user will be asked to fill in their region part of the address (for example, state for US, province for Canada).",
            "The user will be asked to fill in their country.",
            "The user will be asked to fill in their work email address.",
            "The user will be asked to fill in their company name.",
            "The user will be asked to fill in their work phone.",
            "The user will be asked to fill in their job title.",
            "The user will be asked to fill in their CPF for Brazil users.",
            "The user will be asked to fill in their DNI for Argentina users.",
            "The user will be asked to fill in their DNI for Peru users.",
            "The user will be asked to fill in their RUT for Chile users.",
            "The user will be asked to fill in their CC for Colombia users.",
            "The user will be asked to fill in their CI for Ecuador users.",
            "The user will be asked to fill in their RFC for Mexico users.",
            "The user will be asked to fill in their first name. This field can not be set at the same time as FULL_NAME.",
            "The user will be asked to fill in their last name. This field can not be set at the same time as FULL_NAME.",
            "Question: \"Which model are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Which type of vehicle are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your preferred dealership?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"When do you plan on purchasing a vehicle?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Do you own a vehicle?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What vehicle ownership option are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What type of vehicle condition are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What size is your company?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your annual sales volume?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"How many years have you been in business?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your job department?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your job role?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 18 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 19 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 20 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 21 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 22 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 23 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 24 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 25 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 26 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 27 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 28 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 29 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 30 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 31 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 32 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 33 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 34 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 35 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 36 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 37 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 38 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 39 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 40 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 41 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 42 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 43 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 44 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 45 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 46 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 47 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 48 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 49 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 50 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 51 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 52 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 53 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 54 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 55 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 56 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 57 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 58 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 59 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 60 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 61 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 62 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 63 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 64 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you over 65 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Which program are you interested in?\" Category: \"Education\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Which course are you interested in?\" Category: \"Education\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Which product are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Which service are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Which offer are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Which category are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your preferred method of contact?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your preferred location?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is the best time to contact you?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"When are you looking to make a purchase?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"How many years of work experience do you have?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What industry do you work in?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your highest level of education?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What type of property are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What do you need a realtor's help with?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What neighborhood are you interested in?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What price range are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"How many bedrooms are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you looking for a fully furnished property?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Are you looking for properties that allow pets?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is the next product you plan to purchase?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Would you like to sign up for an event?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Where are you interested in shopping?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your favorite brand?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Which type of valid commercial license do you have?\" Category: \"Transportation\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Interested in booking an event?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your destination country?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your destination city?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your departure country?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your departure city?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your departure date?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your return date?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"How many people are you traveling with?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"What is your travel budget?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.",
            "Question: \"Where do you want to stay during your travel?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields."
          ],
          "enum": [
            "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"
          ]
        },
        "singleChoiceAnswers": {
          "description": "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.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LeadFormSingleChoiceAnswers"
        },
        "hasLocationAnswer": {
          "description": "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.",
          "type": "boolean"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LeadFormSingleChoiceAnswers": {
      "description": "Defines possible answers for a single choice question, usually presented as a single-choice drop-down list.",
      "type": "object",
      "properties": {
        "answers": {
          "type": "array",
          "description": "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.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LegacyAppInstallAdInfo": {
      "description": "A legacy app install ad that only can be used by a few select customers.",
      "type": "object",
      "properties": {
        "appStore": {
          "description": "The app store the mobile app is available in.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Apple iTunes.",
            "Google Play.",
            "Windows Store.",
            "Windows Phone Store.",
            "The app is hosted in a Chinese app store."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "APPLE_APP_STORE",
            "GOOGLE_PLAY",
            "WINDOWS_STORE",
            "WINDOWS_PHONE_STORE",
            "CN_APP_STORE"
          ]
        },
        "description1": {
          "type": "string",
          "description": "The first description line of the ad."
        },
        "description2": {
          "type": "string",
          "description": "The second description line of the ad."
        },
        "headline": {
          "type": "string",
          "description": "The headline of the ad."
        },
        "appId": {
          "description": "The ID of the mobile app.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LegacyResponsiveDisplayAdInfo": {
      "description": "A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI.",
      "type": "object",
      "properties": {
        "allowFlexibleColor": {
          "description": "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.",
          "type": "boolean"
        },
        "callToActionText": {
          "description": "The call-to-action text for the ad.",
          "type": "string"
        },
        "squareLogoImage": {
          "type": "string",
          "description": "The MediaFile resource name of the square logo image used in the ad."
        },
        "accentColor": {
          "type": "string",
          "description": "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."
        },
        "marketingImage": {
          "description": "The MediaFile resource name of the marketing image used in the ad.",
          "type": "string"
        },
        "squareMarketingImage": {
          "description": "The MediaFile resource name of the square marketing image used in the ad.",
          "type": "string"
        },
        "shortHeadline": {
          "type": "string",
          "description": "The short version of the ad's headline."
        },
        "description": {
          "description": "The description of the ad.",
          "type": "string"
        },
        "longHeadline": {
          "type": "string",
          "description": "The long version of the ad's headline."
        },
        "businessName": {
          "type": "string",
          "description": "The business name in the ad."
        },
        "mainColor": {
          "description": "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.",
          "type": "string"
        },
        "formatSetting": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Text, image and native formats.",
            "Text and image formats.",
            "Native format, for example, the format rendering is controlled by the publisher and not by Google."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ALL_FORMATS",
            "NON_NATIVE",
            "NATIVE"
          ],
          "type": "string",
          "description": "Specifies which format the ad will be served in. Default is ALL_FORMATS."
        },
        "pricePrefix": {
          "type": "string",
          "description": "Prefix before price. For example, 'as low as'."
        },
        "promoText": {
          "type": "string",
          "description": "Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'."
        },
        "logoImage": {
          "description": "The MediaFile resource name of the logo image used in the ad.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LifeEventInfo": {
      "type": "object",
      "properties": {
        "lifeEventId": {
          "format": "int64",
          "description": "Taxonomy id of the life event.",
          "type": "string"
        }
      },
      "description": "Represents a life event criterion."
    },
    "GoogleAdsGoogleadsV25Common__LifeEventSegment": {
      "type": "object",
      "properties": {
        "lifeEvent": {
          "description": "The life event resource.",
          "type": "string"
        }
      },
      "description": "Live event segment."
    },
    "GoogleAdsGoogleadsV25Common__ListingDimensionInfo": {
      "type": "object",
      "properties": {
        "activityCountry": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ActivityCountryInfo",
          "description": "The country where the travel activity is available."
        },
        "productGrouping": {
          "description": "Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductGroupingInfo"
        },
        "productChannel": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductChannelInfo",
          "description": "Locality of a product offer."
        },
        "activityId": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ActivityIdInfo",
          "description": "Advertiser-specific activity ID."
        },
        "hotelCountryRegion": {
          "description": "Country or Region the hotel is located in.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelCountryRegionInfo"
        },
        "hotelCity": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelCityInfo",
          "description": "City the hotel is located in."
        },
        "productCustomAttribute": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductCustomAttributeInfo",
          "description": "Custom attribute of a product offer."
        },
        "hotelClass": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelClassInfo",
          "description": "Class of the hotel as a number of stars 1 to 5."
        },
        "productLabels": {
          "description": "Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductLabelsInfo"
        },
        "productItemId": {
          "description": "Item id of a product offer.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductItemIdInfo"
        },
        "unknownListingDimension": {
          "description": "Unknown dimension. Set when no other listing dimension is set.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UnknownListingDimensionInfo"
        },
        "productCategory": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductCategoryInfo",
          "description": "Category of a product offer."
        },
        "activityRating": {
          "description": "Rating of the activity as a number 1 to 5, where 5 is the best.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ActivityRatingInfo"
        },
        "hotelState": {
          "description": "State the hotel is located in.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelStateInfo"
        },
        "productType": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductTypeInfo",
          "description": "Type of a product offer."
        },
        "hotelId": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelIdInfo",
          "description": "Advertiser-specific hotel ID."
        },
        "activityCity": {
          "description": "The city where the travel activity is available.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ActivityCityInfo"
        },
        "productBrand": {
          "description": "Brand of a product offer.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductBrandInfo"
        },
        "activityState": {
          "description": "The state where the travel activity is available.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ActivityStateInfo"
        },
        "productCondition": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductConditionInfo",
          "description": "Condition of a product offer."
        },
        "productLegacyCondition": {
          "description": "Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductLegacyConditionInfo"
        },
        "productTypeFull": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductTypeFullInfo",
          "description": "Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns."
        },
        "productChannelExclusivity": {
          "description": "Availability of a product offer.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductChannelExclusivityInfo"
        }
      },
      "description": "Listing dimensions for listing group criterion."
    },
    "GoogleAdsGoogleadsV25Common__ListingDimensionPath": {
      "type": "object",
      "properties": {
        "dimensions": {
          "type": "array",
          "description": "The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ListingDimensionInfo"
          }
        }
      },
      "description": "The path of dimensions defining a listing group."
    },
    "GoogleAdsGoogleadsV25Common__ListingGroupInfo": {
      "type": "object",
      "properties": {
        "caseValue": {
          "description": "Dimension value with which this listing group is refining its parent. Undefined for the root group.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ListingDimensionInfo"
        },
        "path": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ListingDimensionPath",
          "description": "The path of dimensions defining this listing group."
        },
        "type": {
          "description": "Type of the listing group.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Subdivision of products along some listing dimension. These nodes are not used by serving to target listing entries, but is purely to define the structure of the tree.",
            "Listing group unit that defines a bid."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SUBDIVISION",
            "UNIT"
          ]
        },
        "parentAdGroupCriterion": {
          "description": "Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.",
          "type": "string"
        }
      },
      "description": "A listing group criterion."
    },
    "GoogleAdsGoogleadsV25Common__ListingScopeInfo": {
      "description": "A listing scope criterion.",
      "type": "object",
      "properties": {
        "dimensions": {
          "description": "Scope of the campaign criterion.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ListingDimensionInfo"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LocalAdInfo": {
      "type": "object",
      "properties": {
        "callToActions": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        },
        "path1": {
          "type": "string",
          "description": "First part of optional text that can be appended to the URL in the ad."
        },
        "path2": {
          "description": "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.",
          "type": "string"
        },
        "descriptions": {
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        },
        "logoImages": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "headlines": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        },
        "marketingImages": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "videos": {
          "description": "List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAsset"
          },
          "type": "array"
        }
      },
      "description": "A local ad."
    },
    "GoogleAdsGoogleadsV25Common__LocalServiceIdInfo": {
      "description": "A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target.",
      "type": "object",
      "properties": {
        "serviceId": {
          "type": "string",
          "description": "The criterion resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LocalServicesPhoneNumber": {
      "type": "object",
      "properties": {
        "phoneNumberType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Provider-provided destination number to use for calls originating from a GLS ad unit. This is the default.",
            "Destination phone number that supports SMS.",
            "Destination phone number for a provider's WhatsApp account."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DESTINATION_PHONE_NUMBER_FOR_ADS",
            "DESTINATION_PHONE_NUMBER_FOR_SMS_ONLY",
            "DESTINATION_PHONE_NUMBER_FOR_WHATSAPP_ONLY"
          ],
          "description": "The type of the phone number.",
          "type": "string"
        },
        "phoneNumber": {
          "description": "The phone number.",
          "type": "string"
        },
        "countryCode": {
          "type": "string",
          "description": "Upper-case, two-letter codes as defined by ISO-3166."
        }
      },
      "description": "Phone number associated with the provider."
    },
    "GoogleAdsGoogleadsV25Common__LocationAsset": {
      "type": "object",
      "properties": {
        "businessProfileLocations": {
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BusinessProfileLocation"
          },
          "type": "array"
        },
        "locationOwnershipType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Business Owner of location(legacy location extension - LE).",
            "Affiliate location(Third party location extension - ALE)."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BUSINESS_OWNER",
            "AFFILIATE"
          ],
          "type": "string",
          "description": "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."
        },
        "placeId": {
          "type": "string",
          "description": "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."
        }
      },
      "description": "A location asset."
    },
    "GoogleAdsGoogleadsV25Common__LocationGroupInfo": {
      "type": "object",
      "properties": {
        "enableCustomerLevelLocationAssetSet": {
          "description": "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.",
          "type": "boolean"
        },
        "locationGroupAssetSets": {
          "description": "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "geoTargetConstants": {
          "type": "array",
          "description": "Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed. Cannot be set with AssetSet fields.",
          "items": {
            "type": "string"
          }
        },
        "radius": {
          "format": "int64",
          "type": "string",
          "description": "Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations."
        },
        "radiusUnits": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Meters",
            "Miles",
            "Milli Miles"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "METERS",
            "MILES",
            "MILLI_MILES"
          ],
          "type": "string",
          "description": "Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets and asset sets. This is required and must be set in CREATE operations."
        },
        "feedItemSets": {
          "description": "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. Cannot be set with AssetSet fields.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "A radius around a list of locations specified through a feed or assetSet."
    },
    "GoogleAdsGoogleadsV25Common__LocationInfo": {
      "type": "object",
      "properties": {
        "geoTargetConstant": {
          "type": "string",
          "description": "The geo target constant resource name."
        }
      },
      "description": "A location criterion."
    },
    "GoogleAdsGoogleadsV25Common__LocationSet": {
      "type": "object",
      "properties": {
        "businessProfileLocationSet": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BusinessProfileLocationSet",
          "description": "Data used to configure a location set populated from Google Business Profile locations."
        },
        "locationOwnershipType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Business Owner of location(legacy location extension - LE).",
            "Affiliate location(Third party location extension - ALE)."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BUSINESS_OWNER",
            "AFFILIATE"
          ],
          "description": "Required. Immutable. Location Ownership Type (owned location or affiliate location).",
          "type": "string"
        },
        "mapsLocationSet": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MapsLocationSet",
          "description": "Only set if locations are synced based on selected maps locations"
        },
        "chainLocationSet": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ChainSet",
          "description": "Data used to configure a location on chain set populated with the specified chains."
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Common__ManualCpa": {
      "description": "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Common__ManualCpc": {
      "description": "Manual click-based bidding where user pays per click.",
      "type": "object",
      "properties": {
        "enhancedCpcEnabled": {
          "type": "boolean",
          "description": "Whether bids are to be enhanced based on conversion optimizer data."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ManualCpm": {
      "type": "object",
      "properties": {},
      "description": "Manual impression-based bidding where user pays per thousand impressions."
    },
    "GoogleAdsGoogleadsV25Common__ManualCpv": {
      "description": "View based bidding where user pays per video view.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Common__MapsLocationInfo": {
      "description": "Wrapper for place ids",
      "type": "object",
      "properties": {
        "placeId": {
          "description": "Place ID of the Maps location.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__MapsLocationSet": {
      "type": "object",
      "properties": {
        "mapsLocations": {
          "description": "Required. A list of maps location info that user manually synced in.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MapsLocationInfo"
          },
          "type": "array"
        }
      },
      "description": "Wrapper for multiple maps location sync data"
    },
    "GoogleAdsGoogleadsV25Common__MaximizeConversionValue": {
      "type": "object",
      "properties": {
        "cpcBidCeilingMicros": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "targetRoas": {
          "type": "number",
          "description": "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.",
          "format": "double"
        },
        "cpcBidFloorMicros": {
          "description": "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.",
          "type": "string",
          "format": "int64"
        },
        "targetRoasTolerancePercentMillis": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        }
      },
      "description": "An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget."
    },
    "GoogleAdsGoogleadsV25Common__MaximizeConversions": {
      "description": "An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.",
      "type": "object",
      "properties": {
        "cpcBidFloorMicros": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "cpcBidCeilingMicros": {
          "description": "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.",
          "type": "string",
          "format": "int64"
        },
        "targetCpaMicros": {
          "description": "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.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__MediaBundleAsset": {
      "description": "A MediaBundle asset.",
      "type": "object",
      "properties": {
        "data": {
          "format": "byte",
          "description": "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.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__MobileAppAsset": {
      "type": "object",
      "properties": {
        "appStore": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Mobile app vendor for Apple app store.",
            "Mobile app vendor for Google app store."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "APPLE_APP_STORE",
            "GOOGLE_APP_STORE"
          ],
          "description": "Required. The application store that distributes this specific app.",
          "type": "string"
        },
        "linkText": {
          "description": "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.",
          "type": "string"
        },
        "startDate": {
          "description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.",
          "type": "string"
        },
        "endDate": {
          "type": "string",
          "description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format."
        },
        "appId": {
          "description": "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.",
          "type": "string"
        }
      },
      "description": "An asset representing a mobile app."
    },
    "GoogleAdsGoogleadsV25Common__MobileAppCategoryInfo": {
      "description": "A mobile app category criterion.",
      "type": "object",
      "properties": {
        "mobileAppCategoryConstant": {
          "type": "string",
          "description": "The mobile app category constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__MobileApplicationInfo": {
      "type": "object",
      "properties": {
        "appId": {
          "description": "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.",
          "type": "string"
        },
        "name": {
          "description": "Name of this mobile application.",
          "type": "string"
        }
      },
      "description": "A mobile application criterion."
    },
    "GoogleAdsGoogleadsV25Common__MobileDeviceInfo": {
      "description": "A mobile device criterion.",
      "type": "object",
      "properties": {
        "mobileDeviceConstant": {
          "type": "string",
          "description": "The mobile device constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__Money": {
      "type": "object",
      "properties": {
        "currencyCode": {
          "description": "Three-character ISO 4217 currency code.",
          "type": "string"
        },
        "amountMicros": {
          "description": "Amount in micros. One million is equivalent to one unit.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "Represents a price in a particular currency."
    },
    "GoogleAdsGoogleadsV25Common__NegativeKeywordListInfo": {
      "description": "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.",
      "type": "object",
      "properties": {
        "sharedSet": {
          "description": "The NegativeKeywordListInfo shared set resource name.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__OperatingSystemVersionInfo": {
      "description": "Represents an operating system version to be targeted.",
      "type": "object",
      "properties": {
        "operatingSystemVersionConstant": {
          "type": "string",
          "description": "The operating system version constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__PageFeedAsset": {
      "description": "A Page Feed asset.",
      "type": "object",
      "properties": {
        "labels": {
          "description": "Labels used to group the page urls.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "pageUrl": {
          "type": "string",
          "description": "Required. The webpage that advertisers want to target."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ParentalStatusDimension": {
      "type": "object",
      "properties": {
        "parentalStatuses": {
          "description": "Included parental status demographic segments.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Parent.",
              "Not a parent.",
              "Undetermined parental status."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "PARENT",
              "NOT_A_PARENT",
              "UNDETERMINED"
            ]
          },
          "type": "array"
        },
        "includeUndetermined": {
          "description": "Include users whose parental status is undetermined.",
          "type": "boolean"
        }
      },
      "description": "Dimension specifying users by their parental status."
    },
    "GoogleAdsGoogleadsV25Common__ParentalStatusInfo": {
      "type": "object",
      "properties": {
        "type": {
          "description": "Type of the parental status.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Parent.",
            "Not a parent.",
            "Undetermined parental status."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PARENT",
            "NOT_A_PARENT",
            "UNDETERMINED"
          ]
        }
      },
      "description": "A parental status criterion."
    },
    "GoogleAdsGoogleadsV25Common__PercentCpc": {
      "type": "object",
      "properties": {
        "cpcBidCeilingMicros": {
          "description": "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.",
          "type": "string",
          "format": "int64"
        },
        "enhancedCpcEnabled": {
          "description": "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.",
          "type": "boolean"
        }
      },
      "description": "A bidding strategy where bids are a fraction of the advertised price for some good or service."
    },
    "GoogleAdsGoogleadsV25Common__PlacementInfo": {
      "description": "A placement criterion. This can be used to modify bids for sites when targeting the content network.",
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "description": "URL of the placement. For example, \"http://www.domain.com\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__PlacementListInfo": {
      "description": "A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level.",
      "type": "object",
      "properties": {
        "sharedSet": {
          "type": "string",
          "description": "The PlacementListInfo shared set resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__PolicyTopicConstraint": {
      "type": "object",
      "properties": {
        "resellerConstraint": {
          "description": "Reseller constraint.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_ResellerConstraint"
        },
        "certificateMissingInCountryList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_CountryConstraintList",
          "description": "Countries where a certificate is required for serving."
        },
        "countryConstraintList": {
          "description": "Countries where the resource cannot serve.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_CountryConstraintList"
        },
        "certificateDomainMismatchInCountryList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_CountryConstraintList",
          "description": "Countries where the resource's domain is not covered by the certificates associated with it."
        }
      },
      "description": "Describes the effect on serving that a policy topic entry will have."
    },
    "GoogleAdsGoogleadsV25Common__PolicyTopicEntry": {
      "type": "object",
      "properties": {
        "topic": {
          "description": "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.",
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "Describes the negative or positive effect this policy will have on serving.",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The resource will not be served.",
            "The resource will not be served under some circumstances.",
            "The resource cannot serve at all because of the current targeting criteria.",
            "May be of interest, but does not limit how the resource is served.",
            "Could increase coverage beyond normal.",
            "Constrained for all targeted countries, but may serve in other countries through area of interest."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PROHIBITED",
            "LIMITED",
            "FULLY_LIMITED",
            "DESCRIPTIVE",
            "BROADENING",
            "AREA_OF_INTEREST_ONLY"
          ]
        },
        "constraints": {
          "description": "Indicates how serving of this resource may be affected (for example, not serving in a country).",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PolicyTopicConstraint"
          },
          "type": "array"
        },
        "evidences": {
          "type": "array",
          "description": "Additional information that explains policy finding (for example, the brand name for a trademark finding).",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PolicyTopicEvidence"
          }
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Common__PolicyTopicEvidence": {
      "description": "Additional information that explains a policy finding.",
      "type": "object",
      "properties": {
        "websiteList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_WebsiteList",
          "description": "List of websites linked with this resource."
        },
        "languageCode": {
          "description": "The language the resource was detected to be written in. This is an IETF language tag such as \"en-US\".",
          "type": "string"
        },
        "destinationTextList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationTextList",
          "description": "The text in the destination of the resource that is causing a policy finding."
        },
        "destinationMismatch": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationMismatch",
          "description": "Mismatch between the destinations of a resource's URLs."
        },
        "destinationNotWorking": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationNotWorking",
          "description": "Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices."
        },
        "textList": {
          "description": "List of evidence found in the text of a resource.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_TextList"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__PriceAsset": {
      "type": "object",
      "properties": {
        "priceQualifier": {
          "description": "The price qualifier of the price asset.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "'From' qualifier for the price.",
            "'Up to' qualifier for the price.",
            "'Average' qualifier for the price."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "FROM",
            "UP_TO",
            "AVERAGE"
          ]
        },
        "languageCode": {
          "description": "Required. The language of the price asset. Represented as BCP 47 language tag.",
          "type": "string"
        },
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The type for showing a list of brands.",
            "The type for showing a list of events.",
            "The type for showing locations relevant to your business.",
            "The type for showing sub-regions or districts within a city or region.",
            "The type for showing a collection of product categories.",
            "The type for showing a collection of related product tiers.",
            "The type for showing a collection of services offered by your business.",
            "The type for showing a collection of service categories.",
            "The type for showing a collection of related service tiers."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BRANDS",
            "EVENTS",
            "LOCATIONS",
            "NEIGHBORHOODS",
            "PRODUCT_CATEGORIES",
            "PRODUCT_TIERS",
            "SERVICES",
            "SERVICE_CATEGORIES",
            "SERVICE_TIERS"
          ],
          "type": "string",
          "description": "Required. The type of the price asset."
        },
        "priceOfferings": {
          "description": "The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PriceOffering"
          },
          "type": "array"
        }
      },
      "description": "An asset representing a list of price offers."
    },
    "GoogleAdsGoogleadsV25Common__PriceOffering": {
      "description": "A single price offering within a PriceAsset.",
      "type": "object",
      "properties": {
        "finalUrl": {
          "description": "Required. The final URL after all cross domain redirects.",
          "type": "string"
        },
        "description": {
          "description": "Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.",
          "type": "string"
        },
        "unit": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Per hour.",
            "Per day.",
            "Per week.",
            "Per month.",
            "Per year.",
            "Per night."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PER_HOUR",
            "PER_DAY",
            "PER_WEEK",
            "PER_MONTH",
            "PER_YEAR",
            "PER_NIGHT"
          ],
          "type": "string",
          "description": "The price unit of the price offering."
        },
        "header": {
          "description": "Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.",
          "type": "string"
        },
        "price": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__Money",
          "description": "Required. The price value of the price offering."
        },
        "finalMobileUrl": {
          "type": "string",
          "description": "The final mobile URL after all cross domain redirects."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ProductBrandInfo": {
      "type": "object",
      "properties": {
        "value": {
          "description": "String value of the product brand.",
          "type": "string"
        }
      },
      "description": "Brand of the product."
    },
    "GoogleAdsGoogleadsV25Common__ProductCategoryInfo": {
      "type": "object",
      "properties": {
        "level": {
          "description": "Level of the product category.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Level 1.",
            "Level 2.",
            "Level 3.",
            "Level 4.",
            "Level 5."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LEVEL1",
            "LEVEL2",
            "LEVEL3",
            "LEVEL4",
            "LEVEL5"
          ]
        },
        "categoryId": {
          "description": "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",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "Category of a product offer."
    },
    "GoogleAdsGoogleadsV25Common__ProductChannelExclusivityInfo": {
      "description": "Availability of a product offer.",
      "type": "object",
      "properties": {
        "channelExclusivity": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The item is sold through one channel only, either local stores or online as indicated by its ProductChannel.",
            "The item is matched to its online or local stores counterpart, indicating it is available for purchase in both ShoppingProductChannels."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SINGLE_CHANNEL",
            "MULTI_CHANNEL"
          ],
          "description": "Value of the availability.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ProductChannelInfo": {
      "description": "Locality of a product offer.",
      "type": "object",
      "properties": {
        "channel": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The item is sold online.",
            "The item is sold in local stores."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ONLINE",
            "LOCAL"
          ],
          "description": "Value of the locality.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ProductConditionInfo": {
      "description": "Condition of a product offer.",
      "type": "object",
      "properties": {
        "condition": {
          "type": "string",
          "description": "Value of the condition.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The product condition is new.",
            "The product condition is refurbished.",
            "The product condition is used."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NEW",
            "REFURBISHED",
            "USED"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ProductCustomAttributeInfo": {
      "type": "object",
      "properties": {
        "index": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "First product custom attribute.",
            "Second product custom attribute.",
            "Third product custom attribute.",
            "Fourth product custom attribute.",
            "Fifth product custom attribute."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INDEX0",
            "INDEX1",
            "INDEX2",
            "INDEX3",
            "INDEX4"
          ],
          "type": "string",
          "description": "Indicates the index of the custom attribute."
        },
        "value": {
          "description": "String value of the product custom attribute.",
          "type": "string"
        }
      },
      "description": "Custom attribute of a product offer."
    },
    "GoogleAdsGoogleadsV25Common__ProductGroupingInfo": {
      "type": "object",
      "properties": {
        "value": {
          "description": "String value of the product grouping.",
          "type": "string"
        }
      },
      "description": "Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns."
    },
    "GoogleAdsGoogleadsV25Common__ProductItemIdInfo": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "Value of the id."
        }
      },
      "description": "Item id of a product offer."
    },
    "GoogleAdsGoogleadsV25Common__ProductLabelsInfo": {
      "description": "Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the product labels."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ProductLegacyConditionInfo": {
      "type": "object",
      "properties": {
        "value": {
          "description": "String value of the product legacy condition.",
          "type": "string"
        }
      },
      "description": "Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns."
    },
    "GoogleAdsGoogleadsV25Common__ProductTypeFullInfo": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the product full type."
        }
      },
      "description": "Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns."
    },
    "GoogleAdsGoogleadsV25Common__ProductTypeInfo": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "Value of the type."
        },
        "level": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Level 1.",
            "Level 2.",
            "Level 3.",
            "Level 4.",
            "Level 5."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LEVEL1",
            "LEVEL2",
            "LEVEL3",
            "LEVEL4",
            "LEVEL5"
          ],
          "type": "string",
          "description": "Level of the type."
        }
      },
      "description": "Type of a product offer."
    },
    "GoogleAdsGoogleadsV25Common__PromotionAsset": {
      "description": "A Promotion asset.",
      "type": "object",
      "properties": {
        "ordersOverAmount": {
          "description": "The amount the total order needs to be for the user to be eligible for the promotion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__Money"
        },
        "promotionTarget": {
          "description": "Required. A freeform description of what the promotion is targeting.",
          "type": "string"
        },
        "termsAndConditionsText": {
          "description": "Terms and conditions of the promotion.",
          "type": "string"
        },
        "promotionQrCodeInfo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PromotionQrCodeInfo",
          "description": "QR code info used to generate promotion QR code for user to be eligible for the promotion."
        },
        "moneyAmountOff": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__Money",
          "description": "Money amount off for discount in the promotion. Either this or percent_off is required."
        },
        "promotionCode": {
          "description": "A code the user should use in order to be eligible for the promotion.",
          "type": "string"
        },
        "termsAndConditionsUri": {
          "description": "URI to the terms and conditions of the promotion.",
          "type": "string"
        },
        "startDate": {
          "description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.",
          "type": "string"
        },
        "redemptionStartDate": {
          "description": "Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.",
          "type": "string"
        },
        "promotionBarcodeInfo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PromotionBarcodeInfo",
          "description": "Barcode info used to generate promotion barcode for user to be eligible for the promotion."
        },
        "endDate": {
          "type": "string",
          "description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format."
        },
        "redemptionEndDate": {
          "description": "Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.",
          "type": "string"
        },
        "languageCode": {
          "type": "string",
          "description": "The language of the promotion. Represented as BCP 47 language tag."
        },
        "adScheduleTargets": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdScheduleInfo"
          }
        },
        "discountModifier": {
          "description": "A modifier for qualification of the discount.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "'Up to'."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UP_TO"
          ]
        },
        "occasion": {
          "type": "string",
          "description": "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.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "New Year's.",
            "Chinese New Year.",
            "Valentine's Day.",
            "Easter.",
            "Mother's Day.",
            "Father's Day.",
            "Labor Day.",
            "Back To School.",
            "Halloween.",
            "Black Friday.",
            "Cyber Monday.",
            "Christmas.",
            "Boxing Day.",
            "Independence Day in any country.",
            "National Day in any country.",
            "End of any season.",
            "Winter Sale.",
            "Summer sale.",
            "Fall Sale.",
            "Spring Sale.",
            "Ramadan.",
            "Eid al-Fitr.",
            "Eid al-Adha.",
            "Singles Day.",
            "Women's Day.",
            "Holi.",
            "Parent's Day.",
            "St. Nicholas Day.",
            "Carnival.",
            "Epiphany, also known as Three Kings' Day.",
            "Rosh Hashanah.",
            "Passover.",
            "Hanukkah.",
            "Diwali.",
            "Navratri.",
            "Available in Thai: Songkran.",
            "Available in Japanese: Year-end Gift."
          ],
          "enum": [
            "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"
          ]
        },
        "percentOff": {
          "description": "Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__PromotionBarcodeInfo": {
      "description": "Barcode info to generate promotion barcode.",
      "type": "object",
      "properties": {
        "barcodeContent": {
          "type": "string",
          "description": "Promotion message to be encoded in the barcode."
        },
        "type": {
          "type": "string",
          "description": "Barcode type used to generate barcode with the correct format.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Aztec 2D barcode format. Max 350 characters and no links",
            "CODABAR 1D format. Max 12 characters and no links. Supported characters include 0123456789-$:/.+ and optional start and end guards from ABCD.",
            "Code 39 1D format. Max 8 characters and no links. Supported characters include 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%.",
            "Code 128 1D format. Max 18 ASCII characters only and no links",
            "Data Matrix 2D barcode format. Max 525 ISO-8859-1 characters only and no links",
            "EAN-8 1D format. The barcode value should be 7 digits (the check digit will be computed automatically) or 8 digits (if you are providing your own check digit).",
            "EAN-13 1D format. The barcode value should be 12 digits (the check digit will be computed automatically) or 13 digits (if you are providing your own check digit).",
            "ITF (Interleaved Two of Five) 1D format. Must be 14 digits long",
            "PDF417 format. Max 140 characters and no links",
            "UPC-A 1D format. The barcode value should be 11 digits (the check digit will be computed automatically) or 12 digits (if you are providing your own check digit)."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AZTEC",
            "CODABAR",
            "CODE39",
            "CODE128",
            "DATA_MATRIX",
            "EAN8",
            "EAN13",
            "ITF",
            "PDF417",
            "UPC_A"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__PromotionQrCodeInfo": {
      "type": "object",
      "properties": {
        "qrCodeContent": {
          "description": "Promotion message to be encoded in the QR code.",
          "type": "string"
        }
      },
      "description": "QR code info to generate promotion QR code."
    },
    "GoogleAdsGoogleadsV25Common__ProximityInfo": {
      "description": "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.",
      "type": "object",
      "properties": {
        "geoPoint": {
          "description": "Latitude and longitude.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__GeoPointInfo"
        },
        "radius": {
          "description": "The radius of the proximity.",
          "type": "number",
          "format": "double"
        },
        "radiusUnits": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Miles",
            "Kilometers"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MILES",
            "KILOMETERS"
          ],
          "description": "The unit of measurement of the radius. Default is KILOMETERS.",
          "type": "string"
        },
        "address": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AddressInfo",
          "description": "Full address."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__RealTimeBiddingSetting": {
      "description": "Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.",
      "type": "object",
      "properties": {
        "optIn": {
          "type": "boolean",
          "description": "Whether the campaign is opted in to real-time bidding."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ResponsiveDisplayAdControlSpec": {
      "description": "Specification for various creative controls for a responsive display ad.",
      "type": "object",
      "properties": {
        "enableAutogenVideo": {
          "description": "Whether the advertiser has opted into auto-gen video feature.",
          "type": "boolean"
        },
        "enableAssetEnhancements": {
          "description": "Whether the advertiser has opted into the asset enhancements feature.",
          "type": "boolean"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ResponsiveDisplayAdInfo": {
      "description": "A responsive display ad.",
      "type": "object",
      "properties": {
        "promoText": {
          "description": "Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.",
          "type": "string"
        },
        "pricePrefix": {
          "type": "string",
          "description": "Prefix before price. For example, 'as low as'."
        },
        "formatSetting": {
          "type": "string",
          "description": "Specifies which format the ad will be served in. Default is ALL_FORMATS.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Text, image and native formats.",
            "Text and image formats.",
            "Native format, for example, the format rendering is controlled by the publisher and not by Google."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ALL_FORMATS",
            "NON_NATIVE",
            "NATIVE"
          ]
        },
        "youtubeVideos": {
          "description": "Optional YouTube videos for the ad. A maximum of 5 videos can be specified.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAsset"
          },
          "type": "array"
        },
        "controlSpec": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ResponsiveDisplayAdControlSpec",
          "description": "Specification for various creative controls."
        },
        "logoImages": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "descriptions": {
          "type": "array",
          "description": "Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        },
        "allowFlexibleColor": {
          "description": "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.",
          "type": "boolean"
        },
        "callToActionText": {
          "description": "The call-to-action text for the ad. Maximum display width is 30.",
          "type": "string"
        },
        "headlines": {
          "type": "array",
          "description": "Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        },
        "accentColor": {
          "type": "string",
          "description": "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."
        },
        "marketingImages": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "squareMarketingImages": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "longHeadline": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset",
          "description": "A required long format headline. The maximum length is 90 characters."
        },
        "mainColor": {
          "description": "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.",
          "type": "string"
        },
        "squareLogoImages": {
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          },
          "type": "array"
        },
        "businessName": {
          "type": "string",
          "description": "The advertiser/brand name. Maximum display width is 25."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ResponsiveSearchAdInfo": {
      "type": "object",
      "properties": {
        "headlines": {
          "description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        },
        "path1": {
          "description": "First part of text that can be appended to the URL in the ad.",
          "type": "string"
        },
        "path2": {
          "type": "string",
          "description": "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."
        },
        "descriptions": {
          "type": "array",
          "description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        }
      },
      "description": "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"
    },
    "GoogleAdsGoogleadsV25Common__RetailFilter": {
      "type": "object",
      "properties": {
        "expression": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__RetailFilterExpression",
          "description": "An expression node. At this time, this can only be an OR node."
        },
        "tag": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__RetailTag",
          "description": "A tag node."
        }
      },
      "description": "Represents a Retail Filter."
    },
    "GoogleAdsGoogleadsV25Common__RetailFilterBundle": {
      "type": "object",
      "properties": {
        "sharedSet": {
          "type": "string",
          "description": "The resource name of the shared set that contains the retail filter. This field is required."
        }
      },
      "description": "Represents a Retail Filter Bundle, used to link an ad group to a shared set containing retail filters."
    },
    "GoogleAdsGoogleadsV25Common__RetailFilterExpression": {
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of the expression. This name is used for grouping Retail Tags into one logical expression with OR operator. The name can contain at most 20 characters. Only lowercase latin letters, underscores, and numbers are allowed. This field is required and must be unique within the shared set.",
          "type": "string"
        }
      },
      "description": "Represents a Retail Filter Expression. Tags grouped within an expression are joined with OR operator. A product needs to have any of these tags to satisfy expression condition."
    },
    "GoogleAdsGoogleadsV25Common__RetailTag": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "The value of the tag. It can contain at most 50 characters. All Unicode characters except comma and newline are allowed. This field is required."
        },
        "expressionName": {
          "description": "The name of the expression this tag belongs to. If empty, the tag is a top-level condition.",
          "type": "string"
        }
      },
      "description": "Represents a Retail Filter Tag."
    },
    "GoogleAdsGoogleadsV25Common__SearchThemeInfo": {
      "description": "A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input.",
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "description": "Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ShoppingComparisonListingAdInfo": {
      "type": "object",
      "properties": {
        "headline": {
          "type": "string",
          "description": "Headline of the ad. This field is required. Allowed length is between 25 and 45 characters."
        }
      },
      "description": "A Shopping Comparison Listing ad."
    },
    "GoogleAdsGoogleadsV25Common__ShoppingProductAdInfo": {
      "type": "object",
      "properties": {},
      "description": "A standard Shopping ad."
    },
    "GoogleAdsGoogleadsV25Common__ShoppingSmartAdInfo": {
      "type": "object",
      "properties": {},
      "description": "A Smart Shopping ad."
    },
    "GoogleAdsGoogleadsV25Common__SitelinkAsset": {
      "description": "A Sitelink asset.",
      "type": "object",
      "properties": {
        "description1": {
          "type": "string",
          "description": "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."
        },
        "description2": {
          "type": "string",
          "description": "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."
        },
        "linkText": {
          "description": "Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.",
          "type": "string"
        },
        "startDate": {
          "description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.",
          "type": "string"
        },
        "endDate": {
          "type": "string",
          "description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format."
        },
        "adScheduleTargets": {
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdScheduleInfo"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__SmartCampaignAdInfo": {
      "type": "object",
      "properties": {
        "headlines": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          }
        },
        "descriptions": {
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        }
      },
      "description": "A Smart campaign ad."
    },
    "GoogleAdsGoogleadsV25Common__StructuredSnippetAsset": {
      "description": "A Structured Snippet asset.",
      "type": "object",
      "properties": {
        "header": {
          "type": "string",
          "description": "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"
        },
        "values": {
          "type": "array",
          "description": "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.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__SyntheticContentAttestation": {
      "description": "Represents an attestation about synthetic content from a single source.",
      "type": "object",
      "properties": {
        "source": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return values only. Represents value unknown in this version.",
            "Attestation provided by the advertiser.",
            "Google-generated content with advertiser review or input.",
            "Google-autogenerated content without advertiser review."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADVERTISER_ATTESTED",
            "GOOGLE_GENERATED_ADVERTISER_REVIEWED",
            "GOOGLE_GENERATED_FULLY_AUTOMATED"
          ],
          "type": "string",
          "description": "The source of the synthetic content attestation."
        },
        "status": {
          "description": "Indicates whether the content is considered synthetic by this source.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return values only. Represents value unknown in this version.",
            "The content is attested as not synthetic.",
            "The content is attested as synthetic."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOT_SYNTHETIC",
            "IS_SYNTHETIC"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__SyntheticContentInfo": {
      "description": "Container for synthetic content attestations from different sources, such as the advertiser and Google systems.",
      "type": "object",
      "properties": {
        "systemAttestation": {
          "description": "Output only. Information about synthetic content generated by Google's systems.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__SyntheticContentAttestation"
        },
        "advertiserAttestation": {
          "description": "Input provided by the advertiser.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__SyntheticContentAttestation"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TagSnippet": {
      "description": "The site tag and event snippet pair for a TrackingCodeType.",
      "type": "object",
      "properties": {
        "type": {
          "description": "The type of the generated tag snippets for tracking conversions.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The snippet that is fired as a result of a website page loading.",
            "The snippet contains a JavaScript function which fires the tag. This function is typically called from an onClick handler added to a link or button element on the page.",
            "For embedding on a mobile webpage. The snippet contains a JavaScript function which fires the tag.",
            "The snippet that is used to replace the phone number on your website with a Google forwarding number for call tracking purposes."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEBPAGE",
            "WEBPAGE_ONCLICK",
            "CLICK_TO_CALL",
            "WEBSITE_CALL"
          ]
        },
        "pageFormat": {
          "type": "string",
          "description": "The format of the web page where the tracking tag and snippet will be installed, for example, HTML.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Standard HTML page format.",
            "Google AMP page format."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "HTML",
            "AMP"
          ]
        },
        "globalSiteTag": {
          "description": "The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.",
          "type": "string"
        },
        "eventSnippet": {
          "type": "string",
          "description": "The event snippet that works with the site tag to track actions that should be counted as conversions."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetCpa": {
      "description": "An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.",
      "type": "object",
      "properties": {
        "cpcBidFloorMicros": {
          "description": "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.",
          "type": "string",
          "format": "int64"
        },
        "cpcBidCeilingMicros": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "targetCpaMicros": {
          "description": "Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetCpc": {
      "description": "An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.",
      "type": "object",
      "properties": {
        "targetCpcMicros": {
          "description": "Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetCpm": {
      "type": "object",
      "properties": {
        "targetFrequencyGoal": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetCpmTargetFrequencyGoal",
          "description": "Target Frequency bidding goal details."
        }
      },
      "description": "Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set."
    },
    "GoogleAdsGoogleadsV25Common__TargetCpmTargetFrequencyGoal": {
      "description": "Target Frequency bidding goal details.",
      "type": "object",
      "properties": {
        "targetCount": {
          "format": "int64",
          "description": "Target Frequency count representing how many times you want to reach a single user.",
          "type": "string"
        },
        "timeUnit": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Optimize bidding to reach Target Frequency in a week.",
            "Optimize bidding to reach Target Frequency in a month."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEEKLY",
            "MONTHLY"
          ],
          "description": "Time window expressing the period over which you want to reach the specified target_count.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetCpv": {
      "description": "Target CPV (cost per view) bidding strategy. An automated bidding strategy that sets bids to optimize performance given the target CPV you set.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Common__TargetImpressionShare": {
      "description": "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).",
      "type": "object",
      "properties": {
        "cpcBidCeilingMicros": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "locationFractionMicros": {
          "format": "int64",
          "description": "The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.",
          "type": "string"
        },
        "location": {
          "description": "The targeted location on the search results page.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Any location on the web page.",
            "Top box of ads.",
            "Top slot in the top box of ads."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ANYWHERE_ON_PAGE",
            "TOP_OF_PAGE",
            "ABSOLUTE_TOP_OF_PAGE"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetRestriction": {
      "description": "The list of per-targeting-dimension targeting settings.",
      "type": "object",
      "properties": {
        "targetingDimension": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Keyword criteria, for example, 'mars cruise'. KEYWORD may be used as a custom bid dimension. Keywords are always a targeting dimension, so may not be set as a target \"ALL\" dimension with TargetRestriction.",
            "Audience criteria, which include user list, user interest, custom affinity, and custom in market.",
            "Topic criteria for targeting categories of content, for example, 'category::Animals>Pets' Used for Display and Video targeting.",
            "Criteria for targeting gender.",
            "Criteria for targeting age ranges.",
            "Placement criteria, which include websites like 'www.flowers4sale.com', as well as mobile applications, mobile app categories, YouTube videos, and YouTube channels.",
            "Criteria for parental status targeting.",
            "Criteria for income range targeting."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "KEYWORD",
            "AUDIENCE",
            "TOPIC",
            "GENDER",
            "AGE_RANGE",
            "PLACEMENT",
            "PARENTAL_STATUS",
            "INCOME_RANGE"
          ],
          "description": "The targeting dimension that these settings apply to.",
          "type": "string"
        },
        "bidOnly": {
          "type": "boolean",
          "description": "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."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetRestrictionOperation": {
      "type": "object",
      "properties": {
        "operator": {
          "type": "string",
          "description": "Type of list operation to perform.",
          "x-enumDescriptions": [
            "Unspecified.",
            "Used for return value only. Represents value unknown in this version.",
            "Add the restriction to the existing restrictions.",
            "Remove the restriction from the existing restrictions."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADD",
            "REMOVE"
          ]
        },
        "value": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetRestriction",
          "description": "The target restriction being added to or removed from the list."
        }
      },
      "description": "Operation to be performed on a target restriction list in a mutate."
    },
    "GoogleAdsGoogleadsV25Common__TargetRoas": {
      "type": "object",
      "properties": {
        "targetRoas": {
          "type": "number",
          "description": "Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.",
          "format": "double"
        },
        "cpcBidFloorMicros": {
          "format": "int64",
          "type": "string",
          "description": "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."
        },
        "targetRoasTolerancePercentMillis": {
          "type": "string",
          "description": "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.",
          "format": "int64"
        },
        "cpcBidCeilingMicros": {
          "description": "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.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS)."
    },
    "GoogleAdsGoogleadsV25Common__TargetSpend": {
      "description": "An automated bid strategy that sets your bids to help get as many clicks as possible within your budget.",
      "type": "object",
      "properties": {
        "targetSpendMicros": {
          "description": "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.",
          "deprecated": true,
          "type": "string",
          "format": "int64"
        },
        "cpcBidCeilingMicros": {
          "type": "string",
          "description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetingSetting": {
      "description": "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",
      "type": "object",
      "properties": {
        "targetRestrictions": {
          "type": "array",
          "description": "The per-targeting-dimension setting to restrict the reach of your campaign or ad group.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetRestriction"
          }
        },
        "targetRestrictionOperations": {
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetRestrictionOperation"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TextAdInfo": {
      "type": "object",
      "properties": {
        "description1": {
          "type": "string",
          "description": "The first line of the ad's description."
        },
        "description2": {
          "description": "The second line of the ad's description.",
          "type": "string"
        },
        "headline": {
          "type": "string",
          "description": "The headline of the ad."
        }
      },
      "description": "A text ad."
    },
    "GoogleAdsGoogleadsV25Common__TextAsset": {
      "description": "A Text asset.",
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "description": "Text content of the text asset."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TextLabel": {
      "description": "A type of label displaying text on a colored background.",
      "type": "object",
      "properties": {
        "backgroundColor": {
          "description": "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.",
          "type": "string"
        },
        "description": {
          "description": "A short description of the label. The length must be no more than 200 characters.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ThirdPartyIntegrationPartnerData": {
      "description": "Contains third party measurement partner related data for video campaigns.",
      "type": "object",
      "properties": {
        "clientId": {
          "type": "string",
          "description": "The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser."
        },
        "thirdPartyPlacementId": {
          "type": "string",
          "description": "The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TopicInfo": {
      "type": "object",
      "properties": {
        "topicConstant": {
          "type": "string",
          "description": "The Topic Constant resource name."
        },
        "path": {
          "description": "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "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\")."
    },
    "GoogleAdsGoogleadsV25Common__TravelAdInfo": {
      "description": "A travel ad.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Common__UnknownListingDimensionInfo": {
      "type": "object",
      "properties": {},
      "description": "Unknown listing dimension."
    },
    "GoogleAdsGoogleadsV25Common__UrlCollection": {
      "description": "Collection of urls that is tagged with a unique identifier.",
      "type": "object",
      "properties": {
        "urlCollectionId": {
          "type": "string",
          "description": "Unique identifier for this UrlCollection instance."
        },
        "trackingUrlTemplate": {
          "type": "string",
          "description": "URL template for constructing a tracking URL."
        },
        "finalUrls": {
          "type": "array",
          "description": "A list of possible final URLs.",
          "items": {
            "type": "string"
          }
        },
        "finalMobileUrls": {
          "description": "A list of possible final mobile URLs.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__UserInterestInfo": {
      "description": "Represents a particular interest-based topic to be targeted.",
      "type": "object",
      "properties": {
        "userInterestCategory": {
          "type": "string",
          "description": "The UserInterest resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__UserInterestSegment": {
      "type": "object",
      "properties": {
        "userInterestCategory": {
          "description": "The user interest resource.",
          "type": "string"
        }
      },
      "description": "User interest segment."
    },
    "GoogleAdsGoogleadsV25Common__UserListInfo": {
      "type": "object",
      "properties": {
        "userList": {
          "type": "string",
          "description": "The User List resource name."
        }
      },
      "description": "A User List criterion. Represents a user list that is defined by the advertiser to be targeted."
    },
    "GoogleAdsGoogleadsV25Common__UserListSegment": {
      "description": "User list segment.",
      "type": "object",
      "properties": {
        "userList": {
          "type": "string",
          "description": "The user list resource."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__VerticalAdsItemGroupRuleInfo": {
      "description": "A criterion to represent a single item group rule in Vertical Ads.",
      "type": "object",
      "properties": {
        "itemCode": {
          "type": "string",
          "description": "The id specifying a particular Vertical Ad listing."
        },
        "hotelClass": {
          "format": "int64",
          "description": "Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.",
          "type": "string"
        },
        "venue": {
          "type": "string",
          "description": "A name for a specific location, like the venue for a concert event."
        },
        "countryCriterionId": {
          "type": "string",
          "description": "The resource name of the Geo Target Constant for the country."
        },
        "userRating": {
          "format": "int64",
          "description": "Integer value specifying the user rating for a Vertical Ad listing. Ranges from 1 to 5, where 5 is the best.",
          "type": "string"
        },
        "eventParticipantDisplayName": {
          "type": "string",
          "description": "The name of an associated participant for a given event. For example, headliner for a concert event."
        },
        "cityCriterionId": {
          "description": "The resource name of the Geo Target Constant for the city.",
          "type": "string"
        },
        "regionCriterionId": {
          "type": "string",
          "description": "The resource name of the Geo Target Constant for the region."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__VerticalAdsItemGroupRuleListInfo": {
      "type": "object",
      "properties": {
        "sharedSet": {
          "description": "The shared set resource name of the vertical ads item group rule list.",
          "type": "string"
        }
      },
      "description": "A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads)."
    },
    "GoogleAdsGoogleadsV25Common__VideoAdInfo": {
      "type": "object",
      "properties": {
        "video": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAsset",
          "description": "The YouTube video assets used for the ad."
        },
        "inStream": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VideoTrueViewInStreamAdInfo",
          "description": "Video TrueView in-stream ad format."
        },
        "nonSkippable": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VideoNonSkippableInStreamAdInfo",
          "description": "Video non-skippable in-stream ad format."
        },
        "bumper": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VideoBumperInStreamAdInfo",
          "description": "Video bumper in-stream ad format."
        },
        "outStream": {
          "description": "Video out-stream ad format.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VideoOutstreamAdInfo"
        },
        "inFeed": {
          "description": "In-feed video ad format.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__InFeedVideoAdInfo"
        },
        "audio": {
          "description": "YouTube Audio ad format.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeAudioAdInfo"
        }
      },
      "description": "A video ad."
    },
    "GoogleAdsGoogleadsV25Common__VideoBumperInStreamAdInfo": {
      "type": "object",
      "properties": {
        "actionButtonLabel": {
          "description": "Label on the \"Call To Action\" button taking the user to the video ad's final URL.",
          "type": "string"
        },
        "actionHeadline": {
          "type": "string",
          "description": "Additional text displayed with the CTA (call-to-action) button to give context and encourage clicking on the button."
        },
        "companionBanner": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset",
          "description": "The image assets of the companion banner used with the ad."
        }
      },
      "description": "Representation of video bumper in-stream ad format (very short in-stream non-skippable video ad)."
    },
    "GoogleAdsGoogleadsV25Common__VideoLineupInfo": {
      "description": "A Video lineup criterion.",
      "type": "object",
      "properties": {
        "videoLineupId": {
          "type": "string",
          "description": "ID for a Video lineup. Contact your Google business development representative for details.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__VideoNonSkippableInStreamAdInfo": {
      "description": "Representation of video non-skippable in-stream ad format (15 second in-stream non-skippable video ad).",
      "type": "object",
      "properties": {
        "actionButtonLabel": {
          "type": "string",
          "description": "Label on the \"Call To Action\" button taking the user to the video ad's final URL."
        },
        "actionHeadline": {
          "type": "string",
          "description": "Additional text displayed with the \"Call To Action\" button to give context and encourage clicking on the button."
        },
        "companionBanner": {
          "description": "The image assets of the companion banner used with the ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__VideoOutstreamAdInfo": {
      "description": "Representation of video out-stream ad format (ad shown alongside a feed with automatic playback, without sound).",
      "type": "object",
      "properties": {
        "headline": {
          "description": "The headline of the ad.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "The description line."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__VideoResponsiveAdInfo": {
      "type": "object",
      "properties": {
        "businessName": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset",
          "description": "Required. Advertiser/brand name. Maximum display width is 25 characters."
        },
        "callToActions": {
          "description": "List of text assets used for the button, for example, the \"Call To Action\" button. Currently, only a single value for the button is supported.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        },
        "breadcrumb1": {
          "description": "First part of text that appears in the ad with the displayed URL.",
          "type": "string"
        },
        "breadcrumb2": {
          "type": "string",
          "description": "Second part of text that appears in the ad with the displayed URL."
        },
        "longHeadlines": {
          "description": "List of text assets used for the long headline. Currently, only a single value for the long headline is supported.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        },
        "videos": {
          "type": "array",
          "description": "Required. List of YouTube video assets used for the ad. Currently, only a single value for the YouTube video asset is supported.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAsset"
          }
        },
        "companionBanners": {
          "type": "array",
          "description": "List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          }
        },
        "descriptions": {
          "description": "List of text assets used for the description. Currently, only a single value for the description is supported.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        },
        "logoImages": {
          "description": "Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1(+-1%).",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset"
          },
          "type": "array"
        },
        "headlines": {
          "description": "List of text assets used for the short headline. Currently, only a single value for the short headline is supported.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        }
      },
      "description": "A video responsive ad."
    },
    "GoogleAdsGoogleadsV25Common__VideoTrueViewInStreamAdInfo": {
      "description": "Representation of video TrueView in-stream ad format (ad shown during video playback, often at beginning, which displays a skip button a few seconds into the video).",
      "type": "object",
      "properties": {
        "actionHeadline": {
          "description": "Additional text displayed with the CTA (call-to-action) button to give context and encourage clicking on the button.",
          "type": "string"
        },
        "actionButtonLabel": {
          "description": "Label on the CTA (call-to-action) button taking the user to the video ad's final URL. Required for TrueView for action campaigns, optional otherwise.",
          "type": "string"
        },
        "companionBanner": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdImageAsset",
          "description": "The image assets of the companion banner used with the ad."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__WebhookDelivery": {
      "type": "object",
      "properties": {
        "advertiserWebhookUrl": {
          "description": "Webhook url specified by advertiser to send the lead.",
          "type": "string"
        },
        "payloadSchemaVersion": {
          "format": "int64",
          "type": "string",
          "description": "The schema version that this delivery instance will use."
        },
        "googleSecret": {
          "description": "Anti-spoofing secret set by the advertiser as part of the webhook payload.",
          "type": "string"
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Common__WebpageConditionInfo": {
      "type": "object",
      "properties": {
        "operator": {
          "type": "string",
          "description": "Operator of webpage targeting condition.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The argument web condition is equal to the compared web condition.",
            "The argument web condition is part of the compared web condition."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EQUALS",
            "CONTAINS"
          ]
        },
        "operand": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Operand denoting a webpage URL targeting condition.",
            "Operand denoting a webpage category targeting condition.",
            "Operand denoting a webpage title targeting condition.",
            "Operand denoting a webpage content targeting condition.",
            "Operand denoting a webpage custom label targeting condition."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "URL",
            "CATEGORY",
            "PAGE_TITLE",
            "PAGE_CONTENT",
            "CUSTOM_LABEL"
          ],
          "description": "Operand of webpage targeting condition.",
          "type": "string"
        },
        "argument": {
          "description": "Argument of webpage targeting condition.",
          "type": "string"
        }
      },
      "description": "Logical expression for targeting webpages of an advertiser's website."
    },
    "GoogleAdsGoogleadsV25Common__WebpageInfo": {
      "type": "object",
      "properties": {
        "criterionName": {
          "description": "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.",
          "type": "string"
        },
        "coveragePercentage": {
          "description": "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.",
          "type": "number",
          "format": "double"
        },
        "conditions": {
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageConditionInfo"
          },
          "type": "array"
        },
        "sample": {
          "description": "List of sample urls that match the website target. This field is read-only.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageSampleInfo"
        }
      },
      "description": "Represents a criterion for targeting webpages of an advertiser's website."
    },
    "GoogleAdsGoogleadsV25Common__WebpageListInfo": {
      "type": "object",
      "properties": {
        "sharedSet": {
          "type": "string",
          "description": "Shared set resource name of the webpage list."
        }
      },
      "description": "Represents a list of webpage criteria."
    },
    "GoogleAdsGoogleadsV25Common__WebpageSampleInfo": {
      "type": "object",
      "properties": {
        "sampleUrls": {
          "type": "array",
          "description": "Webpage sample urls",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "List of sample urls that match the website target"
    },
    "GoogleAdsGoogleadsV25Common__WhatsappBusinessMessageInfo": {
      "type": "object",
      "properties": {
        "countryCode": {
          "description": "Required. Two-letter country code of the phone number. Examples: 'US', 'us'.",
          "type": "string"
        },
        "phoneNumber": {
          "description": "Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.",
          "type": "string"
        }
      },
      "description": "Whatsapp information to use for messaging."
    },
    "GoogleAdsGoogleadsV25Common__YouTubeAudioAdInfo": {
      "type": "object",
      "properties": {},
      "description": "Representation of YouTube Audio ad format."
    },
    "GoogleAdsGoogleadsV25Common__YouTubeChannelInfo": {
      "type": "object",
      "properties": {
        "channelId": {
          "type": "string",
          "description": "The YouTube uploader channel id or the channel code of a YouTube channel."
        }
      },
      "description": "A YouTube Channel criterion."
    },
    "GoogleAdsGoogleadsV25Common__YouTubeVideoInfo": {
      "description": "A YouTube Video criterion.",
      "type": "object",
      "properties": {
        "videoId": {
          "type": "string",
          "description": "YouTube video id as it appears on the YouTube watch page."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__YouTubeVideoListAsset": {
      "description": "A YouTube video list asset.",
      "type": "object",
      "properties": {
        "youtubeVideos": {
          "type": "array",
          "description": "List of videos. Each is a reference to a YouTube video asset. Minimum of 2 videos required and maximum of 5 allowed.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAsset"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__YoutubeVideoAsset": {
      "description": "A YouTube asset.",
      "type": "object",
      "properties": {
        "youtubeVideoId": {
          "description": "YouTube video id. This is the 11 character string value used in the YouTube video URL.",
          "type": "string"
        },
        "youtubeVideoTitle": {
          "description": "YouTube video title.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ZaloBusinessMessageInfo": {
      "type": "object",
      "properties": {
        "customName": {
          "description": "Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.",
          "type": "string"
        },
        "oaId": {
          "type": "string",
          "description": "Zalo Official Account ID of the advertiser.",
          "format": "int64"
        }
      },
      "description": "Zalo information to use for messaging."
    },
    "GoogleAdsGoogleadsV25Resources_AdGroupCriterion_PositionEstimates": {
      "description": "Estimates for criterion bids at various positions.",
      "type": "object",
      "properties": {
        "topOfPageCpcMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results."
        },
        "firstPageCpcMicros": {
          "type": "string",
          "description": "Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.",
          "format": "int64"
        },
        "estimatedAddClicksAtFirstPositionCpc": {
          "type": "string",
          "description": "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.",
          "format": "int64"
        },
        "estimatedAddCostAtFirstPositionCpc": {
          "type": "string",
          "description": "Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.",
          "format": "int64"
        },
        "firstPositionCpcMicros": {
          "format": "int64",
          "type": "string",
          "description": "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."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_AdGroupCriterion_QualityInfo": {
      "description": "A container for ad group criterion quality information.",
      "type": "object",
      "properties": {
        "creativeQualityScore": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Quality of the creative is below average.",
            "Quality of the creative is average.",
            "Quality of the creative is above average."
          ],
          "description": "Output only. The performance of the ad compared to other advertisers.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BELOW_AVERAGE",
            "AVERAGE",
            "ABOVE_AVERAGE"
          ]
        },
        "postClickQualityScore": {
          "type": "string",
          "description": "Output only. The quality score of the landing page.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BELOW_AVERAGE",
            "AVERAGE",
            "ABOVE_AVERAGE"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Quality of the creative is below average.",
            "Quality of the creative is average.",
            "Quality of the creative is above average."
          ]
        },
        "searchPredictedCtr": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BELOW_AVERAGE",
            "AVERAGE",
            "ABOVE_AVERAGE"
          ],
          "type": "string",
          "description": "Output only. The click-through rate compared to that of other advertisers.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Quality of the creative is below average.",
            "Quality of the creative is average.",
            "Quality of the creative is above average."
          ]
        },
        "qualityScore": {
          "format": "int32",
          "description": "Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.",
          "type": "integer"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels": {
      "type": "object",
      "properties": {
        "youtubeInFeed": {
          "description": "Whether to enable ads on the YouTube In-Feed channel.",
          "type": "boolean"
        },
        "gmail": {
          "description": "Whether to enable ads on the Gmail channel.",
          "type": "boolean"
        },
        "display": {
          "type": "boolean",
          "description": "Whether to enable ads on the Display channel."
        },
        "discover": {
          "description": "Whether to enable ads on the Discover channel.",
          "type": "boolean"
        },
        "youtubeShorts": {
          "description": "Whether to enable ads on the YouTube Shorts channel.",
          "type": "boolean"
        },
        "maps": {
          "type": "boolean",
          "description": "Whether to enable ads on the Maps channel."
        },
        "youtubeInStream": {
          "description": "Whether to enable ads on the YouTube In-Stream channel.",
          "type": "boolean"
        }
      },
      "description": "Explicitly selected channels for channel controls in Demand Gen ad groups."
    },
    "GoogleAdsGoogleadsV25Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls": {
      "type": "object",
      "properties": {
        "channelConfig": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The channel controls configuration uses a general channel strategy; individual channels are not configured separately.",
            "The channel controls configuration explicitly defines the selected channels."
          ],
          "description": "Output only. Channel configuration reflecting which field in the oneof is populated.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CHANNEL_STRATEGY",
            "SELECTED_CHANNELS"
          ]
        },
        "channelStrategy": {
          "type": "string",
          "description": "High level channel strategy.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "All channels are enabled.",
            "All Google-owned and operated channels are enabled; third-party channels (e.g., Display) are disabled."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ALL_CHANNELS",
            "ALL_OWNED_AND_OPERATED_CHANNELS"
          ]
        },
        "selectedChannels": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels",
          "description": "Explicitly selected channels. This field should be set with at least one true value when present."
        }
      },
      "description": "Channel controls for Demand Gen ad groups."
    },
    "GoogleAdsGoogleadsV25Resources_AdGroupVideoAdGroupSettings_VideoAdSequenceStepSetting": {
      "type": "object",
      "properties": {
        "stepId": {
          "format": "int64",
          "description": "The ID of this sequence step from an existing `campaign.video_campaign_settings.video_ad_sequence` definition. Only one Ad Group can point to a given `step_id`.",
          "type": "string"
        }
      },
      "description": "The video ads sequence step settings containing step ID."
    },
    "GoogleAdsGoogleadsV25Resources_AdGroup_AiMaxAdGroupSetting": {
      "description": "Settings for AI Max feature in standard search adgroups.",
      "type": "object",
      "properties": {
        "disableSearchTermMatching": {
          "type": "boolean",
          "description": "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."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_AdGroup_AudienceSetting": {
      "description": "Settings for the audience targeting.",
      "type": "object",
      "properties": {
        "useAudienceGrouped": {
          "type": "boolean",
          "description": "Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_AdGroup_DemandGenAdGroupSettings": {
      "description": "Settings for Demand Gen ad groups.",
      "type": "object",
      "properties": {
        "channelControls": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls",
          "description": "Channel controls for Demand Gen ad groups."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_AdGroup_VerticalAdsFormatSetting": {
      "type": "object",
      "properties": {
        "enableVerticalPromotionAds": {
          "description": "If true, vertical promotion ads will be enabled for this ad group.",
          "type": "boolean"
        },
        "disableTextAds": {
          "type": "boolean",
          "description": "If true, text ads will be disabled for this ad group."
        },
        "enableBookingLinks": {
          "type": "boolean",
          "description": "If true, booking links will be enabled for this ad group."
        }
      },
      "description": "Vertical ads setting feature to enable/disable ad group format controls in search campaigns."
    },
    "GoogleAdsGoogleadsV25Resources_AdGroup_VideoAdGroupSettings": {
      "type": "object",
      "properties": {
        "videoAdSequence": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AdGroupVideoAdGroupSettings_VideoAdSequenceStepSetting",
          "description": "The video ads sequence step settings containing step ID."
        }
      },
      "description": "Settings for video ad groups."
    },
    "GoogleAdsGoogleadsV25Resources_AssetSet_HotelPropertyData": {
      "description": "For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.",
      "type": "object",
      "properties": {
        "hotelCenterId": {
          "type": "string",
          "description": "Output only. The hotel center ID of the partner.",
          "format": "int64"
        },
        "partnerName": {
          "description": "Output only. Name of the hotel partner.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_AssetSet_MerchantCenterFeed": {
      "type": "object",
      "properties": {
        "merchantId": {
          "format": "int64",
          "type": "string",
          "description": "Required. Merchant ID from Google Merchant Center"
        },
        "feedLabel": {
          "description": "Optional. Feed Label from Google Merchant Center.",
          "type": "string"
        }
      },
      "description": "Merchant ID and Feed Label from Google Merchant Center."
    },
    "GoogleAdsGoogleadsV25Resources_AssetSet_TravelFeedData": {
      "description": "Travel Feed data. Read-only",
      "type": "object",
      "properties": {
        "travelFeedVerticalType": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "HOTELS",
            "VACATION_RENTALS",
            "RENTAL_CARS",
            "EVENTS",
            "THINGS_TO_DO",
            "FLIGHTS"
          ],
          "description": "Output only. Indicates the vertical type of the travel feed.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Hotels travel vertical.",
            "Vacation rentals travel vertical.",
            "Rental cars travel vertical.",
            "Events travel vertical.",
            "Things to do travel vertical.",
            "Flights travel vertical."
          ]
        },
        "merchantCenterId": {
          "description": "Output only. The Merchant Center account ID used for a Things to Do feed.",
          "type": "string",
          "format": "int64"
        },
        "hotelCenterAccountId": {
          "format": "int64",
          "description": "Output only. The Hotel Center account ID used for a Hotel or Vacation Rental feed.",
          "type": "string"
        },
        "partnerCenterId": {
          "description": "Output only. The Partner Center ID used for a travel vertical feed, except for Hotel, Vacation Rental, and Things to Do feeds.",
          "type": "string",
          "format": "int64"
        },
        "subsetId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Id representing a subset of the travel feed."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides": {
      "description": "Overrides of brand targeting for various ad types.",
      "type": "object",
      "properties": {
        "ignoreExclusionsForShoppingAds": {
          "description": "If true, brand exclusions are ignored for Shopping ads.",
          "type": "boolean"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_BookingDetails": {
      "description": "Container for booking details for campaigns with the FIXED_CPM or FIXED_SHARE_OF_VOICE bidding strategies.",
      "type": "object",
      "properties": {
        "holdExpirationDateTime": {
          "type": "string",
          "description": "Output only. Time until which booked inventory will be held or has been held for this campaign. Available for status HELD and HOLD_EXPIRED. Format is \"yyyy-MM-dd HH:mm:ss\" in the customer's time zone."
        },
        "cancellationDateTime": {
          "description": "Output only. Time when the booked inventory of this campaign will be cancelled or has been cancelled. Available for primary status NOT_ELIGIBLE if the campaign will be cancelled and for primary status reason BOOKING_CANCELLED. Format is \"yyyy-MM-dd HH:mm:ss\" in the customer's time zone.",
          "type": "string"
        },
        "status": {
          "description": "Output only. The status of the booking.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BOOKED",
            "HELD",
            "CAMPAIGN_ENDED",
            "HOLD_EXPIRED",
            "BOOKING_CANCELLED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The booking is active and holds inventory for the campaign.",
            "The campaign is holding inventory, but the booking is not confirmed.",
            "The campaign has ended and is no longer holding inventory.",
            "The hold on the inventory has expired.",
            "The campaign was booked, but was in a non-servable state for too long and the booking was cancelled by the system."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_NonSkippableInStreamRestrictions": {
      "description": "Restrictions for non-skippable format.",
      "type": "object",
      "properties": {
        "minDuration": {
          "description": "The minimum allowed duration for non-skippable ads.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Indicates that non-skippable ads must be at least 5 seconds long.",
            "Indicates that non-skippable ads must be at least 7 seconds long.",
            "Indicates that non-skippable ads must be at least 16 seconds long.",
            "Indicates that non-skippable ads must be at least 31 seconds long."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MIN_DURATION_FIVE_SECONDS",
            "MIN_DURATION_SEVEN_SECONDS",
            "MIN_DURATION_SIXTEEN_SECONDS",
            "MIN_DURATION_THIRTY_ONE_SECONDS"
          ]
        },
        "maxDuration": {
          "type": "string",
          "description": "The maximum allowed duration for non-skippable ads.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Indicates that non-skippable ads must be at most 15 seconds long.",
            "Indicates that non-skippable ads must be at most 30 seconds long.",
            "Indicates that non-skippable ads must be at most 60 seconds long."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MAX_DURATION_FIFTEEN_SECONDS",
            "MAX_DURATION_THIRTY_SECONDS",
            "MAX_DURATION_SIXTY_SECONDS"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_ReservationAdCategorySelfDisclosure": {
      "type": "object",
      "properties": {
        "gambling": {
          "type": "boolean",
          "description": "The campaign is expected to contain gambling-related ads."
        },
        "alcohol": {
          "description": "The campaign is expected to contain alcohol-related ads.",
          "type": "boolean"
        },
        "politics": {
          "type": "boolean",
          "description": "The campaign is expected to contain politics-related ads."
        }
      },
      "description": "Container for ad category self-disclosure for campaigns with the FIXED_CPM or FIXED_SHARE_OF_VOICE bidding strategies."
    },
    "GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_VideoAdFormatControl": {
      "type": "object",
      "properties": {
        "formatRestriction": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Non-skippable in-stream video responsive ad."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NON_SKIPPABLE_IN_STREAM"
          ],
          "description": "All contained responsive ads are expected to respect this restriction.",
          "type": "string"
        },
        "nonSkippableInStreamRestrictions": {
          "description": "Restrictions for non-skippable format.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_NonSkippableInStreamRestrictions"
        }
      },
      "description": "Format-restricting control enabling usage of video responsive ads in format defined Video campaigns (for example, non-skippable)."
    },
    "GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_VideoAdInventoryControl": {
      "description": "For campaigns using video responsive ads inventory controls determine on which inventories the ads can be shown. This only applies for campaigns with the bidding strategies TARGET_CPM and FIXED_CPM.",
      "type": "object",
      "properties": {
        "allowInStream": {
          "description": "Determine if video responsive ads can be used for in-stream video ads.",
          "type": "boolean"
        },
        "allowInFeed": {
          "description": "Determine if video responsive ads can be used for in-feed video ads.",
          "type": "boolean"
        },
        "allowShorts": {
          "description": "Determine if video responsive ads can be used as shorts format.",
          "type": "boolean"
        },
        "allowNonSkippableInStream": {
          "description": "Determine if video responsive ads can be used for non-skippable in-stream ads. This is only available for campaigns that allow mixing of non-skippable with other formats (Video reach campaign with Target Frequency bidding strategy goal).",
          "type": "boolean"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_VideoAdSequence": {
      "type": "object",
      "properties": {
        "steps": {
          "description": "The list of sequence steps and data associated with them.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_VideoAdSequenceStep"
          },
          "type": "array"
        },
        "minimumDuration": {
          "description": "Users are eligible to repeat sequence after this period. Defaults to WEEK if not specified.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Users are eligible to restart a sequence once they have completed the sequence and at least 7 days have passed since sequence start.",
            "Users are eligible to restart a sequence once at least 30 days have passed since sequence start. Users are eligible to start the sequence again even if they haven't completed the sequence."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEEK",
            "MONTH"
          ]
        }
      },
      "description": "Container for video ads sequencing definition."
    },
    "GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_VideoAdSequenceStep": {
      "description": "Information about a step within a video sequence.",
      "type": "object",
      "properties": {
        "videoAdSequenceStepId": {
          "description": "The ID of this sequence step.",
          "type": "string",
          "format": "int64"
        },
        "previousStepId": {
          "type": "string",
          "description": "The ID of the previous step. This field is required for all steps except the first one. It must point to a step that appears in the step definition list before this step.",
          "format": "int64"
        },
        "previousStepInteractionType": {
          "type": "string",
          "description": "Type of interaction *on the previous step* required in order for the user to advance to this step. As with the previous step ID, it's required for every step except for the first one.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The viewer engaged with or watched at least 30 seconds of the ad (or the entire ad, if it was less than 30 seconds). Only available for campaigns using Target CPM as the bidding strategy and skippable in-stream ads as the ad format.",
            "The viewer skipped the ad. Only available for campaigns using Target CPM as the bidding strategy and skippable in-stream ads as the ad format.",
            "The ad was shown to the viewer.",
            "An ad impression that was not immediately skipped, but didn't reach the billable event either."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PAID_VIEW",
            "SKIP",
            "IMPRESSION",
            "ENGAGED_IMPRESSION"
          ]
        },
        "adGroupType": {
          "description": "The ad group type for this step (denoting the video format).",
          "type": "string",
          "x-enumDescriptions": [
            "The type has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The default ad group type for Search campaigns.",
            "The default ad group type for Display campaigns.",
            "The ad group type for Shopping campaigns serving standard product ads.",
            "The default ad group type for Hotel campaigns.",
            "The type for ad groups in Smart Shopping campaigns.",
            "Short unskippable in-stream video ads.",
            "TrueView (skippable) in-stream video ads.",
            "TrueView in-display video ads.",
            "Unskippable in-stream video ads.",
            "Ad group type for Dynamic Search Ads ad groups.",
            "The type for ad groups in Shopping Comparison Listing campaigns.",
            "The ad group type for Promoted Hotel ad groups.",
            "Video responsive ad groups.",
            "Video efficient reach ad groups.",
            "Ad group type for Smart campaigns.",
            "Ad group type for Travel campaigns.",
            "Ad group type for YouTube Audio campaigns."
          ],
          "enum": [
            "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",
            "YOUTUBE_AUDIO"
          ]
        },
        "assetId": {
          "type": "string",
          "description": "The ID of the Asset for this step. The asset must be type YOUTUBE_VIDEO.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_AiMaxSetting": {
      "type": "object",
      "properties": {
        "enableAiMax": {
          "description": "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. Supported in Search and Shopping campaigns. For Search campaigns, Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level. For Shopping campaigns, Text customization is always enabled when AI Max is enabled.",
          "type": "boolean"
        },
        "bundlingRequired": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Search campaign is using text asset automation or brand list targeting, and AI Max is not required to be enabled to serve these features.",
            "AI Max is required to be enabled for this search campaign to serve existing text asset automation and brand list targeting, or to add new text asset automation and brand list targeting settings."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOT_REQUIRED",
            "REQUIRED"
          ],
          "description": "Output only. Search campaigns only. Indicates whether a 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.",
          "type": "string"
        }
      },
      "description": "Settings for AI Max in Search and Shopping campaigns."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_AppCampaignSetting": {
      "description": "Campaign-level settings for App Campaigns.",
      "type": "object",
      "properties": {
        "biddingStrategyGoalType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Aim to maximize the number of app installs. The cpa bid is the target cost per install.",
            "Aim to maximize the long term number of selected in-app conversions from app installs. The cpa bid is the target cost per install.",
            "Aim to maximize the long term number of selected in-app conversions from app installs. The cpa bid is the target cost per in-app conversion. Note that the actual cpa may seem higher than the target cpa at first, since the long term conversions haven't happened yet.",
            "Aim to maximize all conversions' value, for example, install + selected in-app conversions while achieving or exceeding target return on advertising spend.",
            "Aim to maximize the pre-registration of the app.",
            "Aim to maximize installation of the app without target cost-per-install.",
            "Aim to maximize the selected in-app conversion's volume while spending the full budget. No advertiser-specific target CPA.",
            "Aim to maximize total conversion value, such as install and selected in-app conversions, while spending the full budget. No advertiser-specified target ROAS."
          ],
          "enum": [
            "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"
          ],
          "description": "Represents the goal which the bidding strategy of this app campaign should optimize towards.",
          "type": "string"
        },
        "appStore": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Apple app store.",
            "Google play."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "APPLE_APP_STORE",
            "GOOGLE_APP_STORE"
          ],
          "type": "string",
          "description": "Immutable. The application store that distributes this specific app."
        },
        "appId": {
          "description": "Immutable. A string that uniquely identifies a mobile application.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_AssetAutomationSetting": {
      "description": "Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status",
      "type": "object",
      "properties": {
        "assetAutomationType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used as a return value only. Represents value unknown in this version.",
            "Text asset automation (text customization) includes headlines and descriptions, allowing Google to create customized text assets using your existing ads, landing page copy, and generative AI across your campaign's ads. By default, advertisers are opted-in for Performance Max and opted-out for Search. Contrast this with `FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION`, which dynamically generates text assets to match the content of dynamically selected landing pages when final URL expansion is active.",
            "Converts horizontal video assets to vertical orientation using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAdInfo.",
            "Shortens video assets to better capture user attention using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAdInfo.",
            "Generates a preview of the landing page shown in the engagement panel. By using this feature, you confirm that you own all legal rights to the images on the landing page used by this account (or you have permission to share the images with Google). You hereby instruct Google to publish these images on your behalf for advertising or other commercial purposes.",
            "Generates text information from the landing page to be shown in the engagement panel. Opted in by default for DemandGenVideoResponsiveAdInfo.",
            "Generates video enhancements (vertical and shorter videos) for PMax campaigns. Opted in by default.",
            "Generates image enhancements (AutoCrop and AutoEnhance). Opted in by default for pmax.",
            "Generates image extraction. It defaults to account level Dynamic Image Extension control value.",
            "Adds design elements and embeds text assets into image assets to create images with different aspect ratios. By default, advertisers are opted in for DemandGenMultiAssetAd.",
            "Controls automation for text assets related to Final URL expansion. This includes automatically creating dynamic landing pages from the final URL and generating text assets from the content of those landing pages. This setting is turned OFF by default for Search campaigns, but it is turned ON by default for Performance Max campaigns. Enabling final URL expansion also enables text asset automation. There is no way to opt out of text asset automation and still use final URL expansion. Contrast this with standard `TEXT_ASSET_AUTOMATION` (text customization), which customizes copy across all ads in the campaign even when final URL expansion does not occur.",
            "Generates videos using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd.",
            "Generates animated images using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TEXT_ASSET_AUTOMATION",
            "GENERATE_VERTICAL_YOUTUBE_VIDEOS",
            "GENERATE_SHORTER_YOUTUBE_VIDEOS",
            "GENERATE_LANDING_PAGE_PREVIEW",
            "GENERATE_LANDING_PAGE_TEXT",
            "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",
            "GENERATE_ANIMATED_IMAGES_FROM_OTHER_ASSETS"
          ],
          "type": "string",
          "description": "The asset automation type advertiser would like to opt-in/out."
        },
        "assetAutomationStatus": {
          "description": "The opt-in/out status of asset automation type.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used as a return value only. Represents value unknown in this version.",
            "Opted-in will enable generating and serving an asset automation type.",
            "Opted-out will stop generating and serving an asset automation type."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "OPTED_IN",
            "OPTED_OUT"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_AudienceSetting": {
      "description": "Settings for the audience targeting.",
      "type": "object",
      "properties": {
        "useAudienceGrouped": {
          "type": "boolean",
          "description": "Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_BrandGuidelines": {
      "type": "object",
      "properties": {
        "mainColor": {
          "description": "The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.",
          "type": "string"
        },
        "accentColor": {
          "description": "The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.",
          "type": "string"
        },
        "predefinedFontFamily": {
          "description": "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.",
          "type": "string"
        }
      },
      "description": "Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_CategoryBid": {
      "description": "Category bids in LocalServicesReportingCampaignSettings.",
      "type": "object",
      "properties": {
        "targetCpaBidMicros": {
          "format": "int64",
          "description": "Target CPA bid for the category. Value is in micros and in the advertiser's currency.",
          "type": "string"
        },
        "categoryId": {
          "description": "Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.",
          "type": "string"
        },
        "manualCpaBidMicros": {
          "format": "int64",
          "type": "string",
          "description": "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."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_DemandGenCampaignSettings": {
      "type": "object",
      "properties": {
        "upgradedTargeting": {
          "description": "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. This field defaults to `true`, and can only be set when creating a campaign.",
          "type": "boolean"
        }
      },
      "description": "Settings for Demand Gen campaign."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_DynamicSearchAdsSetting": {
      "type": "object",
      "properties": {
        "languageCode": {
          "type": "string",
          "description": "Required. The language code specifying the language of the domain, for example, \"en\"."
        },
        "domainName": {
          "type": "string",
          "description": "Required. The Internet domain name that this setting represents, for example, \"google.com\" or \"www.google.com\"."
        },
        "useSuppliedUrlsOnly": {
          "type": "boolean",
          "description": "Whether the campaign uses advertiser supplied URLs exclusively."
        }
      },
      "description": "The setting for controlling Dynamic Search Ads (DSA)."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_GeoTargetTypeSetting": {
      "type": "object",
      "properties": {
        "positiveGeoTargetType": {
          "description": "The setting used for positive geotargeting in this particular campaign.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Specifies that an ad is triggered if the user is in, or shows interest in, advertiser's targeted locations.",
            "Specifies that an ad is triggered if the user searches for advertiser's targeted locations. This can only be used with Search and standard Shopping campaigns.",
            "Specifies that an ad is triggered if the user is in or regularly in advertiser's targeted locations."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PRESENCE_OR_INTEREST",
            "SEARCH_INTEREST",
            "PRESENCE"
          ]
        },
        "negativeGeoTargetType": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Specifies that a user is excluded from seeing the ad if they are in, or show interest in, advertiser's excluded locations.",
            "Specifies that a user is excluded from seeing the ad if they are in advertiser's excluded locations."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PRESENCE_OR_INTEREST",
            "PRESENCE"
          ],
          "description": "The setting used for negative geotargeting in this particular campaign.",
          "type": "string"
        }
      },
      "description": "Represents a collection of settings related to ads geotargeting."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_HotelSettingInfo": {
      "type": "object",
      "properties": {
        "hotelCenterId": {
          "type": "string",
          "description": "The linked Hotel Center account.",
          "format": "int64"
        },
        "disableHotelSetting": {
          "description": "Disable the optional hotel setting. This field is currently supported only for Demand Gen campaigns.",
          "type": "boolean"
        }
      },
      "description": "Campaign-level settings for hotel ads."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_LocalCampaignSetting": {
      "type": "object",
      "properties": {
        "locationSourceType": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Locations associated with the customer's linked Business Profile.",
            "Affiliate (chain) store locations. For example, Best Buy store locations."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "GOOGLE_MY_BUSINESS",
            "AFFILIATE"
          ],
          "type": "string",
          "description": "The location source type for this local campaign."
        }
      },
      "description": "Campaign setting for local campaigns."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_LocalServicesCampaignSettings": {
      "description": "Settings for LocalServicesCampaign subresource.",
      "type": "object",
      "properties": {
        "categoryBids": {
          "type": "array",
          "description": "Categorical level bids associated with MANUAL_CPA bidding strategy.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_CategoryBid"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_LocalServicesPmaxCampaignSettings": {
      "description": "Settings for Local Services Performance Max Campaign subresource.",
      "type": "object",
      "properties": {
        "countryCode": {
          "description": "Immutable. Country code of the Local Services Ad. Set once during Ad Creation and used to determine verification requirements and validate location criterion selection; upper-case, two-letter codes as defined by ISO-3166.",
          "type": "string"
        },
        "phoneNumbers": {
          "type": "array",
          "description": "List of phone numbers associated with the provider.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocalServicesPhoneNumber"
          }
        },
        "foundingYear": {
          "format": "int64",
          "description": "Founding year of the business.",
          "type": "string"
        },
        "navigationalQueryLeadsEnabled": {
          "description": "Whether to use navigational query filter.",
          "type": "boolean"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_MessagingRestriction": {
      "type": "object",
      "properties": {
        "restrictionText": {
          "type": "string",
          "description": "Freeform instructions to guide text asset generation using LLM inference. Valid instructions may contain a maximum of 300 characters."
        },
        "restrictionType": {
          "type": "string",
          "description": "Determines how the guideline is applied. Only `RESTRICTION_BASED_EXCLUSION` is currently supported.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Exclude text assets that are not compliant with this restriction."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "RESTRICTION_BASED_EXCLUSION"
          ]
        }
      },
      "description": "Freeform instructions that will be used to guide text asset generation using LLM inference."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_NetworkSettings": {
      "description": "The network settings for the campaign.",
      "type": "object",
      "properties": {
        "targetSearchNetwork": {
          "description": "Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).",
          "type": "boolean"
        },
        "targetContentNetwork": {
          "type": "boolean",
          "description": "Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion."
        },
        "targetGoogleTvNetwork": {
          "description": "Whether ads will be served on the Google TV network.",
          "type": "boolean"
        },
        "targetYoutube": {
          "description": "Whether ads will be served on YouTube.",
          "type": "boolean"
        },
        "targetGoogleSearch": {
          "type": "boolean",
          "description": "Whether ads will be served with google.com search results."
        },
        "targetPartnerSearchNetwork": {
          "description": "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.",
          "type": "boolean"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_OptimizationGoalSetting": {
      "description": "Optimization goal setting for this campaign, which includes a set of optimization goal types.",
      "type": "object",
      "properties": {
        "optimizationGoalTypes": {
          "description": "The list of optimization goal types.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "Used as a return value only. Represents value unknown in this version.",
              "Optimize for call clicks. Call click conversions are times people selected 'Call' to contact a store after viewing an ad.",
              "Optimize for driving directions. Driving directions conversions are times people selected 'Get directions' to navigate to a store after viewing an ad.",
              "Optimize for pre-registration. Pre-registration conversions are the number of pre-registration signups to receive a notification when the app is released."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "CALL_CLICKS",
              "DRIVING_DIRECTIONS",
              "APP_PRE_REGISTRATION"
            ],
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_PerformanceMaxUpgrade": {
      "description": "Information about a campaign being upgraded to Performance Max.",
      "type": "object",
      "properties": {
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The upgrade to a Performance Max campaign is in progress.",
            "The upgrade to a Performance Max campaign is complete.",
            "The upgrade to a Performance Max campaign failed. The campaign will still serve as it was before upgrade was attempted.",
            "The campaign is eligible for upgrade to a Performance Max campaign."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UPGRADE_IN_PROGRESS",
            "UPGRADE_COMPLETE",
            "UPGRADE_FAILED",
            "UPGRADE_ELIGIBLE"
          ],
          "type": "string",
          "description": "Output only. The upgrade status of a campaign requested to be upgraded to Performance Max."
        },
        "performanceMaxCampaign": {
          "description": "Output only. The resource name of the Performance Max campaign the campaign is upgraded to.",
          "type": "string"
        },
        "preUpgradeCampaign": {
          "type": "string",
          "description": "Output only. The resource name of the legacy campaign upgraded to Performance Max."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_PmaxCampaignSettings": {
      "type": "object",
      "properties": {
        "localServicesPmaxCampaignSettings": {
          "description": "The Local Services Campaign related settings. Only updates are available for existing Local Services Pmax campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_LocalServicesPmaxCampaignSettings"
        },
        "brandTargetingOverrides": {
          "description": "Overrides of brand targeting for various ad types.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides"
        },
        "localServicesEnabled": {
          "type": "boolean",
          "description": "Output only. Indicates whether the Performance Max campaign is a Local Services campaign."
        }
      },
      "description": "Settings for Performance Max campaigns."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_SelectiveOptimization": {
      "description": "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.",
      "type": "object",
      "properties": {
        "conversionActions": {
          "description": "The selected set of resource names for conversion actions for optimizing this campaign.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_ShoppingSetting": {
      "type": "object",
      "properties": {
        "campaignPriority": {
          "type": "integer",
          "description": "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.",
          "format": "int32"
        },
        "merchantId": {
          "description": "ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.",
          "type": "string",
          "format": "int64"
        },
        "feedLabel": {
          "type": "string",
          "description": "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."
        },
        "useVehicleInventory": {
          "type": "boolean",
          "description": "Immutable. Whether to target Vehicle Listing inventory. This field is supported only in Smart Shopping Campaigns. For setting Vehicle Listing inventory in Performance Max campaigns, use `listing_type` instead."
        },
        "enableLocal": {
          "description": "Whether to include local products.",
          "type": "boolean"
        },
        "advertisingPartnerIds": {
          "description": "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. Once set, the field is immutable. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array"
        },
        "disableProductFeed": {
          "description": "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.",
          "type": "boolean"
        },
        "ignoreBrandExclusionInShoppingAds": {
          "type": "boolean",
          "description": "If true, brand exclusions are ignored for Shopping ads. Only supported for Shopping campaigns."
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_TextGuidelines": {
      "description": "Settings to control automatically generated text assets.",
      "type": "object",
      "properties": {
        "termExclusions": {
          "description": "Exact words or phrases that will be excluded from generated text assets. At most 25 exclusions may be provided. Valid exclusions may contain a maximum of 30 characters.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "messagingRestrictions": {
          "type": "array",
          "description": "Freeform instructions that will be used to guide text asset generation using LLM inference. At most 40 restrictions may be provided.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_MessagingRestriction"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_TrackingSetting": {
      "type": "object",
      "properties": {
        "trackingUrl": {
          "description": "Output only. The url used for dynamic tracking.",
          "type": "string"
        }
      },
      "description": "Campaign-level settings for tracking information."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_TravelCampaignSettings": {
      "type": "object",
      "properties": {
        "travelAccountId": {
          "description": "Immutable. The Travel account ID associated with the Travel campaign.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "Settings for Travel campaign."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_VanityPharma": {
      "type": "object",
      "properties": {
        "vanityPharmaText": {
          "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.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Prescription treatment website with website content in English.",
            "Prescription treatment website with website content in Spanish (Sitio de tratamientos con receta).",
            "Prescription device website with website content in English.",
            "Prescription device website with website content in Spanish (Sitio de dispositivos con receta).",
            "Medical device website with website content in English.",
            "Medical device website with website content in Spanish (Sitio de dispositivos médicos).",
            "Preventative treatment website with website content in English.",
            "Preventative treatment website with website content in Spanish (Sitio de tratamientos preventivos).",
            "Prescription contraception website with website content in English.",
            "Prescription contraception website with website content in Spanish (Sitio de anticonceptivos con receta).",
            "Prescription vaccine website with website content in English.",
            "Prescription vaccine website with website content in Spanish (Sitio de vacunas con receta)."
          ],
          "enum": [
            "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"
          ]
        },
        "vanityPharmaDisplayUrlMode": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Replace vanity pharma URL with manufacturer website url.",
            "Replace vanity pharma URL with description of the website."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MANUFACTURER_WEBSITE_URL",
            "WEBSITE_DESCRIPTION"
          ],
          "type": "string",
          "description": "The display mode for vanity pharma URLs."
        }
      },
      "description": "Describes how unbranded pharma ads will be displayed."
    },
    "GoogleAdsGoogleadsV25Resources_Campaign_VideoCampaignSettings": {
      "type": "object",
      "properties": {
        "videoAdSequence": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_VideoAdSequence",
          "description": "Container for video ads sequencing definition."
        },
        "bookingDetails": {
          "description": "Output only. Booking information for campaigns with the FIXED_CPM or FIXED_SHARE_OF_VOICE bidding strategies.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_BookingDetails"
        },
        "reservationAdCategorySelfDisclosure": {
          "description": "Ad category self-disclosure for campaigns with the FIXED_CPM or FIXED_SHARE_OF_VOICE bidding strategies.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_ReservationAdCategorySelfDisclosure"
        },
        "videoAdFormatControl": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_VideoAdFormatControl",
          "description": "Format-restricting control enabling usage of video responsive ads in format defined Video campaigns (for example, non-skippable)."
        },
        "videoAdInventoryControl": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_CampaignVideoCampaignSettings_VideoAdInventoryControl",
          "description": "Inventory control for video responsive ads in reach campaigns."
        }
      },
      "description": "Settings for Video campaign."
    },
    "GoogleAdsGoogleadsV25Resources_ConversionAction_AttributionModelSettings": {
      "type": "object",
      "properties": {
        "attributionModel": {
          "description": "The attribution model type of this conversion action.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Uses external attribution.",
            "Attributes all credit for a conversion to its last click.",
            "Attributes all credit for a conversion to its first click using Google Search attribution.",
            "Attributes credit for a conversion equally across all of its clicks using Google Search attribution.",
            "Attributes exponentially more credit for a conversion to its more recent clicks using Google Search attribution (half-life is 1 week).",
            "Attributes 40% of the credit for a conversion to its first and last clicks. Remaining 20% is evenly distributed across all other clicks. This uses Google Search attribution.",
            "Flexible model that uses machine learning to determine the appropriate distribution of credit among clicks using Google Search attribution."
          ],
          "enum": [
            "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"
          ]
        },
        "dataDrivenModelStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AVAILABLE",
            "STALE",
            "EXPIRED",
            "NEVER_GENERATED"
          ],
          "type": "string",
          "description": "Output only. The status of the data-driven attribution model for the conversion action.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The data driven model is available.",
            "The data driven model is stale. It hasn't been updated for at least 7 days. It is still being used, but will become expired if it does not get updated for 30 days.",
            "The data driven model expired. It hasn't been updated for at least 30 days and cannot be used. Most commonly this is because there hasn't been the required number of events in a recent 30-day period.",
            "The data driven model has never been generated. Most commonly this is because there has never been the required number of events in any 30-day period."
          ]
        }
      },
      "description": "Settings related to this conversion action's attribution model."
    },
    "GoogleAdsGoogleadsV25Resources_ConversionAction_FirebaseSettings": {
      "type": "object",
      "properties": {
        "propertyId": {
          "type": "string",
          "description": "Output only. The GA property ID of the conversion.",
          "format": "int64"
        },
        "eventName": {
          "description": "Output only. The event name of a Firebase conversion.",
          "type": "string"
        },
        "projectId": {
          "description": "Output only. The Firebase project ID of the conversion.",
          "type": "string"
        },
        "propertyName": {
          "type": "string",
          "description": "Output only. The GA property name of the conversion."
        }
      },
      "description": "Settings related to a Firebase conversion action."
    },
    "GoogleAdsGoogleadsV25Resources_ConversionAction_GoogleAnalytics4Settings": {
      "description": "Settings related to a Google Analytics 4 conversion action.",
      "type": "object",
      "properties": {
        "propertyName": {
          "description": "Output only. The name of the GA 4 property.",
          "type": "string"
        },
        "propertyId": {
          "description": "Output only. The ID of the GA 4 property.",
          "type": "string",
          "format": "int64"
        },
        "eventName": {
          "description": "Output only. The name of the GA 4 event.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ConversionAction_ThirdPartyAppAnalyticsSettings": {
      "description": "Settings related to a third party app analytics conversion action.",
      "type": "object",
      "properties": {
        "eventName": {
          "type": "string",
          "description": "Output only. The event name of a third-party app analytics conversion."
        },
        "providerName": {
          "type": "string",
          "description": "Output only. Name of the third-party app analytics provider."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ConversionAction_ValueSettings": {
      "description": "Settings related to the value for conversion events associated with this conversion action.",
      "type": "object",
      "properties": {
        "defaultValue": {
          "format": "double",
          "type": "number",
          "description": "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."
        },
        "defaultCurrencyCode": {
          "description": "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.",
          "type": "string"
        },
        "alwaysUseDefaultValue": {
          "type": "boolean",
          "description": "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."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleAction": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number",
          "description": "Specifies applied value.",
          "format": "double"
        },
        "operation": {
          "type": "string",
          "description": "Specifies applied operation.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Add provided value to conversion value.",
            "Multiply conversion value by provided value.",
            "Set conversion value to provided value."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADD",
            "MULTIPLY",
            "SET"
          ]
        }
      },
      "description": "Action applied when rule is applied."
    },
    "GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleAudienceCondition": {
      "type": "object",
      "properties": {
        "userLists": {
          "description": "User Lists.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "userInterests": {
          "type": "array",
          "description": "User Interests.",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "Condition on Audience dimension."
    },
    "GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleDeviceCondition": {
      "description": "Condition on Device dimension.",
      "type": "object",
      "properties": {
        "deviceTypes": {
          "description": "Value for device type condition.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Mobile device.",
              "Desktop device.",
              "Tablet device."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "MOBILE",
              "DESKTOP",
              "TABLET"
            ]
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleGeoLocationCondition": {
      "description": "Condition on Geo dimension.",
      "type": "object",
      "properties": {
        "excludedGeoTargetConstants": {
          "type": "array",
          "description": "Geo locations that advertisers want to exclude.",
          "items": {
            "type": "string"
          }
        },
        "geoMatchType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Either Area of Interest or Location of Presence can be used to match.",
            "Only Location of Presence can be used to match."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ANY",
            "LOCATION_OF_PRESENCE"
          ],
          "description": "Included Geo location match type.",
          "type": "string"
        },
        "geoTargetConstants": {
          "type": "array",
          "description": "Geo locations that advertisers want to include.",
          "items": {
            "type": "string"
          }
        },
        "excludedGeoMatchType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Either Area of Interest or Location of Presence can be used to match.",
            "Only Location of Presence can be used to match."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ANY",
            "LOCATION_OF_PRESENCE"
          ],
          "description": "Excluded Geo location match type.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow": {
      "description": "Range for the number of days between the date of the booking and the start of the itinerary.",
      "type": "object",
      "properties": {
        "minDays": {
          "description": "Minimum number of days between the date of the booking the start date.",
          "type": "integer",
          "format": "int32"
        },
        "maxDays": {
          "type": "integer",
          "description": "Maximum number of days between the date of the booking the start date.",
          "format": "int32"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleItineraryCondition": {
      "type": "object",
      "properties": {
        "travelLength": {
          "description": "Range for the itinerary length in number of nights.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleItineraryTravelLength"
        },
        "advanceBookingWindow": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow",
          "description": "Range for the number of days between the date of the booking and the start of the itinerary."
        },
        "travelStartDay": {
          "description": "The days of the week on which this itinerary's travel can start.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay"
        }
      },
      "description": "Condition on Itinerary dimension."
    },
    "GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleItineraryTravelLength": {
      "description": "Range for the itinerary length in number of nights.",
      "type": "object",
      "properties": {
        "maxNights": {
          "description": "Maximum number of days between the start date and the end date.",
          "type": "integer",
          "format": "int32"
        },
        "minNights": {
          "description": "Minimum number of nights between the start date and the end date.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay": {
      "type": "object",
      "properties": {
        "sunday": {
          "description": "The travel can start on Sunday.",
          "type": "boolean"
        },
        "wednesday": {
          "description": "The travel can start on Wednesday.",
          "type": "boolean"
        },
        "saturday": {
          "type": "boolean",
          "description": "The travel can start on Saturday."
        },
        "friday": {
          "description": "The travel can start on Friday.",
          "type": "boolean"
        },
        "tuesday": {
          "description": "The travel can start on Tuesday.",
          "type": "boolean"
        },
        "thursday": {
          "description": "The travel can start on Thursday.",
          "type": "boolean"
        },
        "monday": {
          "description": "The travel can start on Monday.",
          "type": "boolean"
        }
      },
      "description": "The days of the week on which an itinerary's travel can start."
    },
    "GoogleAdsGoogleadsV25Resources_ExperimentArm_AssetDetail": {
      "type": "object",
      "properties": {
        "asset": {
          "description": "The asset that is being modified for the experiment.",
          "type": "string"
        },
        "fieldType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset is linked for use as a headline.",
            "The asset is linked for use as a description.",
            "The asset is linked for use as mandatory ad text.",
            "The asset is linked for use as a marketing image.",
            "The asset is linked for use as a media bundle.",
            "The asset is linked for use as a YouTube video.",
            "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.",
            "The asset is linked for use as a Lead Form extension.",
            "The asset is linked for use as a Promotion extension.",
            "The asset is linked for use as a Callout extension.",
            "The asset is linked for use as a Structured Snippet extension.",
            "The asset is linked for use as a Sitelink.",
            "The asset is linked for use as a Mobile App extension.",
            "The asset is linked for use as a Hotel Callout extension.",
            "The asset is linked for use as a Call extension.",
            "The asset is linked for use as a Price extension.",
            "The asset is linked for use as a long headline.",
            "The asset is linked for use as a business name.",
            "The asset is linked for use as a square marketing image.",
            "The asset is linked for use as a portrait marketing image.",
            "The asset is linked for use as a logo.",
            "The asset is linked for use as a landscape logo.",
            "The asset is linked for use as a non YouTube logo.",
            "The asset is linked for use to select a call-to-action.",
            "The asset is linked for use to select an ad image.",
            "The asset is linked for use as a business logo.",
            "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.",
            "The asset is linked for use as a Demand Gen carousel card.",
            "The asset is linked for use as a Business Message.",
            "The asset is linked for use as a tall portrait marketing image.",
            "The asset is linked for use as related YouTube videos.",
            "The asset is linked for use as a landing page preview image.",
            "The asset is linked for use as a long description.",
            "The asset is linked for use as a call-to-action.",
            "The asset is linked for use as a classic display image."
          ],
          "enum": [
            "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",
            "RELATED_YOUTUBE_VIDEOS",
            "LANDING_PAGE_PREVIEW",
            "LONG_DESCRIPTION",
            "CALL_TO_ACTION",
            "CLASSIC_DISPLAY_IMAGE"
          ],
          "type": "string",
          "description": "Field type for the asset."
        },
        "assetDetailOperation": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Asset is attached to the ad.",
            "Asset is removed from the ad."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADD",
            "REMOVE"
          ],
          "type": "string",
          "description": "Enum to specify whether the asset is removed or added from the base ad."
        }
      },
      "description": "Details of an asset modification for the experiment ad, such as adding or removing the asset."
    },
    "GoogleAdsGoogleadsV25Resources_ExperimentArm_AssetGroupAssetInfo": {
      "description": "Holds the details of an asset within an asset group for an Optimize Assets experiment arm.",
      "type": "object",
      "properties": {
        "fieldType": {
          "type": "string",
          "description": "Field type of the asset group asset.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset is linked for use as a headline.",
            "The asset is linked for use as a description.",
            "The asset is linked for use as mandatory ad text.",
            "The asset is linked for use as a marketing image.",
            "The asset is linked for use as a media bundle.",
            "The asset is linked for use as a YouTube video.",
            "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.",
            "The asset is linked for use as a Lead Form extension.",
            "The asset is linked for use as a Promotion extension.",
            "The asset is linked for use as a Callout extension.",
            "The asset is linked for use as a Structured Snippet extension.",
            "The asset is linked for use as a Sitelink.",
            "The asset is linked for use as a Mobile App extension.",
            "The asset is linked for use as a Hotel Callout extension.",
            "The asset is linked for use as a Call extension.",
            "The asset is linked for use as a Price extension.",
            "The asset is linked for use as a long headline.",
            "The asset is linked for use as a business name.",
            "The asset is linked for use as a square marketing image.",
            "The asset is linked for use as a portrait marketing image.",
            "The asset is linked for use as a logo.",
            "The asset is linked for use as a landscape logo.",
            "The asset is linked for use as a non YouTube logo.",
            "The asset is linked for use to select a call-to-action.",
            "The asset is linked for use to select an ad image.",
            "The asset is linked for use as a business logo.",
            "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.",
            "The asset is linked for use as a Demand Gen carousel card.",
            "The asset is linked for use as a Business Message.",
            "The asset is linked for use as a tall portrait marketing image.",
            "The asset is linked for use as related YouTube videos.",
            "The asset is linked for use as a landing page preview image.",
            "The asset is linked for use as a long description.",
            "The asset is linked for use as a call-to-action.",
            "The asset is linked for use as a classic display image."
          ],
          "enum": [
            "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",
            "RELATED_YOUTUBE_VIDEOS",
            "LANDING_PAGE_PREVIEW",
            "LONG_DESCRIPTION",
            "CALL_TO_ACTION",
            "CLASSIC_DISPLAY_IMAGE"
          ]
        },
        "asset": {
          "description": "Asset resource name of the asset group asset.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ExperimentArm_AssetGroupInfo": {
      "type": "object",
      "properties": {
        "assetGroup": {
          "description": "Asset group resource name.",
          "type": "string"
        },
        "assetGroupAssets": {
          "type": "array",
          "description": "List of asset group assets under the asset group.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ExperimentArm_AssetGroupAssetInfo"
          }
        }
      },
      "description": "Holds the asset groups included in an arm of an Optimize Assets experiment."
    },
    "GoogleAdsGoogleadsV25Resources_ExperimentArm_AssetTestingInfo": {
      "type": "object",
      "properties": {
        "assetVariationInfos": {
          "type": "array",
          "description": "Details of assets associated for each experimental copy of the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ExperimentArm_AssetVariationInfo"
          }
        }
      },
      "description": "Details of assets associated with the experimental copies of ads."
    },
    "GoogleAdsGoogleadsV25Resources_ExperimentArm_AssetVariationInfo": {
      "type": "object",
      "properties": {
        "baseAd": {
          "description": "Associated base ad resource name.",
          "type": "string"
        },
        "assetDetails": {
          "description": "Details for each asset that is being modified from the base ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ExperimentArm_AssetDetail"
          },
          "type": "array"
        },
        "baseAdGroup": {
          "type": "string",
          "description": "Associated base AdGroup resource name."
        }
      },
      "description": "Details of asset variations to be performed on an ad in the control ad group."
    },
    "GoogleAdsGoogleadsV25Resources_ExperimentArm_ExperimentalPerformanceMaxCampaignSettings": {
      "description": "Parameters for an experiment to create a Performance Max campaign. The experimental Performance Max campaign gets created automatically based on the existing SHOPPING campaign settings and the settings specified in this field.",
      "type": "object",
      "properties": {
        "biddingStrategyType": {
          "description": "Immutable. Bidding strategy type of the Performance Max experiment campaign.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.",
            "Enhanced CPC is 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.",
            "Fixed CPM is a manual bidding strategy with a fixed CPM.",
            "Fixed share of voice is a manual bidding strategy for YouTube Sponsorships that bills either on CPM or a fixed cost per day.",
            "Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.",
            "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.",
            "Manual click based bidding where user pays per click.",
            "Manual impression based bidding where user pays per thousand impressions.",
            "A bidding strategy that pays a configurable amount per video view.",
            "A bidding strategy that automatically maximizes number of conversions given a daily budget.",
            "An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.",
            "Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.",
            "Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.",
            "Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.",
            "Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.",
            "Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.",
            "Target CPV is an automated bidding strategy that sets bids to optimize performance given the average target cost per view.",
            "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).",
            "Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.",
            "Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).",
            "Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "COMMISSION",
            "ENHANCED_CPC",
            "FIXED_CPM",
            "FIXED_SHARE_OF_VOICE",
            "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_CPV",
            "TARGET_IMPRESSION_SHARE",
            "TARGET_OUTRANK_SHARE",
            "TARGET_ROAS",
            "TARGET_SPEND"
          ]
        },
        "targetCpaMicros": {
          "format": "int64",
          "description": "Immutable. Target CPA of the Performance Max experiment campaign.",
          "type": "string"
        },
        "budgetAmountMicros": {
          "type": "string",
          "description": "Immutable. The amount of budget of the Performance Max experiment campaign.",
          "format": "int64"
        },
        "targetRoas": {
          "description": "Immutable. Target ROAS of the Performance Max experiment campaign.",
          "type": "number",
          "format": "double"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ExperimentArm_PerformanceMaxExperimentArmInfo": {
      "description": "Information specific to the control or treatment campaign of a Performance Max experiment.",
      "type": "object",
      "properties": {
        "experimentalPerformanceMaxCampaignSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ExperimentArm_ExperimentalPerformanceMaxCampaignSettings",
          "description": "Immutable. Performance Max campaign settings to be applied on the Google-created experimental campaign in a Performance Max experiment. The experimental campaign is automatically created by Google upon experiment creation."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductBrand": {
      "description": "Brand of the product.",
      "type": "object",
      "properties": {
        "value": {
          "description": "String value of the product brand.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductCategory": {
      "type": "object",
      "properties": {
        "categoryId": {
          "type": "string",
          "description": "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",
          "format": "int64"
        },
        "level": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Level 1.",
            "Level 2.",
            "Level 3.",
            "Level 4.",
            "Level 5."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LEVEL1",
            "LEVEL2",
            "LEVEL3",
            "LEVEL4",
            "LEVEL5"
          ],
          "type": "string",
          "description": "Indicates the level of the category in the taxonomy."
        }
      },
      "description": "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)."
    },
    "GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductChannel": {
      "description": "Locality of a product offer.",
      "type": "object",
      "properties": {
        "channel": {
          "type": "string",
          "description": "Value of the locality.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The item is sold online.",
            "The item is sold in local stores."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ONLINE",
            "LOCAL"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductCondition": {
      "description": "Condition of a product offer.",
      "type": "object",
      "properties": {
        "condition": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The product condition is new.",
            "The product condition is refurbished.",
            "The product condition is used."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NEW",
            "REFURBISHED",
            "USED"
          ],
          "type": "string",
          "description": "Value of the condition."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductCustomAttribute": {
      "description": "Custom attribute of a product offer.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the product custom attribute."
        },
        "index": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "First listing group filter custom attribute.",
            "Second listing group filter custom attribute.",
            "Third listing group filter custom attribute.",
            "Fourth listing group filter custom attribute.",
            "Fifth listing group filter custom attribute."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INDEX0",
            "INDEX1",
            "INDEX2",
            "INDEX3",
            "INDEX4"
          ],
          "description": "Indicates the index of the custom attribute.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductItemId": {
      "description": "Item id of a product offer.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "Value of the id."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductType": {
      "type": "object",
      "properties": {
        "value": {
          "description": "Value of the type.",
          "type": "string"
        },
        "level": {
          "type": "string",
          "description": "Level of the type.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Level 1.",
            "Level 2.",
            "Level 3.",
            "Level 4.",
            "Level 5."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LEVEL1",
            "LEVEL2",
            "LEVEL3",
            "LEVEL4",
            "LEVEL5"
          ]
        }
      },
      "description": "Type of a product offer."
    },
    "GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_RetailFilterBundle": {
      "description": "Dimension for Retail Product Tags.",
      "type": "object",
      "properties": {
        "sharedSet": {
          "type": "string",
          "description": "The RetailFilterBundle shared set resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_Webpage": {
      "description": "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.",
      "type": "object",
      "properties": {
        "conditions": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_WebpageCondition"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_WebpageCondition": {
      "type": "object",
      "properties": {
        "customLabel": {
          "type": "string",
          "description": "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."
        },
        "urlContains": {
          "description": "Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.",
          "type": "string"
        }
      },
      "description": "Matching condition for URL filtering."
    },
    "GoogleAdsGoogleadsV25Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting": {
      "description": "Settings for configuring a business profile optimized for ads as this campaign's landing page.",
      "type": "object",
      "properties": {
        "includeLeadForm": {
          "type": "boolean",
          "description": "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."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_SmartCampaignSetting_PhoneNumber": {
      "description": "Phone number and country code in smart campaign settings.",
      "type": "object",
      "properties": {
        "phoneNumber": {
          "type": "string",
          "description": "Phone number of the smart campaign."
        },
        "countryCode": {
          "description": "Upper-case, two-letter country code as defined by ISO-3166.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__Ad": {
      "type": "object",
      "properties": {
        "appPreRegistrationAd": {
          "description": "Details pertaining to an app pre-registration ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AppPreRegistrationAdInfo"
        },
        "smartCampaignAd": {
          "description": "Details pertaining to a Smart campaign ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__SmartCampaignAdInfo"
        },
        "appEngagementAd": {
          "description": "Details pertaining to an app engagement ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AppEngagementAdInfo"
        },
        "syntheticContentInfo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__SyntheticContentInfo",
          "description": "Synthetic content info for the ad."
        },
        "displayUrl": {
          "type": "string",
          "description": "The URL that appears in the ad description for some ad formats."
        },
        "responsiveDisplayAd": {
          "description": "Details pertaining to a responsive display ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ResponsiveDisplayAdInfo"
        },
        "expandedDynamicSearchAd": {
          "description": "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.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ExpandedDynamicSearchAdInfo"
        },
        "finalUrlSuffix": {
          "description": "The suffix to use when constructing a final URL.",
          "type": "string"
        },
        "imageAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ImageAdInfo",
          "description": "Immutable. Details pertaining to an Image ad."
        },
        "addedByGoogleAds": {
          "description": "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.",
          "type": "boolean"
        },
        "responsiveSearchAd": {
          "description": "Details pertaining to a responsive search ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ResponsiveSearchAdInfo"
        },
        "expandedTextAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ExpandedTextAdInfo",
          "description": "Details pertaining to an expanded text ad. Expanded text ads are deprecated. Use `ResponsiveSearchAd` instead."
        },
        "type": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The ad is a text ad.",
            "The ad is an expanded text ad. Expanded text ads are deprecated.",
            "The ad is an expanded dynamic search ad.",
            "The ad is a hotel ad.",
            "The ad is a Smart Shopping ad.",
            "The ad is a standard Shopping ad.",
            "The ad is a video ad.",
            "This ad is an Image ad.",
            "The ad is a responsive search ad.",
            "The ad is a legacy responsive display ad.",
            "The ad is an app ad.",
            "The ad is a legacy app install ad.",
            "The ad is a responsive display ad.",
            "The ad is a local ad.",
            "The ad is a display upload ad with the HTML5_UPLOAD_AD product type.",
            "The ad is a display upload ad with one of the DYNAMIC_HTML5_* product types.",
            "The ad is an app engagement ad.",
            "The ad is a 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.",
            "Universal app pre-registration ad.",
            "In-feed video ad.",
            "Demand Gen multi asset ad.",
            "Demand Gen carousel ad.",
            "Travel ad.",
            "Demand Gen video responsive ad.",
            "Demand Gen product ad.",
            "YouTube Audio ad."
          ],
          "type": "string",
          "description": "Output only. The type of ad.",
          "enum": [
            "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",
            "IN_FEED_VIDEO_AD",
            "DEMAND_GEN_MULTI_ASSET_AD",
            "DEMAND_GEN_CAROUSEL_AD",
            "TRAVEL_AD",
            "DEMAND_GEN_VIDEO_RESPONSIVE_AD",
            "DEMAND_GEN_PRODUCT_AD",
            "YOUTUBE_AUDIO_AD"
          ]
        },
        "shoppingProductAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ShoppingProductAdInfo",
          "description": "Details pertaining to a Shopping product ad."
        },
        "displayUploadAd": {
          "description": "Details pertaining to a display upload ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DisplayUploadAdInfo"
        },
        "finalAppUrls": {
          "description": "A list of final app URLs that will be used on mobile if the user has the specific app installed.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__FinalAppUrl"
          },
          "type": "array"
        },
        "devicePreference": {
          "description": "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.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Mobile devices with full browsers.",
            "Tablets with full browsers.",
            "Computers.",
            "Smart TVs and game consoles.",
            "Other device types."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MOBILE",
            "TABLET",
            "DESKTOP",
            "CONNECTED_TV",
            "OTHER"
          ]
        },
        "travelAd": {
          "description": "Details pertaining to a travel ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TravelAdInfo"
        },
        "appAd": {
          "description": "Details pertaining to an app ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AppAdInfo"
        },
        "finalMobileUrls": {
          "type": "array",
          "description": "The list of possible final mobile URLs after all cross-domain redirects for the ad.",
          "items": {
            "type": "string"
          }
        },
        "shoppingSmartAd": {
          "description": "Details pertaining to a Smart Shopping ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ShoppingSmartAdInfo"
        },
        "textAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TextAdInfo",
          "description": "Immutable. Details pertaining to a text ad."
        },
        "legacyAppInstallAd": {
          "description": "Immutable. Details pertaining to a legacy app install ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LegacyAppInstallAdInfo"
        },
        "demandGenMultiAssetAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DemandGenMultiAssetAdInfo",
          "description": "Details pertaining to a Demand Gen multi asset ad."
        },
        "videoAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VideoAdInfo",
          "description": "Details pertaining to a Video ad."
        },
        "urlCustomParameters": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomParameter"
          }
        },
        "systemManagedResourceSource": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AD_VARIATIONS"
          ],
          "description": "Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Generated ad variations experiment ad."
          ]
        },
        "videoResponsiveAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VideoResponsiveAdInfo",
          "description": "Details pertaining to a Video responsive ad."
        },
        "shoppingComparisonListingAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ShoppingComparisonListingAdInfo",
          "description": "Details pertaining to a Shopping Comparison Listing ad."
        },
        "legacyResponsiveDisplayAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LegacyResponsiveDisplayAdInfo",
          "description": "Details pertaining to a legacy responsive display ad."
        },
        "demandGenVideoResponsiveAd": {
          "description": "Details pertaining to a Demand Gen video responsive ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DemandGenVideoResponsiveAdInfo"
        },
        "localAd": {
          "description": "Details pertaining to a local ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocalAdInfo"
        },
        "demandGenProductAd": {
          "description": "Details pertaining to a Demand Gen product ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DemandGenProductAdInfo"
        },
        "name": {
          "description": "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. The name field is currently only supported for DisplayUploadAd, ImageAd, LegacyAppInstallAd, ShoppingComparisonListingAd, VideoAd, VideoResponsiveAd and DemandGen ads.",
          "type": "string"
        },
        "urlCollections": {
          "type": "array",
          "description": "Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UrlCollection"
          }
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the ad.",
          "format": "int64"
        },
        "finalUrls": {
          "type": "array",
          "description": "The list of possible final URLs after all cross-domain redirects for the ad.",
          "items": {
            "type": "string"
          }
        },
        "demandGenCarouselAd": {
          "description": "Details pertaining to a Demand Gen carousel ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DemandGenCarouselAdInfo"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`",
          "type": "string"
        },
        "hotelAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelAdInfo",
          "description": "Details pertaining to a hotel ad."
        },
        "trackingUrlTemplate": {
          "type": "string",
          "description": "The URL template for constructing a tracking URL."
        }
      },
      "description": "An ad."
    },
    "GoogleAdsGoogleadsV25Resources__AdGroup": {
      "type": "object",
      "properties": {
        "name": {
          "description": "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.",
          "type": "string"
        },
        "excludeDemographicExpansion": {
          "type": "boolean",
          "description": "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."
        },
        "audienceSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AdGroup_AudienceSetting",
          "description": "Immutable. Setting for audience related features."
        },
        "cpmBidMicros": {
          "format": "int64",
          "type": "string",
          "description": "The maximum CPM (cost-per-thousand viewable impressions) bid."
        },
        "videoAdGroupSettings": {
          "description": "Settings for video ad groups.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AdGroup_VideoAdGroupSettings"
        },
        "baseAdGroup": {
          "description": "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.",
          "type": "string"
        },
        "fixedCpmMicros": {
          "format": "int64",
          "type": "string",
          "description": "The fixed amount in micros that the advertiser pays for every thousand impressions of the ad."
        },
        "verticalAdsFormatSetting": {
          "description": "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.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AdGroup_VerticalAdsFormatSetting"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`"
        },
        "trackingUrlTemplate": {
          "description": "The URL template for constructing a tracking URL.",
          "type": "string"
        },
        "id": {
          "description": "Output only. The ID of the ad group.",
          "type": "string",
          "format": "int64"
        },
        "labels": {
          "type": "array",
          "description": "Output only. The resource names of labels attached to this ad group.",
          "items": {
            "type": "string"
          }
        },
        "targetCpaMicros": {
          "description": "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.",
          "type": "string",
          "format": "int64"
        },
        "adRotationMode": {
          "x-enumDescriptions": [
            "The ad rotation mode has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Optimize ad group ads based on clicks or conversions.",
            "Rotate evenly forever."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "OPTIMIZE",
            "ROTATE_FOREVER"
          ],
          "description": "The ad rotation mode of the ad group.",
          "type": "string"
        },
        "percentCpcBidMicros": {
          "description": "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].",
          "type": "string",
          "format": "int64"
        },
        "demandGenAdGroupSettings": {
          "description": "Settings for Demand Gen ad groups.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AdGroup_DemandGenAdGroupSettings"
        },
        "cpvBidMicros": {
          "type": "string",
          "description": "The CPV (cost-per-view) bid.",
          "format": "int64"
        },
        "primaryStatus": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The ad group is eligible to serve.",
            "The ad group is paused.",
            "The ad group is removed.",
            "The ad group may serve in the future.",
            "The ad group is not eligible to serve.",
            "The ad group has limited servability."
          ],
          "description": "Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "PAUSED",
            "REMOVED",
            "PENDING",
            "NOT_ELIGIBLE",
            "LIMITED"
          ]
        },
        "cpcBidMicros": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "targetCpvMicros": {
          "format": "int64",
          "type": "string",
          "description": "Average amount in micros that the advertiser is willing to pay for every ad view."
        },
        "urlCustomParameters": {
          "type": "array",
          "description": "The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomParameter"
          }
        },
        "effectiveCpcBidMicros": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "optimizedTargetingEnabled": {
          "description": "True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.",
          "type": "boolean"
        },
        "effectiveTargetCpcSource": {
          "description": "Output only. Source of the effective target CPC. This field is read-only.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CAMPAIGN_BIDDING_STRATEGY",
            "AD_GROUP",
            "AD_GROUP_CRITERION"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Effective bid or target is inherited from campaign bidding strategy.",
            "The bid or target is defined on the ad group.",
            "The bid or target is defined on the ad group criterion."
          ]
        },
        "finalUrlSuffix": {
          "description": "URL template for appending params to Final URL.",
          "type": "string"
        },
        "effectiveTargetRoas": {
          "format": "double",
          "description": "Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.",
          "type": "number"
        },
        "effectiveTargetRoasSource": {
          "description": "Output only. Source of the effective target ROAS. This field is read-only.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CAMPAIGN_BIDDING_STRATEGY",
            "AD_GROUP",
            "AD_GROUP_CRITERION"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Effective bid or target is inherited from campaign bidding strategy.",
            "The bid or target is defined on the ad group.",
            "The bid or target is defined on the ad group criterion."
          ]
        },
        "excludedParentAssetSetTypes": {
          "type": "array",
          "description": "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.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Page asset set.",
              "Dynamic education asset set.",
              "Google Merchant Center asset set.",
              "Dynamic real estate asset set.",
              "Dynamic custom asset set.",
              "Dynamic hotels and rentals asset set.",
              "Dynamic flights asset set.",
              "Dynamic travel asset set.",
              "Dynamic local asset set.",
              "Dynamic jobs asset set.",
              "Location sync level asset set.",
              "Business Profile location group asset set.",
              "Chain location group asset set which can be used for both owned locations and affiliate locations.",
              "Static location group asset set which can be used for both owned locations and affiliate locations.",
              "Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.",
              "Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed."
            ],
            "enum": [
              "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"
            ]
          }
        },
        "type": {
          "x-enumDescriptions": [
            "The type has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The default ad group type for Search campaigns.",
            "The default ad group type for Display campaigns.",
            "The ad group type for Shopping campaigns serving standard product ads.",
            "The default ad group type for Hotel campaigns.",
            "The type for ad groups in Smart Shopping campaigns.",
            "Short unskippable in-stream video ads.",
            "TrueView (skippable) in-stream video ads.",
            "TrueView in-display video ads.",
            "Unskippable in-stream video ads.",
            "Ad group type for Dynamic Search Ads ad groups.",
            "The type for ad groups in Shopping Comparison Listing campaigns.",
            "The ad group type for Promoted Hotel ad groups.",
            "Video responsive ad groups.",
            "Video efficient reach ad groups.",
            "Ad group type for Smart campaigns.",
            "Ad group type for Travel campaigns.",
            "Ad group type for YouTube Audio campaigns."
          ],
          "enum": [
            "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",
            "YOUTUBE_AUDIO"
          ],
          "description": "Immutable. The type of the ad group.",
          "type": "string"
        },
        "effectiveTargetCpaMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The effective target CPA (cost-per-acquisition). This field is read-only."
        },
        "excludedParentAssetFieldTypes": {
          "description": "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.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "The asset is linked for use as a headline.",
              "The asset is linked for use as a description.",
              "The asset is linked for use as mandatory ad text.",
              "The asset is linked for use as a marketing image.",
              "The asset is linked for use as a media bundle.",
              "The asset is linked for use as a YouTube video.",
              "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.",
              "The asset is linked for use as a Lead Form extension.",
              "The asset is linked for use as a Promotion extension.",
              "The asset is linked for use as a Callout extension.",
              "The asset is linked for use as a Structured Snippet extension.",
              "The asset is linked for use as a Sitelink.",
              "The asset is linked for use as a Mobile App extension.",
              "The asset is linked for use as a Hotel Callout extension.",
              "The asset is linked for use as a Call extension.",
              "The asset is linked for use as a Price extension.",
              "The asset is linked for use as a long headline.",
              "The asset is linked for use as a business name.",
              "The asset is linked for use as a square marketing image.",
              "The asset is linked for use as a portrait marketing image.",
              "The asset is linked for use as a logo.",
              "The asset is linked for use as a landscape logo.",
              "The asset is linked for use as a non YouTube logo.",
              "The asset is linked for use to select a call-to-action.",
              "The asset is linked for use to select an ad image.",
              "The asset is linked for use as a business logo.",
              "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.",
              "The asset is linked for use as a Demand Gen carousel card.",
              "The asset is linked for use as a Business Message.",
              "The asset is linked for use as a tall portrait marketing image.",
              "The asset is linked for use as related YouTube videos.",
              "The asset is linked for use as a landing page preview image.",
              "The asset is linked for use as a long description.",
              "The asset is linked for use as a call-to-action.",
              "The asset is linked for use as a classic display image."
            ],
            "enum": [
              "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",
              "RELATED_YOUTUBE_VIDEOS",
              "LANDING_PAGE_PREVIEW",
              "LONG_DESCRIPTION",
              "CALL_TO_ACTION",
              "CLASSIC_DISPLAY_IMAGE"
            ]
          },
          "type": "array"
        },
        "primaryStatusReasons": {
          "description": "Output only. Provides reasons for why an ad group is not serving or not serving optimally.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "The user-specified campaign status is removed. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.",
              "The user-specified campaign status is paused. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.",
              "The user-specified time for this campaign to start is in the future. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE",
              "The user-specified time for this campaign to end has passed. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.",
              "The user-specified ad group status is paused. Contributes to AdGroupPrimaryStatus.PAUSED.",
              "The user-specified ad group status is removed. Contributes to AdGroupPrimaryStatus.REMOVED.",
              "The construction of this ad group is not yet complete. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.",
              "The user-specified keyword statuses in this ad group are all paused. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.",
              "No eligible keywords exist in this ad group. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.",
              "The user-specified ad group ads statuses in this ad group are all paused. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.",
              "No eligible ad group ads exist in this ad group. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.",
              "Policy status reason when at least one ad is disapproved. Contributes to multiple AdGroupPrimaryStatus.",
              "Policy status reason when at least one ad is limited by policy. Contributes to multiple AdGroupPrimaryStatus.",
              "Policy status reason when most ads are pending review. Contributes to AdGroupPrimaryStatus.PENDING.",
              "The AdGroup belongs to a Draft campaign. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.",
              "Ad group has been paused due to prolonged low activity in serving. Contributes to AdGroupPrimaryStatus.PAUSED."
            ],
            "enum": [
              "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"
            ]
          },
          "type": "array"
        },
        "effectiveTargetCpc": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The effective target CPC (cost-per-click). This field is read-only."
        },
        "targetRoas": {
          "format": "double",
          "type": "number",
          "description": "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."
        },
        "targetCpcMicros": {
          "type": "string",
          "description": "Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.",
          "format": "int64"
        },
        "campaign": {
          "type": "string",
          "description": "Immutable. The campaign to which the ad group belongs."
        },
        "targetingSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetingSetting",
          "description": "Setting for targeting related features."
        },
        "targetCpmMicros": {
          "format": "int64",
          "type": "string",
          "description": "Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown."
        },
        "aiMaxAdGroupSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AdGroup_AiMaxAdGroupSetting",
          "description": "Settings for AI Max feature in standard search adgroups."
        },
        "status": {
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The ad group is enabled.",
            "The ad group is paused.",
            "The ad group is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "PAUSED",
            "REMOVED"
          ],
          "description": "The status of the ad group.",
          "type": "string"
        },
        "effectiveTargetCpaSource": {
          "type": "string",
          "description": "Output only. Source of the effective target CPA. This field is read-only.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CAMPAIGN_BIDDING_STRATEGY",
            "AD_GROUP",
            "AD_GROUP_CRITERION"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Effective bid or target is inherited from campaign bidding strategy.",
            "The bid or target is defined on the ad group.",
            "The bid or target is defined on the ad group criterion."
          ]
        },
        "displayCustomBidDimension": {
          "description": "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.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Keyword criteria, for example, 'mars cruise'. KEYWORD may be used as a custom bid dimension. Keywords are always a targeting dimension, so may not be set as a target \"ALL\" dimension with TargetRestriction.",
            "Audience criteria, which include user list, user interest, custom affinity, and custom in market.",
            "Topic criteria for targeting categories of content, for example, 'category::Animals>Pets' Used for Display and Video targeting.",
            "Criteria for targeting gender.",
            "Criteria for targeting age ranges.",
            "Placement criteria, which include websites like 'www.flowers4sale.com', as well as mobile applications, mobile app categories, YouTube videos, and YouTube channels.",
            "Criteria for parental status targeting.",
            "Criteria for income range targeting."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "KEYWORD",
            "AUDIENCE",
            "TOPIC",
            "GENDER",
            "AGE_RANGE",
            "PLACEMENT",
            "PARENTAL_STATUS",
            "INCOME_RANGE"
          ]
        }
      },
      "description": "An ad group."
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupAd": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "description": "The status of the ad.",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The ad group ad is enabled.",
            "The ad group ad is paused.",
            "The ad group ad is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "PAUSED",
            "REMOVED"
          ]
        },
        "primaryStatus": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The ad group ad is eligible to serve.",
            "The ad group ad is paused.",
            "The ad group ad is removed.",
            "The ad cannot serve now, but may serve later without advertiser action.",
            "The ad group ad is serving in a limited capacity.",
            "The ad group ad is not eligible to serve."
          ],
          "description": "Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "PAUSED",
            "REMOVED",
            "PENDING",
            "LIMITED",
            "NOT_ELIGIBLE"
          ]
        },
        "adStrength": {
          "description": "Output only. Overall ad strength for this ad group ad.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "NO_ADS",
            "POOR",
            "AVERAGE",
            "GOOD",
            "EXCELLENT"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The ad strength is currently pending.",
            "No ads could be generated.",
            "Poor strength.",
            "Average strength.",
            "Good strength.",
            "Excellent strength."
          ]
        },
        "actionItems": {
          "description": "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.\".",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "policySummary": {
          "description": "Output only. Policy information for the ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAdPolicySummary"
        },
        "ad": {
          "description": "Immutable. The ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Ad"
        },
        "primaryStatusReasons": {
          "description": "Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.",
          "items": {
            "x-enumDescriptions": [
              "No value has been specified.",
              "Used for return value only. Represents value unknown in this version.",
              "The user-specified campaign status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.",
              "The user-specified campaign status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.",
              "The user-specified time for this campaign to start is in the future. Contributes to AdGroupAdPrimaryStatus.PENDING.",
              "The user-specified time for this campaign to end has passed. Contributes to AdGroupAdPrimaryStatus.ENDED.",
              "The user-specified ad group status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.",
              "The user-specified ad group status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.",
              "The user-specified ad status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.",
              "The user-specified ad status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.",
              "The ad is disapproved. Contributes to AdGroupAdPrimaryStatus.NOT_ELIGIBLE.",
              "The ad is under review. Contributes to AdGroupAdPrimaryStatus.PENDING.",
              "The ad is poor quality. This is determined by the serving stack that served the Ad. Contributes to AdGroupAdPrimaryStatus.LIMITED.",
              "No eligible ads instances could be generated. Contributes to AdGroupAdPrimaryStatus.PENDING.",
              "The ad is internally labeled with a limiting label. Contributes to AdGroupAdPrimaryStatus.LIMITED.",
              "The ad is only serving in the user-specified area of interest. Contributes to AdGroupAdPrimaryStatus.LIMITED.",
              "The ad is part of an ongoing appeal. This reason does not impact AdGroupAdPrimaryStatus."
            ],
            "enum": [
              "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"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "adGroup": {
          "description": "Immutable. The ad group to which the ad belongs.",
          "type": "string"
        },
        "labels": {
          "type": "array",
          "description": "Output only. The resource names of labels attached to this ad group ad.",
          "items": {
            "type": "string"
          }
        },
        "startDateTime": {
          "type": "string",
          "description": "The date and time when ad group ad starts serving. This is added on top of the campaign's start date and time, if present, to further restrict the duration of an ad group ad. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format. Only supported for some ad types."
        },
        "resourceName": {
          "description": "Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`",
          "type": "string"
        },
        "endDateTime": {
          "description": "The last day and time when ad group ad serves. This is added on top of the campaign's end date and time, if present, to further restrict the duration of an ad group ad. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format. Only supported for some ad types.",
          "type": "string"
        },
        "adGroupAdAssetAutomationSettings": {
          "type": "array",
          "description": "Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAdAssetAutomationSetting"
          }
        }
      },
      "description": "An ad group ad."
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupAdAssetAutomationSetting": {
      "type": "object",
      "properties": {
        "assetAutomationType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used as a return value only. Represents value unknown in this version.",
            "Text asset automation (text customization) includes headlines and descriptions, allowing Google to create customized text assets using your existing ads, landing page copy, and generative AI across your campaign's ads. By default, advertisers are opted-in for Performance Max and opted-out for Search. Contrast this with `FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION`, which dynamically generates text assets to match the content of dynamically selected landing pages when final URL expansion is active.",
            "Converts horizontal video assets to vertical orientation using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAdInfo.",
            "Shortens video assets to better capture user attention using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAdInfo.",
            "Generates a preview of the landing page shown in the engagement panel. By using this feature, you confirm that you own all legal rights to the images on the landing page used by this account (or you have permission to share the images with Google). You hereby instruct Google to publish these images on your behalf for advertising or other commercial purposes.",
            "Generates text information from the landing page to be shown in the engagement panel. Opted in by default for DemandGenVideoResponsiveAdInfo.",
            "Generates video enhancements (vertical and shorter videos) for PMax campaigns. Opted in by default.",
            "Generates image enhancements (AutoCrop and AutoEnhance). Opted in by default for pmax.",
            "Generates image extraction. It defaults to account level Dynamic Image Extension control value.",
            "Adds design elements and embeds text assets into image assets to create images with different aspect ratios. By default, advertisers are opted in for DemandGenMultiAssetAd.",
            "Controls automation for text assets related to Final URL expansion. This includes automatically creating dynamic landing pages from the final URL and generating text assets from the content of those landing pages. This setting is turned OFF by default for Search campaigns, but it is turned ON by default for Performance Max campaigns. Enabling final URL expansion also enables text asset automation. There is no way to opt out of text asset automation and still use final URL expansion. Contrast this with standard `TEXT_ASSET_AUTOMATION` (text customization), which customizes copy across all ads in the campaign even when final URL expansion does not occur.",
            "Generates videos using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd.",
            "Generates animated images using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TEXT_ASSET_AUTOMATION",
            "GENERATE_VERTICAL_YOUTUBE_VIDEOS",
            "GENERATE_SHORTER_YOUTUBE_VIDEOS",
            "GENERATE_LANDING_PAGE_PREVIEW",
            "GENERATE_LANDING_PAGE_TEXT",
            "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",
            "GENERATE_ANIMATED_IMAGES_FROM_OTHER_ASSETS"
          ],
          "description": "The asset automation type that this setting configures.",
          "type": "string"
        },
        "assetAutomationStatus": {
          "type": "string",
          "description": "The opt-in/out status for the specified asset automation type.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used as a return value only. Represents value unknown in this version.",
            "Opted-in will enable generating and serving an asset automation type.",
            "Opted-out will stop generating and serving an asset automation type."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "OPTED_IN",
            "OPTED_OUT"
          ]
        }
      },
      "description": "Asset automation setting for an AdGroupAd."
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupAdPolicySummary": {
      "description": "Contains policy information for an ad.",
      "type": "object",
      "properties": {
        "approvalStatus": {
          "description": "Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DISAPPROVED",
            "APPROVED_LIMITED",
            "APPROVED",
            "AREA_OF_INTEREST_ONLY"
          ],
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Will not serve.",
            "Serves with restrictions.",
            "Serves without restrictions.",
            "Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries."
          ]
        },
        "policyTopicEntries": {
          "description": "Output only. The list of policy findings for this ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PolicyTopicEntry"
          },
          "type": "array"
        },
        "reviewStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REVIEW_IN_PROGRESS",
            "REVIEWED",
            "UNDER_APPEAL",
            "ELIGIBLE_MAY_SERVE"
          ],
          "description": "Output only. Where in the review process this ad is.",
          "type": "string",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Currently under review.",
            "Primary review complete. Other reviews may be continuing.",
            "The resource has been resubmitted for approval or its policy decision has been appealed.",
            "The resource is eligible and may be serving but could still undergo further review."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupAsset": {
      "description": "A link between an ad group and an asset.",
      "type": "object",
      "properties": {
        "source": {
          "type": "string",
          "description": "Output only. Source of the adgroup asset link.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADVERTISER",
            "AUTOMATICALLY_CREATED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset or asset link is provided by advertiser.",
            "The asset or asset link is generated by Google."
          ]
        },
        "primaryStatusReasons": {
          "description": "Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.",
              "The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.",
              "The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE",
              "The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.",
              "The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "ASSET_LINK_PAUSED",
              "ASSET_LINK_REMOVED",
              "ASSET_DISAPPROVED",
              "ASSET_UNDER_REVIEW",
              "ASSET_APPROVED_LABELED"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "primaryStatusDetails": {
          "type": "array",
          "description": "Output only. Provides the details of the primary status and its associated reasons.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AssetLinkPrimaryStatusDetails"
          }
        },
        "primaryStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "PAUSED",
            "REMOVED",
            "PENDING",
            "LIMITED",
            "NOT_ELIGIBLE"
          ],
          "description": "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.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset is eligible to serve.",
            "The user-specified asset link status is paused.",
            "The user-specified asset link status is removed.",
            "The asset may serve in the future.",
            "The asset is serving in a partial capacity.",
            "The asset is not eligible to serve."
          ]
        },
        "resourceName": {
          "type": "string",
          "description": "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}`"
        },
        "adGroup": {
          "description": "Required. Immutable. The ad group to which the asset is linked.",
          "type": "string"
        },
        "fieldType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset is linked for use as a headline.",
            "The asset is linked for use as a description.",
            "The asset is linked for use as mandatory ad text.",
            "The asset is linked for use as a marketing image.",
            "The asset is linked for use as a media bundle.",
            "The asset is linked for use as a YouTube video.",
            "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.",
            "The asset is linked for use as a Lead Form extension.",
            "The asset is linked for use as a Promotion extension.",
            "The asset is linked for use as a Callout extension.",
            "The asset is linked for use as a Structured Snippet extension.",
            "The asset is linked for use as a Sitelink.",
            "The asset is linked for use as a Mobile App extension.",
            "The asset is linked for use as a Hotel Callout extension.",
            "The asset is linked for use as a Call extension.",
            "The asset is linked for use as a Price extension.",
            "The asset is linked for use as a long headline.",
            "The asset is linked for use as a business name.",
            "The asset is linked for use as a square marketing image.",
            "The asset is linked for use as a portrait marketing image.",
            "The asset is linked for use as a logo.",
            "The asset is linked for use as a landscape logo.",
            "The asset is linked for use as a non YouTube logo.",
            "The asset is linked for use to select a call-to-action.",
            "The asset is linked for use to select an ad image.",
            "The asset is linked for use as a business logo.",
            "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.",
            "The asset is linked for use as a Demand Gen carousel card.",
            "The asset is linked for use as a Business Message.",
            "The asset is linked for use as a tall portrait marketing image.",
            "The asset is linked for use as related YouTube videos.",
            "The asset is linked for use as a landing page preview image.",
            "The asset is linked for use as a long description.",
            "The asset is linked for use as a call-to-action.",
            "The asset is linked for use as a classic display image."
          ],
          "enum": [
            "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",
            "RELATED_YOUTUBE_VIDEOS",
            "LANDING_PAGE_PREVIEW",
            "LONG_DESCRIPTION",
            "CALL_TO_ACTION",
            "CLASSIC_DISPLAY_IMAGE"
          ],
          "description": "Required. Immutable. Role that the asset takes under the linked ad group.",
          "type": "string"
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Asset link is enabled.",
            "Asset link has been removed.",
            "Asset link is paused."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED",
            "PAUSED"
          ],
          "type": "string",
          "description": "Status of the ad group asset."
        },
        "asset": {
          "type": "string",
          "description": "Required. Immutable. The asset which is linked to the ad group."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupBidModifier": {
      "type": "object",
      "properties": {
        "bidModifierSource": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The bid modifier is specified at the campaign level, on the campaign level criterion.",
            "The bid modifier is specified (overridden) at the ad group level."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CAMPAIGN",
            "AD_GROUP"
          ],
          "description": "Output only. Bid modifier source.",
          "type": "string"
        },
        "adGroup": {
          "description": "Immutable. The ad group to which this criterion belongs.",
          "type": "string"
        },
        "resourceName": {
          "description": "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}`",
          "type": "string"
        },
        "hotelDateSelectionType": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelDateSelectionTypeInfo",
          "description": "Immutable. Criterion for hotel date selection (default dates versus user selected)."
        },
        "bidModifier": {
          "description": "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.",
          "type": "number",
          "format": "double"
        },
        "baseAdGroup": {
          "description": "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.",
          "type": "string"
        },
        "hotelCheckInDateRange": {
          "description": "Immutable. Criterion for a hotel check-in date range.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelCheckInDateRangeInfo"
        },
        "hotelCheckInDay": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelCheckInDayInfo",
          "description": "Immutable. Criterion for day of the week the booking is for."
        },
        "criterionId": {
          "description": "Output only. The ID of the criterion to bid modify. This field is ignored for mutates.",
          "type": "string",
          "format": "int64"
        },
        "hotelAdvanceBookingWindow": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelAdvanceBookingWindowInfo",
          "description": "Immutable. Criterion for number of days prior to the stay the booking is being made."
        },
        "hotelLengthOfStay": {
          "description": "Immutable. Criterion for length of hotel stay in nights.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelLengthOfStayInfo"
        },
        "device": {
          "description": "Immutable. A device criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DeviceInfo"
        }
      },
      "description": "Represents an ad group bid modifier."
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupCriterion": {
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Keyword, for example, 'mars cruise'.",
            "Placement, also known as Website, for example, 'www.flowers4sale.com'",
            "Mobile application categories to target.",
            "Mobile applications to target.",
            "Devices to target.",
            "Locations to target.",
            "Listing groups to target.",
            "Ad Schedule.",
            "Age range.",
            "Gender.",
            "Income Range.",
            "Parental status.",
            "YouTube Video.",
            "YouTube Channel.",
            "User list.",
            "Proximity.",
            "A topic target on the display network (for example, \"Pets & Animals\").",
            "Listing scope to target.",
            "Language.",
            "IpBlock.",
            "Content Label for category exclusion.",
            "Carrier.",
            "A category the user is interested in.",
            "Webpage criterion for dynamic search ads.",
            "Operating system version.",
            "App payment model.",
            "Mobile device.",
            "Custom affinity.",
            "Custom intent.",
            "Location group.",
            "Custom audience",
            "Combined audience",
            "Smart Campaign keyword theme",
            "Audience",
            "Negative Keyword List",
            "Local Services Ads Service ID.",
            "Search Theme.",
            "Brand",
            "Brand List",
            "Life Event",
            "Webpage List",
            "Video lineup",
            "Placement List",
            "A list of rules for item groups in Vertical Ads.",
            "A rule for an item group in Vertical Ads.",
            "Retail Filter Bundle for linking a retail filter shared set to an ad group.",
            "Retail Filter for defining individual tag rules or expressions within a shared set."
          ],
          "enum": [
            "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",
            "RETAIL_FILTER_BUNDLE",
            "RETAIL_FILTER"
          ],
          "type": "string",
          "description": "Output only. The type of the criterion."
        },
        "audience": {
          "description": "Immutable. Audience.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AudienceInfo"
        },
        "adGroup": {
          "type": "string",
          "description": "Immutable. The ad group to which the criterion belongs."
        },
        "ageRange": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AgeRangeInfo",
          "description": "Immutable. Age range."
        },
        "qualityInfo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AdGroupCriterion_QualityInfo",
          "description": "Output only. Information regarding the quality of the criterion."
        },
        "brandList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BrandListInfo",
          "description": "Immutable. Brand list criterion."
        },
        "retailFilterBundle": {
          "description": "Immutable. Retail Filter Bundle.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__RetailFilterBundle"
        },
        "effectiveCpcBidMicros": {
          "description": "Output only. The effective CPC (cost-per-click) bid.",
          "type": "string",
          "format": "int64"
        },
        "location": {
          "description": "Immutable. Location.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocationInfo"
        },
        "topic": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TopicInfo",
          "description": "Immutable. Topic."
        },
        "disapprovalReasons": {
          "type": "array",
          "description": "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.",
          "items": {
            "type": "string"
          }
        },
        "effectiveCpvBidSource": {
          "type": "string",
          "description": "Output only. Source of the effective CPV bid.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CAMPAIGN_BIDDING_STRATEGY",
            "AD_GROUP",
            "AD_GROUP_CRITERION"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Effective bid or target is inherited from campaign bidding strategy.",
            "The bid or target is defined on the ad group.",
            "The bid or target is defined on the ad group criterion."
          ]
        },
        "primaryStatusReasons": {
          "type": "array",
          "description": "Output only. The primary status reasons for the ad group criterion.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents unknown value in this version.",
              "The user-specified time for this campaign to start is in the future. Contributes to AdGroupCriterionPrimaryStatus.PENDING.",
              "The ad group criterion is overridden by negative campaign criterion. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.",
              "The user-specified campaign status is paused. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.",
              "The user-specified campaign status is removed. Contributes to AdGroupCriterionPrimaryStatus.REMOVED.",
              "The user-specified time for this campaign to end has passed. Contributes to AdGroupCriterionPrimaryStatus.ENDED.",
              "The user-specified ad group status is paused. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.",
              "The user-specified ad group status is removed. Contributes to AdGroupCriterionPrimaryStatus.REMOVED.",
              "The ad group criterion is disapproved by the ads approval system. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.",
              "The ad group criterion is rarely served. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.",
              "The ad group criterion has a low quality score. Contributes to AdGroupCriterionPrimaryStatus.LIMITED.",
              "The ad group criterion is under review. Contributes to AdGroupCriterionPrimaryStatus.PENDING.",
              "The ad group criterion is pending review. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.",
              "The ad group criterion's bid is below the value necessary to serve on the first page. Contributes to AdGroupCriterionPrimaryStatus.LIMITED.",
              "The ad group criterion is negative. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.",
              "The ad group criterion is restricted. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.",
              "The user-specified ad group criterion status is paused. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.",
              "The ad group criterion has been paused due to prolonged low activity in serving. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.",
              "The user-specified ad group criterion status is removed. Contributes to AdGroupCriterionPrimaryStatus.REMOVED."
            ],
            "enum": [
              "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"
            ]
          }
        },
        "listingGroup": {
          "description": "Immutable. Listing group.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ListingGroupInfo"
        },
        "userInterest": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserInterestInfo",
          "description": "Immutable. User Interest."
        },
        "labels": {
          "description": "Output only. The resource names of labels attached to this ad group criterion.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "combinedAudience": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CombinedAudienceInfo",
          "description": "Immutable. Combined Audience."
        },
        "effectiveCpmBidSource": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CAMPAIGN_BIDDING_STRATEGY",
            "AD_GROUP",
            "AD_GROUP_CRITERION"
          ],
          "description": "Output only. Source of the effective CPM bid.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Effective bid or target is inherited from campaign bidding strategy.",
            "The bid or target is defined on the ad group.",
            "The bid or target is defined on the ad group criterion."
          ]
        },
        "mobileApplication": {
          "description": "Immutable. Mobile application.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileApplicationInfo"
        },
        "negative": {
          "type": "boolean",
          "description": "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."
        },
        "finalUrls": {
          "type": "array",
          "description": "The list of possible final URLs after all cross-domain redirects for the ad.",
          "items": {
            "type": "string"
          }
        },
        "bidModifier": {
          "format": "double",
          "description": "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.",
          "type": "number"
        },
        "webpage": {
          "description": "Immutable. Webpage",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageInfo"
        },
        "resourceName": {
          "type": "string",
          "description": "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}`"
        },
        "placement": {
          "description": "Immutable. Placement.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PlacementInfo"
        },
        "effectiveCpmBidMicros": {
          "format": "int64",
          "description": "Output only. The effective CPM (cost-per-thousand viewable impressions) bid.",
          "type": "string"
        },
        "positionEstimates": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AdGroupCriterion_PositionEstimates",
          "description": "Output only. Estimates for criterion bids at various positions."
        },
        "trackingUrlTemplate": {
          "type": "string",
          "description": "The URL template for constructing a tracking URL."
        },
        "appPaymentModel": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AppPaymentModelInfo",
          "description": "Immutable. App Payment Model."
        },
        "lifeEvent": {
          "description": "Immutable. Life event campaign criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LifeEventInfo"
        },
        "customAudience": {
          "description": "Immutable. Custom Audience.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomAudienceInfo"
        },
        "effectiveCpcBidSource": {
          "description": "Output only. Source of the effective CPC bid.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CAMPAIGN_BIDDING_STRATEGY",
            "AD_GROUP",
            "AD_GROUP_CRITERION"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Effective bid or target is inherited from campaign bidding strategy.",
            "The bid or target is defined on the ad group.",
            "The bid or target is defined on the ad group criterion."
          ]
        },
        "approvalStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "APPROVED",
            "DISAPPROVED",
            "PENDING_REVIEW",
            "UNDER_REVIEW"
          ],
          "description": "Output only. Approval status of the criterion.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Approved.",
            "Disapproved.",
            "Pending Review.",
            "Under review."
          ]
        },
        "urlCustomParameters": {
          "description": "The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomParameter"
          },
          "type": "array"
        },
        "cpcBidMicros": {
          "format": "int64",
          "type": "string",
          "description": "The CPC (cost-per-click) bid."
        },
        "primaryStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "PAUSED",
            "REMOVED",
            "PENDING",
            "NOT_ELIGIBLE"
          ],
          "description": "Output only. The primary status for the ad group criterion.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The ad group criterion is eligible to serve.",
            "The ad group criterion is paused.",
            "The ad group criterion is removed.",
            "The ad group criterion is pending.",
            "The ad group criterion is not eligible to serve."
          ]
        },
        "finalMobileUrls": {
          "type": "array",
          "description": "The list of possible final mobile URLs after all cross-domain redirects.",
          "items": {
            "type": "string"
          }
        },
        "youtubeChannel": {
          "description": "Immutable. YouTube Channel.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeChannelInfo"
        },
        "percentCpcBidMicros": {
          "type": "string",
          "description": "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].",
          "format": "int64"
        },
        "verticalAdsItemGroupRuleList": {
          "description": "Immutable. Vertical ads item group rule list criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VerticalAdsItemGroupRuleListInfo"
        },
        "displayName": {
          "description": "Output only. The display name of the criterion. This field is ignored for mutates.",
          "type": "string"
        },
        "language": {
          "description": "Immutable. Language.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LanguageInfo"
        },
        "systemServingStatus": {
          "description": "Output only. Serving status of the criterion.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "RARELY_SERVED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Eligible.",
            "Low search volume."
          ]
        },
        "effectiveCpvBidMicros": {
          "format": "int64",
          "description": "Output only. The effective CPV (cost-per-view) bid.",
          "type": "string"
        },
        "finalUrlSuffix": {
          "type": "string",
          "description": "URL template for appending params to final URL."
        },
        "customIntent": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomIntentInfo",
          "description": "Immutable. Custom Intent."
        },
        "status": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The ad group criterion is enabled.",
            "The ad group criterion is paused.",
            "The ad group criterion is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "PAUSED",
            "REMOVED"
          ],
          "description": "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.",
          "type": "string"
        },
        "youtubeVideo": {
          "description": "Immutable. YouTube Video.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeVideoInfo"
        },
        "mobileAppCategory": {
          "description": "Immutable. Mobile app category.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileAppCategoryInfo"
        },
        "keyword": {
          "description": "Immutable. Keyword.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo"
        },
        "gender": {
          "description": "Immutable. Gender.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__GenderInfo"
        },
        "extendedDemographic": {
          "description": "Immutable. Extended demographic criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ExtendedDemographicInfo"
        },
        "customAffinity": {
          "description": "Immutable. Custom Affinity.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomAffinityInfo"
        },
        "cpmBidMicros": {
          "description": "The CPM (cost-per-thousand viewable impressions) bid.",
          "type": "string",
          "format": "int64"
        },
        "videoLineup": {
          "description": "Immutable. Video lineup criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VideoLineupInfo"
        },
        "parentalStatus": {
          "description": "Immutable. Parental status.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ParentalStatusInfo"
        },
        "userList": {
          "description": "Immutable. User List.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListInfo"
        },
        "effectivePercentCpcBidMicros": {
          "format": "int64",
          "description": "Output only. The effective Percent CPC bid amount.",
          "type": "string"
        },
        "cpvBidMicros": {
          "type": "string",
          "description": "The CPV (cost-per-view) bid.",
          "format": "int64"
        },
        "effectivePercentCpcBidSource": {
          "description": "Output only. Source of the effective Percent CPC bid.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CAMPAIGN_BIDDING_STRATEGY",
            "AD_GROUP",
            "AD_GROUP_CRITERION"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Effective bid or target is inherited from campaign bidding strategy.",
            "The bid or target is defined on the ad group.",
            "The bid or target is defined on the ad group criterion."
          ]
        },
        "incomeRange": {
          "description": "Immutable. Income range.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__IncomeRangeInfo"
        },
        "criterionId": {
          "format": "int64",
          "description": "Output only. The ID of the criterion. This field is ignored for mutates.",
          "type": "string"
        }
      },
      "description": "An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group."
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupCriterionCustomizer": {
      "type": "object",
      "properties": {
        "customizerAttribute": {
          "description": "Required. Immutable. The customizer attribute which is linked to the ad group criterion.",
          "type": "string"
        },
        "status": {
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version.",
            "The customizer value is enabled.",
            "The customizer value is removed."
          ],
          "description": "Output only. The status of the ad group criterion customizer.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ]
        },
        "adGroupCriterion": {
          "type": "string",
          "description": "Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion."
        },
        "value": {
          "description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomizerValue"
        },
        "resourceName": {
          "type": "string",
          "description": "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}`"
        }
      },
      "description": "A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level."
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupCustomizer": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "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}`"
        },
        "value": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomizerValue",
          "description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute."
        },
        "customizerAttribute": {
          "description": "Required. Immutable. The customizer attribute which is linked to the ad group.",
          "type": "string"
        },
        "adGroup": {
          "description": "Immutable. The ad group to which the customizer attribute is linked.",
          "type": "string"
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "description": "Output only. The status of the ad group customizer.",
          "type": "string",
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version.",
            "The customizer value is enabled.",
            "The customizer value is removed."
          ]
        }
      },
      "description": "A customizer value for the associated CustomizerAttribute at the AdGroup level."
    },
    "GoogleAdsGoogleadsV25Resources__AdParameter": {
      "type": "object",
      "properties": {
        "adGroupCriterion": {
          "type": "string",
          "description": "Immutable. The ad group criterion that this ad parameter belongs to."
        },
        "resourceName": {
          "type": "string",
          "description": "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}`"
        },
        "parameterIndex": {
          "description": "Immutable. The unique index of this ad parameter. Must be either 1 or 2.",
          "type": "string",
          "format": "int64"
        },
        "insertionText": {
          "type": "string",
          "description": "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."
        }
      },
      "description": "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}\""
    },
    "GoogleAdsGoogleadsV25Resources__Asset": {
      "description": "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.",
      "type": "object",
      "properties": {
        "source": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset or asset link is provided by advertiser.",
            "The asset or asset link is generated by Google."
          ],
          "type": "string",
          "description": "Output only. Source of the asset.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADVERTISER",
            "AUTOMATICALLY_CREATED"
          ]
        },
        "callAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CallAsset",
          "description": "A call asset."
        },
        "dynamicHotelsAndRentalsAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DynamicHotelsAndRentalsAsset",
          "description": "A dynamic hotels and rentals asset."
        },
        "callToActionAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CallToActionAsset",
          "description": "Immutable. A call to action asset."
        },
        "dynamicFlightsAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DynamicFlightsAsset",
          "description": "A dynamic flights asset."
        },
        "dynamicTravelAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DynamicTravelAsset",
          "description": "A dynamic travel asset."
        },
        "dynamicJobsAsset": {
          "description": "A dynamic jobs asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DynamicJobsAsset"
        },
        "pageFeedAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PageFeedAsset",
          "description": "A page feed asset."
        },
        "finalUrlSuffix": {
          "description": "URL template for appending params to landing page URLs served with parallel tracking.",
          "type": "string"
        },
        "locationAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocationAsset",
          "description": "Output only. A location asset."
        },
        "textAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TextAsset",
          "description": "Immutable. A text asset."
        },
        "type": {
          "description": "Output only. Type of the asset.",
          "type": "string",
          "enum": [
            "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",
            "YOUTUBE_VIDEO_LIST"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "YouTube video asset.",
            "Media bundle asset.",
            "Image asset.",
            "Text asset.",
            "Lead form asset.",
            "Book on Google asset.",
            "Promotion asset.",
            "Callout asset.",
            "Structured Snippet asset.",
            "Sitelink asset.",
            "Page Feed asset.",
            "Dynamic Education asset.",
            "Mobile app asset.",
            "Hotel callout asset.",
            "Call asset.",
            "Price asset.",
            "Call to action asset.",
            "Dynamic real estate asset.",
            "Dynamic custom asset.",
            "Dynamic hotels and rentals asset.",
            "Dynamic flights asset.",
            "Dynamic travel asset.",
            "Dynamic local asset.",
            "Dynamic jobs asset.",
            "Location asset.",
            "Hotel property asset.",
            "Demand Gen Carousel Card asset.",
            "Business message asset.",
            "App deep link asset.",
            "YouTube video list asset."
          ]
        },
        "sitelinkAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__SitelinkAsset",
          "description": "A sitelink asset."
        },
        "mediaBundleAsset": {
          "description": "Immutable. A media bundle asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MediaBundleAsset"
        },
        "priceAsset": {
          "description": "A price asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PriceAsset"
        },
        "youtubeVideoListAsset": {
          "description": "Immutable. A YouTube video list asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeVideoListAsset"
        },
        "structuredSnippetAsset": {
          "description": "A structured snippet asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__StructuredSnippetAsset"
        },
        "hotelPropertyAsset": {
          "description": "Immutable. A hotel property asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelPropertyAsset"
        },
        "dynamicCustomAsset": {
          "description": "A dynamic custom asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DynamicCustomAsset"
        },
        "fieldTypePolicySummaries": {
          "type": "array",
          "description": "Output only. Policy information for the asset for each FieldType.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetFieldTypePolicySummary"
          }
        },
        "orientation": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Landscape orientation.",
            "Portrait orientation.",
            "Square orientation."
          ],
          "description": "Output only. Orientation of the asset. This is only supported for image and video assets.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LANDSCAPE",
            "PORTRAIT",
            "SQUARE"
          ]
        },
        "syntheticContentInfo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__SyntheticContentInfo",
          "description": "Synthetic content info for the asset."
        },
        "name": {
          "type": "string",
          "description": "Optional name of the asset."
        },
        "hotelCalloutAsset": {
          "description": "A hotel callout asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelCalloutAsset"
        },
        "leadFormAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LeadFormAsset",
          "description": "A lead form asset."
        },
        "calloutAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CalloutAsset",
          "description": "A callout asset."
        },
        "dynamicRealEstateAsset": {
          "description": "A dynamic real estate asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DynamicRealEstateAsset"
        },
        "finalUrls": {
          "description": "A list of possible final URLs after all cross domain redirects.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "dynamicEducationAsset": {
          "description": "A dynamic education asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DynamicEducationAsset"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`"
        },
        "trackingUrlTemplate": {
          "description": "URL template for constructing a tracking URL.",
          "type": "string"
        },
        "appDeepLinkAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AppDeepLinkAsset",
          "description": "Immutable. An app deep link asset."
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the asset.",
          "type": "string"
        },
        "finalMobileUrls": {
          "type": "array",
          "description": "A list of possible final mobile URLs after all cross domain redirects.",
          "items": {
            "type": "string"
          }
        },
        "policySummary": {
          "description": "Output only. Policy information for the asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetPolicySummary"
        },
        "bookOnGoogleAsset": {
          "description": "A book on google asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BookOnGoogleAsset"
        },
        "imageAsset": {
          "description": "Output only. An image asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ImageAsset"
        },
        "demandGenCarouselCardAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DemandGenCarouselCardAsset",
          "description": "Immutable. A Demand Gen carousel card asset."
        },
        "mobileAppAsset": {
          "description": "A mobile app asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileAppAsset"
        },
        "youtubeVideoAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YoutubeVideoAsset",
          "description": "Immutable. A YouTube video asset."
        },
        "promotionAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PromotionAsset",
          "description": "A promotion asset."
        },
        "dynamicLocalAsset": {
          "description": "A dynamic local asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DynamicLocalAsset"
        },
        "businessMessageAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BusinessMessageAsset",
          "description": "A business message asset."
        },
        "urlCustomParameters": {
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomParameter"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AssetFieldTypePolicySummary": {
      "type": "object",
      "properties": {
        "assetFieldType": {
          "enum": [
            "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",
            "RELATED_YOUTUBE_VIDEOS",
            "LANDING_PAGE_PREVIEW",
            "LONG_DESCRIPTION",
            "CALL_TO_ACTION",
            "CLASSIC_DISPLAY_IMAGE"
          ],
          "type": "string",
          "description": "Output only. FieldType of this asset.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset is linked for use as a headline.",
            "The asset is linked for use as a description.",
            "The asset is linked for use as mandatory ad text.",
            "The asset is linked for use as a marketing image.",
            "The asset is linked for use as a media bundle.",
            "The asset is linked for use as a YouTube video.",
            "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.",
            "The asset is linked for use as a Lead Form extension.",
            "The asset is linked for use as a Promotion extension.",
            "The asset is linked for use as a Callout extension.",
            "The asset is linked for use as a Structured Snippet extension.",
            "The asset is linked for use as a Sitelink.",
            "The asset is linked for use as a Mobile App extension.",
            "The asset is linked for use as a Hotel Callout extension.",
            "The asset is linked for use as a Call extension.",
            "The asset is linked for use as a Price extension.",
            "The asset is linked for use as a long headline.",
            "The asset is linked for use as a business name.",
            "The asset is linked for use as a square marketing image.",
            "The asset is linked for use as a portrait marketing image.",
            "The asset is linked for use as a logo.",
            "The asset is linked for use as a landscape logo.",
            "The asset is linked for use as a non YouTube logo.",
            "The asset is linked for use to select a call-to-action.",
            "The asset is linked for use to select an ad image.",
            "The asset is linked for use as a business logo.",
            "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.",
            "The asset is linked for use as a Demand Gen carousel card.",
            "The asset is linked for use as a Business Message.",
            "The asset is linked for use as a tall portrait marketing image.",
            "The asset is linked for use as related YouTube videos.",
            "The asset is linked for use as a landing page preview image.",
            "The asset is linked for use as a long description.",
            "The asset is linked for use as a call-to-action.",
            "The asset is linked for use as a classic display image."
          ]
        },
        "assetSource": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADVERTISER",
            "AUTOMATICALLY_CREATED"
          ],
          "description": "Output only. Source of this asset.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset or asset link is provided by advertiser.",
            "The asset or asset link is generated by Google."
          ]
        },
        "policySummaryInfo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetPolicySummary",
          "description": "Output only. Policy summary."
        }
      },
      "description": "Contains policy information for an asset under AssetFieldType context."
    },
    "GoogleAdsGoogleadsV25Resources__AssetGroupListingGroupFilter": {
      "description": "AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group.",
      "type": "object",
      "properties": {
        "path": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ListingGroupFilterDimensionPath",
          "description": "Output only. The path of dimensions defining this listing group filter."
        },
        "parentListingGroupFilter": {
          "description": "Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.",
          "type": "string"
        },
        "resourceName": {
          "description": "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}`",
          "type": "string"
        },
        "id": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the ListingGroupFilter."
        },
        "listingSource": {
          "type": "string",
          "description": "Immutable. The source of listings filtered by this listing group filter.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Listings from a Shopping source, like products from Google Merchant Center.",
            "Listings from a webpage source, like URLs from a page feed or from the advertiser web domain.",
            "Used for Retail Product Tags."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SHOPPING",
            "WEBPAGE",
            "RETAIL"
          ]
        },
        "type": {
          "type": "string",
          "description": "Immutable. Type of a listing group filter node.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Subdivision of products along some listing dimensions.",
            "An included listing group filter leaf node.",
            "An excluded listing group filter leaf node."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SUBDIVISION",
            "UNIT_INCLUDED",
            "UNIT_EXCLUDED"
          ]
        },
        "assetGroup": {
          "type": "string",
          "description": "Immutable. The asset group which this asset group listing group filter is part of."
        },
        "caseValue": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ListingGroupFilterDimension",
          "description": "Dimension value with which this listing group is refining its parent. Undefined for the root group."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AssetGroupSignal": {
      "description": "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.",
      "type": "object",
      "properties": {
        "audience": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AudienceInfo",
          "description": "Immutable. The audience signal to be used by the performance max campaign."
        },
        "searchTheme": {
          "description": "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",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__SearchThemeInfo"
        },
        "assetGroup": {
          "description": "Immutable. The asset group which this asset group signal belongs to.",
          "type": "string"
        },
        "approvalStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "APPROVED",
            "LIMITED",
            "DISAPPROVED",
            "UNDER_REVIEW"
          ],
          "description": "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.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Search Theme is eligible to show ads.",
            "Low search volume; Below first page bid estimate.",
            "Search Theme is inactive and isn't showing ads. A disapproved Search Theme usually means there's an issue with one or more of our advertising policies.",
            "Search Theme is under review. It won’t be able to trigger ads until it's been reviewed."
          ]
        },
        "verticalAdsItemGroupRuleList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VerticalAdsItemGroupRuleListInfo",
          "description": "Immutable. The list of vertical ads item group rules used to select items from the attached vertical feed. This field links to a SharedSet of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST. The rules within the linked SharedSet define which items from the TRAVEL_FEED AssetSet are eligible to be served. Items that do not match the rules will be excluded. This behavior is different from other signal types, which provide guidance to the optimization engine rather than determining item eligibility."
        },
        "disapprovalReasons": {
          "description": "Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "resourceName": {
          "type": "string",
          "description": "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}`"
        },
        "localServicesId": {
          "description": "Immutable. The local services signal to be used by the performance max campaign.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocalServiceIdInfo"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AssetPolicySummary": {
      "description": "Contains policy information for an asset.",
      "type": "object",
      "properties": {
        "approvalStatus": {
          "type": "string",
          "description": "Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DISAPPROVED",
            "APPROVED_LIMITED",
            "APPROVED",
            "AREA_OF_INTEREST_ONLY"
          ],
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Will not serve.",
            "Serves with restrictions.",
            "Serves without restrictions.",
            "Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries."
          ]
        },
        "policyTopicEntries": {
          "description": "Output only. The list of policy findings for this asset.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PolicyTopicEntry"
          },
          "type": "array"
        },
        "reviewStatus": {
          "description": "Output only. Where in the review process this asset is.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REVIEW_IN_PROGRESS",
            "REVIEWED",
            "UNDER_APPEAL",
            "ELIGIBLE_MAY_SERVE"
          ],
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Currently under review.",
            "Primary review complete. Other reviews may be continuing.",
            "The resource has been resubmitted for approval or its policy decision has been appealed.",
            "The resource is eligible and may be serving but could still undergo further review."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AssetSet": {
      "description": "An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`"
        },
        "hotelPropertyData": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AssetSet_HotelPropertyData",
          "description": "Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only."
        },
        "chainLocationGroup": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ChainLocationGroup",
          "description": "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."
        },
        "merchantCenterFeed": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AssetSet_MerchantCenterFeed",
          "description": "Merchant ID and Feed Label from Google Merchant Center."
        },
        "locationGroupParentAssetSetId": {
          "format": "int64",
          "type": "string",
          "description": "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."
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the asset set.",
          "type": "string"
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "description": "Output only. The status of the asset set. Read-only.",
          "type": "string",
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The asset set is enabled.",
            "The asset set is removed."
          ]
        },
        "type": {
          "description": "Required. Immutable. The type of the asset set. Required.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Page asset set.",
            "Dynamic education asset set.",
            "Google Merchant Center asset set.",
            "Dynamic real estate asset set.",
            "Dynamic custom asset set.",
            "Dynamic hotels and rentals asset set.",
            "Dynamic flights asset set.",
            "Dynamic travel asset set.",
            "Dynamic local asset set.",
            "Dynamic jobs asset set.",
            "Location sync level asset set.",
            "Business Profile location group asset set.",
            "Chain location group asset set which can be used for both owned locations and affiliate locations.",
            "Static location group asset set which can be used for both owned locations and affiliate locations.",
            "Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.",
            "Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed."
          ],
          "enum": [
            "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"
          ]
        },
        "name": {
          "description": "Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.",
          "type": "string"
        },
        "travelFeedData": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AssetSet_TravelFeedData",
          "description": "Output only. Travel Feed data. Read-only"
        },
        "businessProfileLocationGroup": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BusinessProfileLocationGroup",
          "description": "Business Profile location group asset set data."
        },
        "locationSet": {
          "description": "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.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocationSet"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AssetSetAsset": {
      "description": "AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set.",
      "type": "object",
      "properties": {
        "status": {
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The asset set asset is enabled.",
            "The asset set asset is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "type": "string",
          "description": "Output only. The status of the asset set asset. Read-only."
        },
        "assetSet": {
          "type": "string",
          "description": "Immutable. The asset set which this asset set asset is linking to."
        },
        "resourceName": {
          "type": "string",
          "description": "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}`"
        },
        "asset": {
          "type": "string",
          "description": "Immutable. The asset which this asset set asset is linking to."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__Audience": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of this audience."
        },
        "dimensions": {
          "type": "array",
          "description": "Positive dimensions specifying the audience composition.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AudienceDimension"
          }
        },
        "exclusionDimension": {
          "description": "Negative dimension specifying the audience composition.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AudienceExclusionDimension"
        },
        "name": {
          "description": "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.",
          "type": "string"
        },
        "scope": {
          "description": "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.",
          "type": "string",
          "x-enumDescriptions": [
            "The scope has not been specified.",
            "The received value is not known in this version.",
            "The audience is scoped at the customer level.",
            "The audience is scoped under a specific AssetGroup."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CUSTOMER",
            "ASSET_GROUP"
          ]
        },
        "assetGroup": {
          "description": "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.",
          "type": "string"
        },
        "id": {
          "description": "Output only. ID of the audience.",
          "type": "string",
          "format": "int64"
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "description": "Output only. Status of this audience. Indicates whether the audience is enabled or removed.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Enabled status - audience is enabled and can be targeted.",
            "Removed status - audience is removed and cannot be used for targeting."
          ]
        },
        "resourceName": {
          "description": "Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`",
          "type": "string"
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Resources__BiddingDataExclusion": {
      "description": "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.",
      "type": "object",
      "properties": {
        "scope": {
          "description": "The scope of the data exclusion.",
          "type": "string",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The seasonality event is applied to all the customer's traffic for supported advertising channel types and device types. The CUSTOMER scope cannot be used in mutates.",
            "The seasonality event is applied to all specified campaigns.",
            "The seasonality event is applied to all campaigns that belong to specified channel types."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CUSTOMER",
            "CAMPAIGN",
            "CHANNEL"
          ]
        },
        "dataExclusionId": {
          "description": "Output only. The ID of the data exclusion.",
          "type": "string",
          "format": "int64"
        },
        "status": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The seasonality event is enabled.",
            "The seasonality event is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "description": "Output only. The status of the data exclusion.",
          "type": "string"
        },
        "campaigns": {
          "type": "array",
          "description": "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.",
          "items": {
            "type": "string"
          }
        },
        "resourceName": {
          "description": "Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`",
          "type": "string"
        },
        "devices": {
          "type": "array",
          "description": "If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "The value is unknown in this version.",
              "Mobile devices with full browsers.",
              "Tablets with full browsers.",
              "Computers.",
              "Smart TVs and game consoles.",
              "Other device types."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "MOBILE",
              "TABLET",
              "DESKTOP",
              "CONNECTED_TV",
              "OTHER"
            ],
            "type": "string"
          }
        },
        "startDateTime": {
          "description": "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.",
          "type": "string"
        },
        "advertisingChannelTypes": {
          "description": "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.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Search Network. Includes display bundled, and Search+ campaigns.",
              "Google Display Network only.",
              "Shopping campaigns serve on the shopping property and on google.com search results.",
              "Hotel Ads campaigns.",
              "Video campaigns.",
              "App Campaigns, and App Campaigns for Engagement, that run across multiple channels.",
              "Local ads campaigns.",
              "Smart campaigns.",
              "Performance Max campaigns.",
              "Local services campaigns.",
              "Travel campaigns.",
              "Demand Gen campaigns."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "SEARCH",
              "DISPLAY",
              "SHOPPING",
              "HOTEL",
              "VIDEO",
              "MULTI_CHANNEL",
              "LOCAL",
              "SMART",
              "PERFORMANCE_MAX",
              "LOCAL_SERVICES",
              "TRAVEL",
              "DEMAND_GEN"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "description": {
          "type": "string",
          "description": "The description of the data exclusion. The description can be at most 2048 characters."
        },
        "endDateTime": {
          "description": "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].",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "The name of the data exclusion. The name can be at most 255 characters."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__BiddingSeasonalityAdjustment": {
      "type": "object",
      "properties": {
        "seasonalityAdjustmentId": {
          "format": "int64",
          "description": "Output only. The ID of the seasonality adjustment.",
          "type": "string"
        },
        "endDateTime": {
          "description": "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].",
          "type": "string"
        },
        "name": {
          "description": "The name of the seasonality adjustment. The name can be at most 255 characters.",
          "type": "string"
        },
        "advertisingChannelTypes": {
          "type": "array",
          "description": "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.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Search Network. Includes display bundled, and Search+ campaigns.",
              "Google Display Network only.",
              "Shopping campaigns serve on the shopping property and on google.com search results.",
              "Hotel Ads campaigns.",
              "Video campaigns.",
              "App Campaigns, and App Campaigns for Engagement, that run across multiple channels.",
              "Local ads campaigns.",
              "Smart campaigns.",
              "Performance Max campaigns.",
              "Local services campaigns.",
              "Travel campaigns.",
              "Demand Gen campaigns."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "SEARCH",
              "DISPLAY",
              "SHOPPING",
              "HOTEL",
              "VIDEO",
              "MULTI_CHANNEL",
              "LOCAL",
              "SMART",
              "PERFORMANCE_MAX",
              "LOCAL_SERVICES",
              "TRAVEL",
              "DEMAND_GEN"
            ]
          }
        },
        "description": {
          "type": "string",
          "description": "The description of the seasonality adjustment. The description can be at most 2048 characters."
        },
        "conversionRateModifier": {
          "format": "double",
          "description": "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.",
          "type": "number"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`"
        },
        "devices": {
          "type": "array",
          "description": "If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "The value is unknown in this version.",
              "Mobile devices with full browsers.",
              "Tablets with full browsers.",
              "Computers.",
              "Smart TVs and game consoles.",
              "Other device types."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "MOBILE",
              "TABLET",
              "DESKTOP",
              "CONNECTED_TV",
              "OTHER"
            ],
            "type": "string"
          }
        },
        "startDateTime": {
          "type": "string",
          "description": "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."
        },
        "scope": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The seasonality event is applied to all the customer's traffic for supported advertising channel types and device types. The CUSTOMER scope cannot be used in mutates.",
            "The seasonality event is applied to all specified campaigns.",
            "The seasonality event is applied to all campaigns that belong to specified channel types."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CUSTOMER",
            "CAMPAIGN",
            "CHANNEL"
          ],
          "description": "The scope of the seasonality adjustment.",
          "type": "string"
        },
        "status": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The seasonality event is enabled.",
            "The seasonality event is removed."
          ],
          "type": "string",
          "description": "Output only. The status of the seasonality adjustment.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ]
        },
        "campaigns": {
          "type": "array",
          "description": "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.",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See \"About seasonality adjustments\" at https://support.google.com/google-ads/answer/10369906."
    },
    "GoogleAdsGoogleadsV25Resources__BiddingStrategy": {
      "type": "object",
      "properties": {
        "maximizeConversionValue": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MaximizeConversionValue",
          "description": "An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget."
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the bidding strategy.",
          "format": "int64"
        },
        "type": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "COMMISSION",
            "ENHANCED_CPC",
            "FIXED_CPM",
            "FIXED_SHARE_OF_VOICE",
            "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_CPV",
            "TARGET_IMPRESSION_SHARE",
            "TARGET_OUTRANK_SHARE",
            "TARGET_ROAS",
            "TARGET_SPEND"
          ],
          "description": "Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.",
            "Enhanced CPC is 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.",
            "Fixed CPM is a manual bidding strategy with a fixed CPM.",
            "Fixed share of voice is a manual bidding strategy for YouTube Sponsorships that bills either on CPM or a fixed cost per day.",
            "Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.",
            "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.",
            "Manual click based bidding where user pays per click.",
            "Manual impression based bidding where user pays per thousand impressions.",
            "A bidding strategy that pays a configurable amount per video view.",
            "A bidding strategy that automatically maximizes number of conversions given a daily budget.",
            "An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.",
            "Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.",
            "Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.",
            "Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.",
            "Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.",
            "Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.",
            "Target CPV is an automated bidding strategy that sets bids to optimize performance given the average target cost per view.",
            "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).",
            "Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.",
            "Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).",
            "Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget."
          ]
        },
        "maximizeConversions": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MaximizeConversions",
          "description": "An automated bidding strategy to help get the most conversions for your campaigns while spending your budget."
        },
        "targetImpressionShare": {
          "description": "A bidding strategy that automatically optimizes towards a chosen percentage of impressions.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetImpressionShare"
        },
        "alignedCampaignBudgetId": {
          "type": "string",
          "description": "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.",
          "format": "int64"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`"
        },
        "targetCpa": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetCpa",
          "description": "A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set."
        },
        "nonRemovedCampaignCount": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only."
        },
        "name": {
          "description": "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).",
          "type": "string"
        },
        "effectiveCurrencyCode": {
          "type": "string",
          "description": "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."
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "description": "Output only. The status of the bidding strategy. This field is read-only.",
          "type": "string",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The bidding strategy is enabled.",
            "The bidding strategy is removed."
          ]
        },
        "currencyCode": {
          "description": "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.",
          "type": "string"
        },
        "targetRoas": {
          "description": "A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetRoas"
        },
        "campaignCount": {
          "type": "string",
          "description": "Output only. The number of campaigns attached to this bidding strategy. This field is read-only.",
          "format": "int64"
        },
        "enhancedCpc": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__EnhancedCpc",
          "description": "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."
        },
        "targetSpend": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetSpend",
          "description": "A bid strategy that sets your bids to help get as many clicks as possible within your budget."
        }
      },
      "description": "A bidding strategy."
    },
    "GoogleAdsGoogleadsV25Resources__CallReportingSetting": {
      "description": "Call reporting setting for a customer. Only mutable in an `update` operation.",
      "type": "object",
      "properties": {
        "callReportingEnabled": {
          "description": "Enable reporting of phone call events by redirecting them through Google System.",
          "type": "boolean"
        },
        "callConversionReportingEnabled": {
          "description": "Whether to enable call conversion reporting.",
          "type": "boolean"
        },
        "callConversionAction": {
          "type": "string",
          "description": "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."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__Campaign": {
      "type": "object",
      "properties": {
        "biddingStrategySystemStatus": {
          "x-enumDescriptions": [
            "Signals that an unexpected error occurred, for example, no bidding strategy type was found, or no status information was found.",
            "Used for return value only. Represents value unknown in this version.",
            "The bid strategy is active, and AdWords cannot find any specific issues with the strategy.",
            "The bid strategy is learning because it has been recently created or recently reactivated.",
            "The bid strategy is learning because of a recent setting change.",
            "The bid strategy is learning because of a recent budget change.",
            "The bid strategy is learning because of recent change in number of campaigns, ad groups or keywords attached to it.",
            "The bid strategy depends on conversion reporting and the customer recently modified conversion types that were relevant to the bid strategy.",
            "The bid strategy depends on conversion reporting and the customer recently changed their conversion settings.",
            "The bid strategy is limited by its bid ceiling.",
            "The bid strategy is limited by its bid floor.",
            "The bid strategy is limited because there was not enough conversion traffic over the past weeks.",
            "A significant fraction of keywords in this bid strategy are limited by budget.",
            "The bid strategy cannot reach its target spend because its spend has been de-prioritized.",
            "A significant fraction of keywords in this bid strategy have a low Quality Score.",
            "The bid strategy cannot fully spend its budget because of narrow targeting.",
            "Missing conversion tracking (no pings present) and/or remarketing lists for SSC.",
            "The bid strategy depends on conversion reporting and the customer is lacking conversion types that might be reported against this strategy.",
            "The bid strategy depends on conversion reporting and the customer's conversion settings are misconfigured.",
            "There are campaigns outside the bid strategy that share budgets with campaigns included in the strategy.",
            "The campaign has an invalid strategy type and is not serving.",
            "The bid strategy is not active. Either there are no active campaigns, ad groups or keywords attached to the bid strategy. Or there are no active budgets connected to the bid strategy.",
            "This bid strategy currently does not support status reporting.",
            "There were multiple LEARNING_* system statuses for this bid strategy during the time in question.",
            "There were multiple LIMITED_* system statuses for this bid strategy during the time in question.",
            "There were multiple MISCONFIGURED_* system statuses for this bid strategy during the time in question.",
            "There were multiple system statuses for this bid strategy during the time in question."
          ],
          "enum": [
            "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"
          ],
          "type": "string",
          "description": "Output only. The system status of the campaign's bidding strategy."
        },
        "adServingOptimizationStatus": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Ad serving is optimized based on CTR for the campaign.",
            "Ad serving is optimized based on CTR * Conversion for the campaign. If the campaign is not in the conversion optimizer bidding strategy, it will default to OPTIMIZED.",
            "Ads are rotated evenly for 90 days, then optimized for clicks.",
            "Show lower performing ads more evenly with higher performing ads, and do not optimize.",
            "Ad serving optimization status is not available."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "OPTIMIZE",
            "CONVERSION_OPTIMIZE",
            "ROTATE",
            "ROTATE_INDEFINITELY",
            "UNAVAILABLE"
          ],
          "type": "string",
          "description": "The ad serving optimization status of the campaign."
        },
        "servingStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SERVING",
            "NONE",
            "ENDED",
            "PENDING",
            "SUSPENDED"
          ],
          "type": "string",
          "description": "Output only. The ad serving status of the campaign.",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Serving.",
            "None.",
            "Ended.",
            "Pending.",
            "Suspended."
          ]
        },
        "localServicesCampaignSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_LocalServicesCampaignSettings",
          "description": "The Local Services Campaign related settings."
        },
        "biddingStrategy": {
          "description": "The resource name of the portfolio bidding strategy used by the campaign.",
          "type": "string"
        },
        "commission": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__Commission",
          "description": "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value."
        },
        "startDateTime": {
          "description": "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.",
          "type": "string"
        },
        "viewThroughConversionOptimizationEnabled": {
          "description": "Whether VTC (View-through Conversion) optimization is enabled for this campaign. Only allowed for certain Demand Gen and App Campaigns.",
          "type": "boolean"
        },
        "shoppingSetting": {
          "description": "The setting for controlling Shopping campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_ShoppingSetting"
        },
        "maximizeConversions": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MaximizeConversions",
          "description": "Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget."
        },
        "containsEuPoliticalAdvertising": {
          "type": "string",
          "description": "The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The campaign contains political advertising targeted towards the EU. The campaign will be restricted from serving ads in the EU.",
            "The campaign does not contain political advertising targeted towards the EU. No additional serving restrictions will apply."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CONTAINS_EU_POLITICAL_ADVERTISING",
            "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
          ]
        },
        "manualCpa": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ManualCpa",
          "description": "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."
        },
        "textGuidelines": {
          "description": "Settings to control automatically generated text assets. Only available in Performance Max and Search campaigns (Brand Guidelines does not need to be enabled).",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_TextGuidelines"
        },
        "assetAutomationSettings": {
          "description": "Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_AssetAutomationSetting"
          },
          "type": "array"
        },
        "thirdPartyIntegrationPartners": {
          "description": "Third-Party integration partners.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignThirdPartyIntegrationPartners"
        },
        "videoCampaignSettings": {
          "description": "Settings for Video campaign.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_VideoCampaignSettings"
        },
        "listingType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "This campaign serves vehicle ads."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "VEHICLES"
          ],
          "description": "Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.",
          "type": "string"
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Campaign is active and can show ads.",
            "Campaign has been paused by the user.",
            "Campaign has been removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "PAUSED",
            "REMOVED"
          ],
          "type": "string",
          "description": "The status of the campaign. When a new campaign is added, the status defaults to ENABLED."
        },
        "dynamicSearchAdsSetting": {
          "description": "The setting for controlling Dynamic Search Ads (DSA).",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_DynamicSearchAdsSetting"
        },
        "targetCpv": {
          "description": "An automated bidding strategy that sets bids to optimize performance given the target CPV you set.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetCpv"
        },
        "targetCpa": {
          "description": "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.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetCpa"
        },
        "campaignBudget": {
          "type": "string",
          "description": "The resource name of the campaign budget of the campaign."
        },
        "advertisingChannelSubType": {
          "description": "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.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used as a return value only. Represents value unknown in this version.",
            "Mobile app campaigns for Search.",
            "Mobile app campaigns for Display.",
            "AdWords express campaigns for search.",
            "AdWords Express campaigns for display.",
            "Smart Shopping campaigns.",
            "Gmail Ad campaigns.",
            "Smart display campaigns. New campaigns of this sub type cannot be created.",
            "Video TrueView for Action campaigns.",
            "Video campaigns with non-skippable video ads.",
            "App Campaign that lets you easily promote your Android or iOS app across Google's top properties including Search, Play, YouTube, and the Google Display Network.",
            "App Campaign for engagement, focused on driving re-engagement with the app across several of Google's top properties including Search, YouTube, and the Google Display Network.",
            "Campaigns specialized for local advertising.",
            "Shopping Comparison Listing campaigns.",
            "Standard Smart campaigns.",
            "Video campaigns with sequence video ads.",
            "App Campaign for pre registration, specialized for advertising mobile app pre-registration, that targets multiple advertising channels across Google Play, YouTube and Display Network. See https://support.google.com/google-ads/answer/9441344 to learn more.",
            "Video reach campaign with Target Frequency bidding strategy.",
            "Travel Activities campaigns.",
            "YouTube Audio campaigns."
          ],
          "enum": [
            "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",
            "YOUTUBE_AUDIO"
          ]
        },
        "appCampaignSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_AppCampaignSetting",
          "description": "The setting related to App Campaign."
        },
        "excludedParentAssetSetTypes": {
          "description": "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.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Page asset set.",
              "Dynamic education asset set.",
              "Google Merchant Center asset set.",
              "Dynamic real estate asset set.",
              "Dynamic custom asset set.",
              "Dynamic hotels and rentals asset set.",
              "Dynamic flights asset set.",
              "Dynamic travel asset set.",
              "Dynamic local asset set.",
              "Dynamic jobs asset set.",
              "Location sync level asset set.",
              "Business Profile location group asset set.",
              "Chain location group asset set which can be used for both owned locations and affiliate locations.",
              "Static location group asset set which can be used for both owned locations and affiliate locations.",
              "Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.",
              "Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed."
            ],
            "enum": [
              "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"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "finalUrlSuffix": {
          "description": "Suffix used to append query parameters to landing pages that are served with parallel tracking.",
          "type": "string"
        },
        "advertisingChannelType": {
          "description": "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.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Search Network. Includes display bundled, and Search+ campaigns.",
            "Google Display Network only.",
            "Shopping campaigns serve on the shopping property and on google.com search results.",
            "Hotel Ads campaigns.",
            "Video campaigns.",
            "App Campaigns, and App Campaigns for Engagement, that run across multiple channels.",
            "Local ads campaigns.",
            "Smart campaigns.",
            "Performance Max campaigns.",
            "Local services campaigns.",
            "Travel campaigns.",
            "Demand Gen campaigns."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SEARCH",
            "DISPLAY",
            "SHOPPING",
            "HOTEL",
            "VIDEO",
            "MULTI_CHANNEL",
            "LOCAL",
            "SMART",
            "PERFORMANCE_MAX",
            "LOCAL_SERVICES",
            "TRAVEL",
            "DEMAND_GEN"
          ]
        },
        "networkSettings": {
          "description": "The network settings for the campaign.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_NetworkSettings"
        },
        "hotelSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_HotelSettingInfo",
          "description": "The hotel setting for the campaign."
        },
        "frequencyCaps": {
          "type": "array",
          "description": "A list that limits how often each user will see this campaign's ads.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__FrequencyCapEntry"
          }
        },
        "trackingSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_TrackingSetting",
          "description": "Output only. Campaign-level settings for tracking information."
        },
        "fixedCpm": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__FixedCpm",
          "description": "A manual bidding strategy with a fixed CPM."
        },
        "targetCpc": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetCpc",
          "description": "An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set."
        },
        "biddingStrategyType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.",
            "Enhanced CPC is 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.",
            "Fixed CPM is a manual bidding strategy with a fixed CPM.",
            "Fixed share of voice is a manual bidding strategy for YouTube Sponsorships that bills either on CPM or a fixed cost per day.",
            "Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.",
            "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.",
            "Manual click based bidding where user pays per click.",
            "Manual impression based bidding where user pays per thousand impressions.",
            "A bidding strategy that pays a configurable amount per video view.",
            "A bidding strategy that automatically maximizes number of conversions given a daily budget.",
            "An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.",
            "Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.",
            "Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.",
            "Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.",
            "Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.",
            "Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.",
            "Target CPV is an automated bidding strategy that sets bids to optimize performance given the average target cost per view.",
            "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).",
            "Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.",
            "Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).",
            "Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget."
          ],
          "description": "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.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "COMMISSION",
            "ENHANCED_CPC",
            "FIXED_CPM",
            "FIXED_SHARE_OF_VOICE",
            "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_CPV",
            "TARGET_IMPRESSION_SHARE",
            "TARGET_OUTRANK_SHARE",
            "TARGET_ROAS",
            "TARGET_SPEND"
          ]
        },
        "urlCustomParameters": {
          "type": "array",
          "description": "The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomParameter"
          }
        },
        "baseCampaign": {
          "type": "string",
          "description": "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."
        },
        "optimizationGoalSetting": {
          "description": "Optimization goal setting for this campaign, which includes a set of optimization goal types.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_OptimizationGoalSetting"
        },
        "feedTypes": {
          "type": "array",
          "description": "Output only. Types of feeds that are attached directly to this campaign.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Page asset set.",
              "Dynamic education asset set.",
              "Google Merchant Center asset set.",
              "Dynamic real estate asset set.",
              "Dynamic custom asset set.",
              "Dynamic hotels and rentals asset set.",
              "Dynamic flights asset set.",
              "Dynamic travel asset set.",
              "Dynamic local asset set.",
              "Dynamic jobs asset set.",
              "Location sync level asset set.",
              "Business Profile location group asset set.",
              "Chain location group asset set which can be used for both owned locations and affiliate locations.",
              "Static location group asset set which can be used for both owned locations and affiliate locations.",
              "Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.",
              "Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed."
            ],
            "enum": [
              "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"
            ],
            "type": "string"
          }
        },
        "brandGuidelinesEnabled": {
          "type": "boolean",
          "description": "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. Writable only at campaign creation. Set to true to enable Brand Guidelines when creating a new Performance Max campaign. Immutable after creation. This field cannot be modified using standard update operations after the campaign has been created. For existing campaigns: To enable Brand Guidelines on a campaign after it has been created, use the CampaignService.EnablePMaxBrandGuidelines method, which is a separate operation. It is not possible to disable Brand Guidelines for an existing campaign. Incompatible with Travel Goals: This feature is not supported for Performance Max campaigns with Travel Goals. Attempting to set this field to true for a Travel Goals campaign will result in an error."
        },
        "targetSpend": {
          "description": "Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetSpend"
        },
        "primaryStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "PAUSED",
            "REMOVED",
            "ENDED",
            "PENDING",
            "MISCONFIGURED",
            "LIMITED",
            "LEARNING",
            "NOT_ELIGIBLE"
          ],
          "type": "string",
          "description": "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.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The campaign is eligible to serve.",
            "The user-specified campaign status is paused.",
            "The user-specified campaign status is removed.",
            "The user-specified time for this campaign to end has passed.",
            "The campaign may serve in the future.",
            "The campaign or its associated entities have incorrect user-specified settings.",
            "The campaign or its associated entities are limited by user-specified settings.",
            "The automated bidding system is adjusting to user-specified changes to the campaign or associated entities.",
            "The campaign is not eligible to serve."
          ]
        },
        "missingEuPoliticalAdvertisingDeclaration": {
          "description": "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.",
          "type": "boolean"
        },
        "localCampaignSetting": {
          "description": "The setting for local campaign.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_LocalCampaignSetting"
        },
        "vanityPharma": {
          "description": "Describes how unbranded pharma ads will be displayed.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_VanityPharma"
        },
        "trackingUrlTemplate": {
          "description": "The URL template for constructing a tracking URL.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`"
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the campaign.",
          "type": "string"
        },
        "labels": {
          "type": "array",
          "description": "Output only. The resource names of labels attached to this campaign.",
          "items": {
            "type": "string"
          }
        },
        "targetImpressionShare": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetImpressionShare",
          "description": "Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions."
        },
        "demandGenCampaignSettings": {
          "description": "Settings for Demand Gen campaign.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_DemandGenCampaignSettings"
        },
        "name": {
          "type": "string",
          "description": "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."
        },
        "targetCpm": {
          "description": "A bidding strategy that automatically optimizes cost per thousand impressions.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetCpm"
        },
        "hotelPropertyAssetSet": {
          "description": "Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.",
          "type": "string"
        },
        "aiMaxSetting": {
          "description": "Settings for AI Max in Search and Shopping campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_AiMaxSetting"
        },
        "audienceSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_AudienceSetting",
          "description": "Immutable. Setting for audience related features."
        },
        "endDateTime": {
          "type": "string",
          "description": "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."
        },
        "geoTargetTypeSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_GeoTargetTypeSetting",
          "description": "The setting for ads geotargeting."
        },
        "realTimeBiddingSetting": {
          "description": "Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__RealTimeBiddingSetting"
        },
        "targetingSetting": {
          "description": "Setting for targeting related features.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetingSetting"
        },
        "experimentType": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BASE",
            "DRAFT",
            "EXPERIMENT"
          ],
          "description": "Output only. The type of campaign: normal, draft, or experiment.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "This is a regular campaign.",
            "This is a draft version of a campaign. It has some modifications from a base campaign, but it does not serve or accrue metrics.",
            "This is an experiment version of a campaign. It has some modifications from a base campaign, and a percentage of traffic is being diverted from the BASE campaign to this experiment campaign."
          ]
        },
        "brandGuidelines": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_BrandGuidelines",
          "description": "These settings control how your brand appears in automatically generated assets and formats within this campaign. Note: These settings can only be used for Performance Max campaigns that have Brand Guidelines enabled."
        },
        "percentCpc": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PercentCpc",
          "description": "Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service."
        },
        "primaryStatusReasons": {
          "type": "array",
          "description": "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.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "The user-specified campaign status is removed.",
              "The user-specified campaign status is paused.",
              "The user-specified time for this campaign to start is in the future.",
              "The user-specified time for this campaign to end has passed.",
              "The campaign is a draft.",
              "The bidding strategy has incorrect user-specified settings.",
              "The bidding strategy is limited by user-specified settings such as lack of data or similar.",
              "The automated bidding system is adjusting to user-specified changes to the bidding strategy.",
              "Campaign could capture more conversion value by adjusting CPA/ROAS targets.",
              "The budget is limiting the campaign's ability to serve.",
              "The budget has incorrect user-specified settings.",
              "Campaign is not targeting all relevant queries.",
              "The user-specified ad group statuses are all paused.",
              "No eligible ad groups exist in this campaign.",
              "The user-specified keyword statuses are all paused.",
              "No eligible keywords exist in this campaign.",
              "The user-specified ad group ad statuses are all paused.",
              "No eligible ad group ads exist in this campaign.",
              "At least one ad in this campaign is limited by policy.",
              "At least one ad in this campaign is disapproved.",
              "Most ads in this campaign are pending review.",
              "The campaign has a lead form goal, and the lead form extension is missing.",
              "The campaign has a call goal, and the call extension is missing.",
              "The lead form extension is under review.",
              "The lead extension is disapproved.",
              "The call extension is under review.",
              "The call extension is disapproved.",
              "No eligible mobile application ad group criteria exist in this campaign.",
              "The user-specified campaign group status is paused.",
              "The user-specified times of all group budgets associated with the parent campaign group has passed.",
              "The app associated with this ACi campaign is not released in the target countries of the campaign.",
              "The app associated with this ACi campaign is partially released in the target countries of the campaign.",
              "At least one asset group in this campaign is disapproved.",
              "At least one asset group in this campaign is limited by policy.",
              "Most asset groups in this campaign are pending review.",
              "No eligible asset groups exist in this campaign.",
              "All asset groups in this campaign are paused.",
              "The campaign has location restrictions but does not specify location targeting.",
              "The campaign is a campaign with the FIXED_CPM bidding strategy but is not booked. Contributes to CampaignPrimaryStatus.NOT_ELIGIBLE when the campaign is not paused, and CampaignPrimaryStatus.PAUSED when the campaign is paused.",
              "The campaign is a campaign with the FIXED_CPM bidding strategy for which inventory was held, with the hold expiring. The hold expiry time can be read from Campaign.booking_details.hold_expiration_date_time. Contributes to CampaignPrimaryStatus.PAUSED.",
              "The campaign is a campaign with the FIXED_CPM bidding strategy with the inventory hold expired. Contributes to CampaignPrimaryStatus.PAUSED.",
              "The campaign is a campaign with the FIXED_CPM bidding strategy that has been auto-cancelled. Contributes to CampaignPrimaryStatus.NOT_ELIGIBLE."
            ],
            "enum": [
              "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",
              "CAMPAIGN_NOT_BOOKED",
              "BOOKING_HOLD_EXPIRING",
              "BOOKING_HOLD_EXPIRED",
              "BOOKING_CANCELLED"
            ],
            "type": "string"
          }
        },
        "excludedParentAssetFieldTypes": {
          "description": "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.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "The asset is linked for use as a headline.",
              "The asset is linked for use as a description.",
              "The asset is linked for use as mandatory ad text.",
              "The asset is linked for use as a marketing image.",
              "The asset is linked for use as a media bundle.",
              "The asset is linked for use as a YouTube video.",
              "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.",
              "The asset is linked for use as a Lead Form extension.",
              "The asset is linked for use as a Promotion extension.",
              "The asset is linked for use as a Callout extension.",
              "The asset is linked for use as a Structured Snippet extension.",
              "The asset is linked for use as a Sitelink.",
              "The asset is linked for use as a Mobile App extension.",
              "The asset is linked for use as a Hotel Callout extension.",
              "The asset is linked for use as a Call extension.",
              "The asset is linked for use as a Price extension.",
              "The asset is linked for use as a long headline.",
              "The asset is linked for use as a business name.",
              "The asset is linked for use as a square marketing image.",
              "The asset is linked for use as a portrait marketing image.",
              "The asset is linked for use as a logo.",
              "The asset is linked for use as a landscape logo.",
              "The asset is linked for use as a non YouTube logo.",
              "The asset is linked for use to select a call-to-action.",
              "The asset is linked for use to select an ad image.",
              "The asset is linked for use as a business logo.",
              "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.",
              "The asset is linked for use as a Demand Gen carousel card.",
              "The asset is linked for use as a Business Message.",
              "The asset is linked for use as a tall portrait marketing image.",
              "The asset is linked for use as related YouTube videos.",
              "The asset is linked for use as a landing page preview image.",
              "The asset is linked for use as a long description.",
              "The asset is linked for use as a call-to-action.",
              "The asset is linked for use as a classic display image."
            ],
            "enum": [
              "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",
              "RELATED_YOUTUBE_VIDEOS",
              "LANDING_PAGE_PREVIEW",
              "LONG_DESCRIPTION",
              "CALL_TO_ACTION",
              "CLASSIC_DISPLAY_IMAGE"
            ]
          },
          "type": "array"
        },
        "manualCpv": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ManualCpv",
          "description": "A bidding strategy that pays a configurable amount per video view."
        },
        "manualCpc": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ManualCpc",
          "description": "Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click."
        },
        "targetRoas": {
          "description": "Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetRoas"
        },
        "campaignGroup": {
          "type": "string",
          "description": "The resource name of the campaign group that this campaign belongs to."
        },
        "paymentMode": {
          "description": "Payment mode for the campaign.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Pay per interaction.",
            "Pay per conversion value. This mode is only supported by campaigns with AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and BudgetType.STANDARD.",
            "Pay per conversion. This mode is only supported by campaigns with AdvertisingChannelType.DISPLAY (excluding AdvertisingChannelSubType.DISPLAY_GMAIL), BiddingStrategyType.TARGET_CPA, and BudgetType.FIXED_CPA. The customer must also be eligible for this mode. See Customer.eligibility_failure_reasons for details.",
            "Pay per guest stay value. This mode is only supported by campaigns with AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and BudgetType.STANDARD."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CLICKS",
            "CONVERSION_VALUE",
            "CONVERSIONS",
            "GUEST_STAY"
          ]
        },
        "travelCampaignSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_TravelCampaignSettings",
          "description": "Settings for Travel campaign."
        },
        "selectiveOptimization": {
          "description": "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.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_SelectiveOptimization"
        },
        "keywordMatchType": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Campaign level broad match."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BROAD"
          ],
          "description": "Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.",
          "type": "string"
        },
        "manualCpm": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ManualCpm",
          "description": "Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions."
        },
        "maximizeConversionValue": {
          "description": "Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MaximizeConversionValue"
        },
        "pmaxCampaignSettings": {
          "description": "Settings for Performance Max campaign.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_PmaxCampaignSettings"
        },
        "optimizationScore": {
          "type": "number",
          "description": "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.",
          "format": "double"
        },
        "accessibleBiddingStrategy": {
          "type": "string",
          "description": "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."
        },
        "performanceMaxUpgrade": {
          "description": "Output only. Information about campaigns being upgraded to Performance Max.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Campaign_PerformanceMaxUpgrade"
        }
      },
      "description": "A campaign."
    },
    "GoogleAdsGoogleadsV25Resources__CampaignAsset": {
      "type": "object",
      "properties": {
        "campaign": {
          "type": "string",
          "description": "Immutable. The campaign to which the asset is linked."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`"
        },
        "fieldType": {
          "type": "string",
          "description": "Immutable. Role that the asset takes under the linked campaign. Required.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset is linked for use as a headline.",
            "The asset is linked for use as a description.",
            "The asset is linked for use as mandatory ad text.",
            "The asset is linked for use as a marketing image.",
            "The asset is linked for use as a media bundle.",
            "The asset is linked for use as a YouTube video.",
            "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.",
            "The asset is linked for use as a Lead Form extension.",
            "The asset is linked for use as a Promotion extension.",
            "The asset is linked for use as a Callout extension.",
            "The asset is linked for use as a Structured Snippet extension.",
            "The asset is linked for use as a Sitelink.",
            "The asset is linked for use as a Mobile App extension.",
            "The asset is linked for use as a Hotel Callout extension.",
            "The asset is linked for use as a Call extension.",
            "The asset is linked for use as a Price extension.",
            "The asset is linked for use as a long headline.",
            "The asset is linked for use as a business name.",
            "The asset is linked for use as a square marketing image.",
            "The asset is linked for use as a portrait marketing image.",
            "The asset is linked for use as a logo.",
            "The asset is linked for use as a landscape logo.",
            "The asset is linked for use as a non YouTube logo.",
            "The asset is linked for use to select a call-to-action.",
            "The asset is linked for use to select an ad image.",
            "The asset is linked for use as a business logo.",
            "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.",
            "The asset is linked for use as a Demand Gen carousel card.",
            "The asset is linked for use as a Business Message.",
            "The asset is linked for use as a tall portrait marketing image.",
            "The asset is linked for use as related YouTube videos.",
            "The asset is linked for use as a landing page preview image.",
            "The asset is linked for use as a long description.",
            "The asset is linked for use as a call-to-action.",
            "The asset is linked for use as a classic display image."
          ],
          "enum": [
            "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",
            "RELATED_YOUTUBE_VIDEOS",
            "LANDING_PAGE_PREVIEW",
            "LONG_DESCRIPTION",
            "CALL_TO_ACTION",
            "CLASSIC_DISPLAY_IMAGE"
          ]
        },
        "status": {
          "description": "Status of the campaign asset.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Asset link is enabled.",
            "Asset link has been removed.",
            "Asset link is paused."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED",
            "PAUSED"
          ]
        },
        "asset": {
          "description": "Immutable. The asset which is linked to the campaign.",
          "type": "string"
        },
        "source": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADVERTISER",
            "AUTOMATICALLY_CREATED"
          ],
          "type": "string",
          "description": "Output only. Source of the campaign asset link.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset or asset link is provided by advertiser.",
            "The asset or asset link is generated by Google."
          ]
        },
        "primaryStatusReasons": {
          "description": "Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.",
              "The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.",
              "The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE",
              "The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.",
              "The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "ASSET_LINK_PAUSED",
              "ASSET_LINK_REMOVED",
              "ASSET_DISAPPROVED",
              "ASSET_UNDER_REVIEW",
              "ASSET_APPROVED_LABELED"
            ]
          },
          "type": "array"
        },
        "primaryStatusDetails": {
          "type": "array",
          "description": "Output only. Provides the details of the primary status and its associated reasons.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AssetLinkPrimaryStatusDetails"
          }
        },
        "primaryStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "PAUSED",
            "REMOVED",
            "PENDING",
            "LIMITED",
            "NOT_ELIGIBLE"
          ],
          "description": "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.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset is eligible to serve.",
            "The user-specified asset link status is paused.",
            "The user-specified asset link status is removed.",
            "The asset may serve in the future.",
            "The asset is serving in a partial capacity.",
            "The asset is not eligible to serve."
          ]
        }
      },
      "description": "A link between a Campaign and an Asset."
    },
    "GoogleAdsGoogleadsV25Resources__CampaignAssetSet": {
      "type": "object",
      "properties": {
        "assetSet": {
          "description": "Immutable. The asset set which is linked to the campaign.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "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}`"
        },
        "status": {
          "description": "Output only. The status of the campaign asset set asset. Read-only.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The linkage between asset set and its container is enabled.",
            "The linkage between asset set and its container is removed."
          ]
        },
        "campaign": {
          "description": "Immutable. The campaign to which this asset set is linked.",
          "type": "string"
        }
      },
      "description": "CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign."
    },
    "GoogleAdsGoogleadsV25Resources__CampaignBidModifier": {
      "description": "Represents a bid-modifiable only criterion at the campaign level.",
      "type": "object",
      "properties": {
        "bidModifier": {
          "type": "number",
          "description": "The modifier for the bid when the criterion matches.",
          "format": "double"
        },
        "campaign": {
          "description": "Output only. The campaign to which this criterion belongs.",
          "type": "string"
        },
        "interactionType": {
          "description": "Immutable. Criterion for interaction type. Only supported for search campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__InteractionTypeInfo"
        },
        "criterionId": {
          "description": "Output only. The ID of the criterion to bid modify. This field is ignored for mutates.",
          "type": "string",
          "format": "int64"
        },
        "resourceName": {
          "type": "string",
          "description": "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}`"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CampaignBudget": {
      "description": "A campaign budget.",
      "type": "object",
      "properties": {
        "deliveryMethod": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The budget server will throttle serving evenly across the entire time period.",
            "The budget server will not throttle serving, and ads will serve as fast as possible."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "STANDARD",
            "ACCELERATED"
          ],
          "description": "The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.",
          "type": "string"
        },
        "explicitlyShared": {
          "description": "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.",
          "type": "boolean"
        },
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Budget type for standard Google Ads usage. Caps daily spend at two times the specified budget amount. Full details: https://support.google.com/google-ads/answer/6385083",
            "Budget type with a fixed cost-per-acquisition (conversion). Full details: https://support.google.com/google-ads/answer/7528254 This type is only supported by campaigns with AdvertisingChannelType.DISPLAY (excluding AdvertisingChannelSubType.DISPLAY_GMAIL), BiddingStrategyType.TARGET_CPA and PaymentMode.CONVERSIONS.",
            "Budget type for Smart Campaign. Full details: https://support.google.com/google-ads/answer/7653509 This type is only supported by campaigns with AdvertisingChannelType.SMART and AdvertisingChannelSubType.SMART_CAMPAIGN.",
            "Budget type for Local Services Campaign. Full details: https://support.google.com/localservices/answer/7434558 This type is only supported by campaigns with AdvertisingChannelType.LOCAL_SERVICES."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "STANDARD",
            "FIXED_CPA",
            "SMART_CAMPAIGN",
            "LOCAL_SERVICES"
          ],
          "description": "Immutable. The type of the campaign budget.",
          "type": "string"
        },
        "id": {
          "description": "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.",
          "type": "string",
          "format": "int64"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`",
          "type": "string"
        },
        "recommendedBudgetEstimatedChangeWeeklyViews": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only."
        },
        "recommendedBudgetAmountMicros": {
          "description": "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.",
          "type": "string",
          "format": "int64"
        },
        "alignedBiddingStrategyId": {
          "format": "int64",
          "type": "string",
          "description": "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."
        },
        "name": {
          "type": "string",
          "description": "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)."
        },
        "recommendedBudgetEstimatedChangeWeeklyClicks": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only."
        },
        "recommendedBudgetEstimatedChangeWeeklyCostMicros": {
          "type": "string",
          "description": "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.",
          "format": "int64"
        },
        "hasRecommendedBudget": {
          "description": "Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.",
          "type": "boolean"
        },
        "period": {
          "description": "Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Daily budget.",
            "Custom budget, added back in V5. Custom budget can be used with total_amount to specify lifetime budget limit. See: https://support.google.com/google-ads/answer/6385083 for more info."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DAILY",
            "CUSTOM_PERIOD"
          ]
        },
        "referenceCount": {
          "format": "int64",
          "description": "Output only. The number of campaigns actively using the budget. This field is read-only.",
          "type": "string"
        },
        "status": {
          "description": "Output only. The status of this campaign budget. This field is read-only.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Budget is enabled.",
            "Budget is removed."
          ]
        },
        "amountMicros": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "totalAmountMicros": {
          "format": "int64",
          "type": "string",
          "description": "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."
        },
        "recommendedBudgetEstimatedChangeWeeklyInteractions": {
          "type": "string",
          "description": "Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CampaignCriterion": {
      "description": "A campaign criterion.",
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "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",
            "RETAIL_FILTER_BUNDLE",
            "RETAIL_FILTER"
          ],
          "description": "Output only. The type of the criterion.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Keyword, for example, 'mars cruise'.",
            "Placement, also known as Website, for example, 'www.flowers4sale.com'",
            "Mobile application categories to target.",
            "Mobile applications to target.",
            "Devices to target.",
            "Locations to target.",
            "Listing groups to target.",
            "Ad Schedule.",
            "Age range.",
            "Gender.",
            "Income Range.",
            "Parental status.",
            "YouTube Video.",
            "YouTube Channel.",
            "User list.",
            "Proximity.",
            "A topic target on the display network (for example, \"Pets & Animals\").",
            "Listing scope to target.",
            "Language.",
            "IpBlock.",
            "Content Label for category exclusion.",
            "Carrier.",
            "A category the user is interested in.",
            "Webpage criterion for dynamic search ads.",
            "Operating system version.",
            "App payment model.",
            "Mobile device.",
            "Custom affinity.",
            "Custom intent.",
            "Location group.",
            "Custom audience",
            "Combined audience",
            "Smart Campaign keyword theme",
            "Audience",
            "Negative Keyword List",
            "Local Services Ads Service ID.",
            "Search Theme.",
            "Brand",
            "Brand List",
            "Life Event",
            "Webpage List",
            "Video lineup",
            "Placement List",
            "A list of rules for item groups in Vertical Ads.",
            "A rule for an item group in Vertical Ads.",
            "Retail Filter Bundle for linking a retail filter shared set to an ad group.",
            "Retail Filter for defining individual tag rules or expressions within a shared set."
          ]
        },
        "carrier": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CarrierInfo",
          "description": "Immutable. Carrier."
        },
        "operatingSystemVersion": {
          "description": "Immutable. Operating system version.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__OperatingSystemVersionInfo"
        },
        "ageRange": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AgeRangeInfo",
          "description": "Immutable. Age range."
        },
        "language": {
          "description": "Immutable. Language.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LanguageInfo"
        },
        "displayName": {
          "type": "string",
          "description": "Output only. The display name of the criterion. This field is ignored for mutates."
        },
        "keywordTheme": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordThemeInfo",
          "description": "Immutable. Smart Campaign Keyword Theme."
        },
        "locationGroup": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocationGroupInfo",
          "description": "Immutable. Location Group"
        },
        "brandList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BrandListInfo",
          "description": "Immutable. Brand list campaign criterion."
        },
        "device": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DeviceInfo",
          "description": "Immutable. Device."
        },
        "contentLabel": {
          "description": "Immutable. ContentLabel.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ContentLabelInfo"
        },
        "status": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The campaign criterion is enabled.",
            "The campaign criterion is paused.",
            "The campaign criterion is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "PAUSED",
            "REMOVED"
          ],
          "description": "The status of the criterion.",
          "type": "string"
        },
        "localServiceId": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocalServiceIdInfo",
          "description": "Immutable. GLS service campaign criterion."
        },
        "location": {
          "description": "Immutable. Location.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocationInfo"
        },
        "ipBlock": {
          "description": "Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__IpBlockInfo"
        },
        "campaign": {
          "description": "Immutable. The campaign to which the criterion belongs.",
          "type": "string"
        },
        "webpageList": {
          "description": "Immutable. Webpage list. This criterion is not publicly available.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageListInfo"
        },
        "youtubeVideo": {
          "description": "Immutable. YouTube Video.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeVideoInfo"
        },
        "mobileDevice": {
          "description": "Immutable. Mobile Device.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileDeviceInfo"
        },
        "topic": {
          "description": "Immutable. Topic.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TopicInfo"
        },
        "mobileAppCategory": {
          "description": "Immutable. Mobile app category.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileAppCategoryInfo"
        },
        "userInterest": {
          "description": "Immutable. User Interest.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserInterestInfo"
        },
        "combinedAudience": {
          "description": "Immutable. Combined Audience.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CombinedAudienceInfo"
        },
        "keyword": {
          "description": "Immutable. Keyword.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo"
        },
        "mobileApplication": {
          "description": "Immutable. Mobile application.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileApplicationInfo"
        },
        "bidModifier": {
          "format": "float",
          "type": "number",
          "description": "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."
        },
        "gender": {
          "description": "Immutable. Gender.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__GenderInfo"
        },
        "webpage": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageInfo",
          "description": "Immutable. Webpage."
        },
        "negative": {
          "description": "Immutable. Whether to target (`false`) or exclude (`true`) the criterion.",
          "type": "boolean"
        },
        "customAffinity": {
          "description": "Immutable. Custom Affinity.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomAffinityInfo"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`"
        },
        "placement": {
          "description": "Immutable. Placement.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PlacementInfo"
        },
        "extendedDemographic": {
          "description": "Immutable. Extended demographic criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ExtendedDemographicInfo"
        },
        "proximity": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProximityInfo",
          "description": "Immutable. Proximity."
        },
        "lifeEvent": {
          "description": "Immutable. Life event campaign criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LifeEventInfo"
        },
        "videoLineup": {
          "description": "Immutable. Video lineup criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VideoLineupInfo"
        },
        "adSchedule": {
          "description": "Immutable. Ad Schedule.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdScheduleInfo"
        },
        "customAudience": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomAudienceInfo",
          "description": "Immutable. Custom Audience"
        },
        "parentalStatus": {
          "description": "Immutable. Parental status.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ParentalStatusInfo"
        },
        "userList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListInfo",
          "description": "Immutable. User List."
        },
        "listingScope": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ListingScopeInfo",
          "description": "Immutable. Listing scope."
        },
        "incomeRange": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__IncomeRangeInfo",
          "description": "Immutable. Income range."
        },
        "youtubeChannel": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeChannelInfo",
          "description": "Immutable. YouTube Channel."
        },
        "criterionId": {
          "description": "Output only. The ID of the criterion. This field is ignored during mutate.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CampaignCustomizer": {
      "description": "A customizer value for the associated CustomizerAttribute at the Campaign level.",
      "type": "object",
      "properties": {
        "campaign": {
          "type": "string",
          "description": "Immutable. The campaign to which the customizer attribute is linked."
        },
        "resourceName": {
          "description": "Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`",
          "type": "string"
        },
        "status": {
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version.",
            "The customizer value is enabled.",
            "The customizer value is removed."
          ],
          "description": "Output only. The status of the campaign customizer.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ]
        },
        "customizerAttribute": {
          "description": "Required. Immutable. The customizer attribute which is linked to the campaign.",
          "type": "string"
        },
        "value": {
          "description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomizerValue"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CampaignDraft": {
      "description": "A campaign draft.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "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."
        },
        "draftId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the draft. This field is read-only."
        },
        "resourceName": {
          "description": "Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`",
          "type": "string"
        },
        "hasExperimentRunning": {
          "type": "boolean",
          "description": "Output only. Whether there is an experiment based on this draft currently serving."
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PROPOSED",
            "REMOVED",
            "PROMOTING",
            "PROMOTED",
            "PROMOTE_FAILED"
          ],
          "description": "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.",
          "type": "string",
          "x-enumDescriptions": [
            "The status has not been specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Initial state of the draft, the advertiser can start adding changes with no effect on serving.",
            "The campaign draft is removed.",
            "Advertiser requested to promote draft's changes back into the original campaign. Advertiser can poll the long running operation returned by the promote action to see the status of the promotion.",
            "The process to merge changes in the draft back to the original campaign has completed successfully.",
            "The promotion failed after it was partially applied. Promote cannot be attempted again safely, so the issue must be corrected in the original campaign."
          ]
        },
        "baseCampaign": {
          "description": "Immutable. The base campaign to which the draft belongs.",
          "type": "string"
        },
        "draftCampaign": {
          "description": "Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.",
          "type": "string"
        },
        "longRunningOperation": {
          "description": "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.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CampaignGroup": {
      "description": "A campaign group.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the campaign group.",
          "format": "int64"
        },
        "name": {
          "description": "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.",
          "type": "string"
        },
        "status": {
          "description": "The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The campaign group is active.",
            "The campaign group has been removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CampaignSharedSet": {
      "description": "CampaignSharedSets are used for managing the shared sets associated with a campaign.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "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}`",
          "type": "string"
        },
        "sharedSet": {
          "type": "string",
          "description": "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."
        },
        "campaign": {
          "description": "Immutable. The campaign to which the campaign shared set belongs.",
          "type": "string"
        },
        "status": {
          "description": "Output only. The status of this campaign shared set. Read only.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The campaign shared set is enabled.",
            "The campaign shared set is removed and can no longer be used."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ConversionAction": {
      "description": "A conversion action.",
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "description": "The status of this conversion action for conversion event accrual.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Conversions will be recorded.",
            "Conversions will not be recorded.",
            "Conversions will not be recorded and the conversion action will not appear in the UI."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED",
            "HIDDEN"
          ]
        },
        "thirdPartyAppAnalyticsSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionAction_ThirdPartyAppAnalyticsSettings",
          "description": "Output only. Third Party App Analytics settings for third party conversion types."
        },
        "attributionModelSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionAction_AttributionModelSettings",
          "description": "Settings related to this conversion action's attribution model."
        },
        "phoneCallDurationSeconds": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "appId": {
          "type": "string",
          "description": "App ID for an app conversion action."
        },
        "mobileAppVendor": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Mobile app vendor for Apple app store.",
            "Mobile app vendor for Google app store."
          ],
          "type": "string",
          "description": "Output only. Mobile app vendor for an app conversion action.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "APPLE_APP_STORE",
            "GOOGLE_APP_STORE"
          ]
        },
        "category": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Default category.",
            "User visiting a page.",
            "Purchase, sales, or \"order placed\" event.",
            "Signup user action.",
            "Software download action (as for an app).",
            "The addition of items to a shopping cart or bag on an advertiser site.",
            "When someone enters the checkout flow on an advertiser site.",
            "The start of a paid subscription for a product or service.",
            "A call to indicate interest in an advertiser's offering.",
            "A lead conversion imported from an external source into Google Ads.",
            "A submission of a form on an advertiser site indicating business interest.",
            "A booking of an appointment with an advertiser's business.",
            "A quote or price estimate request.",
            "A search for an advertiser's business location with intention to visit.",
            "A click to an advertiser's partner's site.",
            "A call, SMS, email, chat or other type of contact to an advertiser.",
            "A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.",
            "A visit to a physical store location.",
            "A sale occurring in a physical store.",
            "A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".",
            "A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser.",
            "User watches an ad from a channel and later watches either the same video or a video from the same channel as the ad."
          ],
          "enum": [
            "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",
            "YOUTUBE_FOLLOW_ON_VIEWS"
          ],
          "description": "The category of conversions reported for this conversion action.",
          "type": "string"
        },
        "includeInConversionsMetric": {
          "description": "Whether this conversion action should be included in the \"conversions\" metric.",
          "type": "boolean"
        },
        "clickThroughLookbackWindowDays": {
          "format": "int64",
          "type": "string",
          "description": "The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event."
        },
        "countingType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Count only one conversion per click.",
            "Count all conversions per click."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ONE_PER_CLICK",
            "MANY_PER_CLICK"
          ],
          "description": "How to count conversion events for the conversion action.",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the conversion action.",
          "format": "int64"
        },
        "googleAnalytics4Settings": {
          "description": "Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionAction_GoogleAnalytics4Settings"
        },
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Conversions that occur when a user clicks on an ad's call extension.",
            "Conversions that occur when a user on a mobile device clicks a phone number.",
            "Conversions that occur when a user downloads a mobile app from the Google Play Store.",
            "Conversions that occur when a user makes a purchase in an app through Android billing.",
            "Call conversions that are tracked by the advertiser and uploaded.",
            "Conversions that are tracked by the advertiser and uploaded with attributed clicks.",
            "Conversions that occur on a webpage.",
            "Conversions that occur when a user calls a dynamically-generated phone number from an advertiser's website.",
            "Store Sales conversion based on first-party or third-party merchant data uploads. Only customers on the allowlist can use store sales direct upload types.",
            "Store Sales conversion based on first-party or third-party merchant data uploads and/or from in-store purchases using cards from payment networks. Only customers on the allowlist can use store sales types. Read only.",
            "Android app first open conversions tracked through Firebase.",
            "Android app in app purchase conversions tracked through Firebase.",
            "Android app custom conversions tracked through Firebase.",
            "iOS app first open conversions tracked through Firebase.",
            "iOS app in app purchase conversions tracked through Firebase.",
            "iOS app custom conversions tracked through Firebase.",
            "Android app first open conversions tracked through Third Party App Analytics.",
            "Android app in app purchase conversions tracked through Third Party App Analytics.",
            "Android app custom conversions tracked through Third Party App Analytics.",
            "iOS app first open conversions tracked through Third Party App Analytics.",
            "iOS app in app purchase conversions tracked through Third Party App Analytics.",
            "iOS app custom conversions tracked through Third Party App Analytics.",
            "Conversions that occur when a user pre-registers a mobile app from the Google Play Store. Read only.",
            "Conversions that track all Google Play downloads which aren't tracked by an app-specific type. Read only.",
            "Floodlight activity that counts the number of times that users have visited a particular webpage after seeing or clicking on one of an advertiser's ads. Read only.",
            "Floodlight activity that tracks the number of sales made or the number of items purchased. Can also capture the total value of each sale. Read only.",
            "Conversions that track local actions from Google's products and services after interacting with an ad. Read only.",
            "Conversions reported when a user submits a lead form. Read only.",
            "Deprecated: The Salesforce integration ended on May 31, 2025. See [Legacy Salesforce integration for conversions upgrade FAQ](//support.google.com/google-ads/answer/14728349).",
            "Conversions imported from Search Ads 360 Floodlight data. Read only.",
            "Call conversions that occur on Smart campaign Ads without call tracking setup, using Smart campaign custom criteria. Read only.",
            "The user clicks on a call element within Google Maps. Smart campaign only. Read only.",
            "The user requests directions to a business location within Google Maps. Smart campaign only. Read only.",
            "Call conversions that occur on Smart campaign Ads with call tracking setup, using Smart campaign custom criteria. Read only.",
            "Conversions that occur when a user visits an advertiser's retail store. Read only.",
            "Conversions created from website events (such as form submissions or page loads), that don't use individually coded event snippets. Read only.",
            "Conversions that come from linked Universal Analytics goals. Universal Analytics is sunset, and has been replaced by Google Analytics.",
            "Conversions that come from linked Universal Analytics transactions. Universal Analytics is sunset, and has been replaced by Google Analytics.",
            "Conversions that come from linked Google Analytics custom event conversions.",
            "Conversions that come from linked Google Analytics purchase conversions.",
            "Conversions that come from linked Google Analytics generate lead conversions.",
            "Conversions that come from linked Google Analytics qualify lead conversions.",
            "Conversions that come from linked Google Analytics close convert lead conversions.",
            "Conversions that come from linked Firebase Android generate lead conversions.",
            "Conversions that come from linked Firebase Android qualify lead conversions.",
            "Conversions that come from linked Firebase Android close convert lead conversions.",
            "Conversions that come from linked Firebase iOS generate lead conversions.",
            "Conversions that come from linked Firebase iOS qualify lead conversions.",
            "Conversions that come from linked Firebase iOS close convert lead conversions.",
            "Conversions that occur when a user clicks on local services ads unit and reaches out to advertiser through phone call, message, or booking options on the ad."
          ],
          "x-enumDeprecated": [
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enum": [
            "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",
            "GOOGLE_ANALYTICS_4_GENERATE_LEAD",
            "GOOGLE_ANALYTICS_4_QUALIFY_LEAD",
            "GOOGLE_ANALYTICS_4_CLOSE_CONVERT_LEAD",
            "FIREBASE_ANDROID_GENERATE_LEAD",
            "FIREBASE_ANDROID_QUALIFY_LEAD",
            "FIREBASE_ANDROID_CLOSE_CONVERT_LEAD",
            "FIREBASE_IOS_GENERATE_LEAD",
            "FIREBASE_IOS_QUALIFY_LEAD",
            "FIREBASE_IOS_CLOSE_CONVERT_LEAD",
            "LOCAL_SERVICES_ADS"
          ],
          "description": "Immutable. The type of this conversion action.",
          "type": "string"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`",
          "type": "string"
        },
        "primaryForGoal": {
          "description": "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.",
          "type": "boolean"
        },
        "ownerCustomer": {
          "description": "Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.",
          "type": "string"
        },
        "viewThroughLookbackWindowDays": {
          "format": "int64",
          "type": "string",
          "description": "The maximum number of days which may elapse between an impression and a conversion without an interaction."
        },
        "firebaseSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionAction_FirebaseSettings",
          "description": "Output only. Firebase settings for Firebase conversion types."
        },
        "origin": {
          "type": "string",
          "description": "Output only. The conversion origin of this conversion action.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEBSITE",
            "GOOGLE_HOSTED",
            "APP",
            "CALL_FROM_ADS",
            "STORE",
            "YOUTUBE_HOSTED",
            "LOCAL_SERVICES_ADS"
          ],
          "x-enumDescriptions": [
            "The conversion origin has not been specified.",
            "The conversion origin is not known in this version.",
            "Conversion that occurs when a user visits a website or takes an action there after viewing an ad.",
            "Conversions reported by an offline pipeline which collects local actions from Google-hosted pages (for example, Google Maps, Google Place Page, etc) and attributes them to relevant ad events.",
            "Conversion that occurs when a user performs an action through any app platforms.",
            "Conversion that occurs when a user makes a call from ads.",
            "Conversion that occurs when a user visits or makes a purchase at a physical store.",
            "Conversion that occurs on YouTube.",
            "Conversion that occurs when a user clicks on local services ads unit and reaches out to advertiser through phone call, message, or booking options on the ad."
          ]
        },
        "valueSettings": {
          "description": "Settings related to the value for conversion events associated with this conversion action.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionAction_ValueSettings"
        },
        "tagSnippets": {
          "type": "array",
          "description": "Output only. The snippets used for tracking conversions.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TagSnippet"
          }
        },
        "name": {
          "type": "string",
          "description": "The name of the conversion action. This field is required and should not be empty when creating new conversion actions."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ConversionCustomVariable": {
      "description": "A conversion custom variable See \"About custom variables for conversions\" at https://support.google.com/google-ads/answer/9964350",
      "type": "object",
      "properties": {
        "id": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the conversion custom variable."
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The conversion custom variable is pending activation and will not accrue stats until set to ENABLED. This status can't be used in CREATE and UPDATE requests.",
            "The conversion custom variable is enabled and will accrue stats.",
            "The conversion custom variable is paused and will not accrue stats until set to ENABLED again."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ACTIVATION_NEEDED",
            "ENABLED",
            "PAUSED"
          ],
          "description": "The status of the conversion custom variable for conversion event accrual.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "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."
        },
        "resourceName": {
          "type": "string",
          "description": "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}`"
        },
        "tag": {
          "description": "Required. Immutable. The tag of the conversion custom variable. It is used in the event snippet and sent to Google Ads along with conversion pings. For conversion uploads in Google Ads API, the resource name of the conversion custom variable is used. Tag should be unique. The maximum size of tag is 100 bytes. There should not be any extra spaces before and after. Currently only lowercase letters, numbers and underscores are allowed in the tag.",
          "type": "string"
        },
        "ownerCustomer": {
          "type": "string",
          "description": "Output only. The resource name of the customer that owns the conversion custom variable."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ConversionGoalCampaignConfig": {
      "description": "Conversion goal settings for a Campaign.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "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}`"
        },
        "goalConfigLevel": {
          "x-enumDescriptions": [
            "The goal config level has not been specified.",
            "The goal config level is not known in this version.",
            "The goal config is defined at the customer level.",
            "The goal config is defined at the campaign level."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CUSTOMER",
            "CAMPAIGN"
          ],
          "description": "The level of goal config the campaign is using.",
          "type": "string"
        },
        "campaign": {
          "type": "string",
          "description": "Immutable. The campaign with which this conversion goal campaign config is associated."
        },
        "customConversionGoal": {
          "type": "string",
          "description": "The custom conversion goal the campaign is using for optimization."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ConversionTrackingSetting": {
      "type": "object",
      "properties": {
        "conversionTrackingId": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "acceptedCustomerDataTerms": {
          "description": "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.",
          "type": "boolean"
        },
        "googleAdsConversionCustomer": {
          "description": "The resource name of the customer where conversions are created and managed. This field is read-only.",
          "type": "string"
        },
        "crossAccountConversionTrackingId": {
          "description": "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. This field can only be managed through the Google Ads UI. This field is read-only.",
          "type": "string",
          "format": "int64"
        },
        "enhancedConversionsForLeadsEnabled": {
          "description": "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.",
          "type": "boolean"
        },
        "conversionTrackingStatus": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Customer does not use any conversion tracking.",
            "The conversion actions are created and managed by this customer.",
            "The conversion actions are created and managed by the manager specified in the request's `login-customer-id`.",
            "The conversion actions are created and managed by a manager different from the customer or manager specified in the request's `login-customer-id`."
          ],
          "type": "string",
          "description": "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.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOT_CONVERSION_TRACKED",
            "CONVERSION_TRACKING_MANAGED_BY_SELF",
            "CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER",
            "CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER"
          ]
        }
      },
      "description": "A collection of customer-wide settings related to Google Ads Conversion Tracking."
    },
    "GoogleAdsGoogleadsV25Resources__ConversionValueRule": {
      "description": "A conversion value rule",
      "type": "object",
      "properties": {
        "audienceCondition": {
          "description": "Condition for audience that must be satisfied for the value rule to apply.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleAudienceCondition"
        },
        "itineraryCondition": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleItineraryCondition",
          "description": "Condition for itinerary that must be satisfied for the value rule to apply."
        },
        "action": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleAction",
          "description": "Action applied when the rule is triggered."
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the conversion value rule.",
          "format": "int64"
        },
        "status": {
          "description": "The status of the conversion value rule.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Conversion Value Rule is enabled and can be applied.",
            "Conversion Value Rule is permanently deleted and can't be applied.",
            "Conversion Value Rule is paused, but can be re-enabled."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED",
            "PAUSED"
          ]
        },
        "geoLocationCondition": {
          "description": "Condition for Geo location that must be satisfied for the value rule to apply.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleGeoLocationCondition"
        },
        "deviceCondition": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ConversionValueRule_ValueRuleDeviceCondition",
          "description": "Condition for device type that must be satisfied for the value rule to apply."
        },
        "resourceName": {
          "description": "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}`",
          "type": "string"
        },
        "ownerCustomer": {
          "description": "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 **",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ConversionValueRuleSet": {
      "description": "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.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "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}`"
        },
        "ownerCustomer": {
          "description": "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 **",
          "type": "string"
        },
        "conversionActionCategories": {
          "type": "array",
          "description": "Immutable. The conversion action categories of the conversion value rule set.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Default category.",
              "User visiting a page.",
              "Purchase, sales, or \"order placed\" event.",
              "Signup user action.",
              "Software download action (as for an app).",
              "The addition of items to a shopping cart or bag on an advertiser site.",
              "When someone enters the checkout flow on an advertiser site.",
              "The start of a paid subscription for a product or service.",
              "A call to indicate interest in an advertiser's offering.",
              "A lead conversion imported from an external source into Google Ads.",
              "A submission of a form on an advertiser site indicating business interest.",
              "A booking of an appointment with an advertiser's business.",
              "A quote or price estimate request.",
              "A search for an advertiser's business location with intention to visit.",
              "A click to an advertiser's partner's site.",
              "A call, SMS, email, chat or other type of contact to an advertiser.",
              "A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.",
              "A visit to a physical store location.",
              "A sale occurring in a physical store.",
              "A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".",
              "A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser.",
              "User watches an ad from a channel and later watches either the same video or a video from the same channel as the ad."
            ],
            "enum": [
              "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",
              "YOUTUBE_FOLLOW_ON_VIEWS"
            ]
          }
        },
        "campaign": {
          "description": "The resource name of the campaign when the conversion value rule set is attached to a campaign.",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the conversion value rule set.",
          "format": "int64"
        },
        "conversionValueRules": {
          "description": "Resource names of rules within the rule set.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Conversion Value Rule Set is enabled and can be applied.",
            "Conversion Value Rule Set is permanently deleted and can't be applied.",
            "Conversion Value Rule Set is paused and won't be applied. It can be enabled again."
          ],
          "description": "Output only. The status of the conversion value rule set. ** Read-only **",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED",
            "PAUSED"
          ]
        },
        "attachmentType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Attached to the customer.",
            "Attached to a campaign."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CUSTOMER",
            "CAMPAIGN"
          ],
          "description": "Immutable. Defines the scope where the conversion value rule set is attached.",
          "type": "string"
        },
        "dimensions": {
          "description": "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.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Dimension for geo location.",
              "Dimension for device type.",
              "Dimension for audience.",
              "This dimension implies the rule will always apply.",
              "Dimension for itinerary."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "GEO_LOCATION",
              "DEVICE",
              "AUDIENCE",
              "NO_CONDITION",
              "ITINERARY"
            ]
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CustomConversionGoal": {
      "description": "Custom conversion goal that can make arbitrary conversion actions biddable.",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Immutable. The ID for this custom conversion goal.",
          "format": "int64"
        },
        "status": {
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version.",
            "The custom conversion goal is enabled.",
            "The custom conversion goal is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "type": "string",
          "description": "The status of the custom conversion goal."
        },
        "conversionActions": {
          "description": "Conversion actions that the custom conversion goal makes biddable.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`",
          "type": "string"
        },
        "name": {
          "description": "The name for this custom conversion goal.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__Customer": {
      "description": "A customer.",
      "type": "object",
      "properties": {
        "payPerConversionEligibilityFailureReasons": {
          "description": "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.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Customer does not have enough conversions.",
              "Customer's conversion lag is too high.",
              "Customer uses shared budgets.",
              "Customer has conversions with ConversionActionType.UPLOAD_CLICKS.",
              "Customer's average daily spend is too high.",
              "Customer's eligibility has not yet been calculated by the Google Ads backend. Check back soon.",
              "Customer is not eligible due to other reasons."
            ],
            "enum": [
              "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"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "currencyCode": {
          "type": "string",
          "description": "Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported."
        },
        "videoCustomer": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__VideoCustomer",
          "description": "Video specific information about a Customer."
        },
        "timeZone": {
          "type": "string",
          "description": "Immutable. The local timezone ID of the customer."
        },
        "remarketingSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__RemarketingSetting",
          "description": "Output only. Remarketing setting for a customer."
        },
        "containsEuPoliticalAdvertising": {
          "type": "string",
          "description": "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.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CONTAINS_EU_POLITICAL_ADVERTISING",
            "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The campaign contains political advertising targeted towards the EU. The campaign will be restricted from serving ads in the EU.",
            "The campaign does not contain political advertising targeted towards the EU. No additional serving restrictions will apply."
          ]
        },
        "customerAgreementSetting": {
          "description": "Output only. Customer Agreement Setting for a customer.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerAgreementSetting"
        },
        "hasPartnersBadge": {
          "description": "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.",
          "type": "boolean"
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the customer.",
          "format": "int64"
        },
        "testAccount": {
          "type": "boolean",
          "description": "Output only. Whether the customer is a test account."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`"
        },
        "trackingUrlTemplate": {
          "description": "The URL template for constructing a tracking URL out of parameters. Only mutable in an `update` operation.",
          "type": "string"
        },
        "manager": {
          "type": "boolean",
          "description": "Output only. Whether the customer is a manager."
        },
        "conversionTrackingSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ConversionTrackingSetting",
          "description": "Conversion tracking setting for a customer."
        },
        "locationAssetAutoMigrationDone": {
          "type": "boolean",
          "description": "Output only. True if feed based location has been migrated to asset based location."
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Indicates an active account able to serve ads.",
            "Indicates a canceled account unable to serve ads. Can be reactivated by an admin user.",
            "Indicates a suspended account unable to serve ads. May only be activated by Google support.",
            "Indicates a closed account unable to serve ads. Test account will also have CLOSED status. Status is permanent and may not be reopened."
          ],
          "description": "Output only. The status of the customer.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "CANCELED",
            "SUSPENDED",
            "CLOSED"
          ]
        },
        "descriptiveName": {
          "description": "Optional, non-unique descriptive name of the customer.",
          "type": "string"
        },
        "autoTaggingEnabled": {
          "type": "boolean",
          "description": "Whether auto-tagging is enabled for the customer. Only mutable in an `update` operation."
        },
        "optimizationScoreWeight": {
          "description": "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.",
          "type": "number",
          "format": "double"
        },
        "imageAssetAutoMigrationDone": {
          "description": "Output only. True if feed based image has been migrated to asset based image.",
          "type": "boolean"
        },
        "finalUrlSuffix": {
          "description": "The URL template for appending params to the final URL. Only mutable in an `update` operation.",
          "type": "string"
        },
        "locationAssetAutoMigrationDoneDateTime": {
          "type": "string",
          "description": "Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format."
        },
        "optimizationScore": {
          "format": "double",
          "description": "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.",
          "type": "number"
        },
        "videoBrandSafetySuitability": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "This option lets you show ads across all inventory on YouTube and video partners that meet our standards for monetization. This option may be an appropriate choice for brands that want maximum access to the full breadth of videos eligible for ads, including, for example, videos that have strong profanity in the context of comedy or a documentary, or excessive violence as featured in video games.",
            "This option lets you show ads across a wide range of content that's appropriate for most brands, such as popular music videos, documentaries, and movie trailers. The content you can show ads on is based on YouTube's advertiser-friendly content guidelines that take into account, for example, the strength or frequency of profanity, or the appropriateness of subject matter like sensitive events. Ads won't show, for example, on content with repeated strong profanity, strong sexual content, or graphic violence.",
            "This option lets you show ads on a reduced range of content that's appropriate for brands with particularly strict guidelines around inappropriate language and sexual suggestiveness; above and beyond what YouTube's advertiser-friendly content guidelines address. The videos accessible in this sensitive category meet heightened requirements, especially for inappropriate language and sexual suggestiveness. For example, your ads will be excluded from showing on some of YouTube's most popular music videos and other pop culture content across YouTube and Google video partners."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXPANDED_INVENTORY",
            "STANDARD_INVENTORY",
            "LIMITED_INVENTORY"
          ],
          "type": "string",
          "description": "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."
        },
        "localServicesSettings": {
          "description": "Output only. Settings for Local Services customer.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LocalServicesSettings"
        },
        "callReportingSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CallReportingSetting",
          "description": "Call reporting setting for a customer. Only mutable in an `update` operation."
        },
        "imageAssetAutoMigrationDoneDateTime": {
          "description": "Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CustomerAgreementSetting": {
      "type": "object",
      "properties": {
        "acceptedLeadFormTerms": {
          "description": "Output only. Whether the customer has accepted lead form term of service.",
          "type": "boolean"
        }
      },
      "description": "Customer Agreement Setting for a customer."
    },
    "GoogleAdsGoogleadsV25Resources__CustomerAsset": {
      "type": "object",
      "properties": {
        "source": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset or asset link is provided by advertiser.",
            "The asset or asset link is generated by Google."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADVERTISER",
            "AUTOMATICALLY_CREATED"
          ],
          "description": "Output only. Source of the customer asset link.",
          "type": "string"
        },
        "primaryStatusReasons": {
          "description": "Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.",
              "The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.",
              "The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE",
              "The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.",
              "The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "ASSET_LINK_PAUSED",
              "ASSET_LINK_REMOVED",
              "ASSET_DISAPPROVED",
              "ASSET_UNDER_REVIEW",
              "ASSET_APPROVED_LABELED"
            ]
          },
          "type": "array"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`",
          "type": "string"
        },
        "primaryStatusDetails": {
          "type": "array",
          "description": "Output only. Provides the details of the primary status and its associated reasons.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AssetLinkPrimaryStatusDetails"
          }
        },
        "fieldType": {
          "description": "Required. Immutable. Role that the asset takes for the customer link.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset is linked for use as a headline.",
            "The asset is linked for use as a description.",
            "The asset is linked for use as mandatory ad text.",
            "The asset is linked for use as a marketing image.",
            "The asset is linked for use as a media bundle.",
            "The asset is linked for use as a YouTube video.",
            "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.",
            "The asset is linked for use as a Lead Form extension.",
            "The asset is linked for use as a Promotion extension.",
            "The asset is linked for use as a Callout extension.",
            "The asset is linked for use as a Structured Snippet extension.",
            "The asset is linked for use as a Sitelink.",
            "The asset is linked for use as a Mobile App extension.",
            "The asset is linked for use as a Hotel Callout extension.",
            "The asset is linked for use as a Call extension.",
            "The asset is linked for use as a Price extension.",
            "The asset is linked for use as a long headline.",
            "The asset is linked for use as a business name.",
            "The asset is linked for use as a square marketing image.",
            "The asset is linked for use as a portrait marketing image.",
            "The asset is linked for use as a logo.",
            "The asset is linked for use as a landscape logo.",
            "The asset is linked for use as a non YouTube logo.",
            "The asset is linked for use to select a call-to-action.",
            "The asset is linked for use to select an ad image.",
            "The asset is linked for use as a business logo.",
            "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.",
            "The asset is linked for use as a Demand Gen carousel card.",
            "The asset is linked for use as a Business Message.",
            "The asset is linked for use as a tall portrait marketing image.",
            "The asset is linked for use as related YouTube videos.",
            "The asset is linked for use as a landing page preview image.",
            "The asset is linked for use as a long description.",
            "The asset is linked for use as a call-to-action.",
            "The asset is linked for use as a classic display image."
          ],
          "enum": [
            "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",
            "RELATED_YOUTUBE_VIDEOS",
            "LANDING_PAGE_PREVIEW",
            "LONG_DESCRIPTION",
            "CALL_TO_ACTION",
            "CLASSIC_DISPLAY_IMAGE"
          ]
        },
        "status": {
          "type": "string",
          "description": "Status of the customer asset.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Asset link is enabled.",
            "Asset link has been removed.",
            "Asset link is paused."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED",
            "PAUSED"
          ]
        },
        "primaryStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "PAUSED",
            "REMOVED",
            "PENDING",
            "LIMITED",
            "NOT_ELIGIBLE"
          ],
          "type": "string",
          "description": "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.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset is eligible to serve.",
            "The user-specified asset link status is paused.",
            "The user-specified asset link status is removed.",
            "The asset may serve in the future.",
            "The asset is serving in a partial capacity.",
            "The asset is not eligible to serve."
          ]
        },
        "asset": {
          "description": "Required. Immutable. The asset which is linked to the customer.",
          "type": "string"
        }
      },
      "description": "A link between a customer and an asset."
    },
    "GoogleAdsGoogleadsV25Resources__CustomerCustomizer": {
      "description": "A customizer value for the associated CustomizerAttribute at the Customer level.",
      "type": "object",
      "properties": {
        "customizerAttribute": {
          "description": "Required. Immutable. The customizer attribute which is linked to the customer.",
          "type": "string"
        },
        "status": {
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version.",
            "The customizer value is enabled.",
            "The customizer value is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "type": "string",
          "description": "Output only. The status of the customer customizer attribute."
        },
        "resourceName": {
          "description": "Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`",
          "type": "string"
        },
        "value": {
          "description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomizerValue"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CustomerNegativeCriterion": {
      "description": "A negative criterion for exclusions at the customer level.",
      "type": "object",
      "properties": {
        "placementList": {
          "description": "Immutable. PlacementList.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PlacementListInfo"
        },
        "youtubeVideo": {
          "description": "Immutable. YouTube Video.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeVideoInfo"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`",
          "type": "string"
        },
        "placement": {
          "description": "Immutable. Placement.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PlacementInfo"
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the criterion.",
          "format": "int64"
        },
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Keyword, for example, 'mars cruise'.",
            "Placement, also known as Website, for example, 'www.flowers4sale.com'",
            "Mobile application categories to target.",
            "Mobile applications to target.",
            "Devices to target.",
            "Locations to target.",
            "Listing groups to target.",
            "Ad Schedule.",
            "Age range.",
            "Gender.",
            "Income Range.",
            "Parental status.",
            "YouTube Video.",
            "YouTube Channel.",
            "User list.",
            "Proximity.",
            "A topic target on the display network (for example, \"Pets & Animals\").",
            "Listing scope to target.",
            "Language.",
            "IpBlock.",
            "Content Label for category exclusion.",
            "Carrier.",
            "A category the user is interested in.",
            "Webpage criterion for dynamic search ads.",
            "Operating system version.",
            "App payment model.",
            "Mobile device.",
            "Custom affinity.",
            "Custom intent.",
            "Location group.",
            "Custom audience",
            "Combined audience",
            "Smart Campaign keyword theme",
            "Audience",
            "Negative Keyword List",
            "Local Services Ads Service ID.",
            "Search Theme.",
            "Brand",
            "Brand List",
            "Life Event",
            "Webpage List",
            "Video lineup",
            "Placement List",
            "A list of rules for item groups in Vertical Ads.",
            "A rule for an item group in Vertical Ads.",
            "Retail Filter Bundle for linking a retail filter shared set to an ad group.",
            "Retail Filter for defining individual tag rules or expressions within a shared set."
          ],
          "description": "Output only. The type of the criterion.",
          "type": "string",
          "enum": [
            "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",
            "RETAIL_FILTER_BUNDLE",
            "RETAIL_FILTER"
          ]
        },
        "mobileApplication": {
          "description": "Immutable. MobileApplication.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileApplicationInfo"
        },
        "negativeKeywordList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__NegativeKeywordListInfo",
          "description": "Immutable. NegativeKeywordList."
        },
        "ipBlock": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__IpBlockInfo",
          "description": "Immutable. IpBlock. You can exclude up to 500 IP addresses per account."
        },
        "contentLabel": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ContentLabelInfo",
          "description": "Immutable. ContentLabel."
        },
        "youtubeChannel": {
          "description": "Immutable. YouTube Channel.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeChannelInfo"
        },
        "mobileAppCategory": {
          "description": "Immutable. MobileAppCategory.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileAppCategoryInfo"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CustomizerAttribute": {
      "type": "object",
      "properties": {
        "type": {
          "description": "Immutable. The type of the customizer attribute.",
          "type": "string",
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version.",
            "Text customizer.",
            "Number customizer.",
            "Price customizer consisting of a number and a currency.",
            "Percentage customizer consisting of a number and a '%'."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TEXT",
            "NUMBER",
            "PRICE",
            "PERCENT"
          ]
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the customizer attribute.",
          "format": "int64"
        },
        "status": {
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version.",
            "The customizer attribute is enabled.",
            "The customizer attribute is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "description": "Output only. The status of the customizer attribute.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`"
        },
        "name": {
          "type": "string",
          "description": "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)."
        }
      },
      "description": "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."
    },
    "GoogleAdsGoogleadsV25Resources__ExperimentArm": {
      "description": "A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes.",
      "type": "object",
      "properties": {
        "campaigns": {
          "type": "array",
          "description": "List of campaigns in the trial arm. The max length is one.",
          "items": {
            "type": "string"
          }
        },
        "trafficSplit": {
          "type": "string",
          "description": "Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.",
          "format": "int64"
        },
        "inDesignCampaigns": {
          "type": "array",
          "description": "Output only. The in design campaigns in the treatment experiment arm.",
          "items": {
            "type": "string"
          }
        },
        "resourceName": {
          "type": "string",
          "description": "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}`"
        },
        "experiment": {
          "type": "string",
          "description": "Immutable. The experiment to which the ExperimentArm belongs."
        },
        "performanceMaxExperimentArmInfo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ExperimentArm_PerformanceMaxExperimentArmInfo",
          "description": "Immutable. Information specific to the control or treatment campaign of a Performance Max experiment. This field is specific to experiments of type PMAX_REPLACEMENT_SHOPPING. For example, the treatment experiment arm contains the information of treatment Performance Max campaign settings for PMAX_REPLACEMENT_SHOPPING experiments."
        },
        "assetTestingInfo": {
          "description": "Details of assets under experiment.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ExperimentArm_AssetTestingInfo"
        },
        "assetGroups": {
          "type": "array",
          "description": "List of asset groups in the experiment arm. The max length is one. In the Optimize Assets experiment construction, the control arm and treatment arm should both contain the same asset group ID.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ExperimentArm_AssetGroupInfo"
          }
        },
        "name": {
          "description": "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.",
          "type": "string"
        },
        "control": {
          "description": "Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.",
          "type": "boolean"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__GranularInsuranceStatus": {
      "description": "Insurance status at geo + vertical level.",
      "type": "object",
      "properties": {
        "verificationStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NEEDS_REVIEW",
            "FAILED",
            "PASSED",
            "NOT_APPLICABLE",
            "NO_SUBMISSION",
            "PARTIAL_SUBMISSION",
            "PENDING_ESCALATION"
          ],
          "type": "string",
          "description": "Output only. Granular insurance status, per geo + vertical.",
          "x-enumDescriptions": [
            "Not specified.",
            "Unknown verification status.",
            "Verification has started, but has not finished.",
            "Verification has failed.",
            "Verification has passed.",
            "Verification is not applicable.",
            "Verification is required but pending submission.",
            "Not all required verification has been submitted.",
            "Verification needs review by Local Services Ads Ops Specialist."
          ]
        },
        "categoryId": {
          "description": "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",
          "type": "string"
        },
        "geoCriterionId": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__GranularLicenseStatus": {
      "description": "License status at geo + vertical level.",
      "type": "object",
      "properties": {
        "verificationStatus": {
          "x-enumDescriptions": [
            "Not specified.",
            "Unknown verification status.",
            "Verification has started, but has not finished.",
            "Verification has failed.",
            "Verification has passed.",
            "Verification is not applicable.",
            "Verification is required but pending submission.",
            "Not all required verification has been submitted.",
            "Verification needs review by Local Services Ads Ops Specialist."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NEEDS_REVIEW",
            "FAILED",
            "PASSED",
            "NOT_APPLICABLE",
            "NO_SUBMISSION",
            "PARTIAL_SUBMISSION",
            "PENDING_ESCALATION"
          ],
          "description": "Output only. Granular license status, per geo + vertical.",
          "type": "string"
        },
        "categoryId": {
          "description": "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",
          "type": "string"
        },
        "geoCriterionId": {
          "type": "string",
          "description": "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.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__Label": {
      "description": "A label.",
      "type": "object",
      "properties": {
        "id": {
          "format": "int64",
          "description": "Output only. ID of the label. Read only.",
          "type": "string"
        },
        "status": {
          "type": "string",
          "description": "Output only. Status of the label. Read only.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Label is enabled.",
            "Label is removed."
          ]
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. Name of the resource. Label resource names have the form: `customers/{customer_id}/labels/{label_id}`"
        },
        "name": {
          "type": "string",
          "description": "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."
        },
        "textLabel": {
          "description": "A type of label displaying text on a colored background.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TextLabel"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ListingGroupFilterDimension": {
      "type": "object",
      "properties": {
        "productBrand": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductBrand",
          "description": "Brand of a product offer."
        },
        "productCondition": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductCondition",
          "description": "Condition of a product offer."
        },
        "productCustomAttribute": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductCustomAttribute",
          "description": "Custom attribute of a product offer."
        },
        "productItemId": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductItemId",
          "description": "Item id of a product offer."
        },
        "webpage": {
          "description": "Filters for URLs in a page feed and URLs from the advertiser web domain.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_Webpage"
        },
        "productCategory": {
          "description": "Category of a product offer.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductCategory"
        },
        "productType": {
          "description": "Type of a product offer.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductType"
        },
        "retailFilterBundle": {
          "description": "Dimension for Retail Product Tags.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_RetailFilterBundle"
        },
        "productChannel": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductChannel",
          "description": "Locality of a product offer."
        }
      },
      "description": "Listing dimensions for the asset group listing group filter."
    },
    "GoogleAdsGoogleadsV25Resources__ListingGroupFilterDimensionPath": {
      "type": "object",
      "properties": {
        "dimensions": {
          "description": "Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ListingGroupFilterDimension"
          },
          "type": "array"
        }
      },
      "description": "The path defining of dimensions defining a listing group filter."
    },
    "GoogleAdsGoogleadsV25Resources__LocalServicesSettings": {
      "description": "Settings for Local Services customer.",
      "type": "object",
      "properties": {
        "granularInsuranceStatuses": {
          "description": "Output only. A read-only list of geo vertical level insurance statuses.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__GranularInsuranceStatus"
          },
          "type": "array"
        },
        "granularLicenseStatuses": {
          "type": "array",
          "description": "Output only. A read-only list of geo vertical level license statuses.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__GranularLicenseStatus"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__RecommendationSubscription": {
      "description": "Recommendation Subscription resource",
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "description": "Required. Status of the subscription, either enabled or paused.",
          "x-enumDescriptions": [
            "Not specified.",
            "Output-only. Represents a format not yet defined in this enum.",
            "A subscription in the enabled state will automatically apply any recommendations of that type.",
            "Recommendations of the relevant type will not be automatically applied. Subscriptions cannot be deleted. Once created, they can only move between enabled and paused states."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "PAUSED"
          ]
        },
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Provides optimized budget recommendations for campaigns.",
            "Keyword recommendation.",
            "Recommendation to add a new text ad.",
            "Recommendation to update a campaign to use a Target CPA bidding strategy.",
            "Recommendation to update a campaign to use the Maximize Conversions bidding strategy.",
            "Recommendation to enable Enhanced Cost Per Click for a campaign.",
            "Recommendation to start showing your campaign's ads on Google Search Partners Websites.",
            "Recommendation to update a campaign to use a Maximize Clicks bidding strategy.",
            "Recommendation to start using the \"Optimize\" ad rotation setting for the given ad group.",
            "Recommendation to change an existing keyword from one match type to a broader match type.",
            "Recommendation to move unused budget from one budget to a constrained budget.",
            "Budget recommendation for campaigns that are expected to become budget-constrained in the future (as opposed to the CAMPAIGN_BUDGET recommendation, which applies to campaigns that are currently budget-constrained).",
            "Recommendation to update a campaign to use a Target ROAS bidding strategy.",
            "Recommendation to add a new responsive search ad.",
            "Budget recommendation for campaigns whose ROI is predicted to increase with a budget adjustment.",
            "Recommendation to add broad match versions of keywords for fully automated conversion-based bidding campaigns.",
            "Recommendation to add new responsive search ad assets.",
            "Recommendation to upgrade a Smart Shopping campaign to a Performance Max campaign.",
            "Recommendation to improve strength of responsive search ad.",
            "Recommendation to update a campaign to use Display Expansion.",
            "Recommendation to upgrade a Local campaign to a Performance Max campaign.",
            "Recommendation to raise target CPA when it is too low and there are very few or no conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.",
            "Recommendation to raise the budget in advance of a seasonal event that is forecasted to increase traffic, and change bidding strategy from maximize conversion value to target ROAS.",
            "Recommendation to add callout assets to campaign or customer level.",
            "Recommendation to add sitelink assets to campaign or customer level.",
            "Recommendation to add call assets to campaign or customer level.",
            "Recommendation to add the age group attribute to offers that are demoted because of a missing age group.",
            "Recommendation to add a color to offers that are demoted because of a missing color.",
            "Recommendation to add a gender to offers that are demoted because of a missing gender.",
            "Recommendation to add a GTIN (Global Trade Item Number) to offers that are demoted because of a missing GTIN.",
            "Recommendation to add more identifiers to offers that are demoted because of missing identifiers.",
            "Recommendation to add the size to offers that are demoted because of a missing size.",
            "Recommendation informing a customer about a campaign that cannot serve because no products are being targeted.",
            "The shopping recommendation informing a customer about campaign with a high percentage of disapproved products.",
            "Recommendation to create a catch-all campaign that targets all offers.",
            "Recommendation to fix Merchant Center account suspension issues.",
            "Recommendation to fix Merchant Center account suspension warning issues.",
            "Recommendation to migrate offers targeted by Regular Shopping Campaigns to existing Performance Max campaigns.",
            "Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.",
            "Recommendation to raise Target CPA based on Google predictions modeled from past conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.",
            "Recommendation to lower Target ROAS.",
            "Recommendation to opt into Performance Max campaigns.",
            "Recommendation to improve the asset group strength of a Performance Max campaign to an \"Excellent\" rating.",
            "Recommendation to migrate Dynamic Search Ads to Performance Max campaigns.",
            "Recommendation to set a target CPA for campaigns that do not have one specified, in advance of a seasonal event that is forecasted to increase traffic.",
            "Recommendation to set a target CPA for campaigns that do not have one specified.",
            "Recommendation to set a target ROAS for campaigns that do not have one specified.",
            "Recommendation to update a campaign to use the Maximize Conversion Value bidding strategy.",
            "Recommendation to deploy Google Tag on more pages.",
            "Recommendation to turn on Final URL expansion for your Performance Max campaigns.",
            "Recommendation to update a customer list that hasn't been updated in the last 90 days.",
            "Recommendation to create a custom audience.",
            "Recommendation to add lead form assets to campaign or customer level.",
            "Recommendation to improve the strength of ads in Demand Gen campaigns."
          ],
          "enum": [
            "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"
          ],
          "description": "Required. Immutable. The type of recommendation subscribed to.",
          "type": "string"
        },
        "createDateTime": {
          "type": "string",
          "description": "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."
        },
        "modifyDateTime": {
          "type": "string",
          "description": "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."
        },
        "resourceName": {
          "description": "Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__RemarketingSetting": {
      "type": "object",
      "properties": {
        "googleGlobalSiteTag": {
          "type": "string",
          "description": "Output only. The Google tag."
        }
      },
      "description": "Remarketing setting for a customer."
    },
    "GoogleAdsGoogleadsV25Resources__SharedCriterion": {
      "type": "object",
      "properties": {
        "youtubeChannel": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeChannelInfo",
          "description": "Immutable. YouTube Channel."
        },
        "criterionId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the criterion. This field is ignored for mutates."
        },
        "sharedSet": {
          "description": "Immutable. The shared set to which the shared criterion belongs.",
          "type": "string"
        },
        "mobileAppCategory": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileAppCategoryInfo",
          "description": "Immutable. Mobile App Category."
        },
        "brand": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BrandInfo",
          "description": "Immutable. Brand."
        },
        "youtubeVideo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeVideoInfo",
          "description": "Immutable. YouTube Video."
        },
        "retailFilter": {
          "description": "Immutable. Retail Filter.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__RetailFilter"
        },
        "verticalAdsItemGroupRule": {
          "description": "Immutable. Vertical ads item group rule.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VerticalAdsItemGroupRuleInfo"
        },
        "webpage": {
          "description": "Immutable. Webpage.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageInfo"
        },
        "negative": {
          "description": "Immutable. If true, the criterion is excluded. If false, the criterion is targeted.",
          "type": "boolean"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`",
          "type": "string"
        },
        "placement": {
          "description": "Immutable. Placement.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PlacementInfo"
        },
        "type": {
          "description": "Output only. The type of the criterion.",
          "type": "string",
          "enum": [
            "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",
            "RETAIL_FILTER_BUNDLE",
            "RETAIL_FILTER"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Keyword, for example, 'mars cruise'.",
            "Placement, also known as Website, for example, 'www.flowers4sale.com'",
            "Mobile application categories to target.",
            "Mobile applications to target.",
            "Devices to target.",
            "Locations to target.",
            "Listing groups to target.",
            "Ad Schedule.",
            "Age range.",
            "Gender.",
            "Income Range.",
            "Parental status.",
            "YouTube Video.",
            "YouTube Channel.",
            "User list.",
            "Proximity.",
            "A topic target on the display network (for example, \"Pets & Animals\").",
            "Listing scope to target.",
            "Language.",
            "IpBlock.",
            "Content Label for category exclusion.",
            "Carrier.",
            "A category the user is interested in.",
            "Webpage criterion for dynamic search ads.",
            "Operating system version.",
            "App payment model.",
            "Mobile device.",
            "Custom affinity.",
            "Custom intent.",
            "Location group.",
            "Custom audience",
            "Combined audience",
            "Smart Campaign keyword theme",
            "Audience",
            "Negative Keyword List",
            "Local Services Ads Service ID.",
            "Search Theme.",
            "Brand",
            "Brand List",
            "Life Event",
            "Webpage List",
            "Video lineup",
            "Placement List",
            "A list of rules for item groups in Vertical Ads.",
            "A rule for an item group in Vertical Ads.",
            "Retail Filter Bundle for linking a retail filter shared set to an ad group.",
            "Retail Filter for defining individual tag rules or expressions within a shared set."
          ]
        },
        "keyword": {
          "description": "Immutable. Keyword.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo"
        },
        "mobileApplication": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileApplicationInfo",
          "description": "Immutable. Mobile application."
        }
      },
      "description": "A criterion belonging to a shared set."
    },
    "GoogleAdsGoogleadsV25Resources__SharedSet": {
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "A set of keywords that can be excluded from targeting.",
            "A set of placements that can be excluded from targeting.",
            "An account-level set of keywords that can be excluded from targeting.",
            "A set of brands can be included or excluded from targeting.",
            "A set of webpages that can be excluded from targeting. This shared set type is not publicly available.",
            "A set of vertical ads item group rules that can be included or excluded from targeting in Vertical Ads (e.g., for hotel ads).",
            "A set representing Retail Filter, which is used for filtering offers served in a campaign."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NEGATIVE_KEYWORDS",
            "NEGATIVE_PLACEMENTS",
            "ACCOUNT_LEVEL_NEGATIVE_KEYWORDS",
            "BRANDS",
            "WEBPAGES",
            "VERTICAL_ADS_ITEM_GROUP_RULE_LIST",
            "RETAIL_FILTER"
          ],
          "type": "string",
          "description": "Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable."
        },
        "referenceCount": {
          "type": "string",
          "description": "Output only. The number of campaigns associated with this shared set. Read only.",
          "format": "int64"
        },
        "id": {
          "description": "Output only. The ID of this shared set. Read only.",
          "type": "string",
          "format": "int64"
        },
        "status": {
          "description": "Output only. The status of this shared set. Read only.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The shared set is enabled.",
            "The shared set is removed and can no longer be used."
          ]
        },
        "memberCount": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The number of shared criteria within this shared set. Read only."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`"
        },
        "name": {
          "description": "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.",
          "type": "string"
        },
        "verticalAdsItemVerticalType": {
          "description": "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.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Hotels travel vertical.",
            "Vacation rentals travel vertical.",
            "Rental cars travel vertical.",
            "Events travel vertical.",
            "Things to do travel vertical.",
            "Flights travel vertical."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "HOTELS",
            "VACATION_RENTALS",
            "RENTAL_CARS",
            "EVENTS",
            "THINGS_TO_DO",
            "FLIGHTS"
          ]
        }
      },
      "description": "SharedSets are used for sharing criterion exclusions across multiple campaigns."
    },
    "GoogleAdsGoogleadsV25Resources__SmartCampaignSetting": {
      "description": "Settings for configuring Smart campaigns.",
      "type": "object",
      "properties": {
        "advertisingLanguageCode": {
          "description": "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).",
          "type": "string"
        },
        "businessName": {
          "type": "string",
          "description": "The name of the business."
        },
        "phoneNumber": {
          "description": "Phone number and country code.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_SmartCampaignSetting_PhoneNumber"
        },
        "finalUrl": {
          "type": "string",
          "description": "The user-provided landing page URL for this Campaign."
        },
        "campaign": {
          "type": "string",
          "description": "Output only. The campaign to which these settings apply."
        },
        "businessProfileLocation": {
          "type": "string",
          "description": "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."
        },
        "resourceName": {
          "description": "Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id}/smartCampaignSettings/{campaign_id}`",
          "type": "string"
        },
        "adOptimizedBusinessProfileSetting": {
          "description": "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.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__VideoCustomer": {
      "description": "Video specific information about a Customer.",
      "type": "object",
      "properties": {
        "thirdPartyIntegrationPartners": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerThirdPartyIntegrationPartners",
          "description": "Third Party integration partners."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__BatchJobResult": {
      "type": "object",
      "properties": {
        "status": {
          "description": "Details of the errors when processing the operation.",
          "$ref": "#/$defs/GoogleRpc__Status"
        },
        "operationIndex": {
          "description": "Index of the mutate operation.",
          "type": "string",
          "format": "int64"
        },
        "mutateOperationResponse": {
          "description": "Response for the mutate. May be empty if errors occurred.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateOperationResponse"
        }
      },
      "description": "An individual batch job result."
    },
    "GoogleAdsGoogleadsV25Services__MutateAdGroupAdLabelResult": {
      "description": "The result for an ad group ad label mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateAdGroupAdResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "The resource name returned for successful operations.",
          "type": "string"
        },
        "adGroupAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAd",
          "description": "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\"."
        }
      },
      "description": "The result for the ad mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateAdGroupAssetResult": {
      "type": "object",
      "properties": {
        "adGroupAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAsset",
          "description": "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\"."
        },
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      },
      "description": "The result for the ad group asset mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateAdGroupBidModifierResult": {
      "description": "The result for the criterion mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "adGroupBidModifier": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupBidModifier",
          "description": "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\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateAdGroupCriterionCustomizerResult": {
      "description": "The result for the ad group criterion customizer mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "adGroupCriterionCustomizer": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupCriterionCustomizer",
          "description": "The mutated AdGroupCriterionCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateAdGroupCriterionLabelResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      },
      "description": "The result for an ad group criterion label mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateAdGroupCriterionResult": {
      "description": "The result for the criterion mutate.",
      "type": "object",
      "properties": {
        "adGroupCriterion": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupCriterion",
          "description": "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\"."
        },
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateAdGroupCustomizerResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "adGroupCustomizer": {
          "description": "The mutated AdGroupCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupCustomizer"
        }
      },
      "description": "The result for the ad group customizer mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateAdGroupLabelResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      },
      "description": "The result for an ad group label mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateAdGroupResult": {
      "description": "The result for the ad group mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "adGroup": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroup",
          "description": "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\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateAdParameterResult": {
      "description": "The result for the ad parameter mutate.",
      "type": "object",
      "properties": {
        "adParameter": {
          "description": "The mutated AdParameter with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdParameter"
        },
        "resourceName": {
          "description": "The resource name returned for successful operations.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateAdResult": {
      "type": "object",
      "properties": {
        "ad": {
          "description": "The mutated ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Ad"
        },
        "resourceName": {
          "type": "string",
          "description": "The resource name returned for successful operations."
        }
      },
      "description": "The result for the ad mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateAssetGroupAssetResult": {
      "description": "The result for the asset group asset mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateAssetGroupListingGroupFilterResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "assetGroupListingGroupFilter": {
          "description": "The mutated AssetGroupListingGroupFilter with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetGroupListingGroupFilter"
        }
      },
      "description": "The result for the asset group listing group filter mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateAssetGroupResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      },
      "description": "The result for the asset group mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateAssetGroupSignalResult": {
      "description": "The result for the asset group signal mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "assetGroupSignal": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetGroupSignal",
          "description": "The mutated AssetGroupSignal with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateAssetResult": {
      "description": "The result for the asset mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "The resource name returned for successful operations."
        },
        "asset": {
          "description": "The mutated asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Asset"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateAssetSetAssetResult": {
      "description": "The result for the asset set asset mutate.",
      "type": "object",
      "properties": {
        "assetSetAsset": {
          "description": "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\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetSetAsset"
        },
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateAssetSetResult": {
      "description": "The result for the asset set mutate.",
      "type": "object",
      "properties": {
        "assetSet": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetSet",
          "description": "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\"."
        },
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateAudienceResult": {
      "description": "The result for the audience mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "audience": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Audience",
          "description": "The mutated Audience with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateBiddingDataExclusionsResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "biddingDataExclusion": {
          "description": "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\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BiddingDataExclusion"
        }
      },
      "description": "The result for the data exclusion mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateBiddingSeasonalityAdjustmentsResult": {
      "description": "The result for the seasonality adjustment mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "biddingSeasonalityAdjustment": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BiddingSeasonalityAdjustment",
          "description": "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\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateBiddingStrategyResult": {
      "description": "The result for the bidding strategy mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "biddingStrategy": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BiddingStrategy",
          "description": "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\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignAssetResult": {
      "description": "The result for the campaign asset mutate.",
      "type": "object",
      "properties": {
        "campaignAsset": {
          "description": "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\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignAsset"
        },
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignAssetSetResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "campaignAssetSet": {
          "description": "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\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignAssetSet"
        }
      },
      "description": "The result for the campaign asset set mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignBidModifierResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "campaignBidModifier": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignBidModifier",
          "description": "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\"."
        }
      },
      "description": "The result for the criterion mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignBudgetResult": {
      "description": "The result for the campaign budget mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "campaignBudget": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignBudget",
          "description": "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\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignConversionGoalResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      },
      "description": "The result for the campaign conversion goal mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignCriterionResult": {
      "type": "object",
      "properties": {
        "campaignCriterion": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignCriterion",
          "description": "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\"."
        },
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      },
      "description": "The result for the criterion mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignCustomizerResult": {
      "description": "The result for the campaign customizer mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "campaignCustomizer": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignCustomizer",
          "description": "The mutated CampaignCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignDraftResult": {
      "description": "The result for the campaign draft mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "campaignDraft": {
          "description": "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\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignDraft"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignGroupResult": {
      "description": "The result for the campaign group mutate.",
      "type": "object",
      "properties": {
        "campaignGroup": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignGroup",
          "description": "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\"."
        },
        "resourceName": {
          "type": "string",
          "description": "Required. Returned for successful operations."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignLabelResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      },
      "description": "The result for a campaign label mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignResult": {
      "description": "The result for the campaign mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "campaign": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Campaign",
          "description": "The mutated campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateCampaignSharedSetResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "campaignSharedSet": {
          "description": "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\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignSharedSet"
        }
      },
      "description": "The result for the campaign shared set mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateConversionActionResult": {
      "description": "The result for the conversion action mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "conversionAction": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ConversionAction",
          "description": "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\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateConversionCustomVariableResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "conversionCustomVariable": {
          "description": "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\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ConversionCustomVariable"
        }
      },
      "description": "The result for the conversion custom variable mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateConversionGoalCampaignConfigResult": {
      "description": "The result for the conversion goal campaign config mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "conversionGoalCampaignConfig": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ConversionGoalCampaignConfig",
          "description": "The mutated ConversionGoalCampaignConfig with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateConversionValueRuleResult": {
      "description": "The result for the conversion value rule mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "conversionValueRule": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ConversionValueRule",
          "description": "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\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateConversionValueRuleSetResult": {
      "description": "The result for the conversion value rule set mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "conversionValueRuleSet": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ConversionValueRuleSet",
          "description": "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\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateCustomConversionGoalResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "customConversionGoal": {
          "description": "The mutated CustomConversionGoal with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomConversionGoal"
        }
      },
      "description": "The result for the custom conversion goal mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateCustomerAssetResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "customerAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerAsset",
          "description": "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\"."
        }
      },
      "description": "The result for the customer asset mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateCustomerConversionGoalResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      },
      "description": "The result for the customer conversion goal mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateCustomerCustomizerResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "customerCustomizer": {
          "description": "The mutated CustomerCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerCustomizer"
        }
      },
      "description": "The result for the customizer attribute mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateCustomerLabelResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      },
      "description": "The result for a customer label mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateCustomerNegativeCriteriaResult": {
      "type": "object",
      "properties": {
        "customerNegativeCriterion": {
          "description": "The mutated criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerNegativeCriterion"
        },
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      },
      "description": "The result for the criterion mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateCustomerResult": {
      "description": "The result for the customer mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "customer": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Customer",
          "description": "The mutated customer with only mutable fields after mutate. The fields will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateCustomizerAttributeResult": {
      "description": "The result for the customizer attribute mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        },
        "customizerAttribute": {
          "description": "The mutated CustomizerAttribute with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomizerAttribute"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateExperimentArmResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "experimentArm": {
          "description": "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\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ExperimentArm"
        }
      },
      "description": "The result for the experiment arm mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateExperimentResult": {
      "description": "The result for the campaign experiment mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateKeywordPlanAdGroupKeywordResult": {
      "description": "The result for the Keyword Plan ad group keyword mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateKeywordPlanAdGroupResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      },
      "description": "The result for the Keyword Plan ad group mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateKeywordPlanCampaignKeywordResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      },
      "description": "The result for the Keyword Plan campaign keyword mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateKeywordPlanCampaignResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      },
      "description": "The result for the Keyword Plan campaign mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateKeywordPlansResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      },
      "description": "The result for the keyword plan mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateLabelResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "label": {
          "description": "The mutated label with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Label"
        }
      },
      "description": "The result for a label mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateOperationResponse": {
      "type": "object",
      "properties": {
        "assetGroupListingGroupFilterResult": {
          "description": "The result for the asset group listing group filter mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAssetGroupListingGroupFilterResult"
        },
        "customerCustomizerResult": {
          "description": "The result for the customer customizer mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCustomerCustomizerResult"
        },
        "campaignConversionGoalResult": {
          "description": "The result for the campaign conversion goal mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignConversionGoalResult"
        },
        "conversionGoalCampaignConfigResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateConversionGoalCampaignConfigResult",
          "description": "The result for the conversion goal campaign config mutate."
        },
        "smartCampaignSettingResult": {
          "description": "The result for the Smart campaign setting mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateSmartCampaignSettingResult"
        },
        "campaignDraftResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignDraftResult",
          "description": "The result for the campaign draft mutate."
        },
        "adGroupCustomizerResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdGroupCustomizerResult",
          "description": "The result for the ad group customizer mutate."
        },
        "quoteCampaignsResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Actions__QuoteCampaignsResult",
          "description": "The result for the QuoteCampaigns action."
        },
        "biddingSeasonalityAdjustmentResult": {
          "description": "The result for the bidding seasonality adjustment mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateBiddingSeasonalityAdjustmentsResult"
        },
        "campaignBudgetResult": {
          "description": "The result for the campaign budget mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignBudgetResult"
        },
        "assetResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAssetResult",
          "description": "The result for the asset mutate."
        },
        "customerLabelResult": {
          "description": "The result for the customer label mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCustomerLabelResult"
        },
        "experimentArmResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateExperimentArmResult",
          "description": "The result for the experiment arm mutate."
        },
        "campaignAssetResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignAssetResult",
          "description": "The result for the campaign asset mutate."
        },
        "campaignCriterionResult": {
          "description": "The result for the campaign criterion mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignCriterionResult"
        },
        "customerResult": {
          "description": "The result for the customer mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCustomerResult"
        },
        "adGroupCriterionCustomizerResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdGroupCriterionCustomizerResult",
          "description": "The result for the ad group criterion customizer mutate."
        },
        "customizerAttributeResult": {
          "description": "The result for the customizer attribute mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCustomizerAttributeResult"
        },
        "biddingStrategyResult": {
          "description": "The result for the bidding strategy mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateBiddingStrategyResult"
        },
        "customConversionGoalResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCustomConversionGoalResult",
          "description": "The result for the custom conversion goal mutate."
        },
        "adGroupAdLabelResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdGroupAdLabelResult",
          "description": "The result for the ad group ad label mutate."
        },
        "adGroupResult": {
          "description": "The result for the ad group mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdGroupResult"
        },
        "assetGroupSignalResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAssetGroupSignalResult",
          "description": "The result for the asset group signal mutate."
        },
        "customerConversionGoalResult": {
          "description": "The result for the customer conversion goal mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCustomerConversionGoalResult"
        },
        "adGroupLabelResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdGroupLabelResult",
          "description": "The result for the ad group label mutate."
        },
        "campaignSharedSetResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignSharedSetResult",
          "description": "The result for the campaign shared set mutate."
        },
        "audienceResult": {
          "description": "The result for the audience mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAudienceResult"
        },
        "customerNegativeCriterionResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCustomerNegativeCriteriaResult",
          "description": "The result for the customer negative criterion mutate."
        },
        "assetGroupAssetResult": {
          "description": "The result for the asset group asset mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAssetGroupAssetResult"
        },
        "sharedSetResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateSharedSetResult",
          "description": "The result for the shared set mutate."
        },
        "conversionActionResult": {
          "description": "The result for the conversion action mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateConversionActionResult"
        },
        "recommendationSubscriptionResult": {
          "description": "The result for the recommendation subscription mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateRecommendationSubscriptionResult"
        },
        "campaignBidModifierResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignBidModifierResult",
          "description": "The result for the campaign bid modifier mutate."
        },
        "adGroupBidModifierResult": {
          "description": "The result for the ad group bid modifier mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdGroupBidModifierResult"
        },
        "userListResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateUserListResult",
          "description": "The result for the user list mutate."
        },
        "keywordPlanResult": {
          "description": "The result for the keyword plan mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateKeywordPlansResult"
        },
        "adParameterResult": {
          "description": "The result for the ad parameter mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdParameterResult"
        },
        "labelResult": {
          "description": "The result for the label mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateLabelResult"
        },
        "campaignGroupResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignGroupResult",
          "description": "The result for the campaign group mutate."
        },
        "bookCampaignsResult": {
          "description": "The result for the BookCampaigns action.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Actions__BookCampaignsResult"
        },
        "keywordPlanCampaignKeywordResult": {
          "description": "The result for the keyword plan campaign keyword mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateKeywordPlanCampaignKeywordResult"
        },
        "remarketingActionResult": {
          "description": "The result for the remarketing action mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateRemarketingActionResult"
        },
        "keywordPlanCampaignResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateKeywordPlanCampaignResult",
          "description": "The result for the keyword plan campaign mutate."
        },
        "adResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdResult",
          "description": "The result for the ad mutate."
        },
        "assetGroupResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAssetGroupResult",
          "description": "The result for the asset group mutate."
        },
        "customerAssetResult": {
          "description": "The result for the customer asset mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCustomerAssetResult"
        },
        "campaignCustomizerResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignCustomizerResult",
          "description": "The result for the campaign customizer mutate."
        },
        "campaignResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignResult",
          "description": "The result for the campaign mutate."
        },
        "adGroupAdResult": {
          "description": "The result for the ad group ad mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdGroupAdResult"
        },
        "biddingDataExclusionResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateBiddingDataExclusionsResult",
          "description": "The result for the bidding data exclusion mutate."
        },
        "conversionValueRuleResult": {
          "description": "The result for the conversion value rule mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateConversionValueRuleResult"
        },
        "experimentResult": {
          "description": "The result for the experiment mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateExperimentResult"
        },
        "conversionCustomVariableResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateConversionCustomVariableResult",
          "description": "The result for the conversion custom variable mutate."
        },
        "adGroupAssetResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdGroupAssetResult",
          "description": "The result for the ad group asset mutate."
        },
        "adGroupCriterionResult": {
          "description": "The result for the ad group criterion mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdGroupCriterionResult"
        },
        "sharedCriterionResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateSharedCriterionResult",
          "description": "The result for the shared criterion mutate."
        },
        "keywordPlanAdGroupKeywordResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateKeywordPlanAdGroupKeywordResult",
          "description": "The result for the keyword plan ad group keyword mutate."
        },
        "campaignLabelResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignLabelResult",
          "description": "The result for the campaign label mutate."
        },
        "conversionValueRuleSetResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateConversionValueRuleSetResult",
          "description": "The result for the conversion value rule set mutate."
        },
        "assetSetAssetResult": {
          "description": "The result for the asset set asset mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAssetSetAssetResult"
        },
        "campaignAssetSetResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateCampaignAssetSetResult",
          "description": "The result for the campaign asset set mutate."
        },
        "keywordPlanAdGroupResult": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateKeywordPlanAdGroupResult",
          "description": "The result for the keyword plan ad group mutate."
        },
        "assetSetResult": {
          "description": "The result for the asset set mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAssetSetResult"
        },
        "adGroupCriterionLabelResult": {
          "description": "The result for the ad group criterion label mutate.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateAdGroupCriterionLabelResult"
        }
      },
      "description": "Response message for the resource mutate or action."
    },
    "GoogleAdsGoogleadsV25Services__MutateRecommendationSubscriptionResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Resource name of the subscription that was modified."
        },
        "recommendationSubscription": {
          "description": "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\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__RecommendationSubscription"
        }
      },
      "description": "Result message for RecommendationSubscriptionService.MutateRecommendationSubscription"
    },
    "GoogleAdsGoogleadsV25Services__MutateRemarketingActionResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        }
      },
      "description": "The result for the remarketing action mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateSharedCriterionResult": {
      "type": "object",
      "properties": {
        "sharedCriterion": {
          "description": "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\".",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__SharedCriterion"
        },
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      },
      "description": "The result for the shared criterion mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateSharedSetResult": {
      "description": "The result for the shared set mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "sharedSet": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__SharedSet",
          "description": "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\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__MutateSmartCampaignSettingResult": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Returned for successful operations.",
          "type": "string"
        },
        "smartCampaignSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__SmartCampaignSetting",
          "description": "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\"."
        }
      },
      "description": "The result for the Smart campaign setting mutate."
    },
    "GoogleAdsGoogleadsV25Services__MutateUserListResult": {
      "description": "The result for the user list mutate.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Returned for successful operations."
        }
      }
    },
    "GoogleRpc__Status": {
      "description": "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).",
      "type": "object",
      "properties": {
        "message": {
          "description": "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.",
          "type": "string"
        },
        "code": {
          "type": "integer",
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32"
        },
        "details": {
          "type": "array",
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL."
            }
          }
        }
      }
    }
  }
}