{
  "$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-search-google-ads-response-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__SearchGoogleAdsResponse",
  "description": "Response message for GoogleAdsService.Search.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-googleads-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__SearchGoogleAdsResponse",
  "type": "object",
  "properties": {
    "fieldMask": {
      "type": "string",
      "description": "FieldMask that represents what fields were requested by the user.",
      "format": "google-fieldmask"
    },
    "nextPageToken": {
      "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.",
      "type": "string"
    },
    "summaryRow": {
      "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__GoogleAdsRow",
      "description": "Summary row that contains summary of metrics in results. Summary of metrics means aggregation of metrics across all results, here aggregation could be sum, average, rate, etc."
    },
    "queryResourceConsumption": {
      "format": "int64",
      "description": "The amount of resources consumed to serve the query.",
      "type": "string"
    },
    "metricAttributes": {
      "type": "array",
      "description": "The metric attributes of the metrics in the results.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MetricAttributes"
      }
    },
    "results": {
      "type": "array",
      "description": "The list of rows that matched the query.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__GoogleAdsRow"
      }
    },
    "totalResultsCount": {
      "format": "int64",
      "type": "string",
      "description": "Total number of results that match the query ignoring the LIMIT clause."
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Common_CampaignGoalSettings_CampaignLoyaltyRetentionGoalSettings": {
      "description": "Loyalty retention campaign goal settings.",
      "type": "object",
      "properties": {
        "enableBidAdjustmentsForLoyaltyMembers": {
          "type": "boolean",
          "description": "Whether to adjust bids for loyalty members."
        },
        "showTargetedLoyaltyMemberBenefitsInPla": {
          "description": "Whether to show targeted loyalty member benefits in PLA format in eligible countries.",
          "type": "boolean"
        },
        "valueSettingsOverride": {
          "description": "Loyalty retention goal campaign specific value settings.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerLifecycleOptimizationValueSettings"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common_CampaignGoalSettings_CampaignNewCustomerAcquisitionGoalSettings": {
      "description": "New Customer Acquisition campaign goal settings.",
      "type": "object",
      "properties": {
        "targetOption": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The mode is used when the campaign optimizes for all customers, which is the default value.",
            "This mode configures the campaign to target only customers who have previously interacted but are now lapsed or disengaged."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TARGET_ALL",
            "TARGET_SPECIFIC"
          ],
          "description": "New Customer Acquisition goal optimization mode for this campaign. Defaults to TARGET_ALL. Whether the campaign is targeting new customers only.",
          "type": "string"
        },
        "valueSettingsOverride": {
          "description": "New Customer Acquisition goal campaign specific value settings.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerLifecycleOptimizationValueSettings"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common_CampaignGoalSettings_CampaignRetentionGoalSettings": {
      "type": "object",
      "properties": {
        "targetOption": {
          "description": "Retention goal optimization mode for this campaign. Defaults to TARGET_ALL. Only customers on the allowlist can set target_option.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The mode is used when the campaign optimizes for all customers, which is the default value.",
            "This mode configures the campaign to target only customers who have previously interacted but are now lapsed or disengaged."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TARGET_ALL",
            "TARGET_SPECIFIC"
          ]
        },
        "valueSettingsOverride": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerLifecycleOptimizationValueSettings",
          "description": "Retention goal campaign specific value settings."
        }
      },
      "description": "Retention campaign goal settings."
    },
    "GoogleAdsGoogleadsV25Common_GoalSetting_LoyaltyRetentionGoal": {
      "type": "object",
      "properties": {
        "valueSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerLifecycleOptimizationValueSettings",
          "description": "Loyalty retention goal value settings."
        }
      },
      "description": "Loyalty retention goal settings."
    },
    "GoogleAdsGoogleadsV25Common_GoalSetting_NewCustomerAcquisitionGoal": {
      "description": "New Customer Acquisition goal settings.",
      "type": "object",
      "properties": {
        "valueSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerLifecycleOptimizationValueSettings",
          "description": "New Customer Acquisition goal value settings."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common_GoalSetting_RetentionGoal": {
      "type": "object",
      "properties": {
        "valueSettings": {
          "description": "Retention goal value settings.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerLifecycleOptimizationValueSettings"
        }
      },
      "description": "Retention goal settings."
    },
    "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__AssetInteractionTarget": {
      "description": "An AssetInteractionTarget segment.",
      "type": "object",
      "properties": {
        "interactionOnThisAsset": {
          "description": "Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit.",
          "type": "boolean"
        },
        "asset": {
          "description": "The asset resource name.",
          "type": "string"
        }
      }
    },
    "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__AssetUsage": {
      "description": "Contains the usage information of the asset.",
      "type": "object",
      "properties": {
        "asset": {
          "description": "Resource name of the asset.",
          "type": "string"
        },
        "servedAssetFieldType": {
          "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"
          ],
          "type": "string",
          "description": "The served field type of the asset."
        }
      }
    },
    "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__BasicUserListInfo": {
      "type": "object",
      "properties": {
        "actions": {
          "description": "Actions associated with this user list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListActionInfo"
          },
          "type": "array"
        }
      },
      "description": "User list targeting as a collection of conversions or remarketing actions."
    },
    "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__BudgetCampaignAssociationStatus": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "description": "Budget campaign association status.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The campaign is currently using the budget.",
            "The campaign is no longer using the budget."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ]
        },
        "campaign": {
          "description": "The campaign resource name.",
          "type": "string"
        }
      },
      "description": "A BudgetCampaignAssociationStatus segment."
    },
    "GoogleAdsGoogleadsV25Common__BudgetSimulationPoint": {
      "description": "Projected metrics for a specific budget amount.",
      "type": "object",
      "properties": {
        "topSlotImpressions": {
          "format": "int64",
          "type": "string",
          "description": "Projected number of top slot impressions. Only search advertising channel type supports this field."
        },
        "requiredCpcBidCeilingMicros": {
          "description": "Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency. Only campaigns with the Target Spend bidding strategy support this field.",
          "type": "string",
          "format": "int64"
        },
        "clicks": {
          "format": "int64",
          "description": "Projected number of clicks.",
          "type": "string"
        },
        "budgetAmountMicros": {
          "type": "string",
          "description": "The simulated budget upon which projected metrics are based.",
          "format": "int64"
        },
        "impressions": {
          "type": "string",
          "description": "Projected number of impressions.",
          "format": "int64"
        },
        "costMicros": {
          "format": "int64",
          "type": "string",
          "description": "Projected cost in micros."
        },
        "biddableConversionsValue": {
          "format": "double",
          "type": "number",
          "description": "Projected total value of biddable conversions."
        },
        "interactions": {
          "description": "Projected number of interactions. Only discovery advertising channel type supports this field.",
          "type": "string",
          "format": "int64"
        },
        "biddableConversions": {
          "description": "Projected number of biddable conversions.",
          "type": "number",
          "format": "double"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__BudgetSimulationPointList": {
      "type": "object",
      "properties": {
        "points": {
          "description": "Projected metrics for a series of budget amounts.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BudgetSimulationPoint"
          },
          "type": "array"
        }
      },
      "description": "A container for simulation points for simulations of type BUDGET."
    },
    "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__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__ClickLocation": {
      "type": "object",
      "properties": {
        "metro": {
          "type": "string",
          "description": "The metro location criterion associated with the impression."
        },
        "region": {
          "type": "string",
          "description": "The region location criterion associated with the impression."
        },
        "country": {
          "description": "The country location criterion associated with the impression.",
          "type": "string"
        },
        "mostSpecific": {
          "type": "string",
          "description": "The most specific location criterion associated with the impression."
        },
        "city": {
          "type": "string",
          "description": "The city location criterion associated with the impression."
        }
      },
      "description": "Location criteria associated with a click."
    },
    "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__Consent": {
      "type": "object",
      "properties": {
        "adUserData": {
          "x-enumDescriptions": [
            "Not specified.",
            "Output-only. Represents a format not yet defined in this enum.",
            "Granted.",
            "Denied."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "GRANTED",
            "DENIED"
          ],
          "description": "This represents consent for ad user data.",
          "type": "string"
        },
        "adPersonalization": {
          "type": "string",
          "description": "This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.",
          "x-enumDescriptions": [
            "Not specified.",
            "Output-only. Represents a format not yet defined in this enum.",
            "Granted.",
            "Denied."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "GRANTED",
            "DENIED"
          ]
        }
      },
      "description": "Consent"
    },
    "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__CpcBidSimulationPoint": {
      "type": "object",
      "properties": {
        "cpcBidScalingModifier": {
          "description": "The simulated scaling modifier upon which projected metrics are based. All CPC bids relevant to the simulated entity are scaled by this modifier.",
          "type": "number",
          "format": "double"
        },
        "costMicros": {
          "type": "string",
          "description": "Projected cost in micros.",
          "format": "int64"
        },
        "biddableConversions": {
          "format": "double",
          "description": "Projected number of biddable conversions.",
          "type": "number"
        },
        "biddableConversionsValue": {
          "description": "Projected total value of biddable conversions.",
          "type": "number",
          "format": "double"
        },
        "impressions": {
          "format": "int64",
          "type": "string",
          "description": "Projected number of impressions."
        },
        "clicks": {
          "format": "int64",
          "description": "Projected number of clicks.",
          "type": "string"
        },
        "requiredBudgetAmountMicros": {
          "format": "int64",
          "description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.",
          "type": "string"
        },
        "topSlotImpressions": {
          "format": "int64",
          "type": "string",
          "description": "Projected number of top slot impressions. Only search advertising channel type supports this field."
        },
        "cpcBidMicros": {
          "format": "int64",
          "description": "The simulated CPC bid upon which projected metrics are based.",
          "type": "string"
        }
      },
      "description": "Projected metrics for a specific CPC bid amount."
    },
    "GoogleAdsGoogleadsV25Common__CpcBidSimulationPointList": {
      "type": "object",
      "properties": {
        "points": {
          "type": "array",
          "description": "Projected metrics for a series of CPC bid amounts.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CpcBidSimulationPoint"
          }
        }
      },
      "description": "A container for simulation points for simulations of type CPC_BID."
    },
    "GoogleAdsGoogleadsV25Common__CpvBidSimulationPoint": {
      "description": "Projected metrics for a specific CPV bid amount.",
      "type": "object",
      "properties": {
        "impressions": {
          "description": "Projected number of impressions.",
          "type": "string",
          "format": "int64"
        },
        "cpvBidMicros": {
          "description": "The simulated CPV bid upon which projected metrics are based.",
          "type": "string",
          "format": "int64"
        },
        "costMicros": {
          "type": "string",
          "description": "Projected cost in micros.",
          "format": "int64"
        },
        "views": {
          "type": "string",
          "description": "Projected number of views.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CpvBidSimulationPointList": {
      "description": "A container for simulation points for simulations of type CPV_BID.",
      "type": "object",
      "properties": {
        "points": {
          "type": "array",
          "description": "Projected metrics for a series of CPV bid amounts.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CpvBidSimulationPoint"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CriterionCategoryAvailability": {
      "description": "Information of category availability, per advertising channel.",
      "type": "object",
      "properties": {
        "locale": {
          "description": "Locales that are available to the category for the channel.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CriterionCategoryLocaleAvailability"
          },
          "type": "array"
        },
        "channel": {
          "description": "Channel types and subtypes that are available to the category.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CriterionCategoryChannelAvailability"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CriterionCategoryChannelAvailability": {
      "description": "Information of advertising channel type and subtypes a category is available in.",
      "type": "object",
      "properties": {
        "availabilityMode": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The category is available to campaigns of all channel types and subtypes.",
            "The category is available to campaigns of a specific channel type, including all subtypes under it.",
            "The category is available to campaigns of a specific channel type and subtype(s)."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ALL_CHANNELS",
            "CHANNEL_TYPE_AND_ALL_SUBTYPES",
            "CHANNEL_TYPE_AND_SUBSET_SUBTYPES"
          ],
          "description": "Format of the channel availability. Can be ALL_CHANNELS (the rest of the fields will not be set), CHANNEL_TYPE (only advertising_channel_type type will be set, the category is available to all sub types under it) or CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, advertising_channel_sub_type, and include_default_channel_sub_type will all be set).",
          "type": "string"
        },
        "advertisingChannelSubType": {
          "description": "Channel subtypes under the channel type the category is available to.",
          "items": {
            "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"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "advertisingChannelType": {
          "description": "Channel type the category is available to.",
          "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"
          ]
        },
        "includeDefaultChannelSubType": {
          "type": "boolean",
          "description": "Whether default channel sub type is included. For example, advertising_channel_type being DISPLAY and include_default_channel_sub_type being false means that the default display campaign where channel sub type is not set is not included in this availability configuration."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CriterionCategoryLocaleAvailability": {
      "type": "object",
      "properties": {
        "availabilityMode": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The category is available to campaigns of all locales.",
            "The category is available to campaigns within a list of countries, regardless of language.",
            "The category is available to campaigns within a list of languages, regardless of country.",
            "The category is available to campaigns within a list of country, language pairs."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ALL_LOCALES",
            "COUNTRY_AND_ALL_LANGUAGES",
            "LANGUAGE_AND_ALL_COUNTRIES",
            "COUNTRY_AND_LANGUAGE"
          ],
          "type": "string",
          "description": "Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and language will be empty), COUNTRY (only country will be set), LANGUAGE (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language will be set)."
        },
        "countryCode": {
          "type": "string",
          "description": "The ISO-3166-1 alpha-2 country code associated with the category."
        },
        "languageCode": {
          "type": "string",
          "description": "ISO 639-1 code of the language associated with the category."
        }
      },
      "description": "Information about which locales a category is available in."
    },
    "GoogleAdsGoogleadsV25Common__CrmBasedUserListInfo": {
      "type": "object",
      "properties": {
        "uploadKeyType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Members are matched from customer info such as email address, phone number or physical address.",
            "Members are matched from a user id generated and assigned by the advertiser.",
            "Members are matched from mobile advertising ids."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CONTACT_INFO",
            "CRM_ID",
            "MOBILE_ADVERTISING_ID"
          ],
          "description": "Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.",
          "type": "string"
        },
        "dataSourceType": {
          "type": "string",
          "description": "Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The uploaded data is first-party data.",
            "The uploaded data is from a third-party credit bureau.",
            "The uploaded data is from a third-party voter file.",
            "The uploaded data is third party partner data."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "FIRST_PARTY",
            "THIRD_PARTY_CREDIT_BUREAU",
            "THIRD_PARTY_VOTER_FILE",
            "THIRD_PARTY_PARTNER_DATA"
          ]
        },
        "appId": {
          "description": "A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, \"476943146\" for \"Flood-It! 2\" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, \"com.labpixies.colordrips\" for \"Color Drips\" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.",
          "type": "string"
        }
      },
      "description": "UserList of CRM users provided by the advertiser."
    },
    "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__CustomerLifecycleOptimizationValueSettings": {
      "type": "object",
      "properties": {
        "valueMultiplier": {
          "format": "double",
          "type": "number",
          "description": "Conversion value multiplier."
        },
        "additionalValue": {
          "description": "Incremental conversion value.",
          "type": "number",
          "format": "double"
        },
        "additionalHighLifetimeValue": {
          "description": "Incremental high lifetime conversion value.",
          "type": "number",
          "format": "double"
        },
        "highLifetimeValueMultiplier": {
          "format": "double",
          "type": "number",
          "description": "High lifetime conversion value multiplier."
        }
      },
      "description": "Lifecycle goal optimization value settings."
    },
    "GoogleAdsGoogleadsV25Common__CustomerMatchUserListMetadata": {
      "description": "Metadata for customer match user list.",
      "type": "object",
      "properties": {
        "userList": {
          "description": "The resource name of remarketing list to update data. Required for job of CUSTOMER_MATCH_USER_LIST type.",
          "type": "string"
        },
        "consent": {
          "description": "The consent setting for all the users in this job.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__Consent"
        }
      }
    },
    "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__DateRange": {
      "type": "object",
      "properties": {
        "startDate": {
          "type": "string",
          "description": "The start date, in yyyy-mm-dd format. This date is inclusive."
        },
        "endDate": {
          "description": "The end date, in yyyy-mm-dd format. This date is inclusive.",
          "type": "string"
        }
      },
      "description": "A date range."
    },
    "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__FlexibleRuleOperandInfo": {
      "type": "object",
      "properties": {
        "rule": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListRuleInfo",
          "description": "List of rule item groups that defines this rule. Rule item groups are grouped together."
        },
        "lookbackWindowDays": {
          "type": "string",
          "description": "Lookback window for this rule in days. From now until X days ago.",
          "format": "int64"
        }
      },
      "description": "Flexible rule that wraps the common rule and a lookback window."
    },
    "GoogleAdsGoogleadsV25Common__FlexibleRuleUserListInfo": {
      "description": "Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.",
      "type": "object",
      "properties": {
        "inclusiveOperands": {
          "description": "Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__FlexibleRuleOperandInfo"
          },
          "type": "array"
        },
        "inclusiveRuleOperator": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "A AND B.",
            "A OR B."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AND",
            "OR"
          ],
          "description": "Operator that defines how the inclusive operands are combined.",
          "type": "string"
        },
        "exclusiveOperands": {
          "description": "Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__FlexibleRuleOperandInfo"
          },
          "type": "array"
        }
      }
    },
    "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__Keyword": {
      "description": "A Keyword criterion segment.",
      "type": "object",
      "properties": {
        "adGroupCriterion": {
          "description": "The AdGroupCriterion resource name.",
          "type": "string"
        },
        "info": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo",
          "description": "Keyword info."
        }
      }
    },
    "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__LocalServicesDocumentReadOnly": {
      "description": "A Local Services Document with read only accessible data.",
      "type": "object",
      "properties": {
        "documentUrl": {
          "type": "string",
          "description": "URL to access an already uploaded Local Services document."
        }
      }
    },
    "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__LogicalUserListInfo": {
      "description": "Represents a user list that is a custom combination of user lists.",
      "type": "object",
      "properties": {
        "rules": {
          "description": "Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListLogicalRuleInfo"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LogicalUserListOperandInfo": {
      "type": "object",
      "properties": {
        "userList": {
          "type": "string",
          "description": "Resource name of a user list as an operand."
        }
      },
      "description": "Operand of logical user list that consists of a user list."
    },
    "GoogleAdsGoogleadsV25Common__LookalikeUserListInfo": {
      "description": "LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists)",
      "type": "object",
      "properties": {
        "expansionLevel": {
          "x-enumDescriptions": [
            "Not specified.",
            "Invalid expansion level.",
            "Expansion to a small set of users that are similar to the seed lists",
            "Expansion to a medium set of users that are similar to the seed lists. Includes all users of EXPANSION_LEVEL_NARROW, and more.",
            "Expansion to a large set of users that are similar to the seed lists. Includes all users of EXPANSION_LEVEL_BALANCED, and more."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NARROW",
            "BALANCED",
            "BROAD"
          ],
          "type": "string",
          "description": "Expansion level, reflecting the size of the lookalike audience"
        },
        "countryCodes": {
          "description": "Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "seedUserListIds": {
          "description": "Seed UserList ID from which this list is derived, provided by user.",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array"
        }
      }
    },
    "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__MetricGoal": {
      "type": "object",
      "properties": {
        "metric": {
          "type": "string",
          "description": "The metric of the goal. For example, clicks, impressions, cost, conversions, etc.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The goal of the experiment is clicks.",
            "The goal of the experiment is impressions.",
            "The goal of the experiment is cost.",
            "The goal of the experiment is conversion rate.",
            "The goal of the experiment is cost per conversion.",
            "The goal of the experiment is conversion value per cost.",
            "The goal of the experiment is avg cpc.",
            "The goal of the experiment is ctr.",
            "The goal of the experiment is incremental conversions.",
            "The goal of the experiment is completed video views.",
            "The goal of the experiment is custom algorithms.",
            "The goal of the experiment is conversions.",
            "The goal of the experiment is conversion value."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CLICKS",
            "IMPRESSIONS",
            "COST",
            "CONVERSIONS_PER_INTERACTION_RATE",
            "COST_PER_CONVERSION",
            "CONVERSIONS_VALUE_PER_COST",
            "AVERAGE_CPC",
            "CTR",
            "INCREMENTAL_CONVERSIONS",
            "COMPLETED_VIDEO_VIEWS",
            "CUSTOM_ALGORITHMS",
            "CONVERSIONS",
            "CONVERSION_VALUE"
          ]
        },
        "direction": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The goal of the experiment is to not change the metric.",
            "The goal of the experiment is to increate the metric.",
            "The goal of the experiment is to decrease the metric.",
            "The goal of the experiment is to either not change or increase the metric.",
            "The goal of the experiment is to either not change or decrease the metric."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NO_CHANGE",
            "INCREASE",
            "DECREASE",
            "NO_CHANGE_OR_INCREASE",
            "NO_CHANGE_OR_DECREASE"
          ],
          "type": "string",
          "description": "The metric direction of the goal. For example, increase, decrease, no change."
        }
      },
      "description": "A metric goal for an experiment."
    },
    "GoogleAdsGoogleadsV25Common__Metrics": {
      "description": "Metrics data.",
      "type": "object",
      "properties": {
        "viewThroughConversionsFromLocationAssetDirections": {
          "format": "double",
          "description": "Number of driving directions clicks on any location surface after an impression. This measure is coming from Asset based location.",
          "type": "number"
        },
        "activeViewAudibilityMeasurableImpressionsRate": {
          "description": "The number of impressions for which Active View could measure if the ad was audible, divided by the total number of impressions with Active View audio enabled.",
          "type": "number",
          "format": "double"
        },
        "allConversionsValueByConversionDate": {
          "description": "The value of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the `by_conversion_date` columns are available at [Understand conversions by time with new columns](https://support.google.com/google-ads/answer/9549009).",
          "type": "number",
          "format": "double"
        },
        "bounceRate": {
          "description": "Percentage of clicks where the user only visited a single page on your site. Imported from Google Analytics.",
          "type": "number",
          "format": "double"
        },
        "ctr": {
          "type": "number",
          "description": "The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions).",
          "format": "double"
        },
        "orders": {
          "format": "double",
          "type": "number",
          "description": "Orders is the total number of purchase conversions you received attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. If a conversion is attributed to previous interactions with your ads (clicks for text or Shopping ads, views for video ads etc.) it's counted as an order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order on your website. Even though they bought 2 products, this would count as 1 order. This metric is only available if you report conversions with cart data."
        },
        "skAdNetworkInstalls": {
          "format": "int64",
          "description": "The number of iOS Store Kit Ad Network conversions.",
          "type": "string"
        },
        "clicks": {
          "description": "The number of clicks.",
          "type": "string",
          "format": "int64"
        },
        "revenueMicros": {
          "format": "int64",
          "description": "Revenue is the total amount you made from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Revenue is the total value of all the orders you received attributed to your ads, minus any discount. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The entire order has a $5 discount. The revenue from this order is $25 = ($10 + $20) - $5. This metric is only available if you report conversions with cart data.",
          "type": "string"
        },
        "allConversions": {
          "description": "The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric.",
          "type": "number",
          "format": "double"
        },
        "conversionValuePValue": {
          "format": "double",
          "type": "number",
          "description": "The p-value for the null hypothesis that the experiment has no effect on conversion value. Ranges from 0 to 1. Say if the p-value is 0.03, that means the probability of observing the data, if the experiment has no effect on conversion value, is 3%."
        },
        "conversionValueChangePointEstimate": {
          "description": "The point estimate when estimating the experiment's effect on conversion value change. Together with `conversion_value_margin_of_error`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the point estimate, which is the center of the confidence interval: `(conversion_value_change_point_estimate - conversion_value_margin_of_error, conversion_value_change_point_estimate + conversion_value_margin_of_error)`.",
          "type": "number",
          "format": "double"
        },
        "conversions": {
          "format": "double",
          "description": "The number of conversions. This only includes conversion actions which `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number"
        },
        "percentNewVisitors": {
          "format": "double",
          "description": "Percentage of first-time sessions (from people who had never visited your site before). Imported from Google Analytics.",
          "type": "number"
        },
        "clicksPointEstimate": {
          "description": "The point estimate when estimating the experiment's effect on clicks. Together with `clicks_margin_of_error`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the point estimate, which is the center of the confidence interval: `(clicks_point_estimate - clicks_margin_of_error, clicks_point_estimate + clicks_margin_of_error)`.",
          "type": "number",
          "format": "double"
        },
        "currentModelAttributedConversionsValue": {
          "format": "double",
          "description": "The value of current model attributed conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number"
        },
        "allGrossProfitMicros": {
          "type": "string",
          "description": "All gross profit is the total profit made from orders attributed to your ads minus the cost of goods sold (COGS). Includes the amount from the gross_profit_micros metric, plus gross profit from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone.",
          "format": "int64"
        },
        "benchmarkCtr": {
          "description": "An indication on how other advertisers' Shopping ads for similar products are performing based on how often people who see their ad click on it.",
          "type": "number",
          "format": "double"
        },
        "grossProfitMargin": {
          "type": "number",
          "description": "Gross profit margin is the percentage gross profit you made from orders attributed to your ads, after taking out the cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. Gross profit margin is the gross profit you made divided by your total revenue and multiplied by 100%. Gross profit margin calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone bought a hat and a shirt in an order on your website. The hat is priced $10 and has a cost of goods sold value of $3. The shirt is priced $20 but has no cost of goods sold value. Gross profit margin for this order will only take into account the hat because it has a cost of goods sold value, so it's 70% = ($10 - $3)/$10 x 100%. This metric is only available if you report conversions with cart data.",
          "format": "double"
        },
        "benchmarkAverageMaxCpc": {
          "format": "double",
          "description": "An indication of how other advertisers are bidding on similar products.",
          "type": "number"
        },
        "allValueAdjustment": {
          "format": "double",
          "description": "The conversion value rule adjustment from all conversions in all conversion categories.",
          "type": "number"
        },
        "conversionLastReceivedRequestDateTime": {
          "type": "string",
          "description": "The last date/time a conversion tag for this conversion action successfully fired and was seen by Google Ads. This firing event may not have been the result of an attributable conversion (for example, because the tag was fired from a browser that did not previously click an ad from an appropriate advertiser). The date/time is in the customer's time zone."
        },
        "assetPinnedAsDescriptionPositionOneCount": {
          "format": "int64",
          "description": "Number of entities in which the asset is pinned to description 1. This metric can only be selected with `ChannelAggregateAssetView` and `CampaignAggregateAssetView`. This metric is only supported in Search channel.",
          "type": "string"
        },
        "assetPinnedAsHeadlinePositionThreeCount": {
          "description": "Number of entities in which the asset is pinned to headline 3. This metric can only be selected with `ChannelAggregateAssetView` and `CampaignAggregateAssetView`. This metric is only supported in Search channel.",
          "type": "string",
          "format": "int64"
        },
        "viewThroughConversionsFromLocationAssetStoreVisits": {
          "format": "double",
          "description": "Estimated number of visits to the business after an impression. This measure is coming from Asset based location.",
          "type": "number"
        },
        "conversionsAbsoluteChangeMarginOfError": {
          "format": "double",
          "description": "The margin of error when estimating the experiment's effect on conversions absolute change. Together with `conversions_absolute_change_point_estimate`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment - control). This field specifies the radius of the confidence interval, which is centered at `conversions_absolute_change_point_estimate`.",
          "type": "number"
        },
        "costOfGoodsSoldMicros": {
          "description": "Cost of goods sold (COGS) is the total cost of the products you sold in orders attributed to your ads. How it works: You can add a cost of goods sold value to every product in Merchant Center. If you report conversions with cart data, the products you sold are matched with their cost of goods sold value and this can be used to calculate the gross profit you made on each order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cost of goods sold for this order is $8 = $3 + $5. This metric is only available if you report conversions with cart data.",
          "type": "string",
          "format": "int64"
        },
        "crossSellGrossProfitMicros": {
          "description": "Cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data.",
          "type": "string",
          "format": "int64"
        },
        "impressionsPointEstimate": {
          "description": "The point estimate when estimating the experiment's effect on impressions. Together with `impressions_margin_of_error`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the point estimate, which is the center of the confidence interval: `(impressions_point_estimate - impressions_margin_of_error, impressions_point_estimate + impressions_margin_of_error)`.",
          "type": "number",
          "format": "double"
        },
        "platformComparableConversionsByConversionDate": {
          "description": "The number of platform comparable conversions. When this metric is segmented by date, the values in the date segment represent the conversion date. This only includes conversion actions for which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number",
          "format": "double"
        },
        "activeViewViewability": {
          "description": "The percentage of time when your ad appeared on an Active View enabled site (measurable impressions) and was viewable (viewable impressions).",
          "type": "number",
          "format": "double"
        },
        "averageCartSize": {
          "description": "Average cart size is the average number of products in each order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average cart size is the total number of products sold divided by the total number of orders you received. Example: You received 2 orders, the first included 3 products and the second included 2. The average cart size is 2.5 products = (3+2)/2. This metric is only available if you report conversions with cart data.",
          "type": "number",
          "format": "double"
        },
        "conversionValueMarginOfError": {
          "format": "double",
          "description": "The margin of error when estimating the experiment's effect on conversion value. Together with `conversion_value_change_point_estimate`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the radius of the confidence interval, which is centered at `conversion_value_change_point_estimate`.",
          "type": "number"
        },
        "publisherUnknownClicks": {
          "format": "int64",
          "description": "Clicks from traffic which is not identified as \"Publisher Purchased\" or \"Publisher Organic\"",
          "type": "string"
        },
        "conversionLastConversionDate": {
          "description": "The date of the most recent conversion for this conversion action. The date is in the customer's time zone.",
          "type": "string"
        },
        "crossDeviceConversionsByConversionDate": {
          "format": "double",
          "description": "The number of cross-device conversions by conversion date. Details for the `by_conversion_date` columns are available at [Understand conversions by time with new columns](https://support.google.com/google-ads/answer/9549009)",
          "type": "number"
        },
        "organicImpressionsPerQuery": {
          "format": "double",
          "description": "The number of times a page from your site was listed in the unpaid search results (`organic_impressions`) divided by the number of searches returning your site's listing in the unpaid results (`organic_queries`). See [About measuring paid and organic search results](https://support.google.com/google-ads/answer/3097241).",
          "type": "number"
        },
        "conversionsAbsoluteChangePointEstimate": {
          "type": "number",
          "description": "The point estimate when estimating the experiment's effect on conversions absolute change. Together with `conversions_absolute_change_margin_of_error`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment - control). This field specifies the point estimate, which is the center of the confidence interval: `(conversions_absolute_change_point_estimate - conversions_absolute_change_margin_of_error, conversions_absolute_change_point_estimate + conversions_absolute_change_margin_of_error)`.",
          "format": "double"
        },
        "hotelExpectedCommissionCost": {
          "format": "double",
          "description": "Expected commission cost. The result of multiplying the commission value times the hotel_commission_rate in advertiser currency.",
          "type": "number"
        },
        "searchRankLostTopImpressionShare": {
          "format": "double",
          "type": "number",
          "description": "The number estimating how often your ad didn't show adjacent to the top organic search results due to poor Ad Rank. Note: Search rank lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001."
        },
        "auctionInsightSearchOverlapRate": {
          "type": "number",
          "description": "This metric is part of the Auction Insights report, and tells how often another participant's ad received an impression when your ad also received an impression. This metric is not publicly available.",
          "format": "double"
        },
        "currentModelAttributedConversionsValuePerCost": {
          "format": "double",
          "type": "number",
          "description": "The value of current model attributed conversions divided by the cost of ad interactions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions."
        },
        "historicalCreativeQualityScore": {
          "type": "string",
          "description": "The creative historical quality score.",
          "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."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BELOW_AVERAGE",
            "AVERAGE",
            "ABOVE_AVERAGE"
          ]
        },
        "allLeadUnitsSold": {
          "format": "double",
          "type": "number",
          "description": "All lead units sold is the total number of products sold as a result of advertising the same product. Includes the amount shown in the lead_units_sold metric, plus lead units sold from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone."
        },
        "viewThroughConversionsFromLocationAssetClickToCall": {
          "format": "double",
          "type": "number",
          "description": "Number of call button clicks on any location surface after an impression. This measure is coming from Asset based location."
        },
        "activeViewAudibleQuartileP25Rate": {
          "format": "double",
          "type": "number",
          "description": "The number of impressions that were audible at the first quartile of the ad playback, divided by the total number of impressions measurable for audibility."
        },
        "platformComparableConversionsFromInteractionsValuePerInteraction": {
          "format": "double",
          "description": "The value of platform comparable conversions from interactions divided by the number of ad interactions. This only includes conversion actions for which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number"
        },
        "valueAdjustment": {
          "format": "double",
          "description": "The conversion value rule adjustment from biddable conversions in all conversion categories.",
          "type": "number"
        },
        "platformComparableConversions": {
          "format": "double",
          "description": "The number of platform comparable conversions. This only includes conversion actions for which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number"
        },
        "auctionInsightSearchPositionAboveRate": {
          "format": "double",
          "type": "number",
          "description": "This metric is part of the Auction Insights report, and tells how often another participant's ad was shown in a higher position than yours, when both of your ads were shown at the same page. This metric is not publicly available."
        },
        "platformComparableConversionsValuePerCost": {
          "type": "number",
          "description": "The value of conversions divided by the cost of ad interactions. This only includes conversion actions for which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "format": "double"
        },
        "allConversionsFromInteractionsValuePerInteraction": {
          "type": "number",
          "description": "The value of all conversions from interactions divided by the total number of interactions.",
          "format": "double"
        },
        "averageCpm": {
          "type": "number",
          "description": "Average cost-per-thousand impressions (CPM).",
          "format": "double"
        },
        "allConversionsFromMenu": {
          "description": "The number of times people clicked a link to view a business's menu after clicking an ad. This metric applies to feed items only.",
          "type": "number",
          "format": "double"
        },
        "crossDeviceConversions": {
          "description": "Conversions from when a customer clicks on a Google Ads ad on one device, then converts on a different device or browser. Cross-device conversions are already included in `all_conversions`.",
          "type": "number",
          "format": "double"
        },
        "currentModelAttributedConversions": {
          "type": "number",
          "description": "Shows how your historic conversions data would look under the attribution model you've currently selected. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "format": "double"
        },
        "conversionsAbsoluteChangePValue": {
          "format": "double",
          "type": "number",
          "description": "The p-value for the null hypothesis that the experiment has no effect on conversions absolute change. Ranges from 0 to 1. Say if the p-value is 0.03, that means the probability of observing the data, if the experiment has no effect on conversions absolute change, is 3%."
        },
        "engagements": {
          "description": "The number of engagements. An engagement occurs when a viewer expands your Lightbox ad. Also, in the future, other ad types may support engagement metrics.",
          "type": "string",
          "format": "int64"
        },
        "searchExactMatchImpressionShare": {
          "format": "double",
          "description": "The impressions you've received divided by the estimated number of impressions you were eligible to receive on the Search Network for search terms that matched your keywords exactly (or were close variants of your keyword), regardless of your keyword match types. Note: Search exact match impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.",
          "type": "number"
        },
        "youtubeShares": {
          "description": "The number of shares on YouTube Shorts videos attributed to ad impressions.",
          "type": "string",
          "format": "int64"
        },
        "allAverageOrderValueMicros": {
          "type": "string",
          "description": "All average order value is the average revenue you made per order attributed to your ads. Includes the amount from the average_order_value metric, plus avg. order value from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone.",
          "format": "int64"
        },
        "combinedClicks": {
          "format": "int64",
          "description": "The number of times your ad or your site's listing in the unpaid results was clicked. See [About measuring paid and organic search results](https://support.google.com/google-ads/answer/3097241).",
          "type": "string"
        },
        "allConversionsFromOtherEngagement": {
          "format": "double",
          "type": "number",
          "description": "The number of other conversions (for example, posting a review or saving a location for a business) that occurred after people clicked an ad. This metric applies to feed items only."
        },
        "allConversionsFromLocationAssetStoreVisits": {
          "type": "number",
          "description": "Estimated number of visits to the business after a chargeable ad event (click or impression). This measure is coming from Asset based location.",
          "format": "double"
        },
        "searchClickShare": {
          "type": "number",
          "description": "The number of clicks you've received on the Search Network divided by the estimated number of clicks you were eligible to receive. Note: Search click share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.",
          "format": "double"
        },
        "averagePageViews": {
          "description": "Average number of pages viewed per session.",
          "type": "number",
          "format": "double"
        },
        "videoQuartileP75Rate": {
          "format": "double",
          "type": "number",
          "description": "Percentage of impressions where the viewer watched 75% of your video."
        },
        "optimizationScoreUplift": {
          "format": "double",
          "description": "Total optimization score uplift of all recommendations.",
          "type": "number"
        },
        "searchRankLostImpressionShare": {
          "type": "number",
          "description": "The estimated percentage of impressions on the Search Network that your ads didn't receive due to poor Ad Rank. Note: Search rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.",
          "format": "double"
        },
        "conversionValuePerCostPValue": {
          "format": "double",
          "type": "number",
          "description": "The p-value for the null hypothesis that the experiment has no effect on conversion value per cost. Ranges from 0 to 1. Say if the p-value is 0.03, that means the probability of observing the data, if the experiment has no effect on conversion value per cost, is 3%."
        },
        "optimizationScoreUrl": {
          "description": "URL for the optimization score page in the Google Ads web interface. This metric can be selected from `customer` or `campaign`, and can be segmented by `segments.recommendation_type`. For example, `SELECT metrics.optimization_score_url, segments.recommendation_type FROM customer` will return a URL for each unique (customer, recommendation_type) combination.",
          "type": "string"
        },
        "costConvertedCurrencyPerPlatformComparableConversion": {
          "format": "double",
          "type": "number",
          "description": "The cost of the platform comparable conversion in the currency of the authorized customer."
        },
        "videoTrueviewViewRateShorts": {
          "description": "The number of TrueView views divided by number of impressions that can potentially lead to TrueView views for Shorts ads.",
          "type": "number",
          "format": "double"
        },
        "allConversionsFromLocationAssetOtherEngagement": {
          "format": "double",
          "type": "number",
          "description": "Number of other types of local action clicks on any location surface after a chargeable ad event (click or impression). This measure is coming from Asset based location."
        },
        "allConversionsFromInteractionsRate": {
          "format": "double",
          "type": "number",
          "description": "All conversions from interactions (as oppose to view through conversions) divided by the number of ad interactions."
        },
        "controlImpressions": {
          "format": "int64",
          "type": "string",
          "description": "The impressions metric on the control arm of the experiment. The treatment impressions value can be selected by using `impressions`."
        },
        "unitsSold": {
          "format": "double",
          "type": "number",
          "description": "Units sold is the total number of products sold from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Units sold is the total number of products sold from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The units sold in this order is 3. This metric is only available if you report conversions with cart data."
        },
        "averageCost": {
          "format": "double",
          "description": "The average amount you pay per interaction. This amount is the total cost of your ads divided by the total number of interactions.",
          "type": "number"
        },
        "conversionsFromInteractionsValuePerInteraction": {
          "format": "double",
          "description": "The value of conversions from interactions divided by the number of ad interactions. This only includes conversion actions which `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number"
        },
        "costPerConversionMarginOfError": {
          "type": "number",
          "description": "The margin of error when estimating the experiment's effect on cost per conversion. Together with `cost_per_conversion_change_point_estimate`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the radius of the confidence interval, which is centered at `cost_per_conversion_change_point_estimate`.",
          "format": "double"
        },
        "currentModelAttributedConversionsFromInteractionsRate": {
          "description": "Current model attributed conversions from interactions divided by the number of ad interactions (such as clicks for text ads or views for video ads). This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number",
          "format": "double"
        },
        "contentBudgetLostImpressionShare": {
          "format": "double",
          "description": "The estimated percent of times that your ad was eligible to show on the Display Network but didn't because your budget was too low. Note: Content budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.",
          "type": "number"
        },
        "crossDeviceConversionsValueByConversionDate": {
          "format": "double",
          "description": "The sum of cross-device conversions value by conversion date. Details for the `by_conversion_date` columns are available at [Understand conversions by time with new columns](https://support.google.com/google-ads/answer/9549009)",
          "type": "number"
        },
        "relativeCtr": {
          "format": "double",
          "description": "Your clickthrough rate (Ctr) divided by the average clickthrough rate of all advertisers on the websites that show your ads. Measures how your ads perform on Display Network sites compared to other ads on the same sites.",
          "type": "number"
        },
        "crossSellUnitsSold": {
          "format": "double",
          "description": "Cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data.",
          "type": "number"
        },
        "allCostOfGoodsSoldMicros": {
          "description": "All cost of goods sold is the total cost of the products you sold in orders attributed to your ads. Includes the amount from the cost_of_goods_sold_micros metric, plus cost of goods sold from all conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone.",
          "type": "string",
          "format": "int64"
        },
        "averageImpressionFrequencyPerUser": {
          "format": "double",
          "type": "number",
          "description": "The average number of times a unique user saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App."
        },
        "impressionsPValue": {
          "format": "double",
          "description": "The p-value for the null hypothesis that the experiment has no effect on impressions. Ranges from 0 to 1. Say if the p-value is 0.03, that means the probability of observing the data, if the experiment has no effect on impressions, is 3%.",
          "type": "number"
        },
        "biddableAppPostInstallConversions": {
          "format": "double",
          "type": "number",
          "description": "Number of in-app actions."
        },
        "costMicros": {
          "description": "The sum of your cost-per-click (CPC) and cost-per-thousand impressions (CPM) costs during this period.",
          "type": "string",
          "format": "int64"
        },
        "conversionsFromInteractionsRate": {
          "description": "Conversions from interactions divided by the number of ad interactions (such as clicks for text ads or views for video ads). This only includes conversion actions which `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number",
          "format": "double"
        },
        "interactionRate": {
          "format": "double",
          "description": "How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown.",
          "type": "number"
        },
        "activeViewAudibleQuartileP75Rate": {
          "format": "double",
          "type": "number",
          "description": "The number of impressions that were audible at the third quartile of the ad playback, divided by the total number of impressions measurable for audibility."
        },
        "activeViewAudibilityInvalidMeasurableImpressionsRate": {
          "format": "double",
          "description": "The number of impressions for which Active View could measure audibility, but that were filtered out by traffic quality filters, divided by the total number of impressions measurable for audibility.",
          "type": "number"
        },
        "clicksMarginOfError": {
          "type": "number",
          "description": "The margin of error when estimating the experiment's effect on clicks. Together with `clicks_point_estimate`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the radius of the confidence interval, which is centered at `clicks_point_estimate`.",
          "format": "double"
        },
        "costMicrosMarginOfError": {
          "type": "number",
          "description": "The margin of error when estimating the experiment's effect on cost. Together with `cost_micros_change_point_estimate`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the radius of the confidence interval, which is centered at `cost_micros_change_point_estimate`.",
          "format": "double"
        },
        "leadCostOfGoodsSoldMicros": {
          "description": "Lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data.",
          "type": "string",
          "format": "int64"
        },
        "auctionInsightSearchImpressionShare": {
          "type": "number",
          "description": "This metric is part of the Auction Insights report, and tells the percentage of impressions that another participant obtained, over the total number of impressions that your ads were eligible for. Any value below 0.1 is reported as 0.0999. This metric is not publicly available.",
          "format": "double"
        },
        "conversionsValuePerCost": {
          "format": "double",
          "description": "The value of conversions divided by the cost of ad interactions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number"
        },
        "allConversionsValue": {
          "format": "double",
          "type": "number",
          "description": "The value of all conversions."
        },
        "activeViewAudibleImpressionsRate": {
          "format": "double",
          "type": "number",
          "description": "The number of impressions that were audible (volume > 0%) at any point during the ad playback, divided by the total number of impressions measurable for audibility."
        },
        "videoTrueviewViewRate": {
          "type": "number",
          "description": "The number of TrueView views your video ad receives divided by its number of impressions, including thumbnail impressions for TrueView in-display ads.",
          "format": "double"
        },
        "allCrossSellUnitsSold": {
          "format": "double",
          "description": "All cross-sell units sold is the total number of products sold as a result of advertising a different product. Includes the amount shown in the cross_sell_units_sold metric, plus cross-sell units sold from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone.",
          "type": "number"
        },
        "allGrossProfitMargin": {
          "description": "All gross profit margin is the percentage gross profit you made from orders attributed to your ads, after taking out the cost of goods sold (COGS). This value is between 0.0 and 1.0, where 1.0 means 100%. Includes the amount from the gross_profit_margin metric, plus gross profit margin across all conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone.",
          "type": "number",
          "format": "double"
        },
        "crossSellCostOfGoodsSoldMicros": {
          "type": "string",
          "description": "Cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data.",
          "format": "int64"
        },
        "auctionInsightSearchTopImpressionPercentage": {
          "format": "double",
          "description": "This metric is part of the Auction Insights report, and tells how often the ads of another participant showed adjacent to the top organic search results. This percentage is computed only over the auctions that you appeared in the page. This metric is not publicly available.",
          "type": "number"
        },
        "allCrossSellCostOfGoodsSoldMicros": {
          "format": "int64",
          "type": "string",
          "description": "All cross-sell cost of goods sold is the total cost of products sold as a result of advertising a different product. Includes the amount from the cross_sell_cost_of_goods_sold_micros metric, plus cross-sell cost of goods sold from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone."
        },
        "videoQuartileP100Rate": {
          "format": "double",
          "type": "number",
          "description": "Percentage of impressions where the viewer watched all of your video."
        },
        "assetPinnedAsHeadlinePositionTwoCount": {
          "format": "int64",
          "type": "string",
          "description": "Number of entities in which the asset is pinned to headline 2. This metric can only be selected with `ChannelAggregateAssetView` and `CampaignAggregateAssetView`. This metric is only supported in Search channel."
        },
        "activeViewCpm": {
          "format": "double",
          "description": "Average cost of viewable impressions (`active_view_impressions`).",
          "type": "number"
        },
        "averageTimeOnSite": {
          "description": "Total duration of all sessions (in seconds) / number of sessions. Imported from Google Analytics.",
          "type": "number",
          "format": "double"
        },
        "primaryImpressions": {
          "format": "int64",
          "type": "string",
          "description": "Primary impression is counted each time your ad is served. This metric is only available for the Campaign resource with adjusted_age_range and adjusted_gender segments. These segmentations are mandatory to get the primary impressions."
        },
        "conversionValuePerCostMarginOfError": {
          "format": "double",
          "description": "The margin of error when estimating the experiment's effect on conversion value per cost. Together with `conversion_value_per_cost_change_point_estimate`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the radius of the confidence interval, which is centered at `conversion_value_per_cost_change_point_estimate`.",
          "type": "number"
        },
        "videoTrueviewViewRateInFeed": {
          "type": "number",
          "description": "The number of TrueView views divided by number of impressions that can potentially lead to TrueView views for in-feed formats.",
          "format": "double"
        },
        "activeViewAudibleThirtySecondsImpressionsRate": {
          "format": "double",
          "type": "number",
          "description": "The number of impressions that were audible for at least 30 seconds (cumulative), divided by the total number of impressions measurable for audibility."
        },
        "averageCpe": {
          "type": "number",
          "description": "The average amount that you've been charged for an ad engagement. This amount is the total cost of all ad engagements divided by the total number of ad engagements.",
          "format": "double"
        },
        "searchImpressionShare": {
          "format": "double",
          "type": "number",
          "description": "The impressions you've received on the Search Network divided by the estimated number of impressions you were eligible to receive. Note: Search impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999."
        },
        "newCustomerLifetimeValue": {
          "description": "New customers' lifetime conversion value. If you have set up customer acquisition goal at either account level or campaign level, this will include the additional conversion value from new customers for biddable conversions. If your campaign has adopted the customer acquisition goal and selected \"bid higher for new customers\", these values will be included in \"conversions_value\" for optimization. See [About customer lifecycle goals](https://support.google.com/google-ads/answer/12080169) for more details.",
          "type": "number",
          "format": "double"
        },
        "averageTargetRoas": {
          "format": "double",
          "type": "number",
          "description": "The average Target ROAS, or unset if not available (for example, for campaigns that had traffic from portfolio bidding strategies or non-tROAS)."
        },
        "searchTopImpressionShare": {
          "format": "double",
          "description": "The impressions you've received among the top ads compared to the estimated number of impressions you were eligible to receive among the top ads. Note: Search top impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. Top ads are generally above the top organic results, although they may show below the top organic results on certain queries.",
          "type": "number"
        },
        "biddableIndirectInstallFirstInAppConversionMicros": {
          "description": "The number of biddable first in app conversions where the app install was driven by interaction with a web campaign.",
          "type": "string",
          "format": "int64"
        },
        "allConversionsFromDirections": {
          "type": "number",
          "description": "The number of times people clicked a \"Get directions\" button to navigate to a business after clicking an ad. This metric applies to feed items only.",
          "format": "double"
        },
        "conversionsByConversionDate": {
          "format": "double",
          "description": "The number of conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions. When this column is selected with date, the values in date column means the conversion date. Details for the `by_conversion_date` columns are available at [Understand conversions by time with new columns](https://support.google.com/google-ads/answer/9549009).",
          "type": "number"
        },
        "videoTrueviewViews": {
          "format": "int64",
          "type": "string",
          "description": "The number of TrueView views your video ads received."
        },
        "allAverageCartSize": {
          "description": "All average cart size is the average number of products in each order attributed to your ads. Includes the amount from the average_cart_size metric, plus avg. cart size from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone.",
          "type": "number",
          "format": "double"
        },
        "hotelPriceDifferencePercentage": {
          "description": "The average price difference between the price offered by reporting hotel advertiser and the cheapest price offered by the competing advertiser.",
          "type": "number",
          "format": "double"
        },
        "messageImpressions": {
          "format": "int64",
          "description": "Number of Click To Message impressions that were message tracking eligible.",
          "type": "string"
        },
        "activeViewMeasurableImpressions": {
          "type": "string",
          "description": "The number of times your ads are appearing on placements in positions where they can be seen.",
          "format": "int64"
        },
        "viewThroughConversionsFromLocationAssetOtherEngagement": {
          "format": "double",
          "description": "Number of other types of local action clicks on any location surface after an impression. This measure is coming from Asset based location.",
          "type": "number"
        },
        "costMicrosChangePointEstimate": {
          "type": "number",
          "description": "The point estimate when estimating the experiment's effect on cost change. Together with `cost_micros_margin_of_error`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the point estimate, which is the center of the confidence interval: `(cost_micros_change_point_estimate - cost_micros_margin_of_error, cost_micros_change_point_estimate + cost_micros_margin_of_error)`.",
          "format": "double"
        },
        "biddableAppInstallConversions": {
          "description": "Number of app installs.",
          "type": "number",
          "format": "double"
        },
        "impressionsFromStoreReach": {
          "format": "int64",
          "description": "The number of times a business's location-based ad was shown. This metric applies to feed items only.",
          "type": "string"
        },
        "organicClicksPerQuery": {
          "format": "double",
          "description": "The number of times someone clicked your site's listing in the unpaid results (organic_clicks) divided by the total number of searches that returned pages from your site (organic_queries). See [About measuring paid and organic search results](https://support.google.com/google-ads/answer/3097241).",
          "type": "number"
        },
        "allCrossSellGrossProfitMicros": {
          "type": "string",
          "description": "All cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). Includes the amount from the cross_sell_gross_profit_micros metric, plus cross-sell gross profit from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone.",
          "format": "int64"
        },
        "searchBudgetLostAbsoluteTopImpressionShare": {
          "type": "number",
          "description": "The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to a low budget. Note: Search budget lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.",
          "format": "double"
        },
        "assetPinnedAsHeadlinePositionOneCount": {
          "type": "string",
          "description": "Number of entities in which the asset is pinned to headline 1. This metric can only be selected with `ChannelAggregateAssetView` and `CampaignAggregateAssetView`. This metric is only supported in Search channel.",
          "format": "int64"
        },
        "activeViewImpressions": {
          "format": "int64",
          "type": "string",
          "description": "A measurement of how often your ad has become viewable on a Display Network site."
        },
        "allNewCustomerLifetimeValue": {
          "format": "double",
          "description": "All of new customers' lifetime conversion value. If you have set up customer acquisition goal at either account level or campaign level, this will include the additional conversion value from new customers for both biddable and non-biddable conversions. If your campaign has adopted the customer acquisition goal and selected \"bid higher for new customers\", these values will be included in `all_conversions_value`. See [About customer lifecycle goals](https://support.google.com/google-ads/answer/12080169) for more details.",
          "type": "number"
        },
        "crossDeviceConversionsValueMicros": {
          "format": "int64",
          "description": "The sum of the value of cross-device conversions, in micros.",
          "type": "string"
        },
        "coviewedImpressions": {
          "description": "All co-viewed impressions represent the total number of people who saw your ad. This includes people who are signed into their Google Account, as well as other people who are watching the same ad on a connected TV. This metric is only available for the Campaign resource with adjusted_age_range and adjusted_gender segments. These segmentations are mandatory to get the all coviewed impressions.",
          "type": "string",
          "format": "int64"
        },
        "costPerPlatformComparableConversion": {
          "format": "double",
          "description": "The cost of ad interactions divided by the number of platform comparable conversions. This only includes conversion actions for which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number"
        },
        "conversionsValue": {
          "type": "number",
          "description": "The value of conversions. This only includes conversion actions which `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "format": "double"
        },
        "costPerConversion": {
          "description": "The cost of ad interactions divided by conversions. This only includes conversion actions which `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number",
          "format": "double"
        },
        "videoTrueviewViewRateInStream": {
          "description": "The number of TrueView views divided by number of impressions that can potentially lead to TrueView views for in-stream formats.",
          "type": "number",
          "format": "double"
        },
        "crossDeviceConversionsValue": {
          "format": "double",
          "description": "The sum of the value of cross-device conversions.",
          "type": "number"
        },
        "uniqueUsers": {
          "description": "The number of unique users who saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App.",
          "type": "string",
          "format": "int64"
        },
        "impressions": {
          "format": "int64",
          "type": "string",
          "description": "Count of how often your ad has appeared on a search results page or website on the Google Network."
        },
        "allCrossSellRevenueMicros": {
          "description": "All cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. Includes the amount from the cross_sell_revenue_micros metric, plus cross-sell revenue from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone.",
          "type": "string",
          "format": "int64"
        },
        "youtubeComments": {
          "format": "int64",
          "type": "string",
          "description": "The number of comments on YouTube Shorts videos attributed to ad impressions."
        },
        "allConversionsFromStoreWebsite": {
          "format": "double",
          "description": "The number of times that people were taken to a business's URL after clicking an ad. This metric applies to feed items only.",
          "type": "number"
        },
        "speedScore": {
          "type": "string",
          "description": "A measure of how quickly your page loads after clicks on your mobile ads. The score is a range from 1 to 10, 10 being the fastest.",
          "format": "int64"
        },
        "platformComparableConversionsFromInteractionsRate": {
          "format": "double",
          "type": "number",
          "description": "Platform comparable conversions from interactions divided by the number of ad interactions (such as clicks for text ads or views for video ads). This only includes conversion actions for which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions."
        },
        "impressionsMarginOfError": {
          "description": "The margin of error when estimating the experiment's effect on impressions. Together with `impressions_point_estimate`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the radius of the confidence interval, which is centered at `impressions_point_estimate`.",
          "type": "number",
          "format": "double"
        },
        "costPerConversionPValue": {
          "type": "number",
          "description": "The p-value for the null hypothesis that the experiment has no effect on cost per conversion. Ranges from 0 to 1. Say if the p-value is 0.03, that means the probability of observing the data, if the experiment has no effect on cost per conversion, is 3%.",
          "format": "double"
        },
        "absoluteTopImpressionPercentage": {
          "format": "double",
          "description": "Search absolute top impression share is the percentage of your Search ad impressions that are shown in the most prominent Search position.",
          "type": "number"
        },
        "crossSellRevenueMicros": {
          "type": "string",
          "description": "Cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data.",
          "format": "int64"
        },
        "valuePerConversionsByConversionDate": {
          "format": "double",
          "type": "number",
          "description": "The value of conversions divided by the number of conversions. This only includes conversion actions for which the `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions. When this column is selected with date, the values in date column means the conversion date. Details for the `by_conversion_date` columns are available at [Understand conversions by time with new columns](https://support.google.com/google-ads/answer/9549009)."
        },
        "activeViewAudibilityMeasurableImpressions": {
          "format": "int64",
          "description": "The number of impressions for which Active View could measure if the ad was audible.",
          "type": "string"
        },
        "valuePerCurrentModelAttributedConversion": {
          "type": "number",
          "description": "The value of current model attributed conversions divided by the number of the conversions. This only includes conversion actions for which the `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "format": "double"
        },
        "allLeadGrossProfitMicros": {
          "format": "int64",
          "type": "string",
          "description": "All lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). Includes the amount from the lead_gross_profit_micros metric, plus lead gross profit from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone."
        },
        "costPerCurrentModelAttributedConversion": {
          "format": "double",
          "type": "number",
          "description": "The cost of ad interactions divided by current model attributed conversions. This only includes conversion actions which `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions."
        },
        "valuePerPlatformComparableConversionsByConversionDate": {
          "format": "double",
          "description": "The value of platform comparable conversions divided by the number of platform comparable conversions. When this metric is segmented by date, the values in the date segment represent the conversion date. This only includes conversion actions for which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number"
        },
        "activeViewAudibleTwoSecondsImpressionsRate": {
          "type": "number",
          "description": "The number of impressions that were audible for at least 2 seconds (cumulative), divided by the total number of impressions measurable for audibility.",
          "format": "double"
        },
        "trueviewAverageCpv": {
          "format": "double",
          "description": "The average amount you pay each time someone views your ad. The average CPV is defined by the total cost of all ad views divided by the number of TrueView views.",
          "type": "number"
        },
        "invalidClickRate": {
          "type": "number",
          "description": "The percentage of clicks filtered out of your total number of clicks (filtered + non-filtered clicks) during the reporting period.",
          "format": "double"
        },
        "allUnitsSold": {
          "description": "All units sold is the total number of products sold from orders attributed to your ads. Includes the amount from the units_sold metric, plus units sold from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone.",
          "type": "number",
          "format": "double"
        },
        "interactionEventTypes": {
          "type": "array",
          "description": "The types of payable and free interactions.",
          "items": {
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "Click to site. In most cases, this interaction navigates to an external location, usually the advertiser's landing page. This is also the default InteractionEventType for click events.",
              "The user's expressed intent to engage with the ad in-place.",
              "User viewed a video ad.",
              "The default InteractionEventType for ad conversion events. This is used when an ad conversion row does NOT indicate that the free interactions (for example, the ad conversions) should be 'promoted' and reported as part of the core metrics. These are simply other (ad) conversions."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "CLICK",
              "ENGAGEMENT",
              "VIDEO_VIEW",
              "NONE"
            ],
            "type": "string"
          }
        },
        "searchRankLostAbsoluteTopImpressionShare": {
          "description": "The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to poor Ad Rank. Note: Search rank lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.",
          "type": "number",
          "format": "double"
        },
        "topImpressionPercentage": {
          "description": "The percent of your ad impressions that are shown adjacent to the top organic search results.",
          "type": "number",
          "format": "double"
        },
        "invalidClicks": {
          "description": "Number of clicks Google considers illegitimate and doesn't charge you for.",
          "type": "string",
          "format": "int64"
        },
        "historicalLandingPageQualityScore": {
          "description": "The quality of historical landing page experience.",
          "type": "string",
          "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."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BELOW_AVERAGE",
            "AVERAGE",
            "ABOVE_AVERAGE"
          ]
        },
        "averageCpc": {
          "type": "number",
          "description": "The total cost of all clicks divided by the total number of clicks received.",
          "format": "double"
        },
        "eligibleImpressionsFromLocationAssetStoreReach": {
          "description": "Number of impressions in which the business location was shown or the location was used for targeting. This measure is coming from Asset based location.",
          "type": "string",
          "format": "int64"
        },
        "interactions": {
          "type": "string",
          "description": "The number of interactions. An interaction is the main user action associated with an ad format-clicks for text and shopping ads, views for video ads, and so on.",
          "format": "int64"
        },
        "platformComparableConversionsValue": {
          "type": "number",
          "description": "The value of platform comparable conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "format": "double"
        },
        "activeViewAudibleQuartileP100Rate": {
          "format": "double",
          "type": "number",
          "description": "The number of impressions that were audible at the fourth quartile of the ad playback, divided by the total number of impressions measurable for audibility."
        },
        "allLeadRevenueMicros": {
          "format": "int64",
          "type": "string",
          "description": "All lead revenue is the total amount you made from products sold as a result of advertising the same product. Includes the amount shown in the lead_revenue_micros metric, plus lead revenue from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone."
        },
        "generalInvalidClicks": {
          "description": "Number of general invalid clicks. These are a subset of your invalid clicks that are detected through routine means of filtration (such as known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc.). You're not charged for them, and they don't affect your account statistics. See [Filtering invalid traffic to ensure quality](https://support.google.com/campaignmanager/answer/6076504).",
          "type": "string",
          "format": "int64"
        },
        "auctionInsightSearchOutrankingShare": {
          "format": "double",
          "description": "This metric is part of the Auction Insights report, and tells the percentage of impressions that your ads outranked (showed above) another participant in the auction, compared to the total number of impressions that your ads were eligible for. Any value below 0.1 is reported as 0.0999. This metric is not publicly available.",
          "type": "number"
        },
        "viewThroughConversionsFromLocationAssetWebsite": {
          "type": "number",
          "description": "Number of website URL clicks on any location surface after an impression. This measure is coming from Asset based location.",
          "format": "double"
        },
        "phoneImpressions": {
          "type": "string",
          "description": "Number of offline phone impressions.",
          "format": "int64"
        },
        "costPerAllConversions": {
          "format": "double",
          "description": "The cost of ad interactions divided by all conversions.",
          "type": "number"
        },
        "videoQuartileP50Rate": {
          "type": "number",
          "description": "Percentage of impressions where the viewer watched 50% of your video.",
          "format": "double"
        },
        "uniqueUsersTenPlus": {
          "description": "This metric counts the unique individuals who were shown your video ad ten or more times within the selected date range. This metric cannot be aggregated, and can only be requested for date ranges of 31 days or less.",
          "type": "string",
          "format": "int64"
        },
        "allConversionsByConversionDate": {
          "type": "number",
          "description": "The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric. When this column is selected with date, the values in date column means the conversion date. Details for the `by_conversion_date` columns are available at [Understand conversions by time with new columns](https://support.google.com/google-ads/answer/9549009).",
          "format": "double"
        },
        "allConversionsFromLocationAssetOrder": {
          "format": "double",
          "type": "number",
          "description": "Number of order clicks on any location surface after a chargeable ad event (click or impression). This measure is coming from Asset based location."
        },
        "assetPinnedAsDescriptionPositionTwoCount": {
          "description": "Number of entities in which the asset is pinned to description 2. This metric can only be selected with `ChannelAggregateAssetView` and `CampaignAggregateAssetView`. This metric is only supported in Search channel.",
          "type": "string",
          "format": "int64"
        },
        "conversionValuePerCostChangePointEstimate": {
          "description": "The point estimate when estimating the experiment's effect on conversion value per cost change. Together with `conversion_value_per_cost_margin_of_error`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the point estimate, which is the center of the confidence interval: `(conversion_value_per_cost_change_point_estimate - conversion_value_per_cost_margin_of_error, conversion_value_per_cost_change_point_estimate + conversion_value_per_cost_margin_of_error)`.",
          "type": "number",
          "format": "double"
        },
        "phoneThroughRate": {
          "description": "Number of phone calls received (`phone_calls`) divided by the number of times your phone number is shown (`phone_impressions`).",
          "type": "number",
          "format": "double"
        },
        "activeViewMeasurableCostMicros": {
          "type": "string",
          "description": "The cost of the impressions you received that were measurable by Active View.",
          "format": "int64"
        },
        "hotelAverageLeadValueMicros": {
          "format": "double",
          "type": "number",
          "description": "Average lead value based on clicks."
        },
        "generalInvalidClickRate": {
          "format": "double",
          "description": "The percentage of clicks that have been filtered out of your total number of clicks (filtered + non-filtered clicks) due to being general invalid clicks. These are clicks Google considers illegitimate that are detected through routine means of filtration (that is, known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc). You're not charged for them, and they don't affect your account statistics. See [Filtering invalid traffic to ensure quality](https://support.google.com/campaignmanager/answer/6076504).",
          "type": "number"
        },
        "organicQueries": {
          "type": "string",
          "description": "The total number of searches that returned your site's listing in the unpaid results. See [About measuring paid and organic search results](https://support.google.com/google-ads/answer/3097241) for details.",
          "format": "int64"
        },
        "leadRevenueMicros": {
          "format": "int64",
          "type": "string",
          "description": "Lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data."
        },
        "biddableCohortAppPostInstallConversions": {
          "format": "double",
          "description": "Participated in-app actions. The number of in app actions that come directly or indirectly from the campaign.",
          "type": "number"
        },
        "uniqueUsersTwoPlus": {
          "format": "int64",
          "type": "string",
          "description": "This metric counts the unique individuals who were shown your video ad two or more times within the selected date range. This metric cannot be aggregated, and can only be requested for date ranges of 31 days or less."
        },
        "valuePerPlatformComparableConversion": {
          "description": "The value of platform comparable conversions divided by the number of platform comparable conversions. This only includes conversion actions for which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "type": "number",
          "format": "double"
        },
        "organicClicks": {
          "description": "The number of times someone clicked your site's listing in the unpaid results for a particular query. See [About measuring paid and organic search results](https://support.google.com/google-ads/answer/3097241).",
          "type": "string",
          "format": "int64"
        },
        "controlConversionValue": {
          "format": "double",
          "description": "The conversion value metric on the control arm of the experiment. The treatment conversion value can be selected by using `conversions_value`.",
          "type": "number"
        },
        "allConversionsFromStoreVisit": {
          "description": "Estimated number of times people visited a business after clicking an ad. This metric applies to feed items only.",
          "type": "number",
          "format": "double"
        },
        "resultsConversionsPurchase": {
          "description": "The purchase conversion stats for the unified goals results.",
          "type": "number",
          "format": "double"
        },
        "valuePerConversion": {
          "type": "number",
          "description": "The value of conversions divided by the number of conversions. This only includes conversion actions for which the `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "format": "double"
        },
        "messageChats": {
          "format": "int64",
          "type": "string",
          "description": "Number of message chats initiated for Click To Message impressions that were message tracking eligible."
        },
        "averageOrderValueMicros": {
          "type": "string",
          "description": "Average order value is the average revenue you made per order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average order value is the total revenue from your orders divided by the total number of orders. Example: You received 3 orders which made $10, $15 and $20 worth of revenue. The average order value is $15 = ($10 + $15 + $20)/3. This metric is only available if you report conversions with cart data.",
          "format": "int64"
        },
        "controlConversions": {
          "type": "number",
          "description": "The conversions metric on the control arm of the experiment. The treatment conversions value can be selected by using `conversions`.",
          "format": "double"
        },
        "searchBudgetLostImpressionShare": {
          "description": "The estimated percent of times that your ad was eligible to show on the Search Network but didn't because your budget was too low. Note: Search budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.",
          "type": "number",
          "format": "double"
        },
        "activeViewAudibleImpressions": {
          "type": "string",
          "description": "The number of impressions that were audible (volume > 0%) at any point during the ad playback.",
          "format": "int64"
        },
        "valuePerAllConversions": {
          "format": "double",
          "description": "The value of all conversions divided by the number of all conversions.",
          "type": "number"
        },
        "conversionsUniqueQueryClusters": {
          "type": "string",
          "description": "Unique query intent cluster count for conversions.",
          "format": "int64"
        },
        "assetPinnedTotalCount": {
          "format": "int64",
          "description": "Number of total usages in which the asset is pinned. This metric can only be selected with `ChannelAggregateAssetView` and `CampaignAggregateAssetView`. This metric is only supported in Search channel.",
          "type": "string"
        },
        "combinedClicksPerQuery": {
          "type": "number",
          "description": "The number of times your ad or your site's listing in the unpaid results was clicked (combined_clicks) divided by combined_queries. See [About measuring paid and organic search results](https://support.google.com/google-ads/answer/3097241) for details.",
          "format": "double"
        },
        "engagementRate": {
          "format": "double",
          "description": "How often people engage with your ad after it's shown to them. This is the number of ad expansions divided by the number of times your ad is shown.",
          "type": "number"
        },
        "activeViewAudibilityInvalidGivtMeasurableImpressionsRate": {
          "format": "double",
          "description": "The number of impressions for which Active View could measure audibility, but that were filtered out by traffic quality filters, divided by the total number of impressions measurable for audibility. Only includes GIVT (general invalid traffic) impressions.",
          "type": "number"
        },
        "searchVolume": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__SearchVolumeRange",
          "description": "Search volume range for a search term insight category."
        },
        "grossProfitMicros": {
          "format": "int64",
          "description": "Gross profit is the profit you made from orders attributed to your ads minus the cost of goods sold (COGS). How it works: Gross profit is the revenue you made from sales attributed to your ads minus cost of goods sold. Gross profit calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The hat has a cost of goods sold value of $3, but the shirt has no cost of goods sold value. Gross profit for this order will only take into account the hat, so it's $7 = $10 - $3. This metric is only available if you report conversions with cart data.",
          "type": "string"
        },
        "impressionsUniqueQueryClusters": {
          "type": "string",
          "description": "Unique query intent cluster count for impressions.",
          "format": "int64"
        },
        "validAcceleratedMobilePagesClicksPercentage": {
          "format": "double",
          "description": "The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages that reach a valid AMP page.",
          "type": "number"
        },
        "clicksUniqueQueryClusters": {
          "format": "int64",
          "type": "string",
          "description": "Unique query intent cluster count for clicks."
        },
        "uniqueUsersThreePlus": {
          "type": "string",
          "description": "This metric counts the unique individuals who were shown your video ad three or more times within the selected date range. This metric cannot be aggregated, and can only be requested for date ranges of 31 days or less.",
          "format": "int64"
        },
        "averageTargetCpaMicros": {
          "format": "int64",
          "description": "The average Target CPA, or unset if not available (for example, for campaigns that had traffic from portfolio bidding strategies or non-tCPA).",
          "type": "string"
        },
        "publisherOrganicClicks": {
          "format": "int64",
          "description": "Clicks from properties for which the traffic the publisher has not paid for or acquired through incentivized activity",
          "type": "string"
        },
        "allConversionsFromLocationAssetWebsite": {
          "type": "number",
          "description": "Number of website URL clicks on any location surface after a chargeable ad event (click or impression). This measure is coming from Asset based location.",
          "format": "double"
        },
        "activeViewMeasurability": {
          "format": "double",
          "description": "The ratio of impressions that could be measured by Active View over the number of served impressions.",
          "type": "number"
        },
        "allRevenueMicros": {
          "format": "int64",
          "type": "string",
          "description": "All revenue is the total you made from orders attributed to your ads. Includes the amount from the revenue_micros metric, plus revenue from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone."
        },
        "allConversionsFromLocationAssetMenu": {
          "format": "double",
          "description": "Number of menu link clicks on any location surface after a chargeable ad event (click or impression). This measure is coming from Asset based location.",
          "type": "number"
        },
        "controlConversionValuePerCost": {
          "format": "double",
          "description": "The conversion value per cost metric on the control arm of the experiment. The treatment conversion value per cost value can be selected by using `conversions_value_per_cost`.",
          "type": "number"
        },
        "leadGrossProfitMicros": {
          "description": "Lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data.",
          "type": "string",
          "format": "int64"
        },
        "activeViewAudibleQuartileP50Rate": {
          "format": "double",
          "type": "number",
          "description": "The number of impressions that were audible at the second quartile of the ad playback, divided by the total number of impressions measurable for audibility."
        },
        "historicalQualityScore": {
          "description": "The historical quality score.",
          "type": "string",
          "format": "int64"
        },
        "uniqueUsersFourPlus": {
          "format": "int64",
          "type": "string",
          "description": "This metric counts the unique individuals who were shown your video ad four or more times within the selected date range. This metric cannot be aggregated, and can only be requested for date ranges of 31 days or less."
        },
        "clicksPValue": {
          "format": "double",
          "description": "The p-value for the null hypothesis that the experiment has no effect on clicks. Ranges from 0 to 1. Say if the p-value is 0.03, that means the probability of observing the data, if the experiment has no effect on clicks, is 3%.",
          "type": "number"
        },
        "leadUnitsSold": {
          "description": "Lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data.",
          "type": "number",
          "format": "double"
        },
        "linkedSampleEntities": {
          "type": "array",
          "description": "A list of up to 20 sample linked resources in which the asset is used. This metric can only be selected with `ChannelAggregateAssetView` and `CampaignAggregateAssetView`.",
          "items": {
            "type": "string"
          }
        },
        "allConversionsFromLocationAssetClickToCall": {
          "description": "Number of call button clicks on any location surface after a chargeable ad event (click or impression). This measure is coming from Asset based location.",
          "type": "number",
          "format": "double"
        },
        "gmailSecondaryClicks": {
          "type": "string",
          "description": "The number of clicks to the landing page on the expanded state of Gmail ads.",
          "format": "int64"
        },
        "averageVideoWatchTimeDurationMillis": {
          "format": "int64",
          "type": "string",
          "description": "Average video watch time duration in milliseconds for video impressions that started playing."
        },
        "contentImpressionShare": {
          "description": "The impressions you've received on the Display Network divided by the estimated number of impressions you were eligible to receive. Note: Content impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.",
          "type": "number",
          "format": "double"
        },
        "videoWatchTimeDurationMillis": {
          "format": "int64",
          "description": "Total watch time duration in milliseconds for video impressions that started playing. For a small percentage of impressions, we may not be able to measure the watch time accurately. In such cases, we adjust the total time to account for any unmeasured time by applying the average watch time of impressions that were measured.",
          "type": "string"
        },
        "mobileFriendlyClicksPercentage": {
          "description": "The percentage of mobile clicks that go to a mobile-friendly page.",
          "type": "number",
          "format": "double"
        },
        "videoQuartileP25Rate": {
          "type": "number",
          "description": "Percentage of impressions where the viewer watched 25% of your video.",
          "format": "double"
        },
        "activeViewAudibleThirtySecondsImpressions": {
          "format": "int64",
          "description": "The number of impressions that were audible for at least 30 seconds (cumulative).",
          "type": "string"
        },
        "activeViewCtr": {
          "format": "double",
          "description": "Active view measurable clicks divided by active view viewable impressions. This metric is reported only for the Display Network.",
          "type": "number"
        },
        "storeVisitsLastClickModelAttributedConversions": {
          "format": "double",
          "type": "number",
          "description": "The amount of business visits attributed by the last click model."
        },
        "currentModelAttributedConversionsFromInteractionsValuePerInteraction": {
          "type": "number",
          "description": "The value of current model attributed conversions from interactions divided by the number of ad interactions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.",
          "format": "double"
        },
        "gmailSaves": {
          "format": "int64",
          "type": "string",
          "description": "The number of times someone has saved your Gmail ad to their inbox as a message."
        },
        "conversionsValueByConversionDate": {
          "type": "number",
          "description": "The value of conversions. This only includes conversion actions which `include_in_conversions_metric` attribute is set to `true`. If you use conversion-based bidding, your bid strategies will optimize for these conversions. When this column is selected with date, the values in date column means the conversion date. Details for the `by_conversion_date` columns are available at [Understand conversions by time with new columns](https://support.google.com/google-ads/answer/9549009).",
          "format": "double"
        },
        "messageChatRate": {
          "type": "number",
          "description": "Number of message chats initiated (message_chats) divided by the number of message impressions (message_impressions). Rate at which a user initiates a message chat from an ad impression with a messaging option and message tracking enabled. Note that this rate can be more than 1.0 for a given message impression.",
          "format": "double"
        },
        "costPerConversionChangePointEstimate": {
          "type": "number",
          "description": "The point estimate when estimating the experiment's effect on cost per conversion change. Together with `cost_per_conversion_margin_of_error`, they describe a confidence interval with a prescribed confidence level for the difference being estimated. The quantity being estimated is (treatment / control - 1). This field specifies the point estimate, which is the center of the confidence interval: `(cost_per_conversion_change_point_estimate - cost_per_conversion_margin_of_error, cost_per_conversion_change_point_estimate + cost_per_conversion_margin_of_error)`.",
          "format": "double"
        },
        "svr": {
          "type": "string",
          "description": "This feature is available to allowlisted accounts only.",
          "format": "int64"
        },
        "viewThroughConversionsFromLocationAssetMenu": {
          "description": "Number of menu link clicks on any location surface after an impression. This measure is coming from Asset based location.",
          "type": "number",
          "format": "double"
        },
        "hotelCommissionRateMicros": {
          "description": "Commission bid rate in micros. A 20% commission is represented as 200,000.",
          "type": "string",
          "format": "int64"
        },
        "costMicrosPValue": {
          "description": "The p-value for the null hypothesis that the experiment has no effect on cost. Ranges from 0 to 1. Say if the p-value is 0.03, that means the probability of observing the data, if the experiment has no effect on cost, is 3%.",
          "type": "number",
          "format": "double"
        },
        "allConversionsFromLocationAssetDirections": {
          "format": "double",
          "description": "Number of driving directions clicks on any location surface after a chargeable ad event (click or impression). This measure is coming from Asset based location.",
          "type": "number"
        },
        "uniqueUsersFivePlus": {
          "format": "int64",
          "description": "This metric counts the unique individuals who were shown your video ad five or more times within the selected date range. This metric cannot be aggregated, and can only be requested for date ranges of 31 days or less.",
          "type": "string"
        },
        "activeViewAudibleTwoSecondsImpressions": {
          "type": "string",
          "description": "The number of impressions that were audible for at least 2 seconds (cumulative).",
          "format": "int64"
        },
        "gmailForwards": {
          "format": "int64",
          "type": "string",
          "description": "The number of times the ad was forwarded to someone else as a message."
        },
        "searchAbsoluteTopImpressionShare": {
          "type": "number",
          "description": "The percentage of the customer's Shopping or Search ad impressions that are shown in the most prominent Shopping position. See [About top and absolute top metrics](https://support.google.com/google-ads/answer/7501826) for details. Any value below 0.1 is reported as 0.0999.",
          "format": "double"
        },
        "historicalSearchPredictedCtr": {
          "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."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BELOW_AVERAGE",
            "AVERAGE",
            "ABOVE_AVERAGE"
          ],
          "description": "The historical search predicted click through rate (CTR).",
          "type": "string"
        },
        "controlClicks": {
          "type": "string",
          "description": "The number of clicks on the control arm of an experiment. The treatment clicks value can be selected by using `clicks`.",
          "format": "int64"
        },
        "contentRankLostImpressionShare": {
          "format": "double",
          "description": "The estimated percentage of impressions on the Display Network that your ads didn't receive due to poor Ad Rank. Note: Content rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.",
          "type": "number"
        },
        "allConversionsFromOrder": {
          "type": "number",
          "description": "The number of times people placed an order at a business after clicking an ad. This metric applies to feed items only.",
          "format": "double"
        },
        "controlCostMicros": {
          "format": "int64",
          "type": "string",
          "description": "The cost metric on the control arm of the experiment. The treatment cost value can be selected by using `cost_micros`."
        },
        "allConversionsValuePerCost": {
          "type": "number",
          "description": "The value of all conversions divided by the total cost of ad interactions (such as clicks for text ads or views for video ads).",
          "format": "double"
        },
        "allOrders": {
          "type": "number",
          "description": "All orders is total number of purchase conversions attributed to your ads. Includes the amount from the orders metric, plus orders from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone.",
          "format": "double"
        },
        "allConversionsFromClickToCall": {
          "type": "number",
          "description": "The number of times people clicked the \"Call\" button to call a business during or after clicking an ad. This number doesn't include whether or not calls were connected, or the duration of any calls. This metric applies to feed items only.",
          "format": "double"
        },
        "youtubeLikes": {
          "format": "int64",
          "description": "The number of likes on YouTube Shorts videos attributed to ad impressions.",
          "type": "string"
        },
        "publisherPurchasedClicks": {
          "format": "int64",
          "description": "Clicks from properties not owned by the publisher for which the traffic the publisher has paid for or acquired through incentivized activity",
          "type": "string"
        },
        "phoneCalls": {
          "format": "int64",
          "description": "Number of offline phone calls.",
          "type": "string"
        },
        "allLeadCostOfGoodsSoldMicros": {
          "description": "All lead cost of goods sold is the total cost of products sold as a result of advertising the same product. Includes the amount shown in the lead_cost_of_goods_sold_micros metric, plus lead cost of goods sold from all your conversion actions, even if your campaigns are not actively optimizing towards them. It's calculated using product info from cart data to give more detail than conversion value alone.",
          "type": "string",
          "format": "int64"
        },
        "organicImpressions": {
          "description": "The number of listings for your site in the unpaid search results. See [About measuring paid and organic search results](https://support.google.com/google-ads/answer/3097241).",
          "type": "string",
          "format": "int64"
        },
        "linkedEntitiesCount": {
          "description": "Number of linked resources in which the asset is used. This metric can only be selected with `ChannelAggregateAssetView` and `CampaignAggregateAssetView`.",
          "type": "string",
          "format": "int64"
        },
        "auctionInsightSearchAbsoluteTopImpressionPercentage": {
          "format": "double",
          "description": "This metric is part of the Auction Insights report, and tells how often the ads of another participant showed in the most prominent position on the search results page. This percentage is computed only over the auctions that you appeared in the page. This metric is not publicly available.",
          "type": "number"
        },
        "controlCostPerConversion": {
          "format": "double",
          "type": "number",
          "description": "The cost per conversion metric on the control arm of the experiment. The treatment cost per conversion value can be selected by using `cost_per_conversion`."
        },
        "viewThroughConversions": {
          "format": "int64",
          "description": "The total number of view-through conversions. These happen when a customer sees an image or rich media ad, then later completes a conversion on your site without interacting with (for example, clicking on) another ad.",
          "type": "string"
        },
        "hotelEligibleImpressions": {
          "type": "string",
          "description": "The number of impressions that hotel partners could have had given their feed performance.",
          "format": "int64"
        },
        "viewThroughConversionsFromLocationAssetOrder": {
          "format": "double",
          "type": "number",
          "description": "Number of order clicks on any location surface after an impression. This measure is coming from Asset based location."
        },
        "combinedQueries": {
          "type": "string",
          "description": "The number of searches that returned pages from your site in the unpaid results or showed one of your text ads. See [About measuring paid and organic search results](https://support.google.com/google-ads/answer/3097241) for details.",
          "format": "int64"
        },
        "skAdNetworkTotalConversions": {
          "type": "string",
          "description": "The total number of iOS Store Kit Ad Network conversions.",
          "format": "int64"
        },
        "searchBudgetLostTopImpressionShare": {
          "type": "number",
          "description": "The estimated percent of times that your ad didn't show adjacent to the top organic search results due to a low budget. Note: Search budget lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.",
          "format": "double"
        },
        "valuePerAllConversionsByConversionDate": {
          "format": "double",
          "description": "The value of all conversions divided by the number of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the `by_conversion_date` columns are available at [Understand conversions by time with new columns](https://support.google.com/google-ads/answer/9549009).",
          "type": "number"
        },
        "platformComparableConversionsValueByConversionDate": {
          "format": "double",
          "type": "number",
          "description": "The value of platform comparable conversions. When this metric is segmented by date, the values in the date segment represent the conversion date. This only includes conversion actions for which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions."
        }
      }
    },
    "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__OptimizeAssetsExperimentInfo": {
      "description": "Configuration for an Optimize Assets experiment.",
      "type": "object",
      "properties": {
        "optimizeAssetsExperimentSubtype": {
          "description": "The subtype of the Optimize Assets experiment.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The experiment is testing adding assets to assetless retail PMax experiment.",
            "The experiment is testing adding video assets to videoless PMax experiment.",
            "The experiment is testing comparing two different sets of assets in a PMax experiment."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADD_ASSETS_TO_ASSETLESS_RETAIL",
            "ADD_VIDEO_ASSETS_TO_VIDEOLESS",
            "COMPARE_ASSETS"
          ]
        }
      }
    },
    "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__PercentCpcBidSimulationPoint": {
      "description": "Projected metrics for a specific percent CPC amount. Only Hotel advertising channel type supports this field.",
      "type": "object",
      "properties": {
        "impressions": {
          "format": "int64",
          "description": "Projected number of impressions.",
          "type": "string"
        },
        "clicks": {
          "type": "string",
          "description": "Projected number of clicks.",
          "format": "int64"
        },
        "biddableConversions": {
          "format": "double",
          "description": "Projected number of biddable conversions.",
          "type": "number"
        },
        "biddableConversionsValue": {
          "format": "double",
          "description": "Projected total value of biddable conversions in local currency.",
          "type": "number"
        },
        "percentCpcBidMicros": {
          "description": "The simulated percent CPC upon which projected metrics are based. Percent CPC expressed as fraction of the advertised price for some good or service. The value stored here is 1,000,000 * [fraction].",
          "type": "string",
          "format": "int64"
        },
        "costMicros": {
          "type": "string",
          "description": "Projected cost in micros.",
          "format": "int64"
        },
        "topSlotImpressions": {
          "format": "int64",
          "type": "string",
          "description": "Projected number of top slot impressions."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__PercentCpcBidSimulationPointList": {
      "description": "A container for simulation points for simulations of type PERCENT_CPC_BID.",
      "type": "object",
      "properties": {
        "points": {
          "type": "array",
          "description": "Projected metrics for a series of percent CPC bid amounts.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PercentCpcBidSimulationPoint"
          }
        }
      }
    },
    "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__PolicySummary": {
      "type": "object",
      "properties": {
        "reviewStatus": {
          "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"
          ],
          "description": "Where in the review process the resource is.",
          "type": "string"
        },
        "policyTopicEntries": {
          "type": "array",
          "description": "The list of policy findings.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PolicyTopicEntry"
          }
        },
        "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"
          ],
          "type": "string",
          "description": "The overall approval status, which is calculated based on the status of its individual policy topic entries."
        }
      },
      "description": "Contains policy summary information."
    },
    "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__RuleBasedUserListInfo": {
      "description": "Representation of a userlist that is generated by a rule.",
      "type": "object",
      "properties": {
        "prepopulationStatus": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Prepopoulation is being requested.",
            "Prepopulation is finished.",
            "Prepopulation failed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REQUESTED",
            "FINISHED",
            "FAILED"
          ],
          "type": "string",
          "description": "The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails."
        },
        "flexibleRuleUserList": {
          "description": "Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__FlexibleRuleUserListInfo"
        }
      }
    },
    "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__SearchVolumeRange": {
      "description": "Search volume range. Actual search volume falls within this range.",
      "type": "object",
      "properties": {
        "min": {
          "description": "Lower bound of search volume.",
          "type": "string",
          "format": "int64"
        },
        "max": {
          "format": "int64",
          "type": "string",
          "description": "Upper bound of search volume."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__Segments": {
      "description": "Segment only fields.",
      "type": "object",
      "properties": {
        "productSoldTitle": {
          "type": "string",
          "description": "Title of the product sold."
        },
        "skAdNetworkAdEventType": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The value was not present in the postback or we do not have this data for other reasons.",
            "The user interacted with the ad.",
            "The user viewed the ad."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNAVAILABLE",
            "INTERACTION",
            "VIEW"
          ],
          "description": "iOS Store Kit Ad Network ad event type.",
          "type": "string"
        },
        "adDestinationType": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Ads that don't intend to drive users off from ads to other destinations",
            "Website",
            "App Deep Link",
            "iOS App Store or Play Store",
            "Call Dialer",
            "Map App",
            "Location Dedicated Page",
            "Text Message",
            "Lead Generation Form",
            "YouTube",
            "Ad Destination for Conversions with keys unknown"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOT_APPLICABLE",
            "WEBSITE",
            "APP_DEEP_LINK",
            "APP_STORE",
            "PHONE_CALL",
            "MAP_DIRECTIONS",
            "LOCATION_LISTING",
            "MESSAGE",
            "LEAD_FORM",
            "YOUTUBE",
            "UNMODELED_FOR_CONVERSIONS"
          ],
          "type": "string",
          "description": "Ad Destination type."
        },
        "conversionAttributionEventType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Represents value unknown in this version.",
            "The conversion is attributed to an impression.",
            "The conversion is attributed to an interaction.",
            "The conversion is attributed to a 10s engaged view."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "IMPRESSION",
            "INTERACTION",
            "ENGAGED_VIEW"
          ],
          "description": "Conversion attribution event type.",
          "type": "string"
        },
        "skAdNetworkUserType": {
          "type": "string",
          "description": "iOS Store Kit Ad Network user type.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The value was not present in the postback or we do not have this data for other reasons.",
            "The user installed the app for the first time.",
            "The user has previously installed the app."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNAVAILABLE",
            "NEW_INSTALLER",
            "REINSTALLER"
          ]
        },
        "adjustedGender": {
          "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": "string",
          "description": "Adjusted gender. This is the gender of the user after applying modeling to get more accurate age and gender information. Currently, both adjusted_age_range and adjusted_gender need to be selected together to get valid reach stats. These segmentations are only available for allowlisted customers."
        },
        "quarter": {
          "description": "Quarter as represented by the date of the first day of a quarter. Uses the calendar year for quarters, for example, the second quarter of 2018 starts on 2018-04-01. Formatted as yyyy-MM-dd.",
          "type": "string"
        },
        "hotelClass": {
          "format": "int32",
          "description": "Hotel class.",
          "type": "integer"
        },
        "productCategoryLevel4": {
          "type": "string",
          "description": "Category (level 4) of the product."
        },
        "newVersusReturningCustomers": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Converting user is new to the advertiser.",
            "Converting user is returning to the advertiser. Definition of returning differs among conversion types, such as a second store visit versus a second online purchase.",
            "Converting user is new to the advertiser and has high lifetime value."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NEW",
            "RETURNING",
            "NEW_AND_HIGH_LTV"
          ],
          "description": "This is for segmenting conversions by whether the user is a new customer or a returning customer. This segmentation is typically used to measure the impact of customer acquisition goal.",
          "type": "string"
        },
        "geoTargetCountry": {
          "type": "string",
          "description": "Resource name of the geo target constant that represents a country."
        },
        "skAdNetworkSourceDomain": {
          "type": "string",
          "description": "Website where the ad that drove the iOS Store Kit Ad Network install was shown. Null value means this segment is not applicable, for example, non-iOS campaign, or was not present in any postbacks sent by Apple."
        },
        "assetInteractionTarget": {
          "description": "Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit. Interactions (for example, clicks) are counted across all the parts of the served ad (for example, Ad itself and other components like Sitelinks) when they are served together. When interaction_on_this_asset is true, it means the interactions are on this specific asset and when interaction_on_this_asset is false, it means the interactions is not on this specific asset but on other parts of the served ad this asset is served with.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AssetInteractionTarget"
        },
        "adSubNetworkType": {
          "type": "string",
          "description": "Ad sub network type. Currently only available for ads running as part of DemandGen campaigns on YouTube and has to always be selected together with ad_network_type.",
          "x-enumDescriptions": [
            "Not specified.",
            "Unknown.",
            "The whole network without any sub network type segmentation.",
            "Ads served in-stream of YouTube organic videos.",
            "Ads served on YouTube feed surfaces, such as YouTube Home or Watch Next.",
            "Ads served on the YouTube Shorts feed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNSEGMENTED",
            "YOUTUBE_INSTREAM",
            "YOUTUBE_INFEED",
            "YOUTUBE_SHORTS"
          ]
        },
        "travelDestinationRegion": {
          "description": "The region the user is searching for at query time.",
          "type": "string"
        },
        "verticalAdsListingCountry": {
          "description": "The country where the vertical ads listing is located.",
          "type": "string"
        },
        "adNetworkType": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Google search.",
            "Search partners.",
            "Display Network.",
            "Cross-network.",
            "YouTube",
            "Google TV",
            "This network is used for Google Owned channels such as Discover feed, Gmail, YouTube. Starting with V20, Demand Gen Stats will be attributed to more granular network types such as GMAIL, DISCOVER, MAPS, YOUTUBE; this value will only be used for historical data.",
            "Gmail",
            "Discover Feed",
            "Maps"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SEARCH",
            "SEARCH_PARTNERS",
            "CONTENT",
            "MIXED",
            "YOUTUBE",
            "GOOGLE_TV",
            "GOOGLE_OWNED_CHANNELS",
            "GMAIL",
            "DISCOVER",
            "MAPS"
          ],
          "description": "Ad network type.",
          "type": "string"
        },
        "dayOfWeek": {
          "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"
          ],
          "description": "Day of the week, for example, MONDAY.",
          "type": "string"
        },
        "hotelDateSelectionType": {
          "description": "Hotel date selection type.",
          "type": "string",
          "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"
          ]
        },
        "keyword": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__Keyword",
          "description": "Keyword criterion."
        },
        "geoTargetProvince": {
          "type": "string",
          "description": "Resource name of the geo target constant that represents a province."
        },
        "geoTargetCanton": {
          "type": "string",
          "description": "Resource name of the geo target constant that represents a canton."
        },
        "geoTargetDistrict": {
          "description": "Resource name of the geo target constant that represents a district.",
          "type": "string"
        },
        "conversionValueRulePrimaryDimension": {
          "type": "string",
          "description": "Primary dimension of applied conversion value rules. NO_RULE_APPLIED shows the total recorded value of conversions that do not have a value rule applied. ORIGINAL shows the original value of conversions to which a value rule has been applied. GEO_LOCATION, DEVICE, AUDIENCE, ITINERARY show the net adjustment after value rules were applied.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "For no-value-rule-applied conversions after value rule is enabled.",
            "Below are for value-rule-applied conversions: The original stats.",
            "When a new or returning customer condition is satisfied.",
            "When a query-time Geo location condition is satisfied.",
            "When a query-time browsing device condition is satisfied.",
            "When a query-time audience condition is satisfied.",
            "When multiple rules are applied.",
            "When a query-time itinerary condition is satisfied."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NO_RULE_APPLIED",
            "ORIGINAL",
            "NEW_VS_RETURNING_USER",
            "GEO_LOCATION",
            "DEVICE",
            "AUDIENCE",
            "MULTIPLE",
            "ITINERARY"
          ]
        },
        "hotelRateType": {
          "type": "string",
          "description": "Hotel rate type.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Rate type information is unavailable.",
            "Rates available to everyone.",
            "A membership program rate is available and satisfies basic requirements like having a public rate available. UI treatment will strikethrough the public rate and indicate that a discount is available to the user. For more on Qualified Rates, visit https://developers.google.com/hotels/hotel-ads/dev-guide/qualified-rates",
            "Rates available to users that satisfy some eligibility criteria, for example, all signed-in users, 20% of mobile users, all mobile users in Canada, etc."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNAVAILABLE",
            "PUBLIC_RATE",
            "QUALIFIED_RATE",
            "PRIVATE_RATE"
          ]
        },
        "activityRating": {
          "description": "Activity rating.",
          "type": "string",
          "format": "int64"
        },
        "geoTargetMostSpecificLocation": {
          "description": "Resource name of the geo target constant that represents the most specific location.",
          "type": "string"
        },
        "searchSubcategory": {
          "type": "string",
          "description": "A search term subcategory. An empty string denotes the catch-all subcategory for search terms that didn't fit into another subcategory."
        },
        "productTypeL5": {
          "type": "string",
          "description": "Type (level 5) of the product."
        },
        "productCategoryLevel1": {
          "type": "string",
          "description": "Category (level 1) of the product."
        },
        "campaign": {
          "description": "Resource name of the campaign.",
          "type": "string"
        },
        "partnerHotelId": {
          "description": "Partner hotel ID.",
          "type": "string"
        },
        "productSoldCategoryLevel2": {
          "type": "string",
          "description": "Category (level 2) of the product sold."
        },
        "productAggregatorId": {
          "description": "Aggregator ID of the product.",
          "type": "string",
          "format": "int64"
        },
        "recommendationType": {
          "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": "Recommendation type.",
          "type": "string"
        },
        "activityAccountId": {
          "format": "int64",
          "type": "string",
          "description": "Activity account ID."
        },
        "hotelLengthOfStay": {
          "description": "Hotel length of stay.",
          "type": "integer",
          "format": "int32"
        },
        "searchEngineResultsPageType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Only ads were contained in the search engine results page.",
            "Only organic results were contained in the search engine results page.",
            "Both ads and organic results were contained in the search engine results page."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADS_ONLY",
            "ORGANIC_ONLY",
            "ADS_AND_ORGANIC"
          ],
          "description": "Type of the search engine results page.",
          "type": "string"
        },
        "conversionActionCategory": {
          "type": "string",
          "description": "Conversion action 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"
          ]
        },
        "device": {
          "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": "Device to which metrics apply.",
          "type": "string"
        },
        "adUsingProductData": {
          "description": "Indicates whether an ad is using product data from a Google Merchant Center feed. This segment is only available for PMax campaigns and will not return data when any other campaign type is selected.",
          "type": "boolean"
        },
        "landingPageSource": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The landing page was explicitly provided by the advertiser.",
            "The landing page was selected automatically. This could happen when the advertiser enables AI Max or other features that automatically select landing pages and Google selects the best landing page for the query."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADVERTISER",
            "AUTOMATIC"
          ],
          "description": "The source of a landing page in the landing page report.",
          "type": "string"
        },
        "verticalAdsListingVenue": {
          "description": "The name of the venue for the vertical ads listing, for example, the venue for a concert event.",
          "type": "string"
        },
        "productCustomAttribute0": {
          "type": "string",
          "description": "Custom attribute 0 of the product."
        },
        "geoTargetRegion": {
          "type": "string",
          "description": "Resource name of the geo target constant that represents a region."
        },
        "hotelCenterId": {
          "description": "Hotel center ID.",
          "type": "string",
          "format": "int64"
        },
        "productSoldTypeL3": {
          "description": "Type (level 3) of the product sold.",
          "type": "string"
        },
        "adFormatType": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Value assigned to formats (such as experimental formats) which don't support format segmentation in Video and Demand Gen campaigns. Note that these formats may change categories in the future, for example if an experimental format is exposed or a new format is added. We strongly recommend to not rely on this field for long term decisions.",
            "Value assigned for Video TrueView for Action campaigns statistics. Note that statistics with this value may change categories in the future, for example if format segmentation support is added for new campaign types. We strongly recommend to not rely on this field for long term decisions.",
            "Skippable in-stream ads.",
            "Non-skippable in-stream ads.",
            "In-feed YouTube or image ads served on feed surfaces (e.g. Discover Feed, YouTube Home, etc.).",
            "Short (<7 secs) in-stream non-skippable YouTube ads.",
            "Outstream ads.",
            "Masthead ads.",
            "Audio ads.",
            "Vertical full-screen video or image ads served on YouTube Shorts or BrandConnect ads served as organic YouTube Shorts.",
            "Image ads served when a user pauses an organic YouTube video on a TV screen. These ads are displayed directly next to the static video frame on the pause screen itself. Note that this does not include Demand Gen image ads served on the ad panel below or on top of a paused organic video. Those are reported under INFEED.",
            "An ad format that promotes a specific entity within a vertical, for example, a hotel ad in the Travel vertical on Search.",
            "An ad format for a booking link call-to-action within a vertical ad, for example a 'Book Now' link for a hotel ad.",
            "A standard text ad format. This is currently only used for ads on the Search network."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "OTHER",
            "UNSEGMENTED",
            "INSTREAM_SKIPPABLE",
            "INSTREAM_NON_SKIPPABLE",
            "INFEED",
            "BUMPER",
            "OUTSTREAM",
            "MASTHEAD",
            "AUDIO",
            "SHORTS",
            "PAUSE",
            "VERTICAL_ADS_PROMOTION",
            "VERTICAL_ADS_BOOKING_LINK",
            "TEXT"
          ],
          "description": "Ad Format type.",
          "type": "string"
        },
        "searchTermTargetingStatus": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Search term is added to targeted keywords.",
            "Search term matches a negative keyword.",
            "Search term has been both added and excluded.",
            "Search term is neither targeted nor excluded."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADDED",
            "EXCLUDED",
            "ADDED_EXCLUDED",
            "NONE"
          ],
          "description": "Indicates whether the search term is currently one of your targeted or excluded keywords.",
          "type": "string"
        },
        "productStoreId": {
          "description": "Store ID of the product.",
          "type": "string"
        },
        "externalConversionSource": {
          "x-enumDescriptions": [
            "Not specified.",
            "Represents value unknown in this version.",
            "Conversion that occurs when a user navigates to a particular webpage after viewing an ad; Displayed in Google Ads UI as 'Website'.",
            "Conversion that comes from linked Google Analytics goal or transaction; Displayed in Google Ads UI as 'Analytics'.",
            "Website conversion that is uploaded through ConversionUploadService; Displayed in Google Ads UI as 'Import from clicks'.",
            "Conversion that occurs when a user clicks on a call extension directly on an ad; Displayed in Google Ads UI as 'Calls from ads'.",
            "Conversion that occurs when a user calls a dynamically-generated phone number (by installed javascript) from an advertiser's website after clicking on an ad; Displayed in Google Ads UI as 'Calls from website'.",
            "Conversion that occurs when a user visits an advertiser's retail store after clicking on a Google ad; Displayed in Google Ads UI as 'Store visits'.",
            "Conversion that occurs when a user takes an in-app action such as a purchase in an Android app; Displayed in Google Ads UI as 'Android in-app action'.",
            "Conversion that occurs when a user takes an in-app action such as a purchase in an iOS app; Displayed in Google Ads UI as 'iOS in-app action'.",
            "Conversion that occurs when a user opens an iOS app for the first time; Displayed in Google Ads UI as 'iOS app install (first open)'.",
            "Legacy app conversions that do not have an AppPlatform provided; Displayed in Google Ads UI as 'Mobile app'.",
            "Conversion that occurs when a user opens an Android app for the first time; Displayed in Google Ads UI as 'Android app install (first open)'.",
            "Call conversion that is uploaded through ConversionUploadService; Displayed in Google Ads UI as 'Import from calls'.",
            "Conversion that comes from a linked Firebase event; Displayed in Google Ads UI as 'Firebase'.",
            "Conversion that occurs when a user clicks on a mobile phone number; Displayed in Google Ads UI as 'Phone number clicks'.",
            "Conversion that comes from Salesforce; Displayed in Google Ads UI as 'Salesforce.com'.",
            "Conversion that comes from in-store purchases recorded by CRM; Displayed in Google Ads UI as 'Store sales (data partner)'.",
            "Conversion that comes from in-store purchases from payment network; Displayed in Google Ads UI as 'Store sales (payment network)'.",
            "Codeless Google Play conversion; Displayed in Google Ads UI as 'Google Play'.",
            "Conversion that comes from a linked third-party app analytics event; Displayed in Google Ads UI as 'Third-party app analytics'.",
            "Conversion that is controlled by Google Attribution.",
            "Store Sales conversion based on first-party or third-party merchant data uploads. Displayed in Google Ads UI as 'Store sales (direct upload)'.",
            "Store Sales conversion based on first-party or third-party merchant data uploads and/or from in-store purchases using cards from payment networks. Displayed in Google Ads UI as 'Store sales'.",
            "Conversions imported from Search Ads 360 Floodlight data.",
            "Conversions that track local actions from Google's products and services after interacting with an ad.",
            "Conversions reported by Floodlight tags.",
            "Conversions that come from Google Analytics specifically for Search Ads 360. Displayed in Google Ads UI as Analytics (SA360).",
            "Conversion that comes from a linked Firebase event for Search Ads 360.",
            "Conversion that is reported by Floodlight for DV360."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEBPAGE",
            "ANALYTICS",
            "UPLOAD",
            "AD_CALL_METRICS",
            "WEBSITE_CALL_METRICS",
            "STORE_VISITS",
            "ANDROID_IN_APP",
            "IOS_IN_APP",
            "IOS_FIRST_OPEN",
            "APP_UNSPECIFIED",
            "ANDROID_FIRST_OPEN",
            "UPLOAD_CALLS",
            "FIREBASE",
            "CLICK_TO_CALL",
            "SALESFORCE",
            "STORE_SALES_CRM",
            "STORE_SALES_PAYMENT_NETWORK",
            "GOOGLE_PLAY",
            "THIRD_PARTY_APP_ANALYTICS",
            "GOOGLE_ATTRIBUTION",
            "STORE_SALES_DIRECT_UPLOAD",
            "STORE_SALES",
            "SEARCH_ADS_360",
            "GOOGLE_HOSTED",
            "FLOODLIGHT",
            "ANALYTICS_SEARCH_ADS_360",
            "FIREBASE_SEARCH_ADS_360",
            "DISPLAY_AND_VIDEO_360_FLOODLIGHT"
          ],
          "description": "External conversion source.",
          "type": "string"
        },
        "productTypeL2": {
          "type": "string",
          "description": "Type (level 2) of the product."
        },
        "clickType": {
          "type": "string",
          "description": "Click type.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "App engagement ad deep link.",
            "Breadcrumbs.",
            "Broadband Plan.",
            "Manually dialed phone calls.",
            "Phone calls.",
            "Click on engagement ad.",
            "Driving direction.",
            "Get location details.",
            "Call.",
            "Directions.",
            "Image(s).",
            "Go to landing page.",
            "Map.",
            "Go to store info.",
            "Text.",
            "Mobile phone calls.",
            "Print offer.",
            "Other.",
            "Product plusbox offer.",
            "Shopping - Product - Online.",
            "Sitelink.",
            "Show nearby locations.",
            "Headline.",
            "App store.",
            "Call-to-Action overlay.",
            "Cards.",
            "End cap.",
            "Website.",
            "Visual Sitelinks.",
            "Wireless Plan.",
            "Shopping - Product - Local.",
            "Shopping - Product - MultiChannel Local.",
            "Shopping - Product - MultiChannel Online.",
            "Shopping - Product - Coupon.",
            "Shopping - Product - Sell on Google.",
            "Shopping - Product - App engagement ad deep link.",
            "Shopping - Showcase - Category.",
            "Shopping - Showcase - Local storefront.",
            "Shopping - Showcase - Online product.",
            "Shopping - Showcase - Local product.",
            "Promotion Extension.",
            "Ad Headline.",
            "Swipes.",
            "See More.",
            "Sitelink 1.",
            "Sitelink 2.",
            "Sitelink 3.",
            "Sitelink 4.",
            "Sitelink 5.",
            "Hotel price.",
            "Price Extension.",
            "Book on Google hotel room selection.",
            "Shopping - Comparison Listing.",
            "Cross-network. From Performance Max and Discovery Campaigns.",
            "AD Images.",
            "Travel Feed Assets.",
            "Vehicle Feed Assets.",
            "Product Feed Assets.",
            "Click on channel icon that navigates the user to the corresponding YouTube channel.",
            "Click on a related video that navigates the user to the video watch page.",
            "Click on message button that navigates the user to a third-party messaging app. If the app is not installed, the ad will not show on Android, and the button will redirect to the app install page on iOS.",
            "Click on non-button surface of message ad that navigates the user to the Google-hosted landing page."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "APP_DEEPLINK",
            "BREADCRUMBS",
            "BROADBAND_PLAN",
            "CALL_TRACKING",
            "CALLS",
            "CLICK_ON_ENGAGEMENT_AD",
            "GET_DIRECTIONS",
            "LOCATION_EXPANSION",
            "LOCATION_FORMAT_CALL",
            "LOCATION_FORMAT_DIRECTIONS",
            "LOCATION_FORMAT_IMAGE",
            "LOCATION_FORMAT_LANDING_PAGE",
            "LOCATION_FORMAT_MAP",
            "LOCATION_FORMAT_STORE_INFO",
            "LOCATION_FORMAT_TEXT",
            "MOBILE_CALL_TRACKING",
            "OFFER_PRINTS",
            "OTHER",
            "PRODUCT_EXTENSION_CLICKS",
            "PRODUCT_LISTING_AD_CLICKS",
            "SITELINKS",
            "STORE_LOCATOR",
            "URL_CLICKS",
            "VIDEO_APP_STORE_CLICKS",
            "VIDEO_CALL_TO_ACTION_CLICKS",
            "VIDEO_CARD_ACTION_HEADLINE_CLICKS",
            "VIDEO_END_CAP_CLICKS",
            "VIDEO_WEBSITE_CLICKS",
            "VISUAL_SITELINKS",
            "WIRELESS_PLAN",
            "PRODUCT_LISTING_AD_LOCAL",
            "PRODUCT_LISTING_AD_MULTICHANNEL_LOCAL",
            "PRODUCT_LISTING_AD_MULTICHANNEL_ONLINE",
            "PRODUCT_LISTING_ADS_COUPON",
            "PRODUCT_LISTING_AD_TRANSACTABLE",
            "PRODUCT_AD_APP_DEEPLINK",
            "SHOWCASE_AD_CATEGORY_LINK",
            "SHOWCASE_AD_LOCAL_STOREFRONT_LINK",
            "SHOWCASE_AD_ONLINE_PRODUCT_LINK",
            "SHOWCASE_AD_LOCAL_PRODUCT_LINK",
            "PROMOTION_EXTENSION",
            "SWIPEABLE_GALLERY_AD_HEADLINE",
            "SWIPEABLE_GALLERY_AD_SWIPES",
            "SWIPEABLE_GALLERY_AD_SEE_MORE",
            "SWIPEABLE_GALLERY_AD_SITELINK_ONE",
            "SWIPEABLE_GALLERY_AD_SITELINK_TWO",
            "SWIPEABLE_GALLERY_AD_SITELINK_THREE",
            "SWIPEABLE_GALLERY_AD_SITELINK_FOUR",
            "SWIPEABLE_GALLERY_AD_SITELINK_FIVE",
            "HOTEL_PRICE",
            "PRICE_EXTENSION",
            "HOTEL_BOOK_ON_GOOGLE_ROOM_SELECTION",
            "SHOPPING_COMPARISON_LISTING",
            "CROSS_NETWORK",
            "AD_IMAGE",
            "TRAVEL_ASSETS",
            "VEHICLE_ASSETS",
            "PRODUCT_ASSETS",
            "VIDEO_CHANNEL_CLICK",
            "VIDEO_RELATED_VIDEOS_CLICK",
            "CLICK_TO_MESSAGE_THIRD_PARTY_CLICK",
            "CLICK_TO_MESSAGE_LANDING_PAGE_CLICK"
          ]
        },
        "productChannelExclusivity": {
          "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": "Channel exclusivity of the product.",
          "type": "string"
        },
        "conversionActionName": {
          "description": "Conversion action name.",
          "type": "string"
        },
        "productCondition": {
          "type": "string",
          "description": "Condition of the product.",
          "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"
          ]
        },
        "skAdNetworkSourceType": {
          "type": "string",
          "description": "The source type where the ad that drove the iOS Store Kit Ad Network install was shown. Null value means this segment is not applicable, for example, non-iOS campaign, or neither source domain nor source app were present in any postbacks sent by Apple.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The source app ID or source domain was not present in the postback or we do not have this data for other reasons.",
            "The ad was shown on a webpage.",
            "The ad was shown on an app."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNAVAILABLE",
            "WEBSITE",
            "MOBILE_APPLICATION"
          ]
        },
        "verticalAdsPartnerAccount": {
          "format": "int64",
          "description": "A specific partner account within a Partner Center (for example, Hotel Center) that supplies inventory feed data for Vertical Ads.",
          "type": "string"
        },
        "productCategoryLevel3": {
          "description": "Category (level 3) of the product.",
          "type": "string"
        },
        "productSoldBrand": {
          "type": "string",
          "description": "Brand of the product sold."
        },
        "assetGroup": {
          "description": "Resource name of the asset group.",
          "type": "string"
        },
        "date": {
          "type": "string",
          "description": "Date to which metrics apply. yyyy-MM-dd format, for example, 2018-04-17."
        },
        "productSoldCondition": {
          "type": "string",
          "description": "Condition of the product sold.",
          "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"
          ]
        },
        "adjustedAgeRange": {
          "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": "Adjusted age range. This is the age range of the user after applying modeling to get more accurate age and gender information. Currently, both adjusted_age_range and adjusted_gender need to be selected together to get valid reach stats. These segmentations are only available for allowlisted customers."
        },
        "geoTargetPostalCode": {
          "description": "Resource name of the geo target constant that represents a postal code.",
          "type": "string"
        },
        "verticalAdsEventParticipantDisplayNames": {
          "type": "string",
          "description": "The display names of participants in an event listing, like performers, speakers, or teams."
        },
        "productSoldTypeL4": {
          "type": "string",
          "description": "Type (level 4) of the product sold."
        },
        "skAdNetworkCoarseConversionValue": {
          "type": "string",
          "description": "iOS Store Kit Ad Network coarse conversion value.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The value was not present in the postback or we do not have this data for other reasons.",
            "A low coarse conversion value.",
            "A medium coarse conversion value.",
            "A high coarse conversion value.",
            "A coarse conversion value was not configured."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNAVAILABLE",
            "LOW",
            "MEDIUM",
            "HIGH",
            "NONE"
          ]
        },
        "productSoldTypeL1": {
          "type": "string",
          "description": "Type (level 1) of the product sold."
        },
        "productSoldCategoryLevel1": {
          "type": "string",
          "description": "Category (level 1) of the product sold."
        },
        "productSoldCustomAttribute1": {
          "type": "string",
          "description": "Custom attribute 1 of the product sold."
        },
        "hotelState": {
          "description": "Hotel state.",
          "type": "string"
        },
        "mobileDevicePlatform": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version. Non-mobile and non-desktop devices will fall into this segment.",
            "Android devices.",
            "iOS devices.",
            "Mobile devices that are not Android or iOS devices.",
            "Desktop devices."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ANDROID",
            "IOS",
            "OTHER_MOBILE",
            "DESKTOP"
          ],
          "description": "Mobile device platform to which metrics apply.",
          "type": "string"
        },
        "hotelBookingWindowDays": {
          "type": "string",
          "description": "Hotel booking window in days.",
          "format": "int64"
        },
        "adGroup": {
          "type": "string",
          "description": "Resource name of the ad group."
        },
        "productBrand": {
          "description": "Brand of the product.",
          "type": "string"
        },
        "productChannel": {
          "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"
          ],
          "type": "string",
          "description": "Channel of the product."
        },
        "productSoldCustomAttribute0": {
          "description": "Custom attribute 0 of the product sold.",
          "type": "string"
        },
        "skAdNetworkSourceApp": {
          "description": "App where the ad that drove the iOS Store Kit Ad Network install was shown. Null value means this segment is not applicable, for example, non-iOS campaign, or was not present in any postbacks sent by Apple.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__SkAdNetworkSourceApp"
        },
        "conversionOrAdjustmentLagBucket": {
          "type": "string",
          "description": "An enum value representing the number of days between the impression and the conversion or between the impression and adjustments to the conversion.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not.",
            "Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not.",
            "Conversion lag bucket from 2 to 3 days. 2 days is included, 3 days is not.",
            "Conversion lag bucket from 3 to 4 days. 3 days is included, 4 days is not.",
            "Conversion lag bucket from 4 to 5 days. 4 days is included, 5 days is not.",
            "Conversion lag bucket from 5 to 6 days. 5 days is included, 6 days is not.",
            "Conversion lag bucket from 6 to 7 days. 6 days is included, 7 days is not.",
            "Conversion lag bucket from 7 to 8 days. 7 days is included, 8 days is not.",
            "Conversion lag bucket from 8 to 9 days. 8 days is included, 9 days is not.",
            "Conversion lag bucket from 9 to 10 days. 9 days is included, 10 days is not.",
            "Conversion lag bucket from 10 to 11 days. 10 days is included, 11 days is not.",
            "Conversion lag bucket from 11 to 12 days. 11 days is included, 12 days is not.",
            "Conversion lag bucket from 12 to 13 days. 12 days is included, 13 days is not.",
            "Conversion lag bucket from 13 to 14 days. 13 days is included, 14 days is not.",
            "Conversion lag bucket from 14 to 21 days. 14 days is included, 21 days is not.",
            "Conversion lag bucket from 21 to 30 days. 21 days is included, 30 days is not.",
            "Conversion lag bucket from 30 to 45 days. 30 days is included, 45 days is not.",
            "Conversion lag bucket from 45 to 60 days. 45 days is included, 60 days is not.",
            "Conversion lag bucket from 60 to 90 days. 60 days is included, 90 days is not.",
            "Conversion adjustment lag bucket from 0 to 1 day. 0 day is included, 1 day is not.",
            "Conversion adjustment lag bucket from 1 to 2 days. 1 day is included, 2 days is not.",
            "Conversion adjustment lag bucket from 2 to 3 days. 2 days is included, 3 days is not.",
            "Conversion adjustment lag bucket from 3 to 4 days. 3 days is included, 4 days is not.",
            "Conversion adjustment lag bucket from 4 to 5 days. 4 days is included, 5 days is not.",
            "Conversion adjustment lag bucket from 5 to 6 days. 5 days is included, 6 days is not.",
            "Conversion adjustment lag bucket from 6 to 7 days. 6 days is included, 7 days is not.",
            "Conversion adjustment lag bucket from 7 to 8 days. 7 days is included, 8 days is not.",
            "Conversion adjustment lag bucket from 8 to 9 days. 8 days is included, 9 days is not.",
            "Conversion adjustment lag bucket from 9 to 10 days. 9 days is included, 10 days is not.",
            "Conversion adjustment lag bucket from 10 to 11 days. 10 days is included, 11 days is not.",
            "Conversion adjustment lag bucket from 11 to 12 days. 11 days is included, 12 days is not.",
            "Conversion adjustment lag bucket from 12 to 13 days. 12 days is included, 13 days is not.",
            "Conversion adjustment lag bucket from 13 to 14 days. 13 days is included, 14 days is not.",
            "Conversion adjustment lag bucket from 14 to 21 days. 14 days is included, 21 days is not.",
            "Conversion adjustment lag bucket from 21 to 30 days. 21 days is included, 30 days is not.",
            "Conversion adjustment lag bucket from 30 to 45 days. 30 days is included, 45 days is not.",
            "Conversion adjustment lag bucket from 45 to 60 days. 45 days is included, 60 days is not.",
            "Conversion adjustment lag bucket from 60 to 90 days. 60 days is included, 90 days is not.",
            "Conversion adjustment lag bucket from 90 to 145 days. 90 days is included, 145 days is not.",
            "Conversion lag bucket UNKNOWN. This is for dates before conversion lag bucket was available in Google Ads.",
            "Conversion adjustment lag bucket UNKNOWN. This is for dates before conversion adjustment lag bucket was available in Google Ads."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CONVERSION_LESS_THAN_ONE_DAY",
            "CONVERSION_ONE_TO_TWO_DAYS",
            "CONVERSION_TWO_TO_THREE_DAYS",
            "CONVERSION_THREE_TO_FOUR_DAYS",
            "CONVERSION_FOUR_TO_FIVE_DAYS",
            "CONVERSION_FIVE_TO_SIX_DAYS",
            "CONVERSION_SIX_TO_SEVEN_DAYS",
            "CONVERSION_SEVEN_TO_EIGHT_DAYS",
            "CONVERSION_EIGHT_TO_NINE_DAYS",
            "CONVERSION_NINE_TO_TEN_DAYS",
            "CONVERSION_TEN_TO_ELEVEN_DAYS",
            "CONVERSION_ELEVEN_TO_TWELVE_DAYS",
            "CONVERSION_TWELVE_TO_THIRTEEN_DAYS",
            "CONVERSION_THIRTEEN_TO_FOURTEEN_DAYS",
            "CONVERSION_FOURTEEN_TO_TWENTY_ONE_DAYS",
            "CONVERSION_TWENTY_ONE_TO_THIRTY_DAYS",
            "CONVERSION_THIRTY_TO_FORTY_FIVE_DAYS",
            "CONVERSION_FORTY_FIVE_TO_SIXTY_DAYS",
            "CONVERSION_SIXTY_TO_NINETY_DAYS",
            "ADJUSTMENT_LESS_THAN_ONE_DAY",
            "ADJUSTMENT_ONE_TO_TWO_DAYS",
            "ADJUSTMENT_TWO_TO_THREE_DAYS",
            "ADJUSTMENT_THREE_TO_FOUR_DAYS",
            "ADJUSTMENT_FOUR_TO_FIVE_DAYS",
            "ADJUSTMENT_FIVE_TO_SIX_DAYS",
            "ADJUSTMENT_SIX_TO_SEVEN_DAYS",
            "ADJUSTMENT_SEVEN_TO_EIGHT_DAYS",
            "ADJUSTMENT_EIGHT_TO_NINE_DAYS",
            "ADJUSTMENT_NINE_TO_TEN_DAYS",
            "ADJUSTMENT_TEN_TO_ELEVEN_DAYS",
            "ADJUSTMENT_ELEVEN_TO_TWELVE_DAYS",
            "ADJUSTMENT_TWELVE_TO_THIRTEEN_DAYS",
            "ADJUSTMENT_THIRTEEN_TO_FOURTEEN_DAYS",
            "ADJUSTMENT_FOURTEEN_TO_TWENTY_ONE_DAYS",
            "ADJUSTMENT_TWENTY_ONE_TO_THIRTY_DAYS",
            "ADJUSTMENT_THIRTY_TO_FORTY_FIVE_DAYS",
            "ADJUSTMENT_FORTY_FIVE_TO_SIXTY_DAYS",
            "ADJUSTMENT_SIXTY_TO_NINETY_DAYS",
            "ADJUSTMENT_NINETY_TO_ONE_HUNDRED_AND_FORTY_FIVE_DAYS",
            "CONVERSION_UNKNOWN",
            "ADJUSTMENT_UNKNOWN"
          ]
        },
        "productCustomAttribute3": {
          "type": "string",
          "description": "Custom attribute 3 of the product."
        },
        "productTypeL1": {
          "description": "Type (level 1) of the product.",
          "type": "string"
        },
        "productMerchantId": {
          "format": "int64",
          "description": "Merchant ID of the product.",
          "type": "string"
        },
        "productSoldCategoryLevel4": {
          "type": "string",
          "description": "Category (level 4) of the product sold."
        },
        "geoTargetMetro": {
          "description": "Resource name of the geo target constant that represents a metro.",
          "type": "string"
        },
        "matchType": {
          "type": "string",
          "description": "The match type of the keyword that triggered the ad. This segment is for use with keyword_view. For other resources, use search_term_match_type. While match_type is filtered to Broad, Exact, Phrase and Ai Max, search_term_match_type includes variants like Near Exact, Near Phrase.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Broad match.",
            "Exact match.",
            "Phrase match.",
            "Match type for AI Max Search."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BROAD",
            "EXACT",
            "PHRASE",
            "AI_MAX"
          ]
        },
        "travelDestinationCity": {
          "type": "string",
          "description": "The city the user is searching for at query time."
        },
        "month": {
          "description": "Month as represented by the date of the first day of a month. Formatted as yyyy-MM-dd.",
          "type": "string"
        },
        "monthOfYear": {
          "description": "Month of the year, for example, January.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "January.",
            "February.",
            "March.",
            "April.",
            "May.",
            "June.",
            "July.",
            "August.",
            "September.",
            "October.",
            "November.",
            "December."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "JANUARY",
            "FEBRUARY",
            "MARCH",
            "APRIL",
            "MAY",
            "JUNE",
            "JULY",
            "AUGUST",
            "SEPTEMBER",
            "OCTOBER",
            "NOVEMBER",
            "DECEMBER"
          ]
        },
        "productFeedLabel": {
          "description": "Feed label of the product.",
          "type": "string"
        },
        "verticalAdsListingCity": {
          "description": "The city where the vertical ads listing is located.",
          "type": "string"
        },
        "productCategoryLevel5": {
          "type": "string",
          "description": "Category (level 5) of the product."
        },
        "auctionInsightDomain": {
          "type": "string",
          "description": "Domain (visible URL) of a participant in the Auction Insights report."
        },
        "geoTargetAirport": {
          "description": "Resource name of the geo target constant that represents an airport.",
          "type": "string"
        },
        "verticalAdsListingRegion": {
          "type": "string",
          "description": "The region where the vertical ads listing is located."
        },
        "productSoldCategoryLevel3": {
          "type": "string",
          "description": "Category (level 3) of the product sold."
        },
        "verticalAdsListingUserRating": {
          "format": "int64",
          "description": "Integer value specifying the user rating of the vertical ads listing as a number from 1 to 5, where 5 is the best. The value will always be within this range.",
          "type": "string"
        },
        "verticalAdsHotelClass": {
          "type": "string",
          "description": "The class of the hotel. Generally in the range of 1 to 5 stars, but fully customizable in the hotel feed.",
          "format": "int64"
        },
        "geoTargetState": {
          "description": "Resource name of the geo target constant that represents a state.",
          "type": "string"
        },
        "productCustomAttribute4": {
          "description": "Custom attribute 4 of the product.",
          "type": "string"
        },
        "productTitle": {
          "description": "Title of the product.",
          "type": "string"
        },
        "adSubFormatType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Unknown.",
            "Category for formats that are not further split into sub formats.",
            "Standard length non-skippable instream YouTube ad.",
            "Non-skippable instream YouTube ad with a duration up to 30.99 seconds.",
            "Non-skippable instream YouTube ad with a duration between 31 and 60 seconds."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNSEGMENTED",
            "INSTREAM_NON_SKIPPABLE_STANDARD",
            "INSTREAM_NON_SKIPPABLE_MAX30_SEC",
            "INSTREAM_NON_SKIPPABLE_MAX60_SEC"
          ],
          "type": "string",
          "description": "Ad sub format type. Segments YouTube non-skippable instream ads by duration. Has to always be selected together with ad_format_type."
        },
        "conversionAction": {
          "description": "Resource name of the conversion action.",
          "type": "string"
        },
        "productCategoryLevel2": {
          "type": "string",
          "description": "Category (level 2) of the product."
        },
        "hotelPriceBucket": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Uniquely lowest price. Partner has the lowest price, and no other partners are within a small variance of that price.",
            "Tied for lowest price. Partner is within a small variance of the lowest price.",
            "Not lowest price. Partner is not within a small variance of the lowest price.",
            "Partner was the only one shown."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LOWEST_UNIQUE",
            "LOWEST_TIED",
            "NOT_LOWEST",
            "ONLY_PARTNER_SHOWN"
          ],
          "type": "string",
          "description": "Hotel price bucket."
        },
        "budgetCampaignAssociationStatus": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BudgetCampaignAssociationStatus",
          "description": "Budget campaign association status."
        },
        "productSoldTypeL5": {
          "description": "Type (level 5) of the product sold.",
          "type": "string"
        },
        "travelDestinationCountry": {
          "description": "The country the user is searching for at query time.",
          "type": "string"
        },
        "skAdNetworkRedistributedFineConversionValue": {
          "description": "iOS Store Kit Ad Network redistributed fine conversion value. Google uses modeling on observed conversion values(obtained from Apple) to calculate conversions from SKAN postbacks where NULLs are returned. This column represents the sum of the modeled conversion values and the observed conversion values. See https://support.google.com/google-ads/answer/14892597 to lean more.",
          "type": "string",
          "format": "int64"
        },
        "conversionAdjustment": {
          "type": "boolean",
          "description": "This segments your conversion columns by the original conversion and conversion value versus the delta if conversions were adjusted. False row has the data as originally stated; While true row has the delta between data now and the data as originally stated. Summing the two together results post-adjustment data."
        },
        "skAdNetworkFineConversionValue": {
          "format": "int64",
          "description": "iOS Store Kit Ad Network conversion value. Null value means this segment is not applicable, for example, non-iOS campaign.",
          "type": "string"
        },
        "externalActivityId": {
          "type": "string",
          "description": "Advertiser supplied activity ID."
        },
        "searchTerm": {
          "description": "A search term.",
          "type": "string"
        },
        "conversionLagBucket": {
          "description": "An enum value representing the number of days between the impression and the conversion.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Conversion lag bucket from 0 to 1 day. 0 day is included, 1 day is not.",
            "Conversion lag bucket from 1 to 2 days. 1 day is included, 2 days is not.",
            "Conversion lag bucket from 2 to 3 days. 2 days is included, 3 days is not.",
            "Conversion lag bucket from 3 to 4 days. 3 days is included, 4 days is not.",
            "Conversion lag bucket from 4 to 5 days. 4 days is included, 5 days is not.",
            "Conversion lag bucket from 5 to 6 days. 5 days is included, 6 days is not.",
            "Conversion lag bucket from 6 to 7 days. 6 days is included, 7 days is not.",
            "Conversion lag bucket from 7 to 8 days. 7 days is included, 8 days is not.",
            "Conversion lag bucket from 8 to 9 days. 8 days is included, 9 days is not.",
            "Conversion lag bucket from 9 to 10 days. 9 days is included, 10 days is not.",
            "Conversion lag bucket from 10 to 11 days. 10 days is included, 11 days is not.",
            "Conversion lag bucket from 11 to 12 days. 11 days is included, 12 days is not.",
            "Conversion lag bucket from 12 to 13 days. 12 days is included, 13 days is not.",
            "Conversion lag bucket from 13 to 14 days. 13 days is included, 14 days is not.",
            "Conversion lag bucket from 14 to 21 days. 14 days is included, 21 days is not.",
            "Conversion lag bucket from 21 to 30 days. 21 days is included, 30 days is not.",
            "Conversion lag bucket from 30 to 45 days. 30 days is included, 45 days is not.",
            "Conversion lag bucket from 45 to 60 days. 45 days is included, 60 days is not.",
            "Conversion lag bucket from 60 to 90 days. 60 days is included, 90 days is not."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LESS_THAN_ONE_DAY",
            "ONE_TO_TWO_DAYS",
            "TWO_TO_THREE_DAYS",
            "THREE_TO_FOUR_DAYS",
            "FOUR_TO_FIVE_DAYS",
            "FIVE_TO_SIX_DAYS",
            "SIX_TO_SEVEN_DAYS",
            "SEVEN_TO_EIGHT_DAYS",
            "EIGHT_TO_NINE_DAYS",
            "NINE_TO_TEN_DAYS",
            "TEN_TO_ELEVEN_DAYS",
            "ELEVEN_TO_TWELVE_DAYS",
            "TWELVE_TO_THIRTEEN_DAYS",
            "THIRTEEN_TO_FOURTEEN_DAYS",
            "FOURTEEN_TO_TWENTY_ONE_DAYS",
            "TWENTY_ONE_TO_THIRTY_DAYS",
            "THIRTY_TO_FORTY_FIVE_DAYS",
            "FORTY_FIVE_TO_SIXTY_DAYS",
            "SIXTY_TO_NINETY_DAYS"
          ]
        },
        "hotelCheckInDate": {
          "description": "Hotel check-in date. Formatted as yyyy-MM-dd.",
          "type": "string"
        },
        "hotelRateRuleId": {
          "description": "Hotel rate rule ID.",
          "type": "string"
        },
        "productSoldCustomAttribute3": {
          "type": "string",
          "description": "Custom attribute 3 of the product sold."
        },
        "productItemId": {
          "description": "Item ID of the product.",
          "type": "string"
        },
        "productTypeL4": {
          "description": "Type (level 4) of the product.",
          "type": "string"
        },
        "productSoldCategoryLevel5": {
          "type": "string",
          "description": "Category (level 5) of the product sold."
        },
        "skAdNetworkAttributionCredit": {
          "description": "iOS Store Kit Ad Network attribution credit",
          "type": "string",
          "x-enumDescriptions": [
            "Default value. This value is equivalent to null.",
            "The value is unknown in this API version. The true enum value cannot be returned in this API version or is not supported yet.",
            "The value was not present in the postback or we do not have this data for other reasons.",
            "Google was the ad network that won ad attribution.",
            "Google qualified for attribution, but didn't win."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNAVAILABLE",
            "WON",
            "CONTRIBUTED"
          ]
        },
        "hotelCity": {
          "description": "Hotel city.",
          "type": "string"
        },
        "productSoldCustomAttribute4": {
          "type": "string",
          "description": "Custom attribute 4 of the product sold."
        },
        "activityCity": {
          "type": "string",
          "description": "The city where the travel activity is available."
        },
        "productCustomAttribute2": {
          "type": "string",
          "description": "Custom attribute 2 of the product."
        },
        "skAdNetworkVersion": {
          "type": "string",
          "description": "The version of the SKAdNetwork API used."
        },
        "productCountry": {
          "description": "Resource name of the geo target constant for the country of sale of the product.",
          "type": "string"
        },
        "productSoldItemId": {
          "description": "Item ID of the product sold.",
          "type": "string"
        },
        "hotelCheckInDayOfWeek": {
          "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"
          ],
          "type": "string",
          "description": "Hotel check-in day of week."
        },
        "adUsingVideo": {
          "type": "boolean",
          "description": "Indicates whether an ad is using a video asset. This segment is only available for PMax campaigns and will not return data when any other campaign type is selected."
        },
        "year": {
          "format": "int32",
          "description": "Year, formatted as yyyy.",
          "type": "integer"
        },
        "verticalAdsVertical": {
          "description": "Type of vertical ad, such as Vacation Rentals, Car Rentals, or Events, used to categorize and segment data in the context of Vertical Ads.",
          "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"
          ]
        },
        "webpage": {
          "type": "string",
          "description": "Resource name of the ad group criterion that represents webpage criterion."
        },
        "geoTargetCounty": {
          "description": "Resource name of the geo target constant that represents a county.",
          "type": "string"
        },
        "geoTargetCity": {
          "type": "string",
          "description": "Resource name of the geo target constant that represents a city."
        },
        "productSoldCustomAttribute2": {
          "type": "string",
          "description": "Custom attribute 2 of the product sold."
        },
        "slot": {
          "type": "string",
          "description": "Position of the ad.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Google search: Side.",
            "Google search: Top.",
            "Google search: Other.",
            "Google Display Network.",
            "Search partners: Top.",
            "Search partners: Other.",
            "Cross-network."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SEARCH_SIDE",
            "SEARCH_TOP",
            "SEARCH_OTHER",
            "CONTENT",
            "SEARCH_PARTNER_TOP",
            "SEARCH_PARTNER_OTHER",
            "MIXED"
          ]
        },
        "activityCountry": {
          "description": "The country where the travel activity is available.",
          "type": "string"
        },
        "hotelCountry": {
          "type": "string",
          "description": "Hotel country."
        },
        "searchTermMatchSource": {
          "description": "Specifies the source for how the search term was matched, which reveals the type of ad campaign responsible. Use this to distinguish between automated campaigns (like AI Max, Dynamic Search Ads) and keyword-based campaigns (Standard).",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The match is from a user-provided keyword.",
            "The match is from the keywordless expansion portion of AI Max.",
            "The match is from the broad match expansion portion of AI Max.",
            "The match is from a Dynamic Search Ad.",
            "The match is from the search term matching functionality in PMax.",
            "The match is from a vertical ads data feed (e.g. Travel Ads entity targeting)."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADVERTISER_PROVIDED_KEYWORD",
            "AI_MAX_KEYWORDLESS",
            "AI_MAX_BROAD_MATCH",
            "DYNAMIC_SEARCH_ADS",
            "PERFORMANCE_MAX",
            "VERTICAL_ADS_DATA_FEED"
          ]
        },
        "productCustomAttribute1": {
          "type": "string",
          "description": "Custom attribute 1 of the product."
        },
        "productTypeL3": {
          "type": "string",
          "description": "Type (level 3) of the product."
        },
        "interactionOnThisExtension": {
          "description": "Only used with feed item metrics. Indicates whether the interaction metrics occurred on the feed item itself or a different extension or ad unit.",
          "type": "boolean"
        },
        "skAdNetworkPostbackSequenceIndex": {
          "format": "int64",
          "type": "string",
          "description": "iOS Store Kit Ad Network postback sequence index."
        },
        "verticalAdsListing": {
          "type": "string",
          "description": "The listing associated with a listing impression, click or conversion."
        },
        "productSoldTypeL2": {
          "description": "Type (level 2) of the product sold.",
          "type": "string"
        },
        "verticalAdsListingBrand": {
          "description": "The brand associated with a specific listing within a Vertical Ads context, for example, the brand of a car rental, a vacation home, or an event.",
          "type": "string"
        },
        "hour": {
          "type": "integer",
          "description": "Hour of day as a number between 0 and 23, inclusive.",
          "format": "int32"
        },
        "searchTermMatchType": {
          "description": "Match type of the keyword that triggered the ad. This segment is for use with keyword_view. For other resources, use match_type. While match_type is filtered to Broad, Exact, Phrase and Ai Max, search_term_match_type includes variants like Near Exact and Near Phrase.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Broad match.",
            "Exact match.",
            "Phrase match.",
            "Exact match (close variant).",
            "Phrase match (close variant).",
            "Match type for AI Max Search.",
            "Match type for Performance Max campaigns."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BROAD",
            "EXACT",
            "PHRASE",
            "NEAR_EXACT",
            "NEAR_PHRASE",
            "AI_MAX",
            "PERFORMANCE_MAX"
          ]
        },
        "week": {
          "type": "string",
          "description": "Week as defined as Monday through Sunday, and represented by the date of Monday. Formatted as yyyy-MM-dd."
        },
        "activityState": {
          "type": "string",
          "description": "The state where the travel activity is available."
        },
        "productLanguage": {
          "type": "string",
          "description": "Resource name of the language constant for the language of the product."
        }
      }
    },
    "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__SimilarUserListInfo": {
      "type": "object",
      "properties": {
        "seedUserList": {
          "type": "string",
          "description": "Seed UserList from which this list is derived."
        }
      },
      "description": "SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google."
    },
    "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__SkAdNetworkSourceApp": {
      "description": "A SkAdNetworkSourceApp segment.",
      "type": "object",
      "properties": {
        "skAdNetworkSourceAppId": {
          "description": "App id where the ad that drove the iOS Store Kit Ad Network install was shown.",
          "type": "string"
        }
      }
    },
    "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__StoreSalesMetadata": {
      "description": "Metadata for Store Sales Direct.",
      "type": "object",
      "properties": {
        "loyaltyFraction": {
          "description": "This is the fraction of all transactions that are identifiable (for example, associated with any form of customer information). Required. The fraction needs to be between 0 and 1 (excluding 0).",
          "type": "number",
          "format": "double"
        },
        "customKey": {
          "type": "string",
          "description": "Name of the store sales custom variable key. A predefined key that can be applied to the transaction and then later used for custom segmentation in reporting. Accessible only to customers on the allow-list."
        },
        "transactionUploadFraction": {
          "type": "number",
          "description": "This is the ratio of sales being uploaded compared to the overall sales that can be associated with a customer. Required. The fraction needs to be between 0 and 1 (excluding 0). For example, if you upload half the sales that you are able to associate with a customer, this would be 0.5.",
          "format": "double"
        },
        "thirdPartyMetadata": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__StoreSalesThirdPartyMetadata",
          "description": "Metadata for a third party Store Sales upload."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__StoreSalesThirdPartyMetadata": {
      "type": "object",
      "properties": {
        "advertiserUploadDateTime": {
          "type": "string",
          "description": "Time the advertiser uploaded the data to the partner. Required. The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\""
        },
        "partnerUploadFraction": {
          "format": "double",
          "type": "number",
          "description": "The fraction of valid transactions that are uploaded by the partner to Google. Required. The fraction needs to be between 0 and 1 (excluding 0)."
        },
        "validTransactionFraction": {
          "format": "double",
          "type": "number",
          "description": "The fraction of transactions that are valid. Invalid transactions may include invalid formats or values. Required. The fraction needs to be between 0 and 1 (excluding 0)."
        },
        "partnerMatchFraction": {
          "format": "double",
          "description": "The fraction of valid transactions that are matched to a third party assigned user ID on the partner side. Required. The fraction needs to be between 0 and 1 (excluding 0).",
          "type": "number"
        },
        "partnerId": {
          "format": "int64",
          "description": "ID of the third party partner updating the transaction feed.",
          "type": "string"
        },
        "bridgeMapVersionId": {
          "type": "string",
          "description": "Version of partner IDs to be used for uploads. Required."
        }
      },
      "description": "Metadata for a third party Store Sales. This product is only for customers on the allow-list. Contact your Google business development representative for details on the upload configuration."
    },
    "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__TargetCpaSimulationPoint": {
      "description": "Projected metrics for a specific target CPA amount.",
      "type": "object",
      "properties": {
        "costMicros": {
          "format": "int64",
          "description": "Projected cost in micros.",
          "type": "string"
        },
        "targetCpaScalingModifier": {
          "format": "double",
          "description": "The simulated scaling modifier upon which projected metrics are based. All CPA targets relevant to the simulated entity are scaled by this modifier.",
          "type": "number"
        },
        "biddableConversionsValue": {
          "description": "Projected total value of biddable conversions.",
          "type": "number",
          "format": "double"
        },
        "interactions": {
          "format": "int64",
          "description": "Projected number of interactions. Only discovery advertising channel type supports this field.",
          "type": "string"
        },
        "targetCpaMicros": {
          "description": "The simulated target CPA upon which projected metrics are based.",
          "type": "string",
          "format": "int64"
        },
        "biddableConversions": {
          "description": "Projected number of biddable conversions.",
          "type": "number",
          "format": "double"
        },
        "clicks": {
          "type": "string",
          "description": "Projected number of clicks.",
          "format": "int64"
        },
        "impressions": {
          "type": "string",
          "description": "Projected number of impressions.",
          "format": "int64"
        },
        "requiredBudgetAmountMicros": {
          "type": "string",
          "description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.",
          "format": "int64"
        },
        "appInstalls": {
          "format": "double",
          "description": "Projected number of app installs.",
          "type": "number"
        },
        "topSlotImpressions": {
          "format": "int64",
          "description": "Projected number of top slot impressions. Only search advertising channel type supports this field.",
          "type": "string"
        },
        "inAppActions": {
          "description": "Projected number of in-app actions.",
          "type": "number",
          "format": "double"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetCpaSimulationPointList": {
      "description": "A container for simulation points for simulations of type TARGET_CPA.",
      "type": "object",
      "properties": {
        "points": {
          "type": "array",
          "description": "Projected metrics for a series of target CPA amounts.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetCpaSimulationPoint"
          }
        }
      }
    },
    "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__TargetImpressionShareSimulationPoint": {
      "type": "object",
      "properties": {
        "biddableConversions": {
          "format": "double",
          "type": "number",
          "description": "Projected number of biddable conversions."
        },
        "biddableConversionsValue": {
          "format": "double",
          "type": "number",
          "description": "Projected total value of biddable conversions."
        },
        "costMicros": {
          "format": "int64",
          "type": "string",
          "description": "Projected cost in micros."
        },
        "targetImpressionShareMicros": {
          "format": "int64",
          "description": "The simulated target impression share value (in micros) upon which projected metrics are based. For example, 10% impression share, which is equal to 0.1, is stored as 100_000. This value is validated and will not exceed 1M (100%).",
          "type": "string"
        },
        "impressions": {
          "description": "Projected number of impressions.",
          "type": "string",
          "format": "int64"
        },
        "clicks": {
          "description": "Projected number of clicks.",
          "type": "string",
          "format": "int64"
        },
        "requiredCpcBidCeilingMicros": {
          "format": "int64",
          "type": "string",
          "description": "Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency."
        },
        "requiredBudgetAmountMicros": {
          "description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.",
          "type": "string",
          "format": "int64"
        },
        "topSlotImpressions": {
          "description": "Projected number of top slot impressions. Only search advertising channel type supports this field.",
          "type": "string",
          "format": "int64"
        },
        "absoluteTopImpressions": {
          "type": "string",
          "description": "Projected number of absolute top impressions. Only search advertising channel type supports this field.",
          "format": "int64"
        }
      },
      "description": "Projected metrics for a specific target impression share value."
    },
    "GoogleAdsGoogleadsV25Common__TargetImpressionShareSimulationPointList": {
      "description": "A container for simulation points for simulations of type TARGET_IMPRESSION_SHARE.",
      "type": "object",
      "properties": {
        "points": {
          "description": "Projected metrics for a specific target impression share value.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetImpressionShareSimulationPoint"
          },
          "type": "array"
        }
      }
    },
    "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__TargetRoasSimulationPoint": {
      "type": "object",
      "properties": {
        "biddableConversions": {
          "format": "double",
          "description": "Projected number of biddable conversions.",
          "type": "number"
        },
        "biddableConversionsValue": {
          "description": "Projected total value of biddable conversions.",
          "type": "number",
          "format": "double"
        },
        "requiredBudgetAmountMicros": {
          "description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.",
          "type": "string",
          "format": "int64"
        },
        "costMicros": {
          "format": "int64",
          "description": "Projected cost in micros.",
          "type": "string"
        },
        "topSlotImpressions": {
          "format": "int64",
          "description": "Projected number of top slot impressions. Only Search advertising channel type supports this field.",
          "type": "string"
        },
        "targetRoas": {
          "format": "double",
          "description": "The simulated target ROAS upon which projected metrics are based.",
          "type": "number"
        },
        "impressions": {
          "description": "Projected number of impressions.",
          "type": "string",
          "format": "int64"
        },
        "clicks": {
          "description": "Projected number of clicks.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "Projected metrics for a specific target ROAS amount."
    },
    "GoogleAdsGoogleadsV25Common__TargetRoasSimulationPointList": {
      "type": "object",
      "properties": {
        "points": {
          "type": "array",
          "description": "Projected metrics for a series of target ROAS amounts.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetRoasSimulationPoint"
          }
        }
      },
      "description": "A container for simulation points for simulations of type TARGET_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__UserListActionInfo": {
      "description": "Represents an action type used for building remarketing user lists.",
      "type": "object",
      "properties": {
        "remarketingAction": {
          "type": "string",
          "description": "A remarketing action."
        },
        "conversionAction": {
          "type": "string",
          "description": "A conversion action that's not generated from remarketing."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__UserListDateRuleItemInfo": {
      "description": "A rule item composed of a date operation.",
      "type": "object",
      "properties": {
        "operator": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Equals.",
            "Not Equals.",
            "Before.",
            "After."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EQUALS",
            "NOT_EQUALS",
            "BEFORE",
            "AFTER"
          ],
          "type": "string",
          "description": "Date comparison operator. This field is required and must be populated when creating new date rule item."
        },
        "offsetInDays": {
          "format": "int64",
          "type": "string",
          "description": "The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present."
        },
        "value": {
          "description": "String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.",
          "type": "string"
        }
      }
    },
    "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__UserListLogicalRuleInfo": {
      "type": "object",
      "properties": {
        "operator": {
          "type": "string",
          "description": "The logical operator of the rule.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "And - all of the operands.",
            "Or - at least one of the operands.",
            "Not - none of the operands."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ALL",
            "ANY",
            "NONE"
          ]
        },
        "ruleOperands": {
          "type": "array",
          "description": "The list of operands of the rule.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LogicalUserListOperandInfo"
          }
        }
      },
      "description": "A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands."
    },
    "GoogleAdsGoogleadsV25Common__UserListNumberRuleItemInfo": {
      "type": "object",
      "properties": {
        "operator": {
          "description": "Number comparison operator. This field is required and must be populated when creating a new number rule item.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Greater than.",
            "Greater than or equal.",
            "Equals.",
            "Not equals.",
            "Less than.",
            "Less than or equal."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "GREATER_THAN",
            "GREATER_THAN_OR_EQUAL",
            "EQUALS",
            "NOT_EQUALS",
            "LESS_THAN",
            "LESS_THAN_OR_EQUAL"
          ]
        },
        "value": {
          "description": "Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.",
          "type": "number",
          "format": "double"
        }
      },
      "description": "A rule item composed of a number operation."
    },
    "GoogleAdsGoogleadsV25Common__UserListRuleInfo": {
      "description": "A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser.",
      "type": "object",
      "properties": {
        "ruleType": {
          "type": "string",
          "description": "Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Conjunctive normal form.",
            "Disjunctive normal form."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AND_OF_ORS",
            "OR_OF_ANDS"
          ]
        },
        "ruleItemGroups": {
          "description": "List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListRuleItemGroupInfo"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__UserListRuleItemGroupInfo": {
      "description": "A group of rule items.",
      "type": "object",
      "properties": {
        "ruleItems": {
          "type": "array",
          "description": "Rule items that will be grouped together based on rule_type.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListRuleItemInfo"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__UserListRuleItemInfo": {
      "type": "object",
      "properties": {
        "stringRuleItem": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListStringRuleItemInfo",
          "description": "An atomic rule item composed of a string operation."
        },
        "name": {
          "description": "Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.",
          "type": "string"
        },
        "numberRuleItem": {
          "description": "An atomic rule item composed of a number operation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListNumberRuleItemInfo"
        },
        "dateRuleItem": {
          "description": "An atomic rule item composed of a date operation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListDateRuleItemInfo"
        }
      },
      "description": "An atomic rule item."
    },
    "GoogleAdsGoogleadsV25Common__UserListSegment": {
      "description": "User list segment.",
      "type": "object",
      "properties": {
        "userList": {
          "type": "string",
          "description": "The user list resource."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__UserListStringRuleItemInfo": {
      "description": "A rule item composed of a string operation.",
      "type": "object",
      "properties": {
        "operator": {
          "type": "string",
          "description": "String comparison operator. This field is required and must be populated when creating a new string rule item.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Contains.",
            "Equals.",
            "Starts with.",
            "Ends with.",
            "Not equals.",
            "Not contains.",
            "Not starts with.",
            "Not ends with."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CONTAINS",
            "EQUALS",
            "STARTS_WITH",
            "ENDS_WITH",
            "NOT_EQUALS",
            "NOT_CONTAINS",
            "NOT_STARTS_WITH",
            "NOT_ENDS_WITH"
          ]
        },
        "value": {
          "description": "The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.",
          "type": "string"
        }
      }
    },
    "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__VideoExperimentInfo": {
      "type": "object",
      "properties": {
        "videoExperimentSubtype": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The experiment is testing a Demand Gen asset experiment. User can add or delete assets from the control campaigns.",
            "The experiment is testing ads with different video assets in the experimental campaign versus the control campaign. It applies to Video Campaigns where users can add or delete assets from control campaigns.",
            "The experiment is testing video asset uplift (the performance impact of different video assets in a campaign). It applies to Video Campaigns where users can only add assets to control campaigns."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DEMAND_GEN_ASSET",
            "ASSET",
            "ASSET_UPLIFT"
          ],
          "description": "The subtype of the Video experiment.",
          "type": "string"
        }
      },
      "description": "Configuration for a Video experiment."
    },
    "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_AccessibleBiddingStrategy_MaximizeConversionValue": {
      "type": "object",
      "properties": {
        "targetRoas": {
          "type": "number",
          "description": "Output only. The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.",
          "format": "double"
        }
      },
      "description": "An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget."
    },
    "GoogleAdsGoogleadsV25Resources_AccessibleBiddingStrategy_MaximizeConversions": {
      "description": "An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.",
      "type": "object",
      "properties": {
        "targetCpaMicros": {
          "format": "int64",
          "description": "Output only. The target cost per acquisition (CPA) option. This is the average amount that you would like to spend per acquisition.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_AccessibleBiddingStrategy_TargetCpa": {
      "type": "object",
      "properties": {
        "targetCpaMicros": {
          "type": "string",
          "description": "Output only. Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.",
          "format": "int64"
        }
      },
      "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."
    },
    "GoogleAdsGoogleadsV25Resources_AccessibleBiddingStrategy_TargetImpressionShare": {
      "type": "object",
      "properties": {
        "cpcBidCeilingMicros": {
          "description": "Output only. The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.",
          "type": "string",
          "format": "int64"
        },
        "locationFractionMicros": {
          "description": "The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.",
          "type": "string",
          "format": "int64"
        },
        "location": {
          "description": "Output only. The targeted location on the search results page.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ANYWHERE_ON_PAGE",
            "TOP_OF_PAGE",
            "ABSOLUTE_TOP_OF_PAGE"
          ],
          "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."
          ]
        }
      },
      "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)."
    },
    "GoogleAdsGoogleadsV25Resources_AccessibleBiddingStrategy_TargetRoas": {
      "description": "An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS).",
      "type": "object",
      "properties": {
        "targetRoas": {
          "description": "Output only. The chosen revenue (based on conversion data) per unit of spend.",
          "type": "number",
          "format": "double"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_AccessibleBiddingStrategy_TargetSpend": {
      "type": "object",
      "properties": {
        "targetSpendMicros": {
          "format": "int64",
          "description": "Output only. The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.",
          "deprecated": true,
          "type": "string"
        },
        "cpcBidCeilingMicros": {
          "type": "string",
          "description": "Output only. Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.",
          "format": "int64"
        }
      },
      "description": "An automated bid strategy that sets your bids to help get as many clicks as possible within your budget."
    },
    "GoogleAdsGoogleadsV25Resources_AccountBudget_PendingAccountBudgetProposal": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. The name to assign to the account-level budget.",
          "type": "string"
        },
        "endDateTime": {
          "description": "Output only. The end time in yyyy-MM-dd HH:mm:ss format.",
          "type": "string"
        },
        "proposalType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Identifies a request to create a new budget.",
            "Identifies a request to edit an existing budget.",
            "Identifies a request to end a budget that has already started.",
            "Identifies a request to remove a budget that hasn't started yet."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CREATE",
            "UPDATE",
            "END",
            "REMOVE"
          ],
          "type": "string",
          "description": "Output only. The type of this proposal, for example, END to end the budget associated with this proposal."
        },
        "endTimeType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "As soon as possible.",
            "An infinite point in the future."
          ],
          "type": "string",
          "description": "Output only. The end time as a well-defined type, for example, FOREVER.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOW",
            "FOREVER"
          ]
        },
        "spendingLimitMicros": {
          "description": "Output only. The spending limit in micros. One million is equivalent to one unit.",
          "type": "string",
          "format": "int64"
        },
        "creationDateTime": {
          "description": "Output only. The time when this account-level budget proposal was created. Formatted as yyyy-MM-dd HH:mm:ss.",
          "type": "string"
        },
        "accountBudgetProposal": {
          "type": "string",
          "description": "Output only. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`"
        },
        "startDateTime": {
          "description": "Output only. The start time in yyyy-MM-dd HH:mm:ss format.",
          "type": "string"
        },
        "purchaseOrderNumber": {
          "type": "string",
          "description": "Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices."
        },
        "spendingLimitType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Infinite, indicates unlimited spending power."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INFINITE"
          ],
          "description": "Output only. The spending limit as a well-defined type, for example, INFINITE.",
          "type": "string"
        },
        "notes": {
          "description": "Output only. Notes associated with this budget.",
          "type": "string"
        }
      },
      "description": "A pending proposal associated with the enclosing account-level budget, if applicable."
    },
    "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_AdStrengthActionItem_AddAssetDetails": {
      "description": "The details of the asset to add.",
      "type": "object",
      "properties": {
        "assetCount": {
          "format": "int32",
          "type": "integer",
          "description": "Output only. The number of assets to add."
        },
        "videoAspectRatioRequirement": {
          "x-enumDescriptions": [
            "Not specified.",
            "The received value is not known in this version.",
            "The video requires a horizontal aspect ratio.",
            "The video requires a square aspect ratio.",
            "The video requires a vertical aspect ratio."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "HORIZONTAL",
            "SQUARE",
            "VERTICAL"
          ],
          "description": "Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.",
          "type": "string"
        },
        "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"
          ],
          "description": "Output only. The asset field type of the asset(s) to add.",
          "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."
          ]
        }
      }
    },
    "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_BatchJob_BatchJobMetadata": {
      "description": "Additional information about the batch job. This message is also used as metadata returned in batch job Long Running Operations.",
      "type": "object",
      "properties": {
        "startDateTime": {
          "description": "Output only. The time when this batch job started running. Formatted as yyyy-mm-dd hh:mm:ss. Example: \"2018-03-05 09:15:30\"",
          "type": "string"
        },
        "executedOperationCount": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The number of mutate operations executed by the batch job. Present only if the job has started running."
        },
        "executionLimitSeconds": {
          "format": "int32",
          "type": "integer",
          "description": "Immutable. The approximate upper bound for how long a batch job can be executed, in seconds. If the job runs more than the given upper bound, the job will be canceled."
        },
        "estimatedCompletionRatio": {
          "description": "Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. This is empty if the job hasn't started running yet.",
          "type": "number",
          "format": "double"
        },
        "operationCount": {
          "format": "int64",
          "description": "Output only. The number of mutate operations in the batch job.",
          "type": "string"
        },
        "creationDateTime": {
          "type": "string",
          "description": "Output only. The time when this batch job was created. Formatted as yyyy-mm-dd hh:mm:ss. Example: \"2018-03-05 09:15:00\""
        },
        "completionDateTime": {
          "type": "string",
          "description": "Output only. The time when this batch job was completed. Formatted as yyyy-MM-dd HH:mm:ss. Example: \"2018-03-05 09:16:00\""
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_BillingSetup_PaymentsAccountInfo": {
      "description": "Container of payments account information for this billing.",
      "type": "object",
      "properties": {
        "paymentsAccountName": {
          "description": "Immutable. The name of the payments account associated with the billing setup. This enables the user to specify a meaningful name for a payments account to aid in reconciling monthly invoices. This name will be printed in the monthly invoices.",
          "type": "string"
        },
        "paymentsProfileId": {
          "type": "string",
          "description": "Immutable. A 12 digit id used to identify the payments profile associated with the billing setup. This must be passed in as a string with dashes, for example, \"1234-5678-9012\"."
        },
        "secondaryPaymentsProfileId": {
          "type": "string",
          "description": "Output only. A secondary payments profile id present in uncommon situations, for example, when a sequential liability agreement has been arranged."
        },
        "paymentsAccountId": {
          "description": "Output only. A 16 digit id used to identify the payments account associated with the billing setup. This must be passed as a string with dashes, for example, \"1234-5678-9012-3456\".",
          "type": "string"
        },
        "paymentsProfileName": {
          "description": "Output only. The name of the payments profile associated with the billing setup.",
          "type": "string"
        }
      }
    },
    "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_ChangeEvent_ChangedResource": {
      "description": "A wrapper proto presenting all supported resources. Only the resource of the change_resource_type will be set.",
      "type": "object",
      "properties": {
        "campaignCriterion": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignCriterion",
          "description": "Output only. Set if change_resource_type == CAMPAIGN_CRITERION."
        },
        "assetSetAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetSetAsset",
          "description": "Output only. Set if change_resource_type == ASSET_SET_ASSET."
        },
        "assetSet": {
          "description": "Output only. Set if change_resource_type == ASSET_SET.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetSet"
        },
        "adGroup": {
          "description": "Output only. Set if change_resource_type == AD_GROUP.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroup"
        },
        "campaignAsset": {
          "description": "Output only. Set if change_resource_type == CAMPAIGN_ASSET.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignAsset"
        },
        "campaignBudget": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignBudget",
          "description": "Output only. Set if change_resource_type == CAMPAIGN_BUDGET."
        },
        "asset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Asset",
          "description": "Output only. Set if change_resource_type == ASSET."
        },
        "customerAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerAsset",
          "description": "Output only. Set if change_resource_type == CUSTOMER_ASSET."
        },
        "campaignAssetSet": {
          "description": "Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignAssetSet"
        },
        "adGroupAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAd",
          "description": "Output only. Set if change_resource_type == AD_GROUP_AD."
        },
        "ad": {
          "description": "Output only. Set if change_resource_type == AD.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Ad"
        },
        "adGroupAsset": {
          "description": "Output only. Set if change_resource_type == AD_GROUP_ASSET.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAsset"
        },
        "adGroupCriterion": {
          "description": "Output only. Set if change_resource_type == AD_GROUP_CRITERION.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupCriterion"
        },
        "campaign": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Campaign",
          "description": "Output only. Set if change_resource_type == CAMPAIGN."
        },
        "adGroupBidModifier": {
          "description": "Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupBidModifier"
        }
      }
    },
    "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_ProductCategoryConstant_ProductCategoryLocalization": {
      "description": "Localization for the product category.",
      "type": "object",
      "properties": {
        "regionCode": {
          "description": "Output only. Upper-case two-letter ISO 3166-1 country code of the localized category.",
          "type": "string"
        },
        "languageCode": {
          "description": "Output only. Two-letter ISO 639-1 language code of the localized category.",
          "type": "string"
        },
        "value": {
          "description": "Output only. The name of the category in the specified locale.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption": {
      "description": "The impact estimates for a given budget amount.",
      "type": "object",
      "properties": {
        "budgetAmountMicros": {
          "type": "string",
          "description": "Output only. The budget amount for this option.",
          "format": "int64"
        },
        "impact": {
          "description": "Output only. The impact estimate if budget is changed to amount specified in this option.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_RecommendationImpact"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_RecommendationKeywordRecommendation_SearchTerm": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "description": "Output only. The text of the search term."
        },
        "estimatedWeeklySearchCount": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Estimated number of historical weekly searches for this search term."
        }
      },
      "description": "Information about a search term as related to a keyword recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption": {
      "description": "The Target CPA opt-in option with impact estimate.",
      "type": "object",
      "properties": {
        "targetCpaMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Average CPA target."
        },
        "impact": {
          "description": "Output only. The impact estimate if this option is selected.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_RecommendationImpact"
        },
        "goal": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Recommendation to set Target CPA to maintain the same cost.",
            "Recommendation to set Target CPA to maintain the same conversions.",
            "Recommendation to set Target CPA to maintain the same CPA.",
            "Recommendation to set Target CPA to a value that is as close as possible to, yet lower than, the actual CPA (computed for past 28 days)."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SAME_COST",
            "SAME_CONVERSIONS",
            "SAME_CPA",
            "CLOSEST_CPA"
          ],
          "description": "Output only. The goal achieved by this option.",
          "type": "string"
        },
        "requiredCampaignBudgetAmountMicros": {
          "type": "string",
          "description": "Output only. The minimum campaign budget, in local currency for the account, required to achieve the target CPA. Amount is specified in micros, where one million is equivalent to one currency unit.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_AccountInfo": {
      "description": "Wrapper for information about a Google Ads account.",
      "type": "object",
      "properties": {
        "descriptiveName": {
          "type": "string",
          "description": "Output only. The descriptive name of the account."
        },
        "customerId": {
          "format": "int64",
          "description": "Output only. The customer ID of the account.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_CallAssetRecommendation": {
      "type": "object",
      "properties": {},
      "description": "The call asset recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_CalloutAssetRecommendation": {
      "type": "object",
      "properties": {
        "recommendedCampaignCalloutAssets": {
          "description": "Output only. New callout extension assets recommended at the campaign level.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Asset"
          },
          "type": "array"
        },
        "recommendedCustomerCalloutAssets": {
          "description": "Output only. New callout extension assets recommended at the customer level.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Asset"
          },
          "type": "array"
        }
      },
      "description": "The callout asset recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_CampaignBudget": {
      "description": "A campaign budget shared amongst various budget recommendation types.",
      "type": "object",
      "properties": {
        "newStartDate": {
          "description": "Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS , FORECASTING_SET_TARGET_CPA YYYY-MM-DD format, for example, 2018-04-17.",
          "type": "string"
        },
        "currentAmountMicros": {
          "description": "Output only. Current budget amount.",
          "type": "string",
          "format": "int64"
        },
        "recommendedNewAmountMicros": {
          "type": "string",
          "description": "Output only. Recommended budget amount.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_CampaignBudgetRecommendation": {
      "type": "object",
      "properties": {
        "recommendedBudgetAmountMicros": {
          "description": "Output only. The recommended budget amount in micros.",
          "type": "string",
          "format": "int64"
        },
        "currentBudgetAmountMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The current budget amount in micros."
        },
        "budgetOptions": {
          "description": "Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption"
          },
          "type": "array"
        }
      },
      "description": "The budget recommendation for budget constrained campaigns."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_CustomAudienceOptInRecommendation": {
      "description": "The Custom Audience Opt In recommendation.",
      "type": "object",
      "properties": {
        "keywords": {
          "description": "Output only. The list of keywords to use for custom audience creation.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_DisplayExpansionOptInRecommendation": {
      "type": "object",
      "properties": {},
      "description": "The Display Expansion opt-in recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_DynamicImageExtensionOptInRecommendation": {
      "type": "object",
      "properties": {},
      "description": "Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_EnhancedCpcOptInRecommendation": {
      "description": "The Enhanced Cost-Per-Click Opt-In recommendation.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ForecastingSetTargetCpaRecommendation": {
      "description": "The set target CPA recommendations.",
      "type": "object",
      "properties": {
        "campaignBudget": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_CampaignBudget",
          "description": "Output only. The campaign budget."
        },
        "recommendedTargetCpaMicros": {
          "format": "int64",
          "description": "Output only. The recommended target CPA.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ForecastingSetTargetRoasRecommendation": {
      "description": "The forecasting set target ROAS recommendation.",
      "type": "object",
      "properties": {
        "recommendedTargetRoas": {
          "format": "double",
          "description": "Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.",
          "type": "number"
        },
        "campaignBudget": {
          "description": "Output only. The campaign budget.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_CampaignBudget"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation": {
      "description": "The improve Demand Gen ad strength recommendation.",
      "type": "object",
      "properties": {
        "adStrength": {
          "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."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "NO_ADS",
            "POOR",
            "AVERAGE",
            "GOOD",
            "EXCELLENT"
          ],
          "description": "Output only. The current ad strength.",
          "type": "string"
        },
        "ad": {
          "description": "Output only. The resource name of the ad that can be improved.",
          "type": "string"
        },
        "demandGenAssetActionItems": {
          "description": "Output only. A list of recommendations to improve the ad strength.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ImproveGoogleTagCoverageRecommendation": {
      "description": "Recommendation to deploy Google Tag on more pages.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation": {
      "description": "Recommendation to improve the asset group strength of a Performance Max campaign to an \"Excellent\" rating.",
      "type": "object",
      "properties": {
        "assetGroup": {
          "type": "string",
          "description": "Output only. The asset group resource name."
        },
        "adStrength": {
          "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."
          ],
          "type": "string",
          "description": "Output only. The current ad strength score of the asset group.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "NO_ADS",
            "POOR",
            "AVERAGE",
            "GOOD",
            "EXCELLENT"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_KeywordMatchTypeRecommendation": {
      "description": "The keyword match type recommendation.",
      "type": "object",
      "properties": {
        "keyword": {
          "description": "Output only. The existing keyword where the match type should be more broad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo"
        },
        "recommendedMatchType": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXACT",
            "PHRASE",
            "BROAD"
          ],
          "description": "Output only. The recommended new match type.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Exact match.",
            "Phrase match.",
            "Broad match."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_KeywordRecommendation": {
      "description": "The keyword recommendation.",
      "type": "object",
      "properties": {
        "searchTerms": {
          "description": "Output only. A list of search terms this keyword matches. The same search term may be repeated for multiple keywords.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_RecommendationKeywordRecommendation_SearchTerm"
          },
          "type": "array"
        },
        "recommendedCpcBidMicros": {
          "format": "int64",
          "description": "Output only. The recommended CPC (cost-per-click) bid.",
          "type": "string"
        },
        "keyword": {
          "description": "Output only. The recommended keyword.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_LeadFormAssetRecommendation": {
      "description": "The lead form asset recommendation.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_LowerTargetRoasRecommendation": {
      "type": "object",
      "properties": {
        "targetAdjustment": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_TargetAdjustmentInfo",
          "description": "Output only. The relevant information describing the recommended target adjustment."
        }
      },
      "description": "Recommendation to lower Target ROAS."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_MaximizeClicksOptInRecommendation": {
      "type": "object",
      "properties": {
        "recommendedBudgetAmountMicros": {
          "type": "string",
          "description": "Output only. The recommended new budget amount. Only set if the current budget is too high.",
          "format": "int64"
        }
      },
      "description": "The Maximize Clicks opt-in recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_MaximizeConversionValueOptInRecommendation": {
      "type": "object",
      "properties": {},
      "description": "Recommendation to opt into Maximize Conversion Value bidding strategy."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_MaximizeConversionsOptInRecommendation": {
      "description": "The Maximize Conversions Opt-In recommendation.",
      "type": "object",
      "properties": {
        "recommendedBudgetAmountMicros": {
          "format": "int64",
          "description": "Output only. The recommended new budget amount.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_MerchantInfo": {
      "description": "The Merchant Center account details.",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Output only. The Merchant Center account ID.",
          "format": "int64"
        },
        "name": {
          "description": "Output only. The name of the Merchant Center account.",
          "type": "string"
        },
        "multiClient": {
          "type": "boolean",
          "description": "Output only. Whether the Merchant Center account is a Multi-Client account (MCA)."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation": {
      "type": "object",
      "properties": {
        "applyLink": {
          "description": "Output only. A link to the Google Ads UI where the customer can manually apply the recommendation.",
          "type": "string"
        }
      },
      "description": "The Dynamic Search Ads to Performance Max migration recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_MoveUnusedBudgetRecommendation": {
      "description": "The move unused budget recommendation.",
      "type": "object",
      "properties": {
        "excessCampaignBudget": {
          "type": "string",
          "description": "Output only. The excess budget's resource_name."
        },
        "budgetRecommendation": {
          "description": "Output only. The recommendation for the constrained budget to increase.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_CampaignBudgetRecommendation"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_OptimizeAdRotationRecommendation": {
      "type": "object",
      "properties": {},
      "description": "The Optimize Ad Rotation recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation": {
      "description": "Recommendation to turn on Final URL expansion for your Performance Max campaigns.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_PerformanceMaxOptInRecommendation": {
      "type": "object",
      "properties": {},
      "description": "The Performance Max Opt In recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation": {
      "description": "The raise target CPA bid too low recommendation.",
      "type": "object",
      "properties": {
        "averageTargetCpaMicros": {
          "format": "int64",
          "description": "Output only. The current average target CPA of the campaign, in micros of customer local currency.",
          "type": "string"
        },
        "recommendedTargetMultiplier": {
          "description": "Output only. A number greater than 1.0 indicating the factor by which we recommend the target CPA should be increased.",
          "type": "number",
          "format": "double"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_RaiseTargetCpaRecommendation": {
      "type": "object",
      "properties": {
        "appBiddingGoal": {
          "description": "Output only. Represents the goal towards which the bidding strategy should optimize. Only populated for App Campaigns.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME",
            "OPTIMIZE_FOR_IN_APP_CONVERSION_VOLUME",
            "OPTIMIZE_FOR_TOTAL_CONVERSION_VALUE",
            "OPTIMIZE_FOR_TARGET_IN_APP_CONVERSION",
            "OPTIMIZE_FOR_RETURN_ON_ADVERTISING_SPEND",
            "OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME_WITHOUT_TARGET_CPI",
            "OPTIMIZE_FOR_PRE_REGISTRATION_CONVERSION_VOLUME"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Represents value unknown in this version of the API.",
            "The bidding strategy of the app campaign should aim to maximize installation of the app.",
            "The bidding strategy of the app campaign should aim to maximize the selected in-app conversions' volume.",
            "The bidding strategy of the app campaign should aim to maximize all conversions' value, that is, install and selected in-app conversions.",
            "The bidding strategy of the app campaign should aim to maximize just the selected in-app conversion's volume, while achieving or exceeding target cost per in-app conversion.",
            "The bidding strategy of the app campaign should aim to maximize all conversions' value, that is, install and selected in-app conversions while achieving or exceeding target return on advertising spend.",
            "This bidding strategy of the app campaign should aim to maximize installation of the app without advertiser-provided target cost-per-install.",
            "This bidding strategy of the app campaign should aim to maximize pre-registration of the app."
          ]
        },
        "targetAdjustment": {
          "description": "Output only. The relevant information describing the recommended target adjustment.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_TargetAdjustmentInfo"
        }
      },
      "description": "Recommendation to raise Target CPA."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_RecommendationImpact": {
      "description": "The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information.",
      "type": "object",
      "properties": {
        "baseMetrics": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_RecommendationMetrics",
          "description": "Output only. Base metrics at the time the recommendation was generated."
        },
        "potentialMetrics": {
          "description": "Output only. Estimated metrics if the recommendation is applied.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_RecommendationMetrics"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_RecommendationMetrics": {
      "type": "object",
      "properties": {
        "videoViews": {
          "description": "Output only. Number of video views for a video ad campaign.",
          "type": "number",
          "format": "double"
        },
        "impressions": {
          "format": "double",
          "description": "Output only. Number of ad impressions.",
          "type": "number"
        },
        "clicks": {
          "format": "double",
          "description": "Output only. Number of ad clicks.",
          "type": "number"
        },
        "conversions": {
          "description": "Output only. Number of conversions.",
          "type": "number",
          "format": "double"
        },
        "conversionsValue": {
          "format": "double",
          "description": "Output only. Sum of the conversion value of the conversions.",
          "type": "number"
        },
        "costMicros": {
          "format": "int64",
          "description": "Output only. Cost (in micros) for advertising, in the local currency for the account.",
          "type": "string"
        }
      },
      "description": "Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_RefreshCustomerMatchListRecommendation": {
      "description": "The recommendation to update a customer list that hasn't been updated in the last 90 days. The customer receiving the recommendation is not necessarily the owner account. The owner account should update the customer list.",
      "type": "object",
      "properties": {
        "daysSinceLastRefresh": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Days since last refresh."
        },
        "ownerAccount": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_AccountInfo",
          "description": "Output only. The owner account. This is the account that should update the customer list."
        },
        "targetingAccountsCount": {
          "description": "Output only. User lists can be shared with other accounts by the owner. targeting_accounts_count is the number of those accounts that can use it for targeting.",
          "type": "string",
          "format": "int64"
        },
        "userListId": {
          "type": "string",
          "description": "Output only. The user list ID.",
          "format": "int64"
        },
        "topSpendingAccount": {
          "type": "array",
          "description": "Output only. The top spending account.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_AccountInfo"
          }
        },
        "userListName": {
          "description": "Output only. The name of the list.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ResponsiveSearchAdAssetRecommendation": {
      "type": "object",
      "properties": {
        "currentAd": {
          "description": "Output only. The current ad to be updated.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Ad"
        },
        "recommendedAssets": {
          "description": "Output only. The recommended assets. This is populated only with the new headlines and/or descriptions, and is otherwise empty.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Ad"
        }
      },
      "description": "The add responsive search ad asset recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation": {
      "type": "object",
      "properties": {
        "recommendedAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Ad",
          "description": "Output only. The updated ad."
        },
        "currentAd": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Ad",
          "description": "Output only. The current ad to be updated."
        }
      },
      "description": "The responsive search ad improve ad strength recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ResponsiveSearchAdRecommendation": {
      "description": "The add responsive search ad recommendation.",
      "type": "object",
      "properties": {
        "ad": {
          "description": "Output only. Recommended ad.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Ad"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_SearchPartnersOptInRecommendation": {
      "description": "The Search Partners Opt-In recommendation.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation": {
      "description": "The shopping recommendation to add products to a Shopping Campaign Inventory.",
      "type": "object",
      "properties": {
        "merchant": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_MerchantInfo",
          "description": "Output only. The details of the Merchant Center account."
        },
        "feedLabel": {
          "description": "Output only. The feed label for the campaign.",
          "type": "string"
        },
        "reason": {
          "type": "string",
          "description": "Output only. The reason why no products are attached to the campaign.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS",
            "MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS_IN_FEED",
            "ADS_ACCOUNT_EXCLUDES_OFFERS_FROM_CAMPAIGN",
            "ALL_PRODUCTS_ARE_EXCLUDED_FROM_CAMPAIGN"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The Merchant Center account does not have any submitted products.",
            "The Merchant Center account does not have any submitted products in the feed.",
            "The Google Ads account has active campaign filters that prevents inclusion of offers in the campaign.",
            "All products available have been explicitly excluded from being targeted by the campaign."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation": {
      "type": "object",
      "properties": {
        "disapprovedProductsCount": {
          "type": "string",
          "description": "Output only. The numbers of products of the campaign that are disapproved.",
          "format": "int64"
        },
        "merchant": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_MerchantInfo",
          "description": "Output only. The details of the Merchant Center account."
        },
        "feedLabel": {
          "description": "Output only. The feed label for the campaign.",
          "type": "string"
        },
        "productsCount": {
          "type": "string",
          "description": "Output only. The number of products of the campaign.",
          "format": "int64"
        }
      },
      "description": "The shopping recommendation to fix disapproved products in a Shopping Campaign Inventory."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation": {
      "description": "The shopping recommendation to fix Merchant Center account suspension issues.",
      "type": "object",
      "properties": {
        "merchant": {
          "description": "Output only. The details of the Merchant Center account.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_MerchantInfo"
        },
        "feedLabel": {
          "description": "Output only. The feed label of the campaign for which the suspension happened.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation": {
      "type": "object",
      "properties": {
        "merchant": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_MerchantInfo",
          "description": "Output only. The details of the Merchant Center account."
        },
        "feedLabel": {
          "description": "Output only. The feed label of the offers targeted by the campaigns sharing this suggestion.",
          "type": "string"
        }
      },
      "description": "The shopping recommendation to migrate Regular Shopping Campaign targeted offers to Performance Max campaigns."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingOfferAttributeRecommendation": {
      "type": "object",
      "properties": {
        "merchant": {
          "description": "Output only. The details of the Merchant Center account.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_MerchantInfo"
        },
        "feedLabel": {
          "description": "Output only. The campaign feed label.",
          "type": "string"
        },
        "demotedOffersCount": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details."
        },
        "offersCount": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The number of online, servable offers."
        }
      },
      "description": "The shopping recommendation to add an attribute to offers that are demoted because it is missing."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingTargetAllOffersRecommendation": {
      "description": "The shopping recommendation to create a catch-all campaign that targets all offers.",
      "type": "object",
      "properties": {
        "untargetedOffersCount": {
          "type": "string",
          "description": "Output only. The number of untargeted offers.",
          "format": "int64"
        },
        "merchant": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_MerchantInfo",
          "description": "Output only. The details of the Merchant Center account."
        },
        "feedLabel": {
          "type": "string",
          "description": "Output only. The offer feed label."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_SitelinkAssetRecommendation": {
      "type": "object",
      "properties": {
        "recommendedCampaignSitelinkAssets": {
          "type": "array",
          "description": "Output only. New sitelink assets recommended at the campaign level.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Asset"
          }
        },
        "recommendedCustomerSitelinkAssets": {
          "description": "Output only. New sitelink assets recommended at the customer level.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Asset"
          },
          "type": "array"
        }
      },
      "description": "The sitelink asset recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_TargetAdjustmentInfo": {
      "type": "object",
      "properties": {
        "sharedSet": {
          "type": "string",
          "description": "Output only. The shared set resource name of the portfolio bidding strategy where the target is defined. Only populated if the recommendation is portfolio level."
        },
        "currentAverageTargetMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The current average target of the campaign or portfolio targeted by this recommendation."
        },
        "recommendedTargetMultiplier": {
          "format": "double",
          "description": "Output only. The factor by which we recommend the target to be adjusted by.",
          "type": "number"
        }
      },
      "description": "Information of a target adjustment recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_TargetCpaOptInRecommendation": {
      "description": "The Target CPA opt-in recommendation.",
      "type": "object",
      "properties": {
        "recommendedTargetCpaMicros": {
          "type": "string",
          "description": "Output only. The recommended average CPA target. See required budget amount and impact of using this recommendation in options list.",
          "format": "int64"
        },
        "options": {
          "type": "array",
          "description": "Output only. The available goals and corresponding options for Target CPA strategy.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_TargetRoasOptInRecommendation": {
      "description": "The Target ROAS opt-in recommendation.",
      "type": "object",
      "properties": {
        "recommendedTargetRoas": {
          "type": "number",
          "description": "Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.",
          "format": "double"
        },
        "requiredCampaignBudgetAmountMicros": {
          "type": "string",
          "description": "Output only. The minimum campaign budget, in local currency for the account, required to achieve the target ROAS. Amount is specified in micros, where one million is equivalent to one currency unit.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_TextAdRecommendation": {
      "description": "The text ad recommendation.",
      "type": "object",
      "properties": {
        "autoApplyDate": {
          "type": "string",
          "description": "Output only. Date, if present, is the earliest when the recommendation will be auto applied. YYYY-MM-DD format, for example, 2018-04-17."
        },
        "ad": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Ad",
          "description": "Output only. Recommended ad."
        },
        "creationDate": {
          "type": "string",
          "description": "Output only. Creation date of the recommended ad. YYYY-MM-DD format, for example, 2018-04-17."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation": {
      "type": "object",
      "properties": {},
      "description": "The Upgrade Local campaign to Performance Max campaign recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation": {
      "type": "object",
      "properties": {
        "merchantId": {
          "type": "string",
          "description": "Output only. ID of Merchant Center account.",
          "format": "int64"
        },
        "salesCountryCode": {
          "description": "Output only. Country whose products from merchant's inventory should be included.",
          "type": "string"
        }
      },
      "description": "The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation."
    },
    "GoogleAdsGoogleadsV25Resources_Recommendation_UseBroadMatchKeywordRecommendation": {
      "description": "The use broad match keyword recommendation.",
      "type": "object",
      "properties": {
        "suggestedKeywordsCount": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Total number of keywords to be expanded to Broad Match in the campaign."
        },
        "campaignUsesSharedBudget": {
          "description": "Output only. Whether the associated campaign uses a shared budget.",
          "type": "boolean"
        },
        "requiredCampaignBudgetAmountMicros": {
          "type": "string",
          "description": "Output only. The budget recommended to avoid becoming budget constrained after applying the recommendation.",
          "format": "int64"
        },
        "keyword": {
          "type": "array",
          "description": "Output only. Sample of keywords to be expanded to Broad Match.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo"
          }
        },
        "campaignKeywordsCount": {
          "type": "string",
          "description": "Output only. Total number of keywords in the campaign.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources_ShoppingProduct_ProductIssue": {
      "type": "object",
      "properties": {
        "errorCode": {
          "type": "string",
          "description": "Output only. The error code that identifies the issue."
        },
        "documentation": {
          "type": "string",
          "description": "Output only. The URL of the Help Center article for the issue."
        },
        "affectedRegions": {
          "description": "Output only. List of upper-case two-letter ISO 3166-1 codes of the regions affected by the issue. If empty, all regions are affected.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "attributeName": {
          "description": "Output only. The name of the product's attribute, if any, that triggered the issue.",
          "type": "string"
        },
        "detail": {
          "type": "string",
          "description": "Output only. The detailed description of the issue in English."
        },
        "adsSeverity": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The issue limits the performance of the product in ads.",
            "The issue prevents the product from showing in ads."
          ],
          "type": "string",
          "description": "Output only. The severity of the issue in Google Ads.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WARNING",
            "ERROR"
          ]
        },
        "description": {
          "description": "Output only. The short description of the issue in English.",
          "type": "string"
        }
      },
      "description": "An issue affecting whether a product can show in ads."
    },
    "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__AccessibleBiddingStrategy": {
      "description": "Represents a view of BiddingStrategies owned by and shared with the customer. In contrast to BiddingStrategy, this resource includes strategies owned by managers of the customer and shared with this customer - in addition to strategies owned by this customer. This resource does not provide metrics and only exposes a limited subset of the BiddingStrategy attributes.",
      "type": "object",
      "properties": {
        "maximizeConversionValue": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AccessibleBiddingStrategy_MaximizeConversionValue",
          "description": "Output only. 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": {
          "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"
          ],
          "description": "Output only. The type of the bidding strategy.",
          "type": "string"
        },
        "maximizeConversions": {
          "description": "Output only. An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AccessibleBiddingStrategy_MaximizeConversions"
        },
        "targetImpressionShare": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AccessibleBiddingStrategy_TargetImpressionShare",
          "description": "Output only. A bidding strategy that automatically optimizes towards a chosen percentage of impressions."
        },
        "ownerDescriptiveName": {
          "description": "Output only. descriptive_name of the Customer which owns the bidding strategy.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the accessible bidding strategy. AccessibleBiddingStrategy resource names have the form: `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}`"
        },
        "targetCpa": {
          "description": "Output only. A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AccessibleBiddingStrategy_TargetCpa"
        },
        "targetRoas": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AccessibleBiddingStrategy_TargetRoas",
          "description": "Output only. A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS)."
        },
        "targetSpend": {
          "description": "Output only. A bid strategy that sets your bids to help get as many clicks as possible within your budget.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AccessibleBiddingStrategy_TargetSpend"
        },
        "name": {
          "type": "string",
          "description": "Output only. The name of the bidding strategy."
        },
        "ownerCustomerId": {
          "format": "int64",
          "description": "Output only. The ID of the Customer which owns the bidding strategy.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AccountBudget": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Output only. The name of the account-level budget."
        },
        "proposedEndTimeType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "As soon as possible.",
            "An infinite point in the future."
          ],
          "description": "Output only. The proposed end time as a well-defined type, for example, FOREVER.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOW",
            "FOREVER"
          ]
        },
        "proposedSpendingLimitMicros": {
          "description": "Output only. The proposed spending limit in micros. One million is equivalent to one unit.",
          "type": "string",
          "format": "int64"
        },
        "approvedEndDateTime": {
          "description": "Output only. The approved end time in yyyy-MM-dd HH:mm:ss format.",
          "type": "string"
        },
        "approvedSpendingLimitType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Infinite, indicates unlimited spending power."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INFINITE"
          ],
          "type": "string",
          "description": "Output only. The approved spending limit as a well-defined type, for example, INFINITE. This will only be populated if the approved spending limit is INFINITE."
        },
        "billingSetup": {
          "description": "Output only. The resource name of the billing setup associated with this account-level budget. BillingSetup resource names have the form: `customers/{customer_id}/billingSetups/{billing_setup_id}`",
          "type": "string"
        },
        "proposedEndDateTime": {
          "description": "Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format.",
          "type": "string"
        },
        "proposedStartDateTime": {
          "description": "Output only. The proposed start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, this is the time of request.",
          "type": "string"
        },
        "resourceName": {
          "description": "Output only. The resource name of the account-level budget. AccountBudget resource names have the form: `customers/{customer_id}/accountBudgets/{account_budget_id}`",
          "type": "string"
        },
        "adjustedSpendingLimitType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Infinite, indicates unlimited spending power."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INFINITE"
          ],
          "description": "Output only. The adjusted spending limit as a well-defined type, for example, INFINITE. This will only be populated if the adjusted spending limit is INFINITE, which is guaranteed to be true if the approved spending limit is INFINITE.",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the account-level budget.",
          "format": "int64"
        },
        "adjustedSpendingLimitMicros": {
          "description": "Output only. The adjusted spending limit in micros. One million is equivalent to one unit. If the approved spending limit is finite, the adjusted spending limit may vary depending on the types of adjustments applied to this budget, if applicable. The different kinds of adjustments are described here: https://support.google.com/google-ads/answer/1704323 For example, a debit adjustment reduces how much the account is allowed to spend.",
          "type": "string",
          "format": "int64"
        },
        "totalAdjustmentsMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The total adjustments amount. An example of an adjustment is courtesy credits."
        },
        "notes": {
          "type": "string",
          "description": "Output only. Notes associated with the budget."
        },
        "approvedStartDateTime": {
          "type": "string",
          "description": "Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. For example, if a new budget is approved after the proposed start time, the approved start time is the time of approval."
        },
        "proposedSpendingLimitType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Infinite, indicates unlimited spending power."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INFINITE"
          ],
          "type": "string",
          "description": "Output only. The proposed spending limit as a well-defined type, for example, INFINITE."
        },
        "amountServedMicros": {
          "format": "int64",
          "description": "Output only. The value of Ads that have been served, in micros. This includes overdelivery costs, in which case a credit might be automatically applied to the budget (see total_adjustments_micros).",
          "type": "string"
        },
        "approvedSpendingLimitMicros": {
          "format": "int64",
          "description": "Output only. The approved spending limit in micros. One million is equivalent to one unit. This will only be populated if the proposed spending limit is finite, and will always be greater than or equal to the proposed spending limit.",
          "type": "string"
        },
        "purchaseOrderNumber": {
          "description": "Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.",
          "type": "string"
        },
        "pendingProposal": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AccountBudget_PendingAccountBudgetProposal",
          "description": "Output only. The pending proposal to modify this budget, if applicable."
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The account budget is pending approval.",
            "The account budget has been approved.",
            "The account budget has been cancelled by the user."
          ],
          "description": "Output only. The status of this account-level budget.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "APPROVED",
            "CANCELLED"
          ]
        },
        "approvedEndTimeType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "As soon as possible.",
            "An infinite point in the future."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOW",
            "FOREVER"
          ],
          "description": "Output only. The approved end time as a well-defined type, for example, FOREVER.",
          "type": "string"
        }
      },
      "description": "An account-level budget. It contains information about the budget itself, as well as the most recently approved changes to the budget and proposed changes that are pending approval. The proposed changes that are pending approval, if any, are found in 'pending_proposal'. Effective details about the budget are found in fields prefixed 'approved_', 'adjusted_' and those without a prefix. Since some effective details may differ from what the user had originally requested (for example, spending limit), these differences are juxtaposed through 'proposed_', 'approved_', and possibly 'adjusted_' fields. This resource is mutated using AccountBudgetProposal and cannot be mutated directly. A budget may have at most one pending proposal at any given time. It is read through pending_proposal. Once approved, a budget may be subject to adjustments, such as credit adjustments. Adjustments create differences between the 'approved' and 'adjusted' fields, which would otherwise be identical."
    },
    "GoogleAdsGoogleadsV25Resources__AccountBudgetProposal": {
      "description": "An account-level budget proposal. All fields prefixed with 'proposed' may not necessarily be applied directly. For example, proposed spending limits may be adjusted before their application. This is true if the 'proposed' field has an 'approved' counterpart, for example, spending limits. Note that the proposal type (proposal_type) changes which fields are required and which must remain empty.",
      "type": "object",
      "properties": {
        "proposedName": {
          "type": "string",
          "description": "Immutable. The name to assign to the account-level budget."
        },
        "proposedEndTimeType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "As soon as possible.",
            "An infinite point in the future."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOW",
            "FOREVER"
          ],
          "description": "Immutable. The proposed end date time as a well-defined type, for example, FOREVER.",
          "type": "string"
        },
        "proposedSpendingLimitMicros": {
          "format": "int64",
          "description": "Immutable. The proposed spending limit in micros. One million is equivalent to one unit.",
          "type": "string"
        },
        "billingSetup": {
          "description": "Immutable. The resource name of the billing setup associated with this proposal.",
          "type": "string"
        },
        "proposedEndDateTime": {
          "description": "Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format.",
          "type": "string"
        },
        "approvedEndDateTime": {
          "type": "string",
          "description": "Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format."
        },
        "approvedSpendingLimitType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Infinite, indicates unlimited spending power."
          ],
          "type": "string",
          "description": "Output only. The approved spending limit as a well-defined type, for example, INFINITE.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INFINITE"
          ]
        },
        "proposedStartDateTime": {
          "type": "string",
          "description": "Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format."
        },
        "proposedPurchaseOrderNumber": {
          "type": "string",
          "description": "Immutable. A purchase order number is a value that enables the user to help them reference this budget in their monthly invoices."
        },
        "resourceName": {
          "description": "Immutable. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`",
          "type": "string"
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the proposal.",
          "type": "string"
        },
        "proposedStartTimeType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "As soon as possible.",
            "An infinite point in the future."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOW",
            "FOREVER"
          ],
          "description": "Immutable. The proposed start date time as a well-defined type, for example, NOW.",
          "type": "string"
        },
        "proposedSpendingLimitType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Infinite, indicates unlimited spending power."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INFINITE"
          ],
          "type": "string",
          "description": "Immutable. The proposed spending limit as a well-defined type, for example, INFINITE."
        },
        "approvedStartDateTime": {
          "type": "string",
          "description": "Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format."
        },
        "accountBudget": {
          "type": "string",
          "description": "Immutable. The resource name of the account-level budget associated with this proposal."
        },
        "proposalType": {
          "type": "string",
          "description": "Immutable. The type of this proposal, for example, END to end the budget associated with this proposal.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Identifies a request to create a new budget.",
            "Identifies a request to edit an existing budget.",
            "Identifies a request to end a budget that has already started.",
            "Identifies a request to remove a budget that hasn't started yet."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CREATE",
            "UPDATE",
            "END",
            "REMOVE"
          ]
        },
        "proposedNotes": {
          "type": "string",
          "description": "Immutable. Notes associated with this budget."
        },
        "creationDateTime": {
          "description": "Output only. The date time when this account-level budget proposal was created, which is not the same as its approval date time, if applicable.",
          "type": "string"
        },
        "approvalDateTime": {
          "description": "Output only. The date time when this account-level budget was approved, if applicable.",
          "type": "string"
        },
        "approvedSpendingLimitMicros": {
          "description": "Output only. The approved spending limit in micros. One million is equivalent to one unit.",
          "type": "string",
          "format": "int64"
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "APPROVED_HELD",
            "APPROVED",
            "CANCELLED",
            "REJECTED"
          ],
          "description": "Output only. The status of this proposal. When a new proposal is created, the status defaults to PENDING.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The proposal is pending approval.",
            "The proposal has been approved but the corresponding billing setup has not. This can occur for proposals that set up the first budget when signing up for billing or when performing a change of bill-to operation.",
            "The proposal has been approved.",
            "The proposal has been cancelled by the user.",
            "The proposal has been rejected by the user, for example, by rejecting an acceptance email."
          ]
        },
        "approvedEndTimeType": {
          "description": "Output only. The approved end date time as a well-defined type, for example, FOREVER.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOW",
            "FOREVER"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "As soon as possible.",
            "An infinite point in the future."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AccountLink": {
      "description": "Represents the data sharing connection between a Google Ads account and another account",
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "THIRD_PARTY_APP_ANALYTICS"
          ],
          "type": "string",
          "description": "Output only. The type of the linked account.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "A link to provide third party app analytics data."
          ]
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The link is enabled.",
            "The link is removed/disabled.",
            "The link to the other account has been requested. A user on the other account may now approve the link by setting the status to ENABLED.",
            "This link has been requested by a user on the other account. It may be approved by a user on this account by setting the status to ENABLED.",
            "The link is rejected by the approver.",
            "The link is revoked by the user who requested the link."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED",
            "REQUESTED",
            "PENDING_APPROVAL",
            "REJECTED",
            "REVOKED"
          ],
          "type": "string",
          "description": "The status of the link."
        },
        "accountLinkId": {
          "description": "Output only. The ID of the link. This field is read only.",
          "type": "string",
          "format": "int64"
        },
        "thirdPartyAppAnalytics": {
          "description": "Immutable. A third party app analytics link.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ThirdPartyAppAnalyticsLinkIdentifier"
        },
        "resourceName": {
          "description": "Immutable. Resource name of the account link. AccountLink resource names have the form: `customers/{customer_id}/accountLinks/{account_link_id}`",
          "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__AdGroupAdAssetCombinationView": {
      "description": "A view on the usage of ad group ad asset combination. Now we only support AdGroupAdAssetCombinationView for Responsive Search Ads, with more ad types planned for the future.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the ad group ad asset combination view. The combination ID is 128 bits long, where the upper 64 bits are stored in asset_combination_id_high, and the lower 64 bits are stored in asset_combination_id_low. AdGroupAd Asset Combination view resource names have the form: `customers/{customer_id}/adGroupAdAssetCombinationViews/{AdGroupAd.ad_group_id}~{AdGroupAd.ad.ad_id}~{AssetCombination.asset_combination_id_low}~{AssetCombination.asset_combination_id_high}`",
          "type": "string"
        },
        "enabled": {
          "type": "boolean",
          "description": "Output only. The status between the asset combination and the latest version of the ad. If true, the asset combination is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad."
        },
        "servedAssets": {
          "description": "Output only. Served assets.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AssetUsage"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupAdAssetPolicySummary": {
      "type": "object",
      "properties": {
        "approvalStatus": {
          "type": "string",
          "description": "Output only. The overall approval status of this ad group ad 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."
          ]
        },
        "reviewStatus": {
          "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."
          ],
          "description": "Output only. Where in the review process this ad group ad asset is.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REVIEW_IN_PROGRESS",
            "REVIEWED",
            "UNDER_APPEAL",
            "ELIGIBLE_MAY_SERVE"
          ]
        },
        "policyTopicEntries": {
          "description": "Output only. The list of policy findings for the ad group ad asset.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PolicyTopicEntry"
          },
          "type": "array"
        }
      },
      "description": "Contains policy information for an ad group ad asset."
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupAdAssetView": {
      "description": "Represents a link between an AdGroupAd and an Asset. This view provides insights into the performance of assets within specific ads. AdGroupAdAssetView supports the following ad types: * App Ads * Demand Gen campaigns * Responsive Search Ads It does not support Responsive Display Ads.",
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "description": "Output only. The asset which is linked to the ad group ad."
        },
        "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."
          ],
          "type": "string",
          "description": "Output only. Role that the asset takes in the ad.",
          "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"
          ]
        },
        "pinnedField": {
          "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"
          ],
          "description": "Output only. Pinned field.",
          "type": "string"
        },
        "resourceName": {
          "description": "Output only. The resource name of the ad group ad asset view. Ad group ad asset view resource names have the form (Before V4): `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` Ad group ad asset view resource names have the form (Beginning from V4): `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}`",
          "type": "string"
        },
        "enabled": {
          "description": "Output only. The status between the asset and the latest version of the ad. If true, the asset is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.",
          "type": "boolean"
        },
        "performanceLabel": {
          "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."
          ],
          "description": "Output only. Performance of an asset linkage.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "LEARNING",
            "LOW",
            "GOOD",
            "BEST",
            "NOT_APPLICABLE"
          ]
        },
        "adGroupAd": {
          "type": "string",
          "description": "Output only. The ad group ad to which the asset is linked."
        },
        "policySummary": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAdAssetPolicySummary",
          "description": "Output only. Policy information for the ad group ad asset."
        },
        "source": {
          "type": "string",
          "description": "Output only. Source of the ad group ad asset.",
          "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."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupAdLabel": {
      "description": "A relationship between an ad group ad and a label.",
      "type": "object",
      "properties": {
        "adGroupAd": {
          "description": "Immutable. The ad group ad to which the label is attached.",
          "type": "string"
        },
        "label": {
          "description": "Immutable. The label assigned to the ad group ad.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the ad group ad label. Ad group ad label resource names have the form: `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`"
        }
      }
    },
    "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__AdGroupAssetSet": {
      "type": "object",
      "properties": {
        "assetSet": {
          "description": "Immutable. The asset set which is linked to the ad group.",
          "type": "string"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the ad group asset set. Ad group asset set resource names have the form: `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}`",
          "type": "string"
        },
        "adGroup": {
          "description": "Immutable. The ad group to which this asset set is linked.",
          "type": "string"
        },
        "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 linkage between asset set and its container is enabled.",
            "The linkage between asset set and its container is removed."
          ],
          "description": "Output only. The status of the ad group asset set. Read-only.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ]
        }
      },
      "description": "AdGroupAssetSet is the linkage between an ad group and an asset set. Creating an AdGroupAssetSet links an asset set with an ad group."
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupAudienceView": {
      "description": "An ad group audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated at the audience level.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the ad group audience view. Ad group audience view resource names have the form: `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}`"
        }
      }
    },
    "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__AdGroupCreativeAssetCombinationData": {
      "type": "object",
      "properties": {
        "assetCombinationServedAssets": {
          "description": "Output only. Served assets.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AssetUsage"
          },
          "type": "array"
        }
      },
      "description": "Ad group asset combination data"
    },
    "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__AdGroupCriterionLabel": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string",
          "description": "Immutable. The label assigned to the ad group criterion."
        },
        "adGroupCriterion": {
          "type": "string",
          "description": "Immutable. The ad group criterion to which the label is attached."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the ad group criterion label. Ad group criterion label resource names have the form: `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`"
        }
      },
      "description": "A relationship between an ad group criterion and a label."
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupCriterionSimulation": {
      "description": "An ad group criterion simulation. Supported combinations of advertising channel type, criterion type, simulation type, and simulation modification method are detailed below respectively. Hotel AdGroupCriterion simulation operations starting in V5. 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM 2. SEARCH - KEYWORD - CPC_BID - UNIFORM 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM",
      "type": "object",
      "properties": {
        "percentCpcBidPointList": {
          "description": "Output only. Simulation points if the simulation type is PERCENT_CPC_BID.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PercentCpcBidSimulationPointList"
        },
        "criterionId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Criterion ID of the simulation."
        },
        "endDate": {
          "description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format.",
          "type": "string"
        },
        "modificationMethod": {
          "type": "string",
          "description": "Output only. How the simulation modifies the field.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNIFORM",
            "DEFAULT",
            "SCALING"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.",
            "The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.",
            "The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X."
          ]
        },
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The simulation is for a CPC bid.",
            "The simulation is for a CPV bid.",
            "The simulation is for a CPA target.",
            "The simulation is for a bid modifier.",
            "The simulation is for a ROAS target.",
            "The simulation is for a percent CPC bid.",
            "The simulation is for an impression share target.",
            "The simulation is for a budget."
          ],
          "description": "Output only. The field that the simulation modifies.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CPC_BID",
            "CPV_BID",
            "TARGET_CPA",
            "BID_MODIFIER",
            "TARGET_ROAS",
            "PERCENT_CPC_BID",
            "TARGET_IMPRESSION_SHARE",
            "BUDGET"
          ]
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the ad group criterion simulation. Ad group criterion simulation resource names have the form: `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`"
        },
        "cpcBidPointList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CpcBidSimulationPointList",
          "description": "Output only. Simulation points if the simulation type is CPC_BID."
        },
        "startDate": {
          "description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format.",
          "type": "string"
        },
        "adGroupId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. AdGroup ID of the simulation."
        }
      }
    },
    "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__AdGroupLabel": {
      "type": "object",
      "properties": {
        "label": {
          "description": "Immutable. The label assigned to the ad group.",
          "type": "string"
        },
        "adGroup": {
          "type": "string",
          "description": "Immutable. The ad group to which the label is attached."
        },
        "resourceName": {
          "description": "Immutable. The resource name of the ad group label. Ad group label resource names have the form: `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`",
          "type": "string"
        }
      },
      "description": "A relationship between an ad group and a label."
    },
    "GoogleAdsGoogleadsV25Resources__AdGroupSimulation": {
      "type": "object",
      "properties": {
        "endDate": {
          "type": "string",
          "description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format"
        },
        "modificationMethod": {
          "type": "string",
          "description": "Output only. How the simulation modifies the field.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNIFORM",
            "DEFAULT",
            "SCALING"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.",
            "The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.",
            "The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X."
          ]
        },
        "cpvBidPointList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CpvBidSimulationPointList",
          "description": "Output only. Simulation points if the simulation type is CPV_BID."
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the ad group simulation. Ad group simulation resource names have the form: `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}`"
        },
        "cpcBidPointList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CpcBidSimulationPointList",
          "description": "Output only. Simulation points if the simulation type is CPC_BID."
        },
        "startDate": {
          "type": "string",
          "description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format."
        },
        "targetCpaPointList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetCpaSimulationPointList",
          "description": "Output only. Simulation points if the simulation type is TARGET_CPA."
        },
        "adGroupId": {
          "description": "Output only. Ad group id of the simulation.",
          "type": "string",
          "format": "int64"
        },
        "targetRoasPointList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetRoasSimulationPointList",
          "description": "Output only. Simulation points if the simulation type is TARGET_ROAS."
        },
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The simulation is for a CPC bid.",
            "The simulation is for a CPV bid.",
            "The simulation is for a CPA target.",
            "The simulation is for a bid modifier.",
            "The simulation is for a ROAS target.",
            "The simulation is for a percent CPC bid.",
            "The simulation is for an impression share target.",
            "The simulation is for a budget."
          ],
          "type": "string",
          "description": "Output only. The field that the simulation modifies.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CPC_BID",
            "CPV_BID",
            "TARGET_CPA",
            "BID_MODIFIER",
            "TARGET_ROAS",
            "PERCENT_CPC_BID",
            "TARGET_IMPRESSION_SHARE",
            "BUDGET"
          ]
        }
      },
      "description": "An ad group simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. 1. SEARCH - CPC_BID - DEFAULT 2. SEARCH - CPC_BID - UNIFORM 3. SEARCH - TARGET_CPA - UNIFORM 4. SEARCH - TARGET_ROAS - UNIFORM 5. DISPLAY - CPC_BID - DEFAULT 6. DISPLAY - CPC_BID - UNIFORM 7. DISPLAY - TARGET_CPA - UNIFORM"
    },
    "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__AdScheduleView": {
      "description": "An ad schedule view summarizes the performance of campaigns by AdSchedule criteria.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the ad schedule view. AdSchedule view resource names have the form: `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}`"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AdStrengthActionItem": {
      "type": "object",
      "properties": {
        "actionItemType": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADD_ASSET"
          ],
          "description": "Output only. The action item type.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "This action item suggests adding an asset to the asset group."
          ]
        },
        "addAssetDetails": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_AdStrengthActionItem_AddAssetDetails",
          "description": "Output only. The action item details for action item type ADD_ASSET."
        }
      },
      "description": "An action item to improve the ad strength of an asset group."
    },
    "GoogleAdsGoogleadsV25Resources__AdvertisingPartnerIdentifier": {
      "type": "object",
      "properties": {
        "customer": {
          "type": "string",
          "description": "Output only. The resource name of the advertising partner Google Ads account. This field is required and should not be empty when creating a new Advertising Partner link. It is unable to be modified after the creation of the link."
        }
      },
      "description": "The identifier for the Advertising Partner Google Ads account."
    },
    "GoogleAdsGoogleadsV25Resources__AdvertisingPartnerLinkInvitationIdentifier": {
      "description": "The identifier for the Advertising Partner Google Ads account.",
      "type": "object",
      "properties": {
        "customer": {
          "description": "Immutable. The resource name of the advertising partner Google Ads account. This field is read only.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AdvertisingPartnerLinkInvitationProperties": {
      "type": "object",
      "properties": {
        "allowedDomain": {
          "description": "Immutable. The allowed domain for the Advertising Partner link invitation. The advertising partner will only be able to advertise on this domain. The field is immutable after the creation of the link invitation.",
          "type": "string"
        }
      },
      "description": "Properties specific to an Advertising Partner link invitation."
    },
    "GoogleAdsGoogleadsV25Resources__AdvertisingPartnerProperties": {
      "description": "Properties specific to an Advertising Partner link.",
      "type": "object",
      "properties": {
        "allowedDomain": {
          "type": "string",
          "description": "Output only. The allowed domain for the Advertising Partner link. The advertising partner will only be able to advertise on this domain. The field is immutable."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AgeRangeView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the age range view. Age range view resource names have the form: `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}`"
        }
      },
      "description": "An age range view. Represents the view of a customer's performance metrics (like impressions and clicks) aggregated by age range. All statistics are aggregated at the ad group level. Note: While you can segment metrics by age range using `age_range_view` or by gender using `gender_view`, the Google Ads API does not support segmenting metrics by both age range and gender simultaneously in a single query. Analyzing performance across both dimensions combined is not supported in the Google Ads API."
    },
    "GoogleAdsGoogleadsV25Resources__AiMaxSearchTermAdCombinationView": {
      "description": "AiMaxSearchTermAdCombinationView Resource.",
      "type": "object",
      "properties": {
        "searchTerm": {
          "type": "string",
          "description": "Output only. The search term that triggered the ad. This field is read-only."
        },
        "landingPage": {
          "type": "string",
          "description": "Output only. The destination URL, which was dynamically generated. This field is read-only."
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the AI Max Search Term Ad Combination view AI Max Search Term Ad Combination view resource names have the form: `customers/{customer_id}/aiMaxSearchTermAdCombinationViews/{ad_group_id}~{URL-base64_search_term}~{URL-base64_landing_page}~{URL-base64_headline}`"
        },
        "adGroup": {
          "type": "string",
          "description": "Output only. Ad group where the search term served."
        },
        "headline": {
          "type": "string",
          "description": "Output only. The concatenated string containing headline assets for the ad. Up to three headline assets are concatenated, separated by \" | \". This field is read-only."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AndroidPrivacySharedKeyGoogleAdGroup": {
      "type": "object",
      "properties": {
        "androidPrivacyNetworkType": {
          "description": "Output only. The network type enum used in the share key encoding.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SEARCH",
            "DISPLAY",
            "YOUTUBE"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Search Network.",
            "Display Network.",
            "YouTube Network."
          ]
        },
        "androidPrivacyInteractionType": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CLICK",
            "ENGAGED_VIEW",
            "VIEW"
          ],
          "description": "Output only. The interaction type enum used in the share key encoding.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The physical click interaction type.",
            "The 10 seconds engaged view interaction type.",
            "The view (ad impression) interaction type."
          ]
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleAdGroups/{campaign_id}~{ad_group_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`"
        },
        "sharedAdGroupKey": {
          "type": "string",
          "description": "Output only. 128 bit hex string of the encoded shared ad group key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox."
        },
        "campaignId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The campaign ID used in the share key encoding."
        },
        "androidPrivacyInteractionDate": {
          "type": "string",
          "description": "Output only. The interaction date used in the shared key encoding in the format of \"YYYY-MM-DD\" in UTC timezone."
        },
        "adGroupId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ad group ID used in the share key encoding."
        }
      },
      "description": "An Android privacy shared key view for Google ad group key."
    },
    "GoogleAdsGoogleadsV25Resources__AndroidPrivacySharedKeyGoogleCampaign": {
      "description": "An Android privacy shared key view for Google campaign key.",
      "type": "object",
      "properties": {
        "sharedCampaignKey": {
          "type": "string",
          "description": "Output only. 128 bit hex string of the encoded shared campaign key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox."
        },
        "androidPrivacyInteractionType": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CLICK",
            "ENGAGED_VIEW",
            "VIEW"
          ],
          "description": "Output only. The interaction type enum used in the share key encoding.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The physical click interaction type.",
            "The 10 seconds engaged view interaction type.",
            "The view (ad impression) interaction type."
          ]
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleCampaigns/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`"
        },
        "androidPrivacyInteractionDate": {
          "description": "Output only. The interaction date used in the shared key encoding in the format of \"YYYY-MM-DD\" in UTC timezone.",
          "type": "string"
        },
        "campaignId": {
          "description": "Output only. The campaign ID used in the share key encoding.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AndroidPrivacySharedKeyGoogleNetworkType": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleNetworkTypes/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`"
        },
        "campaignId": {
          "type": "string",
          "description": "Output only. The campaign ID used in the share key encoding.",
          "format": "int64"
        },
        "sharedNetworkTypeKey": {
          "type": "string",
          "description": "Output only. 128 bit hex string of the encoded shared network type key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox."
        },
        "androidPrivacyInteractionDate": {
          "description": "Output only. The interaction date used in the shared key encoding in the format of \"YYYY-MM-DD\" in UTC timezone.",
          "type": "string"
        },
        "androidPrivacyNetworkType": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Search Network.",
            "Display Network.",
            "YouTube Network."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SEARCH",
            "DISPLAY",
            "YOUTUBE"
          ],
          "description": "Output only. The network type enum used in the share key encoding.",
          "type": "string"
        },
        "androidPrivacyInteractionType": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CLICK",
            "ENGAGED_VIEW",
            "VIEW"
          ],
          "description": "Output only. The interaction type enum used in the share key encoding.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The physical click interaction type.",
            "The 10 seconds engaged view interaction type.",
            "The view (ad impression) interaction type."
          ]
        }
      },
      "description": "An Android privacy shared key view for Google network type key."
    },
    "GoogleAdsGoogleadsV25Resources__AppTopCombinationView": {
      "description": "A view resource in the App Top Combination Report.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the app top combination view. App Top Combination view resource names have the form: `customers/{customer_id}/appTopCombinationViews/{ad_group_id}~{ad_id}~{asset_combination_category}`",
          "type": "string"
        },
        "adGroupTopCombinations": {
          "description": "Output only. The top combinations of assets that served together.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupCreativeAssetCombinationData"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AppliedIncentive": {
      "description": "Represents an applied incentive.",
      "type": "object",
      "properties": {
        "rewardExpirationDateTime": {
          "type": "string",
          "description": "Output only. The time when the granted reward expires in \"YYYY-MM-DD HH:MM:SS\" format in UTC. This field is not set if the reward has not been granted."
        },
        "rewardBalanceRemainingMicros": {
          "format": "int64",
          "description": "Output only. The remaining balance of the granted reward in micros. This field is not set if the reward has not been granted.",
          "type": "string"
        },
        "fulfillmentExpirationDateTime": {
          "type": "string",
          "description": "Output only. The time by which the incentive's fulfillment requirements must be met, in \"YYYY-MM-DD HH:MM:SS\" format in UTC."
        },
        "grantedAmountMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The amount of the reward granted in micros. This field is not set if the reward has not been granted."
        },
        "resourceName": {
          "description": "Output only. The resource name of the incentive. Incentive resource names have the form: `customers/{customer_id}/appliedIncentives/{coupon_code}`",
          "type": "string"
        },
        "rewardGrantDateTime": {
          "type": "string",
          "description": "Output only. The time when the reward was granted in \"YYYY-MM-DD HH:MM:SS\" format in UTC. This field is not set if the reward has not been granted."
        },
        "requiredMinSpendMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The minimum amount that must be spent to fulfill the coupon requirements, in micros."
        },
        "redemptionDateTime": {
          "type": "string",
          "description": "Output only. The redemption time of the incentive in \"YYYY-MM-DD HH:MM:SS\" format in UTC."
        },
        "incentiveState": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REDEEMED",
            "FULFILLED",
            "REWARD_GRANTED",
            "EXPIRED",
            "REWARD_EXPIRED",
            "INVALIDATED",
            "REWARD_EXHAUSTED"
          ],
          "type": "string",
          "description": "Output only. The current state of the incentive.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The incentive has been redeemed but the requirements are not yet met.",
            "The incentive's requirements have been met but the reward has not yet been granted.",
            "The reward for the incentive has been granted.",
            "The incentive expired before the requirements were met.",
            "The granted reward has expired.",
            "The incentive was marked as invalid after redemption.",
            "The granted reward has been fully used."
          ]
        },
        "currencyCode": {
          "description": "Output only. The currency code for all monetary amounts (for example, \"USD\").",
          "type": "string"
        },
        "rewardAmountMicros": {
          "format": "int64",
          "description": "Output only. The maximum potential reward amount in micros for the incentive.",
          "type": "string"
        },
        "currentSpendTowardsFulfillmentMicros": {
          "format": "int64",
          "description": "Output only. The current amount spent towards the fulfillment requirements, in micros.",
          "type": "string"
        },
        "couponCode": {
          "type": "string",
          "description": "Output only. The coupon code of the incentive."
        }
      }
    },
    "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__AssetCoverage": {
      "type": "object",
      "properties": {
        "adStrengthActionItems": {
          "description": "Output only. A list of action items to improve the ad strength of an asset group.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdStrengthActionItem"
          },
          "type": "array"
        }
      },
      "description": "Information about the asset coverage of an asset group."
    },
    "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__AssetFieldTypeView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the asset field type view. Asset field type view resource names have the form: `customers/{customer_id}/assetFieldTypeViews/{field_type}`",
          "type": "string"
        },
        "fieldType": {
          "type": "string",
          "description": "Output only. The asset field type of the asset field type view.",
          "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"
          ],
          "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."
          ]
        }
      },
      "description": "An asset field type view. This view reports non-overcounted metrics for each asset field type when the asset is used as extension."
    },
    "GoogleAdsGoogleadsV25Resources__AssetGroup": {
      "description": "An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group.",
      "type": "object",
      "properties": {
        "googleLocalServicesInfo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__GoogleLocalServicesInfo",
          "description": "Local services info of the asset group."
        },
        "resourceName": {
          "description": "Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`",
          "type": "string"
        },
        "assetCoverage": {
          "description": "Output only. The asset coverage of this asset group.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetCoverage"
        },
        "finalUrls": {
          "description": "A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "Output only. The ID of the asset group.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "type": "string",
          "description": "Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign."
        },
        "path2": {
          "description": "Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.",
          "type": "string"
        },
        "campaign": {
          "description": "Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.",
          "type": "string"
        },
        "status": {
          "description": "The status of the asset group.",
          "type": "string",
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version.",
            "The asset group is enabled.",
            "The asset group is paused.",
            "The asset group is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "PAUSED",
            "REMOVED"
          ]
        },
        "primaryStatusReasons": {
          "type": "array",
          "description": "Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.",
          "items": {
            "type": "string",
            "x-enumDescriptions": [
              "Not specified.",
              "Used for return value only. Represents value unknown in this version.",
              "The user-specified asset group status is paused. Contributes to AssetGroupPrimaryStatus.PAUSED",
              "The user-specified asset group status is removed. Contributes to AssetGroupPrimaryStatus.REMOVED.",
              "The user-specified campaign status is removed. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.",
              "The user-specified campaign status is paused. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.",
              "The user-specified time for this campaign to start is in the future. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.",
              "The user-specified time for this campaign to end has passed. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.",
              "The asset group is approved but only serves in limited capacity due to policies. Contributes to AssetGroupPrimaryStatus.LIMITED.",
              "The asset group has been marked as disapproved. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.",
              "The asset group has not completed policy review. Contributes to AssetGroupPrimaryStatus.PENDING."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "ASSET_GROUP_PAUSED",
              "ASSET_GROUP_REMOVED",
              "CAMPAIGN_REMOVED",
              "CAMPAIGN_PAUSED",
              "CAMPAIGN_PENDING",
              "CAMPAIGN_ENDED",
              "ASSET_GROUP_LIMITED",
              "ASSET_GROUP_DISAPPROVED",
              "ASSET_GROUP_UNDER_REVIEW"
            ]
          }
        },
        "adStrength": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "NO_ADS",
            "POOR",
            "AVERAGE",
            "GOOD",
            "EXCELLENT"
          ],
          "description": "Output only. Overall ad strength of this asset group.",
          "type": "string",
          "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."
          ]
        },
        "finalMobileUrls": {
          "description": "A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "primaryStatus": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The asset group is eligible to serve.",
            "The asset group is paused.",
            "The asset group is removed.",
            "The asset group is not eligible to serve.",
            "The asset group has limited servability.",
            "The asset group is pending approval and may serve in the future."
          ],
          "type": "string",
          "description": "Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "PAUSED",
            "REMOVED",
            "NOT_ELIGIBLE",
            "LIMITED",
            "PENDING"
          ]
        },
        "path1": {
          "type": "string",
          "description": "First part of text that may appear appended to the url displayed in the ad."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__AssetGroupAsset": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`",
          "type": "string"
        },
        "assetGroup": {
          "description": "Immutable. The asset group which this asset group asset is linking.",
          "type": "string"
        },
        "asset": {
          "type": "string",
          "description": "Immutable. The asset which this asset group asset is linking."
        },
        "fieldType": {
          "type": "string",
          "description": "The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc",
          "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": {
          "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": "The status of the link between an asset and asset group."
        },
        "primaryStatusReasons": {
          "type": "array",
          "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"
          }
        },
        "primaryStatusDetails": {
          "type": "array",
          "description": "Output only. Provides the details of the primary status and its associated reasons.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AssetLinkPrimaryStatusDetails"
          }
        },
        "policySummary": {
          "description": "Output only. The policy information for this asset group asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PolicySummary"
        },
        "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 asset group asset.",
          "type": "string"
        },
        "primaryStatus": {
          "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"
          ],
          "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."
        }
      },
      "description": "AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group."
    },
    "GoogleAdsGoogleadsV25Resources__AssetGroupAssetCombinationData": {
      "description": "Asset group asset combination data",
      "type": "object",
      "properties": {
        "assetCombinationServedAssets": {
          "type": "array",
          "description": "Output only. Served assets.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AssetUsage"
          }
        }
      }
    },
    "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__AssetGroupProductGroupView": {
      "description": "An asset group product group view.",
      "type": "object",
      "properties": {
        "assetGroupListingGroupFilter": {
          "description": "Output only. The resource name of the asset group listing group filter.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the asset group product group view. Asset group product group view resource names have the form: `customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}`"
        },
        "assetGroup": {
          "type": "string",
          "description": "Output only. The asset group associated with the listing group filter."
        }
      }
    },
    "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__AssetGroupTopCombinationView": {
      "description": "A view on the usage of asset group asset top combinations.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the asset group top combination view. AssetGroup Top Combination view resource names have the form: `\"customers/{customer_id}/assetGroupTopCombinationViews/{asset_group_id}~{asset_combination_category}\""
        },
        "assetGroupTopCombinations": {
          "type": "array",
          "description": "Output only. The top combinations of assets that served together.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetGroupAssetCombinationData"
          }
        }
      }
    },
    "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__AssetSetTypeView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the asset set type view. Asset set type view resource names have the form: `customers/{customer_id}/assetSetTypeViews/{asset_set_type}`",
          "type": "string"
        },
        "assetSetType": {
          "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"
          ],
          "description": "Output only. The asset set type of the asset set type view.",
          "type": "string"
        }
      },
      "description": "An asset set type view. This view reports non-overcounted metrics for each asset set type. Child asset set types are not included in this report. Their stats are aggregated under the parent asset set type."
    },
    "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__BackgroundCheckVerificationArtifact": {
      "type": "object",
      "properties": {
        "caseUrl": {
          "description": "Output only. URL to access background case.",
          "type": "string"
        },
        "finalAdjudicationDateTime": {
          "description": "Output only. The timestamp when this background check case result was adjudicated. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"",
          "type": "string"
        }
      },
      "description": "A proto holding information specific to local services background check."
    },
    "GoogleAdsGoogleadsV25Resources__BatchJob": {
      "description": "A list of mutates being processed asynchronously. The mutates are uploaded by the user. The mutates themselves aren't readable and the results of the job can only be read using BatchJobService.ListBatchJobResults.",
      "type": "object",
      "properties": {
        "longRunningOperation": {
          "type": "string",
          "description": "Output only. The resource name of the long-running operation that can be used to poll for completion. Only set when the batch job status is RUNNING or DONE."
        },
        "id": {
          "type": "string",
          "description": "Output only. ID of this batch job.",
          "format": "int64"
        },
        "nextAddSequenceToken": {
          "type": "string",
          "description": "Output only. The next sequence token to use when adding operations. Only set when the batch job status is PENDING."
        },
        "metadata": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_BatchJob_BatchJobMetadata",
          "description": "Output only. Contains additional information about this batch job."
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "RUNNING",
            "DONE"
          ],
          "description": "Output only. Status of this batch job.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The job is not currently running.",
            "The job is running.",
            "The job is done."
          ]
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the batch job. Batch job resource names have the form: `customers/{customer_id}/batchJobs/{batch_job_id}`"
        }
      }
    },
    "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__BiddingStrategySimulation": {
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The simulation is for a CPC bid.",
            "The simulation is for a CPV bid.",
            "The simulation is for a CPA target.",
            "The simulation is for a bid modifier.",
            "The simulation is for a ROAS target.",
            "The simulation is for a percent CPC bid.",
            "The simulation is for an impression share target.",
            "The simulation is for a budget."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CPC_BID",
            "CPV_BID",
            "TARGET_CPA",
            "BID_MODIFIER",
            "TARGET_ROAS",
            "PERCENT_CPC_BID",
            "TARGET_IMPRESSION_SHARE",
            "BUDGET"
          ],
          "type": "string",
          "description": "Output only. The field that the simulation modifies."
        },
        "biddingStrategyId": {
          "format": "int64",
          "description": "Output only. Bidding strategy shared set id of the simulation.",
          "type": "string"
        },
        "targetCpaPointList": {
          "description": "Output only. Simulation points if the simulation type is TARGET_CPA.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetCpaSimulationPointList"
        },
        "modificationMethod": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.",
            "The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.",
            "The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X."
          ],
          "type": "string",
          "description": "Output only. How the simulation modifies the field.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNIFORM",
            "DEFAULT",
            "SCALING"
          ]
        },
        "targetRoasPointList": {
          "description": "Output only. Simulation points if the simulation type is TARGET_ROAS.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetRoasSimulationPointList"
        },
        "resourceName": {
          "description": "Output only. The resource name of the bidding strategy simulation. Bidding strategy simulation resource names have the form: `customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}`",
          "type": "string"
        },
        "startDate": {
          "type": "string",
          "description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format."
        },
        "endDate": {
          "type": "string",
          "description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format"
        }
      },
      "description": "A bidding strategy simulation. Supported combinations of simulation type and simulation modification method are detailed below respectively. 1. TARGET_CPA - UNIFORM 2. TARGET_ROAS - UNIFORM"
    },
    "GoogleAdsGoogleadsV25Resources__BillingSetup": {
      "description": "A billing setup, which associates a payments account and an advertiser. A billing setup is specific to one advertiser.",
      "type": "object",
      "properties": {
        "paymentsAccountInfo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_BillingSetup_PaymentsAccountInfo",
          "description": "Immutable. The payments account information associated with this billing setup. When setting up billing, this is used to signup with a new payments account (and then payments_account should not be set). When getting a billing setup, this and payments_account will be populated."
        },
        "id": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the billing setup."
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "APPROVED_HELD",
            "APPROVED",
            "CANCELLED"
          ],
          "type": "string",
          "description": "Output only. The status of the billing setup.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The billing setup is pending approval.",
            "The billing setup has been approved but the corresponding first budget has not. This can only occur for billing setups configured for monthly invoicing.",
            "The billing setup has been approved.",
            "The billing setup was cancelled by the user prior to approval."
          ]
        },
        "paymentsAccount": {
          "description": "Immutable. The resource name of the payments account associated with this billing setup. Payments resource names have the form: `customers/{customer_id}/paymentsAccounts/{payments_account_id}` When setting up billing, this is used to signup with an existing payments account (and then payments_account_info should not be set). When getting a billing setup, this and payments_account_info will be populated.",
          "type": "string"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the billing setup. BillingSetup resource names have the form: `customers/{customer_id}/billingSetups/{billing_setup_id}`",
          "type": "string"
        },
        "startDateTime": {
          "description": "Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a future time is allowed.",
          "type": "string"
        },
        "endTimeType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "As soon as possible.",
            "An infinite point in the future."
          ],
          "type": "string",
          "description": "Output only. The end time as a type. The only possible value is FOREVER.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOW",
            "FOREVER"
          ]
        },
        "startTimeType": {
          "description": "Immutable. The start time as a type. Only NOW is allowed.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "As soon as possible.",
            "An infinite point in the future."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOW",
            "FOREVER"
          ]
        },
        "endDateTime": {
          "description": "Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__BusinessRegistrationCheckVerificationArtifact": {
      "description": "A proto holding information specific to a local services business registration check.",
      "type": "object",
      "properties": {
        "registrationDocument": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BusinessRegistrationDocument",
          "description": "Output only. Message storing document info for the business."
        },
        "rejectionReason": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Business name doesn't match business name for the Local Services Ad.",
            "Business details mismatch.",
            "Business registration ID not found.",
            "Uploaded document not clear, blurry, etc.",
            "Uploaded document has expired.",
            "Document revoked or annuled.",
            "Document type mismatch.",
            "Uploaded document could not be verified as legitimate.",
            "The business registration process could not be completed due to an issue. Contact https://support.google.com/localservices to learn more."
          ],
          "description": "Output only. Registration document rejection reason.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BUSINESS_NAME_MISMATCH",
            "BUSINESS_DETAILS_MISMATCH",
            "ID_NOT_FOUND",
            "POOR_DOCUMENT_IMAGE_QUALITY",
            "DOCUMENT_EXPIRED",
            "DOCUMENT_INVALID",
            "DOCUMENT_TYPE_MISMATCH",
            "DOCUMENT_UNVERIFIABLE",
            "OTHER"
          ]
        },
        "registrationNumber": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BusinessRegistrationNumber",
          "description": "Output only. Message storing government issued number for the business."
        },
        "registrationType": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NUMBER",
            "DOCUMENT"
          ],
          "type": "string",
          "description": "Output only. The type of business registration check (number, document).",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Registration number check type.",
            "Registration document check type."
          ]
        },
        "checkId": {
          "type": "string",
          "description": "Output only. The id of the check, such as vat_tax_id, representing \"VAT Tax ID\" requirement."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__BusinessRegistrationDocument": {
      "description": "A proto holding information specific to a local services business registration document.",
      "type": "object",
      "properties": {
        "documentReadonly": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocalServicesDocumentReadOnly",
          "description": "Output only. The readonly field containing the information for an uploaded business registration document."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__BusinessRegistrationNumber": {
      "description": "A proto holding information specific to a local services business registration number.",
      "type": "object",
      "properties": {
        "number": {
          "type": "string",
          "description": "Output only. Government-issued number for the business."
        }
      }
    },
    "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__CallView": {
      "type": "object",
      "properties": {
        "callerCountryCode": {
          "description": "Output only. Country code of the caller.",
          "type": "string"
        },
        "startCallDateTime": {
          "description": "Output only. The advertiser-provided call start date time.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the call view. Call view resource names have the form: `customers/{customer_id}/callViews/{call_detail_id}`"
        },
        "endCallDateTime": {
          "description": "Output only. The advertiser-provided call end date time.",
          "type": "string"
        },
        "type": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MANUALLY_DIALED",
            "HIGH_END_MOBILE_SEARCH"
          ],
          "description": "Output only. The type of the call.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The phone call was manually dialed.",
            "The phone call was a mobile click-to-call."
          ]
        },
        "callerAreaCode": {
          "description": "Output only. Area code of the caller. Null if the call duration is shorter than 15 seconds.",
          "type": "string"
        },
        "callDurationSeconds": {
          "description": "Output only. The advertiser-provided call duration in seconds.",
          "type": "string",
          "format": "int64"
        },
        "callStatus": {
          "type": "string",
          "description": "Output only. The status of the call.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MISSED",
            "RECEIVED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The call was missed.",
            "The call was received."
          ]
        },
        "callTrackingDisplayLocation": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The phone call placed from the ad.",
            "The phone call placed from the landing page ad points to."
          ],
          "type": "string",
          "description": "Output only. The call tracking display location.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AD",
            "LANDING_PAGE"
          ]
        }
      },
      "description": "A call view that includes data for call tracking of call-only ads or call extensions."
    },
    "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__CampaignAggregateAssetView": {
      "type": "object",
      "properties": {
        "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."
          ],
          "type": "string",
          "description": "Output only. FieldType of the asset.",
          "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": {
          "type": "string",
          "description": "Output only. The ID of the asset."
        },
        "assetSource": {
          "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"
          ],
          "type": "string",
          "description": "Output only. Source of the asset link."
        },
        "campaign": {
          "type": "string",
          "description": "Output only. Campaign in which the asset served."
        },
        "resourceName": {
          "description": "Output only. The resource name of the campaign aggregate asset view. Campaign aggregate asset view resource names have the form: `customers/{customer_id}/campaignAggregateAssetViews/{Campaign.campaign_id}~{Asset.asset_id}~{AssetLinkSource.asset_link_source}~{AssetFieldType.field_type}`",
          "type": "string"
        }
      },
      "description": "A campaign-level aggregate asset view that shows where the asset is linked, performamce of the asset and stats."
    },
    "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__CampaignAudienceView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the campaign audience view. Campaign audience view resource names have the form: `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}`"
        }
      },
      "description": "A campaign audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated by campaign and audience criterion. This view only includes audiences attached at the campaign level."
    },
    "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__CampaignConversionGoal": {
      "description": "The biddability setting for the specified campaign only for all conversion actions with a matching category and origin.",
      "type": "object",
      "properties": {
        "campaign": {
          "type": "string",
          "description": "Immutable. The campaign with which this campaign conversion goal is associated."
        },
        "resourceName": {
          "description": "Immutable. The resource name of the campaign conversion goal. Campaign conversion goal resource names have the form: `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}`",
          "type": "string"
        },
        "biddable": {
          "description": "The biddability of the campaign conversion goal. If left unspecified during campaign creation or update operations, this value will inherit the account-level default biddability for the corresponding conversion category and origin. Note: The account-level default may be set to `true` for newly created conversion goals. To explicitly prevent a campaign from bidding on this goal, you must explicitly set `biddable` to `false` and include \"biddable\" in your mutate operation's `update_mask`.",
          "type": "boolean"
        },
        "origin": {
          "type": "string",
          "description": "The conversion origin of this campaign conversion goal.",
          "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."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEBSITE",
            "GOOGLE_HOSTED",
            "APP",
            "CALL_FROM_ADS",
            "STORE",
            "YOUTUBE_HOSTED",
            "LOCAL_SERVICES_ADS"
          ]
        },
        "category": {
          "description": "The conversion category of this campaign conversion goal.",
          "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"
          ]
        }
      }
    },
    "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__CampaignGoalConfig": {
      "type": "object",
      "properties": {
        "campaignRetentionSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_CampaignGoalSettings_CampaignRetentionGoalSettings",
          "description": "Retention goal campaign settings."
        },
        "campaignNewCustomerAcquisitionSettings": {
          "description": "New customer acquisition goal campaign settings.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_CampaignGoalSettings_CampaignNewCustomerAcquisitionGoalSettings"
        },
        "campaignLoyaltyRetentionSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_CampaignGoalSettings_CampaignLoyaltyRetentionGoalSettings",
          "description": "Loyalty retention goal campaign settings."
        },
        "goal": {
          "type": "string",
          "description": "Immutable. The resource name of the goal this link is attached to."
        },
        "campaign": {
          "type": "string",
          "description": "Immutable. The resource name of the campaign for this link."
        },
        "goalType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Retention goal, which allows advertisers to optimize campaigns to win back lapsed customers. (https://support.google.com/google-ads/answer/14792043?hl=en)",
            "New customer acquisition goal, which allows advertisers to optimize campaigns to acquire new customers.",
            "Loyalty retention goal, which allows advertisers to optimize campaigns for retaining loyalty program members."
          ],
          "type": "string",
          "description": "Output only. The goal type this link is attached to.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CUSTOMER_RETENTION",
            "NEW_CUSTOMER_ACQUISITION",
            "LOYALTY_RETENTION"
          ]
        },
        "resourceName": {
          "description": "Immutable. The resource name of the campaign goal config. campaign goal config resource names have the form: `customers/{customer_id}/campaignGoalConfigs/{campaign_id}~{goal_id}`",
          "type": "string"
        }
      },
      "description": "A link between a campaign and a goal enabling campaign-specific optimization."
    },
    "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__CampaignLabel": {
      "type": "object",
      "properties": {
        "campaign": {
          "type": "string",
          "description": "Immutable. The campaign to which the label is attached."
        },
        "label": {
          "description": "Immutable. The label assigned to the campaign.",
          "type": "string"
        },
        "resourceName": {
          "description": "Immutable. Name of the resource. Campaign label resource names have the form: `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`",
          "type": "string"
        }
      },
      "description": "Represents a relationship between a campaign and a label."
    },
    "GoogleAdsGoogleadsV25Resources__CampaignSearchTermInsight": {
      "description": "This report provides a high-level view of search demand at the campaign level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the campaign level search term insight. Campaign level search term insight resource names have the form: `customers/{customer_id}/campaignSearchTermInsights/{campaign_id}~{category_id}`"
        },
        "categoryLabel": {
          "type": "string",
          "description": "Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category."
        },
        "campaignId": {
          "description": "Output only. The ID of the campaign.",
          "type": "string",
          "format": "int64"
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the insight.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CampaignSearchTermView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the campaign search term view. Campaign search term view resource names have the form: `customers/{customer_id}/campaignSearchTermViews/{campaign_id}~{URL-base64_search_term}`"
        },
        "searchTerm": {
          "type": "string",
          "description": "Output only. The search term."
        },
        "campaign": {
          "description": "Output only. The campaign the search term served in.",
          "type": "string"
        }
      },
      "description": "This report provides granular performance data, including cost metrics, for each individual search term that triggered your ads. If keyword-related segments are used, Performance Max data will be excluded from the results."
    },
    "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__CampaignSimulation": {
      "description": "A campaign simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. * SEARCH - CPC_BID - UNIFORM * SEARCH - CPC_BID - SCALING * SEARCH - TARGET_CPA - UNIFORM * SEARCH - TARGET_CPA - SCALING * SEARCH - TARGET_ROAS - UNIFORM * SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM * SEARCH - BUDGET - UNIFORM * SHOPPING - BUDGET - UNIFORM * SHOPPING - TARGET_ROAS - UNIFORM * MULTI_CHANNEL - TARGET_CPA - UNIFORM * MULTI_CHANNEL - TARGET_ROAS - UNIFORM * DEMAND_GEN - TARGET_CPA - DEFAULT * DISPLAY - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_ROAS - UNIFORM * PERFORMANCE_MAX - BUDGET - UNIFORM",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the campaign simulation. Campaign simulation resource names have the form: `customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}`"
        },
        "cpcBidPointList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CpcBidSimulationPointList",
          "description": "Output only. Simulation points if the simulation type is CPC_BID."
        },
        "startDate": {
          "description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format.",
          "type": "string"
        },
        "targetCpaPointList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetCpaSimulationPointList",
          "description": "Output only. Simulation points if the simulation type is TARGET_CPA."
        },
        "targetRoasPointList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetRoasSimulationPointList",
          "description": "Output only. Simulation points if the simulation type is TARGET_ROAS."
        },
        "budgetPointList": {
          "description": "Output only. Simulation points if the simulation type is BUDGET.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BudgetSimulationPointList"
        },
        "targetImpressionSharePointList": {
          "description": "Output only. Simulation points if the simulation type is TARGET_IMPRESSION_SHARE.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetImpressionShareSimulationPointList"
        },
        "type": {
          "type": "string",
          "description": "Output only. The field that the simulation modifies.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CPC_BID",
            "CPV_BID",
            "TARGET_CPA",
            "BID_MODIFIER",
            "TARGET_ROAS",
            "PERCENT_CPC_BID",
            "TARGET_IMPRESSION_SHARE",
            "BUDGET"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The simulation is for a CPC bid.",
            "The simulation is for a CPV bid.",
            "The simulation is for a CPA target.",
            "The simulation is for a bid modifier.",
            "The simulation is for a ROAS target.",
            "The simulation is for a percent CPC bid.",
            "The simulation is for an impression share target.",
            "The simulation is for a budget."
          ]
        },
        "endDate": {
          "type": "string",
          "description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format"
        },
        "campaignId": {
          "description": "Output only. Campaign id of the simulation.",
          "type": "string",
          "format": "int64"
        },
        "modificationMethod": {
          "description": "Output only. How the simulation modifies the field.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNIFORM",
            "DEFAULT",
            "SCALING"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.",
            "The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.",
            "The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CarrierConstant": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the carrier criterion. Carrier criterion resource names have the form: `carrierConstants/{criterion_id}`"
        },
        "countryCode": {
          "type": "string",
          "description": "Output only. The country code of the country where the carrier is located, for example, \"AR\", \"FR\", etc."
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the carrier criterion.",
          "format": "int64"
        },
        "name": {
          "description": "Output only. The full name of the carrier in English.",
          "type": "string"
        }
      },
      "description": "A carrier criterion that can be used in campaign targeting."
    },
    "GoogleAdsGoogleadsV25Resources__CartDataSalesView": {
      "description": "Cart data sales view. Provides information about the products which were purchased if conversions with cart data is implemented. Performance metrics like revenue, gross profit, lead/cross-sell metrics etc. and Merchant Center attributes such as brand, category etc. are available for products defined in an inventory feed and sold as a result of Google ads. For purchases attributed to clicks on Shopping ads, dimensions of both clicked and sold products can be viewed together.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the Cart data sales view. Cart data sales view resource names have the form: `customers/{customer_id}/cartDataSalesView`",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ChangeEvent": {
      "description": "Describes the granular change of returned resources of certain resource types. Changes made through the UI or API in the past 30 days are included. Previous and new values of the changed fields are shown. ChangeEvent could have up to 3 minutes delay to reflect a new change.",
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "description": "Output only. The Asset affected by this change."
        },
        "changeDateTime": {
          "type": "string",
          "description": "Output only. Time at which the change was committed on this resource."
        },
        "adGroup": {
          "description": "Output only. The AdGroup affected by this change.",
          "type": "string"
        },
        "resourceName": {
          "description": "Output only. The resource name of the change event. Change event resource names have the form: `customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}`",
          "type": "string"
        },
        "changeResourceName": {
          "description": "Output only. The Simply resource this change occurred on.",
          "type": "string"
        },
        "changedFields": {
          "format": "google-fieldmask",
          "type": "string",
          "description": "Output only. A list of fields that are changed in the returned resource."
        },
        "oldResource": {
          "description": "Output only. The old resource before the change. Only changed fields will be populated.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ChangeEvent_ChangedResource"
        },
        "userEmail": {
          "type": "string",
          "description": "Output only. The email of the user who made this change."
        },
        "changeResourceType": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents an unclassified resource unknown in this version.",
            "An Ad resource change.",
            "An AdGroup resource change.",
            "An AdGroupCriterion resource change.",
            "A Campaign resource change.",
            "A CampaignBudget resource change.",
            "An AdGroupBidModifier resource change.",
            "A CampaignCriterion resource change.",
            "A Feed resource change.",
            "A FeedItem resource change.",
            "A CampaignFeed resource change.",
            "An AdGroupFeed resource change.",
            "An AdGroupAd resource change.",
            "An Asset resource change.",
            "A CustomerAsset resource change.",
            "A CampaignAsset resource change.",
            "An AdGroupAsset resource change.",
            "An AssetSet resource change.",
            "An AssetSetAsset resource change.",
            "A CampaignAssetSet resource change."
          ],
          "description": "Output only. The type of the changed resource. This dictates what resource will be set in old_resource and new_resource.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AD",
            "AD_GROUP",
            "AD_GROUP_CRITERION",
            "CAMPAIGN",
            "CAMPAIGN_BUDGET",
            "AD_GROUP_BID_MODIFIER",
            "CAMPAIGN_CRITERION",
            "FEED",
            "FEED_ITEM",
            "CAMPAIGN_FEED",
            "AD_GROUP_FEED",
            "AD_GROUP_AD",
            "ASSET",
            "CUSTOMER_ASSET",
            "CAMPAIGN_ASSET",
            "AD_GROUP_ASSET",
            "ASSET_SET",
            "ASSET_SET_ASSET",
            "CAMPAIGN_ASSET_SET"
          ]
        },
        "resourceChangeOperation": {
          "description": "Output only. The operation on the changed resource.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CREATE",
            "UPDATE",
            "REMOVE"
          ],
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents an unclassified operation unknown in this version.",
            "The resource was created.",
            "The resource was modified.",
            "The resource was removed."
          ]
        },
        "newResource": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ChangeEvent_ChangedResource",
          "description": "Output only. The new resource after the change. Only changed fields will be populated."
        },
        "clientType": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents an unclassified client type unknown in this version.",
            "Changes made through the \"ads.google.com\". For example, changes made through campaign management.",
            "Changes made through Google Ads automated rules.",
            "Changes made through Google Ads scripts.",
            "Changes made by Google Ads bulk upload.",
            "Changes made by Google Ads API.",
            "Changes made by Google Ads Editor. This value is a placeholder. The API does not return these changes.",
            "Changes made by Google Ads mobile app.",
            "Changes made through Google Ads recommendations.",
            "Changes made through Search Ads 360 Sync.",
            "Changes made through Search Ads 360 Post.",
            "Changes made through internal tools. For example, when a user sets a URL template on an entity like a Campaign, it's automatically wrapped with the SA360 Clickserver URL.",
            "Types of changes that are not categorized, for example, changes made by coupon redemption through Google Ads.",
            "Changes made by subscribing to Google Ads recommendations."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "GOOGLE_ADS_WEB_CLIENT",
            "GOOGLE_ADS_AUTOMATED_RULE",
            "GOOGLE_ADS_SCRIPTS",
            "GOOGLE_ADS_BULK_UPLOAD",
            "GOOGLE_ADS_API",
            "GOOGLE_ADS_EDITOR",
            "GOOGLE_ADS_MOBILE_APP",
            "GOOGLE_ADS_RECOMMENDATIONS",
            "SEARCH_ADS_360_SYNC",
            "SEARCH_ADS_360_POST",
            "INTERNAL_TOOL",
            "OTHER",
            "GOOGLE_ADS_RECOMMENDATIONS_SUBSCRIPTION"
          ],
          "description": "Output only. Where the change was made through.",
          "type": "string"
        },
        "campaign": {
          "description": "Output only. The Campaign affected by this change.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ChangeStatus": {
      "description": "Describes the status of returned resource. ChangeStatus could have up to 3 minutes delay to reflect a new change.",
      "type": "object",
      "properties": {
        "campaign": {
          "description": "Output only. The Campaign affected by this change.",
          "type": "string"
        },
        "adGroupBidModifier": {
          "description": "Output only. The AdGroupBidModifier affected by this change.",
          "type": "string"
        },
        "resourceType": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents an unclassified resource unknown in this version.",
            "An AdGroup resource change.",
            "An AdGroupAd resource change.",
            "An AdGroupCriterion resource change.",
            "A Campaign resource change.",
            "A CampaignCriterion resource change.",
            "A CampaignBudget resource change.",
            "A Feed resource change.",
            "A FeedItem resource change.",
            "An AdGroupFeed resource change.",
            "A CampaignFeed resource change.",
            "An AdGroupBidModifier resource change.",
            "A SharedSet resource change.",
            "A CampaignSharedSet resource change.",
            "An Asset resource change.",
            "A CustomerAsset resource change.",
            "A CampaignAsset resource change.",
            "An AdGroupAsset resource change.",
            "A CombinedAudience resource change.",
            "An AssetGroup resource change.",
            "An AssetSet resource change.",
            "A CampaignAssetSet resource change."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AD_GROUP",
            "AD_GROUP_AD",
            "AD_GROUP_CRITERION",
            "CAMPAIGN",
            "CAMPAIGN_CRITERION",
            "CAMPAIGN_BUDGET",
            "FEED",
            "FEED_ITEM",
            "AD_GROUP_FEED",
            "CAMPAIGN_FEED",
            "AD_GROUP_BID_MODIFIER",
            "SHARED_SET",
            "CAMPAIGN_SHARED_SET",
            "ASSET",
            "CUSTOMER_ASSET",
            "CAMPAIGN_ASSET",
            "AD_GROUP_ASSET",
            "COMBINED_AUDIENCE",
            "ASSET_GROUP",
            "ASSET_SET",
            "CAMPAIGN_ASSET_SET"
          ],
          "description": "Output only. Represents the type of the changed resource. This dictates what fields will be set. For example, for AD_GROUP, campaign and ad_group fields will be set.",
          "type": "string"
        },
        "adGroupAsset": {
          "description": "Output only. The AdGroupAsset affected by this change.",
          "type": "string"
        },
        "adGroupCriterion": {
          "type": "string",
          "description": "Output only. The AdGroupCriterion affected by this change."
        },
        "assetGroup": {
          "description": "Output only. The AssetGroup affected by this change.",
          "type": "string"
        },
        "adGroupAd": {
          "description": "Output only. The AdGroupAd affected by this change.",
          "type": "string"
        },
        "campaignSharedSet": {
          "type": "string",
          "description": "Output only. The CampaignSharedSet affected by this change."
        },
        "sharedSet": {
          "description": "Output only. The SharedSet affected by this change.",
          "type": "string"
        },
        "customerAsset": {
          "type": "string",
          "description": "Output only. The CustomerAsset affected by this change."
        },
        "resourceName": {
          "description": "Output only. The resource name of the change status. Change status resource names have the form: `customers/{customer_id}/changeStatus/{change_status_id}`",
          "type": "string"
        },
        "campaignAssetSet": {
          "type": "string",
          "description": "Output only. The CampaignAssetSet affected by this change."
        },
        "adGroup": {
          "description": "Output only. The AdGroup affected by this change.",
          "type": "string"
        },
        "campaignAsset": {
          "description": "Output only. The CampaignAsset affected by this change.",
          "type": "string"
        },
        "combinedAudience": {
          "description": "Output only. The CombinedAudience affected by this change.",
          "type": "string"
        },
        "asset": {
          "description": "Output only. The Asset affected by this change.",
          "type": "string"
        },
        "campaignBudget": {
          "type": "string",
          "description": "Output only. The CampaignBudget affected by this change."
        },
        "lastChangeDateTime": {
          "description": "Output only. Time at which the most recent change has occurred on this resource.",
          "type": "string"
        },
        "campaignCriterion": {
          "description": "Output only. The CampaignCriterion affected by this change.",
          "type": "string"
        },
        "assetSet": {
          "description": "Output only. The AssetSet affected by this change.",
          "type": "string"
        },
        "resourceStatus": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents an unclassified resource unknown in this version.",
            "The resource was created.",
            "The resource was modified.",
            "The resource was removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADDED",
            "CHANGED",
            "REMOVED"
          ],
          "type": "string",
          "description": "Output only. Represents the status of the changed resource."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ChannelAggregateAssetView": {
      "type": "object",
      "properties": {
        "asset": {
          "description": "Output only. The ID of the asset.",
          "type": "string"
        },
        "assetSource": {
          "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"
          ],
          "type": "string",
          "description": "Output only. Source of the asset link."
        },
        "fieldType": {
          "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 the 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."
          ]
        },
        "resourceName": {
          "description": "Output only. The resource name of the channel aggregate asset view. Channel aggregate asset view resource names have the form: `customers/{customer_id}/channelAggregateAssetViews/{ChannelAssetV2.advertising_channel_type}~{ChannelAssetV2.asset_id}~{ChannelAssetV2.asset_source}~{ChannelAssetV2.field_type}\"`",
          "type": "string"
        },
        "advertisingChannelType": {
          "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": "Output only. Channel in which the asset served.",
          "type": "string"
        }
      },
      "description": "A channel-level aggregate asset view that shows where the asset is linked, performamce of the asset and stats."
    },
    "GoogleAdsGoogleadsV25Resources__ClickView": {
      "type": "object",
      "properties": {
        "campaignLocationTarget": {
          "description": "Output only. The associated campaign location target, if one exists.",
          "type": "string"
        },
        "userList": {
          "description": "Output only. The associated user list, if one exists.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the click view. Click view resource names have the form: `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}`"
        },
        "areaOfInterest": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ClickLocation",
          "description": "Output only. The location criteria matching the area of interest associated with the impression."
        },
        "keyword": {
          "description": "Output only. The associated keyword, if one exists and the click corresponds to the SEARCH channel.",
          "type": "string"
        },
        "gclid": {
          "type": "string",
          "description": "Output only. The Google Click ID."
        },
        "adGroupAd": {
          "type": "string",
          "description": "Output only. The associated ad."
        },
        "locationOfPresence": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ClickLocation",
          "description": "Output only. The location criteria matching the location of presence associated with the impression."
        },
        "pageNumber": {
          "format": "int64",
          "description": "Output only. Page number in search results where the ad was shown.",
          "type": "string"
        },
        "keywordInfo": {
          "description": "Output only. Basic information about the associated keyword, if it exists.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo"
        }
      },
      "description": "A click view with metrics aggregated at each click level, including both valid and invalid clicks. For non-Search campaigns, metrics.clicks represents the number of valid and invalid interactions. Queries including ClickView must have a filter limiting the results to one day and can be requested for dates back to 90 days before the time of the request. GCLIDs are not available in this report for App Campaigns for Installs (ACi) and App Campaigns for Pre-registration (ACpre)."
    },
    "GoogleAdsGoogleadsV25Resources__CombinedAudience": {
      "description": "Describe a resource for combined audiences which includes different audiences.",
      "type": "object",
      "properties": {
        "id": {
          "format": "int64",
          "type": "string",
          "description": "Output only. ID of the combined audience."
        },
        "status": {
          "type": "string",
          "description": "Output only. Status of this combined audience. Indicates whether the combined audience is enabled or removed.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Enabled status - combined audience is enabled and can be targeted.",
            "Removed status - combined audience is removed and cannot be used for targeting."
          ]
        },
        "description": {
          "description": "Output only. Description of this combined audience.",
          "type": "string"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the combined audience. Combined audience names have the form: `customers/{customer_id}/combinedAudiences/{combined_audience_id}`",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Output only. Name of the combined audience. It should be unique across all combined audiences."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ContactDetails": {
      "description": "Fields containing consumer contact details.",
      "type": "object",
      "properties": {
        "consumerName": {
          "description": "Output only. Consumer name if consumer provided name from Message or Booking form on google.com",
          "type": "string"
        },
        "phoneNumber": {
          "description": "Output only. Phone number of the consumer for the lead. This can be a real phone number or a tracking number. The phone number is returned in E164 format. See https://support.google.com/google-ads/answer/16355235?hl=en to learn more. Example: +16504519489.",
          "type": "string"
        },
        "phoneNumberExtension": {
          "description": "Output only. The extension number to be used with the phone number. This field is populated only when the 'phone_number' is a tracking number. It is typically 3 or 4 digits. Example: 013, 0129. When populated, this extension number is required to reach out to the right consumer.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ContentCriterionView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the content criterion view. Content criterion view resource names have the form: `customers/{customer_id}/contentCriterionViews/{ad_group_id}~{criterion_id}`",
          "type": "string"
        }
      },
      "description": "A content criterion view."
    },
    "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__CreditDetails": {
      "type": "object",
      "properties": {
        "creditStateLastUpdateDateTime": {
          "description": "Output only. The date time when the credit state of the lead was last updated. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"",
          "type": "string"
        },
        "creditState": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "A credit has been filed and is being processed by Ads backend, but has not been applied to the account yet.",
            "The credit has been issued to the Ads account."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "CREDITED"
          ],
          "description": "Output only. Credit state of the lead.",
          "type": "string"
        }
      },
      "description": "Represents the credit details of a lead."
    },
    "GoogleAdsGoogleadsV25Resources__CurrencyConstant": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the currency constant. Currency constant resource names have the form: `currencyConstants/{code}`"
        },
        "name": {
          "type": "string",
          "description": "Output only. Full English name of the currency."
        },
        "code": {
          "type": "string",
          "description": "Output only. ISO 4217 three-letter currency code, for example, \"USD\""
        },
        "billableUnitMicros": {
          "type": "string",
          "description": "Output only. The billable unit for this currency. Billed amounts should be multiples of this value.",
          "format": "int64"
        },
        "symbol": {
          "description": "Output only. Standard symbol for describing this currency, for example, '$' for US Dollars.",
          "type": "string"
        }
      },
      "description": "A currency constant."
    },
    "GoogleAdsGoogleadsV25Resources__CustomAudience": {
      "description": "A custom audience. This is a list of users by interest. The unique key of a custom audience consists of the following fields: name. Violating the unique key constraint produces error: CustomAudienceError.NAME_ALREADY_USED",
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the custom audience. (\"INTEREST\" OR \"PURCHASE_INTENT\" is not allowed for newly created custom audience but kept for existing audiences)",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Google Ads will auto-select the best interpretation at serving time.",
            "Matches users by their interests.",
            "Matches users by topics they are researching or products they are considering for purchase.",
            "Matches users by what they searched on Google Search."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AUTO",
            "INTEREST",
            "PURCHASE_INTENT",
            "SEARCH"
          ]
        },
        "id": {
          "description": "Output only. ID of the custom audience.",
          "type": "string",
          "format": "int64"
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Enabled status - custom audience is enabled and can be targeted.",
            "Removed status - custom audience is removed and cannot be used for targeting."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "type": "string",
          "description": "Output only. Status of this custom audience. Indicates whether the custom audience is enabled or removed."
        },
        "description": {
          "type": "string",
          "description": "Description of this custom audience."
        },
        "members": {
          "description": "List of custom audience members that this custom audience is composed of. Members can be added during CustomAudience creation. If members are presented in UPDATE operation, existing members will be overridden.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomAudienceMember"
          },
          "type": "array"
        },
        "name": {
          "description": "Name of the custom audience. It should be unique for all custom audiences created by a customer. This field is required for creating operations.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the custom audience. Custom audience resource names have the form: `customers/{customer_id}/customAudiences/{custom_audience_id}`"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CustomAudienceMember": {
      "description": "A member of custom audience. A member can be a KEYWORD, URL, PLACE_CATEGORY or APP. It can only be created or removed but not changed.",
      "type": "object",
      "properties": {
        "app": {
          "type": "string",
          "description": "A package name of Android apps which users installed such as com.google.example."
        },
        "keyword": {
          "description": "A keyword or keyword phrase — at most 10 words and 80 characters. Languages with double-width characters such as Chinese, Japanese, or Korean, are allowed 40 characters, which describes the user's interests or actions.",
          "type": "string"
        },
        "memberType": {
          "type": "string",
          "description": "The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Users whose interests or actions are described by a keyword.",
            "Users who have interests related to the website's content.",
            "Users who visit place types described by a place category.",
            "Users who have installed a mobile app."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "KEYWORD",
            "URL",
            "PLACE_CATEGORY",
            "APP"
          ]
        },
        "placeCategory": {
          "format": "int64",
          "description": "A place type described by a place category users visit.",
          "type": "string"
        },
        "url": {
          "type": "string",
          "description": "An HTTP URL, protocol-included — at most 2048 characters, which includes contents users have interests in."
        }
      }
    },
    "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__CustomInterest": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Allows brand advertisers to define custom affinity audience lists.",
            "Allows advertisers to define custom intent audience lists."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CUSTOM_AFFINITY",
            "CUSTOM_INTENT"
          ]
        },
        "id": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Id of the custom interest."
        },
        "status": {
          "description": "Status of this custom interest. Indicates whether the custom interest is enabled or removed.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Enabled status - custom interest is enabled and can be targeted to.",
            "Removed status - custom interest is removed and cannot be used for targeting."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ]
        },
        "description": {
          "type": "string",
          "description": "Description of this custom interest audience."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id}/customInterests/{custom_interest_id}`"
        },
        "members": {
          "type": "array",
          "description": "List of custom interest members that this custom interest is composed of. Members can be added during CustomInterest creation. If members are presented in UPDATE operation, existing members will be overridden.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomInterestMember"
          }
        },
        "name": {
          "type": "string",
          "description": "Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations."
        }
      },
      "description": "A custom interest. This is a list of users by interest."
    },
    "GoogleAdsGoogleadsV25Resources__CustomInterestMember": {
      "description": "A member of custom interest audience. A member can be a keyword or url. It is immutable, that is, it can only be created or removed but not changed.",
      "type": "object",
      "properties": {
        "parameter": {
          "type": "string",
          "description": "Keyword text when member_type is KEYWORD or URL string when member_type is URL."
        },
        "memberType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Custom interest member type KEYWORD.",
            "Custom interest member type URL."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "KEYWORD",
            "URL"
          ],
          "description": "The type of custom interest member, KEYWORD or URL.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CustomLeadFormSubmissionField": {
      "type": "object",
      "properties": {
        "fieldValue": {
          "description": "Output only. Field value for custom question response, maximum number of characters is 70.",
          "type": "string"
        },
        "questionText": {
          "description": "Output only. Question text for custom question, maximum number of characters is 300.",
          "type": "string"
        }
      },
      "description": "Fields in the submitted custom question"
    },
    "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__CustomerAssetSet": {
      "description": "CustomerAssetSet is the linkage between a customer and an asset set. Adding a CustomerAssetSet links an asset set with a customer.",
      "type": "object",
      "properties": {
        "assetSet": {
          "type": "string",
          "description": "Immutable. The asset set which is linked to the customer."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the customer asset set. Asset set asset resource names have the form: `customers/{customer_id}/customerAssetSets/{asset_set_id}`"
        },
        "customer": {
          "type": "string",
          "description": "Immutable. The customer to which this asset set is linked."
        },
        "status": {
          "description": "Output only. The status of the customer 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."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CustomerClient": {
      "type": "object",
      "properties": {
        "currencyCode": {
          "description": "Output only. Currency code (for example, 'USD', 'EUR') for the client. Read only.",
          "type": "string"
        },
        "manager": {
          "description": "Output only. Identifies if the client is a manager. Read only.",
          "type": "boolean"
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the customer client. CustomerClient resource names have the form: `customers/{customer_id}/customerClients/{client_customer_id}`"
        },
        "level": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Distance between given customer and client. For self link, the level value will be 0. Read only."
        },
        "timeZone": {
          "description": "Output only. Common Locale Data Repository (CLDR) string representation of the time zone of the client, for example, America/Los_Angeles. Read only.",
          "type": "string"
        },
        "appliedLabels": {
          "description": "Output only. The resource names of the labels owned by the requesting customer that are applied to the client customer. Label resource names have the form: `customers/{customer_id}/labels/{label_id}`",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "hidden": {
          "type": "boolean",
          "description": "Output only. Specifies whether this is a [hidden account](https://support.google.com/google-ads/answer/7519830). Read only."
        },
        "testAccount": {
          "description": "Output only. Identifies if the client is a test account. Read only.",
          "type": "boolean"
        },
        "descriptiveName": {
          "type": "string",
          "description": "Output only. Descriptive name for the client. Read only."
        },
        "clientCustomer": {
          "type": "string",
          "description": "Output only. The resource name of the client-customer which is linked to the given customer. Read only."
        },
        "id": {
          "description": "Output only. The ID of the client customer. Read only.",
          "type": "string",
          "format": "int64"
        },
        "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."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "CANCELED",
            "SUSPENDED",
            "CLOSED"
          ],
          "description": "Output only. The status of the client customer. Read only.",
          "type": "string"
        }
      },
      "description": "A link between the given customer and a client customer. CustomerClients only exist for manager customers. All direct and indirect client customers are included, as well as the manager itself."
    },
    "GoogleAdsGoogleadsV25Resources__CustomerClientLink": {
      "type": "object",
      "properties": {
        "managerLinkId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. This is uniquely identifies a customer client link. Read only."
        },
        "hidden": {
          "type": "boolean",
          "description": "The visibility of the link. Users can choose whether or not to see hidden links in the Google Ads UI. Default value is false"
        },
        "clientCustomer": {
          "type": "string",
          "description": "Immutable. The client customer linked to this customer."
        },
        "status": {
          "description": "This is the status of the link between client and manager.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Indicates current in-effect relationship",
            "Indicates terminated relationship",
            "Indicates relationship has been requested by manager, but the client hasn't accepted yet.",
            "Relationship was requested by the manager, but the client has refused.",
            "Indicates relationship has been requested by manager, but manager canceled it."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ACTIVE",
            "INACTIVE",
            "PENDING",
            "REFUSED",
            "CANCELED"
          ]
        },
        "resourceName": {
          "description": "Immutable. Name of the resource. CustomerClientLink resource names have the form: `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`",
          "type": "string"
        }
      },
      "description": "Represents customer client link relationship."
    },
    "GoogleAdsGoogleadsV25Resources__CustomerConversionGoal": {
      "type": "object",
      "properties": {
        "origin": {
          "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."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEBSITE",
            "GOOGLE_HOSTED",
            "APP",
            "CALL_FROM_ADS",
            "STORE",
            "YOUTUBE_HOSTED",
            "LOCAL_SERVICES_ADS"
          ],
          "description": "The conversion origin of this customer conversion goal. Only conversion actions that have this conversion origin will be included in this goal.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the customer conversion goal. Customer conversion goal resource names have the form: `customers/{customer_id}/customerConversionGoals/{category}~{origin}`"
        },
        "category": {
          "type": "string",
          "description": "The conversion category of this customer conversion goal. Only conversion actions that have this category will be included in this goal.",
          "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"
          ]
        },
        "biddable": {
          "type": "boolean",
          "description": "The biddability of the customer conversion goal."
        }
      },
      "description": "Biddability control for conversion actions with a matching category and origin."
    },
    "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__CustomerLabel": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Immutable. Name of the resource. Customer label resource names have the form: `customers/{customer_id}/customerLabels/{label_id}`"
        },
        "customer": {
          "type": "string",
          "description": "Output only. The resource name of the customer to which the label is attached. This field should not be set when creating a new `CustomerLabel`."
        },
        "label": {
          "description": "Output only. The resource name of the label assigned to the customer. This field should not be set when creating a new `CustomerLabel`. Note: the Customer ID portion of the label resource name is not validated when creating a new `CustomerLabel`.",
          "type": "string"
        }
      },
      "description": "Represents a relationship between a customer and a label. This customer may not have access to all the labels attached to it. Additional CustomerLabels may be returned by increasing permissions with login-customer-id."
    },
    "GoogleAdsGoogleadsV25Resources__CustomerManagerLink": {
      "type": "object",
      "properties": {
        "status": {
          "description": "Status of the link between the customer and the manager.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Indicates current in-effect relationship",
            "Indicates terminated relationship",
            "Indicates relationship has been requested by manager, but the client hasn't accepted yet.",
            "Relationship was requested by the manager, but the client has refused.",
            "Indicates relationship has been requested by manager, but manager canceled it."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ACTIVE",
            "INACTIVE",
            "PENDING",
            "REFUSED",
            "CANCELED"
          ]
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. Name of the resource. CustomerManagerLink resource names have the form: `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`"
        },
        "managerCustomer": {
          "description": "Output only. The manager customer linked to the customer.",
          "type": "string"
        },
        "managerLinkId": {
          "description": "Output only. ID of the customer-manager link. This field is read only.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "Represents customer-manager link relationship."
    },
    "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__CustomerSearchTermInsight": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the customer level search term insight. Customer level search term insight resource names have the form: `customers/{customer_id}/customerSearchTermInsights/{category_id}`"
        },
        "categoryLabel": {
          "type": "string",
          "description": "Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category."
        },
        "id": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the insight."
        }
      },
      "description": "This report provides a high-level view of search demand at the customer level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023."
    },
    "GoogleAdsGoogleadsV25Resources__CustomerUserAccess": {
      "type": "object",
      "properties": {
        "emailAddress": {
          "description": "Output only. Email address of the user. Read only field",
          "type": "string"
        },
        "accessRole": {
          "type": "string",
          "description": "Access role of the user.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Owns its account and can control the addition of other users.",
            "Can modify campaigns, but can't affect other users.",
            "Can view campaigns and account changes, but cannot make edits.",
            "Role for \\\"email only\\\" access. Represents an email recipient rather than a true User entity."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADMIN",
            "STANDARD",
            "READ_ONLY",
            "EMAIL_ONLY"
          ]
        },
        "passkeyEnabled": {
          "type": "boolean",
          "description": "Output only. Whether the user has passkey enabled. Read only field"
        },
        "inviterUserEmailAddress": {
          "description": "Output only. The email address of the inviter user. Read only field",
          "type": "string"
        },
        "resourceName": {
          "description": "Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccesses/{user_id}`",
          "type": "string"
        },
        "userId": {
          "format": "int64",
          "description": "Output only. User id of the user with the customer access. Read only field",
          "type": "string"
        },
        "accessCreationDateTime": {
          "description": "Output only. The customer user access creation time. Read only field The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"",
          "type": "string"
        },
        "pendingMultiPartyAuthReview": {
          "description": "Output only. The resource name of the pending Multi-Party Authorization review. Read only field",
          "type": "string"
        }
      },
      "description": "Represents the permission of a single user onto a single customer."
    },
    "GoogleAdsGoogleadsV25Resources__CustomerUserAccessInvitation": {
      "description": "Represent an invitation to a new user on this customer account.",
      "type": "object",
      "properties": {
        "invitationStatus": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The initial state of an invitation, before being acted upon by anyone.",
            "Invitation process was terminated by the email recipient. No new user was created.",
            "Invitation URLs expired without being acted upon. No new user can be created. Invitations expire 20 days after creation."
          ],
          "type": "string",
          "description": "Output only. Invitation status of the user.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "DECLINED",
            "EXPIRED"
          ]
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}`"
        },
        "invitationId": {
          "format": "int64",
          "description": "Output only. The ID of the invitation. This field is read-only.",
          "type": "string"
        },
        "emailAddress": {
          "description": "Immutable. Email address the invitation was sent to. This can differ from the email address of the account that accepts the invite.",
          "type": "string"
        },
        "creationDateTime": {
          "type": "string",
          "description": "Output only. Time invitation was created. This field is read-only. The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\""
        },
        "accessRole": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Owns its account and can control the addition of other users.",
            "Can modify campaigns, but can't affect other users.",
            "Can view campaigns and account changes, but cannot make edits.",
            "Role for \\\"email only\\\" access. Represents an email recipient rather than a true User entity."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADMIN",
            "STANDARD",
            "READ_ONLY",
            "EMAIL_ONLY"
          ],
          "description": "Immutable. Access role of the user.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CustomerUserAccessInvitationReview": {
      "type": "object",
      "properties": {
        "newCustomerUserAccessInvitation": {
          "description": "Output only. The new CustomerUserAccessInvitation details. Only fields that need to be reviewed are populated.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerUserAccessInvitation"
        }
      },
      "description": "Details for CustomerUserAccessInvitation."
    },
    "GoogleAdsGoogleadsV25Resources__CustomerUserAccessReview": {
      "description": "Details for CustomerUserAccess.",
      "type": "object",
      "properties": {
        "oldCustomerUserAccess": {
          "type": "string",
          "description": "Output only. The resource name of the CustomerUserAccess being changed."
        },
        "newCustomerUserAccess": {
          "description": "Output only. The new CustomerUserAccess details. Only fields that need to be reviewed are populated.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerUserAccess"
        }
      }
    },
    "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__DataLink": {
      "description": "Represents the data sharing connection between a Google Ads customer and another product's data.",
      "type": "object",
      "properties": {
        "dataLinkId": {
          "format": "int64",
          "description": "Output only. The ID of the data link. This field is read only.",
          "type": "string"
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REQUESTED",
            "PENDING_APPROVAL",
            "ENABLED",
            "DISABLED",
            "REVOKED",
            "REJECTED"
          ],
          "description": "Output only. The status of the data link.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Link has been requested by one party, but not confirmed by the other party.",
            "Link is waiting for the customer to approve.",
            "Link is established and can be used as needed.",
            "Link is no longer valid and should be ignored.",
            "Link request has been cancelled by the requester and further cleanup may be needed.",
            "Link request has been rejected by the approver."
          ]
        },
        "type": {
          "description": "Output only. The type of the data.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "VIDEO"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "A data link to YouTube video."
          ]
        },
        "productLinkId": {
          "type": "string",
          "description": "Output only. The ID of the link. This field is read only.",
          "format": "int64"
        },
        "youtubeLinkMetadata": {
          "description": "Immutable. Metadata for a YouTube link.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__YoutubeLinkMetadata"
        },
        "youtubeVideo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__YoutubeVideoIdentifier",
          "description": "Immutable. A data link to YouTube video."
        },
        "resourceName": {
          "description": "Immutable. Resource name of the product data link. DataLink resource names have the form: `customers/{customer_id}/dataLinks/{product_link_id}~{data_link_id}`",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__DataPartnerIdentifier": {
      "type": "object",
      "properties": {
        "dataPartnerId": {
          "format": "int64",
          "description": "Immutable. The customer ID of the Data partner account. This field is required and should not be empty when creating a new data partner link. It is unable to be modified after the creation of the link.",
          "type": "string"
        }
      },
      "description": "The identifier for Data Partner account."
    },
    "GoogleAdsGoogleadsV25Resources__DetailContentSuitabilityPlacementView": {
      "type": "object",
      "properties": {
        "targetUrl": {
          "description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the detail content suitability placement view. Detail content suitability placement view resource names have the form: `customers/{customer_id}/detailContentSuitabilityPlacementViews/{placement_fingerprint}`"
        },
        "placement": {
          "type": "string",
          "description": "Output only. The automatic placement string at detail level, for example. website url, mobile application id, or a YouTube video id."
        },
        "displayName": {
          "type": "string",
          "description": "Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps."
        },
        "placementType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Websites(for example, 'www.flowers4sale.com').",
            "Mobile application categories(for example, 'Games').",
            "mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').",
            "YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').",
            "YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').",
            "Surfaces owned and operated by Google(for example, 'tv.google.com')."
          ],
          "type": "string",
          "description": "Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEBSITE",
            "MOBILE_APP_CATEGORY",
            "MOBILE_APPLICATION",
            "YOUTUBE_VIDEO",
            "YOUTUBE_CHANNEL",
            "GOOGLE_PRODUCTS"
          ]
        }
      },
      "description": "A detail content suitability placement view."
    },
    "GoogleAdsGoogleadsV25Resources__DetailPlacementView": {
      "type": "object",
      "properties": {
        "targetUrl": {
          "type": "string",
          "description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL."
        },
        "groupPlacementTargetUrl": {
          "type": "string",
          "description": "Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL."
        },
        "displayName": {
          "description": "Output only. The display name is URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.",
          "type": "string"
        },
        "placementType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Websites(for example, 'www.flowers4sale.com').",
            "Mobile application categories(for example, 'Games').",
            "mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').",
            "YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').",
            "YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').",
            "Surfaces owned and operated by Google(for example, 'tv.google.com')."
          ],
          "description": "Output only. Type of the placement, for example, Website, YouTube Video, and Mobile Application.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEBSITE",
            "MOBILE_APP_CATEGORY",
            "MOBILE_APPLICATION",
            "YOUTUBE_VIDEO",
            "YOUTUBE_CHANNEL",
            "GOOGLE_PRODUCTS"
          ]
        },
        "resourceName": {
          "description": "Output only. The resource name of the detail placement view. Detail placement view resource names have the form: `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}`",
          "type": "string"
        },
        "placement": {
          "description": "Output only. The automatic placement string at detail level, e. g. website URL, mobile application ID, or a YouTube video ID.",
          "type": "string"
        }
      },
      "description": "A view with metrics aggregated by ad group and URL or YouTube video. Provides granular performance data about specific URLs, YouTube videos, and apps where your ads showed. This offers a more detailed breakdown compared to the group_placement_view. This view primarily surfaces placement data from the Google Display Network. While you can select segments like `segments.ad_network_type`, this view generally does not include placement data from other networks, such as the Search Partners network. To understand performance on Search Partners, consider other reports and segmentations. Data for low-traffic placements may be aggregated. This view corresponds to drilling into details from the \"Where ads showed\" section in the Google Ads UI."
    },
    "GoogleAdsGoogleadsV25Resources__DetailedDemographic": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the detailed demographic. Detailed demographic resource names have the form: `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}`"
        },
        "parent": {
          "description": "Output only. The parent of the detailed_demographic.",
          "type": "string"
        },
        "name": {
          "description": "Output only. The name of the detailed demographic. For example,\"Highest Level of Educational Attainment\"",
          "type": "string"
        },
        "launchedToAll": {
          "description": "Output only. True if the detailed demographic is launched to all channels and locales.",
          "type": "boolean"
        },
        "availabilities": {
          "type": "array",
          "description": "Output only. Availability information of the detailed demographic.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CriterionCategoryAvailability"
          }
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the detailed demographic.",
          "type": "string"
        }
      },
      "description": "A detailed demographic: a particular interest-based vertical to be targeted to reach users based on long-term life facts."
    },
    "GoogleAdsGoogleadsV25Resources__DisplayKeywordView": {
      "description": "A display keyword view. Provides performance data for keywords used in Display Network campaigns. This view lets you analyze how your display keywords are performing across various segments. This view is primarily used to track the effectiveness of keyword targeting within your Display campaigns. To understand which network the metrics apply to, you can select the `segments.ad_network_type` field in your query. This field will segment the data by networks such as the Google Display Network, YouTube, Gmail, and so on. You can select fields from this resource along with metrics like impressions, clicks, and conversions to gauge performance. Attributed resources like `ad_group` and `campaign` can also be selected without segmenting metrics.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the display keyword view. Display Keyword view resource names have the form: `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}`",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__DistanceView": {
      "description": "A distance view with metrics aggregated by the user's distance from an advertiser's location extensions. Each DistanceBucket includes all impressions that fall within its distance and a single impression will contribute to the metrics for all DistanceBuckets that include the user's distance.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the distance view. Distance view resource names have the form: `customers/{customer_id}/distanceViews/1~{distance_bucket}`",
          "type": "string"
        },
        "distanceBucket": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "User was within 700m of the location.",
            "User was within 1KM of the location.",
            "User was within 5KM of the location.",
            "User was within 10KM of the location.",
            "User was within 15KM of the location.",
            "User was within 20KM of the location.",
            "User was within 25KM of the location.",
            "User was within 30KM of the location.",
            "User was within 35KM of the location.",
            "User was within 40KM of the location.",
            "User was within 45KM of the location.",
            "User was within 50KM of the location.",
            "User was within 55KM of the location.",
            "User was within 60KM of the location.",
            "User was within 65KM of the location.",
            "User was beyond 65KM of the location.",
            "User was within 0.7 miles of the location.",
            "User was within 1 mile of the location.",
            "User was within 5 miles of the location.",
            "User was within 10 miles of the location.",
            "User was within 15 miles of the location.",
            "User was within 20 miles of the location.",
            "User was within 25 miles of the location.",
            "User was within 30 miles of the location.",
            "User was within 35 miles of the location.",
            "User was within 40 miles of the location.",
            "User was beyond 40 miles of the location."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WITHIN_700M",
            "WITHIN_1KM",
            "WITHIN_5KM",
            "WITHIN_10KM",
            "WITHIN_15KM",
            "WITHIN_20KM",
            "WITHIN_25KM",
            "WITHIN_30KM",
            "WITHIN_35KM",
            "WITHIN_40KM",
            "WITHIN_45KM",
            "WITHIN_50KM",
            "WITHIN_55KM",
            "WITHIN_60KM",
            "WITHIN_65KM",
            "BEYOND_65KM",
            "WITHIN_0_7MILES",
            "WITHIN_1MILE",
            "WITHIN_5MILES",
            "WITHIN_10MILES",
            "WITHIN_15MILES",
            "WITHIN_20MILES",
            "WITHIN_25MILES",
            "WITHIN_30MILES",
            "WITHIN_35MILES",
            "WITHIN_40MILES",
            "BEYOND_40MILES"
          ],
          "description": "Output only. Grouping of user distance from location extensions.",
          "type": "string"
        },
        "metricSystem": {
          "type": "boolean",
          "description": "Output only. True if the DistanceBucket is using the metric system, false otherwise."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__DomainCategory": {
      "type": "object",
      "properties": {
        "category": {
          "description": "Output only. Recommended category for the website domain, for example, if you have a website about electronics, the categories could be \"cameras\", \"televisions\", etc.",
          "type": "string"
        },
        "languageCode": {
          "type": "string",
          "description": "Output only. The language code specifying the language of the website, for example, \"en\" for English. The language can be specified in the DynamicSearchAdsSetting required for dynamic search ads. This is the language of the pages from your website that you want Google Ads to find, create ads for, and match searches with."
        },
        "hasChildren": {
          "description": "Output only. Indicates whether this category has sub-categories.",
          "type": "boolean"
        },
        "recommendedCpcBidMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The recommended cost per click for the category."
        },
        "domain": {
          "description": "Output only. The domain for the website. The domain can be specified in the DynamicSearchAdsSetting required for dynamic search ads.",
          "type": "string"
        },
        "categoryRank": {
          "description": "Output only. The position of this category in the set of categories. Lower numbers indicate a better match for the domain. null indicates not recommended.",
          "type": "string",
          "format": "int64"
        },
        "resourceName": {
          "description": "Output only. The resource name of the domain category. Domain category resource names have the form: `customers/{customer_id}/domainCategories/{campaign_id}~{category_base64}~{language_code}`",
          "type": "string"
        },
        "coverageFraction": {
          "type": "number",
          "description": "Output only. Fraction of pages on your site that this category matches.",
          "format": "double"
        },
        "campaign": {
          "type": "string",
          "description": "Output only. The campaign this category is recommended for."
        }
      },
      "description": "A category generated automatically by crawling a domain. If a campaign uses the DynamicSearchAdsSetting, then domain categories will be generated for the domain. The categories can be targeted using WebpageConditionInfo. See: https://support.google.com/google-ads/answer/2471185"
    },
    "GoogleAdsGoogleadsV25Resources__DynamicSearchAdsSearchTermView": {
      "description": "A dynamic search ads search term view.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the dynamic search ads search term view. Dynamic search ads search term view resource names have the form: `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}`"
        },
        "searchTerm": {
          "description": "Output only. Search term This field is read-only.",
          "type": "string"
        },
        "landingPage": {
          "type": "string",
          "description": "Output only. The dynamically selected landing page URL of the impression. This field is read-only."
        },
        "pageUrl": {
          "type": "string",
          "description": "Output only. The URL of page feed item served for the impression. This field is read-only."
        },
        "hasNegativeKeyword": {
          "description": "Output only. True if query matches a negative keyword. This field is read-only.",
          "type": "boolean"
        },
        "headline": {
          "type": "string",
          "description": "Output only. The dynamically generated headline of the Dynamic Search Ad. This field is read-only."
        },
        "hasMatchingKeyword": {
          "description": "Output only. True if query is added to targeted keywords. This field is read-only.",
          "type": "boolean"
        },
        "hasNegativeUrl": {
          "type": "boolean",
          "description": "Output only. True if query matches a negative url. This field is read-only."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ExpandedLandingPageView": {
      "description": "A landing page view with metrics aggregated at the expanded final URL level.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the expanded landing page view. Expanded landing page view resource names have the form: `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}`",
          "type": "string"
        },
        "expandedFinalUrl": {
          "type": "string",
          "description": "Output only. The final URL that clicks are directed to."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__Experiment": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "description": "The Advertiser-chosen status of this experiment.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The experiment is enabled.",
            "The experiment has been removed.",
            "The experiment has been halted. This status can be set from ENABLED status through API.",
            "The experiment will be promoted out of experimental status.",
            "Initial status of the experiment.",
            "The experiment's campaigns are pending materialization. This status can be set from SETUP status through API.",
            "The experiment has been graduated."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED",
            "HALTED",
            "PROMOTED",
            "SETUP",
            "INITIATED",
            "GRADUATED"
          ]
        },
        "endDate": {
          "type": "string",
          "description": "Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18"
        },
        "promoteStatus": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOT_STARTED",
            "IN_PROGRESS",
            "COMPLETED",
            "FAILED",
            "COMPLETED_WITH_WARNING"
          ],
          "type": "string",
          "description": "Output only. The status of the experiment promotion process.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Action has not started.",
            "Action is in progress.",
            "Action has completed successfully.",
            "Action has failed.",
            "Action has completed successfully with warnings."
          ]
        },
        "optimizeAssetsExperiment": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__OptimizeAssetsExperimentInfo",
          "description": "Immutable. Details of the optimize assets experiment. Applies for experiment types: OPTIMIZE_ASSETS."
        },
        "experimentId": {
          "format": "int64",
          "description": "Output only. The ID of the experiment. Read only.",
          "type": "string"
        },
        "syncEnabled": {
          "description": "Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.",
          "type": "boolean"
        },
        "description": {
          "description": "The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.",
          "type": "string"
        },
        "startDate": {
          "type": "string",
          "description": "Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14"
        },
        "videoExperiment": {
          "description": "Immutable. Details of the video experiment. Applies for experiment types: YOUTUBE_CUSTOM.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VideoExperimentInfo"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id}/experiments/{experiment_id}`",
          "type": "string"
        },
        "suffix": {
          "type": "string",
          "description": "For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix."
        },
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "This is a DISPLAY_AND_VIDEO_360 experiment.",
            "This is an ad variation experiment.",
            "A custom experiment consisting of Video campaigns.",
            "A custom experiment consisting of display campaigns.",
            "A custom experiment consisting of search campaigns.",
            "An experiment that compares bidding strategies for display campaigns.",
            "An experiment that compares bidding strategies for search campaigns.\"",
            "An experiment that compares bidding strategies for shopping campaigns.",
            "DEPRECATED. A smart matching experiment with search campaigns.",
            "A custom experiment consisting of hotel campaigns.",
            "A custom experiment for optimizing assets.",
            "An experiment that tests how AI Max can help you engage more customers with Google AI and broad match keywords.",
            "An experiment that tests how broad match keywords can impact the number of searches your ads appear in.",
            "An experiment that tests how your Shopping campaigns perform compared to Performance Max.",
            "An experiment that compares multiple variables across one or more campaigns, tests a mix of campaign types, and more.",
            "An experiment that tests automatically created assets and lets Google AI send traffic to relevant landing pages and generate text assets to better match search queries."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DISPLAY_AND_VIDEO_360",
            "AD_VARIATION",
            "YOUTUBE_CUSTOM",
            "DISPLAY_CUSTOM",
            "SEARCH_CUSTOM",
            "DISPLAY_AUTOMATED_BIDDING_STRATEGY",
            "SEARCH_AUTOMATED_BIDDING_STRATEGY",
            "SHOPPING_AUTOMATED_BIDDING_STRATEGY",
            "SMART_MATCHING",
            "HOTEL_CUSTOM",
            "OPTIMIZE_ASSETS",
            "ADOPT_AI_MAX",
            "ADOPT_BROAD_MATCH_KEYWORDS",
            "PMAX_REPLACEMENT_SHOPPING",
            "COMPARE_CAMPAIGNS",
            "PMAX_TEXT_CUSTOMIZATION_FINAL_URL_EXPANSION"
          ],
          "type": "string",
          "description": "Required. The product/feature that uses this experiment."
        },
        "name": {
          "description": "Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.",
          "type": "string"
        },
        "longRunningOperation": {
          "description": "Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.",
          "type": "string"
        },
        "goals": {
          "description": "The goals of this experiment.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MetricGoal"
          },
          "type": "array"
        }
      },
      "description": "A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes."
    },
    "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__Fellowship": {
      "description": "Details about the employee's medical Fellowship. Fellowship is a period of medical training that the professional undertakes after finishing their residency.",
      "type": "object",
      "properties": {
        "institutionName": {
          "description": "Output only. Name of the instutition at which the fellowship was completed.",
          "type": "string"
        },
        "completionYear": {
          "description": "Output only. Year of completion.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__FinalUrlExpansionAssetView": {
      "description": "FinalUrlExpansionAssetView Resource.",
      "type": "object",
      "properties": {
        "finalUrl": {
          "type": "string",
          "description": "Output only. Final URL of the FinalUrlExpansionAsset."
        },
        "assetGroup": {
          "description": "Output only. Asset Group in which FinalUrlExpansionAsset served.",
          "type": "string"
        },
        "asset": {
          "type": "string",
          "description": "Output only. The ID of the asset."
        },
        "fieldType": {
          "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. The field type of the 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."
          ]
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED",
            "PAUSED"
          ],
          "description": "Output only. Status of the FinalUrlExpansionAsset.",
          "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."
          ]
        },
        "adGroup": {
          "type": "string",
          "description": "Output only. Ad Group in which FinalUrlExpansionAsset served."
        },
        "resourceName": {
          "description": "Output only. The resource name of the FinalUrlExpansionAsset.",
          "type": "string"
        },
        "campaign": {
          "type": "string",
          "description": "Output only. Campaign in which the asset served."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__GenderView": {
      "description": "A gender view resource. Represents the view of a customer's performance metrics aggregated by gender. All statistics are aggregated at the ad group level. Note: While you can segment metrics by age range using `age_range_view` or by gender using `gender_view`, the Google Ads API does not support segmenting metrics by both age range and gender simultaneously in a single query. Analyzing performance across both dimensions combined is not supported in the Google Ads API.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the gender view. Gender view resource names have the form: `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}`",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__GeoTargetConstant": {
      "description": "A geo target constant.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Output only. Geo target constant English name."
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{geo_target_constant_id}`"
        },
        "countryCode": {
          "type": "string",
          "description": "Output only. The ISO-3166-1 alpha-2 country code that is associated with the target."
        },
        "id": {
          "description": "Output only. The ID of the geo target constant.",
          "type": "string",
          "format": "int64"
        },
        "status": {
          "description": "Output only. Geo target constant status.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVAL_PLANNED"
          ],
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The geo target constant is valid.",
            "The geo target constant is obsolete and will be removed."
          ]
        },
        "canonicalName": {
          "description": "Output only. The fully qualified English name, consisting of the target's name and that of its parent and country.",
          "type": "string"
        },
        "targetType": {
          "type": "string",
          "description": "Output only. Geo target constant target type."
        },
        "parentGeoTarget": {
          "type": "string",
          "description": "Output only. The resource name of the parent geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{parent_geo_target_constant_id}`"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__GeographicView": {
      "description": "A geographic view. Geographic View includes all metrics aggregated at the country level, one row per country. It reports metrics at either actual physical location of the user or an area of interest. If other segment fields are used, you may get more than one row per country.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the geographic view. Geographic view resource names have the form: `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}`",
          "type": "string"
        },
        "locationType": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AREA_OF_INTEREST",
            "LOCATION_OF_PRESENCE"
          ],
          "description": "Output only. Type of the geo targeting of the campaign.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Location the user is interested in while making the query.",
            "Location of the user issuing the query."
          ]
        },
        "countryCriterionId": {
          "description": "Output only. Criterion Id for the country.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__Goal": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id}/goals/{goal_id}`",
          "type": "string"
        },
        "ownerCustomer": {
          "type": "string",
          "description": "Output only. The resource name of the goal owner customer."
        },
        "newCustomerAcquisitionGoalSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_GoalSetting_NewCustomerAcquisitionGoal",
          "description": "New customer acquisition goal settings."
        },
        "optimizationEligibility": {
          "x-enumDescriptions": [
            "The goal optimization status has not been specified.",
            "The goal optimization status is not known in this version.",
            "The goal is eligible for campaign optimization.",
            "The goal is not eligible for campaign optimization."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ELIGIBLE",
            "INELIGIBLE"
          ],
          "type": "string",
          "description": "Output only. Indicates if this goal is eligible for campaign optimization."
        },
        "loyaltyRetentionGoalSettings": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_GoalSetting_LoyaltyRetentionGoal",
          "description": "Loyalty retention goal settings."
        },
        "goalType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Retention goal, which allows advertisers to optimize campaigns to win back lapsed customers. (https://support.google.com/google-ads/answer/14792043?hl=en)",
            "New customer acquisition goal, which allows advertisers to optimize campaigns to acquire new customers.",
            "Loyalty retention goal, which allows advertisers to optimize campaigns for retaining loyalty program members."
          ],
          "type": "string",
          "description": "Output only. The type of this goal.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CUSTOMER_RETENTION",
            "NEW_CUSTOMER_ACQUISITION",
            "LOYALTY_RETENTION"
          ]
        },
        "retentionGoalSettings": {
          "description": "Retention goal settings.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_GoalSetting_RetentionGoal"
        },
        "goalId": {
          "type": "string",
          "description": "Output only. The ID of this goal.",
          "format": "int64"
        }
      },
      "description": "Representation of goals."
    },
    "GoogleAdsGoogleadsV25Resources__GoogleAdsIdentifier": {
      "description": "The identifier for Google Ads account.",
      "type": "object",
      "properties": {
        "customer": {
          "description": "Immutable. The resource name of the Google Ads account. This field is required and should not be empty when creating a new Google Ads link. It is unable to be modified after the creation of the link.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__GoogleLocalServicesInfo": {
      "type": "object",
      "properties": {
        "categoryId": {
          "type": "string",
          "description": "Immutable. The local services category associated with this asset group. That is, XCAT format - xcat:service_area_business_plumber. See https://developers.google.com/google-ads/api/data/codes-formats#local-services-category-ids This field cannot be modified after the AssetGroup has been created."
        },
        "callouts": {
          "description": "Callouts selected by the advertiser to show.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LocalServicesCallout"
          },
          "type": "array"
        }
      },
      "description": "Local services info for the asset group."
    },
    "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__GroupContentSuitabilityPlacementView": {
      "type": "object",
      "properties": {
        "targetUrl": {
          "type": "string",
          "description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL."
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the group content suitability placement view. Group content suitability placement view resource names have the form: `customers/{customer_id}/groupContentSuitabilityPlacementViews/{placement_fingerprint}`"
        },
        "placement": {
          "type": "string",
          "description": "Output only. The automatic placement string at group level, for example. website url, mobile application id, or a YouTube video id."
        },
        "displayName": {
          "type": "string",
          "description": "Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps."
        },
        "placementType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Websites(for example, 'www.flowers4sale.com').",
            "Mobile application categories(for example, 'Games').",
            "mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').",
            "YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').",
            "YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').",
            "Surfaces owned and operated by Google(for example, 'tv.google.com')."
          ],
          "description": "Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEBSITE",
            "MOBILE_APP_CATEGORY",
            "MOBILE_APPLICATION",
            "YOUTUBE_VIDEO",
            "YOUTUBE_CHANNEL",
            "GOOGLE_PRODUCTS"
          ]
        }
      },
      "description": "A group content suitability placement view."
    },
    "GoogleAdsGoogleadsV25Resources__GroupPlacementView": {
      "description": "A view showing performance data for where your ads actually served on the Display Network and YouTube, including both targeted (managed) and automatic placements. Data for low-traffic placements may be aggregated. The scope of placements shown is influenced by the ad group's `TargetingSetting` for the `PLACEMENT` dimension. This view corresponds to the \"Where ads showed\" section in the Google Ads UI.",
      "type": "object",
      "properties": {
        "targetUrl": {
          "type": "string",
          "description": "Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL."
        },
        "resourceName": {
          "description": "Output only. The resource name of the group placement view. Group placement view resource names have the form: `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}`",
          "type": "string"
        },
        "placement": {
          "type": "string",
          "description": "Output only. The automatic placement string at group level, e. g. web domain, mobile app ID, or a YouTube channel ID."
        },
        "displayName": {
          "type": "string",
          "description": "Output only. Domain name for websites and YouTube channel name for YouTube channels."
        },
        "placementType": {
          "description": "Output only. Type of the placement, for example, Website, YouTube Channel, Mobile Application.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEBSITE",
            "MOBILE_APP_CATEGORY",
            "MOBILE_APPLICATION",
            "YOUTUBE_VIDEO",
            "YOUTUBE_CHANNEL",
            "GOOGLE_PRODUCTS"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Websites(for example, 'www.flowers4sale.com').",
            "Mobile application categories(for example, 'Games').",
            "mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').",
            "YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').",
            "YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').",
            "Surfaces owned and operated by Google(for example, 'tv.google.com')."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__HotelCenterLinkInvitationIdentifier": {
      "description": "The identifier for Hotel account.",
      "type": "object",
      "properties": {
        "hotelCenterId": {
          "format": "int64",
          "description": "Output only. The hotel center id of the hotel account. This field is read only",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__HotelGroupView": {
      "description": "A hotel group view.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the hotel group view. Hotel Group view resource names have the form: `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}`"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__HotelPerformanceView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the hotel performance view. Hotel performance view resource names have the form: `customers/{customer_id}/hotelPerformanceView`",
          "type": "string"
        }
      },
      "description": "A hotel performance view."
    },
    "GoogleAdsGoogleadsV25Resources__HotelReconciliation": {
      "type": "object",
      "properties": {
        "campaign": {
          "description": "Output only. The resource name for the Campaign associated with the conversion.",
          "type": "string"
        },
        "reconciledValueMicros": {
          "format": "int64",
          "description": "Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If original booking value changes for any reason, such as itinerary changes or room upsells, the reconciled value should be the full final amount collected. If a booking is canceled, the reconciled value should include the value of any cancellation fees or non-refundable nights charged. Value is in millionths of the base unit currency. For example, $12.35 would be represented as 12350000. Currency unit is in the default customer currency.",
          "type": "string"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the hotel reconciliation. Hotel reconciliation resource names have the form: `customers/{customer_id}/hotelReconciliations/{commission_id}`",
          "type": "string"
        },
        "billed": {
          "type": "boolean",
          "description": "Output only. Whether a given booking has been billed. Once billed, a booking can't be modified."
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Bookings are for a future date, or a stay is underway but the check-out date hasn't passed. An active reservation can't be reconciled.",
            "Check-out has already taken place, or the booked dates have passed without cancellation. Bookings that are not reconciled within 45 days of the check-out date are billed based on the original booking price.",
            "These bookings have been reconciled. Reconciled bookings are billed 45 days after the check-out date.",
            "This booking was marked as canceled. Canceled stays with a value greater than zero (due to minimum stay rules or cancellation fees) are billed 45 days after the check-out date."
          ],
          "type": "string",
          "description": "Required. Output only. Current status of a booking with regards to reconciliation and billing. Bookings should be reconciled within 45 days after the check-out date. Any booking not reconciled within 45 days will be billed at its original value.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "RESERVATION_ENABLED",
            "RECONCILIATION_NEEDED",
            "RECONCILED",
            "CANCELED"
          ]
        },
        "commissionId": {
          "type": "string",
          "description": "Required. Output only. The commission ID is Google's ID for this booking. Every booking event is assigned a Commission ID to help you match it to a guest stay."
        },
        "checkInDate": {
          "description": "Output only. Check-in date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.",
          "type": "string"
        },
        "hotelId": {
          "description": "Output only. Unique identifier for the booked property, as provided in the Hotel Center feed. The hotel ID comes from the 'ID' parameter of the conversion tracking tag.",
          "type": "string"
        },
        "checkOutDate": {
          "description": "Output only. Check-out date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.",
          "type": "string"
        },
        "orderId": {
          "type": "string",
          "description": "Output only. The order ID is the identifier for this booking as provided in the 'transaction_id' parameter of the conversion tracking tag."
        },
        "hotelCenterId": {
          "type": "string",
          "description": "Output only. Identifier for the Hotel Center account which provides the rates for the Hotel campaign.",
          "format": "int64"
        }
      },
      "description": "A hotel reconciliation. It contains conversion information from Hotel bookings to reconcile with advertiser records. These rows may be updated or canceled before billing through Bulk Uploads."
    },
    "GoogleAdsGoogleadsV25Resources__IncomeRangeView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the income range view. Income range view resource names have the form: `customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}`",
          "type": "string"
        }
      },
      "description": "An income range view."
    },
    "GoogleAdsGoogleadsV25Resources__InsuranceVerificationArtifact": {
      "description": "A proto holding information specific to a local services insurance.",
      "type": "object",
      "properties": {
        "amountMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Insurance amount. This is measured in \"micros\" of the currency mentioned in the insurance document."
        },
        "rejectionReason": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BUSINESS_NAME_MISMATCH",
            "INSURANCE_AMOUNT_INSUFFICIENT",
            "EXPIRED",
            "NO_SIGNATURE",
            "NO_POLICY_NUMBER",
            "NO_COMMERCIAL_GENERAL_LIABILITY",
            "EDITABLE_FORMAT",
            "CATEGORY_MISMATCH",
            "MISSING_EXPIRATION_DATE",
            "POOR_QUALITY",
            "POTENTIALLY_EDITED",
            "WRONG_DOCUMENT_TYPE",
            "NON_FINAL",
            "OTHER"
          ],
          "type": "string",
          "description": "Output only. Insurance document's rejection reason.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Business name doesn't match business name for the Local Services Ad.",
            "Insurance amount doesn't meet requirement listed in the legal summaries documentation for that geographic + category ID combination.",
            "Insurance document is expired.",
            "Insurance document is missing a signature.",
            "Insurance document is missing a policy number.",
            "Commercial General Liability(CGL) box is not marked in the insurance document.",
            "Insurance document is in an editable format.",
            "Insurance document does not cover insurance for a particular category.",
            "Insurance document is missing an expiration date.",
            "Insurance document is poor quality - blurry images, illegible, etc...",
            "Insurance document is suspected of being edited.",
            "Insurance document not accepted. For example, documents of insurance proposals, but missing coverages are not accepted.",
            "Insurance document is not final.",
            "Insurance document has another flaw not listed explicitly."
          ]
        },
        "insuranceDocumentReadonly": {
          "description": "Output only. The readonly field containing the information for an uploaded insurance document.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocalServicesDocumentReadOnly"
        },
        "expirationDateTime": {
          "description": "Output only. The timestamp when this insurance expires. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__KeywordPlan": {
      "description": "A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`"
        },
        "forecastPeriod": {
          "description": "The date period used for forecasting the plan.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanForecastPeriod"
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the keyword plan.",
          "type": "string"
        },
        "name": {
          "description": "The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__KeywordPlanAdGroup": {
      "description": "A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200.",
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.",
          "type": "string"
        },
        "cpcBidMicros": {
          "description": "A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.",
          "type": "string",
          "format": "int64"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`"
        },
        "id": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the keyword plan ad group."
        },
        "keywordPlanCampaign": {
          "description": "The keyword plan campaign to which this ad group belongs.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__KeywordPlanAdGroupKeyword": {
      "type": "object",
      "properties": {
        "keywordPlanAdGroup": {
          "description": "The Keyword Plan ad group to which this keyword belongs.",
          "type": "string"
        },
        "id": {
          "description": "Output only. The ID of the Keyword Plan keyword.",
          "type": "string",
          "format": "int64"
        },
        "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"
          ],
          "description": "The keyword match type.",
          "type": "string"
        },
        "cpcBidMicros": {
          "description": "A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.",
          "type": "string",
          "format": "int64"
        },
        "negative": {
          "description": "Immutable. If true, the keyword is negative.",
          "type": "boolean"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`"
        },
        "text": {
          "type": "string",
          "description": "The keyword text."
        }
      },
      "description": "A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000."
    },
    "GoogleAdsGoogleadsV25Resources__KeywordPlanCampaign": {
      "description": "A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1.",
      "type": "object",
      "properties": {
        "languageConstants": {
          "type": "array",
          "description": "The languages targeted for the Keyword Plan campaign. Max allowed: 1.",
          "items": {
            "type": "string"
          }
        },
        "keywordPlanNetwork": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Google Search.",
            "Google Search + Search partners."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "GOOGLE_SEARCH",
            "GOOGLE_SEARCH_AND_PARTNERS"
          ],
          "type": "string",
          "description": "Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`"
        },
        "name": {
          "description": "The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.",
          "type": "string"
        },
        "cpcBidMicros": {
          "type": "string",
          "description": "A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.",
          "format": "int64"
        },
        "keywordPlan": {
          "description": "The keyword plan this campaign belongs to.",
          "type": "string"
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the Keyword Plan campaign.",
          "type": "string"
        },
        "geoTargets": {
          "description": "The geo targets. Max number allowed: 20.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanGeoTarget"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__KeywordPlanCampaignKeyword": {
      "description": "A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`"
        },
        "text": {
          "type": "string",
          "description": "The keyword text."
        },
        "negative": {
          "description": "Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.",
          "type": "boolean"
        },
        "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 keyword match type."
        },
        "keywordPlanCampaign": {
          "type": "string",
          "description": "The Keyword Plan campaign to which this negative keyword belongs."
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the Keyword Plan negative keyword.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__KeywordPlanForecastPeriod": {
      "description": "The forecasting period associated with the keyword plan.",
      "type": "object",
      "properties": {
        "dateInterval": {
          "type": "string",
          "description": "A future date range relative to the current date used for forecasting.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The next week date range for keyword plan. The next week is based on the default locale of the user's account and is mostly SUN-SAT or MON-SUN. This can be different from next-7 days.",
            "The next month date range for keyword plan.",
            "The next quarter date range for keyword plan."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NEXT_WEEK",
            "NEXT_MONTH",
            "NEXT_QUARTER"
          ]
        },
        "dateRange": {
          "description": "The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DateRange"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__KeywordPlanGeoTarget": {
      "type": "object",
      "properties": {
        "geoTargetConstant": {
          "description": "Required. The resource name of the geo target.",
          "type": "string"
        }
      },
      "description": "A geo target."
    },
    "GoogleAdsGoogleadsV25Resources__KeywordThemeConstant": {
      "description": "A Smart Campaign keyword theme constant.",
      "type": "object",
      "properties": {
        "displayName": {
          "description": "Output only. The display name of the keyword theme or sub keyword theme.",
          "type": "string"
        },
        "resourceName": {
          "description": "Output only. The resource name of the keyword theme constant. Keyword theme constant resource names have the form: `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`",
          "type": "string"
        },
        "countryCode": {
          "description": "Output only. The ISO-3166 Alpha-2 country code of the constant, eg. \"US\". To display and query matching purpose, the keyword theme needs to be localized.",
          "type": "string"
        },
        "languageCode": {
          "description": "Output only. The ISO-639-1 language code with 2 letters of the constant, eg. \"en\". To display and query matching purpose, the keyword theme needs to be localized.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__KeywordView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the keyword view. Keyword view resource names have the form: `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}`",
          "type": "string"
        }
      },
      "description": "A keyword view."
    },
    "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__LandingPageView": {
      "description": "A landing page view with metrics aggregated at the unexpanded final URL level.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the landing page view. Landing page view resource names have the form: `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}`"
        },
        "unexpandedFinalUrl": {
          "description": "Output only. The advertiser-specified final URL.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__LanguageConstant": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the language constant. Language constant resource names have the form: `languageConstants/{criterion_id}`"
        },
        "name": {
          "description": "Output only. The full name of the language in English, for example, \"English (US)\", \"Spanish\", etc.",
          "type": "string"
        },
        "code": {
          "type": "string",
          "description": "Output only. The language code, for example, \"en_US\", \"en_AU\", \"es\", \"fr\", etc."
        },
        "id": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the language constant."
        },
        "targetable": {
          "type": "boolean",
          "description": "Output only. Whether the language is targetable."
        }
      },
      "description": "A language."
    },
    "GoogleAdsGoogleadsV25Resources__LeadFormSubmissionData": {
      "type": "object",
      "properties": {
        "campaign": {
          "type": "string",
          "description": "Output only. Campaign associated with the submitted lead form."
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the lead form submission data. Lead form submission data resource names have the form: `customers/{customer_id}/leadFormSubmissionData/{lead_form_submission_data_id}`"
        },
        "submissionDateTime": {
          "type": "string",
          "description": "Output only. The date and time at which the lead form was submitted. The format is \"yyyy-mm-dd hh:mm:ss+|-hh:mm\", for example, \"2019-01-01 12:32:45-08:00\"."
        },
        "id": {
          "description": "Output only. ID of this lead form submission.",
          "type": "string"
        },
        "leadFormSubmissionFields": {
          "description": "Output only. Submission data associated with a lead form.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LeadFormSubmissionField"
          },
          "type": "array"
        },
        "adGroup": {
          "type": "string",
          "description": "Output only. AdGroup associated with the submitted lead form."
        },
        "asset": {
          "type": "string",
          "description": "Output only. Asset associated with the submitted lead form."
        },
        "adGroupAd": {
          "type": "string",
          "description": "Output only. AdGroupAd associated with the submitted lead form."
        },
        "gclid": {
          "description": "Output only. Google Click Id associated with the submissed lead form.",
          "type": "string"
        },
        "customLeadFormSubmissionFields": {
          "type": "array",
          "description": "Output only. Submission data associated with a custom lead form.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomLeadFormSubmissionField"
          }
        }
      },
      "description": "Data from lead form submissions."
    },
    "GoogleAdsGoogleadsV25Resources__LeadFormSubmissionField": {
      "description": "Fields in the submitted lead form.",
      "type": "object",
      "properties": {
        "fieldValue": {
          "description": "Output only. Field value for lead form fields.",
          "type": "string"
        },
        "fieldType": {
          "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"
          ],
          "type": "string",
          "description": "Output only. Field type for lead form fields."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__LicenseVerificationArtifact": {
      "type": "object",
      "properties": {
        "licenseType": {
          "description": "Output only. License type / name.",
          "type": "string"
        },
        "licenseeFirstName": {
          "description": "Output only. First name of the licensee.",
          "type": "string"
        },
        "licenseeLastName": {
          "description": "Output only. Last name of the licensee.",
          "type": "string"
        },
        "rejectionReason": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BUSINESS_NAME_MISMATCH",
            "UNAUTHORIZED",
            "EXPIRED",
            "POOR_QUALITY",
            "UNVERIFIABLE",
            "WRONG_DOCUMENT_OR_ID",
            "OTHER"
          ],
          "description": "Output only. License rejection reason.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Business name doesn't match business name for the Local Services Ad.",
            "License is unauthorized or been revoked.",
            "License is expired.",
            "License is poor quality - blurry images, illegible, etc...",
            "License cannot be verified due to a not legitimate image.",
            "License is not the requested document type or contains an invalid ID.",
            "License has another flaw not listed explicitly."
          ]
        },
        "licenseDocumentReadonly": {
          "description": "Output only. The readonly field containing the information for an uploaded license document.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocalServicesDocumentReadOnly"
        },
        "licenseNumber": {
          "type": "string",
          "description": "Output only. License number."
        },
        "expirationDateTime": {
          "description": "Output only. The timestamp when this license expires. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"",
          "type": "string"
        }
      },
      "description": "A proto holding information specific to a local services license."
    },
    "GoogleAdsGoogleadsV25Resources__LifeEvent": {
      "description": "A life event: a particular interest-based vertical to be targeted to reach users when they are in the midst of important life milestones.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Output only. The name of the life event, for example,\"Recently Moved\""
        },
        "resourceName": {
          "description": "Output only. The resource name of the life event. Life event resource names have the form: `customers/{customer_id}/lifeEvents/{life_event_id}`",
          "type": "string"
        },
        "parent": {
          "description": "Output only. The parent of the life_event.",
          "type": "string"
        },
        "id": {
          "description": "Output only. The ID of the life event.",
          "type": "string",
          "format": "int64"
        },
        "availabilities": {
          "type": "array",
          "description": "Output only. Availability information of the life event.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CriterionCategoryAvailability"
          }
        },
        "launchedToAll": {
          "description": "Output only. True if the life event is launched to all channels and locales.",
          "type": "boolean"
        }
      }
    },
    "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__LocalServicesCallout": {
      "description": "Local services callout of the asset group.",
      "type": "object",
      "properties": {
        "calloutId": {
          "type": "string",
          "description": "Required. The unique ID of the callout."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__LocalServicesEmployee": {
      "description": "A local services employee resource.",
      "type": "object",
      "properties": {
        "jobTitle": {
          "description": "Output only. Job title for this employee, such as \"Senior partner\" in legal verticals.",
          "type": "string"
        },
        "status": {
          "type": "string",
          "description": "Output only. Employee status, such as DELETED or ENABLED.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Employee is not removed, and employee status is active.",
            "Employee is removed. Used to delete an employee from the business."
          ]
        },
        "residencies": {
          "description": "Output only. The institutions where the employee has completed their residency.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Residency"
          },
          "type": "array"
        },
        "languagesSpoken": {
          "type": "array",
          "description": "Output only. Languages that the employee speaks, represented as language tags from https://developers.google.com/admin-sdk/directory/v1/languages",
          "items": {
            "type": "string"
          }
        },
        "middleName": {
          "type": "string",
          "description": "Output only. Middle name of the employee."
        },
        "creationDateTime": {
          "description": "Output only. Timestamp of employee creation. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"",
          "type": "string"
        },
        "universityDegrees": {
          "description": "Output only. A list of degrees this employee has obtained, and wants to feature.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__UniversityDegree"
          },
          "type": "array"
        },
        "nationalProviderIdNumber": {
          "type": "string",
          "description": "Output only. NPI id associated with the employee."
        },
        "categoryIds": {
          "description": "Output only. Category of the employee. A list of Local Services category IDs can be found at https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "yearStartedPracticing": {
          "type": "integer",
          "description": "Output only. The year that this employee started practicing in this field.",
          "format": "int32"
        },
        "id": {
          "description": "Output only. The ID of the employee.",
          "type": "string",
          "format": "int64"
        },
        "firstName": {
          "description": "Output only. First name of the employee.",
          "type": "string"
        },
        "type": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BUSINESS_OWNER",
            "EMPLOYEE"
          ],
          "description": "Output only. Employee type.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Represents the owner of the business.",
            "Represents an employee of the business."
          ]
        },
        "resourceName": {
          "description": "Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id}/localServicesEmployees/{gls_employee_id}`",
          "type": "string"
        },
        "fellowships": {
          "type": "array",
          "description": "Output only. The institutions where the employee has completed their fellowship.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Fellowship"
          }
        },
        "lastName": {
          "type": "string",
          "description": "Output only. Last name of the employee."
        },
        "emailAddress": {
          "description": "Output only. Email address of the employee.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__LocalServicesLead": {
      "description": "Data from Local Services Lead. Contains details of Lead which is generated when user calls, messages or books service from advertiser. More info: https://ads.google.com/local-services-ads",
      "type": "object",
      "properties": {
        "locale": {
          "type": "string",
          "description": "Output only. Language used by the Local Services provider linked to lead. See https://developers.google.com/google-ads/api/data/codes-formats#locales"
        },
        "contactDetails": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ContactDetails",
          "description": "Output only. Lead's contact details."
        },
        "leadFeedbackSubmitted": {
          "description": "Output only. True if the advertiser submitted feedback for the lead.",
          "type": "boolean"
        },
        "note": {
          "description": "Output only. Note added by advertiser for the lead.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Note"
        },
        "leadCharged": {
          "type": "boolean",
          "description": "Output only. True if the advertiser was charged for the lead."
        },
        "serviceId": {
          "description": "Output only. Service for the category. For example: `buyer_agent`, `seller_agent` for the category of `xcat:service_area_business_real_estate_agent`.",
          "type": "string"
        },
        "leadStatus": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "New lead which hasn't yet been seen by advertiser.",
            "Lead that thas been interacted by advertiser.",
            "Lead has been booked.",
            "Lead was declined by advertiser.",
            "Lead has expired due to inactivity.",
            "Disabled due to spam or dispute.",
            "Consumer declined the lead.",
            "Personally Identifiable Information of the lead is wiped out."
          ],
          "description": "Output only. Current status of lead.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NEW",
            "ACTIVE",
            "BOOKED",
            "DECLINED",
            "EXPIRED",
            "DISABLED",
            "CONSUMER_DECLINED",
            "WIPED_OUT"
          ]
        },
        "creationDateTime": {
          "description": "Output only. The date time at which lead was created by Local Services Ads. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the local services lead data. Local Services Lead resource names have the form `customers/{customer_id}/localServicesLeads/{local_services_lead_id}`"
        },
        "id": {
          "description": "Output only. ID of this Lead.",
          "type": "string",
          "format": "int64"
        },
        "categoryId": {
          "type": "string",
          "description": "Output only. Service category of the lead. For example: `xcat:service_area_business_hvac`, `xcat:service_area_business_real_estate_agent`, etc. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids"
        },
        "leadType": {
          "description": "Output only. Type of Local Services lead: phone, message, booking, etc.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MESSAGE",
            "PHONE_CALL",
            "BOOKING"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Message lead.",
            "Lead created by phone call.",
            "Booking lead."
          ]
        },
        "creditDetails": {
          "description": "Output only. Credit details of the lead.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CreditDetails"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__LocalServicesLeadConversation": {
      "description": "Data from Local Services Lead Conversation. Contains details of Lead Conversation which is generated when user calls, messages or books service from advertiser. These are appended to a Lead. More info: https://ads.google.com/local-services-ads",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the local services lead conversation data. Local Services Lead Conversation resource names have the form `customers/{customer_id}/localServicesLeadConversations/{local_services_lead_conversation_id}`",
          "type": "string"
        },
        "messageDetails": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MessageDetails",
          "description": "Output only. Details of message conversation in case of EMAIL, MESSAGE or SMS."
        },
        "conversationChannel": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EMAIL",
            "MESSAGE",
            "PHONE_CALL",
            "SMS",
            "BOOKING",
            "WHATSAPP",
            "ADS_API"
          ],
          "type": "string",
          "description": "Output only. Type of GLS lead conversation, EMAIL, MESSAGE, PHONE_CALL, SMS, etc.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Email lead conversation.",
            "Message lead conversation.",
            "Phone call lead conversation.",
            "SMS lead conversation.",
            "Booking lead conversation.",
            "WhatsApp lead conversation.",
            "Lead conversation created through Google Ads API."
          ]
        },
        "eventDateTime": {
          "type": "string",
          "description": "Output only. The date time at which lead conversation was created by Local Services Ads. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\""
        },
        "phoneCallDetails": {
          "description": "Output only. Details of phone call conversation in case of PHONE_CALL.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__PhoneCallDetails"
        },
        "participantType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Local Services Ads Provider participant.",
            "Local Services Ads Consumer participant."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADVERTISER",
            "CONSUMER"
          ],
          "description": "Output only. Type of participant in the lead conversation, ADVERTISER or CONSUMER.",
          "type": "string"
        },
        "lead": {
          "type": "string",
          "description": "Output only. Resource name of Lead associated to the Lead Conversation."
        },
        "id": {
          "description": "Output only. ID of this Lead Conversation.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "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__LocalServicesVerificationArtifact": {
      "description": "A local services verification resource.",
      "type": "object",
      "properties": {
        "insuranceVerificationArtifact": {
          "description": "Output only. An insurance verification artifact.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__InsuranceVerificationArtifact"
        },
        "businessRegistrationCheckVerificationArtifact": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BusinessRegistrationCheckVerificationArtifact",
          "description": "Output only. A business registration check verification artifact."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id}/localServicesVerificationArtifacts/{verification_artifact_id}`"
        },
        "backgroundCheckVerificationArtifact": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BackgroundCheckVerificationArtifact",
          "description": "Output only. A background check verification artifact."
        },
        "id": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the verification artifact."
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Artifact has passed verification.",
            "Artifact has failed verification.",
            "Artifact is in the process of verification.",
            "Artifact needs user to upload information before it is verified.",
            "Artifact has been cancelled by the user."
          ],
          "description": "Output only. The status of the verification artifact.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PASSED",
            "FAILED",
            "PENDING",
            "NO_SUBMISSION",
            "CANCELLED"
          ]
        },
        "artifactType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Background check verification artifact.",
            "Insurance verification artifact.",
            "License verification artifact.",
            "Business registration check verification artifact."
          ],
          "type": "string",
          "description": "Output only. The type of the verification artifact.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BACKGROUND_CHECK",
            "INSURANCE",
            "LICENSE",
            "BUSINESS_REGISTRATION_CHECK"
          ]
        },
        "licenseVerificationArtifact": {
          "description": "Output only. A license verification artifact.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LicenseVerificationArtifact"
        },
        "creationDateTime": {
          "type": "string",
          "description": "Output only. The timestamp when this verification artifact was created. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\""
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__LocationInterestView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the location interest view. Location interest view resource names have the form: `customers/{customer_id}/locationInterestViews/{campaign_id}~{ad_group_id}~{criterion_id}`",
          "type": "string"
        }
      },
      "description": "A location interest view summarizes the performance of adgroup location interest criteria."
    },
    "GoogleAdsGoogleadsV25Resources__LocationView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the location view. Location view resource names have the form: `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}`"
        }
      },
      "description": "A location view summarizes the performance of campaigns by a Location criterion. If no Location criterion is set, no results are returned; instead, use geographic_view or user_location_view for visitor location data."
    },
    "GoogleAdsGoogleadsV25Resources__ManagedPlacementView": {
      "description": "A view providing performance data for placements explicitly targeted in your ad groups. This view corresponds to the \"Placements\" section in the Google Ads UI.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the Managed Placement view. Managed placement view resource names have the form: `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}`"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__MatchedLocationInterestView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the matched location interest view. Matched location interest view resource names have the form: `customers/{customer_id}/matchedLocationInterestViews/{country_criterion_id}`",
          "type": "string"
        }
      },
      "description": "A view that reports metrics for locations where users showed interest, and which matched the advertiser's location interest targeting (defined as geo targets at the AdGroup level). The data is aggregated at the country level by default. This view is currently only available for AI Max campaigns."
    },
    "GoogleAdsGoogleadsV25Resources__MediaAudio": {
      "description": "Encapsulates an Audio.",
      "type": "object",
      "properties": {
        "adDurationMillis": {
          "type": "string",
          "description": "Output only. The duration of the Audio in milliseconds.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__MediaBundle": {
      "description": "Represents a ZIP archive media the content of which contains HTML5 assets.",
      "type": "object",
      "properties": {
        "data": {
          "format": "byte",
          "description": "Immutable. Raw zipped data.",
          "type": "string"
        },
        "url": {
          "description": "Output only. The url to access the uploaded zipped data. For example, https://tpc.googlesyndication.com/simgad/123 This field is read-only.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__MediaFile": {
      "description": "A media file.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the media file. Media file resource names have the form: `customers/{customer_id}/mediaFiles/{media_file_id}`"
        },
        "type": {
          "description": "Immutable. Type of the media file.",
          "type": "string",
          "x-enumDescriptions": [
            "The media type has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Static image, used for image ad.",
            "Small image, used for map ad.",
            "ZIP file, used in fields of template ads.",
            "Audio file.",
            "Video file.",
            "Animated image, such as animated GIF."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "IMAGE",
            "ICON",
            "MEDIA_BUNDLE",
            "AUDIO",
            "VIDEO",
            "DYNAMIC_IMAGE"
          ]
        },
        "id": {
          "type": "string",
          "description": "Output only. The ID of the media file.",
          "format": "int64"
        },
        "mediaBundle": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MediaBundle",
          "description": "Immutable. A ZIP archive media the content of which contains HTML5 assets."
        },
        "fileSize": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The size of the media file in bytes."
        },
        "video": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MediaVideo",
          "description": "Immutable. Encapsulates a Video."
        },
        "name": {
          "type": "string",
          "description": "Immutable. The name of the media file. The name can be used by clients to help identify previously uploaded media."
        },
        "sourceUrl": {
          "description": "Immutable. The URL of where the original media file was downloaded from (or a file name). Only used for media of type AUDIO and IMAGE.",
          "type": "string"
        },
        "mimeType": {
          "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": "Output only. The mime type of the media file.",
          "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."
          ]
        },
        "image": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MediaImage",
          "description": "Immutable. Encapsulates an Image."
        },
        "audio": {
          "description": "Output only. Encapsulates an Audio.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MediaAudio"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__MediaImage": {
      "description": "Encapsulates an Image.",
      "type": "object",
      "properties": {
        "fullSizeImageUrl": {
          "type": "string",
          "description": "Output only. The url to the full size version of the image."
        },
        "previewSizeImageUrl": {
          "description": "Output only. The url to the preview size version of the image.",
          "type": "string"
        },
        "data": {
          "description": "Immutable. Raw image data.",
          "type": "string",
          "format": "byte"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__MediaVideo": {
      "type": "object",
      "properties": {
        "adDurationMillis": {
          "type": "string",
          "description": "Output only. The duration of the Video in milliseconds.",
          "format": "int64"
        },
        "isciCode": {
          "description": "Output only. The Industry Standard Commercial Identifier code for this video, used mainly for television commercials.",
          "type": "string"
        },
        "youtubeVideoId": {
          "description": "Immutable. The YouTube video ID (as seen in YouTube URLs). Adding prefix \"https://www.youtube.com/watch?v=\" to this ID will get the YouTube streaming URL for this video.",
          "type": "string"
        },
        "advertisingIdCode": {
          "type": "string",
          "description": "Output only. The Advertising Digital Identification code for this video, as defined by the American Association of Advertising Agencies, used mainly for television commercials."
        }
      },
      "description": "Encapsulates a Video."
    },
    "GoogleAdsGoogleadsV25Resources__MerchantCenterIdentifier": {
      "description": "The identifier for Google Merchant Center account",
      "type": "object",
      "properties": {
        "merchantCenterId": {
          "type": "string",
          "description": "Immutable. The customer ID of the Google Merchant Center account. This field is required and should not be empty when creating a new Merchant Center link. It is unable to be modified after the creation of the link.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__MerchantCenterLinkInvitationIdentifier": {
      "type": "object",
      "properties": {
        "merchantCenterId": {
          "type": "string",
          "description": "Output only. The Merchant Center id of the Merchant account. This field is read only",
          "format": "int64"
        }
      },
      "description": "The identifier for Merchant Center Account."
    },
    "GoogleAdsGoogleadsV25Resources__MessageDetails": {
      "description": "Represents details of text message in case of email, message or SMS.",
      "type": "object",
      "properties": {
        "text": {
          "description": "Output only. Textual content of the message.",
          "type": "string"
        },
        "attachmentUrls": {
          "type": "array",
          "description": "Output only. URL to the SMS or email attachments. These URLs can be used to download the contents of the attachment by using the developer token.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__MobileAppCategoryConstant": {
      "description": "A mobile application category constant.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the mobile app category constant. Mobile app category constant resource names have the form: `mobileAppCategoryConstants/{mobile_app_category_id}`",
          "type": "string"
        },
        "id": {
          "description": "Output only. The ID of the mobile app category constant.",
          "type": "integer",
          "format": "int32"
        },
        "name": {
          "description": "Output only. Mobile app category name.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__MobileDeviceConstant": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Output only. The type of mobile device.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MOBILE",
            "TABLET"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Mobile phones.",
            "Tablets."
          ]
        },
        "id": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the mobile device constant."
        },
        "manufacturerName": {
          "description": "Output only. The manufacturer of the mobile device.",
          "type": "string"
        },
        "operatingSystemName": {
          "type": "string",
          "description": "Output only. The operating system of the mobile device."
        },
        "name": {
          "description": "Output only. The name of the mobile device.",
          "type": "string"
        },
        "resourceName": {
          "description": "Output only. The resource name of the mobile device constant. Mobile device constant resource names have the form: `mobileDeviceConstants/{criterion_id}`",
          "type": "string"
        }
      },
      "description": "A mobile device constant."
    },
    "GoogleAdsGoogleadsV25Resources__MultiPartyAuthReview": {
      "type": "object",
      "properties": {
        "creationDateTime": {
          "type": "string",
          "description": "Output only. The creation date and time of the Multi-Party Authorization review."
        },
        "approvalDateTime": {
          "description": "Output only. The approval date and time of the Multi-Party Authorization review.",
          "type": "string"
        },
        "customerUserAccessInvitationReview": {
          "description": "Output only. The CustomerUserAccessInvitation details.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerUserAccessInvitationReview"
        },
        "multiPartyAuthReviewId": {
          "type": "string",
          "description": "Output only. The ID of the Multi-Party Authorization review.",
          "format": "int64"
        },
        "justification": {
          "type": "string",
          "description": "Output only. The justification for the Multi-Party Authorization review request given by the requester."
        },
        "requestUserEmail": {
          "description": "Output only. The email of the user who requested the Multi-Party Authorization review",
          "type": "string"
        },
        "reviewStatus": {
          "x-enumDescriptions": [
            "Not specified.",
            "Value unknown in this version.",
            "The Multi-Party Authorization request has been approved by another admin.",
            "The Multi-Party Authorization request has been sent but not yet approved by another admin.",
            "The Multi-Party Authorization request has been revoked by the requester.",
            "The Multi-Party Authorization request has been rejected by another admin.",
            "The Multi-Party Authorization request has expired."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "APPROVED",
            "PENDING",
            "REVOKED",
            "REJECTED",
            "EXPIRED"
          ],
          "type": "string",
          "description": "Output only. The status of the Multi-Party Authorization review."
        },
        "customerUserAccessReview": {
          "description": "Output only. The CustomerUserAccess details.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerUserAccessReview"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the Multi-Party Authentication review. Resource names have the form: `customers/{customer_id}/multiPartyAuthReviews/{multi_party_auth_review_id}`"
        },
        "operationType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Value unknown in this version.",
            "The operation is for creating a new resource.",
            "The operation is for updating an existing resource.",
            "The operation is for removing a resource."
          ],
          "description": "Output only. The operation type of the Multi-Party Authorization review.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CREATE",
            "UPDATE",
            "REMOVE"
          ]
        },
        "targetResource": {
          "x-enumDescriptions": [
            "Not specified.",
            "Value unknown in this version.",
            "Resource is CustomerUserAccess.",
            "Resource is CustomerUserAccessInvitation."
          ],
          "type": "string",
          "description": "Output only. The target resource for which Multi-Party Authorization is requested.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CUSTOMER_USER_ACCESS",
            "CUSTOMER_USER_ACCESS_INVITATION"
          ]
        }
      },
      "description": "Resource representing a Multi-Party Authentication review."
    },
    "GoogleAdsGoogleadsV25Resources__Note": {
      "description": "Represents a note added to a lead by the advertiser. Advertisers can edit notes, which will reset edit time and change description.",
      "type": "object",
      "properties": {
        "editDateTime": {
          "description": "Output only. The date time when lead note was edited. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"",
          "type": "string"
        },
        "description": {
          "description": "Output only. Content of lead note.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__OfflineConversionAlert": {
      "description": "Alert for offline conversion client summary.",
      "type": "object",
      "properties": {
        "errorPercentage": {
          "format": "double",
          "type": "number",
          "description": "Output only. Percentage of the error, the range of this field should be [0, 1.0]."
        },
        "error": {
          "description": "Output only. Error for offline conversion client alert.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OfflineConversionError"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__OfflineConversionError": {
      "type": "object",
      "properties": {
        "conversionUploadError": {
          "x-enumDescriptions": [
            "Enum unspecified.",
            "Used for return value only. Represents value unknown in this version.",
            "Upload fewer than 2001 events in a single request.",
            "The imported gclid could not be decoded.",
            "The imported event has a `conversion_date_time` that precedes the click. Make sure your `conversion_date_time` is correct and try again.",
            "The imported event can't be recorded because its click occurred before this conversion's click-through window. Make sure you import the most recent data.",
            "The click associated with the given identifier or iOS URL parameter occurred less than 6 hours ago. Retry after 6 hours have passed.",
            "The imported event could not be attributed to a click. This may be because the event did not come from a Google Ads campaign.",
            "The click ID or call is associated with an Ads account you don't have access to. Make sure you import conversions for accounts managed by your manager account.",
            "Can't import events to a conversion action that was just created. Try importing again in 6 hours.",
            "At the time of the click, conversion tracking was not enabled in the effective conversion account of the click's Google Ads account.",
            "The imported event includes external attribution data, but the conversion action isn't set up to use an external attribution model. Make sure the conversion action is correctly configured and try again.",
            "The conversion action is set up to use an external attribution model, but the imported event is missing data. Make sure imported events include the external attribution credit and all necessary fields.",
            "Order IDs can't be used for a conversion measured with an external attribution model. Make sure the conversion is correctly configured and imported events include only necessary data and try again.",
            "The imported event includes an order ID that was previously recorded, so the event was not processed.",
            "Imported events include multiple conversions with the same order ID and were not processed. Make sure order IDs are unique and try again.",
            "Can't import calls that occurred less than 6 hours ago. Try uploading again in 6 hours.",
            "The call can't be recorded because it occurred before this conversion action's lookback window. Make sure your import is configured to get the most recent data.",
            "The call or click leading to the imported event can't be found. Make sure your data source is set up to include correct identifiers.",
            "The call has a `conversion_date_time` that precedes the associated click. Make sure your `conversion_date_time` is correct.",
            "At the time of the imported call, conversion tracking was not enabled in the effective conversion account of the click's Google Ads account.",
            "Make sure phone numbers are formatted as E.164 (+16502531234), International (+64 3-331 6005), or US national number (6502531234).",
            "The imported event has the same click and `conversion_date_time` as an existing conversion. Use a unique `conversion_date_time` or order ID for each unique event and try again.",
            "The imported call has the same `conversion_date_time` as an existing conversion. Make sure your `conversion_date_time` correctly configured and try again.",
            "Multiple events have the same click and `conversion_date_time`. Make sure your `conversion_date_time` is correctly configured and try again.",
            "Multiple events have the same call and `conversion_date_time`. Make sure your `conversion_date_time` is correctly configured and try again.",
            "Enable the custom variable in your conversion settings and try again.",
            "Can't import events with custom variables containing personally-identifiable information (PII). Remove these variables and try again.",
            "The click from the imported event is associated with a different Google Ads account. Make sure you're importing to the correct account.",
            "The click from the call is associated with a different Google Ads account. Make sure you're importing to the correct account. Query conversion_tracking_setting.google_ads_conversion_customer on Customer to identify the correct account.",
            "The connversion can't be imported because the conversion source didn't comply with Apple App Transparency Tracking (ATT) policies or because the customer didn't consent to tracking.",
            "The email address or phone number for this event can't be matched to a click. This may be because it didn't come from a Google Ads campaign, and you can safely ignore this warning. If this includes more imported events than is expected, you may need to check your setup.",
            "Make sure you hash user provided data using SHA-256 and ensure you are normalizing according to the guidelines.",
            "User provided data can't be used with external attribution models. Use a different attribution model or omit user identifiers and try again.",
            "The provided user identifiers are not supported. Use only hashed email or phone number and try again.",
            "Can't use both gbraid and wbraid parameters. Use only 1 and try again.",
            "Can't parse event import data. Check if your wbraid parameter was not modified and try again.",
            "Can't parse event import data. Check if your gbraid parameter was not modified and try again.",
            "Conversion actions that use one-per-click counting can't be used with gbraid or wbraid parameters.",
            "Enhanced conversions can't be used for this account because of Google customer data policies. Contact your Google representative.",
            "Make sure you agree to the customer data processing terms in conversion settings and try again. You can check your setting by querying conversion_tracking_setting.accepted_customer_data_terms on Customer.",
            "Can't import events with order IDs containing personally-identifiable information (PII).",
            "Make sure you've turned on enhanced conversions for leads in conversion settings and try again. You can check your setting by querying conversion_tracking_setting.enhanced_conversions_for_leads_enabled on Customer.",
            "The provided job id in the request is not within the allowed range. A job ID must be a positive integer in the range [1, 2^31).",
            "The conversion action specified in the upload request cannot be found. Make sure it's available in this account.",
            "The conversion action specified in the upload request isn't set up for uploading conversions."
          ],
          "type": "string",
          "description": "Output only. Conversion upload error.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TOO_MANY_CONVERSIONS_IN_REQUEST",
            "UNPARSEABLE_GCLID",
            "CONVERSION_PRECEDES_EVENT",
            "EXPIRED_EVENT",
            "TOO_RECENT_EVENT",
            "EVENT_NOT_FOUND",
            "UNAUTHORIZED_CUSTOMER",
            "TOO_RECENT_CONVERSION_ACTION",
            "CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME",
            "EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION",
            "EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION",
            "ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION",
            "ORDER_ID_ALREADY_IN_USE",
            "DUPLICATE_ORDER_ID",
            "TOO_RECENT_CALL",
            "EXPIRED_CALL",
            "CALL_NOT_FOUND",
            "CONVERSION_PRECEDES_CALL",
            "CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME",
            "UNPARSEABLE_CALLERS_PHONE_NUMBER",
            "CLICK_CONVERSION_ALREADY_EXISTS",
            "CALL_CONVERSION_ALREADY_EXISTS",
            "DUPLICATE_CLICK_CONVERSION_IN_REQUEST",
            "DUPLICATE_CALL_CONVERSION_IN_REQUEST",
            "CUSTOM_VARIABLE_NOT_ENABLED",
            "CUSTOM_VARIABLE_VALUE_CONTAINS_PII",
            "INVALID_CUSTOMER_FOR_CLICK",
            "INVALID_CUSTOMER_FOR_CALL",
            "CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY",
            "CLICK_NOT_FOUND",
            "INVALID_USER_IDENTIFIER",
            "EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER",
            "UNSUPPORTED_USER_IDENTIFIER",
            "GBRAID_WBRAID_BOTH_SET",
            "UNPARSEABLE_WBRAID",
            "UNPARSEABLE_GBRAID",
            "ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID",
            "CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS",
            "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS",
            "ORDER_ID_CONTAINS_PII",
            "CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS",
            "INVALID_JOB_ID",
            "NO_CONVERSION_ACTION_FOUND",
            "INVALID_CONVERSION_ACTION_TYPE"
          ]
        },
        "stringFormatError": {
          "x-enumDescriptions": [
            "Enum unspecified.",
            "The received error code is not known in this version.",
            "The input string value contains disallowed characters.",
            "The input string value is invalid for the associated field."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ILLEGAL_CHARS",
            "INVALID_FORMAT"
          ],
          "type": "string",
          "description": "Output only. String format error."
        },
        "distinctError": {
          "x-enumDescriptions": [
            "Enum unspecified.",
            "The received error code is not known in this version.",
            "Duplicate element.",
            "Duplicate type."
          ],
          "type": "string",
          "description": "Output only. Distinct error.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DUPLICATE_ELEMENT",
            "DUPLICATE_TYPE"
          ]
        },
        "dateError": {
          "type": "string",
          "description": "Output only. Date error.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INVALID_FIELD_VALUES_IN_DATE",
            "INVALID_FIELD_VALUES_IN_DATE_TIME",
            "INVALID_STRING_DATE",
            "INVALID_STRING_DATE_TIME_MICROS",
            "INVALID_STRING_DATE_TIME_SECONDS",
            "INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET",
            "EARLIER_THAN_MINIMUM_DATE",
            "LATER_THAN_MAXIMUM_DATE",
            "DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE",
            "DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL",
            "DATE_RANGE_ERROR_START_TIME_MUST_BE_THE_START_OF_A_DAY",
            "DATE_RANGE_ERROR_END_TIME_MUST_BE_THE_END_OF_A_DAY"
          ],
          "x-enumDescriptions": [
            "Enum unspecified.",
            "The received error code is not known in this version.",
            "Given field values do not correspond to a valid date.",
            "Given field values do not correspond to a valid date time.",
            "The string date's format should be yyyy-mm-dd.",
            "The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss.",
            "The string date time's format should be yyyy-mm-dd hh:mm:ss.",
            "The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm.",
            "Date is before allowed minimum.",
            "Date is after allowed maximum.",
            "Date range bounds are not in order.",
            "Both dates in range are null.",
            "This campaign type doesn't support a start date time that isn't the start of the day.",
            "This campaign type doesn't support an end date time that isn't the end of the day."
          ]
        },
        "mutateError": {
          "description": "Output only. Mutate error.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "RESOURCE_NOT_FOUND",
            "ID_EXISTS_IN_MULTIPLE_MUTATES",
            "INCONSISTENT_FIELD_VALUES",
            "MUTATE_NOT_ALLOWED",
            "RESOURCE_NOT_IN_GOOGLE_ADS",
            "RESOURCE_ALREADY_EXISTS",
            "RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY",
            "OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE",
            "RESOURCE_READ_ONLY",
            "EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED"
          ],
          "x-enumDescriptions": [
            "Enum unspecified.",
            "The received error code is not known in this version.",
            "Requested resource was not found.",
            "Cannot mutate the same resource twice in one request.",
            "The field's contents don't match another field that represents the same data.",
            "Mutates are not allowed for the requested resource.",
            "The resource isn't in Google Ads. It belongs to another ads system.",
            "The resource being created already exists.",
            "This resource cannot be used with \"validate_only\".",
            "This operation cannot be used with \"partial_failure\".",
            "Attempt to write to read-only fields.",
            "Mutates are generally not allowed if the customer contains non-exempt campaigns without the EU political advertising declaration."
          ]
        },
        "conversionAdjustmentUploadError": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Can't import events to a conversion action that was just created. Try importing again in 6 hours.",
            "The conversion was already retracted. This adjustment was not processed.",
            "The conversion for this conversion action and conversion identifier can't be found. Make sure your conversion identifiers are associated with the correct conversion action and try again.",
            "Adjustment can't be made to a conversion that occurred more than 54 days ago.",
            "Adjustment has an `adjustment_date_time` that occurred before the associated conversion. Make sure your `adjustment_date_time` is correct and try again.",
            "More recent adjustment `adjustment_date_time` has already been reported for the associated conversion. Make sure your adjustment `adjustment_date_time` is correct and try again.",
            "Adjustment can't be recorded because the conversion occurred too recently. Try adjusting a conversion that occurred at least 24 hours ago.",
            "Can't make an adjustment to a conversion that is set up to use the default value. Check your conversion action value setting and try again.",
            "Try uploading fewer than 2001 adjustments in a single API request.",
            "The conversion has already been adjusted the maximum number of times. Make sure you're only making necessary adjustment to existing conversion.",
            "The conversion has prior a restatement with the same `adjustment_date_time`. Make sure your adjustment has the correct and unique `adjustment_date_time` and try again.",
            "Imported adjustment has a duplicate conversion adjustment with same `adjustment_date_time`. Make sure your adjustment has the correct `adjustment_date_time` and try again.",
            "Make sure you agree to the customer data processing terms in conversion settings and try again.",
            "Can't use enhanced conversions with the specified conversion action.",
            "Make sure you hash user provided data using SHA-256 and ensure you are normalizing according to the guidelines.",
            "Use user provided data such as emails or phone numbers hashed using SHA-256 and try again.",
            "Cannot set both gclid_date_time_pair and order_id. Use only 1 type and try again.",
            "Conversion already has enhancements with the same Order ID and conversion action. Make sure your data is correctly configured and try again.",
            "Multiple enhancements have the same conversion action and Order ID. Make sure your data is correctly configured and try again.",
            "Enhanced conversions can't be used for this account because of Google customer data policies. Contact your Google representative.",
            "Adjustment for website conversion requires Order ID (ie, transaction ID). Make sure your website tags capture Order IDs and you send the same Order IDs with your adjustment.",
            "Can't use adjustment with Order IDs containing personally-identifiable information (PII).",
            "The provided job id in the request is not within the allowed range. A job ID must be a positive integer in the range [1, 2^31).",
            "The conversion action specified in the adjustment request cannot be found. Make sure it's available in this account.",
            "The type of the conversion action specified in the adjustment request isn't supported for uploading adjustments. A conversion adjustment of type `RETRACTION` or `RESTATEMENT` is only permitted for conversion actions of type `SALESFORCE`, `UPLOAD_CLICK` or `WEBPAGE`. A conversion adjustment of type `ENHANCEMENT` is only permitted for conversion actions of type `WEBPAGE`."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TOO_RECENT_CONVERSION_ACTION",
            "CONVERSION_ALREADY_RETRACTED",
            "CONVERSION_NOT_FOUND",
            "CONVERSION_EXPIRED",
            "ADJUSTMENT_PRECEDES_CONVERSION",
            "MORE_RECENT_RESTATEMENT_FOUND",
            "TOO_RECENT_CONVERSION",
            "CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE",
            "TOO_MANY_ADJUSTMENTS_IN_REQUEST",
            "TOO_MANY_ADJUSTMENTS",
            "RESTATEMENT_ALREADY_EXISTS",
            "DUPLICATE_ADJUSTMENT_IN_REQUEST",
            "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS",
            "CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT",
            "INVALID_USER_IDENTIFIER",
            "UNSUPPORTED_USER_IDENTIFIER",
            "GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET",
            "CONVERSION_ALREADY_ENHANCED",
            "DUPLICATE_ENHANCEMENT_IN_REQUEST",
            "CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT",
            "MISSING_ORDER_ID_FOR_WEBPAGE",
            "ORDER_ID_CONTAINS_PII",
            "INVALID_JOB_ID",
            "NO_CONVERSION_ACTION_FOUND",
            "INVALID_CONVERSION_ACTION_TYPE"
          ],
          "description": "Output only. Conversion adjustment upload error.",
          "type": "string"
        },
        "fieldError": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REQUIRED",
            "IMMUTABLE_FIELD",
            "INVALID_VALUE",
            "VALUE_MUST_BE_UNSET",
            "REQUIRED_NONEMPTY_LIST",
            "FIELD_CANNOT_BE_CLEARED",
            "BLOCKED_VALUE",
            "FIELD_CAN_ONLY_BE_CLEARED"
          ],
          "description": "Output only. Field error.",
          "type": "string",
          "x-enumDescriptions": [
            "Enum unspecified.",
            "The received error code is not known in this version.",
            "The required field was not present.",
            "The field attempted to be mutated is immutable.",
            "The field's value is invalid.",
            "The field cannot be set.",
            "The required repeated field was empty.",
            "The field cannot be cleared.",
            "The field's value is on a deny-list for this field.",
            "The field's value cannot be modified, except for clearing."
          ]
        },
        "collectionSizeError": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TOO_FEW",
            "TOO_MANY"
          ],
          "type": "string",
          "description": "Output only. Collection size error.",
          "x-enumDescriptions": [
            "Enum unspecified.",
            "The received error code is not known in this version.",
            "Too few.",
            "Too many."
          ]
        },
        "notAllowlistedError": {
          "x-enumDescriptions": [
            "Enum unspecified.",
            "The received error code is not known in this version.",
            "Customer is not allowlisted for accessing this feature."
          ],
          "type": "string",
          "description": "Output only. Not allowlisted error.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE"
          ]
        },
        "stringLengthError": {
          "x-enumDescriptions": [
            "Enum unspecified.",
            "The received error code is not known in this version.",
            "The specified field should have a least one non-whitespace character in it.",
            "Too short.",
            "Too long."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EMPTY",
            "TOO_SHORT",
            "TOO_LONG"
          ],
          "type": "string",
          "description": "Output only. String length error."
        }
      },
      "description": "Possible errors for offline conversion client summary."
    },
    "GoogleAdsGoogleadsV25Resources__OfflineConversionSummary": {
      "type": "object",
      "properties": {
        "failedCount": {
          "type": "string",
          "description": "Output only. Total count of failed event.",
          "format": "int64"
        },
        "successfulCount": {
          "description": "Output only. Total count of successful event.",
          "type": "string",
          "format": "int64"
        },
        "uploadDate": {
          "type": "string",
          "description": "Output only. Dimension key for last N days."
        },
        "jobId": {
          "description": "Output only. Dimension key for last N jobs.",
          "type": "string",
          "format": "int64"
        },
        "pendingCount": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Total count of pending uploaded event."
        }
      },
      "description": "Historical upload summary, grouped by upload date or job."
    },
    "GoogleAdsGoogleadsV25Resources__OfflineConversionUploadClientSummary": {
      "description": "Offline conversion upload summary at customer level.",
      "type": "object",
      "properties": {
        "lastUploadDateTime": {
          "description": "Output only. Date for the latest upload batch. The format is \"yyyy-mm-dd hh:mm:ss\", and it's in the time zone of the Google Ads account.",
          "type": "string"
        },
        "jobSummaries": {
          "type": "array",
          "description": "Output only. Summary of history stats by last N jobs.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OfflineConversionSummary"
          }
        },
        "pendingRate": {
          "type": "number",
          "description": "Output only. The ratio of total pending events to total events.",
          "format": "double"
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the offline conversion upload summary at customer level. Offline conversion upload client summary resource names have the form: `customers/{customer_id}/offlineConversionUploadClientSummaries/{client}`"
        },
        "client": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Google Ads API.",
            "Google Ads web client, which could include multiple sources like Ads UI, SFTP, etc.",
            "Connection platform."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "GOOGLE_ADS_API",
            "GOOGLE_ADS_WEB_CLIENT",
            "ADS_DATA_CONNECTOR"
          ],
          "description": "Output only. Client type of the upload event.",
          "type": "string"
        },
        "totalEventCount": {
          "description": "Output only. Total count of uploaded events.",
          "type": "string",
          "format": "int64"
        },
        "successRate": {
          "description": "Output only. Successful rate.",
          "type": "number",
          "format": "double"
        },
        "successfulEventCount": {
          "type": "string",
          "description": "Output only. Total count of successful uploaded events.",
          "format": "int64"
        },
        "dailySummaries": {
          "type": "array",
          "description": "Output only. Summary of history stats by last N days.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OfflineConversionSummary"
          }
        },
        "alerts": {
          "description": "Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OfflineConversionAlert"
          },
          "type": "array"
        },
        "pendingEventCount": {
          "description": "Output only. Total count of pending uploaded events.",
          "type": "string",
          "format": "int64"
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXCELLENT",
            "GOOD",
            "NEEDS_ATTENTION",
            "NO_RECENT_UPLOAD"
          ],
          "type": "string",
          "description": "Output only. Overall status for offline conversion client summary. Status is generated from most recent calendar day with upload stats.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Your offline data ingestion setup is active and optimal for downstream processing.",
            "Your offline ingestion setup is active, but there are further improvements you could make. See alerts.",
            "Your offline ingestion setup is active, but there are errors that require your attention. See alerts.",
            "Your offline ingestion setup has not received data in the last 28 days, there may be something wrong."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__OfflineConversionUploadConversionActionSummary": {
      "type": "object",
      "properties": {
        "jobSummaries": {
          "description": "Output only. Summary of history stats by last N jobs.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OfflineConversionSummary"
          },
          "type": "array"
        },
        "lastUploadDateTime": {
          "type": "string",
          "description": "Output only. Date for the latest upload batch. The format is \"yyyy-mm-dd hh:mm:ss\", and it's in the time zone of the Google Ads account."
        },
        "conversionActionId": {
          "type": "string",
          "description": "Output only. Conversion action id.",
          "format": "int64"
        },
        "pendingEventCount": {
          "format": "int64",
          "description": "Output only. Total count of pending uploaded events.",
          "type": "string"
        },
        "resourceName": {
          "description": "Output only. The resource name of the offline conversion upload summary at conversion action level. Offline conversion upload conversion action summary resource names have the form: `customers/{customer_id}/offlineConversionUploadConversionActionSummaries/{conversion_action_id}~{client}`",
          "type": "string"
        },
        "client": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Google Ads API.",
            "Google Ads web client, which could include multiple sources like Ads UI, SFTP, etc.",
            "Connection platform."
          ],
          "type": "string",
          "description": "Output only. Client type of the upload event.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "GOOGLE_ADS_API",
            "GOOGLE_ADS_WEB_CLIENT",
            "ADS_DATA_CONNECTOR"
          ]
        },
        "totalEventCount": {
          "format": "int64",
          "description": "Output only. Total count of uploaded events.",
          "type": "string"
        },
        "successfulEventCount": {
          "description": "Output only. Total count of successful uploaded events.",
          "type": "string",
          "format": "int64"
        },
        "dailySummaries": {
          "type": "array",
          "description": "Output only. Summary of history stats by last N days.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OfflineConversionSummary"
          }
        },
        "alerts": {
          "type": "array",
          "description": "Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OfflineConversionAlert"
          }
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Your offline data ingestion setup is active and optimal for downstream processing.",
            "Your offline ingestion setup is active, but there are further improvements you could make. See alerts.",
            "Your offline ingestion setup is active, but there are errors that require your attention. See alerts.",
            "Your offline ingestion setup has not received data in the last 28 days, there may be something wrong."
          ],
          "type": "string",
          "description": "Output only. Overall status for offline conversion upload conversion action summary. Status is generated from most recent calendar day with upload stats.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXCELLENT",
            "GOOD",
            "NEEDS_ATTENTION",
            "NO_RECENT_UPLOAD"
          ]
        },
        "conversionActionName": {
          "description": "Output only. The name of the conversion action.",
          "type": "string"
        }
      },
      "description": "Offline conversion upload summary at conversion action level."
    },
    "GoogleAdsGoogleadsV25Resources__OfflineUserDataJob": {
      "description": "A job containing offline user data of store visitors, or user list members that will be processed asynchronously. The uploaded data isn't readable and the processing results of the job can only be read using GoogleAdsService.Search/SearchStream.",
      "type": "object",
      "properties": {
        "failureReason": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The matched transactions are insufficient.",
            "The uploaded transactions are insufficient.",
            "The average transaction value is unusually high for your account. If this is intended, contact support to request an exception. Learn more at https://support.google.com/google-ads/answer/10018944#transaction_value",
            "The average transaction value is unusually low for your account. If this is intended, contact support to request an exception. Learn more at https://support.google.com/google-ads/answer/10018944#transaction_value",
            "There's a currency code that you haven't used before in your uploads. If this is intended, contact support to request an exception. Learn more at https://support.google.com/google-ads/answer/10018944#Unrecognized_currency"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INSUFFICIENT_MATCHED_TRANSACTIONS",
            "INSUFFICIENT_TRANSACTIONS",
            "HIGH_AVERAGE_TRANSACTION_VALUE",
            "LOW_AVERAGE_TRANSACTION_VALUE",
            "NEWLY_OBSERVED_CURRENCY_CODE"
          ],
          "type": "string",
          "description": "Output only. Reason for the processing failure, if status is FAILED."
        },
        "operationMetadata": {
          "description": "Output only. Metadata of offline user data job depicting match rate range.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OfflineUserDataJobMetadata"
        },
        "storeSalesMetadata": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__StoreSalesMetadata",
          "description": "Immutable. Metadata for store sales data update."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the offline user data job. Offline user data job resource names have the form: `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}`"
        },
        "id": {
          "format": "int64",
          "description": "Output only. ID of this offline user data job.",
          "type": "string"
        },
        "status": {
          "description": "Output only. Status of the job.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "RUNNING",
            "SUCCESS",
            "FAILED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The job has been successfully created and pending for uploading.",
            "Upload(s) have been accepted and data is being processed.",
            "Uploaded data has been successfully processed. The job might have no operations, which can happen if the job was run without any operations added, or if all operations failed validation individually when attempting to add them to the job.",
            "Uploaded data has failed to be processed. Some operations may have been successfully processed."
          ]
        },
        "customerMatchUserListMetadata": {
          "description": "Immutable. Metadata for data updates to a CRM-based user list.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerMatchUserListMetadata"
        },
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Store Sales Direct data for self service.",
            "Store Sales Direct data for third party.",
            "Customer Match user list data.",
            "Customer Match with attribute data."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "STORE_SALES_UPLOAD_FIRST_PARTY",
            "STORE_SALES_UPLOAD_THIRD_PARTY",
            "CUSTOMER_MATCH_USER_LIST",
            "CUSTOMER_MATCH_WITH_ATTRIBUTES"
          ],
          "type": "string",
          "description": "Immutable. Type of the job."
        },
        "externalId": {
          "description": "Immutable. User specified job ID.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__OfflineUserDataJobMetadata": {
      "description": "Metadata of offline user data job.",
      "type": "object",
      "properties": {
        "matchRateRange": {
          "x-enumDescriptions": [
            "Not specified.",
            "Default value for match rate range.",
            "Match rate range for offline data upload entity is between 0% and 19%.",
            "Match rate range for offline data upload entity is between 20% and 30%.",
            "Match rate range for offline data upload entity is between 31% and 40%.",
            "Match rate range for offline data upload entity is between 41% and 50%.",
            "Match rate range for offline data upload entity is between 51% and 60%.",
            "Match rate range for offline data upload entity is between 61% and 70%.",
            "Match rate range for offline data upload entity is between 71% and 80%.",
            "Match rate range for offline data upload entity is between 81% and 90%.",
            "Match rate range for offline data upload entity is more than or equal to 91%."
          ],
          "type": "string",
          "description": "Output only. Match rate of the Customer Match user list upload. Describes the estimated match rate when the status of the job is \"RUNNING\" and final match rate when the final match rate is available after the status of the job is \"SUCCESS/FAILED\".",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MATCH_RANGE_LESS_THAN_20",
            "MATCH_RANGE_20_TO_30",
            "MATCH_RANGE_31_TO_40",
            "MATCH_RANGE_41_TO_50",
            "MATCH_RANGE_51_TO_60",
            "MATCH_RANGE_61_TO_70",
            "MATCH_RANGE_71_TO_80",
            "MATCH_RANGE_81_TO_90",
            "MATCH_RANGE_91_TO_100"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__OperatingSystemVersionConstant": {
      "description": "A mobile operating system version or a range of versions, depending on `operator_type`. List of available mobile platforms at https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Output only. Name of the operating system."
        },
        "osMinorVersion": {
          "type": "integer",
          "description": "Output only. The OS Minor Version number.",
          "format": "int32"
        },
        "operatorType": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EQUALS_TO",
            "GREATER_THAN_EQUALS_TO"
          ],
          "description": "Output only. Determines whether this constant represents a single version or a range of versions.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Equals to the specified version.",
            "Greater than or equals to the specified version."
          ]
        },
        "resourceName": {
          "description": "Output only. The resource name of the operating system version constant. Operating system version constant resource names have the form: `operatingSystemVersionConstants/{criterion_id}`",
          "type": "string"
        },
        "id": {
          "description": "Output only. The ID of the operating system version.",
          "type": "string",
          "format": "int64"
        },
        "osMajorVersion": {
          "type": "integer",
          "description": "Output only. The OS Major Version number.",
          "format": "int32"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__PaidOrganicSearchTermView": {
      "description": "A paid organic search term view providing a view of search stats across ads and organic listings aggregated by search term at the ad group level.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~ {ad_group_id}~{URL-base64 search term}`"
        },
        "searchTerm": {
          "description": "Output only. The search term.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ParentalStatusView": {
      "description": "A parental status view.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the parental status view. Parental Status view resource names have the form: `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}`",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__PerStoreView": {
      "type": "object",
      "properties": {
        "placeId": {
          "type": "string",
          "description": "Output only. The place ID of the per store view."
        },
        "city": {
          "type": "string",
          "description": "Output only. The city where the store is located."
        },
        "province": {
          "type": "string",
          "description": "Output only. The province or state of the store's address."
        },
        "postalCode": {
          "description": "Output only. The postal code of the store's address.",
          "type": "string"
        },
        "address2": {
          "type": "string",
          "description": "Output only. Second line of the store's address."
        },
        "phoneNumber": {
          "type": "string",
          "description": "Output only. The phone number of the store."
        },
        "address1": {
          "description": "Output only. First line of the store's address.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the per store view. Per Store view resource names have the form: `customers/{customer_id}/perStoreViews/{place_id}`"
        },
        "countryCode": {
          "description": "Output only. The two-letter country code for the store's location (e.g., \"US\").",
          "type": "string"
        },
        "businessName": {
          "type": "string",
          "description": "Output only. The name of the business."
        }
      },
      "description": "A per store view. This view provides per store impression reach and local action conversion stats for advertisers."
    },
    "GoogleAdsGoogleadsV25Resources__PerformanceMaxPlacementView": {
      "type": "object",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Output only. The name displayed to represent the placement, such as the URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps."
        },
        "placementType": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEBSITE",
            "MOBILE_APP_CATEGORY",
            "MOBILE_APPLICATION",
            "YOUTUBE_VIDEO",
            "YOUTUBE_CHANNEL",
            "GOOGLE_PRODUCTS"
          ],
          "type": "string",
          "description": "Output only. Type of the placement. Possible values for Performance Max placements are WEBSITE, MOBILE_APPLICATION, or YOUTUBE_VIDEO.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Websites(for example, 'www.flowers4sale.com').",
            "Mobile application categories(for example, 'Games').",
            "mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').",
            "YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').",
            "YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').",
            "Surfaces owned and operated by Google(for example, 'tv.google.com')."
          ]
        },
        "resourceName": {
          "description": "Output only. The resource name of the Performance Max placement view. Performance Max placement view resource names have the form: `customers/{customer_id}/performanceMaxPlacementViews/{base_64_placement}`",
          "type": "string"
        },
        "placement": {
          "description": "Output only. The default placement string, such as the website URL, mobile application ID, or a YouTube video ID.",
          "type": "string"
        },
        "targetUrl": {
          "type": "string",
          "description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL."
        }
      },
      "description": "A view with impression metrics for Performance Max campaign placements."
    },
    "GoogleAdsGoogleadsV25Resources__PhoneCallDetails": {
      "description": "Represents details of a phone call conversation.",
      "type": "object",
      "properties": {
        "callDurationMillis": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The duration (in milliseconds) of the phone call (end to end)."
        },
        "callRecordingUrl": {
          "description": "Output only. URL to the call recording audio file.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ProductCategoryConstant": {
      "description": "A Product Category.",
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "description": "Output only. State of the product category.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "OBSOLETE"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The category is enabled.",
            "The category is obsolete. Used only for reporting purposes."
          ]
        },
        "localizations": {
          "description": "Output only. List of all available localizations of the product category.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ProductCategoryConstant_ProductCategoryLocalization"
          },
          "type": "array"
        },
        "categoryId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436."
        },
        "productCategoryConstantParent": {
          "type": "string",
          "description": "Output only. Resource name of the parent product category."
        },
        "resourceName": {
          "description": "Output only. The resource name of the product category. Product category resource names have the form: `productCategoryConstants/{level}~{category_id}`",
          "type": "string"
        },
        "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."
          ],
          "type": "string",
          "description": "Output only. Level of the product category.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LEVEL1",
            "LEVEL2",
            "LEVEL3",
            "LEVEL4",
            "LEVEL5"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ProductGroupView": {
      "description": "A product group view.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the product group view. Product group view resource names have the form: `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}`",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ProductLink": {
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "A link to Data partner.",
            "A link to Google Ads.",
            "A link to Hotel Center.",
            "A link to Google Merchant Center.",
            "A link to the Google Ads account of the advertising partner."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DATA_PARTNER",
            "GOOGLE_ADS",
            "HOTEL_CENTER",
            "MERCHANT_CENTER",
            "ADVERTISING_PARTNER"
          ],
          "description": "Output only. The type of the linked product.",
          "type": "string"
        },
        "dataPartner": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__DataPartnerIdentifier",
          "description": "Immutable. Data partner link."
        },
        "productLinkId": {
          "description": "Output only. The ID of the link. This field is read only.",
          "type": "string",
          "format": "int64"
        },
        "googleAds": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__GoogleAdsIdentifier",
          "description": "Immutable. Google Ads link."
        },
        "advertisingPartner": {
          "description": "Output only. Advertising Partner link.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdvertisingPartnerIdentifier"
        },
        "resourceName": {
          "description": "Immutable. Resource name of the product link. ProductLink resource names have the form: `customers/{customer_id}/productLinks/{product_link_id} `",
          "type": "string"
        },
        "merchantCenter": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MerchantCenterIdentifier",
          "description": "Immutable. Google Merchant Center link."
        },
        "advertisingPartnerProperties": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdvertisingPartnerProperties",
          "description": "Output only. Advertising Partner link properties. These properties are only applicable when the link is for an Advertising Partner."
        }
      },
      "description": "Represents the data sharing connection between a Google Ads customer and another product."
    },
    "GoogleAdsGoogleadsV25Resources__ProductLinkInvitation": {
      "description": "Represents an invitation for data sharing connection between a Google Ads account and another account.",
      "type": "object",
      "properties": {
        "advertisingPartnerProperties": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdvertisingPartnerLinkInvitationProperties",
          "description": "Output only. Advertising Partner link invitation properties. These properties are only applicable when the link is for an Advertising Partner."
        },
        "resourceName": {
          "description": "Immutable. The resource name of a product link invitation. Product link invitation resource names have the form: `customers/{customer_id}/productLinkInvitations/{product_link_invitation_id}`",
          "type": "string"
        },
        "merchantCenter": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MerchantCenterLinkInvitationIdentifier",
          "description": "Output only. Merchant Center link invitation."
        },
        "productLinkInvitationId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the product link invitation. This field is read only."
        },
        "hotelCenter": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__HotelCenterLinkInvitationIdentifier",
          "description": "Output only. Hotel link invitation."
        },
        "advertisingPartner": {
          "description": "Output only. Advertising Partner link invitation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdvertisingPartnerLinkInvitationIdentifier"
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The invitation is accepted.",
            "An invitation has been sent to the other account. A user on the other account may now accept the invitation by setting the status to ACCEPTED.",
            "This invitation has been sent by a user on the other account. It may be accepted by a user on this account by setting the status to ACCEPTED.",
            "The invitation is revoked by the user who sent the invitation.",
            "The invitation has been rejected by the invitee.",
            "The invitation has timed out before being accepted by the invitee."
          ],
          "type": "string",
          "description": "Output only. The status of the product link invitation. This field is read only.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ACCEPTED",
            "REQUESTED",
            "PENDING_APPROVAL",
            "REVOKED",
            "REJECTED",
            "EXPIRED"
          ]
        },
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "A link to Data partner.",
            "A link to Google Ads.",
            "A link to Hotel Center.",
            "A link to Google Merchant Center.",
            "A link to the Google Ads account of the advertising partner."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DATA_PARTNER",
            "GOOGLE_ADS",
            "HOTEL_CENTER",
            "MERCHANT_CENTER",
            "ADVERTISING_PARTNER"
          ],
          "description": "Output only. The type of the invited account. This field is read only and can be used for filtering invitations with {@code GoogleAdsService.SearchGoogleAdsRequest}.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__QualifyingQuestion": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the qualifying question. 'qualifyingQuestions/{qualifyingQuestionId}'"
        },
        "qualifyingQuestionId": {
          "format": "int64",
          "description": "Output only. The id of the qualifying question.",
          "type": "string"
        },
        "locale": {
          "type": "string",
          "description": "Output only. The locale of the qualifying question."
        },
        "text": {
          "type": "string",
          "description": "Output only. The qualifying question."
        }
      },
      "description": "Qualifying Questions for Lead Form."
    },
    "GoogleAdsGoogleadsV25Resources__Recommendation": {
      "description": "A recommendation.",
      "type": "object",
      "properties": {
        "shoppingFixMerchantCenterAccountSuspensionWarningRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation",
          "description": "Output only. The shopping fix Merchant Center account suspension warning recommendation."
        },
        "shoppingFixSuspendedMerchantCenterAccountRecommendation": {
          "description": "Output only. The shopping fix suspended Merchant Center account recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation"
        },
        "shoppingTargetAllOffersRecommendation": {
          "description": "Output only. The shopping target all offers recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingTargetAllOffersRecommendation"
        },
        "optimizeAdRotationRecommendation": {
          "description": "Output only. The Optimize Ad Rotation recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_OptimizeAdRotationRecommendation"
        },
        "leadFormAssetRecommendation": {
          "description": "Output only. The lead form asset recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_LeadFormAssetRecommendation"
        },
        "keywordMatchTypeRecommendation": {
          "description": "Output only. The keyword match type recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_KeywordMatchTypeRecommendation"
        },
        "shoppingAddMoreIdentifiersRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingOfferAttributeRecommendation",
          "description": "Output only. The shopping add more identifiers recommendation."
        },
        "sitelinkAssetRecommendation": {
          "description": "Output only. The sitelink asset recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_SitelinkAssetRecommendation"
        },
        "searchPartnersOptInRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_SearchPartnersOptInRecommendation",
          "description": "Output only. The Search Partners Opt-In recommendation."
        },
        "upgradeLocalCampaignToPerformanceMaxRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation",
          "description": "Output only. The upgrade a Local campaign to a Performance Max campaign recommendation."
        },
        "setTargetRoasRecommendation": {
          "description": "Output only. The set target ROAS recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ForecastingSetTargetRoasRecommendation"
        },
        "improveGoogleTagCoverageRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ImproveGoogleTagCoverageRecommendation",
          "description": "Output only. Recommendation to deploy Google Tag on more pages."
        },
        "shoppingAddColorRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingOfferAttributeRecommendation",
          "description": "Output only. The shopping add color recommendation."
        },
        "shoppingFixDisapprovedProductsRecommendation": {
          "description": "Output only. The shopping fix disapproved products recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation"
        },
        "adGroup": {
          "type": "string",
          "description": "Output only. The ad group targeted by this recommendation. This will be set only when the recommendation affects a single ad group. This field will be set for the following recommendation types: KEYWORD, OPTIMIZE_AD_ROTATION, RESPONSIVE_SEARCH_AD, RESPONSIVE_SEARCH_AD_ASSET, TEXT_AD"
        },
        "shoppingAddGtinRecommendation": {
          "description": "Output only. The shopping add GTIN recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingOfferAttributeRecommendation"
        },
        "type": {
          "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": "Output only. The type of recommendation.",
          "type": "string",
          "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."
          ]
        },
        "marginalRoiCampaignBudgetRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_CampaignBudgetRecommendation",
          "description": "Output only. The marginal ROI campaign budget recommendation."
        },
        "shoppingAddGenderRecommendation": {
          "description": "Output only. The shopping add gender recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingOfferAttributeRecommendation"
        },
        "moveUnusedBudgetRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_MoveUnusedBudgetRecommendation",
          "description": "Output only. The move unused budget recommendation."
        },
        "forecastingCampaignBudgetRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_CampaignBudgetRecommendation",
          "description": "Output only. The forecasting campaign budget recommendation."
        },
        "performanceMaxFinalUrlOptInRecommendation": {
          "description": "Output only. Recommendation to turn on Final URL expansion for your Performance Max campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation"
        },
        "maximizeClicksOptInRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_MaximizeClicksOptInRecommendation",
          "description": "Output only. The MaximizeClicks Opt-In recommendation."
        },
        "improvePerformanceMaxAdStrengthRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation",
          "description": "Output only. The improve Performance Max ad strength recommendation."
        },
        "raiseTargetCpaRecommendation": {
          "description": "Output only. Recommendation to raise Target CPA.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_RaiseTargetCpaRecommendation"
        },
        "raiseTargetCpaBidTooLowRecommendation": {
          "description": "Output only. The raise target CPA bid too low recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation"
        },
        "dismissed": {
          "description": "Output only. Whether the recommendation is dismissed or not.",
          "type": "boolean"
        },
        "campaignBudgetRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_CampaignBudgetRecommendation",
          "description": "Output only. The campaign budget recommendation."
        },
        "forecastingSetTargetCpaRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ForecastingSetTargetCpaRecommendation",
          "description": "Output only. The forecasting set target CPA recommendation."
        },
        "maximizeConversionValueOptInRecommendation": {
          "description": "Output only. The Maximize Conversion Value opt-in recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_MaximizeConversionValueOptInRecommendation"
        },
        "enhancedCpcOptInRecommendation": {
          "description": "Output only. The Enhanced Cost-Per-Click Opt-In recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_EnhancedCpcOptInRecommendation"
        },
        "migrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation": {
          "description": "Output only. The Dynamic Search Ads to Performance Max migration recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation"
        },
        "callAssetRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_CallAssetRecommendation",
          "description": "Output only. The call asset recommendation."
        },
        "targetRoasOptInRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_TargetRoasOptInRecommendation",
          "description": "Output only. The Target ROAS opt-in recommendation."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the recommendation. `customers/{customer_id}/recommendations/{recommendation_id}`"
        },
        "shoppingAddProductsToCampaignRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation",
          "description": "Output only. The shopping add products to campaign recommendation."
        },
        "useBroadMatchKeywordRecommendation": {
          "description": "Output only. The use broad match keyword recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_UseBroadMatchKeywordRecommendation"
        },
        "setTargetCpaRecommendation": {
          "description": "Output only. The set target CPA recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ForecastingSetTargetCpaRecommendation"
        },
        "campaign": {
          "type": "string",
          "description": "Output only. The campaign targeted by this recommendation. This field will be set for the following recommendation types: CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, USE_BROAD_MATCH_KEYWORD, KEYWORD, KEYWORD_MATCH_TYPE, UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, RESPONSIVE_SEARCH_AD, RESPONSIVE_SEARCH_AD_ASSET, SEARCH_PARTNERS_OPT_IN, DISPLAY_EXPANSION_OPT_IN, SITELINK_EXTENSION, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD, UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX, RAISE_TARGET_CPA_BID_TOO_LOW, FORECASTING_SET_TARGET_ROAS, SHOPPING_ADD_AGE_GROUP, SHOPPING_ADD_COLOR, SHOPPING_ADD_GENDER, SHOPPING_ADD_SIZE, SHOPPING_ADD_GTIN, SHOPPING_ADD_MORE_IDENTIFIERS, SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN, SHOPPING_FIX_DISAPPROVED_PRODUCTS, SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX, DYNAMIC_IMAGE_EXTENSION_OPT_IN, RAISE_TARGET_CPA, LOWER_TARGET_ROAS, 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"
        },
        "targetCpaOptInRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_TargetCpaOptInRecommendation",
          "description": "Output only. The TargetCPA opt-in recommendation."
        },
        "forecastingSetTargetRoasRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ForecastingSetTargetRoasRecommendation",
          "description": "Output only. The forecasting set target ROAS recommendation."
        },
        "shoppingAddAgeGroupRecommendation": {
          "description": "Output only. The shopping add age group recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingOfferAttributeRecommendation"
        },
        "displayExpansionOptInRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_DisplayExpansionOptInRecommendation",
          "description": "Output only. The Display Expansion opt-in recommendation."
        },
        "improveDemandGenAdStrengthRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation",
          "description": "Output only. The improve Demand Gen ad strength recommendation."
        },
        "campaignBudget": {
          "description": "Output only. The budget targeted by this recommendation. This will be set only when the recommendation affects a single campaign budget. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET",
          "type": "string"
        },
        "responsiveSearchAdRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ResponsiveSearchAdRecommendation",
          "description": "Output only. The add responsive search ad recommendation."
        },
        "responsiveSearchAdAssetRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ResponsiveSearchAdAssetRecommendation",
          "description": "Output only. The responsive search ad asset recommendation."
        },
        "keywordRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_KeywordRecommendation",
          "description": "Output only. The keyword recommendation."
        },
        "refreshCustomerMatchListRecommendation": {
          "description": "Output only. The refresh customer list recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_RefreshCustomerMatchListRecommendation"
        },
        "responsiveSearchAdImproveAdStrengthRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation",
          "description": "Output only. The responsive search ad improve ad strength recommendation."
        },
        "dynamicImageExtensionOptInRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_DynamicImageExtensionOptInRecommendation",
          "description": "Output only. Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads."
        },
        "lowerTargetRoasRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_LowerTargetRoasRecommendation",
          "description": "Output only. Recommendation to lower Target ROAS."
        },
        "impact": {
          "description": "Output only. The impact on account performance as a result of applying the recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_RecommendationImpact"
        },
        "maximizeConversionsOptInRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_MaximizeConversionsOptInRecommendation",
          "description": "Output only. The MaximizeConversions Opt-In recommendation."
        },
        "shoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation": {
          "description": "Output only. The shopping migrate Regular Shopping Campaign offers to Performance Max recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation"
        },
        "upgradeSmartShoppingCampaignToPerformanceMaxRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation",
          "description": "Output only. The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation."
        },
        "performanceMaxOptInRecommendation": {
          "description": "Output only. The Performance Max Opt In recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_PerformanceMaxOptInRecommendation"
        },
        "campaigns": {
          "type": "array",
          "description": "Output only. The campaigns targeted by this recommendation. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET and MOVE_UNUSED_BUDGET",
          "items": {
            "type": "string"
          }
        },
        "calloutAssetRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_CalloutAssetRecommendation",
          "description": "Output only. The callout asset recommendation."
        },
        "shoppingAddSizeRecommendation": {
          "description": "Output only. The shopping add size recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_ShoppingOfferAttributeRecommendation"
        },
        "customAudienceOptInRecommendation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_CustomAudienceOptInRecommendation",
          "description": "Output only. The custom audience opt in recommendation."
        },
        "textAdRecommendation": {
          "description": "Output only. Add expanded text ad recommendation.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_Recommendation_TextAdRecommendation"
        }
      }
    },
    "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__RemarketingAction": {
      "description": "A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Output only. Id of the remarketing action.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "type": "string",
          "description": "The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id}/remarketingActions/{remarketing_action_id}`"
        },
        "tagSnippets": {
          "description": "Output only. The snippets used for tracking remarketing actions.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TagSnippet"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__RemarketingSetting": {
      "type": "object",
      "properties": {
        "googleGlobalSiteTag": {
          "type": "string",
          "description": "Output only. The Google tag."
        }
      },
      "description": "Remarketing setting for a customer."
    },
    "GoogleAdsGoogleadsV25Resources__Residency": {
      "type": "object",
      "properties": {
        "institutionName": {
          "type": "string",
          "description": "Output only. Name of the institution at which the residency was completed."
        },
        "completionYear": {
          "format": "int32",
          "type": "integer",
          "description": "Output only. Year of completion."
        }
      },
      "description": "Details about the employee's medical residency. Residency is a stage of graduate medical education in which a qualified medical professional practices under the supervision of a senior clinician."
    },
    "GoogleAdsGoogleadsV25Resources__SearchTermView": {
      "description": "A search term view with metrics aggregated by search term at the ad group level. This view does not include Performance Max data. If you are looking for Performance Max search term data, use the CampaignSearchTermView instead.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}`"
        },
        "searchTerm": {
          "description": "Output only. The search term.",
          "type": "string"
        },
        "adGroup": {
          "type": "string",
          "description": "Output only. The ad group the search term served in."
        },
        "status": {
          "type": "string",
          "description": "Output only. Indicates whether the search term is currently one of your targeted or excluded keywords.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADDED",
            "EXCLUDED",
            "ADDED_EXCLUDED",
            "NONE"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Search term is added to targeted keywords.",
            "Search term matches a negative keyword.",
            "Search term has been both added and excluded.",
            "Search term is neither targeted nor excluded."
          ]
        }
      }
    },
    "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__ShoppingPerformanceView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the Shopping performance view. Shopping performance view resource names have the form: `customers/{customer_id}/shoppingPerformanceView`",
          "type": "string"
        }
      },
      "description": "Shopping performance view. Provides Shopping campaign and Performance Max campaign statistics aggregated at several product dimension levels. Product dimension values from Merchant Center such as brand, category, custom attributes, product condition, and product type will reflect the state of each dimension as of the date and time when the corresponding event was recorded. The number of impressions and clicks that `shopping_performance_view` returns stats for may be different from campaign reports. `shopping_performance_view` shows impressions and clicks on products appearing in ads, while campaign reports show impressions and clicks on the ads themselves. Depending on the format, an ad can show from zero to several products, so the numbers may not match. In Google Ads UI, you can query impressions and clicks of products appearing in ads by selecting a column from \"Product attributes\" in the report editor. For example, selecting the \"Brand\" column is equivalent to selecting `segments.product_brand`."
    },
    "GoogleAdsGoogleadsV25Resources__ShoppingProduct": {
      "description": "A shopping product from Google Merchant Center that can be advertised by campaigns. The resource returns currently existing products from Google Merchant Center accounts linked with the customer. A campaign includes a product by specifying its merchant id (or, if available, the Multi Client Account id of the merchant) in the `ShoppingSetting`, and can limit the inclusion to products having a specified feed label. Standard Shopping campaigns can also limit the inclusion through a `campaign_criterion.listing_scope`. Queries to this resource specify a scope: * Account: - Filters on campaigns or ad groups are not specified. - All products from the linked Google Merchant Center accounts are returned. - Metrics and some fields (see the per-field documentation) are aggregated across all Shopping and Performance Max campaigns that include a product. * Campaign: - An equality filter on `campaign` is specified. Supported campaign types are Shopping, Performance Max, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified campaign. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. * Ad group: - An equality filter on `ad_group` and `campaign` is specified. Supported campaign types are Shopping, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified ad group. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. Note that segmentation by date segments is not permitted and will return UNSUPPORTED_DATE_SEGMENTATION error. On the other hand, filtering on date segments is allowed.",
      "type": "object",
      "properties": {
        "merchantCenterId": {
          "description": "Output only. The id of the merchant that owns the product.",
          "type": "string",
          "format": "int64"
        },
        "multiClientAccountId": {
          "type": "string",
          "description": "Output only. The id of the Multi Client Account of the merchant, if present.",
          "format": "int64"
        },
        "availability": {
          "type": "string",
          "description": "Output only. The availability of the product as provided by the merchant.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "IN_STOCK",
            "OUT_OF_STOCK",
            "PREORDER"
          ],
          "x-enumDescriptions": [
            "Enum unspecified.",
            "Used for return value only. Represents values unknown in this version.",
            "The product is in stock.",
            "The product is out of stock.",
            "The product can be preordered."
          ]
        },
        "categoryLevel2": {
          "type": "string",
          "description": "Output only. The category level 2 of the product."
        },
        "customAttribute1": {
          "type": "string",
          "description": "Output only. The custom attribute 1 of the product as provided by the merchant."
        },
        "title": {
          "description": "Output only. The title of the product as provided by the merchant.",
          "type": "string"
        },
        "productTypeLevel3": {
          "description": "Output only. The product type level 3 as provided by the merchant.",
          "type": "string"
        },
        "productImageUri": {
          "type": "string",
          "description": "Output only. The URI of the product image as provided by the merchant."
        },
        "customAttribute4": {
          "type": "string",
          "description": "Output only. The custom attribute 4 of the product as provided by the merchant."
        },
        "productTypeLevel1": {
          "description": "Output only. The product type level 1 as provided by the merchant.",
          "type": "string"
        },
        "resourceName": {
          "description": "Output only. The resource name of the shopping product. Shopping product resource names have the form: `customers/{customer_id}/shoppingProducts/{merchant_center_id}~{channel}~{language_code}~{feed_label}~{item_id}`",
          "type": "string"
        },
        "categoryLevel5": {
          "description": "Output only. The category level 5 of the product.",
          "type": "string"
        },
        "currencyCode": {
          "description": "Output only. The currency code as provided by the merchant, in ISO 4217 format.",
          "type": "string"
        },
        "targetCountries": {
          "type": "array",
          "description": "Output only. Upper-case two-letter ISO 3166-1 code of the regions where the product is intended to be shown in ads.",
          "items": {
            "type": "string"
          }
        },
        "customAttribute2": {
          "description": "Output only. The custom attribute 2 of the product as provided by the merchant.",
          "type": "string"
        },
        "effectiveMaxCpcMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The effective maximum cost-per-click (effective max. CPC) of the product. This field is available only if the query specifies the campaign or ad group scope, and if the campaign uses manual bidding. The value is the highest bid set for the product in product groups across all enabled ad groups. It represents the most you're willing to pay for a click on the product. This field can take up to 24 hours to update."
        },
        "categoryLevel3": {
          "type": "string",
          "description": "Output only. The category level 3 of the product."
        },
        "priceMicros": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The price of the product in micros as provided by the merchant, in the currency specified in `currency_code` (e.g. $2.97 is reported as 2970000)."
        },
        "issues": {
          "type": "array",
          "description": "Output only. The list of issues affecting whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_ShoppingProduct_ProductIssue"
          }
        },
        "feedLabel": {
          "description": "Output only. The product feed label as provided by the merchant.",
          "type": "string"
        },
        "productTypeLevel4": {
          "type": "string",
          "description": "Output only. The product type level 4 as provided by the merchant."
        },
        "productTypeLevel5": {
          "description": "Output only. The product type level 5 as provided by the merchant.",
          "type": "string"
        },
        "adGroup": {
          "type": "string",
          "description": "Output only. An ad group of a campaign that includes the product. This field is selectable only in the ad group scope, which requires an equality filter on `campaign` and `ad_group`."
        },
        "customAttribute3": {
          "type": "string",
          "description": "Output only. The custom attribute 3 of the product as provided by the merchant."
        },
        "categoryLevel4": {
          "description": "Output only. The category level 4 of the product.",
          "type": "string"
        },
        "categoryLevel1": {
          "type": "string",
          "description": "Output only. The category level 1 of the product."
        },
        "productTypeLevel2": {
          "type": "string",
          "description": "Output only. The product type level 2 as provided by the merchant."
        },
        "brand": {
          "description": "Output only. The brand of the product as provided by the merchant.",
          "type": "string"
        },
        "channel": {
          "description": "Output only. The product channel describing the locality of the product.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ONLINE",
            "LOCAL"
          ],
          "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."
          ]
        },
        "languageCode": {
          "description": "Output only. The language code as provided by the merchant, in BCP 47 format.",
          "type": "string"
        },
        "channelExclusivity": {
          "type": "string",
          "description": "Output only. The channel exclusivity of the product as provided by the merchant.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SINGLE_CHANNEL",
            "MULTI_CHANNEL"
          ],
          "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."
          ]
        },
        "itemId": {
          "description": "Output only. The item id of the product as provided by the merchant.",
          "type": "string"
        },
        "status": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents values unknown in this version.",
            "The product cannot show in ads.",
            "The product can show in ads but may be limited in where and when it can show due to identified issues.",
            "The product can show in ads."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NOT_ELIGIBLE",
            "ELIGIBLE_LIMITED",
            "ELIGIBLE"
          ],
          "type": "string",
          "description": "Output only. The status that indicates whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns."
        },
        "campaign": {
          "description": "Output only. A campaign that includes the product. This field is selectable only in the campaign scope, which requires an equality filter on `campaign`.",
          "type": "string"
        },
        "condition": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NEW",
            "REFURBISHED",
            "USED"
          ],
          "type": "string",
          "description": "Output only. The condition of the product as provided by the merchant.",
          "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."
          ]
        },
        "customAttribute0": {
          "type": "string",
          "description": "Output only. The custom attribute 0 of the product as provided by the merchant."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__SmartCampaignSearchTermView": {
      "description": "A Smart campaign search term view.",
      "type": "object",
      "properties": {
        "campaign": {
          "description": "Output only. The Smart campaign the search term served in.",
          "type": "string"
        },
        "searchTerm": {
          "type": "string",
          "description": "Output only. The search term."
        },
        "resourceName": {
          "description": "Output only. The resource name of the Smart campaign search term view. Smart campaign search term view resource names have the form: `customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{URL-base64_search_term}`",
          "type": "string"
        }
      }
    },
    "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__TargetingExpansionView": {
      "description": "A targeting expansion view with metrics. Returns metrics for automated expansion over manual targeting.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the targeting expansion view. Targeting expansion view resource names have the form: `customers/{customer_id}/targetingExpansionViews/{campaign_id}~{targeting_expansion_type}`",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__ThirdPartyAppAnalyticsLink": {
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Immutable. The resource name of the third party app analytics link. Third party app analytics link resource names have the form: `customers/{customer_id}/thirdPartyAppAnalyticsLinks/{account_link_id}`",
          "type": "string"
        },
        "shareableLinkId": {
          "description": "Output only. The shareable link ID that should be provided to the third party when setting up app analytics. This is able to be regenerated using regenerate method in the ThirdPartyAppAnalyticsLinkService.",
          "type": "string"
        }
      },
      "description": "A data sharing connection, allowing the import of third party app analytics into a Google Ads Customer."
    },
    "GoogleAdsGoogleadsV25Resources__ThirdPartyAppAnalyticsLinkIdentifier": {
      "type": "object",
      "properties": {
        "appAnalyticsProviderId": {
          "type": "string",
          "description": "Immutable. The ID of the app analytics provider. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.",
          "format": "int64"
        },
        "appVendor": {
          "description": "Immutable. The vendor of the app. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.",
          "type": "string",
          "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"
          ]
        },
        "appId": {
          "description": "Immutable. A string that uniquely identifies a mobile application from which the data was collected to the Google Ads API. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, \"422689480\" for \"Gmail\" whose App Store link is https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For Android, the ID string is the application's package name (for example, \"com.google.android.gm\" for \"Gmail\" given Google Play link https://play.google.com/store/apps/details?id=com.google.android.gm) This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.",
          "type": "string"
        }
      },
      "description": "The identifiers of a Third Party App Analytics Link."
    },
    "GoogleAdsGoogleadsV25Resources__TopicConstant": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the topic.",
          "type": "string"
        },
        "path": {
          "type": "array",
          "description": "Output only. The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, {\"Pets & Animals\", \"Pets\", \"Dogs\"} represents the \"Pets & Animals/Pets/Dogs\" category. List of available topic categories at https://developers.google.com/google-ads/api/data/topics",
          "items": {
            "type": "string"
          }
        },
        "topicConstantParent": {
          "type": "string",
          "description": "Output only. Resource name of parent of the topic constant."
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the topic constant. topic constant resource names have the form: `topicConstants/{topic_id}`"
        }
      },
      "description": "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\")."
    },
    "GoogleAdsGoogleadsV25Resources__TopicView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the topic view. Topic view resource names have the form: `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}`"
        }
      },
      "description": "A topic view."
    },
    "GoogleAdsGoogleadsV25Resources__TravelActivityGroupView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the travel activity group view. Travel Activity Group view resource names have the form: `customers/{customer_id}/travelActivityGroupViews/{ad_group_id}~{criterion_id}`"
        }
      },
      "description": "A travel activity group view."
    },
    "GoogleAdsGoogleadsV25Resources__TravelActivityPerformanceView": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the travel activity performance view. Travel Activity performance view resource names have the form: `customers/{customer_id}/travelActivityPerformanceViews`"
        }
      },
      "description": "A travel activity performance view."
    },
    "GoogleAdsGoogleadsV25Resources__UniversityDegree": {
      "type": "object",
      "properties": {
        "institutionName": {
          "type": "string",
          "description": "Output only. Name of the university at which the degree was obtained."
        },
        "graduationYear": {
          "description": "Output only. Year of graduation.",
          "type": "integer",
          "format": "int32"
        },
        "degree": {
          "description": "Output only. Name of the degree obtained.",
          "type": "string"
        }
      },
      "description": "A list of degrees this employee has obtained, and wants to feature."
    },
    "GoogleAdsGoogleadsV25Resources__UserInterest": {
      "type": "object",
      "properties": {
        "launchedToAll": {
          "description": "Output only. True if the user interest is launched to all channels and locales.",
          "type": "boolean"
        },
        "taxonomyType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The affinity for this user interest.",
            "The market for this user interest.",
            "Users known to have installed applications in the specified categories.",
            "The geographical location of the interest-based vertical.",
            "User interest criteria for new smart phone users."
          ],
          "description": "Output only. Taxonomy type of the user interest.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AFFINITY",
            "IN_MARKET",
            "MOBILE_APP_INSTALL_USER",
            "VERTICAL_GEO",
            "NEW_SMART_PHONE_USER"
          ]
        },
        "availabilities": {
          "type": "array",
          "description": "Output only. Availability information of the user interest.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CriterionCategoryAvailability"
          }
        },
        "resourceName": {
          "description": "Output only. The resource name of the user interest. User interest resource names have the form: `customers/{customer_id}/userInterests/{user_interest_id}`",
          "type": "string"
        },
        "userInterestParent": {
          "description": "Output only. The parent of the user interest.",
          "type": "string"
        },
        "userInterestId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the user interest."
        },
        "name": {
          "description": "Output only. The name of the user interest.",
          "type": "string"
        }
      },
      "description": "A user interest: a particular interest-based vertical to be targeted."
    },
    "GoogleAdsGoogleadsV25Resources__UserList": {
      "description": "A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`.",
      "type": "object",
      "properties": {
        "description": {
          "description": "Description of this user list.",
          "type": "string"
        },
        "integrationCode": {
          "description": "An ID from external system. It is used by user list sellers to correlate IDs on their systems.",
          "type": "string"
        },
        "accountUserListStatus": {
          "description": "Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The access is enabled.",
            "The access is disabled."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "DISABLED"
          ]
        },
        "matchRatePercentage": {
          "format": "int32",
          "description": "Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.",
          "type": "integer"
        },
        "sizeRangeForDisplay": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LESS_THAN_FIVE_HUNDRED",
            "LESS_THAN_ONE_THOUSAND",
            "ONE_THOUSAND_TO_TEN_THOUSAND",
            "TEN_THOUSAND_TO_FIFTY_THOUSAND",
            "FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND",
            "ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND",
            "THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND",
            "FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION",
            "ONE_MILLION_TO_TWO_MILLION",
            "TWO_MILLION_TO_THREE_MILLION",
            "THREE_MILLION_TO_FIVE_MILLION",
            "FIVE_MILLION_TO_TEN_MILLION",
            "TEN_MILLION_TO_TWENTY_MILLION",
            "TWENTY_MILLION_TO_THIRTY_MILLION",
            "THIRTY_MILLION_TO_FIFTY_MILLION",
            "OVER_FIFTY_MILLION"
          ],
          "description": "Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "User list has less than 500 users.",
            "User list has number of users in range of 500 to 1000.",
            "User list has number of users in range of 1000 to 10000.",
            "User list has number of users in range of 10000 to 50000.",
            "User list has number of users in range of 50000 to 100000.",
            "User list has number of users in range of 100000 to 300000.",
            "User list has number of users in range of 300000 to 500000.",
            "User list has number of users in range of 500000 to 1 million.",
            "User list has number of users in range of 1 to 2 millions.",
            "User list has number of users in range of 2 to 3 millions.",
            "User list has number of users in range of 3 to 5 millions.",
            "User list has number of users in range of 5 to 10 millions.",
            "User list has number of users in range of 10 to 20 millions.",
            "User list has number of users in range of 20 to 30 millions.",
            "User list has number of users in range of 30 to 50 millions.",
            "User list has over 50 million users."
          ]
        },
        "sizeRangeForSearch": {
          "description": "Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LESS_THAN_FIVE_HUNDRED",
            "LESS_THAN_ONE_THOUSAND",
            "ONE_THOUSAND_TO_TEN_THOUSAND",
            "TEN_THOUSAND_TO_FIFTY_THOUSAND",
            "FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND",
            "ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND",
            "THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND",
            "FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION",
            "ONE_MILLION_TO_TWO_MILLION",
            "TWO_MILLION_TO_THREE_MILLION",
            "THREE_MILLION_TO_FIVE_MILLION",
            "FIVE_MILLION_TO_TEN_MILLION",
            "TEN_MILLION_TO_TWENTY_MILLION",
            "TWENTY_MILLION_TO_THIRTY_MILLION",
            "THIRTY_MILLION_TO_FIFTY_MILLION",
            "OVER_FIFTY_MILLION"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "User list has less than 500 users.",
            "User list has number of users in range of 500 to 1000.",
            "User list has number of users in range of 1000 to 10000.",
            "User list has number of users in range of 10000 to 50000.",
            "User list has number of users in range of 50000 to 100000.",
            "User list has number of users in range of 100000 to 300000.",
            "User list has number of users in range of 300000 to 500000.",
            "User list has number of users in range of 500000 to 1 million.",
            "User list has number of users in range of 1 to 2 millions.",
            "User list has number of users in range of 2 to 3 millions.",
            "User list has number of users in range of 3 to 5 millions.",
            "User list has number of users in range of 5 to 10 millions.",
            "User list has number of users in range of 10 to 20 millions.",
            "User list has number of users in range of 20 to 30 millions.",
            "User list has number of users in range of 30 to 50 millions.",
            "User list has over 50 million users."
          ]
        },
        "sizeForDisplay": {
          "type": "string",
          "description": "Output only. Estimated number of users in this user list, on the Google Display Network. This value is null if the number of users has not yet been determined. This field is read-only.",
          "format": "int64"
        },
        "ruleBasedUserList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__RuleBasedUserListInfo",
          "description": "User list generated by a rule."
        },
        "eligibleForDisplay": {
          "description": "Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.",
          "type": "boolean"
        },
        "type": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REMARKETING",
            "LOGICAL",
            "EXTERNAL_REMARKETING",
            "RULE_BASED",
            "SIMILAR",
            "CRM_BASED",
            "LOOKALIKE"
          ],
          "description": "Output only. Type of this list. This field is read-only.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "UserList represented as a collection of conversion types.",
            "UserList represented as a combination of other user lists/interests.",
            "UserList created in the Google Ad Manager platform.",
            "UserList associated with a rule.",
            "UserList with users similar to users of another UserList.",
            "UserList of first-party CRM data provided by advertiser in the form of emails or other formats.",
            "LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists)"
          ]
        },
        "membershipLifeSpan": {
          "format": "int64",
          "description": "Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. This field is ignored for `logical_user_list` and `rule_based_user_list` types. Membership to lists of these types depends on the rules defined by the lists.",
          "type": "string"
        },
        "lookalikeUserList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LookalikeUserListInfo",
          "description": "Immutable. Lookalike User List."
        },
        "membershipStatus": {
          "description": "Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Open status - List is accruing members and can be targeted to.",
            "Closed status - No new members being added. Cannot be used for targeting."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "OPEN",
            "CLOSED"
          ]
        },
        "sizeForSearch": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only."
        },
        "basicUserList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BasicUserListInfo",
          "description": "User list targeting as a collection of conversion or remarketing actions."
        },
        "logicalUserList": {
          "description": "User list that is a custom combination of user lists and user interests.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LogicalUserListInfo"
        },
        "closingReason": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The userlist was closed because of not being used for over one year."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "UNUSED"
          ],
          "type": "string",
          "description": "Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open."
        },
        "readOnly": {
          "description": "Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is read-only.",
          "type": "boolean"
        },
        "eligibleForSearch": {
          "description": "Indicates if this user list is eligible for Google Search Network.",
          "type": "boolean"
        },
        "name": {
          "type": "string",
          "description": "Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`."
        },
        "crmBasedUserList": {
          "description": "User list of CRM users provided by the advertiser.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CrmBasedUserListInfo"
        },
        "id": {
          "format": "int64",
          "type": "string",
          "description": "Output only. Id of the user list."
        },
        "accessReason": {
          "type": "string",
          "description": "Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "OWNED",
            "SHARED",
            "LICENSED",
            "SUBSCRIBED",
            "AFFILIATED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The resource is owned by the user.",
            "The resource is shared to the user.",
            "The resource is licensed to the user.",
            "The user subscribed to the resource.",
            "The resource is accessible to the user."
          ]
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id}/userLists/{user_list_id}`"
        },
        "similarUserList": {
          "description": "Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__SimilarUserListInfo"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__UserListCustomerType": {
      "description": "A user list customer type",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Immutable. The resource name of the user list customer type User list customer type resource names have the form: `customers/{customer_id}/userListCustomerTypes/{user_list_id}~{customer_type_category}`",
          "type": "string"
        },
        "customerTypeCategory": {
          "description": "Immutable. The user list customer type category",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Unknown type.",
            "Customer type category for all customers.",
            "Customer type category for all purchasers.",
            "Customer type category for high value purchasers.",
            "Customer type category for disengaged purchasers.",
            "Customer type category for qualified leads.",
            "Customer type category for converted leads.",
            "Customer type category for paid subscribers.",
            "Customer type category for cart abandoners.",
            "Customer type category for loyalty tier 1 members.",
            "Customer type category for loyalty tier 2 members.",
            "Customer type category for loyalty tier 3 members.",
            "Customer type category for loyalty tier 4 members.",
            "Customer type category for loyalty tier 5 members.",
            "Customer type category for loyalty tier 6 members.",
            "Customer type category for loyalty tier 7 members."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ALL_CUSTOMERS",
            "PURCHASERS",
            "HIGH_VALUE_CUSTOMERS",
            "DISENGAGED_CUSTOMERS",
            "QUALIFIED_LEADS",
            "CONVERTED_LEADS",
            "PAID_SUBSCRIBERS",
            "CART_ABANDONERS",
            "LOYALTY_TIER_1_MEMBERS",
            "LOYALTY_TIER_2_MEMBERS",
            "LOYALTY_TIER_3_MEMBERS",
            "LOYALTY_TIER_4_MEMBERS",
            "LOYALTY_TIER_5_MEMBERS",
            "LOYALTY_TIER_6_MEMBERS",
            "LOYALTY_TIER_7_MEMBERS"
          ]
        },
        "userList": {
          "description": "Immutable. The resource name for the user list this user list customer type is associated with",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__UserLocationView": {
      "description": "A user location view. User Location View includes all metrics aggregated at the country level, one row per country. It reports metrics at the actual physical location of the user by targeted or not targeted location. If other segment fields are used, you may get more than one row per country.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the user location view. UserLocation view resource names have the form: `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}`",
          "type": "string"
        },
        "targetingLocation": {
          "description": "Output only. Indicates whether location was targeted or not.",
          "type": "boolean"
        },
        "countryCriterionId": {
          "description": "Output only. Criterion Id for the country.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__Video": {
      "description": "A video. If the video has any enhancements, the stats on all of them will be aggregated and displayed on this video resource. To get stats for a specific enhancement, use the VideoEnhancement resource instead.",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Output only. The ID of the video."
        },
        "channelId": {
          "description": "Output only. The owner channel id of the video.",
          "type": "string"
        },
        "durationMillis": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The duration of the video in milliseconds."
        },
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the video. Video resource names have the form: `customers/{customer_id}/videos/{video_id}`"
        },
        "title": {
          "type": "string",
          "description": "Output only. The title of the video."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__VideoCustomer": {
      "description": "Video specific information about a Customer.",
      "type": "object",
      "properties": {
        "thirdPartyIntegrationPartners": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomerThirdPartyIntegrationPartners",
          "description": "Third Party integration partners."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__VideoEnhancement": {
      "description": "Represents a video that can include both advertiser uploaded videos or enhancements generated from the advertiser uploaded videos. Only publicly available videos are returned. Each row in this resource represents either the video uploaded by the advertiser or each specific variation of it. In contrast, the `Video` resource represents only the advertiser-provided video and would aggregate metrics across all its variations (including enhancements). {-- next tag to use: 5 --}",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Output only. The resource name of the video enhancement. Video enhancement resource names have the form: `customers/{customer_id}/videoEnhancements/{video_id}`",
          "type": "string"
        },
        "durationMillis": {
          "description": "Output only. Duration of this video, in milliseconds.",
          "type": "string",
          "format": "int64"
        },
        "source": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The video is provided by the advertiser.",
            "The video is an enhancement generated by Google."
          ],
          "type": "string",
          "description": "Output only. The source of the video (e.g. advertiser or enhanced by Google Ads).",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADVERTISER",
            "ENHANCED_BY_GOOGLE_ADS"
          ]
        },
        "title": {
          "type": "string",
          "description": "Output only. Title of this video."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__WebpageView": {
      "description": "A webpage view.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Output only. The resource name of the webpage view. Webpage view resource names have the form: `customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}`"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__YouTubeVideoUpload": {
      "description": "Represents a video upload to YouTube using the Google Ads API.",
      "type": "object",
      "properties": {
        "videoUploadId": {
          "format": "int64",
          "description": "Output only. The unique ID of the YouTube video upload.",
          "type": "string"
        },
        "state": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "The video is currently being uploaded.",
            "The video was uploaded and is being processed.",
            "The video was successfully uploaded and processed.",
            "The video upload or processing did not complete successfully.",
            "The video was not accepted due to validation or policy reasons.",
            "The video upload state is unavailable. It may have been removed from YouTube."
          ],
          "type": "string",
          "description": "Output only. The current state of the YouTube video upload.",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "UPLOADED",
            "PROCESSED",
            "FAILED",
            "REJECTED",
            "UNAVAILABLE"
          ]
        },
        "videoPrivacy": {
          "description": "The privacy state of the video. Only mutable for videos uploaded to the advertiser owned (brand) YouTube channel. For videos uploaded to the Google-managed channels only UNLISTED privacy is allowed. Defaults to UNLISTED privacy if not specified.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Video is public.",
            "Video is unlisted."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PUBLIC",
            "UNLISTED"
          ]
        },
        "channelId": {
          "type": "string",
          "description": "Immutable. The destination YouTube channel ID for the video upload. Only mutable on YouTube video upload creation. If omitted, the video will be uploaded to the Google-managed YouTube channel associated with the Ads account."
        },
        "videoTitle": {
          "description": "Input only. Immutable. The title of the video. Only mutable on YouTube video upload creation. Immutable after creation.",
          "type": "string"
        },
        "videoId": {
          "description": "Output only. The YouTube video ID of the uploaded video.",
          "type": "string"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. Resource name of the YouTube video upload."
        },
        "videoDescription": {
          "type": "string",
          "description": "Input only. Immutable. The description of the video. Only mutable on YouTube video upload creation. Immutable after creation."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__YoutubeLinkMetadata": {
      "type": "object",
      "properties": {
        "brandChannelId": {
          "description": "Immutable. The ID of a YouTube brand channel to help creators understand your brand. The channel must be linked to this account. This is a string value with “UC” prefix. For example, \"UCK8sQmJBp8GCxrOtXWBpyEA\".",
          "type": "string"
        }
      },
      "description": "Metadata specific to YouTube links."
    },
    "GoogleAdsGoogleadsV25Resources__YoutubeVideoIdentifier": {
      "description": "The identifier for YouTube video",
      "type": "object",
      "properties": {
        "videoId": {
          "description": "Immutable. The ID of the video associated with the video link. This is the 11 character string value used in the YouTube video URL. For example, video ID is jV1vkHv4zq8 from the YouTube video URL \"https://www.youtube.com/watch?v=jV1vkHv4zq8&t=2s\".",
          "type": "string"
        },
        "channelId": {
          "type": "string",
          "description": "Immutable. The ID of the hosting channel of the video. This is a string value with “UC” prefix. For example, \"UCK8sQmJBp8GCxrOtXWBpyEA\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Services_MetricAttributes_Attribute": {
      "type": "object",
      "properties": {
        "key": {
          "description": "The key of the attribute.",
          "type": "string"
        },
        "value": {
          "description": "The value of the attribute.",
          "type": "string"
        }
      },
      "description": "The attribute of the metric in key value pair format."
    },
    "GoogleAdsGoogleadsV25Services__GoogleAdsRow": {
      "type": "object",
      "properties": {
        "conversionValueRuleSet": {
          "description": "The conversion value rule set referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ConversionValueRuleSet"
        },
        "offlineConversionUploadClientSummary": {
          "description": "Offline conversion upload summary at customer level.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OfflineConversionUploadClientSummary"
        },
        "thirdPartyAppAnalyticsLink": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ThirdPartyAppAnalyticsLink",
          "description": "The AccountLink referenced in the query."
        },
        "displayKeywordView": {
          "description": "The display keyword view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__DisplayKeywordView"
        },
        "qualifyingQuestion": {
          "description": "The qualifying question referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__QualifyingQuestion"
        },
        "biddingSeasonalityAdjustment": {
          "description": "The bidding seasonality adjustment referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BiddingSeasonalityAdjustment"
        },
        "campaign": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Campaign",
          "description": "The campaign referenced in the query."
        },
        "campaignAggregateAssetView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignAggregateAssetView",
          "description": "The campaign aggregate asset view referenced in the query."
        },
        "adGroupCriterion": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupCriterion",
          "description": "The criterion referenced in the query."
        },
        "customerSearchTermInsight": {
          "description": "The customer search term insight referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerSearchTermInsight"
        },
        "appTopCombinationView": {
          "description": "The app top combination view in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AppTopCombinationView"
        },
        "smartCampaignSetting": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__SmartCampaignSetting",
          "description": "The Smart campaign setting referenced in the query."
        },
        "billingSetup": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BillingSetup",
          "description": "The billing setup referenced in the query."
        },
        "campaignLabel": {
          "description": "The campaign label referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignLabel"
        },
        "campaignAssetSet": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignAssetSet",
          "description": "The campaign asset set referenced in the query."
        },
        "asset": {
          "description": "The asset referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Asset"
        },
        "campaignBudget": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignBudget",
          "description": "The campaign budget referenced in the query."
        },
        "campaignCustomizer": {
          "description": "The campaign customizer referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignCustomizer"
        },
        "hotelPerformanceView": {
          "description": "The hotel performance view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__HotelPerformanceView"
        },
        "cartDataSalesView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CartDataSalesView",
          "description": "The cart data sales view referenced in the query."
        },
        "topicConstant": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__TopicConstant",
          "description": "The topic constant referenced in the query."
        },
        "customer": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Customer",
          "description": "The customer referenced in the query."
        },
        "biddingStrategy": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BiddingStrategy",
          "description": "The bidding strategy referenced in the query."
        },
        "adGroupAd": {
          "description": "The ad referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAd"
        },
        "localServicesEmployee": {
          "description": "The local services employee referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LocalServicesEmployee"
        },
        "biddingStrategySimulation": {
          "description": "The bidding strategy simulation referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BiddingStrategySimulation"
        },
        "campaignSharedSet": {
          "description": "Campaign Shared Set referenced in AWQL query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignSharedSet"
        },
        "contentCriterionView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ContentCriterionView",
          "description": "The content criterion view referenced in the query."
        },
        "accountLink": {
          "description": "The AccountLink referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AccountLink"
        },
        "campaignAudienceView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignAudienceView",
          "description": "The campaign audience view referenced in the query."
        },
        "detailContentSuitabilityPlacementView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__DetailContentSuitabilityPlacementView",
          "description": "The detail content suitability placement view referenced in the query."
        },
        "accountBudgetProposal": {
          "description": "The account budget proposal referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AccountBudgetProposal"
        },
        "customerClientLink": {
          "description": "The CustomerClientLink referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerClientLink"
        },
        "userList": {
          "description": "The user list referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__UserList"
        },
        "carrierConstant": {
          "description": "The carrier constant referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CarrierConstant"
        },
        "localServicesLead": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LocalServicesLead",
          "description": "The local services lead referenced in the query."
        },
        "locationView": {
          "description": "The location view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LocationView"
        },
        "metrics": {
          "description": "The metrics.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__Metrics"
        },
        "assetGroupListingGroupFilter": {
          "description": "The asset group listing group filter referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetGroupListingGroupFilter"
        },
        "adGroupAsset": {
          "description": "The ad group asset referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAsset"
        },
        "assetGroupTopCombinationView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetGroupTopCombinationView",
          "description": "The asset group top combination view referenced in the query."
        },
        "adGroupCriterionCustomizer": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupCriterionCustomizer",
          "description": "The ad group criterion customizer referenced in the query."
        },
        "campaignCriterion": {
          "description": "The campaign criterion referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignCriterion"
        },
        "keywordPlanCampaignKeyword": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanCampaignKeyword",
          "description": "The keyword plan campaign keyword referenced in the query."
        },
        "customerAsset": {
          "description": "The customer asset referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerAsset"
        },
        "matchedLocationInterestView": {
          "description": "The matched location interest view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MatchedLocationInterestView"
        },
        "recommendationSubscription": {
          "description": "The recommendation subscription referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__RecommendationSubscription"
        },
        "multiPartyAuthReview": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MultiPartyAuthReview",
          "description": "The multi party auth review referenced in the query."
        },
        "parentalStatusView": {
          "description": "The parental status view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ParentalStatusView"
        },
        "keywordView": {
          "description": "The keyword view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordView"
        },
        "sharedSet": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__SharedSet",
          "description": "The shared set referenced in the query."
        },
        "geoTargetConstant": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__GeoTargetConstant",
          "description": "The geo target constant referenced in the query."
        },
        "geographicView": {
          "description": "The geographic view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__GeographicView"
        },
        "topicView": {
          "description": "The topic view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__TopicView"
        },
        "userInterest": {
          "description": "The user interest referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__UserInterest"
        },
        "assetGroupProductGroupView": {
          "description": "The asset group product group view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetGroupProductGroupView"
        },
        "adGroupLabel": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupLabel",
          "description": "The ad group label referenced in the query."
        },
        "shoppingProduct": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ShoppingProduct",
          "description": "The shopping product referenced in the query."
        },
        "customerManagerLink": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerManagerLink",
          "description": "The CustomerManagerLink referenced in the query."
        },
        "adGroupAudienceView": {
          "description": "The ad group audience view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAudienceView"
        },
        "perStoreView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__PerStoreView",
          "description": "The per store view referenced in the query."
        },
        "adGroupBidModifier": {
          "description": "The bid modifier referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupBidModifier"
        },
        "campaignBidModifier": {
          "description": "The campaign bid modifier referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignBidModifier"
        },
        "assetGroup": {
          "description": "The asset group referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetGroup"
        },
        "customerUserAccessInvitation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerUserAccessInvitation",
          "description": "The CustomerUserAccessInvitation referenced in the query."
        },
        "productGroupView": {
          "description": "The product group view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ProductGroupView"
        },
        "experimentArm": {
          "description": "The experiment arm referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ExperimentArm"
        },
        "androidPrivacySharedKeyGoogleAdGroup": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AndroidPrivacySharedKeyGoogleAdGroup",
          "description": "The android privacy shared key google ad group referenced in the query."
        },
        "assetGroupSignal": {
          "description": "The asset group signal referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetGroupSignal"
        },
        "adGroupAdAssetView": {
          "description": "The ad group ad asset view in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAdAssetView"
        },
        "productCategoryConstant": {
          "description": "The product category referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ProductCategoryConstant"
        },
        "video": {
          "description": "The video referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Video"
        },
        "distanceView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__DistanceView",
          "description": "The distance view referenced in the query."
        },
        "accessibleBiddingStrategy": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AccessibleBiddingStrategy",
          "description": "The accessible bidding strategy referenced in the query."
        },
        "adGroupSimulation": {
          "description": "The ad group simulation referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupSimulation"
        },
        "offlineUserDataJob": {
          "description": "The offline user data job referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OfflineUserDataJob"
        },
        "userLocationView": {
          "description": "The user location view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__UserLocationView"
        },
        "appliedIncentive": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AppliedIncentive",
          "description": "The applied incentive referenced in the query."
        },
        "dynamicSearchAdsSearchTermView": {
          "description": "The dynamic search ads search term view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__DynamicSearchAdsSearchTermView"
        },
        "campaignSearchTermInsight": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignSearchTermInsight",
          "description": "The campaign search term insight referenced in the query."
        },
        "detailPlacementView": {
          "description": "The detail placement view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__DetailPlacementView"
        },
        "audience": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Audience",
          "description": "The Audience referenced in the query."
        },
        "adGroup": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroup",
          "description": "The ad group referenced in the query."
        },
        "ad": {
          "description": "The Ad referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Ad"
        },
        "localServicesVerificationArtifact": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LocalServicesVerificationArtifact",
          "description": "The local services verification artifact referenced in the query."
        },
        "groupPlacementView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__GroupPlacementView",
          "description": "The group placement view referenced in the query."
        },
        "clickView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ClickView",
          "description": "The ClickView referenced in the query."
        },
        "performanceMaxPlacementView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__PerformanceMaxPlacementView",
          "description": "The performance max placement view referenced in the query."
        },
        "leadFormSubmissionData": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LeadFormSubmissionData",
          "description": "The lead form user submission referenced in the query."
        },
        "customInterest": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomInterest",
          "description": "The CustomInterest referenced in the query."
        },
        "customerCustomizer": {
          "description": "The customer customizer referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerCustomizer"
        },
        "productLink": {
          "description": "The product link referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ProductLink"
        },
        "androidPrivacySharedKeyGoogleCampaign": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AndroidPrivacySharedKeyGoogleCampaign",
          "description": "The android privacy shared key google campaign referenced in the query."
        },
        "shoppingPerformanceView": {
          "description": "The shopping performance view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ShoppingPerformanceView"
        },
        "experiment": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Experiment",
          "description": "The experiment referenced in the query."
        },
        "hotelReconciliation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__HotelReconciliation",
          "description": "The hotel reconciliation referenced in the query."
        },
        "callView": {
          "description": "The call view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CallView"
        },
        "groupContentSuitabilityPlacementView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__GroupContentSuitabilityPlacementView",
          "description": "The group content suitability placement view referenced in the query."
        },
        "incomeRangeView": {
          "description": "The income range view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__IncomeRangeView"
        },
        "keywordPlan": {
          "description": "The keyword plan referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlan"
        },
        "smartCampaignSearchTermView": {
          "description": "The Smart campaign search term view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__SmartCampaignSearchTermView"
        },
        "keywordPlanCampaign": {
          "description": "The keyword plan campaign referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanCampaign"
        },
        "sharedCriterion": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__SharedCriterion",
          "description": "The shared set referenced in the query."
        },
        "combinedAudience": {
          "description": "The CombinedAudience referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CombinedAudience"
        },
        "assetSetTypeView": {
          "description": "The asset set type view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetSetTypeView"
        },
        "batchJob": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BatchJob",
          "description": "The batch job referenced in the query."
        },
        "campaignDraft": {
          "description": "The campaign draft referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignDraft"
        },
        "conversionAction": {
          "description": "The conversion action referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ConversionAction"
        },
        "dataLink": {
          "description": "The data link referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__DataLink"
        },
        "adGroupCriterionLabel": {
          "description": "The ad group criterion label referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupCriterionLabel"
        },
        "campaignConversionGoal": {
          "description": "The CampaignConversionGoal referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignConversionGoal"
        },
        "remarketingAction": {
          "description": "The remarketing action referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__RemarketingAction"
        },
        "assetSet": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetSet",
          "description": "The asset set referenced in the query."
        },
        "customerClient": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerClient",
          "description": "The CustomerClient referenced in the query."
        },
        "customerLabel": {
          "description": "The customer label referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerLabel"
        },
        "assetGroupAsset": {
          "description": "The asset group asset referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetGroupAsset"
        },
        "changeEvent": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ChangeEvent",
          "description": "The ChangeEvent referenced in the query."
        },
        "customizerAttribute": {
          "description": "The customizer attribute referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomizerAttribute"
        },
        "accountBudget": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AccountBudget",
          "description": "The account budget in the query."
        },
        "adGroupCustomizer": {
          "description": "The ad group customizer referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupCustomizer"
        },
        "keywordThemeConstant": {
          "description": "The keyword theme constant referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordThemeConstant"
        },
        "operatingSystemVersionConstant": {
          "description": "The operating system version constant referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OperatingSystemVersionConstant"
        },
        "customerNegativeCriterion": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerNegativeCriterion",
          "description": "The customer negative criterion referenced in the query."
        },
        "detailedDemographic": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__DetailedDemographic",
          "description": "The detailed demographic referenced in the query."
        },
        "offlineConversionUploadConversionActionSummary": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__OfflineConversionUploadConversionActionSummary",
          "description": "Offline conversion upload summary at conversion type level."
        },
        "travelActivityGroupView": {
          "description": "The travel activity group view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__TravelActivityGroupView"
        },
        "locationInterestView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LocationInterestView",
          "description": "The location interest view referenced in the query."
        },
        "androidPrivacySharedKeyGoogleNetworkType": {
          "description": "The android privacy shared key google network type referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AndroidPrivacySharedKeyGoogleNetworkType"
        },
        "campaignSimulation": {
          "description": "The campaign simulation referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignSimulation"
        },
        "adGroupCriterionSimulation": {
          "description": "The ad group criterion simulation referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupCriterionSimulation"
        },
        "paidOrganicSearchTermView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__PaidOrganicSearchTermView",
          "description": "The paid organic search term view referenced in the query."
        },
        "targetingExpansionView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__TargetingExpansionView",
          "description": "The Targeting expansion view referenced in the query."
        },
        "travelActivityPerformanceView": {
          "description": "The travel activity performance view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__TravelActivityPerformanceView"
        },
        "label": {
          "description": "The label referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Label"
        },
        "campaignGoalConfig": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignGoalConfig",
          "description": "The campaign goal config referenced in the query."
        },
        "customerAssetSet": {
          "description": "The customer asset set referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerAssetSet"
        },
        "adGroupAdLabel": {
          "description": "The ad group ad label referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAdLabel"
        },
        "campaignSearchTermView": {
          "description": "The campaign-level search term view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignSearchTermView"
        },
        "conversionGoalCampaignConfig": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ConversionGoalCampaignConfig",
          "description": "The ConversionGoalCampaignConfig referenced in the query."
        },
        "searchTermView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__SearchTermView",
          "description": "The search term view referenced in the query."
        },
        "adScheduleView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdScheduleView",
          "description": "The ad schedule view referenced in the query."
        },
        "finalUrlExpansionAssetView": {
          "description": "The final url expansion asset view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__FinalUrlExpansionAssetView"
        },
        "videoEnhancement": {
          "description": "The video enhancement referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__VideoEnhancement"
        },
        "changeStatus": {
          "description": "The ChangeStatus referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ChangeStatus"
        },
        "conversionCustomVariable": {
          "description": "The conversion custom variable referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ConversionCustomVariable"
        },
        "mobileDeviceConstant": {
          "description": "The mobile device constant referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MobileDeviceConstant"
        },
        "adParameter": {
          "description": "The ad parameter referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdParameter"
        },
        "currencyConstant": {
          "description": "The currency constant referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CurrencyConstant"
        },
        "mobileAppCategoryConstant": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MobileAppCategoryConstant",
          "description": "The mobile app category constant referenced in the query."
        },
        "genderView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__GenderView",
          "description": "The gender view referenced in the query."
        },
        "keywordPlanAdGroupKeyword": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanAdGroupKeyword",
          "description": "The keyword plan ad group referenced in the query."
        },
        "aiMaxSearchTermAdCombinationView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AiMaxSearchTermAdCombinationView",
          "description": "The AI Max search term ad combination view referenced in the query."
        },
        "biddingDataExclusion": {
          "description": "The bidding data exclusion referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BiddingDataExclusion"
        },
        "ageRangeView": {
          "description": "The age range view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AgeRangeView"
        },
        "youTubeVideoUpload": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__YouTubeVideoUpload",
          "description": "The YouTube video upload referenced in the query."
        },
        "adGroupAssetSet": {
          "description": "The ad group asset set referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAssetSet"
        },
        "assetSetAsset": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetSetAsset",
          "description": "The asset set asset referenced in the query."
        },
        "webpageView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__WebpageView",
          "description": "The webpage view referenced in the query."
        },
        "campaignGroup": {
          "description": "Campaign Group referenced in AWQL query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignGroup"
        },
        "goal": {
          "description": "The goal in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Goal"
        },
        "expandedLandingPageView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ExpandedLandingPageView",
          "description": "The expanded landing page view referenced in the query."
        },
        "hotelGroupView": {
          "description": "The hotel group view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__HotelGroupView"
        },
        "adGroupAdAssetCombinationView": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AdGroupAdAssetCombinationView",
          "description": "The ad group ad asset combination view in the query."
        },
        "localServicesLeadConversation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LocalServicesLeadConversation",
          "description": "The local services lead conversationreferenced in the query."
        },
        "assetFieldTypeView": {
          "description": "The asset field type view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__AssetFieldTypeView"
        },
        "customerConversionGoal": {
          "description": "The CustomerConversionGoal referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerConversionGoal"
        },
        "productLinkInvitation": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ProductLinkInvitation",
          "description": "The product link invitation in the query."
        },
        "domainCategory": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__DomainCategory",
          "description": "The domain category referenced in the query."
        },
        "landingPageView": {
          "description": "The landing page view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LandingPageView"
        },
        "mediaFile": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__MediaFile",
          "description": "The media file referenced in the query."
        },
        "keywordPlanAdGroup": {
          "description": "The keyword plan ad group referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanAdGroup"
        },
        "customAudience": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomAudience",
          "description": "The CustomAudience referenced in the query."
        },
        "conversionValueRule": {
          "description": "The conversion value rule referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ConversionValueRule"
        },
        "customerUserAccess": {
          "description": "The CustomerUserAccess referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerUserAccess"
        },
        "lifeEvent": {
          "description": "The life event referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LifeEvent"
        },
        "customConversionGoal": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomConversionGoal",
          "description": "The CustomConversionGoal referenced in the query."
        },
        "segments": {
          "description": "The segments.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__Segments"
        },
        "channelAggregateAssetView": {
          "description": "The channel aggregate asset view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ChannelAggregateAssetView"
        },
        "userListCustomerType": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__UserListCustomerType",
          "description": "The user list customer type in the query."
        },
        "languageConstant": {
          "description": "The language constant referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__LanguageConstant"
        },
        "managedPlacementView": {
          "description": "The managed placement view referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__ManagedPlacementView"
        },
        "campaignAsset": {
          "description": "The campaign asset referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignAsset"
        },
        "recommendation": {
          "description": "The recommendation referenced in the query.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__Recommendation"
        }
      },
      "description": "A returned row from the query."
    },
    "GoogleAdsGoogleadsV25Services__MetricAttributes": {
      "description": "Indicates the attributes of metrics.",
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of the metric.",
          "type": "string"
        },
        "attributes": {
          "description": "The attributes of the metric.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Services_MetricAttributes_Attribute"
          },
          "type": "array"
        }
      }
    }
  }
}