CampaignService provides operations for creating and managing campaigns.
A campaign is a collection of one or more ad groups and is associated with an account. Values set at the campaign level override corresponding values set at, and inherited from, the account level.
CampaignService provides operations for creating, updating, deleting, reviewing, and checking the status of campaigns.
To create a new campaign, use the addCampaign and addCampaigns operations. The first operation creates one campaign; the second operation creates one or more campaigns.
Campaigns have search tactics associated with them, Sponsored Search and Content Match®. If you do not specifically enable at least one of these tactics, they are both enabled by default (see Setting Tactics).
Campaigns have a cash balance associated with them, set via the account and campaign daily spend limits (see the BudgetingService Overview). If campaign optimization is enabled, you must also establish a monthly spend rate for the campaign (see Campaign Optimization).
To update a campaign, use the updateCampaign and updateCampaigns operations. When the boolean parameter updateAll is set to true, the system performs a full update (all elements are updated).
To delete a campaign, use the deleteCampaign and deleteCampaigns operations. Once you delete a campaign, you cannot un-delete it (see Deleting Objects).
To get information about a campaign or list of campaigns, use the getCampaign and getCampaigns operations. To get a list of campaigns for a specific account, use the getCampaignsByAccountID operation.
To determine the number of ad groups or keywords in a campaign, use the getCampaignAdGroupCount and getCampaignKeywordCount operations
To determine the status of a campaign, use the getStatusForCampaign operation.
To retrieve all of the campaigns with a specific status in a specific account, use the getCampaignsByAccountIDByCampaignStatus operation.
To change the status of a campaign, use the updateStatusForCampaign and updateStatusForCampaigns operations. You can change the status to On or Off, but not Deleted.
The system supports several campaign-level geographic locations at the market (country), state, and metro (city) level. You may submit any string that identifies a location and we will attempt to uniquely match that string to one of our pre-defined geographic locations. Examples include:
To set or review a geographic location, use the setGeographicLocationForCampaign and getGeographicLocationForCampaign operations. To delete a geographic location, use the deleteGeographicLocationForCampaign operation.
Keep in mind that the geographic location must be located within the market of the account associated with the campaign (see the AccountService Overview).
Campaign optimization enables you to optimize the spend of a campaign's monthly budget based on the guidelines that you provide at the campaign, ad group, and keyword levels.
Before you can enable campaign optimization, you need to create a campaign and set up the campaign, ad group, and keyword optimization guidelines.
Note: The following instructions assume that you have established a budget, selected your tactics, and will create ad groups with enough keywords to make use of your available budget.
To enable campaign optimization using only the campaign optimization guidelines, set up and send requests to EWS using these CampaignService operations, in this order:
To enable campaign optimization using the campaign, ad group, and keyword optimization guidelines, set up and send requests to EWS using these CampaignService, AdGroupService, and KeywordService operations:
Once campaign optimization is enabled, use the getOptimizationGuidelinesForCampaign operation to review your settings. Similar operations are available for ad groups and keywords.
There are many combinations of optimization guidelines; your settings and selections at the campaign, ad group, and keyword levels will vary depending on your optimization goals.
All of these combinations, however, assume that you are interested in optimizing based on revenue or conversion data. The revenue and conversion data can be supplied by you and/or derived from tagging.
The tables below show the supported combinations of the revenue and conversion-related elements; any other combination of settings may have unexpected results. Use the Result column to determine which combination best fits your optimization goals.
Note: X means supply a value, --- means do not supply a value, and N/A means the element is not applicable for the stated result.
Web Sites That Are Not Tagged
If your web site is not tagged, you can optimize based on the conversion and revenue data that you supply.
conv Metric |
tagged For Conv |
tagged For Rev |
avg Conv Rate |
avg Rev Per Conv |
CPA |
ROAS |
Result Optimization based on ... |
|---|---|---|---|---|---|---|---|
Conversions |
False |
False |
X |
--- |
X |
N/A |
User-supplied conversion rate. |
Revenue |
False |
False |
X |
X |
N/A |
X |
User-supplied conversion and revenue rates. |
Web Sites That Are Tagged
If your web site is tagged, you can optimized based on the conversion and revenue data derived from tagging and/or the conversion and revenue data supplied by you (which will override the data derived from the tags).
Note: You must properly enable tagging on your web site (via the web application) in order for the taggedForConversion and taggedForRevenue elements to have any effect (see Tagging and Tracking).
conv Metric |
tagged For Conv |
tagged For Rev |
avg Conv Rate |
avg Rev Per Conv |
CPA |
ROAS |
Result Optimization based on ... |
|---|---|---|---|---|---|---|---|
Conversions |
True |
False |
--- |
---- |
X |
N/A |
Conversion data derived from tagging. |
Conversions |
True |
False |
X |
--- |
X |
N/A |
User-supplied conversion rate. |
Revenue |
True |
True |
--- |
--- |
N/A |
X |
Conversion and revenue data derived from tagging. |
Revenue |
True |
True |
X (override tag data) |
--- |
N/A |
X |
User-supplied conversion rate and revenue data derived from tagging. |
Revenue |
True |
True |
--- |
X (override tag data) |
N/A |
X |
User-supplied revenue value and conversion data derived from tagging. |
Revenue |
True |
True |
X (override tag data) |
X (override tag data) |
N/A |
X |
User-supplied conversion and revenue rates. |
Revenue |
True |
False |
--- |
X |
N/A |
X |
User-supplied revenue value and conversion data derived from tagging. |
Revenue |
True |
False |
X (override tag data) |
X (override tag data) |
N/A |
X |
User-supplied conversion and revenue rates. |
When you set up the campaign optimization guidelines, you must establish a monthly spend rate. The monthly spend rate represents the total amount you want to spend on the campaign over the next 30 days.
Optimization actively manages the campaign daily spend limit to control the actual amount that is spent on any given day (based on the current and expected performance of the campaign). However, over any given 30 day period, optimization is guided by the monthly spend rate.
Campaign optimization affects the account and campaign daily spend limits differently (see the BudgetingService Overview).
When you set up the optimization guidelines, you specify bid limits. To achieve your campaign goals, optimization uses these bid limits (rather than the ad group and keyword bids you set up via the AdGroupService and the KeywordService) as guides when determining actual bid amounts.
To set or review the maximum bid limit, use the setOptimizationGuidelinesForCampaign and getOptimizationGuidelinesForCampaign operations.
To review the minimum bid, use the getMinBidForCampaignOptimizationGuidelines operation.
When campaign optimization is enabled (setCampaignOptimizationON = true), certain actions that you can still perform for campaigns cannot be performed for ad groups and keywords.
Action |
Campaign |
Ad Group |
Keyword |
|---|---|---|---|
Delete |
Yes |
Yes |
Yes |
Update status |
Yes |
No |
No |
Update sponsoredSearchON |
Yes |
No |
N/A |
Update contentMatchON |
Yes |
No |
N/A |
Update advancedMatchON |
Yes |
No |
No |