但是这些数据都只是在google ads后台上显示而已,用google ads后台的report功能更全呀,有啥意义呢?

不急,本篇开始介绍如何把拿到的数据导出到指定的google sheet中并设置固定的时间区间导出。

设置数据导出

这里我们先设置好导出的google sheet的URL,一般是https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxx,直接复制想要导出的表格的整段URL即可,这里我们调用script自带的SpreadsheetApp的API内的openByUrl方法来定义google sheet变量,以便后续导出数据。

在url框内全选复制即可

以下为指定某个google sheet的代码:

//拿到url后直接定义变量
let url = 'https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxx'
//然后定义一个google sheet变量
let spreadsheet = SpreadsheetApp.openByUrl(url)

只是拿到指定的表格URL是不够的,还需要指定某个工作表以及范围才能顺利导出数据,接下来开始设置工作表和范围。

我们可以选择自己需要的工作表名称来进行导出,比如名字叫”exportsheet“的工作表(google sheet需要存在该工作表)

以下为指定google sheet内某个工作表的代码:

//输入需要的工作表名称
let sheetname = 'exportsheet'
//引用上面的google sheet变量并同时定义一个工作表变量
let sheet = spreadsheet.getSheetByName(sheetname)

指定好工作表后,我们可以开始指定要在工作表导出的范围:

假设我们拿到了账号的点击和花费数据,现在我希望把数据分别到放在A1,B1单元格中

分别导入的代码(版本1):

//先拿到点击数据,导入到A1单元格
let stat_7days = AdsApp.currentAccount().getStatsFor("LAST_7_DAYS")
let clicks = stat_7days.getClicks()
//使用.getrange()指定A1单元格,定义一个click_range的变量用于引用
let click_range = sheet.getRange("A1")
//对click_range使用.setValue()方法来导出点击数据到单元格中
click_range.setValue(clicks)
//同理,拿到花费数据,导入到B1单元格
let stat_30days = AdsApp.currentAccount().getStatsFor("LAST_30_DAYS")
let cost = stat_30days.getCost()
let cost_range = sheet.getRange("B1")
cost_range.setValue(cost)

整合导入的代码(版本2):

let stat_7days = AdsApp.currentAccount().getStatsFor("LAST_7_DAYS")
let clicks = stat_7days.getClicks()
let stat_30days = AdsApp.currentAccount().getStatsFor("LAST_30_DAYS")
let cost = stat_30days.getCost()
let range = sheet.getRange("A1:B1")
range.setValues([[clicks,cost]])

完整版代码

function data_export(){
let stat_7days = AdsApp.currentAccount().getStatsFor("LAST_7_DAYS")
let clicks = stat_7days.getClicks()
let stat_30days = AdsApp.currentAccount().getStatsFor("LAST_30_DAYS")
let cost = stat_30days.getCost()
let range = sheet.getRange("A1:B1")
range.setValues([[clicks,cost]])
}

此时数据已顺利导出

设置定时运行

可以在script的页面设置定时运行

可以根据自己的喜好设置频次,设置好之后脚本就会在指定的时间内自动运行,再也不用自己每天去导出数据

此作者没有提供个人介绍
最后更新于 2024-12-17