구글 애즈 데이터를 구글 시트에 자동 연동하는 3가지 방법
Google Ads 성과를 구글 시트로 매일 받는 방법을 예약 보고서·Google Ads 스크립트·연동 도구로 나눠 비교하고, 스크립트 예시와 자주 틀리는 지점을 정리합니다.

목차
Google Ads는 같은 Google 제품인 구글 시트와 연결 방법이 여러 가지입니다. 그런데 방법마다 자동화되는 범위가 달라서, 막상 써 보면 "매일 열어서 붙여넣는 일"이 그대로 남는 경우가 많습니다.
이 글은 구글 애즈 데이터를 구글 시트에 자동으로 연동하는 방법 세 가지를 비교하고, 각각 어디까지 자동화되는지 정리합니다.
방법 비교
| 방법 | 자동화 범위 | 준비 | 맞는 경우 |
|---|---|---|---|
| 보고서 예약 발송 | 메일로 파일 수신까지 | Google Ads 보고서 저장 | 주 1회 확인, 시트 가공 적음 |
| Google Ads 스크립트 | 시트에 직접 쓰기까지 | 스크립트 작성·권한 승인 | Google Ads만 시트로 받는 팀 |
| 연동형 리포트 도구 | 수집·계산·시트 갱신 | 계정 연결 | 네이버·메타와 한 시트로 합칠 때 |
방법 1. 보고서 예약 발송
Google Ads의 보고서 화면에서 필요한 열로 보고서를 만들어 저장한 뒤, 일정(매일·매주·매월)을 정해 이메일로 받도록 예약할 수 있습니다. 설정이 가장 쉽지만, 받은 파일을 시트로 옮기는 일은 사람이 해야 합니다.
메일 첨부를 시트로 옮기는 과정까지 자동화하려면 Gmail과 Apps Script를 이어야 하는데, 그 정도라면 아래 스크립트 방식이 더 단순합니다.
방법 2. Google Ads 스크립트로 시트에 직접 쓰기
Google Ads 계정의 도구 → 일괄 작업 → 스크립트에서 JavaScript로 보고서를 조회해 구글 시트에 쓰고, 매일 실행되도록 예약할 수 있습니다. 조회는 GAQL(Google Ads Query Language)로 합니다.
function main() {
const sheet = SpreadsheetApp.openByUrl('구글 시트 주소').getSheetByName('raw');
const rows = AdsApp.search(
'SELECT segments.date, campaign.name, metrics.impressions, metrics.clicks, ' +
'metrics.cost_micros, metrics.conversions, metrics.conversions_value ' +
'FROM campaign WHERE segments.date DURING YESTERDAY'
);
const out = [];
while (rows.hasNext()) {
const r = rows.next();
out.push([
r.segments.date,
r.campaign.name,
Number(r.metrics.impressions),
Number(r.metrics.clicks),
Number(r.metrics.costMicros) / 1e6,
Number(r.metrics.conversions),
Number(r.metrics.conversionsValue),
]);
}
if (out.length) {
sheet.getRange(sheet.getLastRow() + 1, 1, out.length, out[0].length).setValues(out);
}
}
스크립트에서 자주 틀리는 지점
- 비용 단위:
cost_micros는 실제 금액에 100만을 곱한 값입니다. 100만으로 나누지 않으면 광고비가 100만 배로 보입니다. - 전환은 소수: 데이터 기반 기여 등으로 전환수가 1.5처럼 소수로 나올 수 있습니다. 정수로 반올림하면 합계가 어긋납니다.
- 중복 행: 위 예시는 어제 행을 덧붙이기만 합니다. 같은 날을 두 번 실행하면 중복되므로, 실제로는 같은 날짜 행을 지우고 다시 쓰도록 만드세요.
- 늦게 잡히는 전환: 전환은 클릭 며칠 뒤에 기록될 수 있습니다. 매일 최근 며칠을 다시 받아 덮어써야 지난 날짜의 전환이 맞춰집니다.
- 실행 시간 제한: 소재·키워드 단위로 기간을 길게 잡으면 스크립트 실행 시간 제한에 걸릴 수 있습니다. 기간을 나눠 받으세요.
- 여러 계정: 관리자 계정(MCC)에서 여러 계정을 돌리면 계정마다 실행 시간을 나눠 써야 합니다.
방법 3. 연동형 리포트 도구
Google 로그인으로 계정을 연결하면 도구가 조회·비용 단위 변환·재수집·실패 처리를 맡습니다. Google Ads만 본다면 스크립트로도 충분하지만, 네이버 검색광고·메타와 같은 열 구조로 한 시트에 합쳐야 한다면 매체마다 스크립트를 따로 만드는 것보다 연동 도구가 유지보수 부담이 적습니다.
고를 때 확인할 것:
- 캠페인·광고그룹·소재(광고) 단위를 모두 받는가
- 동영상·디맨드젠처럼 이미지가 에셋으로만 있는 소재의 썸네일도 보이는가
- 최근 며칠의 전환을 다시 받아 덮어쓰는가
- 시트가 같은 파일로 갱신되는가
시트에서 지표를 계산할 때
CTR·CPC·CPA·ROAS는 합계를 먼저 내고 나눠야 합니다. 캠페인별 CTR의 평균은 전체 CTR이 아닙니다. 시트 수식과 예시는 광고 성과 지표 계산식 총정리에 정리했습니다.
메디트랙으로 연결하면
메디트랙은 Google 로그인으로 Google Ads 계정을 연결하면 캠페인·광고그룹·소재 성과와 전환 상세를 매일 새벽 수집합니다. 리포트 빌더에서 열을 고르고 시트로 저장하면, 매일 아침 전날까지의 데이터로 같은 구글 시트가 갱신됩니다. Google Ads와 네이버 검색광고 연결, 구글 시트 자동화는 카드 등록 없이 계속 무료입니다.
여러 매체를 한 시트로 합치는 전체 흐름은 광고 리포트 자동화, 네이버 쪽 연결은 네이버 검색광고 데이터, 구글 시트로 자동으로 받는 법에서 볼 수 있습니다.
자주 묻는 질문
Looker Studio로 보면 되지 않나요?
Looker Studio에는 Google Ads 기본 커넥터가 있어 대시보드를 만들기 쉽습니다. 다만 시트처럼 행 단위로 가공하거나 다른 매체 파일과 합치는 작업에는 시트가 더 편한 경우가 많습니다. 보는 용도와 가공 용도를 나눠 쓰는 팀도 많습니다.
Google Ads API를 직접 쓰면 안 되나요?
가능하지만 개발자 토큰 발급과 승인, OAuth 처리, API 버전 업그레이드를 직접 관리해야 합니다. 시트로 받는 것이 목적이라면 스크립트나 연동 도구가 더 가볍습니다.
오늘 데이터도 넣어야 하나요?
오늘 데이터는 계속 바뀌므로 보고서에는 어제까지를 넣고, 오늘 흐름은 Google Ads 화면에서 확인하는 편이 안전합니다.


