30
AwReporting Download report data to a local DB very easily Gustavo Moreira

AwReporting - the reporting tool

Embed Size (px)

Citation preview

Page 1: AwReporting - the reporting tool

AwReportingDownload report data to a local DB very easily

Gustavo Moreira

Page 2: AwReporting - the reporting tool

Agenda

● What the tool is

● Overview

● Why is it important?

● How to get started

● Demo!

Page 3: AwReporting - the reporting tool

What is AwReporting?

Page 4: AwReporting - the reporting tool

The Problem

● Larger number of accounts

● A lot of performance information

● Hard to scale

● Very useful information

Page 5: AwReporting - the reporting tool

The Solution

● Use the API

● Download overnight

● Persist locally

● Build on top of it

Page 6: AwReporting - the reporting tool

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

Page 7: AwReporting - the reporting tool

The Tool - Cont.

● It is open source!

● Very extendable!

● Standalone command line

● Can be part of your platform

Page 8: AwReporting - the reporting tool

Non-Technical Overview

Page 9: AwReporting - the reporting tool

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

Page 10: AwReporting - the reporting tool

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

Page 11: AwReporting - the reporting tool

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

Page 12: AwReporting - the reporting tool

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

Page 13: AwReporting - the reporting tool

Never Forget!

● Read and if necessary implement the RMFs!

● You can throw the data away and download again!

● It is a lot of data!

Page 14: AwReporting - the reporting tool

A Technical Overview

Page 15: AwReporting - the reporting tool

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

Page 16: AwReporting - the reporting tool

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

Page 17: AwReporting - the reporting tool

Report Definitions

AdWords API

Report (CSV)

AwReporting

Report definition DB

Java bean

Report definition

Persister

Combined

Java bean

Report definition

Page 18: AwReporting - the reporting tool

Entity Persisters

● Interface to handle entities

● Contains methods to save, delete and get

● Use it to access the database!

● It talks Java Bean

Page 19: AwReporting - the reporting tool

Entity Persisters - Cont.

● Takes care of the transaction

● Handles the exceptions

● Type safe

Page 20: AwReporting - the reporting tool

AwReporting Main

● Coordinates all the parts

● Handles parallelism

● Standalone command line program

● Flexible configuration

● Uses OAuth 2.0 to authenticate (ONLY)

Page 21: AwReporting - the reporting tool

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

Page 22: AwReporting - the reporting tool

Possible Applications

Page 23: AwReporting - the reporting tool

Reducing API Adoption Time

● Out of the box solution to reports

● Very small work time required

● Latest API version

● Easy to extend

Page 24: AwReporting - the reporting tool

Follow the Example

● Best practices applied to the real world

● Very good executable examples

● The DAs invest time on it

● More features to come

Page 25: AwReporting - the reporting tool

Starting Point

● Remove reports out of the way

● Local data is easier to handle

● First step towards automation

● Automated report generation to clients?

Page 26: AwReporting - the reporting tool

Getting Started

Page 27: AwReporting - the reporting tool

Building the Tool

● Start by downloading the source code:○ http://goo.gl/TQxIdN

● Follow the guide to build the tool

● Everything is open source

Page 28: AwReporting - the reporting tool

Accessing the Source Code

● Default Maven project format

● $ mvn eclipse:eclipse

● You can edit, and build yourself!

● Two different modules/projects

Page 29: AwReporting - the reporting tool

System Requirements

● AdWords developer token

● Database (MySQL)

● Java 6

Page 30: AwReporting - the reporting tool

Resources

● https://github.com/googleads/aw-reporting