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
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
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
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
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