31
Exploring the Google Analytics API Vanessa Sabino @bani

Exploring the Google Analytics API

  • View
    3.031

  • Download
    2

Embed Size (px)

DESCRIPTION

Updated presentation for PyCon Canada 2013 Google Analytics is an excellent tool to track what happens in your website or your mobile app. In this talk, you'll learn how to query your data using the Python library for the Core Reporting API and why you should be doing it.

Citation preview

Page 1: Exploring the Google Analytics API

Exploring the Google Analytics API

Vanessa Sabino @bani

Page 2: Exploring the Google Analytics API

Google Analytics

It’s all about Data •  Web sites •  Mobile apps •  Coffee makers* •  Etc.

* http://youtu.be/C27yMQOS8n0

Page 3: Exploring the Google Analytics API

Google Analytics

Page 4: Exploring the Google Analytics API

Goals & Conversion Optimization

Page 5: Exploring the Google Analytics API

The Core Reporting API

https://developers.google.com/analytics/devguides/reporting/core/v3/

Page 6: Exploring the Google Analytics API

Why use the API?

1.  Productivity

(and less sampling)

http://xkcd.com/303/

Page 7: Exploring the Google Analytics API

Why use the API?

1.  Productivity

2.  + Results

max-results=10,000

Page 8: Exploring the Google Analytics API

Why use the API?

1.  Productivity

2.  + Results

3.  + Dimensions

Up to 7 dimensions!

Page 9: Exploring the Google Analytics API

Why use the API?

1.  Productivity

2.  + Results

3.  + Dimensions

4.  Visualization

http://tinyurl.com/GA-Apps

Page 10: Exploring the Google Analytics API

Why use the API?

1.  Productivity

2.  + Results

3.  + Dimensions

4.  Visualization

5.  Web apps

http://sumall.com/

Page 11: Exploring the Google Analytics API

Why use the API?

1.  Productivity

2.  + Results

3.  + Dimensions

4.  Visualization

5.  Web apps

6.  Data storage

Page 12: Exploring the Google Analytics API

API Concepts

Page 13: Exploring the Google Analytics API

Metrics & Dimensions

https://developers.google.com/analytics/devguides/reporting/core/dimsmets

Page 14: Exploring the Google Analytics API

Filters & Segments

Metrics == Equals

!= Does not equal

> Greater than

< Less than

>= Greater than or equal to

<= Less than or equal to

Dimensions == / != Exact match

=@ / !@ Contains substring

=~ / !~ Contains a match for the regular expression

, Or ; And

https://developers.google.com/analytics/devguides/reporting/core/v3/reference#filterSyntax

Page 15: Exploring the Google Analytics API

Data Feed

https://www.googleapis.com/analytics/v3/data/ga

?ids=ga:12345 *

&dimensions=ga:source,ga:medium

&metrics=ga:visits,ga:bounces *

&sort=-ga:visits

&filters=ga:medium%3D%3Dreferral

&segment=gaid::10

&start-date=2011-10-01 *

&end-date=2011-10-31 *

&start-index=10

&max-results=100

&prettyprint=true

* = required

Page 16: Exploring the Google Analytics API

Query Explorer

http://tinyurl.com/gdata-explorer

Page 17: Exploring the Google Analytics API

Steps to use the API

1.  Authenticate

2.  Get your data

3. 

Page 18: Exploring the Google Analytics API

Register your Project

https://code.google.com/apis/console

Page 19: Exploring the Google Analytics API

oAuth Authentication

Page 20: Exploring the Google Analytics API

client_secrets.json

{  

   "installed":  {  

       "auth_uri":"https://accounts.google.com/o/oauth2/auth",  

       "client_secret":"CleKR0UzPYhfTbjPb3TgeQRBw",  

       "token_uri":"https://accounts.google.com/o/oauth2/token",  

       "client_email":"",  

       "redirect_uris":["urn:ietf:wg:oauth:2.0:oob","oob"],  

       "client_x509_cert_url":"",  

       "client_id":"395901729588.apps.googleusercontent.com",  

       "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs"  

   }  

}  

Page 21: Exploring the Google Analytics API

Python Library

¤ Python: Versions 2.5, 2.6, or 2.7

¤ easy_install / pip google-api-python-client

¤ Download file for Google AppEngine ¤ https://developers.google.com/api-client-library/

python/start/installation

Page 22: Exploring the Google Analytics API

Authorize

¤ Copy hello_analytics_api_v3_auth.py  

import  auth_helper  from  apiclient.errors  import  HttpError  from  oauth2client.client  \  import  AccessTokenRefreshError    service  =  \  auth_helper.initialize_service()  

Page 23: Exploring the Google Analytics API

Get your data

* https://www.google.com/analytics/web/?hl=en&pli=1#dashboard/

ViBLgd51S7YHgitTK4MoYQ/a4126737w34427220p33794370/

 

service.data().ga().get(      ids='ga:'  +  profile_id*,      start_date='2013-­‐07-­‐01',  end_date='2013-­‐08-­‐01',      metrics='ga:visits',  dimensions='ga:source',      sort='-­‐ga:visits,ga:source',      filters='ga:medium==organic',      max_results='25').execute()  

Co

re R

ep

ortin

g A

PI Qu

ery

Page 24: Exploring the Google Analytics API

Handle the results

 

for  row  in  results.get('rows'):      output  =  []      for  cell  in  row:          output.append('%16s'  %  cell)      print  ''.join(output)  

Page 25: Exploring the Google Analytics API

Handle the results

 

for  header  in  \  results.get('columnHeaders'):      print  '%s:  %s  -­‐  %s'  %  (          header.get('name'),          header.get('columnType'),          header.get('dataType'))  

ga:source: DIMENSION - STRING ga:visits: METRIC - INTEGER

Page 26: Exploring the Google Analytics API

Handle the results

 

totals  =  \  results.get('totalsForAllResults')    for  metric_name,  metric_total  \  in  totals.iteritems():      print  '%s  =  %s'  %  \      (metric_name,  metric_total)  

Page 27: Exploring the Google Analytics API

More data

¤ results.get('containsSampledData')

¤ results.get('profileInfo') ¤  info.get('webPropertyId') # UA-XXXXXXX-X ¤  info.get('profileId') ¤  info.get('profileName')

¤ results.get('itemsPerPage')

¤ results.get('totalResults’)

Page 28: Exploring the Google Analytics API

Limits and Quotas

¤ Quotas ¤ 10,000 requests / profile/ day ¤ 10 concurrent requests per profile

¤ Dimensions and Metrics ¤ 7 dimensions ¤ 10 metrics ¤ Valid combinations ¤ Regular expressions: 128 characters

Page 29: Exploring the Google Analytics API

Other Google Analytics APIs

¤ Multi-Channel Funnels Reporting API ¤  https://developers.google.com/analytics/devguides/reporting/mcf/v3/

¤ Management API ¤  https://developers.google.com/analytics/devguides/config/mgmt/v3/

¤ Real Time Reporting API ¤  http://analytics.blogspot.ca/2013/08/google-analytics-launches-real-

time-api.html

¤ See also: Google Analytics superProxy ¤  https://developers.google.com/analytics/solutions/google-

analytics-super-proxy

Page 30: Exploring the Google Analytics API
Page 31: Exploring the Google Analytics API

Thank you

Vanessa Sabino @bani [email protected] http://www.slideshare.net/vanessasabino/