> [!CAUTION]
> **Caution:** Starting September 23, 2026, creating Smart campaigns is [deprecated](https://developers.google.com/google-ads/api/docs/deprecations) and is no longer supported. Attempting to create a Smart campaign returns [`SmartCampaignError.CREATION_FAILED`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignErrorEnum.SmartCampaignError#creation_failed) in `v24` and later, or [`AuthorizationError.ACTION_NOT_PERMITTED`](https://developers.google.com/google-ads/api/reference/rpc/v26/AuthorizationErrorEnum.AuthorizationError#action_not_permitted) in `v23`. Smart campaigns in your account continue to serve ads and can still be updated or queried in reports.

> [!NOTE]
> **Note:** In `v25` and later, you can use [`SmartCampaignSettingService.GeneratePMaxDraftCampaign`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignSettingService/GeneratePMaxDraftCampaign) to convert a Smart campaign to a Performance Max campaign (not available in `v24` and earlier). For details, see the [Convert Smart campaigns to PMax campaigns](https://developers.google.com/google-ads/api/docs/smart-campaigns/migrate-to-performance-max) guide.

[Smart campaigns](https://support.google.com/google-ads/answer/7652860) are designed to help small businesses
reach more customers online. They require minimal setup and maintenance. Smart
campaigns rely on Google's advertising technology to automatically optimize the
campaign based on the details of your business and your goals, whether those be
customer calls, visits to your location, or actions on your website.

## Campaign creation

The Smart campaign creation workflow requires a few steps that are different
from other campaign types. As a best practice, add entities in a single
[`GoogleAdsService.Mutate`](https://developers.google.com/google-ads/api/reference/rpc/v26/GoogleAdsService/Mutate) request.

Here are the steps in the Smart campaign creation workflow (the entity
relationships and settings described in these steps also apply when inspecting
or updating Smart campaigns in your account). Check out the complete
[code sample](https://developers.google.com/google-ads/api/samples/add-smart-campaign) for more details.

1. Build a list of keyword themes with suggestions from the [`SmartCampaignSuggestService`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignSuggestService), the [`KeywordThemeConstantService`](https://developers.google.com/google-ads/api/reference/rpc/v26/KeywordThemeConstantService), or with free-form keyword themes. These keyword themes are used to retrieve different tiers of budget suggestions, create keyword theme campaign criteria, and generate suggestions for ad text creatives.
2. Retrieve suggestions for budget amount, ad headlines, and descriptions from the [`SmartCampaignSuggestService`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignSuggestService). This service uses information about your business, the target geographic location, target language, and keyword themes to suggest a `high`, `low`, or `recommended` daily budget amount, and up to three headlines and two description texts for the ad itself.
3. Create a [`CampaignBudget`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignBudget) using the suggested budget amount. Using the suggested budget amount helps maximize your campaign's performance. A Smart campaign budget cannot be shared with any other campaigns.
4. Create a [`Campaign`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign) and a [`SmartCampaignSetting`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignSetting). A `SmartCampaignSetting` cannot exist separately from the `Campaign` it's associated with, so create the two entities together in the same `Mutate` request using negative [temporary resource names](https://developers.google.com/google-ads/api/docs/mutating/best-practices#temporary-resource-names) (such as `customers/{customer_id}/campaigns/-1`) to link dependent resources.
5. Create a list of [`CampaignCriterion`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignCriterion) objects. This guide uses the keyword themes compiled in step 1 to create [keyword theme campaign criteria](https://developers.google.com/google-ads/api/reference/rpc/v26/CriterionTypeEnum.CriterionType#keyword_theme), and also describes the other supported campaign criterion types.
6. Create an [`AdGroup`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdGroup). A Smart campaign can have only one `AdGroup` associated with it.
7. Create an [`AdGroupAd`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdGroupAd) using a [`SmartCampaignAdInfo`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignAdInfo) containing 3 to 15 headlines and 2 to 4 descriptions.

## Business Profile location

When [generating suggestions](https://developers.google.com/google-ads/api/docs/smart-campaigns/get-suggestions) or
[configuring a campaign](https://developers.google.com/google-ads/api/docs/smart-campaigns/create-campaign), provide your Business Profile
location identifier to maximize the performance of your Smart campaign.

Your Business Profile location identifier can be obtained from either the
[Business Profile API's `name` field](https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) or the
[Business Profile UI](https://support.google.com/business/answer/10737668).

When set on either the
[`SmartCampaignSuggestionInfo`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignSuggestionInfo#business_profile_location) or
[`SmartCampaignSetting`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignSetting#business_profile_location) object, the identifier should be a
string in this format:

    locations/locationId

If retrieved from the Business Profile API, the identifier is already in the
correct format. However, if retrieved from the UI, the identifier needs to be
appended to `locations/`.

## Campaign status

To retrieve the status of a Smart campaign, call
[`SmartCampaignSettingService.GetSmartCampaignStatus`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignSettingService/GetSmartCampaignStatus) with the
`resource_name` of the campaign's `SmartCampaignSetting`
(`customers/{customer_id}/smartCampaignSettings/{campaign_id}`). This method
provides a more aggregated view of a Smart campaign's status than
[`campaign.primary_status`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign#primary_status) or
[`campaign.primary_status_reasons`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign#primary_status_reasons%5B%5D).

The [`GetSmartCampaignStatusResponse`](https://developers.google.com/google-ads/api/reference/rpc/v26/GetSmartCampaignStatusResponse)
includes the [`SmartCampaignStatus`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignStatusEnum.SmartCampaignStatus) (`ELIGIBLE`,
`NOT_ELIGIBLE`, `PENDING`, `PAUSED`, `REMOVED`, or `ENDED`) along with
status-specific details:

- [`not_eligible_details`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignNotEligibleDetails): Includes the [`SmartCampaignNotEligibleReason`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignNotEligibleReasonEnum.SmartCampaignNotEligibleReason) (`ACCOUNT_ISSUE`, `BILLING_ISSUE`, `BUSINESS_PROFILE_LOCATION_REMOVED`, or `ALL_ADS_DISAPPROVED`).
- [`eligible_details`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignEligibleDetails): Includes `last_impression_date_time` (the timestamp of the last impression observed in the preceding 48 hours) and `end_date_time` (if applicable).
- [`paused_details`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignPausedDetails), [`removed_details`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignRemovedDetails), and [`ended_details`](https://developers.google.com/google-ads/api/reference/rpc/v26/SmartCampaignEndedDetails): Include the respective `paused_date_time`, `removed_date_time`, or `end_date_time` timestamps in the customer's time zone (`yyyy-MM-dd HH:mm:ss`).

## Considerations for reporting

Smart campaigns are designed with a simplified structure, limiting each
campaign to a single ad group. This structure has specific implications for
reporting:

- Ad-group-level metrics: Because there is only one ad group per Smart campaign, any performance metrics (such as clicks, impressions, and conversions) at the ad group level are identical to the metrics for the entire campaign.
- Metrics retrieval: When querying for performance data, you can retrieve metrics at the campaign level. While you can retrieve metrics at the ad group level, they don't provide additional detail beyond what is available at the campaign level.

For most reporting needs concerning Smart campaigns, querying `campaign` and
its associated metrics provides a complete picture of performance.