Page Summary
-
Campaign goals allow you to optimize specific campaigns for particular conversion actions, separate from account-level goals.
-
When you override customer-level goals for a campaign, Google Ads will no longer automatically apply future changes from customer-level goals to that campaign's goals.
-
For new conversion actions with unique category and origin combinations, Google Ads automatically creates a corresponding campaign goal with
biddabletypically set totrue, unless specific conditions are met. -
Custom goals offer the flexibility to optimize for specific conversion actions regardless of their category and origin, allowing for finer control over campaign optimization.
-
The
goal_config_levelattribute indicates whether a campaign is using customer-level or campaign-level goals, and can be modified to switch between these levels.
Campaign goals let you optimize specific campaigns for
specific conversion actions. If you have campaigns with goals that differ from
your account-level goals, you can modify each
CampaignConversionGoal and its biddable setting
as needed using CampaignConversionGoalService. For example, if
your account generally optimizes for ecommerce but you have one campaign
targeting store visits, you could set biddable=true for all
CampaignConversionGoal objects with category=STORE_VISIT, and
biddable=false for all other CampaignConversionGoal objects.
When you override the customer-level goals for a campaign by issuing a
CampaignConversionGoalOperation or using a
custom goal, Google Ads will no longer apply future
CustomerConversionGoal changes to any of the campaign's
CampaignConversionGoal objects. The CampaignConversionGoal objects are
completely independent from that point forward, and will remain so unless you
transition the campaign back to using customer-level goals by updating its
conversion goal campaign configuration as described in
Goal configuration level.
Campaign goals for new conversion actions
As with CustomerConversionGoal, whenever a
ConversionAction is added to the Google Ads conversion
customer with a new category and origin
combination, Google Ads automatically creates a new
CampaignConversionGoal for that combination.
The biddable attribute of the campaign goal is true unless either of the
following conditions is met, in which case biddable is false:
Any other
CampaignConversionGoalfor the campaign and the new action'scategoryhasbiddableset tofalse.The
categoryandorigincombination is in the following table.
| Conversion Action Category | Conversion Origin |
|---|---|
BEGIN_CHECKOUT |
GOOGLE_HOSTED |
CONSIDERATION |
GOOGLE_HOSTED |
CONTACT |
GOOGLE_HOSTED |
CONVERTED_LEAD |
GOOGLE_HOSTED |
ENGAGEMENT |
GOOGLE_HOSTED |
GET_DIRECTIONS |
GOOGLE_HOSTED |
PAGE_VIEW |
GOOGLE_HOSTED |
QUALIFIED_LEAD |
GOOGLE_HOSTED |
SIGNUP |
GOOGLE_HOSTED |
PURCHASE |
GOOGLE_HOSTED |
STORE_SALE |
STORE |
STORE_VISIT |
STORE |
PHONE_CALL_LEAD |
LOCAL_SERVICES_ADS |
MESSAGE_LEAD |
LOCAL_SERVICES_ADS |
BOOK_APPOINTMENT |
LOCAL_SERVICES_ADS |
CONVERTED_LEAD |
LOCAL_SERVICES_ADS |
Retrieve campaign goals
Use the following query to retrieve the list of CampaignConversionGoals
for your account. For convenience, you can include attributes of campaign
in the SELECT clause, or use them in the WHERE clause to only retrieve the
campaign goals for specific campaigns. The following query shows how to filter
by campaign.advertising_channel_type as an example, but you could also filter
by other campaign attributes such as campaign.id or campaign.name.
SELECT
campaign_conversion_goal.campaign,
campaign_conversion_goal.category,
campaign_conversion_goal.origin,
campaign_conversion_goal.biddable,
campaign.id,
campaign.name
FROM campaign_conversion_goal
WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX'
Goal configuration level
The goal_config_level of ConversionGoalCampaignConfig
indicates the source of goals for a campaign. Campaigns with goal_config_level
of CUSTOMER are using customer-level goals, while campaigns
with goal_config_level of CAMPAIGN are using campaign-level
goals.
Updating any of the CampaignConversionGoals of a campaign or using a
custom goal automatically changes the campaign's
ConversionGoalCampaignConfig to have goal_config_level=CAMPAIGN. You
can revert all campaign-specific goal settings for a campaign and transition it
back to using customer-level goals by setting the goal_config_level to
CUSTOMER using ConversionGoalCampaignConfigService.
Use the following query to retrieve the goal_config_level for each campaign.
SELECT
conversion_goal_campaign_config.campaign,
conversion_goal_campaign_config.custom_conversion_goal,
conversion_goal_campaign_config.goal_config_level,
campaign.id,
campaign.name
FROM conversion_goal_campaign_config
Custom goals
Both CustomerConversionGoal and
CampaignConversionGoal express goals based on
combinations of category and origin. Custom goals provide
the additional flexibility of optimizing for specific conversion actions,
regardless of origin or category.
One scenario where this is useful is if you want to set a goal based on a subset
of goals for the same category and origin. For example, you might have three
conversion actions with category=DEFAULT and origin=WEBSITE, but on one
particular campaign, you only want to bid based on two of those conversion
actions. In this scenario, you could have the campaign use a custom goal that
only includes those two conversion actions, and set biddable=false on the
CampaignConversionGoal for category=DEFAULT and origin=WEBSITE.
The steps for creating and applying a custom goal to a campaign are as follows:
Create a
CustomConversionGoalusingCustomConversionGoalService. Set theconversion_actionsrepeated field to the list ofConversionActionresource names that Google Ads should use for optimization, and set thenameto a name of your choosing.Update the campaign's
ConversionGoalCampaignConfigusingConversionGoalCampaignConfigService, setting thecustom_conversion_goalto the resource name of theCustomConversionGoalfrom the previous step, and setting the operation'supdate_masktocustom_conversion_goal(the backend automatically updatesgoal_config_leveltoCAMPAIGN).Update the
biddableattribute of anyCampaignConversionGoalas needed. For example, if you only want Google Ads to optimize for the conversion actions in the custom goal, setbiddabletofalseon eachCampaignConversionGoal. If you want Google Ads to optimize for the conversion actions in the custom goal in addition to conversion actions for specific combinations ofcategoryandorigin, ensure thatbiddableistruefor each correspondingCampaignConversionGoal, andfalsefor eachCampaignConversionGoalof other combinations oforiginandcategory.
Retrieving custom goals
Use the following query to retrieve all of the CustomConversionGoal resources
in your account. The response will include custom goals from the effective
conversion account if your account is using cross-account conversion tracking.
SELECT
custom_conversion_goal.id,
custom_conversion_goal.name,
custom_conversion_goal.status,
custom_conversion_goal.conversion_actions
FROM custom_conversion_goal
In addition, you can include attributes of custom_conversion_goal and
campaign when querying the conversion_goal_campaign_config resource. This
is useful for seeing how your campaigns, custom goals, and goal configurations
all relate to each other in a single response.
SELECT
conversion_goal_campaign_config.campaign,
conversion_goal_campaign_config.custom_conversion_goal,
conversion_goal_campaign_config.goal_config_level,
campaign.id,
campaign.name,
custom_conversion_goal.name,
custom_conversion_goal.status,
custom_conversion_goal.conversion_actions
FROM conversion_goal_campaign_config