Guest User

Untitled

a guest
Jun 6th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. function main() {
  2.  
  3. var option = {
  4. impressions: '> 1',
  5. clicks: '> 1',
  6. conversions: '> 1',
  7. ctr: '> 0.1',
  8. costPerConversion: '> 0',
  9. conversionRate: '> 0.1',
  10. labelName: 'CONVERTER',
  11. dayspan: 90
  12. }
  13. Logger.log("Options Defined");
  14.  
  15.  
  16. // Fetch ads accoring to criteria in var options from AD_PERFORMANCE_REPORT (link below)
  17. // https://developers.google.com/adwords/api/docs/appendix/reports/ad-performance-report
  18.  
  19. var report = AdWordsApp.report(
  20. 'SELECT Id, AdGroupId ' +
  21. ' FROM AD_PERFORMANCE_REPORT' +
  22. ' WHERE Impressions ' + option.impressions +
  23. ' AND Clicks ' + option.clicks +
  24. ' AND Conversions ' + option.conversions +
  25. ' AND Ctr ' + option.ctr +
  26. ' AND CostPerConversion ' + option.costPerConversion +
  27. ' AND ConversionRate ' + option.conversionRate +
  28. ' DURING ' + formatDateRange(option.dayspan)
  29. );
  30.  
  31. Logger.log("Queries Run On Defined Options");
  32.  
  33. var rows = report.rows();
  34.  
  35. // arrange results in array with id pairs
  36. var ids = [];
  37. while (rows.hasNext()) {
  38. var row = rows.next();
  39. ids.push(row['AdGroupId'],row['Id']);
  40. }
  41. Logger.log("Arranged Results In Array");
  42. // select all ads which you have qualified
  43. var ads = AdWordsApp
  44. .ads()
  45. .withIds(ids)
  46. .get();
  47.  
  48. Logger.log("Selecting Qualified Ads");
  49.  
  50. // apply labels
  51. while (ads.hasNext()) {
  52. var ad = ads.next();
  53. ad.applyLabel(option.labelName)
  54. }
  55. }
  56. Logger.log("Applying Labels");
  57. // Proper date range for reports. Accepts a number of days. Will count from today backwards
  58. function formatDateRange(dayspan) {
  59. var msPerDay = 1000 * 60 * 60 * 24;
  60. var now = new Date();
  61. return Utilities.formatDate(new Date(now.getTime() - (dayspan * msPerDay)), AdWordsApp.currentAccount().getTimeZone(), "YYYYMMdd") + ',' + Utilities.formatDate(now, AdWordsApp.currentAccount().getTimeZone(), "YYYYMMdd");
  62. }
  63. Logger.log("Completed Labeling");
Advertisement
Add Comment
Please, Sign In to add comment