Smart campaigns

  • Smart campaigns help small businesses reach more online customers with minimal setup and maintenance by automatically optimizing based on business details and goals.

  • Creating a Smart campaign involves several distinct steps, including building keyword themes, retrieving budget and ad text suggestions, and creating various campaign entities.

  • Providing your Business Profile location identifier is recommended when generating suggestions or creating a Smart campaign to maximize performance.

  • Your Business Profile location identifier can be obtained from either the Business Profile API or the Business Profile UI.

  • The Business Profile location identifier should be formatted as locations/<locationId> when used with the Google Ads API.

Smart campaigns 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 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 for more details.

  1. 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.
  2. 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.
  3. Create a 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 and a 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 (such as customers/{customer_id}/campaigns/-1) to link dependent resources.
  5. Create a list of CampaignCriterion objects. This guide uses the keyword themes compiled in step 1 to create keyword theme campaign criteria, and also describes the other supported campaign criterion types.
  6. Create an AdGroup. A Smart campaign can have only one AdGroup associated with it.
  7. Create an AdGroupAd using a SmartCampaignAdInfo containing 3 to 15 headlines and 2 to 4 descriptions.

Business Profile location

When generating suggestions or configuring a 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 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/.

Campaign status

To retrieve the status of a Smart campaign, call 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 or campaign.primary_status_reasons.

The GetSmartCampaignStatusResponse includes the SmartCampaignStatus (ELIGIBLE, NOT_ELIGIBLE, PENDING, PAUSED, REMOVED, or ENDED) along with status-specific details:

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.