Get in touch dxe_home@cj.net
Insights & Trends 2026. 09. 15
광고 리포트 자동화 전에 확인해야 할 3가지
GA4와 광고 데이터를 연결하기 전에 UTM부터 정리해야 하는 이유

Google Ads, Meta, 네이버, 카카오 등 여러 광고 매체의 성과 데이터를 GA4의 전환 데이터와 연결해 하나의 리포트로 만드는 일은 많은 AE와 마케터가 반복해서 하는 업무입니다.
그런데 광고 리포트를 자동화했는데도 매체의 숫자와 GA4의 숫자가 맞지 않아 매번 수작업으로 수정하는 상황이 생기곤 합니다.
문제는 단순히 매체마다 파일 형식이나 컬럼명이 다르기 때문만은 아닙니다.
각 데이터가 어떤 단위와 기준으로 수집·집계되는지를 먼저 맞추지 않았기 때문입니다.
이 상태에서 자동화를 시작하면 어떻게 될까요?
매일 정해진 시간에 데이터를 가져오고, 정해진 규칙으로 리포트를 만드는 것까지는 가능합니다. 하지만 잘못 연결된 숫자도 똑같이 자동으로 만들어집니다.
그래서 광고 리포트 자동화는 코드나 자동화 도구를 붙이는 것보다 먼저 데이터를 어떤 기준으로 연결하고 관리할지 정하는 작업이 필요합니다.
이번 글에서는 광고 매체 데이터와 GA4를 연결하기 전에 확인해야 할 세 가지를 살펴보겠습니다.
먼저 알아둘 것: 집계 단위, 연결 기준, 기준정보
본격적으로 들어가기 전에 세 가지 개념을 구분해두면 글의 내용을 이해하기 쉽습니다.
* 집계 단위 : 데이터를 어떤 단위로 볼 것인가
* 연결 기준 : 서로 다른 데이터를 무엇으로 연결할 것인가
* 기준정보 : 연결에 사용할 이름이나 ID를 어디에서 관리할 것인가
광고 매체와 GA4는 데이터를 수집하고 보여주는 방식이 다릅니다.
따라서 두 데이터를 하나의 리포트로 만들려면 먼저 이 세 가지를 정해야 합니다.
1. 데이터가 기록되는 단위와 연결 기준 파악하기
광고 매체 리포트는 보통 일자 × 캠페인과 같은 단위로 성과를 집계합니다.
예를 들어 특정 날짜의 캠페인별 광고비, 노출수, 클릭수, 전환수 등을 한 줄씩 확인할 수 있습니다.
반면 GA4는 이벤트를 기반으로 데이터를 수집하고, 이를 세션·사용자·소스/매체·채널 등의 기준으로 집계해 보여줍니다.
따라서 매체 데이터와 GA4 데이터를 연결하려면 단순히 두 파일의 컬럼을 맞추는 것만으로는 부족합니다.
두 데이터를 나중에 같은 기준으로 비교할 수 있도록 연결값을 정해야 합니다.
이때 대표적으로 사용하는 것이 UTM 파라미터입니다.
* utm_source — 트래픽이 발생한 소스
- 예: naver, google, facebook
* utm_medium — 트래픽 유형
- 예: cpc, banner, social
* utm_campaign — 캠페인을 구분하기 위한 값
* utm_content — 필요할 경우 소재를 구분하기 위한 값
* utm_term — 필요할 경우 키워드를 구분하기 위한 값
UTM이 랜딩페이지 URL에 제대로 설정되어 있으면 GA4에서 해당 유입을 원하는 기준으로 분류하고, 이후 광고 매체 데이터와 동일한 기준으로 비교할 수 있습니다.
여기서 중요한 것은 UTM에 어떤 값을 넣느냐입니다.
예를 들어 매체 리포트에는 다음과 같은 캠페인이 있다고 가정해보겠습니다.
'2026_가을신상_전환'
그런데 해당 캠페인의 랜딩페이지에는 다음과 같이 설정되어 있다면 어떨까요?
'utm_campaign=fall_promo'
두 값이 서로 다른 기준으로 관리되고 있기 때문에 자동화 과정에서 바로 연결하기 어렵습니다. 결국 사람이 2026_가을신상_전환 = fall_promo라는 관계를 다시 알려줘야 합니다.
즉, UTM은 단순히 URL에 붙이는 태그가 아니라 서로 다른 데이터 소스를 연결하기 위한 기준값으로 생각해야 합니다.
자동화를 염두에 두고 있다면 처음부터 UTM 값을 어떻게 관리할 것인지 정하는 것이 중요합니다.
2. 기준정보(메타데이터) 테이블 만들기
연결 기준을 정했다면 다음은 그 기준을 어디에서 관리할 것인지 정해야 합니다.
광고 캠페인이 몇 개 되지 않을 때는 담당자가 각각의 캠페인명을 기억하고 UTM을 직접 입력해도 큰 문제가 없을 수 있습니다.
하지만 매체가 늘어나고 캠페인이 많아지면 상황이 달라집니다.
같은 캠페인이라도 매체마다 실제 등록된 이름이 다를 수 있기 때문입니다.
예를 들어 하나의 가을 신상품 캠페인이 다음처럼 관리되고 있다고 해보겠습니다.
* 네이버: 2026_가을신상_전환
* Google Ads: 가을 신상품 전환 캠페인
* Meta: 2026_Fall_New_Product
사람이 보면 같은 캠페인이라는 것을 알 수 있지만, 시스템 입장에서는 서로 다른 문자열입니다.
이럴 때 필요한 것이 기준정보 테이블입니다.
기준정보는 광고비나 클릭수처럼 실제 성과를 담는 데이터가 아니라, 성과 데이터를 어떤 이름과 기준으로 묶을지 정의하는 관리용 정보입니다.
예를 들어 다음과 같은 구조로 만들 수 있습니다.
* FALL2026_012026 | 네이버 | 2026_가을신상_전환
* FALL2026_012026 | Google Ads | 가을 신상품 전환 캠페인
* FALL2026_012026 | Meta | 2026_Fall_New_Product
이렇게 하면 매체마다 이름이 달라도 FALL2026_01이라는 하나의 기준으로 데이터를 묶을 수 있습니다.
그리고 이 기준정보 테이블은 UTM 규칙과 연결되어야 합니다.
예를 들어 utm_campaign에는 담당자가 새로운 이름을 임의로 만들어 넣는 것이 아니라, 기준정보 테이블에 정의된 표준 캠페인 키를 사용하는 방식입니다.
또한 다음과 같은 규칙을 미리 정해두는 것이 좋습니다.
* utm_campaign은 기준정보 테이블의 표준 캠페인 키를 사용한다.
* utm_source, utm_medium은 매체별 허용값을 미리 정한다.
* 소재를 구분해야 한다면 utm_content도 기준정보의 소재 코드와 연결한다.
* 캠페인명이 변경되면 변경 전후의 이름과 적용 기간을 기록한다.
예를 들어 네이버 검색광고는 항상 naver / cpc, 카카오모먼트는 항상 kakao / cpc처럼 팀에서 사용할 값을 고정할 수 있습니다.
이렇게 기준을 중앙에서 관리하면 새로운 광고 소재를 만들 때마다 담당자가 UTM 값을 새로 고민할 필요가 없습니다.
기준정보에서 필요한 값을 가져와 사용하면 되기 때문입니다.
결국 중요한 것은 UTM 명명 규칙과 기준정보 테이블을 따로 관리하는 것이 아니라, 하나의 기준을 중심으로 연결하는 것입니다.
3. 데이터가 서로 맞는지 확인하고 처리 규칙 정하기
기준정보와 UTM 규칙을 만들었다고 해서 바로 자동화를 돌려도 되는 것은 아닙니다.
실제 운영에서는 사람이 규칙을 잘못 입력하거나, 새로운 캠페인이 생겼는데 기준정보에 등록하지 않는 등의 예외가 계속 발생하기 때문입니다.
따라서 자동화 과정에 데이터 검증과 예외 처리 단계를 함께 넣어야 합니다.
① 허용값에서 벗어난 값 확인하기
먼저 utm_source, utm_medium이 팀에서 정한 허용값과 일치하는지 확인합니다.
예를 들어 팀의 허용값이 naver인데 다음과 같은 값이 들어온다면 별도의 값으로 인식될 수 있습니다.
* Naver
* NAVER
* naver_ad
사람에게는 같은 네이버라고 보일 수 있지만, 데이터에서는 서로 다른 값입니다.
따라서 자동화 전에 허용값 목록을 만들고, 목록에 없는 값은 예외로 잡아내는 과정이 필요합니다.
② 기준정보와 매칭되지 않는 캠페인 확인하기
utm_campaign 역시 기준정보 테이블에 등록된 값인지 확인해야 합니다.
만약 등록되지 않은 값이 발견됐다면 크게 두 가지 가능성이 있습니다.
1) 새로 만들어진 캠페인인데 기준정보에 아직 등록하지 않은 경우
2) 기존 캠페인의 키를 잘못 입력한 경우
두 경우의 처리 방법은 다릅니다.
신규 캠페인이라면 기준정보에 등록하면 되지만, 오타라면 원본 데이터를 수정해야 합니다.
따라서 이런 값은 자동으로 무시하기보다 예외 목록으로 따로 모아 담당자가 확인할 수 있도록 만드는 것이 좋습니다.
③ 매체 데이터와 GA4 데이터를 비교하기
UTM 매칭이 정상적으로 이루어지고 있는지 확인하기 위해 매체 데이터와 GA4 데이터를 정기적으로 비교할 수도 있습니다.
예를 들어 매체의 클릭수와 GA4에서 확인되는 세션 수를 비교해 차이가 갑자기 커졌는지 확인합니다.
단, 클릭수와 세션 수는 애초에 동일한 지표가 아니기 때문에 1:1로 일치해야 하는 것은 아닙니다.
중요한 것은 절대적인 숫자가 똑같은지가 아니라, 평소와 비교했을 때 비정상적으로 큰 차이가 발생하지 않았는지를 모니터링하는 것입니다.
④ 직접 유입 비율도 확인하기
UTM이 누락되면 원하는 캠페인이나 소스/매체로 분류되지 않을 수 있습니다.
따라서 직접 유입으로 분류되는 트래픽 비중이 평소보다 갑자기 증가했다면 최근 발행한 광고 소재나 랜딩페이지의 UTM 설정을 확인해볼 필요가 있습니다.
이처럼 자동화에서는 “데이터가 들어왔는가?”뿐 아니라 “올바른 기준으로 들어왔는가?”까지 확인해야 합니다.
예외가 발생했을 때 어떻게 처리할지도 미리 정해야 합니다
자동화에서 중요한 것은 정상적인 데이터만 처리하는 것이 아닙니다.
문제가 있는 데이터가 들어왔을 때 무엇을 할 것인지까지 정해두는 것이 중요합니다.
예를 들어 다음과 같이 처리 규칙을 나눌 수 있습니다.
* 신규 캠페인 - ‘미분류’로 표시 후 담당자 확인
* 캠페인 키 오타 - 예외 목록으로 분리 후 수정 요청
* 허용되지 않은 UTM 값 - 담당자에게 알림
* 반복적으로 발생하는 오류 - 담당자 교육 또는 입력 프로세스 개선
가장 피해야 하는 것은 문제가 있는 데이터를 조용히 제외하는 것입니다.
자동화 과정에서 데이터가 누락됐는데 아무런 알림도 없다면 담당자는 리포트가 정상적으로 만들어진 것으로 생각할 수 있습니다.
결국 숫자는 자동으로 만들어졌지만, 그 숫자가 정확한지는 아무도 알 수 없는 상황이 됩니다.
따라서 자동화에는 정상 데이터 처리 로직과 함께 예외 데이터 알림 로직도 필요합니다.
체크리스트: 자동화 전에 확인할 3단계
① 데이터가 기록되는 단위와 연결 기준 파악
* 광고 소재와 랜딩페이지 URL에 필요한 UTM이 빠짐없이 설정되어 있는가?
* utm_campaign을 어떤 기준으로 관리할지 정해져 있는가?
* 광고 매체와 GA4 데이터를 어떤 기준으로 비교할지 정의되어 있는가?
* UTM 설정 규칙이 팀 내에서 통일되어 있는가?
② 기준정보(메타데이터) 테이블 만들기
* 매체별 원본 캠페인명과 우리 팀의 표준 캠페인 키를 연결하는 표가 있는가?
* utm_campaign이 기준정보의 표준 캠페인 키를 사용하고 있는가?
* utm_source와 utm_medium의 허용값이 고정되어 있는가?
* 캠페인명이나 캠페인 ID가 변경된 이력을 관리하고 있는가?
* 소재를 구분해야 한다면 utm_content도 기준정보와 연결되어 있는가?
③ 데이터 검증 및 처리 규칙 정하기
* utm_source와 utm_medium이 허용값을 벗어났는지 확인하는가?
* utm_campaign이 기준정보 테이블과 일치하는지 확인하는가?
* 매체 클릭수와 GA4 세션 등의 지표를 정기적으로 비교하는가?
* 직접 유입 비율의 급격한 변화를 확인하는가?
* 신규 캠페인이나 UTM 오타를 예외 목록으로 분리하는가?
* 예외 데이터를 자동 제외할지, 미분류로 표시할지, 담당자에게 알릴지 정해져 있는가?
자동화는 코드를 붙이는 것보다 기준을 먼저 만드는 일입니다
광고 매체 데이터와 GA4 데이터를 하나의 리포트로 만드는 작업은 단순히 여러 파일을 합치는 일이 아닙니다.
어떤 단위로 데이터를 볼 것인지, 무엇을 기준으로 연결할 것인지, 기준정보를 어디에서 관리할 것인지를 먼저 정해야 합니다.
특히 UTM은 단순한 URL 태그가 아니라, 광고 데이터와 GA4 데이터를 연결하기 위한 중요한 기준값입니다.
따라서 자동화를 시작하기 전에
① 데이터의 집계 단위와 연결 기준을 정하고
② 기준정보를 표준화하고
③ 실제 데이터가 그 기준을 지키는지 검증하는 것
이 세 가지가 먼저 준비되어야 합니다.
이 과정을 건너뛰고 자동화부터 시작하면, 확인되지 않은 숫자가 매일 같은 시각에 정확하게 만들어질 뿐입니다.
광고 리포트 자동화는 단순히 반복 업무를 줄이는 것에서 끝나지 않습니다.
매체별 광고 데이터와 GA4 데이터를 어떤 기준으로 연결하고, 예외를 어떻게 관리할 것인지까지 설계해야 안정적으로 운영할 수 있습니다.
광고 리포트 자동화를 준비하고 있다면, 실제 데이터 구조를 먼저 점검하고 우리 팀에 맞는 연결 기준부터 설계해보세요.



