Hide

Services & Use Cases

AdWords API services

The AdWords API services can be grouped by purpose into four categories: Campaign Data Management, Optimization, Account Management, and Utility.

Each of the following web services provides a consistent set of operations: get retrieves entities based on a selector you pass in, and mutate lets you specify a series of operations (add, set, or remove) to perform. Services that are designed only to provide data do not have a mutate operation, while some provide additional special-purpose calls.

Campaign data management

Use the campaign data management services to work with AdWords campaigns and their associated entities. Each campaign data management service corresponds to an entity in the campaign data hierarchy.

CampaignService
Create, update, and remove campaigns. A campaign organizes one or more ad groups together and has its own budget, bidding strategy, serving date range, and targeting settings.
AdGroupService
Create, update, and remove ad groups. An ad group organizes a set of ads and criteria together, and also provides the default bid for its criteria.
AdGroupAdService
Create, update, and remove ads.
CampaignExtensionSettingService
Create, update, and remove ad extensions. Campaign ad extensions enrich standard text ads by adding location information, additional links, or a phone number to all ads within a campaign.
CampaignCriterionService, AdGroupCriterionService
Create, update, and remove criteria. A criterion describes the conditions that determine whether an ad should appear.
ConversionTrackerService, OfflineConversionFeedService
Measure the effectiveness of your ads and keywords by learning what happens after a user clicks on your ad. OfflineConversionFeedService handles offline conversions importing.
DataService
Retrieve ads campaign management data, based on specified criteria.
FeedService, FeedItemService, FeedMappingService, AdGroupFeedService, CampaignFeedService
Create custom data feeds for use in managing site, phone, and app link extensions.
AdwordsUserListService
Create, update, and remove user lists. Employ user lists and user list criteria to display ads to people who have previously triggered a conversion event on your website.
BudgetService
Create, update, and remove budgets. Use to manage budgets that can be shared across campaigns.

Optimization

Use the optimization services to retrieve performance statistics and discover ideas for new criteria.

ReportDefinitionService
Create and download a variety of performance reports.
TargetingIdeaService
Generate new keyword and placement ideas based on parameters you specify.
TrafficEstimatorService
Get traffic estimates for proposed campaigns, ad groups and keywords.
ExperimentService
Create and run campaign experiments where you can test keywords, bids, and placements.

Account Management

Use the account management services to track your account activity.

CustomerService
Retrieve basic details about a client account.
CustomerSyncService
Retrieve a record of campaign data changes within a specified date range.
ManagedCustomerService
Manage client accounts and links between manager and client accounts.

Utility

Use these utility services as necessary to perform other tasks with the AdWords API.

MutateJobService
Process a large batch of campaign data operations asynchronously. Batch processing jobs take longer to complete than synchronous calls to the standard web services, but the processed operations are half the cost.
GeoLocationService
Retrieve coordinates and the canonical address for a specified address.
MediaService
Upload and retrieve IDs for media you use in media-based ads (such as image or video ads).
ConstantDataService
Retrieve constant values used by the API.
LocationCriterionService
Retrieve the ID of a Location criterion.

Campaign data

Working with campaign data is one of the fundamental tasks you perform with the AdWords API. The table below describes each campaign data entity and its relationship with other campaign data.

Entity
Child Entities (quantity)
Data Type Description
Campaign
Ad groups (1+)
Campaign target lists (7)
Campaign ad extensions (0+)
Campaign criteria (0+)
Campaign A campaign organizes one or more ad groups together and has its own budget, bidding strategy, and serving date range.
Ad Group
Ads (1+)
Criteria (1+)
AdGroup
An ad group organizes a set of ads and criteria together, and also provides the default bid for its criteria.
Ad
Ad extension overrides (0+)
AdGroupAd Available ad types are documented in the API reference as subclasses of the abstract Ad type.
Criterion
None
AdGroupCriterion, CampaignCriterion A criterion describes the conditions that determine if an ad should (biddable criterion) or should not (negative criterion) appear. An ad group criterion affects ads in the parent ad group. A campaign criterion, which is always a negative criterion, defines conditions that prevent the campaign's ads from showing.
Ad Extension
None
CampaignExtensionSetting Campaign ad extensions enrich standard text ads by adding location information, additional links, or a phone number to all ads within a campaign.
Feed
None
Feed Feeds act as conduits for data to ad extensions (sitelink, phone, app).
User List
None
UserList User lists keep track of which users have previously expressed interest in your website. You can target ads to this set of users by creating a user list criterion and linking it to an existing user list.
Budget
None
Budget Budgets are used for managing the amount of money spent on campaigns. A Budget can be shared across different campaigns and the system will determine the optimal allocation.

Use cases

We list some typical use cases for making use of the AdWords API.

Campaign management

The AdWords API aims to expose most of the functionality available in the AdWords web interface, including the ability to add, edit, and remove campaigns, ad groups, ads, keywords, etc. Display network features are also supported, including placements, product ads, and remarketing. This functionality is commonly used:

  • To provide custom interfaces to manage campaigns, and integrate with analytics and CRM systems.
  • To leverage internal data feeds to create new ads or pause and unpause campaigns based on business criteria.
  • In scripts that automate manual and time intensive tasks.

See: CampaignService, CampaignCriterionService, AdGroupService, AdGroupAdService, AdGroupCriterionService

Ads management based on inventory

While studying conversion numbers for their campaigns, some customers discover that a significant amount of their ad clicks take visitors to a page for an item that is out of stock. One way to avoid this is to automatically manage your ads via the API based on your available stock. Every time an item availability is updated, a corresponding ad or ad group could be paused or unpaused, saving the budget and potentially improving conversion rates.

See: AdGroupService, AdGroupAdService

Bid management

Using the reporting features of the API, keyword statistics can be retrieved, including fields related to impressions, clicks, conversions, etc. Other services provide information about how a keyword might have performed recently with different bids or with forward-looking estimates for a proposed bid change. Once you’ve done the calculations, you can apply the bid changes to your keywords and start the process again.

See: AdGroupCriterionService, DataService, TrafficEstimatorService, Bidding, Reporting Basics

Dynamic ad text

Because ad text is frozen when the ad is created, updating an ad with the most recent price or quantity information requires constantly recreating it and waiting for it to be reapproved. The API provides a feature called ad customizers that allows for dynamic sections of an ad to be defined, which are then replaced by custom values when the ad serves. These values can be updated using the API throughout the day and usually without reapproval, allowing for ads with the freshest available content.

See: Ad Customizers

Bulk upload

The API provides functionality to simplify the deployment of large new campaigns, which can be difficult for customers going after long tail keywords. Our bulk job service allows you to upload large numbers of ads and keywords asynchronously, freeing up your application to do other work. Operations are applied automatically, removing the need to throttle requests to stay under the system's rate limits.

See: Batch Processing

Keyword research for campaign management

Long tail advertisers looking to expand the keyword base they are bidding on can take advantage of the keyword research functionality provided by the API. New keyword ideas can be generated from a sample keyword or website. These keywords are returned along with the search volumes they received over the last year. You can then estimate the clicks they would receive within your ad group, as well as the total cost you can expect them to generate. The API allows you to programmatically leverage much of the functionality provided by the Keyword Tool and Traffic Estimator in the AdWords web interface.

Note that keyword research for any purpose other than active AdWords campaign management is not permitted.

See: Generating Targeting Ideas, Estimating Traffic

Performance dashboard

The reporting features of the API allow for reports to be defined on-demand, and the data is usually available within seconds. You can use this to create custom dashboards for monitoring the performance of accounts, including fine-grained details such as per-keyword statistics. Powerful segmentation and filtering options allow you to focus in on the exact data that your users care about without extra client-side logic.

If you are an agency and you plan to create a performance dashboard accessible by your clients, make sure the result will display the appropriate Required Minimum Functionality.

See: Reporting Basics

Synchronization with internal systems

In many cases, it's useful to integrate information from AdWords with other internal systems, such as billing or conversion tracking. In particular, you may want offline access to data such as campaign and ad group listings or performance statistics such as impressions, clicks, cost, CTR, etc. The data can initially be extracted via reports and synchronized regularly by pulling updates for added campaigns. The AdWords API allows you to identify objects created or changed during particular date ranges and retrieve them independently.

See: CustomerSyncService, Reporting Basics

Send feedback about...

AdWords API