SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
AdWords API Workshops – All rights reserved
AW Reports to DB
Introdução a ferramenta

by Gustavo Moreira
+GustavoMenezes, Google, Inc.
AdWords API Workshops – All rights reserved
Agenda
● O que é a ferramenta
● Visão geral
● Porque é important?
● Como começar
● Próximos passos

AdWords API Workshops – All rights reserved
Definindo AW Reports to DB
O que a ferramenta faz

AdWords API Workshops – All rights reserved
O Problema
● Grande número de contas
● Muita informação disponível
● Difícil de escalar
● Muita informação útil

AdWords API Workshops – All rights reserved

Defining AwReporting
A Solução
● Use a API
● Download noturno
● Persiste localmente
● Desenvolva com
base nos dados

AdWords API Workshops – All rights reserved

Defining AwReporting
A Ferramenta
● Download multi-thread
● Persiste em SQL DBs*
● Persiste também em MongoDB
● Lida com todo acessa a API
● Expõe objetos Java
● * Hibernate é utilizado para gerenciar a persistência
AdWords API Workshops – All rights reserved

Defining AwReporting
A Ferramenta
● É open source!
● Criada para ser extendida
● Pode ser rodada da linha de comando
● Pode ser integrada em sua plataforma

AdWords API Workshops – All rights reserved

Defining AwReporting
Uma Visão Geral
Uma visão macro da ferramenta

AdWords API Workshops – All rights reserved
Como Que Funciona?

In the cloud

Custom Java
code

AdWords
API

Java

AwReporting

Properties
file
Local file
AdWords API Workshops – All rights reserved

Downloaders

AwReporting
Model

Part of the tool
Internal to the tool
User-specific

DB

Custom
platform
Any language
Componentes
● Report definitions
● Entity persisters
● AwReporting main

Executes the
download and
persistence
Handles the
persistence layer

Entity persisters

Map the reports to
entities

Report definitions

Local to the user

AdWords API Workshops – All rights reserved

AwReporting
main

Database

A Quick Overview
Report Definitions
● Java Beans com anotações
Java

@Entity
@Table(name = "AW_ReportAd")
@CsvReport(value = AD_PERFORMANCE_REPORT) // CSV Report
public class ReportAd extends Report {
// Field annotations
@Column(name = "AD_ID")
@CsvField(value = "Ad ID", reportField = "Id")
public Long adId;

AdWords API Workshops – All rights reserved

A Quick Overview
Report Definitions
@CsvReport(value = AD_PERFORMANCE_REPORT)

● O mesmo nome que é encontrado na documentação
○ https://developers.google.com/adwords/api/docs/appendix/reports *

@CsvField(value = "Ad ID", reportField = "Id")

● Display name, e report field também da documentação
* Links estão disponíveis no fim da apresentação
AdWords API Workshops – All rights reserved

A Quick Overview
Report Definitions
AdWords
API

Report
(CSV)

Report
definition

Java
bean
AwReporting

Report
definition

Persister

Java
bean

Report
definition
DB
Combined
AdWords API Workshops – All rights reserved

A Quick Overview
Entity Persisters
● Interface para gerenciar as entidades
● Já possui os métodos de save, delete e get
● Use-os para acessar o BD!
● Conversam Java Bean com a aplicação

AdWords API Workshops – All rights reserved

A Quick Overview
Entity Persisters
● Toma conta das transações de banco
● Trata as exceções
● Type safe

AdWords API Workshops – All rights reserved

A Quick Overview
AwReporting Main
● Coordena todos os módulos
● Cuida do paralelismo
● Roda como standalone na linha de comando
● Configuração flexível
● Usa OAuth 2.0 para autenticação (APENAS)

AdWords API Workshops – All rights reserved

A Quick Overview
AwReporting Main
● Configuração toda em arquivo properties
Properties
mccAccountId=<MCC>
developerToken=<Developer Token>
...
aw.report.model.db.mysql.driver=com.mysql.jdbc.Driver
...
aw.report.downloader.num.threads=20
...
// Define the reports fields to be selected
KEYWORDS_PERFORMANCE_REPORT=ExternalCustomerId,Date,...

AdWords API Workshops – All rights reserved

A Quick Overview
AwReporting Main
● Standalone na linha de comando:
$ java -Xmx512m -jar aw-report-tool.jar
-startDate <some date> 
-endDate <some date> 
-file <properties-location>/configuration.properties

● startDate, endDate: yyyyMMdd format
● file: arquivo properties

AdWords API Workshops – All rights reserved

A Quick Overview
Possíveis Casos de Uso
Porque a ferramenta é importante

AdWords API Workshops – All rights reserved
Reduzindo tempo de adoção da API
● Solução out of the box para relatórios
● Muito pouco tempo de desenvolvimento necessário
● Última versão da API
● Fácil de extender

AdWords API Workshops – All rights reserved

Possible Applications
Siga o Exemplo
● Boas práticas aplicadas ao mundo real
● Exemplos executáveis muito bons
● Os DAs investem tempo na ferramenta!
● Mais funcionalidades vão surgir

AdWords API Workshops – All rights reserved

Possible Applications
Ponto de Início
● Relatórios não vão ser mais problema
● Mais fácil lidar com dados locais
● Primeiro passo para automação
● Geração de relatórios automáticos para clientes?

AdWords API Workshops – All rights reserved

Possible Applications
Como Começar
Take my money!

AdWords API Workshops – All rights reserved
Building the Tool
● Comece baixando o código:
○

http://goo.gl/TQxIdN *

● Siga as instruções para fazer o build
● Lembre-se que tudo é open source

* Resources will be available in the final slides
AdWords API Workshops – All rights reserved

Getting Started
Demo

AdWords API Workshops – All rights reserved
Acessando o Código Fonte
● Formato padrão Maven de projeto
● $ mvn eclipse:eclipse
● Você pode editar, e criar sua própria versão!
● Dois módulos/projetos diferentes

AdWords API Workshops – All rights reserved

Getting Started
Demo

AdWords API Workshops – All rights reserved
System Requirements
● AdWords developer token
● Banco de Dados (MySQL/MongoDB/SQL*)
● Java 6

AdWords API Workshops – All rights reserved

Getting Started
Knowledge Requirements (para programar)
● Java 6 - Annotations, Generics, etc.
● Maven - build
● Spring framework, Hibernate - beans e banco de dados

AdWords API Workshops – All rights reserved

Getting Started
Customizando a Ferramenta
● Adicione um novo relatório, com um novo definition
● Gerencie os downloads pelo arquivo properties
● Campos do banco por anotações
● Entity persister para acessar os dados

AdWords API Workshops – All rights reserved

Getting Started
Demo

AdWords API Workshops – All rights reserved
Dando o Próximo Passo
E agora?

AdWords API Workshops – All rights reserved
Os Dados são Todos seus!
● Crie seus próprios relatórios
● Otimize baseado nos valores dos relatórios
● Auto-criação de relatórios em PDF
● Integre com seus sistemas internos

AdWords API Workshops – All rights reserved

Taking the Extra Step
Aplicação não Exclusiva
● Pode ser usada em conjunto com outras plataformas
● Defina sua própria base de dados
● Não é necessário desenvolver em Java
● Siga as boas práticas mostradas, crie sua própria!

AdWords API Workshops – All rights reserved

Taking the Extra Step
Buscando Automação Completa
● Dados são essenciais para automação
● Gerencie campanhas, ads, palavras-chave, etc.
● Feedback para melhor otimização
● Histórico de performance

AdWords API Workshops – All rights reserved

Taking the Extra Step
Links
AW Reports to DB - https://github.com/googleads/aw-reporting
Documentação de relatórios - https://developers.google.
com/adwords/api/docs/appendix/reports

AdWords API Workshops – All rights reserved
Perguntas?
Muito obrigado!

AdWords API Workshops – All rights reserved
AdWords API Workshops – All rights reserved

Contenu connexe

Similaire à AwReporting Tool

Rate limits and performance
Rate limits and performanceRate limits and performance
Rate limits and performancemarcwan
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosRafael Chaves
 
Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013Cláudio Leopoldino
 
Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Renzo Nuccitelli
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e PythonPeslPinguim
 
Aplicações Web com Python e Google App Engine
Aplicações Web com Python e Google App EngineAplicações Web com Python e Google App Engine
Aplicações Web com Python e Google App EngineRodrigo Amaral
 
Palestra ferramentas de administraao sgbd
Palestra   ferramentas de administraao sgbdPalestra   ferramentas de administraao sgbd
Palestra ferramentas de administraao sgbdDiego Rivera Tavares
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 Gabriel Machado
 
Apresentacao TCC - ERP Open Souce
Apresentacao TCC - ERP Open SouceApresentacao TCC - ERP Open Souce
Apresentacao TCC - ERP Open SouceAnderson De Faro
 
WSO2 - Visão Geral de Negócios
WSO2 - Visão Geral de NegóciosWSO2 - Visão Geral de Negócios
WSO2 - Visão Geral de NegóciosEdgar Silva
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...tdc-globalcode
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
Apresentacao final TCC ADS Veris 2012- Info Congress
Apresentacao final TCC ADS Veris 2012- Info CongressApresentacao final TCC ADS Veris 2012- Info Congress
Apresentacao final TCC ADS Veris 2012- Info CongressDanielle Cristina Soldera
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosRafael Chaves
 
Apresentação sie ir-2014
Apresentação sie ir-2014Apresentação sie ir-2014
Apresentação sie ir-2014Renan Moreira
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...George Mendonça
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Dirceu Resende
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Dirceu Resende
 

Similaire à AwReporting Tool (20)

Rate limits and performance
Rate limits and performanceRate limits and performance
Rate limits and performance
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutos
 
Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013Postgresql 50 Sabores - PgDay Ceará 2013
Postgresql 50 Sabores - PgDay Ceará 2013
 
Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e Python
 
Aplicações Web com Python e Google App Engine
Aplicações Web com Python e Google App EngineAplicações Web com Python e Google App Engine
Aplicações Web com Python e Google App Engine
 
Palestra ferramentas de administraao sgbd
Palestra   ferramentas de administraao sgbdPalestra   ferramentas de administraao sgbd
Palestra ferramentas de administraao sgbd
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
 
Apresentacao TCC - ERP Open Souce
Apresentacao TCC - ERP Open SouceApresentacao TCC - ERP Open Souce
Apresentacao TCC - ERP Open Souce
 
WSO2 - Visão Geral de Negócios
WSO2 - Visão Geral de NegóciosWSO2 - Visão Geral de Negócios
WSO2 - Visão Geral de Negócios
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Apresentacao final TCC ADS Veris 2012- Info Congress
Apresentacao final TCC ADS Veris 2012- Info CongressApresentacao final TCC ADS Veris 2012- Info Congress
Apresentacao final TCC ADS Veris 2012- Info Congress
 
#{GCODE}
#{GCODE}#{GCODE}
#{GCODE}
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
 
Apresentação sie ir-2014
Apresentação sie ir-2014Apresentação sie ir-2014
Apresentação sie ir-2014
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 

Plus de marcwan

Mcc scripts deck (日本語)
Mcc scripts deck (日本語)Mcc scripts deck (日本語)
Mcc scripts deck (日本語)marcwan
 
Getting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APIGetting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APImarcwan
 
Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)marcwan
 
Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)marcwan
 
Opportunity Analysis with Kratu
Opportunity Analysis with KratuOpportunity Analysis with Kratu
Opportunity Analysis with Kratumarcwan
 
07. feeds update
07. feeds update07. feeds update
07. feeds updatemarcwan
 
AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced marcwan
 
AdWords Scripts and MCC Scripting
AdWords Scripts and MCC ScriptingAdWords Scripts and MCC Scripting
AdWords Scripts and MCC Scriptingmarcwan
 
AwReporting Update
AwReporting UpdateAwReporting Update
AwReporting Updatemarcwan
 
Getting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google AnalyticsGetting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google Analyticsmarcwan
 
Shopping Campaigns and AdWords API
Shopping Campaigns and AdWords APIShopping Campaigns and AdWords API
Shopping Campaigns and AdWords APImarcwan
 
API Updates for v201402
API Updates for v201402API Updates for v201402
API Updates for v201402marcwan
 
AdWords API Targeting Options
AdWords API Targeting OptionsAdWords API Targeting Options
AdWords API Targeting Optionsmarcwan
 
Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)marcwan
 
Rate limits and performance (Spanish)
Rate limits and performance (Spanish)Rate limits and performance (Spanish)
Rate limits and performance (Spanish)marcwan
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)marcwan
 
End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)marcwan
 
AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)marcwan
 
Api update rundown (Spanish)
Api update rundown (Spanish)Api update rundown (Spanish)
Api update rundown (Spanish)marcwan
 
AdWords Scripts (Spanish)
AdWords Scripts (Spanish)AdWords Scripts (Spanish)
AdWords Scripts (Spanish)marcwan
 

Plus de marcwan (20)

Mcc scripts deck (日本語)
Mcc scripts deck (日本語)Mcc scripts deck (日本語)
Mcc scripts deck (日本語)
 
Getting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords APIGetting started with Google Analytics and the AdWords API
Getting started with Google Analytics and the AdWords API
 
Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)Bid Estimation with the AdWords API (v2)
Bid Estimation with the AdWords API (v2)
 
Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)Opportunity Analysis with Kratu (v2)
Opportunity Analysis with Kratu (v2)
 
Opportunity Analysis with Kratu
Opportunity Analysis with KratuOpportunity Analysis with Kratu
Opportunity Analysis with Kratu
 
07. feeds update
07. feeds update07. feeds update
07. feeds update
 
AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced AdWords API & OAuth 2.0, Advanced
AdWords API & OAuth 2.0, Advanced
 
AdWords Scripts and MCC Scripting
AdWords Scripts and MCC ScriptingAdWords Scripts and MCC Scripting
AdWords Scripts and MCC Scripting
 
AwReporting Update
AwReporting UpdateAwReporting Update
AwReporting Update
 
Getting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google AnalyticsGetting Started with AdWords API and Google Analytics
Getting Started with AdWords API and Google Analytics
 
Shopping Campaigns and AdWords API
Shopping Campaigns and AdWords APIShopping Campaigns and AdWords API
Shopping Campaigns and AdWords API
 
API Updates for v201402
API Updates for v201402API Updates for v201402
API Updates for v201402
 
AdWords API Targeting Options
AdWords API Targeting OptionsAdWords API Targeting Options
AdWords API Targeting Options
 
Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)Reporting Tips and Tricks (Spanish)
Reporting Tips and Tricks (Spanish)
 
Rate limits and performance (Spanish)
Rate limits and performance (Spanish)Rate limits and performance (Spanish)
Rate limits and performance (Spanish)
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)
 
End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)End to-end how to build a platform (Spanish)
End to-end how to build a platform (Spanish)
 
AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)AwReporting tool introduction (Spanish)
AwReporting tool introduction (Spanish)
 
Api update rundown (Spanish)
Api update rundown (Spanish)Api update rundown (Spanish)
Api update rundown (Spanish)
 
AdWords Scripts (Spanish)
AdWords Scripts (Spanish)AdWords Scripts (Spanish)
AdWords Scripts (Spanish)
 

AwReporting Tool

  • 1. AdWords API Workshops – All rights reserved
  • 2. AW Reports to DB Introdução a ferramenta by Gustavo Moreira +GustavoMenezes, Google, Inc. AdWords API Workshops – All rights reserved
  • 3. Agenda ● O que é a ferramenta ● Visão geral ● Porque é important? ● Como começar ● Próximos passos AdWords API Workshops – All rights reserved
  • 4. Definindo AW Reports to DB O que a ferramenta faz AdWords API Workshops – All rights reserved
  • 5. O Problema ● Grande número de contas ● Muita informação disponível ● Difícil de escalar ● Muita informação útil AdWords API Workshops – All rights reserved Defining AwReporting
  • 6. A Solução ● Use a API ● Download noturno ● Persiste localmente ● Desenvolva com base nos dados AdWords API Workshops – All rights reserved Defining AwReporting
  • 7. A Ferramenta ● Download multi-thread ● Persiste em SQL DBs* ● Persiste também em MongoDB ● Lida com todo acessa a API ● Expõe objetos Java ● * Hibernate é utilizado para gerenciar a persistência AdWords API Workshops – All rights reserved Defining AwReporting
  • 8. A Ferramenta ● É open source! ● Criada para ser extendida ● Pode ser rodada da linha de comando ● Pode ser integrada em sua plataforma AdWords API Workshops – All rights reserved Defining AwReporting
  • 9. Uma Visão Geral Uma visão macro da ferramenta AdWords API Workshops – All rights reserved
  • 10. Como Que Funciona? In the cloud Custom Java code AdWords API Java AwReporting Properties file Local file AdWords API Workshops – All rights reserved Downloaders AwReporting Model Part of the tool Internal to the tool User-specific DB Custom platform Any language
  • 11. Componentes ● Report definitions ● Entity persisters ● AwReporting main Executes the download and persistence Handles the persistence layer Entity persisters Map the reports to entities Report definitions Local to the user AdWords API Workshops – All rights reserved AwReporting main Database A Quick Overview
  • 12. Report Definitions ● Java Beans com anotações Java @Entity @Table(name = "AW_ReportAd") @CsvReport(value = AD_PERFORMANCE_REPORT) // CSV Report public class ReportAd extends Report { // Field annotations @Column(name = "AD_ID") @CsvField(value = "Ad ID", reportField = "Id") public Long adId; AdWords API Workshops – All rights reserved A Quick Overview
  • 13. Report Definitions @CsvReport(value = AD_PERFORMANCE_REPORT) ● O mesmo nome que é encontrado na documentação ○ https://developers.google.com/adwords/api/docs/appendix/reports * @CsvField(value = "Ad ID", reportField = "Id") ● Display name, e report field também da documentação * Links estão disponíveis no fim da apresentação AdWords API Workshops – All rights reserved A Quick Overview
  • 15. Entity Persisters ● Interface para gerenciar as entidades ● Já possui os métodos de save, delete e get ● Use-os para acessar o BD! ● Conversam Java Bean com a aplicação AdWords API Workshops – All rights reserved A Quick Overview
  • 16. Entity Persisters ● Toma conta das transações de banco ● Trata as exceções ● Type safe AdWords API Workshops – All rights reserved A Quick Overview
  • 17. AwReporting Main ● Coordena todos os módulos ● Cuida do paralelismo ● Roda como standalone na linha de comando ● Configuração flexível ● Usa OAuth 2.0 para autenticação (APENAS) AdWords API Workshops – All rights reserved A Quick Overview
  • 18. AwReporting Main ● Configuração toda em arquivo properties Properties mccAccountId=<MCC> developerToken=<Developer Token> ... aw.report.model.db.mysql.driver=com.mysql.jdbc.Driver ... aw.report.downloader.num.threads=20 ... // Define the reports fields to be selected KEYWORDS_PERFORMANCE_REPORT=ExternalCustomerId,Date,... AdWords API Workshops – All rights reserved A Quick Overview
  • 19. AwReporting Main ● Standalone na linha de comando: $ java -Xmx512m -jar aw-report-tool.jar -startDate <some date> -endDate <some date> -file <properties-location>/configuration.properties ● startDate, endDate: yyyyMMdd format ● file: arquivo properties AdWords API Workshops – All rights reserved A Quick Overview
  • 20. Possíveis Casos de Uso Porque a ferramenta é importante AdWords API Workshops – All rights reserved
  • 21. Reduzindo tempo de adoção da API ● Solução out of the box para relatórios ● Muito pouco tempo de desenvolvimento necessário ● Última versão da API ● Fácil de extender AdWords API Workshops – All rights reserved Possible Applications
  • 22. Siga o Exemplo ● Boas práticas aplicadas ao mundo real ● Exemplos executáveis muito bons ● Os DAs investem tempo na ferramenta! ● Mais funcionalidades vão surgir AdWords API Workshops – All rights reserved Possible Applications
  • 23. Ponto de Início ● Relatórios não vão ser mais problema ● Mais fácil lidar com dados locais ● Primeiro passo para automação ● Geração de relatórios automáticos para clientes? AdWords API Workshops – All rights reserved Possible Applications
  • 24. Como Começar Take my money! AdWords API Workshops – All rights reserved
  • 25. Building the Tool ● Comece baixando o código: ○ http://goo.gl/TQxIdN * ● Siga as instruções para fazer o build ● Lembre-se que tudo é open source * Resources will be available in the final slides AdWords API Workshops – All rights reserved Getting Started
  • 26. Demo AdWords API Workshops – All rights reserved
  • 27. Acessando o Código Fonte ● Formato padrão Maven de projeto ● $ mvn eclipse:eclipse ● Você pode editar, e criar sua própria versão! ● Dois módulos/projetos diferentes AdWords API Workshops – All rights reserved Getting Started
  • 28. Demo AdWords API Workshops – All rights reserved
  • 29. System Requirements ● AdWords developer token ● Banco de Dados (MySQL/MongoDB/SQL*) ● Java 6 AdWords API Workshops – All rights reserved Getting Started
  • 30. Knowledge Requirements (para programar) ● Java 6 - Annotations, Generics, etc. ● Maven - build ● Spring framework, Hibernate - beans e banco de dados AdWords API Workshops – All rights reserved Getting Started
  • 31. Customizando a Ferramenta ● Adicione um novo relatório, com um novo definition ● Gerencie os downloads pelo arquivo properties ● Campos do banco por anotações ● Entity persister para acessar os dados AdWords API Workshops – All rights reserved Getting Started
  • 32. Demo AdWords API Workshops – All rights reserved
  • 33. Dando o Próximo Passo E agora? AdWords API Workshops – All rights reserved
  • 34. Os Dados são Todos seus! ● Crie seus próprios relatórios ● Otimize baseado nos valores dos relatórios ● Auto-criação de relatórios em PDF ● Integre com seus sistemas internos AdWords API Workshops – All rights reserved Taking the Extra Step
  • 35. Aplicação não Exclusiva ● Pode ser usada em conjunto com outras plataformas ● Defina sua própria base de dados ● Não é necessário desenvolver em Java ● Siga as boas práticas mostradas, crie sua própria! AdWords API Workshops – All rights reserved Taking the Extra Step
  • 36. Buscando Automação Completa ● Dados são essenciais para automação ● Gerencie campanhas, ads, palavras-chave, etc. ● Feedback para melhor otimização ● Histórico de performance AdWords API Workshops – All rights reserved Taking the Extra Step
  • 37. Links AW Reports to DB - https://github.com/googleads/aw-reporting Documentação de relatórios - https://developers.google. com/adwords/api/docs/appendix/reports AdWords API Workshops – All rights reserved
  • 38. Perguntas? Muito obrigado! AdWords API Workshops – All rights reserved
  • 39. AdWords API Workshops – All rights reserved