var API_KEY = 'Your API KEY'; var dc = API_KEY.split('-')[1]; var workarr = [['automation1'],['automation2']]; var sheet = SpreadsheetApp.getActiveSpreadsheet(); sheet.appendRow(["Title","Subject","Opens","Unique Opens","Open Rate","Clicks","Subscribers Clicks","Click Rate"]) function mailchimpAutoCampaign() { for (var j = 0; j < workarr.length; j++) { // URL and params for the Mailchimp API Automation var root = 'https://'+dc+'.api.mailchimp.com/3.0/automations/'+ workarr[j]; var endpoint = '/emails'; // parameters for url fetch var params = { 'method': 'GET', 'muteHttpExceptions': true, 'headers': { 'Authorization': 'apikey ' + API_KEY } }; try { // call the Mailchimp API var response = UrlFetchApp.fetch(root+endpoint, params); var data = response.getContentText(); var json = JSON.parse(data); // get just automation campaign data var campaigns = json['emails']; // blank array to hold the automation campaign data for Sheet var campaignData = []; // Add the campaign data to the array for (var i = 0; i < campaigns.length; i++) { var c=campaigns[i]; // put the automation campaign data into a double array for Google Sheets if (campaigns[i]["emails_sent"] != 0) { campaignData.push([ //i, campaigns[i]["settings"]["title"], campaigns[i]["settings"]["subject_line"], (campaigns[i]["report_summary"]) ? campaigns[i]["report_summary"]["opens"] : 0, (campaigns[i]["report_summary"]) ? campaigns[i]["report_summary"]["unique_opens"] : 0, (campaigns[i]["report_summary"]) ? campaigns[i]["report_summary"]["open_rate"] : 0, (campaigns[i]["report_summary"]) ? campaigns[i]["report_summary"]["clicks"] : 0, (campaigns[i]["report_summary"]) ? campaigns[i]["report_summary"]["subscriber_clicks"] : 0, (campaigns[i]["report_summary"]) ? campaigns[i]["report_summary"]["click_rate"] : 0 ]); } else { campaignData.push([ i, "Not sent", campaigns[i]["settings"]["title"], campaigns[i]["settings"]["subject_line"], campaigns[i]["recipients"]["recipient_count"], campaigns[i]["emails_sent"], "N/a", "N/a" ]); } } // Log the campaignData array Logger.log(campaignData); var text = String(campaignData); Logger.log(text); var camps = text.split(","); Logger.log(camps); // output the numbers to the sheet sheet.appendRow(camps); } catch (error) { // arrays errors Logger.log(error); }; } }