Smart Campaigns
Stay organized with collections
Save and categorize content based on your preferences.
Smart campaigns are
designed to help small businesses reach more customers online. They require
minimal setup and maintenance. Smart campaigns rely on the best of 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
request.
Here are the steps for creating a new Smart campaign. Check out the complete
code sample for more details.
- Build a list of keyword themes with suggestions from the
SmartCampaignSuggestService
,
the
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.
- Retrieve suggestions for budget amount, ad headlines, and descriptions
from the
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, as well as up to three headlines and
two description texts for the ad itself.
- Create a
CampaignBudget
using the
suggested budget amount. We recommend that you use the suggested budget
amount in order to maximize your campaign's performance. A
Smart campaign budget cannot be shared with any other campaigns.
- Create a
Campaign
and a
SmartCampaignSetting
. A
SmartCampaignSetting
cannot exist separately from the Campaign
it's
associated with, so we strongly recommend creating the two
entities together.
- Create a list of
campaign criteria
.
In this guide, we use the keyword themes compiled in step 1 to create
keyword theme campaign
criteria,
but we also describe the other types of campaign criteria that are
supported.
- Create an
AdGroup
. A Smart campaign can have
only one AdGroup
associated with it.
- Create an
AdGroupAd
with 3 to 15 headlines,
and 2 to 4 descriptions.
Business Profile location
When
generating suggestions or
creating a campaign, we recommend
that you 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
or the
Business Profile UI.
When set on either the
SmartCampaignSuggestionInfo
or
SmartCampaignSetting
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/
.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-25 UTC.
[null,null,["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eSmart campaigns simplify online advertising for small businesses, automating optimization for goals like calls, visits, or website actions.\u003c/p\u003e\n"],["\u003cp\u003eCampaign creation involves using keyword themes, budget suggestions, and ad creative suggestions for optimal setup.\u003c/p\u003e\n"],["\u003cp\u003eA crucial step is linking your Business Profile location for enhanced campaign performance.\u003c/p\u003e\n"],["\u003cp\u003eSmart campaigns utilize Google Ads API for automated campaign management and require a specific workflow for creation.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can leverage API services like \u003ccode\u003eSmartCampaignSuggestService\u003c/code\u003e and \u003ccode\u003eKeywordThemeConstantService\u003c/code\u003e for streamlined campaign setup.\u003c/p\u003e\n"]]],[],null,["# Smart Campaigns\n\n[Smart campaigns](//support.google.com/google-ads/answer/7652860) are\ndesigned to help small businesses reach more customers online. They require\nminimal setup and maintenance. Smart campaigns rely on the best of Google's\nadvertising technology to automatically optimize the campaign based on the\ndetails of your business and your goals, whether those be customer calls, visits\nto your location, or actions on your website.\n\nCampaign creation\n-----------------\n\nThe Smart campaign creation workflow requires a few steps that are different\nfrom other campaign types. As a best practice, add entities in a single\n[`GoogleAdsService.Mutate`](/google-ads/api/reference/rpc/v21/GoogleAdsService/Mutate) request.\n\nHere are the steps for creating a new Smart campaign. Check out the complete\n[code sample](/google-ads/api/samples/add-smart-campaign) for more details.\n\n1. Build a list of keyword themes with suggestions from the [`SmartCampaignSuggestService`](/google-ads/api/reference/rpc/v21/SmartCampaignSuggestService), the [`KeywordThemeConstantService`](/google-ads/api/reference/rpc/v21/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.\n2. Retrieve suggestions for budget amount, ad headlines, and descriptions from the [`SmartCampaignSuggestService`](/google-ads/api/reference/rpc/v21/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, as well as up to three headlines and two description texts for the ad itself.\n3. Create a [`CampaignBudget`](/google-ads/api/reference/rpc/v21/CampaignBudget) using the suggested budget amount. We recommend that you use the suggested budget amount in order to maximize your campaign's performance. A Smart campaign budget cannot be shared with any other campaigns.\n4. Create a [`Campaign`](/google-ads/api/reference/rpc/v21/Campaign) and a [`SmartCampaignSetting`](/google-ads/api/reference/rpc/v21/SmartCampaignSetting). A `SmartCampaignSetting` cannot exist separately from the `Campaign` it's associated with, so we strongly recommend creating the two entities together.\n5. Create a list of [`campaign criteria`](/google-ads/api/reference/rpc/v21/CampaignCriterion). In this guide, we use the keyword themes compiled in step 1 to create [keyword theme campaign\n criteria](/google-ads/api/reference/rpc/v21/CriterionTypeEnum.CriterionType#keyword_theme), but we also describe the other types of campaign criteria that are supported.\n6. Create an [`AdGroup`](/google-ads/api/reference/rpc/v21/AdGroup). A Smart campaign can have only one `AdGroup` associated with it.\n7. Create an [`AdGroupAd`](/google-ads/api/reference/rpc/v21/AdGroupAd) with 3 to 15 headlines, and 2 to 4 descriptions.\n\nBusiness Profile location\n-------------------------\n\nWhen\n[generating suggestions](/google-ads/api/docs/smart-campaigns/get-suggestions) or\n[creating a campaign](/google-ads/api/docs/smart-campaigns/create-campaign), we recommend\nthat you provide your Business Profile location identifier to maximize the\nperformance of your Smart campaign.\n\nYour Business Profile location identifier can be obtained from either the\n[Business Profile API's `name`\nfield](/my-business/reference/businessinformation/rest/v1/accounts.locations)\nor the\n[Business Profile UI](//support.google.com/business/answer/10737668).\n\nWhen set on either the\n[`SmartCampaignSuggestionInfo`](/google-ads/api/reference/rpc/v21/SmartCampaignSuggestionInfo#business_profile_location)\nor\n[`SmartCampaignSetting`](/google-ads/api/reference/rpc/v21/SmartCampaignSetting#business_profile_location)\nobject, the identifier should be a string in this format: \n\n locations/\u003cvar translate=\"no\"\u003elocationId\u003c/var\u003e\n\nIf retrieved from the Business Profile API, the identifier is already in the\ncorrect format. However, if retrieved from the UI, the identifier needs to be\nappended to `locations/`."]]