GA4 이벤트 유형

GA4에서 수집하는 이벤트의 유형은 아래 4가지로 나뉩니다.

  • 자동 수집 이벤트
    • 사이트에 GA4 태그만 심으면 기본으로 수집되는 이벤트
    • page_view, session_start 등
  • 향상된 측정 이벤트
    • 데이터스트림 설정에서 ‘향상된 측정’ 옵션을 켜놓은 경우 수집되는 이벤트
    • 스크롤, 이탈클릭, 사이트 검색 등
  • 추천 이벤트
    • 주로 비즈니스 성과 측정을 위해 구글이 미리 정의해 놓은 이벤트
    • add_to_cart, purchase, login, generate_lead 등
  • 맞춤 이벤트
    • 위 세가지 유형에 해당되지 않는 특별한 목적을 위해 관리자가 직접 생성하는 이벤트(기존 이벤트와 이름이 겹치지 않도록 명명)
    • scroll_90, page_view_thank_you 등

맞춤 이벤트는 몇가지 방법을 통해 만들수 있는데 가장 추천되는 방법은 구글 태그 관리자(GTM)를 이용하는 것입니다. 직접 코딩을 하지 않아도 되고 GA4를 이용하는 방법보다 더 다양한 유형의 이벤트를 추적할 수 있습니다. 태그 관리자를 이용하는 방법 외에도 맞춤 이벤트를 만드는 다양한 방법은 아래 링크에서 확인할 수 있습니다.

https://marketology.co.kr/all-category/tag-manager/ga4에서-맞춤-이벤트를-만드는-4가지-방법/

GA4에서 기존 이벤트를 수정해서 이벤트 만들기(코드없이 만들기)

이 포스팅에서는 GA4의 기존 이벤트를 복제하고 수정해서 새로운 이벤트를 만드는 방법을 알아봅니다.

GA4에서 맞춤 이벤트를 생성하려면 ‘이벤트 만들기’ 기능을 이용해서 기존의 이벤트를 변형한 이벤트를 만들거나 웹사이트에 코드를 추가해 새로운 이벤트를 만듭니다. 전자의 방식을 택하려면 ‘이벤트 생성 방법’에서 ‘코드 없이 만들기’를, 후자를 택하려면 ‘코드로 만들기’를 선택합니다.

GA4 이벤트 만들기 버튼 위치

이벤트를 만들려면 좌측 메뉴 하단에 ‘톱니바퀴 아이콘(관리)’을 클릭 한후 ‘데이터 표시’ 섹션에서 ‘이벤트’를 클릭하고 위 이미지에 보이는 파란 색 ‘이벤트 만들기’ 버튼을 클릭합니다.

GA4 이벤트 만들기 생성방법 선택

‘이벤트 만들기’ 창에서 ‘코드 없이 만들기’와 ‘코드로 만들기’ 중 하나를 선택할 수 있습니다.

‘코드 없이 만들기’는 웹사이트에 코드를 추가하는 대신 기존 이벤트를 변형해서 새로운 이벤트를 만드는 방식입니다. 예를 들어 ‘page_view’이벤트를 기반으로 해서 ‘page_view_thank_you’라는 이름의 맞춤 이벤트를 만들면서 이벤트 발생 조건을 ‘page_location’이 ‘thank-you’라는 문자를 포함하도록 설정 하면 사용자가 https://marketology.co.kr/thank-you.php를 조회할 때 ‘page_view_thank_view’ 이벤트를 GA4 서버로 전송하는 것입니다.

‘코드로 만들기’는 GA4 내부 기능이 아닌 외부에서 코드를 이용해 맞춤 이벤트를 만드는 방식입니다. 코드를 웹페이지에 직접 입력하거나 GTM을 활용합니다.

‘코드로 만들기’ 방식을 사용할 때 GA4에서는 ‘이벤트 이름’이나 ‘이벤트 값’, ‘계산 방법’을 미리 정의해 놓는 역할만을 할 뿐 실제 이벤트를 만들고 발생시키는 작업은 코드 삽입이나 GTM을 통해 이뤄지기 때문에 꼭 있어야 할 기능은 아닌 것 같습니다. 다만 사용자들에게 맞춤 이벤트 만드는 것이 크게 두가지 방법, 기존 이벤트를 복사한 후 수정해서 사용하는 방법과 코드, GTM을 이용해서 직접 만드는 방법이 있다는 것을 알려준다는 의미가 더 크지 않나 생각 됩니다.

이 포스팅에서는 ‘코드로 만들기’는 다루지 않고 ‘코드 없이 만들기’에 대해서만 설명 드리도록 하겠습니다.

코드로 맞춤 이벤트를 만드는 방법은 본 사이트의 GTM 메뉴 게시글들을 참고하시기 바랍니다.

‘이벤트 만들기’ 예시 1 – 동영상 50% 조회 이벤트

데이터스트림의 ‘향상된 측정’ 설정에서 ‘동영상에 호응’이라는 옵션을 켜면 동영상 재생과 관련된 이벤트를 수집합니다.

  • video_start
    • 동영상이 재생될 때
  • video_progress
    • 동영상 전체 길이의 25%, 50%, 75%가 재생되었을때
    • video_percent 매개변수에 수치가 담김
    • 끝까지 재생할 경우 3번의 video_progress 이벤트가 발생하고 첫번째 이벤트의 video_percent 매개변수에는 ’25’, 두번째는 ’50’, 세번째는 ’75’가 담김
  • video_complete
    • 동영상 재생이 완료되었을 때

만약 관리자가 동영상이 50%까지 재생 됐을 때 별도의 이벤트를 발생시키고 싶은 경우 ‘video_progress_50’이라는 이름의 맞춤 이벤트를 만들어 사용할 수 있습니다. 이름은 관리자가 결정할 수 있으므로 ‘video_half_complete’라고 해도 되고 ‘video_midpoint’라고 해도 무방합니다. 이름은 관리자 마음입니다. 관리자와 함께 다른 사용자들이 보고 이름만으로도 이벤트의 성격을 이해할 수 있으면 됩니다. 이런 이벤트를 만드는 이유는 동영상을 절반 이상 보는 것이 중요한 의미가 있을 경우 GA4나 구글 애즈에서 마이크로 전환으로 설정해서 성과 측정, 기여분석, 입찰전략 신호 등에 활용하기 위함입니다.

이 맞춤 이벤트(video_progress_50)를 만들기 위해 GA4의 ‘이벤트 만들기’를 이용할 것이고 ‘코드 없이 만들기’ 방법을 선택할 것입니다.

video_progress_50 이벤트 만들기

GA4 화면 좌측 하단에서 톱니바퀴 아이콘(관리)을 클릭하고 관리자 화면에서 ‘데이터 표시/이벤트’로 이동합니다.

‘+ 이벤트 만들기’ 버튼을 클릭 한 후 ‘이벤트 생성 방법’에서 ‘코드 없이 만들기’를 선택합니다.

새 이벤트를 만들 ‘데이터 스트림’을 선택하고 만약 ‘page_view’나 ‘form_submit’ 이벤트가 특정 URL에서 발생하는 간단한 조건이라면 현재 화면에서 URL contains 조건 값에 추적 하려는 URL에 포함된 고유한 단어를 입력해서 줍니다. 이 두 이벤트 외에 다른 이벤트나 보다 복잡한 조건이 필요한 경우 ‘옵션 더 보기’를 눌러 아래와 같은 ‘설정’ 화면으로 이동합니다.

여기서 ‘맞춤 이벤트 이름’ 입력란에는 생성할 이벤트의 이름을 넣습니다. 우리는 앞서 얘기 한대로 ‘video_progress_50’을 사용하기로 합니다.

일치조건을 위 이미지와 같이 한다는 것은 event_name이 video_progress인 이벤트가 발생하고 이 이벤트의 매개변수 중 video_percent의 값이 50일때 새로운 이벤트를 발생시킨다는 것입니다. 기존의 이벤트를 기반으로 새로운 이벤트가 생성 되는 것입니다. 이 이벤트가 만들어져도 원본이 되는 기본 이벤트(video_progress)는 그대로 추적 됩니다.

이제 동영상을 25% 이상 재생시키면 video_progress 하나만 잡히지만 50% 이상 재생시키면 video_progress와 video_progress_50이 함께 잡힙니다.

‘매개변수 구성’에서 ‘소스 이벤트에서 매개변수 복사’ 옵션을 체크하면 원본 이벤트인 video_progress가 가지는 매개변수들을 새로 만드는 맞춤 이벤트에서도 그대로 사용하게 됩니다. 이벤트 성격에 맞게 구성된 매개변수들이므로 특별한 경우가 아니면 체크하도록 합니다.

‘수정사항 추가’ 버튼을 누르면 ‘매개변수’와 값을 입력하는 항목이 추가 됩니다. 예시에서처럼 매배견수에 ‘value’라는 매개변수 명을 넣고 값에 임의의 숫자를 넣으면 video_progress_50 이벤트에 value 매개변수가 추가됩니다. 다른 매개변수를 더 추가하고 싶으면 ‘수정사항 추가’를 눌러서 항목을 추가하면 됩니디.

이 이벤트를 구글 애즈에서 마이크로 전환으로 사용하고자 할 경우 이 value 값은 이 전환의 가치를 구글 애즈에게 알리는 수단이 됩니다. 만약 리드전환의 가치가 100만원이고 동영상을 50% 이상 조회한 사용자 100명중 한명이 리드 전환을 발생시킨다면 video_progress_50의 가치를 10,000원으로 볼수 있을 것입니다. 이런 사실을 구글 애즈에게 전환 이벤트의 value 매개변수를 통해 전달하는 것입니다. 구글 애즈는 리드 전환의 가치가 1,000,000이고 video_progress_50의 가치가 10,000이란 것을 각 이벤트의 vlaue 값을 통해 알게 되므로 리드 전환에 100배 더 큰 가치를 두고 전환가치 기반 입찰전략(타겟 ROAS, 전환가치극대화)를 운영할 것입니다.

‘이벤트 만들기’ 예시 2 – GNB 클릭 이벤트

GNB(Global Navigation Bar)는 웹사이트 내비게이션의 최상위 메뉴입니다. GNB의 서브에 포함되는 메뉴는 LNB(Local Navigation Bar)라고 합니다.
GNB나 LNB에 대한 클릭을 측정하면 사용자들이 콘텐츠에 대해 어느정도의 관심을 가지는지 또 가장 흥미를 느끼는 콘텐츠 분류는 무엇인지 확인할 수 있게 됩니다.

 아래 예시를 통해서 GNB 메뉴에 click이 발생할 때 click_gnb 라는 이름의 이벤트가 생성되도록 해보겠습니다. click_lnb 이벤트도 같은 방법으로 생성할 수 있습니다.

GNB 메뉴의 링크 태그가 이렇게 되어 있다고 가정합니다. 링크의 class가 공통적으로 gnb를 포함합니다.

<a class='gnb emp-link active’ href='/company.html'>회사소개</a>
<a class='gnb emp-link’ href='/products.html'>제품소개</a>
<a class='gnb emp-link’ href='/support.html'>고객 지원</a>
<a class='gnb emp-link’ href='/contacts.html'>연락처</a>

사전작업: GTM으로 ‘모든 링크 클릭’에 대한 click 이벤트 발생시키기

click_gnb 이벤트를 만들려면 우선 click 이벤트에 대한 추적 설정을 해야 합니다.

GA4에서는 기본적으로 click 이벤트를 추적하지 않습니다. 데이터 스트림 설정의 ‘향상된 측정’에서 ‘이탈 클릭’을 켜 놓으면 click이란 이름의 이벤트를 추적하긴 하지만 이 click 이벤트는 외부로 빠져나가는 outbound 링크의 클릭만을 추적합니다. 그러니까 marketology.co.kr 사이트에서 이탈 클릭을 켜놓을 때 잡는 click은 google.com이나 naver.com처럼 marketology.co.kr 도메인이 아닌 다른 도메인으로 넘어가는 클릭만 추적하는 것입니다. 사이트 내부에서 내부로 이동하는 링크는 잡질 않습니다.

사이트 내에서의 클릭을 추적하려면 ‘향상된 측정’ 설정에서 ‘이탈 클릭’을 꺼놓고 GTM을 이용해 내부 클릭이 잡히도록 태그를 생성해 줘야 합니다.

구글 태그 관리자를 이용해 사이트 내의 모든 링크 클릭을 추적하는 click 이벤트를 만드는 법은 아래 링크를 참고해 주세요

https://marketology.co.kr/all-category/tag-manager/구글-애널리틱스-ga4-모든-링크-클릭-추적하기-구글-태/

이번 예시는 click 이벤트가 이탈 클릭이 아닌 모든 링크 클릭을 추적해야 하므로 그렇게 되어 있지 않다면(click이 이탈클릭을 잡는다면) 위 게시물 내용대로 먼저 click 이벤트를 설정해야 합니다. 그리고 click 이벤트에 link_classes 매개변수가 포함되어야 하는데 이 방법도 위 게시물에 설명되어 있으니 그대로 설정한 후에 아래 단계를 진행해 주시기 바랍니다.

click_gnb 이벤트 만들기

코드 없이 이벤트 만들기 화면에서 아래와 같이 설정하면 click 이벤트가 발생할 때 링크의 class 속성 값에 ‘gnb’가 포함되어 있으면 click_gnb 라는 새로운 이벤트가 생성됩니다.

html 태그의 class 속성에는 띄어쓰기를 구분으로 여러 개의 값이 들어갈 수 있으므로 연산자를 ‘같음’이 아닌 ‘포함’으로 해줘야 합니다.

예) class=’gnb active button’ — class 속성에 세개의 값이 들어가 있음

앞의 예시에서 video_progress_50 이벤트는 중요도가 크다고 봐서 value 값을 추가했지만 이번 예시에서는 value를 추가하지 않았습니다. 하지만 사이트의 성격에 따라 GNB 클릭이 중요한 이벤트로 평가 될 경우 앞의 예시에서처럼 ‘수정사항 추가’ 버튼을 눌러 value나 기타 필요한 매개변수를 추가할 수 있습니다.

만약 GNB의 A 태그에 GNB에서만 고유하게 사용하는 class 값이 없는 경우 즉, gnb라는 클래스가 없는 경우 이럴 때는 다른 적합한 조건을 찾아서 조건에 적용해야 합니다.

예를 들어 GNB의 A태그가 아래와 같이 구성되어 있으면 이 링크가 GNB라는 것을 식별할 수 있는 고유의 클래스가 없으므로 클래스가 아닌 다른 클릭 속성을 활용해야 합니다.

<a class='emp-link active’ href='/company.html'>회사소개</a>
<a class='emp-link’ href='/products.html'>제품소개</a>
<a class='emp-link’ href='/support.html'>고객 지원</a>
<a class='emp-link’ href='/contacts.html'>연락처</a>

모든 링크 클릭 추적 방법을 설명한 위의 링크대로 선행 작업을 해 뒀다면 click 이벤트에 link_classes와 함께 link_text 매개변수도 추가가 되어있을 것입니다. 이 link_text 매개변수를 이용해 GNB를 추적합니다.

아래와 같이 일치조건을 수정합니다.

<일치 조건>

매개변수 : link_text
연산자 : 정규 표현식 일치
값 : 회사소개|제품소개|고객지원|연락처

정규 표현식에서 ‘|’는 or와 같은 역할을 합니다.

link_text 즉 A태그가 둘러싸는 텍스트가 ‘회사소개’이거나 ‘제품소개’ 또는 ‘고객지원’, ‘연락처’ 중 하나라도 일치하면 조건이 만족되고 click_gnb 맞춤 이벤트가 발생되는 것입니다. GNB 링크 외에도 다른 곳에서 같은 텍스트로 링크가 걸려 있을 수 있으므로 실무에서느 더 엄격한 조건으로 그런 오류를 방지해야 합니다.

GA4 ‘코드 없이 이벤트 만들기’의 한계

코드 없이 이벤트 만들기는 현재 추적중인 이벤트를 기반으로 만들어집니다. 자동 추적 이벤트나 향상된 측정 이벤트를 추적하는 경우 가장 활발하게 추적되는 이벤트는 page_view, click, form_submit, video 관련 이벤트 등입니다. 이런 이벤트들을 기반으로 해서 새로운 이벤트를 만들수 있지만 기본적으로 기존 이벤트 유형의 는 범주를 벗어나지 못 합니다. 반면 구글 태그 관리자를 이용하면 아래 표시되는 ‘트리거 유형’, ‘변수 유형’을 활용해서 다양하고 정교한 이벤트를 만들어낼 수 있습니다.

예를 들어 ‘요소 공개 상태’ 트리거를 이용해 사용자가 ‘지도 크게 보기’를 눌러 큰 지도를 모달에 띄웠을 때 ‘map_view_expand’라는 이벤트를 발생시킬 수 있습니다. 그러면 매장 방문을 고려중인 사용자 행동을 파악할 수 있게 됩니다. 제품 상세페이지에서 제품 옵션을 선택할 때 ‘select_option’이라는 이벤트를 ‘맞춤 이벤트’로 만들고 옵션명을 이벤트 매개변수에 담아 GTM으로 보내면 이 ‘맞춤 이벤트’를 트리거로 해서 ‘select_opton’이라는 GA4 이벤트를 GA4 서버로 보낼수 있습니다. 사용자가 제품을 구매하거나 장바구니에 담지 않아도 어떤 옵션이 가장 많은 선택을 받는지 확인할 수 있는 것입니다. 창의적이고 실무적인 아이디어만 있다면 GTM의 트리거와 변수를 활용해 얼마든지 구현해 낼수 있습니다.

GTM의 사용법은 본 사이트의 ‘GTM’ 메뉴에 포함된 게시물들을 참고해 주시기 바랍니다.

GTM 트리거 유형
GTM 변수 유형