Created
January 29, 2015 05:42
-
-
Save walkergv/e56a4d9cfd3686e59abe to your computer and use it in GitHub Desktop.
Pass in your Google Analytics Profile Id and use GA Reporting API to get information and output to spreadsheet.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function runReport(profileId) { | |
var today = new Date(); | |
var oneWeekAgo = new Date(today.getTime() - 30 * 24 * 60 * 60 * 1000); | |
var startDate = Utilities.formatDate(oneWeekAgo, Session.getScriptTimeZone(), | |
'yyyy-MM-dd'); | |
var endDate = Utilities.formatDate(today, Session.getScriptTimeZone(), | |
'yyyy-MM-dd'); | |
var tableId = 'ga:' + profileId; | |
var metric = 'ga:visits'; | |
var options = { | |
'dimensions': 'ga:medium,ga:source', | |
'sort': '-ga:visits,ga:source', | |
'max-results': 25 | |
}; | |
var report = Analytics.Data.Ga.get(tableId, startDate, endDate, metric, | |
options); | |
if (report.rows) { | |
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); | |
var sheet = spreadsheet.getActiveSheet(); | |
// Append the headers. | |
var headers = report.columnHeaders.map(function(columnHeader) { | |
return columnHeader.name; | |
}); | |
sheet.appendRow(headers); | |
// Append the results. | |
sheet.getRange(2, 1, report.rows.length, headers.length) | |
.setValues(report.rows); | |
Logger.log('Report spreadsheet created: %s', | |
spreadsheet.getUrl()); | |
} else { | |
Logger.log('No rows returned.'); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment