![Page 1: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/1.jpg)
Automação de Campanhasde Links Patrocinados com a API do Google AdWords
![Page 2: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/2.jpg)
Internet
Acesso residencial
crescimento em número de internautas e tempo de uso
![Page 3: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/3.jpg)
Internet
Banda Larga no Brasil
crescimento de 30,4% entre 2008 e 2009
![Page 4: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/4.jpg)
Publicidade Online
Internet permanece sendo a mídia que mais cresce
Investimentos em publicidade no meio Internet no Q1 de 2010
crescimento de 33% em relação a 2009
R$ 238 milhões
R$ 319 milhões
2009 2010
![Page 5: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/5.jpg)
Publicidade Online
Grandes portais brasileirosExemplos: UOL , Terra e iG
![Page 6: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/6.jpg)
Publicidade Online
Banners no UOL
![Page 7: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/7.jpg)
Publicidade Online
Banners no Terra
![Page 8: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/8.jpg)
Publicidade Online
Banners
no iG
![Page 9: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/9.jpg)
Publicidade do Google
AdWords para anunciantes
AdSense para proprietários de sites
![Page 10: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/10.jpg)
Rede de Pesquisa
SERP – Search Engines Results Pages
Segmentação por palavras-chave
![Page 11: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/11.jpg)
Rede de Pesquisa
Parceiros
de Pesquisa
CPC
Custo por Clique
PPC
Pay per Click
![Page 12: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/12.jpg)
Rede de Pesquisa
Parceiros
de Pesquisa
![Page 13: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/13.jpg)
Rede de Display
Serviços agregados
![Page 14: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/14.jpg)
Rede de Display
Contexto
da página
Segmentação
por canais
CPC ou
CPM
Custo por Mil
![Page 15: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/15.jpg)
Google AdWords
Painel self-service do AdWords
![Page 16: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/16.jpg)
Google AdWords
TDC 2010 no AdWords
![Page 17: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/17.jpg)
Google AdWords
Estrutura AdWords
Gerentes : Contas : Campanhas : Grupos de Anúncios
Anúncios, Palavras-Chave e Canais
![Page 18: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/18.jpg)
API do AdWords
Application Programming Interface
Desenvolvimento de software integrado ao Google AdWords
Maior agilidade em campanhas grandes e complexas
De acordo com as regras de negócio do anunciante
Exemplos
integração com estoque de produtos de lojas virtuais
balanceamento do orçamento entre campanhas de publicidade
atualização de horários para exibição de anúncios
![Page 19: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/19.jpg)
API do AdWords
Web Services SOAP 1.1
Simple Object Access Protocol
XML e HTTP
https://adwords.google.com/api/adwords/cm/
https://adwords-sandbox.google.com/api/adwords/cm/
Bibliotecas-cliente em Java, PHP, Python, .NET, Perl e Ruby
Versões v13 (2008/2009), v200906, v200909 e v201003
![Page 20: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/20.jpg)
API do AdWords
Versões v2009 09 e v2010 03
![Page 21: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/21.jpg)
API do AdWords
Nível de Campanhas e Grupos de Anúncios
Web Service Entidade
AdGroupService Grupos de Anúncios
AdGroupAdService Grupos de Anúncios e Anúncios
AdGroupCriterionService Grupos, Palavras-Chave e Canais
Web Service Entidade
CampaignService Campanhas
CampaignTargetService Segmentações de Campanhas
CampaignCriterionService Campanhas, Palavras-Chave e Canais
![Page 22: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/22.jpg)
Web Services e Classes
Classes de Campanhas
![Page 23: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/23.jpg)
Web Services e Classes
Classes de Grupos de Anúncios
![Page 24: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/24.jpg)
Operações
get e mutate
• get
• utilizada para leitura
• recebe filtro através de seletor na entrada
• devolve lista de objetos desejados como saída
• mutate
• utilizada para criação, atualização e remoção
• recebe lista de operações na entrada
• devolve objetos alterados como saída
![Page 25: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/25.jpg)
Operação get
Exemplo getAllCampaigns
// Get the CampaignService.
CampaignServiceInterface campaignService =user.getService(AdWordsService.V201003.CAMPAIGN_SERVICE);
// Create selector.CampaignSelector selector = new CampaignSelector();
// Get all campaigns.
CampaignPage page = campaignService.get(selector);
// Display campaigns.if (page.getEntries() != null) {
for (Campaign campaign : page.getEntries()) {System.out.println("Campaign with name \"" + campaign.getName() + "\" and id \""
+ campaign.getId() + "\" was found.");}
} else {System.out.println("No campaigns were found.");
}
![Page 26: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/26.jpg)
Operação mutate
Exemplo updateCampaign
// Get the CampaignService.CampaignServiceInterface campaignService = user.getService(AdWordsService.V201003.CAMPAIGN_SERVICE);
long campaignId = Long.parseLong(“51898803");
// Create campaign with updated budget.Campaign campaign = new Campaign();campaign.setId(campaignId);
// Create budget.Budget budget = new Budget();budget.setDeliveryMethod(BudgetBudgetDeliveryMethod.ACCELERATED);campaign.setBudget(budget);
// Create operations.CampaignOperation operation = new CampaignOperation();operation.setOperand(campaign);operation.setOperator(Operator.SET);
CampaignOperation[] operations = new CampaignOperation[] {operation};
// Update campaign.
CampaignReturnValue result = campaignService.mutate(operations);
// Display campaigns.if (result != null && result.getValue() != null) {
for (Campaign campaignResult : result.getValue()) {System.out.println("Campaign with name \"" + campaignResult.getName() + "\", id \""
+ campaignResult.getId() + "\", and budget delivery method \""+ campaignResult.getBudget().getDeliveryMethod() + "\" was updated.");
}} else {
System.out.println("No campaigns were updated.");}
![Page 27: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/27.jpg)
CampaignService
• Leitura: CampaignPage get (CampaignSelector selector)
• Criação, atualização, remoção:
CampaignReturnValue mutate (CampaignOperation[] operations)
Operador Descrição
ADD Usado para adições
REMOVE Usado para remoções.
SET Usado para atualizações
![Page 28: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/28.jpg)
Classe Campaign
Status
ACTIVE
DELETED
PAUSED
ServingStatus
SERVING
NONE
ENDED
PENDING
SUSPENDED
BudgetDeliveryMethod
STANDARD
ACCELERATED
![Page 29: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/29.jpg)
Grupos de Anúncios
Exemplo getAllAdGroups
// Get the AdGroupService.AdGroupServiceInterface adGroupService =
user.getService(AdWordsService.V201003.ADGROUP_SERVICE);
long campaignId = Long.parseLong("51898803");
// Create selector.AdGroupSelector selector = new AdGroupSelector();selector.setCampaignIds(new long[] {campaignId});
// Get all ad groups.AdGroupPage page = adGroupService.get(selector);
// Display ad groups.if (page.getEntries() != null) {
for (AdGroup adGroup : page.getEntries()) {System.out.println("Ad group with name \"" + adGroup.getName()
+ "\" and id \"" + adGroup.getId() + "\" was found.");}
} else {System.out.println("No ad groups were found.");
}
![Page 30: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/30.jpg)
Grupos de Anúncios
Exemplo updateAdGroup
// Get the AdGroupService.AdGroupServiceInterface adGroupService = user.getService(AdWordsService.V201003.ADGROUP_SERVICE);
long adGroupId = Long.parseLong(“1940071923");
// Create ad group with updated status.AdGroup adGroup = new AdGroup();adGroup.setId(adGroupId);adGroup.setStatus(AdGroupStatus.PAUSED);
// Create operations.AdGroupOperation operation = new AdGroupOperation();operation.setOperand(adGroup);operation.setOperator(Operator.SET);
AdGroupOperation[] operations = new AdGroupOperation[]{operation};
// Update ad group.AdGroupReturnValue result = adGroupService.mutate(operations);
// Display ad groups.if (result != null && result.getValue() != null) {
for (AdGroup adGroupResult : result.getValue()) {System.out.println("Ad group with name \"" + adGroupResult.getName() + "\", id \""
+ adGroupResult.getId() + "\", and status \"" + adGroupResult.getStatus()+ "\" was updated.");
}} else {
System.out.println("No ad groups were updated.");}
![Page 31: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/31.jpg)
Palavras-Chave
Exemplo getAllActiveAdGroupCriteria
// Get the AdGroupCriterionService.AdGroupCriterionServiceInterface adGroupCriterionService =
user.getService(AdWordsService.V201003.ADGROUP_CRITERION_SERVICE);
long adGroupId = Long.parseLong("1940071923");
// Create selector.AdGroupCriterionSelector selector = new AdGroupCriterionSelector();selector.setUserStatuses(new UserStatus[] {UserStatus.ACTIVE});
// Create id filter.AdGroupCriterionIdFilter idFilter = new AdGroupCriterionIdFilter();idFilter.setAdGroupId(adGroupId);selector.setIdFilters(new AdGroupCriterionIdFilter[] {idFilter});
// Get all active ad group criteria.AdGroupCriterionPage page = adGroupCriterionService.get(selector);
// Display ad group criteria.if (page.getEntries() != null && page.getEntries().length > 0) {
for (AdGroupCriterion adGroupCriterion : page.getEntries()) {if (adGroupCriterion instanceof BiddableAdGroupCriterion) {
BiddableAdGroupCriterion biddableAdGroupCriterion =(BiddableAdGroupCriterion) adGroupCriterion;
System.out.println("Ad group criterion with ad group id \""+ biddableAdGroupCriterion.getAdGroupId() + "\", criterion id \""+ biddableAdGroupCriterion.getCriterion().getId() + "\", type \""+ biddableAdGroupCriterion.getCriterion().getCriterionType()+ "\", and user status \"" + biddableAdGroupCriterion.getUserStatus()+ "\" was found.");
}}
} else {System.out.println("No ad group criteria were found.");
}
![Page 32: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/32.jpg)
Palavras-Chave
Exemplo updateAdGroupCriterion
// Get the AdGroupCriterionService.AdGroupCriterionServiceInterface adGroupCriterionService = user.getService(AdWordsService.V201003.ADGROUP_CRITERION_SERVICE);
long adGroupId = Long.parseLong("1940071923");
long criterionId = Long.parseLong("19326830763");
// Create ad group criterion with updated bid.Criterion criterion = new Criterion();criterion.setId(criterionId);
BiddableAdGroupCriterion biddableAdGroupCriterion = new BiddableAdGroupCriterion();biddableAdGroupCriterion.setAdGroupId(adGroupId);biddableAdGroupCriterion.setCriterion(criterion);
// Create bids.ManualCPCAdGroupCriterionBids bids = new ManualCPCAdGroupCriterionBids();bids.setMaxCpc(new Bid(new Money(null, 1000000L)));biddableAdGroupCriterion.setBids(bids);
// Create operations.AdGroupCriterionOperation operation = new AdGroupCriterionOperation();operation.setOperand(biddableAdGroupCriterion);operation.setOperator(Operator.SET);
AdGroupCriterionOperation[] operations = new AdGroupCriterionOperation[] {operation};
// Update ad group criteria.AdGroupCriterionReturnValue result = adGroupCriterionService.mutate(operations);
// Display ad group criteria.if (result != null && result.getValue() != null) {for (AdGroupCriterion adGroupCriterionResult : result.getValue()) {if (adGroupCriterionResult instanceof BiddableAdGroupCriterion) {
biddableAdGroupCriterion = (BiddableAdGroupCriterion) adGroupCriterionResult;System.out.println("Ad group criterion with ad group id \""
+ biddableAdGroupCriterion.getAdGroupId() + "\", criterion id \""+ biddableAdGroupCriterion.getCriterion().getId() + "\", type \""+ biddableAdGroupCriterion.getCriterion().getCriterionType() + "\", and bid \""+ ((ManualCPCAdGroupCriterionBids) biddableAdGroupCriterion.getBids())
.getMaxCpc().getAmount().getMicroAmount() + "\" was updated.");}
}} else {System.out.println("No ad group criteria were updated.");
}
![Page 33: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/33.jpg)
Cabeçalhos SOAP
• Cabeçalhos de solicitação
• authToken: token de autenticação do gerente da MCC (API ClientLogin do Google)
• developerToken: string de 22 caracteres do desenvolvedor
• applicationToken: string de 22 caracteres do aplicativo
• userAgent: string arbitrária da solicitação
• clientCustomerId (opcional): id do cliente
• clientEmail (opcional): email do cliente
• Cabeçalhos de resposta
• requestId: string da solicitação
• operations: número de operações realizadas
• responseTime: tempo decorrido em milissegundos
![Page 34: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/34.jpg)
API Errors
BudgetError.Reason
MONEY_AMOUNT_IN_WRONG_CURRENCY
MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC
MONEY_AMOUNT_LESS_THAN_MAXIMUM_AD_GROUP_CPM
MONEY_AMOUNT_LESS_THAN_MAXIMUM_SITE_CPM
MONEY_AMOUNT_LESS_THAN_MINIMUM_AD_GROUP_CPC
MONEY_AMOUNT_LESS_THAN_MINIMUM_CRITERIA_CPC
MONEY_AMOUNT_TOO_LARGE
NEGATIVE_MONEY_AMOUNT
NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT
![Page 35: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/35.jpg)
Custo da API
U$ 0,25 a cada 1 mil unidades
Request (operator) Per-item cost
AdGroupAdService
get 1 per AdGroupAd
mutate (ADD) 40 per AdGroupAd
mutate (REMOVE) 1 per AdGroupAd
mutate (SET) 1 per AdGroupAd
AdGroupCriterionService
get 1 per AdGroupCriterion
mutate (ADD) 15 per AdGroupCriterion
mutate (REMOVE) 1 per AdGroupCriterion
mutate (SET) 3 per AdGroupCriterion
AdGroupService
get 1 per AdGroup
mutate (ADD) 1 per AdGroup
mutate (SET) 5 per AdGroup
CampaignService
get 1 per Campaign
mutate (ADD) 1 per Campaign
mutate (SET) 1 per Campaign
![Page 36: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/36.jpg)
Blog AdWords API
![Page 37: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/37.jpg)
Artigos de Ajuda
![Page 38: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/38.jpg)
Fórum de Discussões
![Page 39: Apresentação tdc 2010 eric gomes - octavarium - ad words](https://reader035.vdocuments.pub/reader035/viewer/2022062320/559e89b91a28ab5d778b46b2/html5/thumbnails/39.jpg)
Contato
• Eric [email protected]@ericgomes
• Octavarium Tecnologiawww.octavarium.com.br@octavarium_tec