안녕하세요 데이터 하세오 :) 입니다!
오늘은 'GA4 하세오' 글을 준비해봤는데,
빅쿼리에 수집되는 GA4 의 트래픽 값들을 하나씩 알아보려 합니다.
오늘 첫 번째 시리즈로는 collection_traffic_source 를 알아보겠습니다
collection_traffic_source 란?
빅쿼리 스키마 가이드에서 설명하는 해당 필드는 이벤트와 함께 수집된 트래픽 소스 데이터를 포함하는데요,
https://support.google.com/analytics/answer/7029846
필드 이름데이터 유형설명
manual_campaign_id | 문자열 | 이벤트와 함께 수집된 수동 캠페인 ID(utm_id) |
manual_campaign_name | 문자열 | 이벤트와 함께 수집된 수동 캠페인 이름(utm_campaign) |
manual_source | 문자열 | 이벤트와 함께 수집된 수동 캠페인 소스(utm_source). UTM 값뿐만 아니라 추천 매개변수에서 파싱된 매개변수도 포함됩니다. |
manual_medium | 문자열 | 이벤트와 함께 수집된 수동 캠페인 매체(utm_medium). UTM 값뿐만 아니라 추천 매개변수에서 파싱된 매개변수도 포함됩니다. |
manual_term | 문자열 | 이벤트와 함께 수집된 수동 캠페인 키워드/용어(utm_term) |
manual_content | 문자열 | 이벤트와 함께 수집된 추가 수동 캠페인 메타데이터(utm_content) |
manual_creative_format | 문자열 | 이벤트와 함께 수집된 수동 캠페인 광고 소재 형식(utm_creative_format) |
manual_marketing_tactic | 문자열 | 이벤트와 함께 수집된 수동 캠페인 마케팅 전략(utm_marketing_tactic) |
manual_source_platform | 문자열 | 이벤트와 함께 수집된 수동 캠페인 소스 플랫폼(utm_source_platform) |
gclid | 문자열 | 이벤트와 함께 수집된 Google 클릭 식별자 |
dclid | 문자열 | 이벤트와 함께 수집된 Display & Video 360 및 Campaign Manager 360의 DoubleClick 클릭 식별자 |
srsltid | 문자열 | 이벤트와 함께 수집된 Google 판매자 센터 식별자 |
빅쿼리에서는 collected_traffic_source 라는 RECORD , 즉 STRUCT 안에
manual_source, manual_campaign_id,gclid 등의 값들이 수집됩니다.
collected_traffic_source STRUCT 에 저장되는 값은, UTM 에 설정한 파라미터를 기준으로 하는데요,
특히 'manual' 로 시작하는 값들이라면 수동으로 설정된 것을 의미합니다
UTM Builder 로 수동 파라미터 설정
예를 들어 제가 운영하는 '데이터 하세오' 사이트를 다른 네이버 블로그, 티스토리 , 노션, 링크드인 등 다른 곳에 홍보하고
나중에 유입 분석을 할 때 어느 플랫폼을 통해 datahaseo 사이트를 클릭한 것인지 분석하려고 하면
'어디서 눌렀는지' 에 대한 정보가 필요하겠죠?
그 역할을 해주는 것이 파라미터 입니다. 그리고 UTM Builder 라는 사이트에서 손쉽게 만들어 광고를 집행하거나
저처럼 수동으로 설정해줄 수 있어요
https://ga-dev-tools.google/ga4/campaign-url-builder
한번
campaign_id = '241027_general'
campaign_source = 'naver'
campaign_medium = 'blog_introduction'
campaign_name = 'sample'
campaign_term = 'hello'
campaign_content = 'none'
으로 설정해볼게요
그러면 하단에서 설정한 파라미터들이 붙은 URL이 생성되고,
Shorten link 를 쓰면 bitly 로 긴 url 을 짧게 만들어줍니다.
그럼 한번 제가 이 링크를 네이버 소개란에 올려두고 누군가가 그 링크를 눌렀다고 가정해볼게요
그러면 아까 SHORTEN 된 URL 이 풀리면서 기존에 설정했던 파라미터들로 웹 페이지가 열리는 걸 볼 수 있습니다.
이 URL 의 파라미터들은 빅쿼리에서 어떻게 수집되어 있을까요?
빅쿼리에서 collected_traffic_source 수집 값 확인해보기
INTRA (실시간) 테이블에서 확인을 해보면
event_params 의 source, medium content, term , campaign_Id 등이
page_location 에 붙어있는 파라미터, 즉 위에서 설정한 UTM 값들 대로 수집된 것을 확인할 수 있습니다.
event_params 에 이어서, 저희가 궁극적으로 확인하려한
collection_traffic_source 을 봐도 동일합니다.
event_params 에 수집된 값과 collected_traffic_source 안에 값들만 가져와보면 동일하다는게 더 잘보이죠 :)
SELECT event_name,
(select params.value.string_value from unnest(event_params) params where key='campaign_id') event_campaign_id,
(select params.value.string_value from unnest(event_params) params where key='source') event_source,
(select params.value.string_value from unnest(event_params) params where key='medium') event_medium,
(select params.value.string_value from unnest(event_params) params where key='term') event_term,
(select params.value.string_value from unnest(event_params) params where key='content') event_content,
collected_traffic_source.manual_campaign_id collected_manual_campaign_id,
collected_traffic_source.manual_source collected_manual_source,
collected_traffic_source.manual_medium collected_manual_medium,
collected_traffic_source.manual_term collected_manual_term,
collected_traffic_source.manual_content collected_manual_content,
FROM `데이터 소스`
where user_pseudo_Id = '본인의 cid'
ORDER BY event_timestamp DESC
즉, collected_traffic_source 의 값은 utm 에 기반하여 수동으로 설정된 값들을 의미하며,
event_params 와 동일한 값이 수집되어 '이벤트 기준의 소스/매체 값' 이라 생각할 수 있습니다.
Point1. 페이지 이동 중 utm 이 사라지거나 바뀐다면?
일반적으로 웹 브라우징을 하면 여러 사이트를 돌아다니게 되죠,
이 때 첫 유입 때 붙어있던 파라미터가 사라지게 되면, 그 때 부터 event_params 혹은 collected traffic source 값은
null 이 됩니다.
예를 들어
- naver_blog 영역으로 사이트에 처음 유입
- 다른 페이지 이동 (파라미터 사라짐 )
- 또 노션 통해 utm 이 있는 채 유입
- 다른 페이지로 이동 (파라미터 사라짐)
utm 이 있는 시점에만 해당 값들이 수집되고 (event_params 내 소스 매체 등 , collected traffic source)
페이지 이동 과정 중 utm 이 없었던 경우는 null 로 수집됩니다.
Point2. gclid , dclid , srsltid 란?
위에서 collected_traffic_source STRUCT 에 있는 값들을 설명할 떄,
manual_~ 이 붙은 값들은 예시로 보여드렸는데, 그 외의 값 gclid , dclid , srsltid 도 있었죠
https://support.google.com/google-ads/answer/9744275?hl=ko
https://support.google.com/displayvideo/answer/9188083?hl=ko#zippy=%2Cexample
gclid | 문자열 | 이벤트와 함께 수집된 Google 클릭 식별자 |
dclid | 문자열 | 이벤트와 함께 수집된 Display & Video 360 및 Campaign Manager 360의 DoubleClick 클릭 식별자 |
srsltid | 문자열 | 이벤트와 함께 수집된 Google 판매자 센터 식별자 |
gclid 는 '구글 클릭 ID ' (google click ID) 라고 하는데, 구글 애즈를 통한 모든 광고에 부여되는 ID 값으로,
이 역시 UTM 파라미터로서 URL 에 붙습니다.
예를 들어 가장 흔한 구글 광고로 Paid search 광고가 있죠?
그럼 url 에 gclid=Cj0KCQjwpvK4BhDUARIsADHt9sSt0pf8brxcU9XImU0LfP9jl2dfaWM0nNdlb1QxmCIaDRpe7U_dl5caAuroEALw_wcB
자동으로 붙는 값이 있는데, 구글의 광고의 표시라고 생각하시면 됩니다.
GA 에서 소스 매체를 분류할 때, GCLID 의 유무 여부에 따라 특정 소스/매체 값이 google/cpc 로 분류되기도 하는데
이때 쓰여요.
dclid 도 gclid 와 동일하게 Display&Video 360 광고를 진행할 때 utm 에 붙는 값입니다.
(srsltid 도 써본적은 없지만 Google 판매자 센터 식별자니 비슷한 개념이라 생각하시면 될 것 같습니다)
그럼 오늘 이렇게 ga4 에 빅쿼리를 연동했을 때 소스/매체 값 중 하나인
collected_traffic_source 가 어떤 항목들이 수집되는 것인지 알아보았습니다.
다음 글에서는 traffic_source, session_traffic_source_last_click 등 다른 값들에 대해서도 공유하는 글로 돌아오겠습니다.
감사합니다 :)