AwReporting - the reporting tool
-
Upload
supergigas -
Category
Technology
-
view
1.413 -
download
0
Transcript of AwReporting - the reporting tool
AwReportingDownload report data to a local DB very easily
Gustavo Moreira
Agenda
● What the tool is
● Overview
● Why is it important?
● How to get started
● Demo!
What is AwReporting?
The Problem
● Larger number of accounts
● A lot of performance information
● Hard to scale
● Very useful information
The Solution
● Use the API
● Download overnight
● Persist locally
● Build on top of it
The Tool
● Multi-threaded download
● Persists to SQL DBs*
● Also persists to MongoDB
● Handles all the API access
● Expose Java objects
● * Uses Hibernate to do the persistence
The Tool - Cont.
● It is open source!
● Very extendable!
● Standalone command line
● Can be part of your platform
Non-Technical Overview
1. Retrieving All the Accounts
AwReportingAdWords
API Client Account
Config. file MCC
Firstly, the tool will access the MCC and retrieve all the client accounts
2. Download the Reports
For each account, the tool will download all the configured report types from AdWords
AwReportingAdWords
API
Config. file
Client Account
Account Performance
Campaign Performance
Ads Performance
AdGroups Performance
URL Performance...
3. Persist to Local Database
Finally, all the reports are stored in your local database automatically, so the data can be accessed later
AwReporting
Account Performance
Campaign Performance
Ads Performance
AdGroups Performance
URL Performance...
Database
Account Performance
Campaign Performance
Ads Performance
AdGroups Performance
URL Performance
Client Account
4. Your Turn
Database
Account Performance
Campaign Performance
Ads Performance
CRM...
X
X
New Report*
Client Report*
Now you have all the client data locally to your system. You can integrate with your CRM, send out reports, etc...
Never Forget!
● Read and if necessary implement the RMFs!
● You can throw the data away and download again!
● It is a lot of data!
A Technical Overview
How does it work?
Properties file
AwReporting
Downloaders
DBAwReporting
Model
AdWords API
Custom platform
Custom Java code
In the cloud
Part of the tool
Internal to the tool
User-specific
Local file
Java
Any language
Components
DatabaseLocal to the user
Report definitions
Map the reports to entities
Entity persisters
Handles the persistence layer
AwReporting main
Executes the download and persistence
● Report definitions
● Entity persisters
● AwReporting main
Report Definitions
AdWords API
Report (CSV)
AwReporting
Report definition DB
Java bean
Report definition
Persister
Combined
Java bean
Report definition
Entity Persisters
● Interface to handle entities
● Contains methods to save, delete and get
● Use it to access the database!
● It talks Java Bean
Entity Persisters - Cont.
● Takes care of the transaction
● Handles the exceptions
● Type safe
AwReporting Main
● Coordinates all the parts
● Handles parallelism
● Standalone command line program
● Flexible configuration
● Uses OAuth 2.0 to authenticate (ONLY)
AwReporting Main - Cfg.
Configuration in a properties file
mccAccountId=<MCC>eveloperToken=<Developer Token>...aw.report.model.db.mysql.driver=com.mysql.jdbc.Driver...aw.report.downloader.num.threads=20...# Define the reports fields to be selectedKEYWORDS_PERFORMANCE_REPORT=ExternalCustomerId,Date,...
Possible Applications
Reducing API Adoption Time
● Out of the box solution to reports
● Very small work time required
● Latest API version
● Easy to extend
Follow the Example
● Best practices applied to the real world
● Very good executable examples
● The DAs invest time on it
● More features to come
Starting Point
● Remove reports out of the way
● Local data is easier to handle
● First step towards automation
● Automated report generation to clients?
Getting Started
Building the Tool
● Start by downloading the source code:○ http://goo.gl/TQxIdN
● Follow the guide to build the tool
● Everything is open source
Accessing the Source Code
● Default Maven project format
● $ mvn eclipse:eclipse
● You can edit, and build yourself!
● Two different modules/projects
System Requirements
● AdWords developer token
● Database (MySQL)
● Java 6
Resources
● https://github.com/googleads/aw-reporting