Skip to content

Instantly share code, notes, and snippets.

@dvygolov
Created June 2, 2022 07:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dvygolov/83f7a8c83cf3b0d356ef766429ba2225 to your computer and use it in GitHub Desktop.
Save dvygolov/83f7a8c83cf3b0d356ef766429ba2225 to your computer and use it in GitHub Desktop.
A Google Apps Script for getting daily revenue from Keitaro grouped by campaign group (buyers mark).
function getKeitaroData() {
let ss = SpreadsheetApp.getActiveSpreadsheet();
let sheet = ss.getSheetByName('Keitaro');
let apiKey = '<YOUR_KEITARO_API_KEY>';
let url = 'http://<YOUR_TRACKER_DOMAIN>/admin_api/v1/report/build';
let options= {
"method":"POST",
"headers":{
"API-KEY": apiKey
},
"payload":'{"range":{"interval":"first_day_of_this_month","timezone":"Europe/Moscow","from":null,"to":null},"columns":[],"metrics":["sale_revenue"],"grouping":["campaign_group","day"],"sort":[{"name":"campaign_group","order":"asc"},{"name":"day","order":"asc"}], "filters":[{"name":"campaign_group_id","operator":"NOT_EQUAL","expression":""}],"summary":false,"limit":1000,"offset":0}'
}
let response = UrlFetchApp.fetch(url, options);
let json = response.getContentText(); // get the response content as text
let data = JSON.parse(json); //parse text into json
//Logger.log(data); //log data to logger
let stats=[]; //create empty array to hold data points
for (var i=0;i < data.rows.length; i++){
let r=data.rows[i];
stats.push([r.campaign_group,r.day,Number(r.sale_revenue)]);
}
//Logger.log(stats);
//append the stats array to the active sheet
sheet.clear();
sheet.getRange(sheet.getLastRow() + 1, 1,stats.length, stats[0].length).setValues(stats);
}
// Trigger 2 times a day
function createTimeDrivenTriggers() {
ScriptApp.newTrigger('getKeitaroData').timeBased().atHour(12).nearMinute(30).everyDays(1).create();
ScriptApp.newTrigger('getKeitaroData').timeBased().atHour(23).nearMinute(30).everyDays(1).create();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment