Google Code offered in: English - Español - 日本語 - 한국어 - Português - Pусский - 中文(简体) - 中文(繁體)
A lot has changed between AdWords API v13 and v200909. To help you better understand what's changed, this per-call migration guide provides side-by-side Python client library code snippets for common tasks.
This guide currently covers the following services:
| Task | v13 | v200909 |
|---|---|---|
| Add ad groups |
# Add ad group.
ad_group = {
'campaignId': campaign_id,
'keywordMaxCpc': '1000000'
}
ad_group_service.AddAdGroup(campaign_id, ad_group)
# or
ad_group_service.AddAdGroupList(
campaign_id, [ad_group])
|
# Add ad group.
operations = [{
'operator': 'ADD',
'operand': {
'campaignId': campaign_id,
'status': 'ENABLED',
'bids': {
'keywordMaxCpc': {
'amount': {
'microAmount': '1000000'
}
}
}
}
}]
ad_group_service.Mutate(operations)
|
| Get ad group info/stats |
ad_group_service.GetAdGroup(ad_group_id)
# or
ad_group_service.GetAdGroupList([ad_group_id])
# or
ad_group_service.GetAdGroupStats(
campaign_id, [ad_group_id],
'2009-01-01', '2009-01-31')
# or
ad_group_service.GetAllAdGroups(campaign_id)
AdGroupService.getAdGroup, AdGroupService.getAdGroupList, AdGroupService.getAdGroupStats, AdGroupService.getAllAdGroups |
selector = {
'campaignId': campaign_id,
'adGroupIds': [ad_group_id],
'statsSelector': {
'dateRange': {
'max': '20090131',
'min': '20090101'
}
}
}
ad_group_service.Get(selector)
|
| Update ad groups |
ad_group = {
'campaignId': cpc_campaign_id,
'id': ad_group_id,
'keywordMaxCpc': '2500000',
}
ad_group_service.UpdateAdGroup(ad_group)
# or
ad_group_service.UpdateAdGroupList([ad_group])
AdGroupService.updateAdGroup, AdGroupService.updateAdGroupList |
operations = [{
'operator': 'SET',
'operand': {
'campaignId': campaign_id,
'id': ad_group_id,
'status': 'PAUSED',
'bids': {
'type': 'ManualCPCAdGroupBids',
'keywordMaxCpc': {
'amount': {
'microAmount': '2500000'
}
}
}
}
}]
ad_group_service.Mutate(operations)
|
| Task | v13 | v200909 |
|---|---|---|
| Add ads |
ads = [{
'adGroupId': ad_group_id,
'adType': 'TextAd',
'destinationUrl': 'http://www.example.com',
'displayUrl': 'example.com',
'status': 'Enabled',
'description1': 'Visit the Red Planet in style.',
'description2': 'Low-gravity fun for everyone!',
'headline': 'Luxury Cruise to Mars'
}]
ad_service.AddAds(ads)
|
operations = [{
'operator': 'ADD',
'operand': {
'type': 'AdGroupAd',
'adGroupId': ad_group_id,
'ad': {
'type': 'TextAd',
'url': 'http://www.example.com',
'displayUrl': 'example.com',
'status': 'ENABLED',
'description1': 'Visit the Red Planet in style.',
'description2': 'Low-gravity fun for everyone!',
'headline': 'Luxury Cruise to Mars'
}
}
}]
ad_group_ad_service.Mutate(operations)
|
| Get ad info/stats |
ad_service.GetActiveAds([ad_group_id])
# or
ad_service.GetAd(ad_group_id, ad_id)
# or
ad_service.GetAdStats(
[ad_group_id], '2009-01-01', '2009-01-31')
# or
ad_service.GetAllAds([ad_group_id])
AdService.getActiveAds, AdService.getAd, AdService.getAdStats, AdService.getAllAds |
selector = {
'adGroupIds': [ad_group_id],
'adIds': [ad_id].
'statsSelector': {
'dateRange': {
'max': '20090131',
'min': '20090101'
}
}
}
ad_group_ad_service.Get(selector)
|
| Update ads |
ads = [{
'adGroupId': ad_group_id,
'adType': 'TextAd',
'id': ad_id,
'status': 'Paused',
}]
ad_service.UpdateAds(ads)
|
operations = [{
'operator': 'SET',
'operand': {
'type': 'AdGroupAd',
'adGroupId': ad_group_id,
'ad': {
'id': ad_id,
},
'status': 'PAUSED'
}
}]
ad_group_ad_service.Mutate(operations)
|
| Task | v13 | v200909 |
|---|---|---|
| Add campaigns |
# Create new campaign.
campaign = {
'budgetAmount': '1000000',
'budgetPeriod': 'Daily',
'geoTargeting': {
'cityTargets': {
'cities': ['New York, NY US']
},
},
'status': 'Paused'
}
campaign_service.AddCampaign(campaign)
# or
campaign_service.AddCampaignList([campaign])
CampaignService.addCampaign, CampaignService.addCampaignList |
# Create new campaign.
operations = [{
'operator': 'ADD',
'operand': {
'status': 'PAUSED',
'biddingStrategy': 'ManualCPC',
'endDate': '20110101',
'budget': {
'period': 'DAILY',
'amount': {
'microAmount': '1000000'
},
'deliveryMethod': 'STANDARD'
}
}
}]
campaign_id = campaign_service.Mutate(
operations)[0]['value'][0]['id']
# Update campaign to add geo target.
operations = [
{
'operator': 'SET',
'operand': {
'type': 'GeoTargetList',
'campaignId': campaign_id,
'targets': [{
'type': 'CityTarget',
'cityName': 'New York',
'countryCode': 'US'
}]
}
}
]
campaign_target_service.Mutate(operations)
|
| Get campaign info/stats |
campaign_serivce.GetActiveAdWordsCampaigns()
# or
campaign_service.GetAllAdWordsCampaigns()
# or
campaign_service.GetCampaign(campaign_id)
# or
campaign_service.GetCampaignList([campaign_id])
# or
campaign_service.GetCampaignStats(
campaign_id, '2009-01-01', '2009-01-31')
CampaignService.getActiveAdWordsCampaigns, CampaignService.getAllAdWordsCampaigns, CampaignService.getCampaign, CampaignService.getCampaignList, CampaignService.getCampaignStats |
selector = {
'ids': [campaign_id],
'statsSelector': {
'dateRange': {
'max': '20090131',
'min': '20090101'
}
}
}
campaign_service.Get(selector)
|
| Update campaigns |
# Update campaign.
campaign = {
'budgetAmount': '4000000',
'id': campaign_id1,
}
campaign_serivce.UpdateCampaign(campaign)
# or
campaign_service.UpdateCampaignList([campaign])
CampaignService.updateCampaign, CampaignServic e.updateCampaignList |
# Update campaign.
operations = [{
'operator': 'SET',
'operand': {
'id': campaign_id1,
'budget': {
'period': 'DAILY',
'amount': {
'microAmount': '4000000'
},
'deliveryMethod': 'STANDARD'
}
}
}]
campaign_service.Mutate(operations)
|
| Task | v13 | v200909 |
|---|---|---|
| Add keywords |
criteria = [{
'adGroupId': ad_group_id,
'criterionType': 'Keyword',
'destinationUrl': 'http://www.example.com',
'negative': 'False',
'paused': 'False',
'status': 'Active',
'maxCpc': '1000000',
'text': 'car insurance',
'type': 'Broad'
}]
criterion_service.AddCriteria(criteria)
|
operations = [{
'operator': 'ADD',
'operand': {
'type': 'BiddableAdGroupCriterion',
'adGroupId': ad_group_id,
'criterion': {
'type': 'Keyword',
'matchType': 'BROAD',
'text': 'car insurance'
},
'destinationUrl': 'http://www.example.com',
'bids': {
'type': 'ManualCPCAdGroupCriterionBids',
'maxCpc': {
'amount': {
'microAmount': '1000000'
}
}
},
'userStatus': 'ACTIVE'
}
}]
ad_group_criterion_service.Mutate(operations)
|
| Get keywords info/stats |
criterion_service.GetAllCriteria(ad_group_id)
# or
criterion_service.GetCampaignNegativeCriteria(
ad_group_id)
# or
criterion_service.GetCriteria(
ad_group_id, [criterion_id])
# or
criterion_service.GetCriterionStats(
ad_group_id, [criterion_id],
'2009-01-01', '2009-01-31')
CriterionService.getAllCriteria, CriterionService.getCampaignNegativeCriteria, CriterionService.getCriteria, CriterionService.getCriterionStats |
selector = {
'idFilters': [{
'adGroupId': ad_group_id,
'criterionId': criterion_id
}]
}
ad_group_criterion_service.Get(selector)
|
| Remove keywords |
criterion_service.RemoveCriteria(
ad_group_id, [criterion_id])
|
operations = [{
'operator': 'REMOVE',
'operand': {
'type': 'BiddableAdGroupCriterion',
'adGroupId': ad_group_id,
'criterion': {
'id': criterion_id,
}
}
}]
ad_group_criterion_service.Mutate(operations)
|
| Update keyword |
criteria = [{
'adGroupId': ad_group_id,
'criterionType': 'Keyword',
'destinationUrl': 'http://www.example.com',
'id': criterion_id,
'paused': 'False',
'maxCpc': '200000'
}]
criterion_service.UpdateCriteria(criteria)
|
operations = [{
'operator': 'SET',
'operand': {
'type': 'BiddableAdGroupCriterion',
'adGroupId': ad_group_id,
'criterion': {
'id': criterion_id,
},
'userStatus': 'ACTIVE',
'bids': {
'type': 'ManualCPCAdGroupCriterionBids',
'maxCpc': {
'amount': {
'microAmount': '200000'
}
}
}
}
}]
ad_group_criterion_service.Mutate(operations)
|
| Task | v13 | v200909 |
|---|---|---|
| Get free units for the month |
info_service.GetFreeUsageQuotaThisMonth() |
selector = {
'apiUsageType': 'FREE_USAGE_API_UNITS_PER_MONTH'
}
info_service.Get(selector)
|
| Get method cost |
info_service.GetMethodCost(
'AdGroupService', 'mutate', '2009-08-01')
|
selector = {
'serviceName': 'AdGroupService',
'methodName': 'mutate',
'operator': 'SET',
'dateRange': {
'min': '20090801',
'max': '20090801'
},
'apiUsageType': 'METHOD_COST'
}
info_serivce.Get(selector)
|
| Get operation count |
info_service.GetOperationCount(
'2009-01-01', '2009-01-31')
|
selector = {
'dateRange': {
'min': '20090101',
'max': '20090131'
},
'apiUsageType': 'OPERATION_COUNT'
}
info_serivce.Get(selector)
|
| Get unit count |
info_service.GetUnitCount(
'2009-09-01', '2009-09-30')
|
selector = {
'dateRange': {
'min': '20090901',
'max': '20090930'
},
'apiUsageType': 'UNIT_COUNT'
}
info_serivce.Get(selector)
|
| Get unit count for clients |
info_service.GetUnitCountForClients(
['joe@example.com'],
'2009-09-01', '2009-09-30')
|
selector = {
'dateRange': {
'min': '20090801',
'max': '20090831'
},
'clientEmails': ['joe@example.com'],
'apiUsageType': 'UNIT_COUNT_FOR_CLIENTS'
}
info_serivce.Get(selector)
|
| Get units usage this month |
info_service.GetUsageQuotaThisMonth() |
selector = {
'apiUsageType': 'TOTAL_USAGE_API_UNITS_PER_MONTH'
}
info_serivce.Get(selector)
|
| Task | v13 | v200909 |
|---|---|---|
| Get keywords from site |
keyword_tool_service.GetKeywordsFromSite(
'finance.google.com', 'False',
['en'], ['US'])
|
selector = {
'searchParameters': [
{
'type': 'RelatedToUrlSearchParameter',
'urls': ['http://finance.google.com'],
'includeSubUrls': 'False'
},
{
'type': 'LanguageTargetSearchParameter',
'languageTargets': [
{'languageCode': 'en'},
]
},
{
'type': 'CountryTargetSearchParameter',
'countryTargets': [
{'countryCode': 'US'},
]
}
],
'ideaType': 'PLACEMENT',
'requestType': 'IDEAS',
'paging': {
'startIndex': '0',
'numberResults': '100'
}
}
targeting_idea_service.Get(selector)
|
| Get keyword variations |
seed_keywords = [
{
'negative': 'False',
'text': 'flowers',
'type': 'Broad'
},
{
'negative': 'False',
'text': 'house',
'type': 'Broad'
}
]
keyword_tool_service.GetKeywordVariations(
seed_keywords, 'True',
['en'], ['US'])
|
selector = {
'searchParameters': [
{
'type': 'RelatedToKeywordSearchParameter',
'keywords': [
{
'text': 'flowers',
'matchType': 'BROAD'
},
{
'text': 'house',
'matchType': 'BROAD'
}
]
},
{
'type': 'LanguageTargetSearchParameter',
'languageTargets': [
{'languageCode': 'en'},
]
},
{
'type': 'CountryTargetSearchParameter',
'countryTargets': [
{'countryCode': 'US'},
]
}
],
'ideaType': 'KEYWORD',
'requestType': 'IDEAS',
'paging': {
'startIndex': '0',
'numberResults': '100'
}
}
targeting_idea_service.Get(selector)
|
| Task | v13 | v200909 |
|---|---|---|
| Get sites by URLs |
urls = ['www.google.com']
targeting = {
'countries': ['US'],
'languages': ['en'],
'metros': ['501'],
'regions': ['US-NY']
}
site_suggestion_service.GetSitesByUrls(
urls, targeting)
|
selector = {
'searchParameters': [
{
'type': 'RelatedToUrlSearchParameter',
'urls': ['google.com'],
'includeSubUrls': 'False'
},
{
'type': 'LanguageTargetSearchParameter',
'languageTargets': [
{'languageCode': 'en'},
]
},
{
'type': 'CountryTargetSearchParameter',
'countryTargets': [
{'countryCode': 'US'},
]
}
],
'ideaType': 'PLACEMENT',
'requestType': 'IDEAS',
'paging': {
'startIndex': '0',
'numberResults': '100'
}
}
targeting_idea_service.Get(selector)
|
| Get sites by topics |
topics = ['jewelry store']
targeting = {
'countries': ['US'],
'languages': ['en'],
'metros': ['501'],
'regions': ['US-NY']
}
site_suggestion_service.GetSitesByTopics(
topics, targeting)
|
selector = {
'searchParameters': [
{
'type': 'PlacementTypeSearchParameter',
'placementTypes': ['SITE']
},
{
'type': 'RelatedToKeywordSearchParameter',
'keywords': [{
'text': 'jewelry store',
'matchType': 'EXACT'
}]
},
{
'type': 'LanguageTargetSearchParameter',
'languageTargets': [
{'languageCode': 'en'},
]
},
{
'type': 'CountryTargetSearchParameter',
'countryTargets': [
{'countryCode': 'US'},
]
}
],
'ideaType': 'PLACEMENT',
'requestType': 'IDEAS',
'paging': {
'startIndex': '0',
'numberResults': '100'
}
}
targeting_idea_service.Get(selector)
|