2. AwReporting
Introducción a la herramienta
por Gustavo Moreira
+GustavoMenezes, Google Inc.
AdWords API Workshops – All rights reserved
3. Agenda
● Qué es la herramienta
● Visión general
● ¿Por qué es importante?
● Primeros pasos
● Próximos pasos
AdWords API Workshops – All rights reserved
5. El Problema
● Gran número de cuentas
● Gran cantidad de información
● Difícicultad para crecer
● Información muy útil
AdWords API Workshops – All rights reserved
Definiendo AwReporting
6. La Solución
● Usar la API
● Descargar por la noche
● Almacenar localmente
● Utilizar como base
AdWords API Workshops – All rights reserved
Definiendo AwReporting
7. La Herramienta
● Descarga con múltiples hilos
● Almacenamiento en SQL BDs*
● Almacenamiento opcional en MongoDB
● Administración de los accesos a la API
● Expone objetos Java
● * Usa Hibernate para almacenar los objetos
AdWords API Workshops – All rights reserved
Definiendo AwReporting
8. La Herramienta
● ¡Código abierto!
● Diseño extensible
● Puede ser usada en línea de comandos
● Puede integrarse con tus sistemas
AdWords API Workshops – All rights reserved
Definiendo AwReporting
10. ¿Cómo funciona?
En la nube
Custom Java
code
AdWords
API
Java
AwReporting
Properties
file
Local file
AdWords API Workshops – All rights reserved
Downloaders
AwReporting
Model
En la herramienta
Detalle interno
Específico usuario
DB
Custom
platform
Any language
11. Componentes
● Definiciones de informes
● Entity persisters
● AwReporting principal
Descarga los
archivos y
almacena en BD
Administración de
la franja de datos
Mapea los informes
en entidades
Local al usuário
AdWords API Workshops – All rights reserved
AwReporting
main
Entity persisters
Report definitions
Database
Visión General
12. Definiciones de Informes
● Java Beans con annotations
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
Visión General
13. Definiciones de Informes (cont.)
@CsvReport(value = AD_PERFORMANCE_REPORT)
● El nombre que está en la documentación:
○ https://developers.google.com/adwords/api/docs/appendix/reports *
@CsvField(value = "Ad ID", reportField = "Id")
● El display name, y el report field
* Enlaces al final de la presentación
AdWords API Workshops – All rights reserved
Visión General
14. Definiciones de Informes (cont.)
AdWords
API
Report
(CSV)
Report
definition
Java
bean
AwReporting
Report
definition
Persister
Java
bean
Report
definition
DB
Combined
AdWords API Workshops – All rights reserved
Visión General
15. Entity Persisters
● Interfaz para administrar entidades
● Posee métodos para guardar, borrar y listar
● Uselas para acceder la base de datos!
● Habla Java Bean!
AdWords API Workshops – All rights reserved
Visión General
16. Entity Persisters (cont.)
● Administra las transacciones con la base de datos
● Administra los errores y fallos
● Type safe
AdWords API Workshops – All rights reserved
Visión General
17. AwReporting Principal
● Coordina todo el proceso
● Administra el paralelismo
● Funciona en la línea de comandos
● Configuración flexible
● Usa OAuth 2.0 para autenticación (únicamente)
AdWords API Workshops – All rights reserved
Visión General
18. AwReporting Principal
● Configuración del archivo de propiedades
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
Visión General
19. AwReporting Principal
● Línea de comandos
$ java -Xmx512m -jar aw-report-tool.jar
-startDate <some date>
-endDate <some date>
-file <properties-location>/configuration.properties
● startDate, endDate: yyyyMMdd
● file: el archivo de configuración
AdWords API Workshops – All rights reserved
Visión General
21. Reduciendo la Curva de Aprendizaje
● Solución lista para descargar informes
● Poco trabajo necesario para empezar
● Última versión de la API
● Fácil de extender
AdWords API Workshops – All rights reserved
Posibles Aplicaciones
22. Siguiendo el Ejemplo
● Mejores praxis aplicadas al mundo real
● Buenos ejemplos ejecutables
● Los DAs invierten tiempo en su mantenimiento
● Más funcionalidades por venir
AdWords API Workshops – All rights reserved
Posibles Aplicaciones
23. Punto de Partida
● Ahorrate el trabajo de procesar informes
● Los datos locales son más fáciles de administrar
● Primer paso para la automatización
● Se pueden generar informes de forma automática para
los clientes
AdWords API Workshops – All rights reserved
Posibles Aplicaciones
25. Compilando la herramienta
● Descargue el código fuente:
○
http://goo.gl/TQxIdN *
● Siga el guia para compilar la herramienta
● Todo es open source
* Enlaces al final de la presentación
AdWords API Workshops – All rights reserved
Dónde Empezar
27. Accediendo al Código Fuente
● Formato estándar de proyecto Maven
● $ mvn eclipse:eclipse
● Puedes editar, y compilar tu mismo!
● Hay dos módulos/proyectos diferentes
AdWords API Workshops – All rights reserved
Dónde Empezar
29. Prerrequisitos del Sistema
● AdWords developer token
● Base de datos (MySQL)
● Java 6
AdWords API Workshops – All rights reserved
Dónde Empezar
30. Prerrequisitos de Conocimiento (programar)
● Java 6 - Annotations, Generics, etc.
● Maven - build
● Spring framework, Hibernate - beans and database
AdWords API Workshops – All rights reserved
Dónde Empezar
31. Modificar la Herramienta
● Añadir un nuevo informe creando una nueva definición
● Administrar las descargas en el archivo de configuración
● Campos de la base de datos por annotations
● Entity persister para acceder los datos
AdWords API Workshops – All rights reserved
Dónde Empezar
33. Dando el Próximo Paso
¿Y ahora qué?
AdWords API Workshops – All rights reserved
34. Los Datos son Suyos!
● Cree sus informes
● Optimice sus cuentas de clientes
● Autogenere informes en PDF
● Integre con otros sistemas internos
AdWords API Workshops – All rights reserved
Dando el Próximo Paso
35. La Herramienta como Complemento
● La herramienta funciona bien con otras plataformas
● Defina su propia base de datos
● No necesitas conocimiento de Java
● Siga las mejores praxis, cree su propia herramienta!
AdWords API Workshops – All rights reserved
Dando el Próximo Paso
36. Buscando la Automatización Completa
● Necesitas datos para automatizar
● Administración de campaigns, ads, keywords, etc.
● Feedback para optimización
● Historial de servicio
AdWords API Workshops – All rights reserved
Dando el Próximo Paso