Skip to content

Instantly share code, notes, and snippets.

@abfo
Created September 30, 2018 21:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abfo/966e01acf8e8819f6530992cddf71fcf to your computer and use it in GitHub Desktop.
Save abfo/966e01acf8e8819f6530992cddf71fcf to your computer and use it in GitHub Desktop.
var TableId = 'ga:your-view-id';
var SendEmailTo = 'your-email-address';
function main() {
var scriptProperties = PropertiesService.getScriptProperties();
var currentProps = scriptProperties.getProperties();
var anythingNew = false;
var newText = '';
var yesterday = Utilities.formatDate(new Date(new Date().getTime() - 24 * 60 * 60 * 1000), Session.getTimeZone(), 'yyyy-MM-dd');
var options = {
'dimensions': 'ga:fullReferrer',
'filters': 'ga:medium==referral',
'max-results': 20000
};
var report = Analytics.Data.Ga.get(TableId, yesterday, yesterday, 'ga:sessions', options);
if (report.rows) {
for (var i = 0; i < report.totalResults; i++) {
if (!(report.rows[i][0] in currentProps)) {
Logger.log('Found new referrer: ' + report.rows[i][0]);
scriptProperties.setProperty(report.rows[i][0], report.rows[i][1]);
anythingNew = true;
newText += 'New referrer: ' + report.rows[i][0] + '\r\n';
}
}
} else {
Logger.log('GA report is empty');
}
if (anythingNew) {
MailApp.sendEmail(SendEmailTo, 'Found new referrers for ' + TableId + ' on ' + new Date(), newText);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment