GA4 데이터 수집부터 분석까지 | Week 02-5

멋쟁이사자처럼 데이터마케팅 부트캠프 6기 · WEEK 02-5 · 2026-07-31

Source ↗

GA4 데이터 수집부터 시작하는 두 번째 주 마지막 수업!

다른 분들은 어제 휴강이셨겠지,,? 그래도 어제 커피챗 진짜 너무 의미있었다. (안오면 손해)

나만 불안한게 아니고 모두가 같은 마음인, 그 와중 열심히하는 그 모습이 너무 좋았다.

그 열정 가지고 오늘도 한발짝 나아가자 ✋🏻

(๑•̀ㅂ•́)و
6기 화이텡

미디엄 = 채널

미디엄(Medium)은 사용자가 어떤 방식으로 우리 서비스에 유입되었는지를 나타내는 값이다. 단순히 어디서 왔는지(Source)를 의미하는 것이 아니라, 검색인지 광고인지, 이메일인지, SNS인지처럼 유입 경로의 유형을 구분하는 기준이다.

대표적인 미디엄으로는 organic, direct, cpc, display, paid_social, referral, email 등이 있다. 각각 자연검색, 직접 방문, 검색광고, 디스플레이 광고, SNS 광고, 외부 사이트 링크, 이메일을 의미하며, 같은 Google에서 유입되더라도 어떤 방식으로 방문했는지에 따라 미디엄은 달라진다.

예를 들어 organic은 사용자가 직접 구글 등에 검색한 뒤 일반 검색 결과를 클릭해 방문한 경우를 의미한다. 반면 direct유입 경로를 확인할 수 없는 직접 방문을 의미한다. 둘 다 광고를 거치지 않았다는 공통점이 있지만, organic은 검색을 통해 유입된 것이고 direct는 경로를 파악하지 못한 것이라는 차이가 있다. 따라서 organic은 늘리고⬆, direct는 줄이는 것⬇ 이 가장 좋지 않을까?

또한 cpc는 Google Ads나 네이버 검색광고처럼 클릭당 비용을 지불하는 검색광고를 통해 방문한 경우를 의미한다. display는 뉴스 기사나 블로그, 앱 등에 노출되는 배너 광고나 인터스티셜 광고처럼 디스플레이 광고를 통해 유입된 경우에 사용된다. paid_social은 인스타그램이나 페이스북 등 SNS에서 집행한 유료 광고를 의미하며, referral은 다른 웹사이트에 있는 링크를 클릭해 방문한 경우, email은 뉴스레터나 CRM 메일을 통해 유입된 경우를 의미한다.

GA4의 중심, 이벤트

GA4를 어느 정도 활용할 수 있는지를 판단하는 기준 중 하나는 직접 이벤트를 기획하고 설정할 수 있는지이다.

서비스마다 중요한 행동은 모두 다르기 때문에, 먼저 회원가입, 장바구니 담기, 구매, 콘텐츠 조회 등 어떤 행동을 측정할 것인지 이벤트를 정의해야 한다. 이후 이벤트를 설정하면 사용자가 서비스 안에서 어떤 행동을 했는지, 어느 단계에서 이탈했는지 분석할 수 있다.

또한 사용자가 어떤 경로를 통해 유입되었는지 확인하기 위해서는 Source/Medium과 UTM 파라미터를 함께 활용한다. GA4는 기본적으로 유입 경로를 수집하며, UTM 파라미터를 추가하면 어떤 광고나 캠페인을 통해 방문했는지까지 더욱 정확하게 구분할 수 있다.

즉, UTM은 유입 경로를 식별하는 역할을 하고, 이벤트는 유입 이후 사용자의 행동을 추적하는 역할을 한다. 두 가지를 함께 활용해야 사용자가 어디에서 유입되어(Source/Medium), 어떤 행동을 거쳐 전환하거나 이탈했는지(Event)까지 전체 고객 여정을 분석할 수 있다.

GA4의 시작, 초기 환경 설정

GA4는 설치만으로 끝나지 않는다.
정확한 분석을 위해 몇 가지 초기 설정을 함께 확인해보자.

GA4 초기설정
GA4 초기설정
01 GA4 로그인 및 계정 생성

Google Analytics → 계정 만들기 → 계정 정보 입력 → 데이터 공유 설정

계정 이름은 브랜드명으로 설정하는게 정석이지만, 실습용이니 tistory로 설정하였다.

02 속성(Property) 생성

관리자(Admin) → 속성 만들기 → 국가 → 시간대 → 통화 설정

속셩명은 우리의 서비스명이고, 시간대나 통화는 우리 서비스가 실제 운영되는 환경에 맞춘다.

03 비즈니스 세부정보

업종 선택 → 비즈니스 규모 선택

업종과 비즈니스 규모를 선택해 서비스 환경에 맞는 분석 정보를 설정했다.

04 비즈니스 목표

비즈니스 목표 선택 → 리드 생성 → 웹 및 앱 트래픽 조사

실습에서는 잠재 고객 확보와 웹사이트 트래픽 분석을 목표로 설정했다.

05 데이터 수집

Web 선택 → URL 입력 → 스트림 이름 입력 → 측정 ID 확인

웹 데이터 스트림을 생성하고, 발급된 측정 ID(G-XXXXXXXXXX)를 확인했다.

06 Google Tag 삽입

티스토리 관리 → 꾸미기 → 스킨 편집 → HTML 편집 → <head> → Google tag(gtag.js) 코드 삽입 → 적용

GA4에서 제공하는 <!-- Google tag (gtag.js) --> 코드를 <head> 영역에 삽입해 데이터가 수집되도록 설정했다.

07 데이터 수집 및 보관 설정

관리자 → 데이터 수집 → Google 신호 데이터 수집 활성화 및 승인

관리자 → 데이터 보관 → 이벤트 데이터 보관 기간 14개월 설정

Google 신호 데이터 수집을 활성화하고, 이벤트 데이터 보관 기간을 최대인 14개월로 설정했다.

08 내부 트래픽 정의

관리자 → 데이터 스트림 → 태그 설정 구성 → 자세히 보기 → 내부 트래픽 정의

사내 직원의 접속을 분석 데이터에서 제외하기 위한 내부 트래픽 설정 위치와 방법을 확인했다. 실습에서는 테스트 환경이므로 별도로 적용하지 않았다.

09 결제 대행사 추천 제외

관리자 → 데이터 스트림 → 태그 설정 구성 → 자세히 보기 → 원치 않는 추천 나열 → 원치 않는 도메인 추가

원치 않는 추천에는 결제 대행사뿐 아니라 소셜 로그인, 본인인증, 외부 예약·상담 시스템처럼 사용자가 잠시 외부 서비스로 이동했다가 다시 돌아오는 도메인을 등록해 원래 유입경로가 유지되도록 관리해야한다.

10 디버거 테스트

Chrome 웹스토어 → Google Analytics Debugger 설치 → 활성화 → GA4 DebugView 확인

Debugger를 활성화한 뒤 DebugView에서 이벤트가 정상적으로 수집되는지 확인까지!

P1 디버거 설정·확인

Chrome 웹스토어 → Google Analytics Debugger 설치 → 데이터 표시(Debug) ON → DebugView → 블로그 탐색 → 이벤트 확인

디버거를 활성화한 뒤 블로그를 탐색하며 DebugView에서 page_view 등 이벤트가 실시간으로 수집되는지 확인했다.

DebugView에서는 이벤트가 실시간으로 수집되는 과정을 확인할 수 있다. Google Analytics Debugger를 활성화한 뒤 블로그를 탐색하면 page_view와 같은 이벤트가 즉시 표시된다.

이벤트를 선택하면 매개변수(Parameter)사용자 속성(User Properties)도 함께 확인할 수 있다. 매개변수는 이벤트와 함께 전달되는 상세 정보이고, 사용자 속성은 여러 이벤트에서 공통으로 사용하는 사용자 정보를 의미한다.

  • 매개변수 : page_title(페이지 제목), page_location(URL), ga_session_number(방문 횟수) 등 이벤트의 상세 정보
  • 사용자 속성 : language(언어), country(국가) 등 사용자에게 연결되는 공통 정보

기초 이벤트와 맞춤 이벤트

기초 이벤트, GA4의 기본

기초 이벤트는 GA4에서 별도의 설정 없이 자동으로 수집해주는 이벤트다. 사용자가 페이지를 방문하거나 처음 사이트에 접속했는지, 새로운 세션이 시작되었는지와 같은 기본적인 행동을 자동으로 기록한다. 따라서 GA4를 설치하기만 해도 기본적인 사용자 행동은 바로 확인할 수 있다.

대표적인 기초 이벤트로는 page_view(페이지 방문), first_visit(첫 방문), session_start(새로운 세션 시작), user_engagement(사용자 참여) 등이 있다. 이러한 이벤트는 웹사이트의 기본적인 이용 현황을 파악하는 데 활용된다.

맞춤 이벤트, GA4의 핵심

맞춤 이벤트는 서비스에 맞게 직접 정의하는 이벤트다. GA4가 기본으로 제공하지 않는 사용자 행동을 직접 설계하고 측정하는 과정으로, 어떤 행동을 분석할 것인지 결정하는 가장 중요한 기능 중 하나다.

예를 들어 결제 정보를 입력하는 add_payment_info, 구매 완료를 의미하는 purchase, 환불을 나타내는 refund처럼 서비스에 필요한 행동을 직접 설정할 수 있다. 이처럼 비즈니스 목적에 맞는 이벤트를 설계하고 활용할 수 있는지가 GA4를 중급 이상으로 활용하는 기준이 되기도 한다.

새로운 이벤트를 만들 때는 임의의 이름을 사용하는 것보다 Google Analytics에서 제공하는 권장 이벤트(Recommended Events)를 먼저 확인하는 것이 좋다. 권장 이벤트명을 사용하면 보고서와 전환 측정 등 GA4의 다양한 기능을 더욱 효율적으로 활용할 수 있다.

참고로, 이 내용이 보고서에 들어가기에는 하루의 시간이 필요하다는 것, 즉 전날 데이터로 보는 것이 정석입니다! ✔️

01 맞춤 이벤트 만들기

관리자 → 데이터 표시 → 이벤트 → 이벤트 만들기 → 맞춤 이벤트 생성

기존 이벤트를 기반으로 새로운 맞춤 이벤트를 생성한다.

02 이벤트 이름 설정

맞춤 이벤트 이름 입력 → 코드 없이 만들기

Google 권장 이벤트명을 사용해 로그인 완료를 의미하는 login 이벤트를 생성했다.

03 이벤트 조건 설정

event_name = page_view → page_location 포함(LOGINCOMPLETE) → 저장

로그인 완료 페이지에 접속한 경우에만 login 이벤트가 발생하도록 조건을 설정했다.

04 이벤트 테스트

Chrome 웹스토어 → Google Analytics Debugger 설치 → 활성화 → DebugView → 블로그 탐색 → 이벤트 확인

생성한 맞춤 이벤트가 정상적으로 발생하는지 DebugView에서 확인하고, 매개변수(Parameter)와 사용자 속성(User Properties)도 함께 검증했다.

GA4의 한계, GTM이 필요한 이유

GA4는 웹사이트에서 발생한 데이터를 분석하는 도구이지만, 모든 사용자 행동을 자동으로 수집할 수 있는 것은 아니다. 예를 들어 장바구니 버튼을 클릭하거나, 좋아요 버튼을 누르거나, 팝업을 닫는 행동(Event)은 URL이 변경(Page)되지 않는 경우가 많다. 이러한 행동은 기본 설정만으로는 구분하기 어렵기 때문에 별도의 이벤트 수집(Event-Driven)이 필요하다.

이때 사용하는 도구가 Google Tag Manager(GTM)이다. GTM은 버튼 클릭, 폼 제출, 스크롤, 동영상 재생 등 웹사이트에서 발생하는 다양한 사용자 행동을 감지하고, 이를 이벤트로 만들어 GA4에 전달하는 역할을 한다. 즉, GA4는 데이터를 분석하는 도구이고, GTM은 데이터를 수집해 GA4로 전달하는 도구라고 이해하면 된다.

예를 들어 사용자가 장바구니 버튼을 클릭하면 웹사이트에서는 클릭 이벤트(onclick)가 발생한다. GTM은 이 이벤트를 감지해 미리 설정한 태그(Tag) 를 실행하고, 이벤트 정보를 GA4로 전송한다. 즉, 사용자의 행동을 감지하고 어떤 데이터를 분석 도구로 보낼지 관리하는 역할을 GTM이 담당한다.

01 GTM 계정 및 컨테이너 생성

Google Tag Manager → 계정 만들기 → 컨테이너 생성 → 웹(Web) 선택

웹사이트에서 사용할 GTM 계정과 컨테이너를 생성한다.

02 GTM 스니펫 설치

설치 코드 복사 → 티스토리 HTML 편집 → <head> / <body> 영역에 붙여넣기 → 적용

GTM에서 제공하는 스니펫을 웹사이트에 설치해 태그를 실행할 수 있는 환경을 구성한다.

03 Google 태그 생성

태그 → 새로 만들기 → Google 태그 → 측정 ID 연결

Google 태그를 생성해 웹사이트에서 발생하는 이벤트를 GA4로 전송하도록 설정한다.

04 측정 ID 변수 생성

변수 → 새로 만들기 → 상수(Constant) → GA4 측정 ID 입력 → Tag_Id 저장

측정 ID를 변수로 관리하면 여러 태그에서 재사용할 수 있어 유지보수가 편리하다.

05 트리거 연결 및 게시

All Pages 트리거 선택 → 저장 → Preview → Publish

모든 페이지에서 Google 태그가 실행되도록 설정한 후 테스트를 거쳐 제출한다. 제출을 안할경우 초기화되므로 무조건 미리보기 후, 제출!

GTM 계층 구조

Google Tag Manager(GTM)는 계정(Account), 컨테이너(Container), 태그(Tag) 구조로 이루어져 있다. 계정 안에 컨테이너가 있고, 컨테이너 안에서 태그, 트리거, 변수 등을 관리한다.

계정(Account)GTM을 관리하는 가장 상위 공간이다. 예를 들어 하나의 계정에서 회사 홈페이지, 블로그, 쇼핑몰처럼 여러 웹사이트를 함께 관리할 수 있다.

컨테이너(Container)는 하나의 웹사이트에서 사용하는 태그들의 집합이다. 일반적으로 웹사이트마다 하나의 컨테이너를 생성하며, 이번 실습에서도 티스토리 블로그 전용 컨테이너를 생성해 태그를 관리했다.

태그(Tag)는 트리거 조건이 만족되었을 때 실행되어 데이터를 GA4와 같은 분석 도구로 전송하는 코드이다. 트리거(Trigger)는 페이지 방문, 버튼 클릭, 스크롤과 같은 유저의 행동을 감지하여 태그를 언제 실행할지 결정한다. 변수(Variable)는 페이지 URL, 버튼 이름, GA4 측정 ID처럼 태그와 트리거에서 사용할 값을 저장하고 전달하는 역할을 한다.

GTM과 함께하는 버튼 클릭 이벤트

버튼 클릭 이벤트를 수집하려면 먼저 클릭 관련 변수를 활성화하고, 특정 버튼을 감지할 트리거를 만든 뒤, 해당 트리거가 실행할 GA4 이벤트 태그를 연결해야 한다.

각 단계에서는미리보기를 통해 설정이 정상적으로 작동하는지 확인하고, 제출을 눌러 실제 웹사이트에 반영해야 한다. 제출하지 않으면 변경 사항이 적용되지 않으므로 미리보기와 제출 과정까지 반드시 완료해야 한다! ⭐️

01 기본 제공 변수 열기

GTM → 변수 → 기본 제공 변수 → 구성

버튼 클릭 정보를 확인하기 위해 GTM에서 제공하는 기본 제공 변수 설정을 연다.

02 클릭 관련 변수 활성화

클릭 수 → Click Element · Click Classes · Click ID · Click Target · Click URL · Click Text 선택

클릭 수 하위의 모든 변수를 활성화해 사용자가 클릭한 요소의 클래스, ID, 텍스트 등의 정보를 확인할 수 있도록 설정한다.

03 클릭 트리거 생성

트리거 → 새로 만들기 → 클릭 – 모든 요소 → 일부 클릭 → Click Classes 같음 txt_like uoc-count

좋아요 버튼의 클래스값을 조건으로 지정해 해당 버튼을 클릭했을 때만 트리거가 실행되도록 설정한다.

04 GA4 이벤트 태그 생성

태그 → 새로 만들기 → Google 애널리틱스: GA4 이벤트 → 측정 ID {{ga4_ID}} → 이벤트 이름 like_btn → 좋아요 버튼 클릭 트리거 연결

좋아요 버튼을 클릭하면 like_btn 이벤트가 GA4로 전송되도록 이벤트 태그를 생성하고 앞에서 만든 트리거를 연결한다.

05 미리보기 및 게시

저장 → 미리보기 → 티스토리 좋아요 버튼 클릭 → Tag Assistant 확인 → 제출 → 게시

미리보기에서 좋아요 버튼을 직접 클릭한 뒤 Tag Assistant를 통해 태그가 정상적으로 실행되는지 디버깅한다. 문제가 없다면 제출과 게시를 눌러 변경사항을 실제 웹사이트에 반영한다.


Reflection Key Takeaways
  • 개발업에 있었어서 이미 익숙한 개념도 처음 배우는 사람에게는 어렵게 느껴질 수 있다는 점, 그리고 업계마다 설명 방식이 다르다는 점을 다시 한번 깨달았다.
  • 혼자 아는 사람이 아니라, 함께 이해하고 성장할 수 있도록 설명하는 사람이 되고 싶다.
  • 미워하지 말아주세요. 저도 마케팅은 아직 배우는 중입니다. 😭

댓글 남기기