구글애널리틱스의 소스 매체 수집 원리 이해하기
안녕하세요~
오늘의 데이터 하세오 글은 바로 'GA4 하세오' 카테고리로 준비 해보았습니다.
완벽하지 않더라도 직접 테스트를 하면서 알아낸 정보들을 아래에서 천천히 풀어볼 예정이니
즐겁게 읽어주시고, 함께 나누면 좋은 피드백 등이 있다면 언제든 댓글로 남겨주세요 :)
GA4의 소스/매체란?
GA4 구축 프로젝트를 하면서 고객사와 소통을 하다 보면
구글 애널리틱스를 사용하고 계신 실무자들이 가장 많이 확인하는 부분이 있습니다.
바로 소스 / 매체 별 성과인데요,
기본적으로 소스 / 매체란
naver / organic , google / cpc 등 해당 세션이 시작된 유입 경로를 분류하는 기준으로서
특히 광고를 집행할 때 utm 파라미터를 활용하여 광고 성과를 확인할 때 중요한 역할을 합니다.
이전 UA (GA3) 때는, 유입 캠페인(소스 매체) 이 바뀌게 되면 새로운 세션으로 인식이 되었지만,
GA4 로 전환하면서 큰 변화 중 하나는 유입 캠페인(소스 매체) 이 바뀌어도 세션이 새로 생성되지 않는 다는 점 입니다.
<UA 구글 가이드 참고>
[UA] 유니버설 애널리틱스에서 웹 세션을 정의하는 방법 - 애널리틱스 고객센터
<GA4 구글 가이드 참고>
https://support.google.com/analytics/answer/11080067?
즉, GA4 에서는 1개의 세션 안에 여러 소스/매체가 존재할 수 있단 것인데,
그럼 GA4 에 수집되는 소스 매체는 어떤 값 일까요?
빅쿼리에 수집되는 데이터들을 함께 확인해보겠습니다.
빅쿼리에 있는 소스 / 매체 관련 필드
GA4 를 쓰고 계신 분들이라면 이미 빅쿼리를 연결하여 활용하고 계신분들이 많으실 것 같은데요,
빅쿼리에 대한 세부 내용은 다른 글에서 설명하고, 오늘은 소스 매체를 확인하는 부분에서 집중해보겠습니다.
GA4 의 빅쿼리에서 어떤 값들이 수집되는 지에 대한 가이드가 있는데요,
https://support.google.com/analytics/answer/7029846?hl=ko
이 가이드를 확인하면 'traffic' 이 포함된 항목이 크게 세 개가 있습니다.
- collected_traffic_source
- session_traffic_source_last_click
- traffic_source
각각에 대해 부연 설명 되어 있는 것을 보면
collection_traffic_source | 이벤트와 함께 수집된 트래픽 소스 데이터 |
session_traffic_source_last_click | Google Ads 및 수동 컨텍스트 전반의 마지막 클릭 기여 분석 세션 트래픽 소스 데이터 |
traffic_source | 사용자를 처음 획득한 트래픽 소스에 대한 정보 |
사실 구글 가이드 설명을 읽으면 조금 수수께끼 같죠
collection_traffic_source 는 이벤트 발생 시점의 소스 데이터
session_traffic_source_last_click 는 구글 애즈 혹은 수동 (utm)
traffic_source 는 사용자를 처음 획득한 시점
이렇게만 우선 기억하고, 뒤에서
실제로 여러 소스 매체로 사이트에 유입했을 때 각 항목들이 어떻게 수집되었는지 공유드리겠습니다.
GA4 소스 매체 유입 정보 수집
결론적으로 말하면
collection_traffic_source 는 page_location 즉,
특정 이벤트가 발생하는 그 시점에 있는 url 에서 utm_source , utm_medium 등 수정으로 설정한 utm 정보 값이 수집되고,
session_traffic_source_last_click 는
해당 세션에서 가장 첫번째로 수집되었던 소스/ 매체 정보
traffic_source 는
사용자 단위로서 해당 유저가 가장 처음으로 사이트에 유입되던 당시의 값 입니다.
(cid 기준이며,_ga 쿠키의 기본 유효 기간은 2년)
빅쿼리에 수집되는 정보를 확인 하기 위해서
제가 3-4 일을 나눠서 여러 세션을 발생시키고, 빅쿼리에서 소스/매체 쿼리로 필요한 항목들만 추출해 보았습니다.
SELECT event_date,
event_timestamp,
event_name,
user_pseudo_id,
(select params.value.int_value from unnest(event_params) params where key ='ga_session_id') ga_session_id,
(select params.value.string_value from unnest(event_params) params where key ='ga_session_number') ga_session_number,
(select params.value.string_value from unnest(event_params) params where key ='page_location') page_location,
(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,
traffic_source.source first_source,
traffic_source.medium first_medium,
traffic_source.source first_source,
collected_traffic_source.manual_source collected_manual_source,
collected_traffic_source.manual_medium collected_manual_medium,
collected_traffic_source.gclid collected_manual_gclid,
session_traffic_source_last_click.manual_campaign.source last_click_source,
session_traffic_source_last_click.manual_campaign.medium last_click_medium,
FROM `GA4 데이터 소스`
where user_pseudo_id ='본인의 테스트 ID'
order by event_date , event_timestamp
10.16 (first visit) | 구글 검색 광고 > 네이버 검색 광고 > 네이버 올가닉 |
10.17 | 네이버 > 다음 > 구글 > direct |
10.24 | direct |
10.25 | direct > 다음 올가닉 > 네이버 디스플레이 |