---
title: "POST /v23/customers/{customersId}:suggestSmartCampaignAd"
method: POST
path: "/v23/customers/{customersId}:suggestSmartCampaignAd"
tags: ["customers"]
---

# POST /v23/customers/{customersId}:suggestSmartCampaignAd

`POST /v23/customers/{customersId}:suggestSmartCampaignAd`

## Request

- Base URL: `https://searchads360.googleapis.com`
- URL: `https://searchads360.googleapis.com/v23/customers/{customersId}:suggestSmartCampaignAd`
- Auth: OAuth 2 and OAuth 2
  - Implicit: `https://accounts.google.com/o/oauth2/auth`
  - Scopes: `https://www.googleapis.com/auth/doubleclicksearch`
  - Authorization code: `https://accounts.google.com/o/oauth2/auth`
  - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/doubleclicksearch`
- TypeScript: <https://skmtc.dev/google/apis/searchads360/docs/v23/customers/:customersId:suggestSmartCampaignAd/post.ts> (a function with typed inputs; its response is checked against the schema)

Suggests a Smart campaign ad compatible with the Ad family of resources, based on data points such as targeting and the business to advertise.

## Path parameters

- `customersId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesSuggestSmartCampaignAdRequest: Request message for SmartCampaignSuggestService.SuggestSmartCampaignAd.
  - `suggestionInfo` GoogleAdsSearchads360V23ServicesSmartCampaignSuggestionInfo: Information needed to get suggestion for Smart Campaign. More information provided will help the system to derive better suggestions.
    - `adSchedules` GoogleAdsSearchads360V23CommonAdScheduleInfo[]: Optional. The business ad schedule.
      - `dayOfWeek` 'UNSPECIFIED' | 'UNKNOWN' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY': Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
      - `endHour` integer: 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.
      - `endMinute` 'UNSPECIFIED' | 'UNKNOWN' | 'ZERO' | 'FIFTEEN' | 'THIRTY' | 'FORTY_FIVE': 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.
      - `startHour` integer: 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.
      - `startMinute` 'UNSPECIFIED' | 'UNKNOWN' | 'ZERO' | 'FIFTEEN' | 'THIRTY' | 'FORTY_FIVE': Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
    - `businessContext` GoogleAdsSearchads360V23ServicesSmartCampaignSuggestionInfoBusinessContext: A context that describes a business.
      - `businessName` string: Optional. The name of the business.
    - `businessProfileLocation` string: Optional. The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
    - `finalUrl` string: Optional. Landing page URL of the campaign.
    - `keywordThemes` GoogleAdsSearchads360V23CommonKeywordThemeInfo[]: Optional. Smart campaign keyword themes. This field may greatly improve suggestion accuracy and we recommend always setting it if possible.
      - `freeFormKeywordTheme` string: Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
      - `keywordThemeConstant` string: The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
    - `languageCode` string: Optional. The two letter advertising language for the Smart campaign to be constructed, default to 'en' if not set.
    - `locationList` GoogleAdsSearchads360V23ServicesSmartCampaignSuggestionInfoLocationList: A list of locations.
      - `locations` GoogleAdsSearchads360V23CommonLocationInfo[]: Required. Locations.
        - `geoTargetConstant` string: The geo target constant resource name.
    - `proximity` GoogleAdsSearchads360V23CommonProximityInfo: 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.
      - `address` GoogleAdsSearchads360V23CommonAddressInfo: Address for proximity criterion.
        - `cityName` string: Name of the city.
        - `countryCode` string: Country code.
        - `postalCode` string: Postal code.
        - `provinceCode` string: Province or state code.
        - `provinceName` string: Province or state name.
        - `streetAddress` string: Street address line 1.
        - `streetAddress2` string: Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
      - `geoPoint` GoogleAdsSearchads360V23CommonGeoPointInfo: Geo point for proximity criterion.
        - `latitudeInMicroDegrees` integer: Micro degrees for the latitude.
        - `longitudeInMicroDegrees` integer: Micro degrees for the longitude.
      - `radius` number, double: The radius of the proximity.
      - `radiusUnits` 'UNSPECIFIED' | 'UNKNOWN' | 'MILES' | 'KILOMETERS': The unit of measurement of the radius. Default is KILOMETERS.

## Response `200`

Successful response

- GoogleAdsSearchads360V23ServicesSuggestSmartCampaignAdResponse: Response message for SmartCampaignSuggestService.SuggestSmartCampaignAd.
  - `adInfo` GoogleAdsSearchads360V23CommonSmartCampaignAdInfo: A Smart campaign ad.
    - `descriptions` GoogleAdsSearchads360V23CommonAdTextAsset[]: 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.
      - `assetPerformanceLabel` 'UNSPECIFIED' | 'UNKNOWN' | 'PENDING' | 'LEARNING' | 'LOW' | 'GOOD' | 'BEST' | 'NOT_APPLICABLE': The performance label of this text asset.
      - `pinnedField` 'UNSPECIFIED' | 'UNKNOWN' | 'HEADLINE_1' | 'HEADLINE_2' | 'HEADLINE_3' | 'DESCRIPTION_1' | 'DESCRIPTION_2' | 'HEADLINE' | 'HEADLINE_IN_PORTRAIT' | 'LONG_HEADLINE' | 'DESCRIPTION' | 'DESCRIPTION_IN_PORTRAIT' | 'BUSINESS_NAME_IN_PORTRAIT' | 'BUSINESS_NAME' | 'MARKETING_IMAGE' | 'MARKETING_IMAGE_IN_PORTRAIT' | 'SQUARE_MARKETING_IMAGE' | 'PORTRAIT_MARKETING_IMAGE' | 'LOGO' | 'LANDSCAPE_LOGO' | 'CALL_TO_ACTION' | 'YOU_TUBE_VIDEO' | 'SITELINK' | 'CALL' | 'MOBILE_APP' | 'CALLOUT' | 'STRUCTURED_SNIPPET' | 'PRICE' | 'PROMOTION' | 'AD_IMAGE' | 'LEAD_FORM' | 'BUSINESS_LOGO' | 'DESCRIPTION_PREFIX' | 'HEADLINE_AS_SITELINK_POSITION_ONE' | 'HEADLINE_AS_SITELINK_POSITION_TWO' | 'DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE' | 'DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO': The 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.
      - `policySummaryInfo` GoogleAdsSearchads360V23CommonAdAssetPolicySummary: Contains policy information for an asset inside an ad.
        - `approvalStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'DISAPPROVED' | 'APPROVED_LIMITED' | 'APPROVED' | 'AREA_OF_INTEREST_ONLY': The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
        - `policyTopicEntries` GoogleAdsSearchads360V23CommonPolicyTopicEntry[]: The list of policy findings for this asset.
          - `constraints` GoogleAdsSearchads360V23CommonPolicyTopicConstraint[]: Indicates how serving of this resource may be affected (for example, not serving in a country).
            - `certificateDomainMismatchInCountryList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList: A list of countries where a resource's serving is constrained.
              - …
            - `certificateMissingInCountryList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList: A list of countries where a resource's serving is constrained.
              - …
            - `countryConstraintList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList: A list of countries where a resource's serving is constrained.
              - …
            - `resellerConstraint` GoogleAdsSearchads360V23CommonPolicyTopicConstraintResellerConstraint: Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes.
          - `evidences` GoogleAdsSearchads360V23CommonPolicyTopicEvidence[]: Additional information that explains policy finding (for example, the brand name for a trademark finding).
            - `destinationMismatch` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationMismatch: Evidence of mismatches between the URLs of a resource.
              - …
            - `destinationNotWorking` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationNotWorking: Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
              - …
            - `destinationTextList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationTextList: A list of strings found in a destination page that caused a policy finding.
              - …
            - `languageCode` string: The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
            - `textList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceTextList: A list of fragments of text that violated a policy.
              - …
            - `websiteList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceWebsiteList: 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.
              - …
          - `topic` string: 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` 'UNSPECIFIED' | 'UNKNOWN' | 'PROHIBITED' | 'LIMITED' | 'FULLY_LIMITED' | 'DESCRIPTIVE' | 'BROADENING' | 'AREA_OF_INTEREST_ONLY': Describes the negative or positive effect this policy will have on serving.
        - `reviewStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'REVIEW_IN_PROGRESS' | 'REVIEWED' | 'UNDER_APPEAL' | 'ELIGIBLE_MAY_SERVE': Where in the review process this asset.
      - `text` string: Asset text.
    - `headlines` GoogleAdsSearchads360V23CommonAdTextAsset[]: 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.
      - `assetPerformanceLabel` 'UNSPECIFIED' | 'UNKNOWN' | 'PENDING' | 'LEARNING' | 'LOW' | 'GOOD' | 'BEST' | 'NOT_APPLICABLE': The performance label of this text asset.
      - `pinnedField` 'UNSPECIFIED' | 'UNKNOWN' | 'HEADLINE_1' | 'HEADLINE_2' | 'HEADLINE_3' | 'DESCRIPTION_1' | 'DESCRIPTION_2' | 'HEADLINE' | 'HEADLINE_IN_PORTRAIT' | 'LONG_HEADLINE' | 'DESCRIPTION' | 'DESCRIPTION_IN_PORTRAIT' | 'BUSINESS_NAME_IN_PORTRAIT' | 'BUSINESS_NAME' | 'MARKETING_IMAGE' | 'MARKETING_IMAGE_IN_PORTRAIT' | 'SQUARE_MARKETING_IMAGE' | 'PORTRAIT_MARKETING_IMAGE' | 'LOGO' | 'LANDSCAPE_LOGO' | 'CALL_TO_ACTION' | 'YOU_TUBE_VIDEO' | 'SITELINK' | 'CALL' | 'MOBILE_APP' | 'CALLOUT' | 'STRUCTURED_SNIPPET' | 'PRICE' | 'PROMOTION' | 'AD_IMAGE' | 'LEAD_FORM' | 'BUSINESS_LOGO' | 'DESCRIPTION_PREFIX' | 'HEADLINE_AS_SITELINK_POSITION_ONE' | 'HEADLINE_AS_SITELINK_POSITION_TWO' | 'DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE' | 'DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO': The 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.
      - `policySummaryInfo` GoogleAdsSearchads360V23CommonAdAssetPolicySummary: Contains policy information for an asset inside an ad.
        - `approvalStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'DISAPPROVED' | 'APPROVED_LIMITED' | 'APPROVED' | 'AREA_OF_INTEREST_ONLY': The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
        - `policyTopicEntries` GoogleAdsSearchads360V23CommonPolicyTopicEntry[]: The list of policy findings for this asset.
          - `constraints` GoogleAdsSearchads360V23CommonPolicyTopicConstraint[]: Indicates how serving of this resource may be affected (for example, not serving in a country).
            - `certificateDomainMismatchInCountryList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList: A list of countries where a resource's serving is constrained.
              - …
            - `certificateMissingInCountryList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList: A list of countries where a resource's serving is constrained.
              - …
            - `countryConstraintList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList: A list of countries where a resource's serving is constrained.
              - …
            - `resellerConstraint` GoogleAdsSearchads360V23CommonPolicyTopicConstraintResellerConstraint: Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes.
          - `evidences` GoogleAdsSearchads360V23CommonPolicyTopicEvidence[]: Additional information that explains policy finding (for example, the brand name for a trademark finding).
            - `destinationMismatch` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationMismatch: Evidence of mismatches between the URLs of a resource.
              - …
            - `destinationNotWorking` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationNotWorking: Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
              - …
            - `destinationTextList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationTextList: A list of strings found in a destination page that caused a policy finding.
              - …
            - `languageCode` string: The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
            - `textList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceTextList: A list of fragments of text that violated a policy.
              - …
            - `websiteList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceWebsiteList: 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.
              - …
          - `topic` string: 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` 'UNSPECIFIED' | 'UNKNOWN' | 'PROHIBITED' | 'LIMITED' | 'FULLY_LIMITED' | 'DESCRIPTIVE' | 'BROADENING' | 'AREA_OF_INTEREST_ONLY': Describes the negative or positive effect this policy will have on serving.
        - `reviewStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'REVIEW_IN_PROGRESS' | 'REVIEWED' | 'UNDER_APPEAL' | 'ELIGIBLE_MAY_SERVE': Where in the review process this asset.
      - `text` string: Asset text.

---

[API](https://skmtc.dev/google/apis/searchads360.md) - [All operations](https://skmtc.dev/google/apis/searchads360/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/searchads360/revisions/4a4511f84b18?raw)
