Advertisement
GiacomoGalanti

APPSCRIPT VARIABILI PACK

Apr 6th, 2020
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.03 KB | None | 0 0
  1. function facebookAdsReporting() {
  2.  
  3. //Retrieve all campaign ids
  4. var adAccountId = "tuoaccount id facebook //tuo account fb"
  5. var url = "https://graph.facebook.com/v6.0/act_" + adAccountId + "/campaigns?access_token=TUOTOKEN"
  6. var response = UrlFetchApp.fetch(url)
  7. var json = JSON.parse(response)
  8. var rawData = json.data
  9. var array = []
  10. for (i = 0 ; i < rawData.length ; i++) {
  11. var data = rawData[i]
  12. var test = JSON.stringify(data)
  13. var str = test.substring(0,test.length-2).substring(7)
  14. array.push(str)
  15. }
  16. Logger.log(array)
  17.  
  18. //Get insights from each campaign
  19.  
  20. for (j = 0 ; j < array.length ; j++) {
  21. var campaignId = array[j]
  22. var urlCampaignInsights = "https://graph.facebook.com/v6.0/" + campaignId + "/insights?fields=campaign_name%2cimpressions%2cspend%2ccpc%2cctr%2ccpm%2cclicks%2ccpp%2cfrequency%2creach%2cconversions&date_preset=last_90d&access_token=TUOTOKEN"
  23. var responseCampaignInsights = UrlFetchApp.fetch(urlCampaignInsights)
  24. var json = JSON.parse(responseCampaignInsights)
  25. var data = json.data
  26. if ( data.length > 0 ) {
  27. var et = JSON.stringify(data)
  28. var sub = et.substring(1,et.length-1)
  29. var campaignData = JSON.parse(sub)
  30. var campaignName = campaignData.campaign_name
  31. var impressions = campaignData.impressions
  32. var spend = campaignData.spend
  33. var cpc = campaignData.cpc
  34. var cpm = campaignData.cpm
  35. var ctr = campaignData.ctr
  36. var clicks = campaignData.clicks
  37. var cpp = campaignData.cpp
  38. var frequency = campaignData.frequency
  39. var reach = campaignData.reach
  40.  
  41. Logger.log(campaignData)
  42.  
  43. //Update spreadsheet
  44.  
  45. var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
  46. var sheet = spreadsheet.getSheetByName('Facebook Ads Campaigns')
  47. sheet.getRange(1, 1).setValue("Campaign Name")
  48. sheet.getRange(1, 2).setValue("impressions")
  49. sheet.getRange(1, 3).setValue("spend")
  50. sheet.getRange(1, 4).setValue("cpc")
  51. sheet.getRange(1, 5).setValue("cpm")
  52. sheet.getRange(1, 6).setValue("ctr")
  53. sheet.getRange(1, 7).setValue("clicks")
  54. sheet.getRange(1, 8).setValue("cpp")
  55. sheet.getRange(1, 9).setValue("frequency")
  56. sheet.getRange(1, 10).setValue("reach")
  57. sheet.getRange(j+2, 1).setValue(campaignName)
  58. sheet.getRange(j+2, 2).setValue(impressions)
  59. sheet.getRange(j+2, 3).setValue(spend)
  60. sheet.getRange(j+2, 4).setValue(cpc)
  61. sheet.getRange(j+2, 5).setValue(cpm)
  62. sheet.getRange(j+2, 6).setValue(ctr)
  63. sheet.getRange(j+2, 7).setValue(clicks)
  64. sheet.getRange(j+2, 8).setValue(cpp)
  65. sheet.getRange(j+2, 9).setValue(frequency)
  66. sheet.getRange(j+2, 10).setValue(reach)
  67.  
  68.  
  69. }
  70. }
  71.  
  72. //Get insights from Ad Account
  73.  
  74. var urlAdAccountInsights = "https://graph.facebook.com/v6.0/act_" + adAccountId + "/insights?fields=campaign_name%2cimpressions%2cspend%2ccpc%2cctr%2ccpm%2cclicks%2ccpp%2cfrequency%2creach&date_preset=last_90d&access_token=TUOTOKEN"
  75. var responseCampaignInsights = UrlFetchApp.fetch(urlAdAccountInsights)
  76. var json = JSON.parse(responseCampaignInsights)
  77. var data = json.data
  78. if ( data.length > 0 ) {
  79. var et = JSON.stringify(data)
  80. var sub = et.substring(1,et.length-1)
  81. var campaignData = JSON.parse(sub)
  82. var campaignName = campaignData.campaign_name
  83. var impressions = campaignData.impressions
  84. var spend = campaignData.spend
  85. var cpc = campaignData.cpc
  86. var cpm = campaignData.cpm
  87. var ctr = campaignData.ctr
  88. var clicks = campaignData.clicks
  89. var cpp = campaignData.cpp
  90. var frequency = campaignData.frequency
  91. var reach = campaignData.reach
  92.  
  93. Logger.log(campaignData)
  94.  
  95. //Update spreadsheet
  96.  
  97. var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
  98. var sheet = spreadsheet.getSheetByName('Facebook Ads Ad Account')
  99.  
  100. sheet.getRange(1, 1).setValue("Campaign Name")
  101. sheet.getRange(1, 2).setValue("impressions")
  102. sheet.getRange(1, 3).setValue("spend")
  103. sheet.getRange(1, 4).setValue("cpc")
  104. sheet.getRange(1, 5).setValue("cpm")
  105. sheet.getRange(1, 6).setValue("ctr")
  106. sheet.getRange(1, 7).setValue("clicks")
  107. sheet.getRange(1, 8).setValue("cpp")
  108. sheet.getRange(1, 9).setValue("frequency")
  109. sheet.getRange(1, 10).setValue("reach")
  110.  
  111. var array = sheet.getRange("b1:b").getValues()
  112. var lastRow = array.filter(String).length
  113.  
  114. sheet.getRange(lastRow+1, 1).setValue(campaignName)
  115. sheet.getRange(lastRow+1, 2).setValue(impressions)
  116. sheet.getRange(lastRow+1, 3).setValue(spend)
  117. sheet.getRange(lastRow+1, 4).setValue(cpc)
  118. sheet.getRange(lastRow+1, 5).setValue(cpm)
  119. sheet.getRange(lastRow+1, 6).setValue(ctr)
  120. sheet.getRange(lastRow+1, 7).setValue(clicks)
  121. sheet.getRange(lastRow+1, 8).setValue(cpp)
  122. sheet.getRange(lastRow+1, 9).setValue(frequency)
  123. sheet.getRange(lastRow+1, 10).setValue(reach)
  124.  
  125. //Add yesterday's date
  126.  
  127. var yesterday = new Date(Date.now() - 1000*60*60*24)
  128. sheet.getRange(lastRow+1, 1).setValue(yesterday)
  129. }
  130. }
  131.  
  132. function facebookAccessTokenExpiringAlert() {
  133.  
  134. //Get token date expiration
  135.  
  136. var token = "TUO TOKEN"
  137. var clientSecret = "CHIAVESEGRETA"
  138. var clientId = "CLIENTID"
  139. var url = "https://graph.facebook.com/v6.0/oauth/access_token?grant_type=fb_exchange_token&client_id=" + clientId + "&client_secret=" + clientSecret + "&fb_exchange_token=" + token
  140. var response = UrlFetchApp.fetch(url)
  141. var json = JSON.parse(response)
  142. var expiresIn = json.expires_in
  143. Logger.log(expiresIn)
  144.  
  145. //Send mail 7 days before token expires
  146.  
  147. var mailAdress ="TUAEMAIL"
  148. var subject = "Your Facebook Token will Expire in 7 Days"
  149. var message = "Hi, don't forget to renew your Facebook Token"
  150. if (expiresIn < 604800){
  151. MailApp.sendEmail(mailAdress, subject , message)
  152. }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement