보고서
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
텍스트 보고서 만들기
function runReport() {
// Google Ads reports return data faster than campaign management methods
// and can be used to retrieve basic structural information on
// your Account, Campaigns, AdGroups, Ads, Keywords, etc. You can refer to
// https://developers.google.com/google-ads/api/docs/reporting/overview
// for more details.
// See https://developers.google.com/google-ads/api/fields/latest/overview#list-of-all-resources
// for all the supported report types.
// See https://developers.google.com/google-ads/api/docs/query/overview for
// details on how to use GAQL, the query language for reports.
// See https://developers.google.com/google-ads/api/docs/reporting/uireports
// for details on how to map an Google Ads UI feature to the corresponding
// reporting API feature.
const searchResults = AdsApp.search(
'SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.cost_micros ' +
'FROM campaign ' +
'WHERE metrics.impressions < 10 ' +
' AND segments.date DURING LAST_30_DAYS');
for (const row of searchResults) {
const campaignName = row.campaign.name;
const clicks = row.metrics.clicks;
const impressions = row.metrics.impressions;
const cost = row.metrics.costMicros;
console.log(`${campaignName}, ${clicks}, ${impressions}, ${cost}`);
}
}
스프레드시트 보고서 만들기
function exportReportToSpreadsheet() {
const spreadsheet = SpreadsheetApp.create('INSERT_REPORT_NAME_HERE');
const report = AdsApp.report(
'SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.cost_micros ' +
'FROM campaign ' +
'WHERE metrics.impressions < 10 ' +
' AND segments.date DURING LAST_30_DAYS');
report.exportToSheet(spreadsheet.getActiveSheet());
}
라벨별로 항목 필터링
function filterReportByLabelIds() {
const label = AdsApp.labels().withCondition(
"label.name = 'High performance campaigns'").get().next();
const query = `SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.cost_micros from ` +
`campaign WHERE campaign.labels CONTAINS ANY ` +
`[${label.getResourceName()}] AND segments.date DURING THIS_MONTH';
const report = AdsApp.report(query);
for (const row of report.rows()) {
const campaignName = row['campaign.name'];
const clicks = row['metrics.clicks'];
const impressions = row['metrics.impressions'];
const cost = row['metrics.cost_micros'];
Logger.log(`${campaignName}, ${clicks}, ${impressions}, ${cost}`);
}
}
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-21(UTC)
[null,null,["최종 업데이트: 2025-08-21(UTC)"],[[["\u003cp\u003eThis script showcases Google Ads reporting capabilities to extract campaign performance data like clicks, impressions, and cost.\u003c/p\u003e\n"],["\u003cp\u003eIt provides examples of creating text and spreadsheet reports based on specified criteria like low impressions within the last 30 days.\u003c/p\u003e\n"],["\u003cp\u003eThe script demonstrates filtering campaign data using labels, focusing on entities marked as "High performance campaigns" in the current month.\u003c/p\u003e\n"],["\u003cp\u003eThe provided code uses Google Ads Query Language (GAQL) to define the data structure and parameters for reports.\u003c/p\u003e\n"]]],[],null,["# Reports\n\nCreate a text report\n--------------------\n\n```gdscript\nfunction runReport() {\n // Google Ads reports return data faster than campaign management methods\n // and can be used to retrieve basic structural information on\n // your Account, Campaigns, AdGroups, Ads, Keywords, etc. You can refer to\n // https://developers.google.com/google-ads/api/docs/reporting/overview\n // for more details.\n\n // See https://developers.google.com/google-ads/api/fields/latest/overview#list-of-all-resources\n // for all the supported report types.\n // See https://developers.google.com/google-ads/api/docs/query/overview for\n // details on how to use GAQL, the query language for reports.\n // See https://developers.google.com/google-ads/api/docs/reporting/uireports\n // for details on how to map an Google Ads UI feature to the corresponding\n // reporting API feature.\n const searchResults = AdsApp.search(\n 'SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.cost_micros ' +\n 'FROM campaign ' +\n 'WHERE metrics.impressions \u003c 10 ' +\n ' AND segments.date DURING LAST_30_DAYS');\n\n for (const row of searchResults) {\n const campaignName = row.campaign.name;\n const clicks = row.metrics.clicks;\n const impressions = row.metrics.impressions;\n const cost = row.metrics.costMicros;\n console.log(`${campaignName}, ${clicks}, ${impressions}, ${cost}`);\n }\n}\n```\n\nCreate a spreadsheet report\n---------------------------\n\n```gdscript\nfunction exportReportToSpreadsheet() {\n const spreadsheet = SpreadsheetApp.create('INSERT_REPORT_NAME_HERE');\n const report = AdsApp.report(\n 'SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.cost_micros ' +\n 'FROM campaign ' +\n 'WHERE metrics.impressions \u003c 10 ' +\n ' AND segments.date DURING LAST_30_DAYS');\n report.exportToSheet(spreadsheet.getActiveSheet());\n}\n```\n\nFilter entities by label\n------------------------\n\n```gdscript\nfunction filterReportByLabelIds() {\n const label = AdsApp.labels().withCondition(\n \"label.name = 'High performance campaigns'\").get().next();\n const query = `SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.cost_micros from ` +\n `campaign WHERE campaign.labels CONTAINS ANY ` +\n `[${label.getResourceName()}] AND segments.date DURING THIS_MONTH';\n\n const report = AdsApp.report(query);\n\n for (const row of report.rows()) {\n const campaignName = row['campaign.name'];\n const clicks = row['metrics.clicks'];\n const impressions = row['metrics.impressions'];\n const cost = row['metrics.cost_micros'];\n Logger.log(`${campaignName}, ${clicks}, ${impressions}, ${cost}`);\n }\n}\n```"]]