Your SlideShare is downloading. ×
0
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Exploring the Google Analytics API
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Exploring the Google Analytics API

3,294

Published on

Updated presentation for PyCon Canada 2013 …

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.

Published in: Technology, Business
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,294
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
29
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Exploring the Google Analytics API Vanessa Sabino @bani
  • 2. Google Analytics It’s all about Data •  Web sites •  Mobile apps •  Coffee makers* •  Etc. * http://youtu.be/C27yMQOS8n0
  • 3. Google Analytics
  • 4. Goals & Conversion Optimization
  • 5. The Core Reporting API https://developers.google.com/analytics/devguides/reporting/core/v3/
  • 6. Why use the API? 1.  Productivity (and less sampling) http://xkcd.com/303/
  • 7. Why use the API? 1.  Productivity 2.  + Results max-results=10,000
  • 8. Why use the API? 1.  Productivity 2.  + Results 3.  + Dimensions Up to 7 dimensions!
  • 9. Why use the API? 1.  Productivity 2.  + Results 3.  + Dimensions 4.  Visualization http://tinyurl.com/GA-Apps
  • 10. Why use the API? 1.  Productivity 2.  + Results 3.  + Dimensions 4.  Visualization 5.  Web apps http://sumall.com/
  • 11. Why use the API? 1.  Productivity 2.  + Results 3.  + Dimensions 4.  Visualization 5.  Web apps 6.  Data storage
  • 12. API Concepts
  • 13. Metrics & Dimensions https://developers.google.com/analytics/devguides/reporting/core/dimsmets
  • 14. 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
  • 15. 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
  • 16. Query Explorer http://tinyurl.com/gdata-explorer
  • 17. Steps to use the API 1.  Authenticate 2.  Get your data 3. 
  • 18. Register your Project https://code.google.com/apis/console
  • 19. oAuth Authentication
  • 20. 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"      }   }  
  • 21. 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
  • 22. 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()  
  • 23. 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()   CoreReportingAPIQuery
  • 24. Handle the results   for  row  in  results.get('rows'):      output  =  []      for  cell  in  row:          output.append('%16s'  %  cell)      print  ''.join(output)  
  • 25. 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
  • 26. Handle the results   totals  =     results.get('totalsForAllResults')     for  metric_name,  metric_total     in  totals.iteritems():      print  '%s  =  %s'  %        (metric_name,  metric_total)  
  • 27. 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’)
  • 28. 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
  • 29. 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
  • 30. Thank you Vanessa Sabino @bani vanessa@weureka.com http://www.slideshare.net/vanessasabino/

×