Campaign goals lets 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. 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
below
.
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 will
automatically create a new
CampaignConversionGoal
for that combination.
The
biddable
attribute of the campaign goal will be
true
unless either of
the following conditions are met, in which case
biddable
will be
false
:
category
|
origin
|
BEGIN_CHECKOUT
|
GOOGLE_HOSTED
|
CONTACT
|
GOOGLE_HOSTED
|
ENGAGEMENT
|
GOOGLE_HOSTED
|
GET_DIRECTIONS
|
GOOGLE_HOSTED
|
PAGE_VIEW
|
GOOGLE_HOSTED
|
SIGNUP
|
GOOGLE_HOSTED
|
PURCHASE
|
GOOGLE_HOSTED
|
STORE_SALE
|
STORE
|
STORE_VISIT
|
STORE
|
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 query below 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
,
campaign.name
, etc.
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
will automatically change 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
.
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
CustomConversionGoal
. Set
the
conversion_actions
repeated field to the list of
ConversionAction
resource names that Google Ads should use for optimization, and set the
name
to a name of your choosing.
Update the campaign's
ConversionGoalCampaignConfig
,
setting the
custom_conversion_goal
to the resource name of the
CustomConversionGoal
from the previous step, and setting the operation's
update_mask
to
custom_conversion_goal
.
Update the
biddable
attribute of any
CampaignConversionGoal
as needed.
For example, if you
only
want Google Ads to optimize for the conversion
actions in the custom goal, set
biddable
to
false
on each
CampaignConversionGoal
. If you want Google Ads to optimize for the
conversion actions in the custom goal
in addition to
conversion actions
for specific combinations of
category
and
origin
, ensure that
biddable
is
true
for each corresponding
CampaignConversionGoal
, and
false
for
each
CampaignConversionGoal
of other combinations of
origin
and
category
.
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