console.log(msg) 콘솔에 Verbose단계의 msg를 보여줍니다 console.info(msg) 콘솔에 Info단계의 msg를 보여줍니다 console.warn(msg) 콘솔에 Warnings단계의 msg를 보여줍니다 console.error(msg) 콘솔에 Errors단계의 msg를 보여줍니다 console.time(label) 스크립트 실행를 기점으로 시간을 측정하기위한 준비를 합니다. label을 입력하여 각각 시간을 측정해줄 지점을 지정해 줄 수 있습니다. console.timeLog(label) console.time 으로 부터 얼마나 많은 시간이 지났는지 ms 단위로 중간 결과를 출력합니다. console.timeEnd(label) console.time 으로 부터 얼마나 많은 시간이 지났는지 ms 단위로 종료 결과를 출력합니다.
구글에서 제공하는 SDK를 통해 GA4 보고서 데이터를 얻을 수 있습니다. 설치 가이드: https://github.com/googleapis/google-cloud-python/blob/main/packages/google-analytics-data/README.rst#installation 모듈 import GCP 인증 우선 dict 형태 또는 json 파일 형태의 Service Account를 읽어 구글 클라우드 플랫폼에 인증 과정을 거칩니다. 서비스 어카운트에는 Analytics Data API 사용 권한이 있어야 합니다. API 요청 폼 생성 기본적인 요청 폼 클래스 인스턴스를 생성합니다. 폼 생성 가이드: https://developers.google.com/analytics/devguides/reporting/data/v1/basics?hl=ko#generate_a_report REST API 가이드 : https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runReport?hl=ko#request-body 실행 및 데이터 확인 date필드의 경우 "yyyymmdd" 포맷으로 나오므로 필요할 경우 위와 같이 원하는 포맷으로 가공할 수 있습니다. 모든 메트릭은 String 형태이며 숫자로 나오는 메트릭도 Numeric String 형태로 나옵니다. 필요할 경우 int 타입으로 캐스팅 후 사용할 수 있습니다. response 인스턴스에서 row_count 애트리뷰트를 보면 현재 요청한 보고서의 총 row 개수를 얻을 수 있습니다. 만일 현재 뽑은 데이터 수가 row_count보다 적다면 offset 파라미터를 현재 limit 값으로 입력하여 다음 페이지의 데이터를 얻을 수 있습니다.
[Google Analytics4] 구글애널리틱스4 커뮤니티입니다. 구글애널리틱스관련 정보를 공유 해 주세요! 안녕하세요, GA4 세그먼트에 대해 공부한 내용을 작성해보겠습니다. 틀린 부분이 있더라도 양해 부탁드리고, 잘 알려주시기 바랍니다. 1. 세그먼트의 정의 세그먼트란 전체 집합 중 조건을 만족시키는 한 집단을 뜻합니다. GA4의 보고서에서 여러 조건을 세팅해서 특정 집단에 대해 인사이트를 얻고 싶을 때 유용하게 사용이 가능합니다. 2. 세그먼트의 종류 사용자 세그먼트: 조건에 해당하는 사용자의 집합 세션 세그먼트: 조건에 해당하는 세션의 집합 이벤트 세그먼트: 조건에 해당하는 이벤트의 집합 3. 맞춤 세그먼트 설정 포함조건: and / or 조건 설정 가능 제외조건: 일시적 / 영구적 제외 가능 4. 조건 범위 모든 세션: 동일 조건 그룹 내 조건 A,B가 있을 경우 각 조건이 동일 세션 내에 발생 했는지, 동일 이벤트 내에 발생했는지는 중요치 않고 조건 충족 동일 세션 내: 동일한 세션 내에서 조건 충족 동일 이벤트 내: 조건 A, B가 하나의 이벤트에 충족 5. 시퀀스 추가 순서를 설정하여 이벤트가 발생한 단계별로 구분 가능 세그먼트의 기본적인 내용에 대해 정리해보았습니다. 다음에는 실제 전자상거래 사이트 보고서에서 세그먼트를 만들어 실습한 내용을 바탕으로 좀 더 자세한 내용을 다뤄보겠습니다. 감사합니다.
안녕하세요, 빅 쿼리 쿼리문 실습한 내용을 정리해보도록 하겠습니다. 틀린 부분이 있어도 양해부탁드리고 잘 알려주시면 감사하겠습니다. 쿼리문을 이용하여 아이템 id, 아이템 이름, 아이템 브랜드, 아이템 옵션, 아이템 카테고리, 가격, 해당 아이템이 팔린 총 개수, 해당 아이템으로 얻은 총 수익을 구해보겠습니다. 해당 실습에서 사용한 테이블은 구글에서 제공하는 실습용 더미 테이블입니다. 해당하는 쿼리문은 이것인데요, 쿼리를 하나씩 살펴보겠습니다. 우선 select 문에 결과 테이블에서 확인하고 싶은 정보를 가진 필드 이름을 넣습니다. 여기서 입력한 필드 이름은 각각 앞서 말한 우리가 구하고자 하는 정보의 컬럼명입니다. 각 필드 이름이 무슨 요소를 나타내는지는 빅쿼리 스키마 구조 도움말에서 확인할 수 있습니다. (링크 참조) https://support.google.com/analytics/answer/7029846?hl=ko&ref_topic=9359001&sjid=2127074285611473672-AP#zippy=%2Citems 또한 집계함수 sum을 사용하였는데요, 해당 함수는 필드의 총합을 구해서 나타내는 함수입니다. 위의 쿼리에서는 quantity와 item_revenue의 총합을 나타내고 있습니다. 다음은 from 문입니다. 무슨 테이블에서 이 요소들을 select 하여 보일것인지 명시하는것인데요. 여기서 사용한 unnest() 함수는 ARRAY 를 일련의 행으로 변환하는 함수입니다. 이를 평면화라고 부릅니다. 평면화를 통해 배열화 되어있는 필드에 접근할수 있게 됩니다. 그 다음은 where 문입니다. 조건을 걸어 해당 조건에 맞는 결과만 볼수 있도록 하는 역할입니다. and / or 을 사용할수 있습니다. 한가지 유의하여야 하는 것은 'null일 경우', 혹은 'null이 아닐 경우'를 조건으로 사용하고 싶다면 =, != 연산자가 아니라 is null, is not null을 사용하여야 한다는 것입니다. 위의 쿼리에서는 이벤트 이름이 'purchase'이고 아이템 id가 null 과 not set이 아닐 경우의 결과를 보려하고 있습니다. 다음은 group by 절입니다. select 문에서 집계함수 sum을 사용하였는데요, 집계함수를 사용하려면 반드시 group by 절을 사용해주어야합니다. 집계함수를 무엇을 기준으로 사용하는지 명시해주는 역할을 하기 때문입니다. 따라서 위의 쿼리에서는 아이템 id, 아이템 이름, 아이템 브랜드, 아이템 옵션, 아이템 카테고리, 가격을 기준으로 (즉, 이 모든 항목들의 값이 같은 로우들) quantity와 item_revenue의 총합을 보이고 있는것입니다. 마지막으로 order by 절입니다. 이는 결과 테이블을 정렬하는 역할을 합니다. 아이템 id의 오름차순으로 결과 테이블을 정렬해줍니다. 해당 쿼리의 실행결과입니다. 감사합니다.
구글 디맨드젠 (구 디스커버리) 광고는 구글의 디스커버, Youtube 홈피드, Gmail 프로모션 및 소셜 탭 등 Google Ads로 캠페인 별 노출 게재 위치 등 광고 셋팅 가능 단, 해당 광고의 경우 Display 형태로 노출 되나 과금 방식이 CPM 또는 CPC와 같이 클릭 당 발생하기 때문에 구글에서 자체적으로 'google / cpc'로 분류함 * 광고 포멧에 따라 CPM 또는 CPC로 측정됨 또한, Google Ads에서 정의하는 디맨드젠 광고 GA4 Channel Grouping 은 'Cross-network' 이며, 그 외 광고는 ad network type에 따라 다른 채널로 분류됨
Funnel Exploration란? 지난번 GA에서 제공하는 Custom Report 중 Funnel Analysis 를 알아보았었는데요 (설정된 단계별로 사용자의 전환/이탈율을 확인할 수 있는 보고서) 지난 번에는 UA를 기준으로 살펴보았다면, 이번에는 GA4에서 제공되는 Explore Report 들 중 하나인 Funnel exploration 을 조금 더 자세히 알아보도록 하겠습니다. GA4로 변환되며 Funnel Exploration 보고서가 많이 보완되었다고 말씀드렸었는데, 레포트의 "Settings"의 각 항목들을 살펴보도록 하겠습니다. STEPS Step 의 이름은 정해진 규칙이 있는 것이 아니라, 보고서를 조회하는 사용자가 구분하기 편하도록 자유롭게 설정하면 됩니다. 주로 이벤트 혹은 페이지로 단계를 설정하며, 각 단계별로 세부적인 설정도 가능합니다. 이전 단계에서 다음 단계로 넘어갈 때, 중간에 다른 단계를 거치지 않고 바로 넘어갈 것인지를 설정하는 부분입니다. is indrectly followed by 를 선택하게 되면 view_item 이벤트가 발생한 뒤 다시 메인화면으로 돌아가서 다른 페이지를 조회한 뒤에 add_to_cart로 넘어가더라도 해당 데이터는 funnel 에 집계됩니다. ※ 해당 설정은 단계별로 direct/indirect 설정을 다르게 해주어야 할 경우 사용하는 것이 좋고, 만약 모든 단계를 동일하게 설정한다면 밑에서 다룰 "open funnel" 토글 기능을 활용하는 것이 더 편리합니다. GA4에서 또 추가된 기능 중 하나는, 각 단계를 넘어갈 때 소요되는 시간도 제한을 걸 수 있습니다. 이런 식으로 view_item 이후 5분 안에 add_to_cart 로 넘어가는 경우만 조회하도록 설정할 수 있습니다. 단계별 설정 영역의 우측 케밥 메뉴를 클릭하면 아래와 같이 각 스텝을 복사/삭제 하거나 앞 뒤로 스텝을 추가할 수도 있습니다. 이런 개선은 굉장히 편리한 것 같네요~ 기본적으로 funnel 은 Standard funnel로 설정되어져 있습니다. 이 경우 저희가 UA에서 조회하던 가장 기본적인 계단식 형태의 보고서가 조회됩니다. GA4에서 추가된 기능으로는 Trended funnel이 있습니다. Open/Closed funnel 기존 UA에서는 레포트 탭 설정 화면에서 선택해줘야 했던 open funnel 여부를 간단히 토글 형식으로 활성화할 수 있습니다. <토글 off 상태 - closed funnel> 기본 설정 상태인 open funnel 의 토글이 비활성화 되어져 있는 경우, 즉 closed funnel 인 경우에는 반드시 설정해둔 각 단계별로 진입을 해야만 집계가 됩니다. 예를 들어 1 상품 조회 - 2 장바구니 담기 - 3 주문서 작성 - 4 구매 완료를 단계로 설정했다면, 꼭 이와 동일한 순서로 각 단계를 진입 및 마무리해야 최종 전환율에 집계가 됩니다. ※ 위의 STEPS 설정에서 각 단계 사이를 모두 is directly followed by 로 설정해둔 것과 동일한 설정이 됩니다. 이렇게 한 화면 내에서 각 단계 내에서 세그먼트별 데이터 비교가 가능합니다. Breakdown 다음으로는 각 단계별 데이터를 더 세부적으로 구분하여 조회할 수 있는 Breakdown 기능입니다. Breakdown 에서 조회할 수 있는 최대 열(row)은 15개까지 입니다. Show Elapsed Time 다음으로 Elapsed time 기능입니다. 마찬가지로 토글을 통해 간편하게 on/off 할 수 있는데요, 기본 설정은 off 되어져 있는 상태입니다. 해당 기능을 활성화 시켜주면 각 단계에서 다음 단계로 이동하기까지 평균적으로 소요된 시간을 보여줍니다. 각 단계별로 소요되는 시간이 상당히 길다고 느껴지실 수도 있는데요 (상품 조회 후 장바구니 담기까지 평균 6시간 41분 소요라면 너무 긴 시간이니까요) GA4에서는 세션이 아닌 User 단위로만 조회할 수 있기 때문에, 사용자들이 여러 일자에, 여러 세션에 걸쳐서 한 행동들도 모두 포함되어진 평균 값이기 때문에 그럴 수 있습니다. 따라서 elapsed time 에 보이는 시간은 데이터 조회 기간에 비례하여 줄어들고 늘어나게 됩니다. 해당 데이터는 정확하게 A 단계에서 B 단계로 이동하는 데 X시간이 소요되었다고 해석하기 보다는, 각 단계별로, 혹은 breakdown 한 항목들 간에 상대적인 비교 분석을 통한 인사이트를 얻는 것이 좋을 것 같습니다~ Next Action 다음으로는 Next Action 설정인데, 각 단계 이후 사용자들이 가장 많이 방문 하는 페이지 혹은 발생 시키는 이벤트들을 조회할 수 있습니다. 이 경우 1 단계를 완료한 사용자들 약 1,300만명 중에 약 600만명에 해당하는 사용자들은 (no next action), 즉 아무 행동 없이 이탈했다는 뜻이며, 그 다음으로 많이 방문한 페이지들은 / (메인페이지) → /support (고객지원 페이지) → /notebook (노트북 페이지) → /benefits (혜택 안내 페이지) 순으로 방문했다는 것을 확인할 수 있습니다. 조회 가능한 최대 열(row)은 5개까지로, 이 부분은 추가로 설정이 불가능합니다. Filter 마지막으로는 Filter 기능입니다. 세그먼트와 마찬가지로 모든 탐색 보고서에서 적용 가능한 기능이며, funnel 에서도 설정 가능합니다. 기존 UA 보고서에서는 필터를 통한 추가 세분화가 안되어 불편하였는데, 이 부분도 매우 편리해졌습니다. ----------------------- 이렇게 GA4의 탐색 보고서들 중 Funnel exploration 을 알아보았습니다. UA에 비해서 다양한 기능들이 추가된 만큼, 다양한 데이터 분석에도 활용하기 좋을 것으로 보입니다. 다음 게시글에서는 해당 보고서를 이용한 실제 분석 사례를 공유해보도록 하겠습니다 :)
구글 애널리틱스에서는 UTM을 활용해 사용자가 어느 소스를 통해 사이트에 접속하는지 확인할 수 있습니다. 기본적으로 UTM은 Source, Medium, Campaign, Term, Content로 나눠지며 용도에 맞게 랜딩 URL에 UTM 코드를 붙이게 됩니다. 예를들어 카카오톡을 통해 https://pluszero.co.kr로 사용자가 접속하는지에 대한 분석이 필요하다면 https://pluszero.co.kr?utm_source=kakao&utm_medium=sns와 같이 URL에 UTM을 붙여 작성하고 해당 URL을 통해 사용자가 웹사이트로 유입되면 GA4의 소스, 매체를 통해 우리가 발급한 링크를 클릭해 접속한 숫자를 확인할 수 있게 됩니다. 하지만 이런 UTM을 관리하는게 쉽지 않은데요 관리를 잘 하기위한 방법으로 UTM 빌더(UTM Builder)를 활용할 수 있습니다. UTM 빌더(UTM Builder)에 접속하는 방법은 세 가지가 있습니다. 1. 다음 URL을 통해 접근: https://keywordsearch.pluszero.co.kr/utm-builder/group-list 2. 플러스제로 홈페이지를 통해 접근: 3. GA 360 커뮤니티를 통해 접근 우선 UTM 빌더(UTM Builder)에 접근하면 아래와 같은 화면을 확인할 수 있습니다. 로그인을 한 뒤 Add UTM Group을 클릭하면 UTM이 생성될 그룹을 만들 수 있습니다. 그룹명을 통해 UTM을 어떤 캠페인을 위해 사용했는지 쉽게 구분할 수 있습니다. 카드의 [Go detail]을 클릭하면 UTM 빌더(UTM Builder)의 디테일 화면으로 이동할 수 있습니다. 해당 화면 우측 상단의 [추가]를 통해 UTM을 추가할 수 있습니다. 랜딩 URL과 소스, 매체는 필수이며 나머지는 필수가 아닙니다. 여기서 마케팅 시작 날짜를 정확하게 입력하면 이후 UTM이 어느 시점에 활용되었는지도 파악할 수 있습니다. [저장]을 누르면 위와 같이 테이블에 입력한 정보가 추가됩니다. Generated URL이 최종 UTM 빌더(UTM Builder)를 통해 생성된 최종 URL이며 클릭하면 [복사]가 됩니다. 해당 UTM 빌더(UTM Builder)를 활용하면 실수 없이 URL을 생성할 수 있으며 캠페인별로 잘 관리할 수 있게 됩니다. 총 생성할 수 있는 그룹 숫자와 UTM숫자가 제한되어 있기 때문에 제한된 양 이상으로 많이 생성해야되는 경우 플러스제로에 문의해주세요
1. display: none 은 visibility: hidden 과 다릅니다. display: none은 요소를 화면에 보이지 않겠다는 것으로 해당 요소는 아예 없어지므로, 다른 요소들의 위치가 당겨집니다. visibility: hidden은 요소를 화면에서 가리는 것으로 해당 요소는 투명하게 가리므로, 다른 요소들의 위치가 변하지 않습니다. visibility: hidden과 비슷한 효과를 가진 css 스타일은 투명도를 조절하는 opacity: 0이 있습니다. 2. CSS는 같은 요소를 가르키더라도 마지막 스타일을 적용한다. 같은 선택자로 CSS를 작성하더라도 제일 아래에 있는 스타일이 적용됩니다. 위치도 중요하므로 추가한 스타일은 기존스타일 보다 아래에 위치하게 작성해주셔야 합니다. 3. 복잡해진 CSS를 확인하는 방법 CSS를 편집하는 방법은 너무 많고 Inline style도 있어 스타일이 복잡해 졌을 때, JavaScript getComputedStyle()를 사용하면 확인할 수 있습니다.예시: getComputedStyle(document.querySelector('button.btn'))
안녕하세요. GTM을 실습하면서 직접 느낀 GTM의 장점에 대해 작성해보겠습니다. 틀린 부분이 있더라도 양해해주시면 감사하겠습니다. 1. 무료 실습을 하며 가장 첫번째로 느낀 장점은 GTM의 무료 비용이었습니다. GTM의 여러 강력한 기능들을 사용하면서, 무료로 이 기능들을 사용할 수 있다는 것이 매우 큰 장점이라고 생각하였습니다. GTM의 추가적인 기능을 사용하고 싶다면 결제하여 업그레이드 또한 가능합니다. 2. 사용하기 편한 직관적이고 깔끔한 UI 개발 공부를 해본 분들이라면 아시겠지만, 개발자들의 언어와 툴들은 대체로 한눈에 들어오지 않거나 사용하기 매우 불편하고 직관적이지 않은 UI를 가진 경우가 많습니다. 개발을 처음 공부하시는 분들이 흔히 제일 먼저 겪는 진입장벽이기도 합니다. 그에 반헤 GTM은 직관적인 버튼 요소를 많이 사용한 깔끔한 UI를 제공하고 있어 처음 사용하더라도 금방 적응하고 여러 기능을 사용할 수 있습니다. 3. 비개발자 사용 '가능' 2번과 이어지는 얘기입니다. 사용하기 편하고 깔끔한 UI를 제공하고 있기 때문에, 개발 지식이 없는 일반인분들도 사용을 할 수 있다는 장점이 있습니다. 다만 제가 직접 실습을 해보고 느낀것은, 개발 지식이 전혀 없거나 부족한 사람은 GTM의 유용한 기능을 100% 활용하기에는 무리가 있다는 것이었습니다. GTM은 결국 사이트에 이벤트 태깅 작업을 하는 툴이고, 이는 개발과 직접적으로 연관이 있는 부분입니다. 또한 뒤에서도 나올 내용이지만 GTM 자체에서도 코드를 적고 적용 시킬수 있는 기능이 있는데, 이 또한 개발 지식이 어느정도 있어야 제대로 사용할 수 있는 기능입니다. 하지만 앞에서 말씀드렸듯 대다수의 개발 언어와 툴들이 매우 불친절한 반면에 GTM은 일반인도 어느정도의 사용이 '가능'은 하다는 점은 매우 큰 장점이 아닐 수 없다고 생각합니다. 4. GTM 자체 코드 적용 기능 GTM에서 사용하는 변수 항목의 유형중에 '맞춤 자바스크립트', '자바스크립트 변수' 항목이 있습니다. 이는 GTM 변수 안에 코드를 적고 실행이 될 때 해당 코드가 작동을 하여 변수에 return 값이 저장이 되는 기능인데요. 물론 언어마다 다르겠지만 보통 언어를 사용하려면 전용 IDE가 필요한 경우도 있고, 그게 아니더라도 최소한 컴파일러, 커널 정도는 사용해야하는 경우가 많습니다. 물론 사용 언어가 웹단에서 바로 사용이 가능한 자바스크립트라서 가능한 일이겠지만, 그럼에도 이는 엄청난 기능이라고 생각합니다. GTM에서 다른 추가적인 툴 없이 사용하고 싶은 코드를 바로 작성해서 실행시켜버리는것은 직접 사용해보니 편리하였습니다. (작성을 하다보니 드는 생각인데, 이는 자바스크립트의 장점에 더 가까울수도 있을것 같습니다. 그래도 GTM은 편리합니다.) 5. 굉장히 다양한 태그, 트리거, 변수 유형 제공 GTM은 태그, 트리거, 변수 3가지 요소로 구성됩니다. GTM은 이러한 태그, 트리거, 변수 각각의 항목에 굉장히 많은 유형의 프리셋을 제공합니다. 예를 들어 만약 내 웹사이트에 접속한 클라이언트의 쿠키 값을 가져와서 UID를 추출하는 작업을 하고 싶다면, GTM을 연결한 뒤 '당사 쿠키' 유형의 변수를 하나 생성하면 끝입니다. 해당 작업을 통해 변수에 쿠키 값이 바로 뚝딱하고 받아와지는 것입니다. (물론 사용하고 싶은 데이터를 제대로 추출하기 위해 약간의 가공이 필요하긴 하지만, 4번에서 말씀드렸듯 이 작업 또한 GTM에서 아주 편하게 작업이 가능합니다.) 이처럼 바로 사용 가능한 다양한 유형의 태그, 트리거, 변수를 미리 구성한 뒤 제공한다는 것은 아주 큰 장점이라고 생각합니다. GTM에 대한 기술과 지식이 늘면 늘수록 훨씬 쉽고 다양한 작업을 할 수 있는것도 이러한 장점 때문이라고 생각합니다. 6. 강력한 디버깅 기능 Google의 Tag Assistant 확장 프로그램을 사용하면, GTM의 '미리보기' 디버그 기능을 활용할 수 있습니다. GTM 상단의 미리보기 버튼을 클릭하면 GTM이 연결된 웹사이트가 열리게 되고, 웹사이트에 작동한 모든 이벤트를 단계별로 확인이 가능합니다. 또한 그러한 모든 이벤트들 하나하나 사이에 어떤 작업이 일어났는지, 어떤 이벤트가 작동했는지, 어떤 변수에 어떤 값이 들어갔는지 전부 확인이 가능하며 실시간으로 웹사이트를 직접 눌러보며 제대로 작동하고 있는지 확인 또한 가능합니다. 엄청나게 강력하고 편리한 디버그 기능이라고 생각합니다. 7. 버전 관리 Git이 도와주는 버전관리 기능이 GTM에는 자체적으로 있습니다. 작업을 하다가 이전 버전으로 돌아가야 하는 일이 생기면 버튼 클릭 몇번으로 이전 버전으로 쉽게 돌아갈 수 있습니다. 다른 외부의 툴의 도움을 받지않고 자체적으로 버전 관리 기능이 있는것은 매우 편리한 기능이라고 생각합니다. 이 기능을 제대로 활용하기 위해서는 시간이 지난 후의 본인 및 본인이 아닌 다른 사람이 보아도 어떤 버전인지 이해하기 쉽도록 버전을 제출할 때 설명을 잘 써놓는것이 중요합니다. 제가 느낀 GTM의 장점들입니다. 긴 글 읽어주셔서 감사합니다.
Google Analytics 4(GA4)의 정의와 강점 GA4의 주요 강점 사용자, 세션, 이벤트 개념 그렇다면 GA4는 제 세션의 유입 정보를 어디라고 기록할까요?정답은 세션의 첫 유입 소스인 구글입니다. 구글 공식 가이드에 따르면, 세션 별 유입 정보는 세션을 유도한 소스로 기록합니다.다만, 세션이 직접 방문으로 시작하는 경우, 해당 사용자에 대해 마지막으로 알려진 소스에서 발생한 것으로 간주합니다.
플러스제로가 제공하는 데이터 구축 및 내재화 프로세스 & 산출물 챌린지: GA4 설치부터 활용까지 프로세스와 산출물, 데이터 활용 사례, 프로젝트 기간에 대해 대략적으로 확인이 필요한 이유는 기업의 데이터기반 의사결정 환경 조성을 위한 첫 단추이기 때문입니다. 개념: 다양한 데이터 구축회사들이 있지만, 기업들은 가능한 구글에게 컨설팅을 해도 된다는 자격을 얻은 구글마케팅플랫폼 공식 파트너에게 GA4 데이터 구축 및 내재화 프로젝트를 요청합니다. 구글마케팅플랫폼 공식 파트너 플러스제로는 아래와 같은 프로세스로 데이터 환경 구축 프로젝트를 진행합니다. Digital KPI설정 > GA4 설치 > 루커스튜디오기 시각화 대시보드 > GA4/대시보드/데이터활용 교육 & 성공사례 공유 데이터 구축 산출물 1. Digital KPI: 비즈니스 목표달성에 필요한 고객 구매여정 단계 별 Digital KPI(CEJ KPI) 수립 고객 구매여정(CEJ) 단계 별 성과를 측정할 수 있는 주요 지표와 그 지표를 측정할 수 있는 event를 통해, 비즈니스 목표달성에 필요한 데이터를 그룹핑하고, 체계적으로 KPI를 관리/모니터링 합니다. 모든 KPI는 플러스제로가 보유한 업종 별 KPI와 인터뷰를 기반으로 Digital KPI를 수립합니다. 2. Digital KPI 기반 Event & Guide: Digital KPI / KDP 측정을 위한 구조화된 데이터 기획 & GA4 implementation guide 고객구매여정(CEJ) 단계 별 Digital KPI가 정해진 뒤, 해당 KPI를 측정하기 위해 구조화된 데이터를 기획하고 페이지 별 GA4가이드를 제작/전달합니다. 3. LookerStudio 기반 시각화 대시보드: - GA, Search Console, Ads, Search Trend 등 1, 3rd Party Data 를 BigQuery 한곳에 모아 One Source(BigQuery) 통합 데이터 기반 직관적 대시보드 제작 - 고객 구매여정 단계별 이슈 진단 및 개선 프레임워크에 사용되는 데이터를 확인할 수 있는 대시보드를 통해 빠른 이슈발굴 및 인사이트 도출 대시보드는 고객이 자주 확인하는 데이터를 원하는 형태의 차트와 플러스제로가 제공하는 데이터 기반 고객 구매여정 개선 프레임워크를 활용할 수 있는 대시보드로 구성됩니다. 글로벌 기업의 경우, HQ에서 전체 Local의 주요 KPI를 모니터링하거나, Local In-Depth 대시보드, UX Research 등 다양한 대시보드가 있음으로 다음 글에서 자세히 설명드리도록 하겠습니다. 4. 데이터 활용 교육: - 고객사 내부 담당자 교육을 통해 Framework과 DashBoard를 활용하여 고객 구매여정 각 단계 별 이슈 진단 및 개선 - GA / SEO / CRO / DashBoard 성공사례 기반 B2B 맞춤 강의 GA4설치를 통해 데이터 구축을 하게 되면, 쌓인 데이터를 기반으로 내부 담당자가 마케팅 활동을 할 수 있도록 교육을 진행합니다. 교육은 플러스제로의 비즈니스 개선 Framework과 대시보드를 활용하여 비즈니스 이슈를 찾아내는 방법 GA4 활용 및 데이터를 읽는 교육, 대시보드 설명, 전환율최적화(CRO.Conversion Rate Optimizatio), 검색엔진최적화(SEO.Search Engine Optimization) 등, GA4 데이터로 할 수 있는 주요 마케팅 활동에 대해 기업 맞춤 교육합니다. 5. 비즈니스 현황분석 개선안 리포트 구축된 데이터를 기반으로 비즈니스 현황을 분석하고 개선안을 도출한 리포트 제공 고객 구매여정 전체 단계(시장분석 > 노출 > 유입 > 시스템 > 행동/콘텐츠 > 리텐션) 현황 분석 구축이 완료된 후, 쌓인 GA4 데이터와, 플러스제로의 고객구매여정 단계 별 Framework을 통해 이슈가 있는 부분들을 확인하고 개선할 수 있도록 리포트를 드리고, 이 리포트를 통해, 고객이 어떻게 데이터를 활용할 수 있는지 확인하고 액션을 할 수 있는 환경이 조성됩니다. 더 자세한 내용은 플러스제로 참조 바랍니다. www.pluszero.co.kr
[성공사례] UA to GA4 마이그레이션 툴. 구글애널리틱스 공식 프리미엄 파트너 플러스제로 글 요약 1. UA 에서 GA4로 넘어가기 싫다. 유니버셜 구글애널리틱스에서 GA4로 넘어가긴 해야하는데, 기존에 쓰던 Session, Transaction, Event Category, Action, Label, 데이터와 기준을 버리기 아깝다. (이마저도 어렵게 익숙해진 데이터인데!!) 2. UA to GA4 마이그레이션 툴 만들었다. 아직 구글 파트너포럼이나, 공식사이트에 공식적으로 올라온 툴이 없으니, 당당히 말할 수 있다. 플러스제로가 세계 최초로 만들었습니다. UA to GA4 마이그레이션 툴을요 :) GA4에서 Session, Transaction, EventC,A,L 확인 가능! 3. UA와 GA4 데이터 정확도가 95%이다. 아래 이미지는 GA4와 UA 데이터 비교자료인데, GA4와 UA의 데이터 정확도가 95%이다. UA의 필터링 된 데이터를 감안하면 상당히 높은 정확도이다. UA vs GA4 데이터 정확도 비교 95%일치 GA4 데이터 구글애널리틱스 데이터 플러스제로 UA to GA4 Event Converter 아래 내용은 플러스제로 UA to GA4 Event Converter를 통한 GA4 구축 디테일입니다. 새로운 GA4 에는 예측 통계, Google Ads와 연결할 수있는 고급 잠재 고객 설정, 교차 기기 측정 기능,보다 유연한 데이터 수정 등 디지털 마케팅 담당자와 데이터 분석가가 매우 기대할만한 많은 기능이 포함되어 있습니다. 그러나 안타깝게도 GA4의 이벤트 형 데이터 구조를 새롭게 구축하고 활용하는 것은 쉽지 않습니다. 우리는 이미 유니버셜 구글애널리틱스의 세션에 익숙하기 때문입니다. GA4 이벤트에는 카테고리, 작업 및 라벨에 대한 필드가 없습니다. 대신 이벤트 이름과 매개 변수가 있습니다. 더 나쁜 것은 GA4 UI를 통해 이벤트 매개 변수에 대해 수집 한 내용을 볼 수 없다는 것입니다. 빅쿼리 못쓰면 GA 하지 말라는 것이죠.. :( 꽤 혼란 스럽죠? 당신이 GA4로 무엇을 할 수 있는지 모르는 것은 매우 정상입니다. GA4 이벤트 데이터를 구조화하거나 수집하는 데 어려움을 겪고있는 분들을 위해 PlusZero는 UA에서 수집하는 데이터를 GA4로 쉽게 전달하는 완벽한 솔루션을 만들었습니다. <이 글은 주로 Google 태그 관리자 맞춤 템플릿을 사용하여 웹 데이터 수집에 중점을 둡니다. 이 기사를 이해하려면이 영역에 대한 약간의 지식이 필요할 수 있습니다.> 솔루션 소개 솔루션은 "UA to GA4 이벤트 변환기"입니다. 이것이 UA 속성에 대해 수집 한 방법과 유사한 GA4 데이터 수집을 시작하는 가장 간단하고 쉬운 방법입니다. UA 기반 이벤트 조회를 GA4로 전송하려면 PlusZero에서 생성 한 GTM 템플릿을 가져와야합니다. (이 템플릿을 개발해 주신 플러스제로 개발팀에게 감사드립니다) "UA를 GA 변환기로"GTM 템플릿을 가져 오는 방법 1 단계 : 여기 에서 tpl 파일을 다운로드합니다 . 파일의 압축을 푸는 것을 잊지 마십시오! 2 단계 : GTM 계정에 로그인하고 "템플릿"링크를 클릭 한 다음 "새로 만들기"버튼을 클릭합니다. 3 단계 : "가져 오기"버튼을 클릭합니다. 4 단계 : 방금 다운로드 한 'tpl'파일을 선택합니다. 5 단계 : "저장"을 클릭합니다. 이게 전부입니다. 매우 간단합니다. PlusZero GA4 데이터 구조의 요점은 UA 기반 이벤트 데이터 세트를 만드는 것입니다. 따라서 UA 이벤트 액션과 라벨을 GA4 맞춤 측정 기준으로 매핑했습니다. 이는 GA4에 맞춤 측정 기준 2 개와 맞춤 측정 항목 (이벤트 값용) 1 개만 등록하면 UA 속성에서 수집 한 것과 유사한 데이터 세트를받을 수 있음을 나타냅니다. 구조에 대해 혼란스러워도 걱정하지 마십시오. 실제 GA4 데이터를 볼 수 있도록 전체 프로세스를 설명 드리겠습니다. "UA to GA 변환기"GTM 템플릿을 사용하여 GA4 태그를 만드는 방법 이제이 놀라운 템플릿이 생겼습니다. GA4 이벤트 태그를 만들 차례입니다. <먼저 구성 태그를 설정해야합니다. 이 링크 는 GTM을 통해 GA4 태그를 설치하는 데 도움 이 됩니다. 정말 쉽습니다. 측정 ID를 입력하고 모든 페이지보기 트리거를 선택하기 만하면됩니다. 1 단계 : "태그"섹션에서 "새로 만들기"버튼을 클릭합니다. 2 단계 : "Tag Configuration"을 클릭하고 "Custom"섹션에서 "UA to GA4 Event Converter"를 클릭합니다. 2 단계가 끝나면 템플릿이 어떻게 보이는지 확인할 수 있습니다. 눈치 채 셨는지 모르겠지만 유니버설 애널리틱스 이벤트 태그와 유사한 템플릿을 만들기 위해 최선을 다했습니다. UA to GA4 Event Converter 3 단계 : 원래 UA 태그와 트리거의 값을 복사하여 붙여 넣습니다. 4 단계 : 태그 저장 GA4 이벤트 태그를 구성했습니다. GTM 컨테이너를 게시하기 전에 다른 환경에서이 태그를 여러 번 디버그하세요. 모든 것이 정상이면 게시하십시오. 템플릿은 유해한 작업을 수행하지 않으므로 걱정하지 마십시오 . GA4 맞춤 측정 기준을 등록하는 방법 PlusZero 템플릿을 사용하여 UA 이벤트 태그를 GA4 이벤트 히트로 변환하는 것은 매우 간단하고 쉽습니다. 하지만 아직 끝나지 않았습니다. 예상대로 데이터를 수신하려면 몇 가지 단계가 더 있습니다. 맞춤 측정 기준을 등록해야합니다. GA4 UI를 통해 '이벤트 액션', '이벤트 라벨', '이벤트 값'을 수동으로 등록해야합니다. 방법은 다음과 같습니다. 1 단계 : GA4 계정에 로그인하고 "모든 이벤트"링크를 클릭 한 다음 "맞춤 정의 관리"링크를 클릭합니다. 2 단계 : "액션", "라벨"및 "값"을 원하는 이름으로 등록합니다. 또한 사용자 지정 차원을 사용한 경우 등록해야합니다. 맞춤 측정 기준의 매개 변수 이름은 'dimension '라는 명명 규칙을 따릅니다. 데이터 세트는 어떻게 생겼습니까? 축하합니다! 이제이 아름다운 GA4 데이터 세트를받을 준비가되었습니다. 데이터가 어떻게 보일지 궁금 할 것입니다. 한 번 살펴 보겠습니다. 위의 예는 PlusZero의 실제 클라이언트의 GA4 분석 허브 화면 캡처입니다. 우리는 템플릿으로이 데이터 세트를 구축했으며 템플릿이 잘 작동하는 것 같습니다. <실제 데이터이므로 Event Action 및 Label의 일부 값을 숨겨야했습니다.> 결론 우리 플러스제로의 UA to GA4 데이터 마이그레이션 템플릿이 도움이 됐길 바랍니다. 이 데이터 구조가 GA4에 대한 궁극적 인 해답이라고 생각하지 않습니다만, 이 템플릿의 목적은 GA4를 기존 UA처럼 쉽게 시작하는 데 도움이되는 것입니다. 이 템플릿에 대해 궁금한 점이 있으면 알려주십시오. 여러분의 의견을 듣게되어 기쁩니다. 플러스제로의 이 공개된 GA4 마이그레이션 툴과 사용방법으로, 이 어지러운 구글애널리틱스 시장에 도움이 되었으면 좋겠네요. :) 다음 글은 아래 몇가지를 생각하고있습니다. 1. GA4, 빅쿼리, 광고(네이버, 페이스북,구글) 매칭 통합 마케팅 대시보드 사례 2. GA4, 빅쿼리, CRM 데이터를 붙인 실시간 행동 타겟팅 이메일 사례 3. GA4, 광고, CRM 데이터를 매칭시킨 데이터 레이크 구축 및 활용 사례 댓글을 다는분이 있을지 모르지만, 궁금한 댓글을 달아주시면 빨리 써보도록 하겠습니다 :-) 블로그의 사례 카테고리에 가볍지만 영양가 있는 글들도 많고, 플러스제로 공식사이트엔 읽으면 똑똑해지는 글들이 많이 있으니, 즐겨찾기 하고 보세요~ :)
[성공사례 Web & App 데이터 병합] Web & App 데이터 병합 프로젝트 플러스제로는 글로벌 출장 어플리케이션을 운영하는 클라이언트를 대상으로 성공적으로 App과 Web 데이터 병합에 성공한 바 있습니다. 이를 통해 WEB과 APP의 심리스 한 유저 행동패턴을 분석할 수 있게 되었으며, 웹과 앱을 넘나드는 고객 중, 비회원인 고객을 회원으로 전환하는데 매우 성공적인 기여를 하였습니다. Project Objective 일반적으로 GMP를 모바일 환경에서 구축할 때 Google Firebase를 통해 진행하며, 데스크톱 환경에서는 Google Tag Manager와 Google Analytics를 사용합니다. 그리고 App과 Web 데이터는 구글에서 제공하는 Web & App Property[GA4]를 사용하면 통합된 데이터를 한 곳에서 볼 수 있습니다. 하지만, Google Analytics에서 제공하는 자동 App과 Web 통합 기능은 해당 기능이 실행이 된 시점부터 적용이 되기 때문에 저희 클라이언트는 약 6개월치 Web 데이터가 합쳐지지 못한 채 사용되지 못하는 문제를 가지고 있었습니다. How PlusZero Handled It? PlusZero는 이 문제를 해결하기 위해 약 6개월치 Google Analytics Raw 데이터를 추출하고 전처리하여 BigQuery에 병합하기로 결정했습니다. 이때 Raw 데이터를 뽑기 위해 “Google Analytics Reporting API – User Activity API”를 사용하기로 했습니다. User Activity API는 유저의 기록된 모든 측정 데이터를 반환하는 API입니다. 이는 Google Analytics “User Explorer” 리포트에서 확인하시는 데이터와 유사합니다. PlusZero는 R Programming을 통해 API 호출 및 데이터 전처리 작업을 진행했습니다. 그리고, 추출된 데이터를 BigQuery에 저장된 Web Stream 데이터 스키마에 맞추어 변형하였고 성공적으로 BigQuery에 데이터를 병합시킬 수 있었습니다. Project Outcome PlusZero는 성공적으로 클라이언트의 6개월치 유저 행동 데이터를 병합시킬 수 있었습니다. 이 데이터 병합으로 인해 완전한 Web & App 데이터를 복구할 수 있었고, 보다 더 정확하고 풍부한 데이터 분석이 가능해졌습니다. 이 과정에서, 오랜기간 비회원 이지만 WEB과 APP을 함께 사용하는 유저군을 확인하였으며, 이들을 타겟팅으로 한 개인화 마케팅 활동을 통해 매우 높은 회원 전환율을 얻어내었습니다. 이렇게 WEB과 APP의 심리스한 분석은 자칫 WEB과 APP 각각의 유저로 판단할 수 있는 데이터를 보다 정확하게 분석할 수 있고, 충성고객을 만들어낼 수 있는 이점이 있습니다.
Funnel Analysis 란? GA에서 제공하는 보고서 중 하나로, 사용자의 행동 패턴에 따른 이탈/전환율을 조회할 수 있는 보고서입니다. A 페이지 방문 > B 페이지 방문 + X 버튼 클릭 > C 페이지 방문 순서로 이동과 같이 단계별로 세부 조건을 설정하여 단계별/최종 전환율을 조회할 수 있습니다. UA/GA4 에서의 차이점 UA 에서는 Custom Report 생성 시 BETA 서비스로 제공되고 있었던 템플릿으로, Step은 최대 5개까지만 설정 가능합니다. 기존 UA는 세션 단위였기 때문에 “동일 세션 내에 완료된 funnel” 여부에 대한 옵션이 있었으나, GA4에서는 사라졌습니다. GA4로 변환되며 탐색 보고서 중 기본 제공되는 템플릿으로 Funnel Exploration이 추가되었으며, UA 보고서에서 많이 보완된 기능을 선보이고 있습니다. 예를 들면 Step 도 최대 10개까지로 늘어났으며, 각 단계별로 추가적인 breakdown 이 가능하고, 시간별 변화를 볼 수 있는 Trended Funnel 도 제공합니다. 조금 더 비교하기 쉽도록 아래 테이블을 만들어보았습니다. 분석 적용 사례 사용자 유형에 따라 노출되는 배너가 다른 개인화 서비스의 성과 분석을 위해 해당 funnel report를 사용하였습니다. 회원가입 여부, 로그인 여부, 구매 이력 여부에 따라 시나리오가 상세하게 나뉘었고, 각 시나리오별로 노출되는 배너 이미지, 클릭 시 이동하게 되는 페이지 등이 모두 달라서, 각 시나리오 별로 최종 전환율 및 단계별 이탈율 분석이 필요하였습니다. (※해당 프로젝트에서는 고객사가 UA 속성을 사용하고 있어 UA 기준으로 작성되었습니다.) 기본 제공 보고서 중 Behavior Flow 보고서를 사용하기에는 조건 설정 기능이 너무 한정적이었고, 각 시나리오 별 조건을 Sequence로 설정한 세그먼트를 생성하여 조회하기에는 단계별 전환/이탈율 조회에 어려움이 있었습니다. 따라서 해당 Funnel Report 사용을 고려하게 되었고, 결과적으로 각 시나리오별 진입 단계부터 최종 전환까지의 단계별 전환/이탈율, 그리고 최종 전환율까지 시각화된 데이터로 조회가 가능하여 성과 분석에 매우 용이하였습니다. <보고서 Sample> 위에서 다루었듯이 UA에서는 일부 기능들에 제한이 있었으나, 추후 GA4에서 비슷한 사례를 분석하게 된다면, 확장된 기능들을 활용하여 더 많은 분석을 할 수 있을 것으로 기대됩니다. 예를 들어, 기기/브라우저별 breakdown 과 elapsed time 기능을 활용하여, 단계별로 이탈할 때 특정 기기/브라우저에서의 기술적 이슈가 있었는지 원인을 파악하거나, 방문 채널별 breakdown과 trended funnel 기능을 활용하여 특정 광고가 집행되었을 때의 전환율은 어떤 영향을 받았는지 등등 더 자세한 분석을 할 수 있을 것으로 보입니다.
Content Group ? 사이트를 구성하는 페이지를 정의된 규칙에 따라 카테고리 별 분류하여 이를 측정 기준으로 사용 1. GTM ‘정규식 표’ 변수를 사용하여 자동으로 수집되는 페이지 경로(Page Path)에 콘텐츠 그룹핑 로직 설정 ‘기본 값 설정’은 일치하는 패턴이 없을 경우 해당 변수 값이 적용 2. Content Group 변수 값이 GA4로 전송되게 하려면 기존 GA4 구성 태그에 해당 변수 매개변수 값으로 추가 필요 (= Page_view 이벤트 발동 시 콘텐츠 그룹핑 적용) 필드 이름에 content_group 입력, 값 필드에 {{설정한 컨텐츠 그룹핑 변수}} 입력 * 필드 이름 입력 시 content_group으로 정확히 입력 필요 ! (대소문자 구분, 오타 주의) 3. 저장 후 컨테이너 게시하면 GA4 실시간 보고서 page_view 이벤트에 content_group 집계되고 있음 4. GA4 Engagement(참여도) > Pages and screens(페이지 및 화면) > 측정기준 Content group(콘텐츠 그룹) 설정 후 확인 가능 단, GA4 데이터가 정상적으로 수집되기까지 24~72시간까지 소요됨 (이미지와 같이 글을 작성하면 UI가 깨져서 추후 스크린샷 업로드 예정...:) )
[구글 태그 매니저] - GTM으로 데이터 레이어를 활용하여 GA4 분석 환경 구축하기 안녕하세요 :) 오늘은 GTM 만으로 데이터 레이어를 활용하여 GA 구축 작업을 한 경험에 대해 공유해드리려고 합니다. GA로 데이터를 다뤄보신 분이라면 GTM에 대해 많이 들어 보셨을 것 같은데요. 일반적으로 GA4 구축을 위해 데이터 레이어를 활용합니다. 이는 웹 사이트에서 GTM으로 정보를 전달하기 위한 자바스크립트 개체로, 쉽게 설명하자면 GTM이 설치된 웹 사이트에서 고객들의 행동(상품 조회, 장바구니 담기, 구매 등)을 할 때마다 관련 정보들을 데이터 레이어로 전달해주게 되는 것입니다. 데이터 레이어는 위와 같이 {key : value} 형태의 쌍으로 이뤄져 있습니다. 스크립트 중 ecommerce는 전자 상거래와 관련된 정보들로, 해당 이벤트가 발생했을 때 상품과 관련된 값들을 items 안에 배열로 담아 가져온다는 것을 알 수 있습니다. 이렇게 모든 이벤트와 파라미터 설계 후 작업을 마치면, 최종적으로는 GA에서 흔히 볼 수 있는 위와 같은 보고서 화면처럼 데이터가 쌓이게 됩니다. (고객사마다 보고자 하는 값이나 이벤트, 최종 목표(전환)가 다르기 때문에 구축 과정에서 커뮤니케이션이 대단히 중요하다는 것을 깨닫는 요즘입니다..ㅎ) 데이터 레이어와 관련해 실제 GTM이 하는 일은 다음과 같이 정리해볼 수 있습니다. 0) 웹 사이트 개발자가 데이터 레이어를 삽입 1) 데이터 레이어 push 시, GTM에서 데이터 레이어 변수에 데이터가 들어오는 걸 감지 2) 감지된 데이터가 트리거 조건에 맞으면 트리거를 동작시킴 3) 필요한 변수가 있다면 가져와 태그에 저장 하지만 고객사의 내부 사정으로 인해 데이터 레이어 작업은 불가능한 상황이었습니다. 따라서 대부분의 이벤트는 GTM으로 작업하되, 데이터 레이어는 최후의 수단으로 활용하기로 하였습니다. 여기서 최후의 수단이라는 의미는 웹 사이트 화면 상에 수집하고자 하는 값이 있다면 변수 유형 중 ‘맞춤 자바스크립트’ 를 사용해 GTM으로 수집하, 그렇지 않다면 서버에 접근해야 하기에 데이터 레이어 작업이 필요하다는 것을 말합니다. Event : add_to_cart (상품 상세 페이지에서 ‘장바구니 담기’ 버튼 클릭) 예시를 들어보겠습니다. 해당 상품 상세 페이지에서는 화면 상에 보이는 상품명, 상품번호, 가격 등의 값을 가져올 수 있는데요, 반면 어떤 카테고리인지에 대한 정보는 화면 상에서 가져올 수 없습니다. 따라서 이런 정보들은 고객사 개발자에게 데이터 레이어를 삽입해달라고 요청해야 합니다. 현재는 웹 사이트의 HTML 요소에 접근하여 값을 가져오고 있는데, 개발 요소가 바뀐다면 기존에 잘 작동하던 태그가 업데이트 이후의 시점부터는 작동하지 않는다는 한계가 존재하는 걸 감안하고 작업을 진행했었습니다. ---------------------- 개발자의 데이터 레이어 스크립트 삽입 작업 없이 GTM으로 GA4를 구축하는 데 있어서 가장 중요한 점은 데이터 레이어 스크립트를 GTM에서 처리하는 과정이 필요하다 는 것입니다. 작업 과정은 다음과 같습니다. [Process] 1. 이벤트에 대해 수집하고자 하는 값을 변수(Variable) 유형 중 ‘맞춤 자바스크립트’ 로 생성합니다. 스크립트 예시와 같이 빨간 박스 안에 있는 item_id, item_name, price 등의 상품 정보를 자바스크립트를 활용하여 각각 변수로 만들어줍니다. 2. (원래였다면) 웹 사이트 개발자가 작업해야 하는 데이터 레이어 스크립트를 GTM 태그 유형 중 ‘맞춤 HTML’ 를 선택한 뒤, 아래와 같이 데이터 레이어 형태의 스크립트를 작성해줍니다. 스크립트 안에 들어가야 하는 내용들은 다음과 같습니다. 1) event를 선언하는 부분 = event: ‘add_to_cart’ 2) 전자상거래와 관련 없지만 이벤트에 대해 page_type 같이 집하고자 하는 파라미터 (현재는 예시값을 특정함) 3) 전자상거래(ecommerce)와 관련된 상품 정보들인 각 변수들을 items 라는 변수 안에 담아서 가져오기 그리고 데이터 레이어가 담긴 태그를 적절한 시점에 트리거가 발동되도록 설정합니다. 3. 최종적으로 add_to_cart 이벤트를 발동시킬 트리거와 관련 정보(=변수)를 담고 있는 태그를 생성해줍니다. 앞서 설정한 데이터 레이어가 담긴 태그가 발동되었을 때 혹은 데이터 레이어가 push 됐을 때를 GTM에서 감지하도록 트리거 유형으로 ‘맞춤 이벤트’ 를 설정합니다. 이때, 데이터 레이어 스크립트의 이벤트명과 이벤트 이름이 동일해야 GTM에서 이벤트가 감지된다는 것을 잊지마세요. 이처럼 이벤트 별로 태그를 생성한 후 디버깅을 통해 정상적으로 작동되고 있는지를 테스트 해보실 수 있습니다. 다시 한 번 말하자면, 이 작업에서 핵심은 “데이터 레이어를 GTM 내에서 push 될 수 있도록 적절한 트리거와 변수를 담은 태그를 생성하는 것” 입니다. 지금까지 GTM에서 데이터 레이어를 활용해 GA 구축 작업을 한 경험에 대해 소개해드렸는데요, 대부분의 웹 사이트는 구조가 고정되어 있지 않고 개편이 계획되어 있거나, UI 측면에서 일부 변경될 가능성이 높습니다. 이러한 변화에 대해 GTM 작업만으로는 대응하는 데에는 분명히 한계가 있습니다. 따라서 사실 가장 권장드리는 방법은 가급적이면 개발 소스 상에서 데이터 레이어 스크립트를 삽입하는 것인데요. 저처럼 개발자가 데이터 레이어를 작업할 수 없는 상황에 처해 있으시다면, 오늘 공유해드린 방법을 업무에 적용해보시길 바랍니다.
구글 태그 매니저(GTM. Google Tag Manager) - 신규 도입된 구글 태그(Google Tag)로 데이터 수집 설정하기 - 1 Google Tag Manager(GTM)를 통해 Google Analytics 4(GA4)를 구성할 때, 가장 큰 어려움 중 하나는 동일한 Stream으로 보내는 여러 태그들에 동일한 이벤트 매개변수, 사용자 속성 등을 설정하는 것이 어려웠다는 것입니다. 2023년 9월 부터 GTM에 기존 GA4 구성 태그를 대체하는 새로운 구글 태그(Google Tag)와 이벤트 태그가 도입되었습니다(https://support.google.com/tagmanager/answer/7582054). 기존에 사용했던 구글 구성태그는 자동으로 변경되었지만, 새로 생성하는 태그의 경우 구글 태그를 사용해야합니다. 새롭게 도입된 구글 태그의 경우 GA4 뿐만 아니라 구글 애즈(Google Ads) 등 구글 플랫폼을 통합해 사용할 수 있게 되었는데요(unified tagging platform). 이번 글을 통해 어떤 것들이 변경되었고, 어떻게 사용해야하는지 알아보겠습니다. 새롭게 추가된 요소: Google 태그(Google Tag: Configuration Settings) - Google 태그 템플릿에서 구성 값을 설정할 수 있습니다.(새로운 기능으로, 아래에서 자세히 설명합니다. https://support.google.com/tagmanager/answer/13438166) Google 애널리틱스: GA4 이벤트(Google Tag: Event Settings) - Google 태그 템플릿 및 GA4 이벤트 태그에서 이벤트 필드를 설정할 수 있습니다.(https://support.google.com/tagmanager/answer/13438771) (새로운 태그 생성 시, 선택 가능한 태그 종류 - Google 태그, Google 애널리틱스: GA4 이벤트) 목차 1. 자동 마이그레이션 2. Google 태그 구성 방법 2-1. 구성 설정 2-2. 공유된 이벤트 설정 3. 이벤트 태그 구성(데이터 수집 설정하기 - 2 연재 예정) 3-1. 이벤트 태그에 구성 설정 추가 3-2. 페이지 수집 시 주의사항 4. 기타 설정(데이터 수집 설정하기 - 2 연재 예정) 4-1. 페이지 뷰 자동 설정 4-2. 서버 측 GTM 구성 설정(Server-side Tagging) 4-3. GA4 사용자 속성 추가 5. 요약(데이터 수집 설정하기 - 2 연재 예정) 1. 자동 마이그레이션 자동 마이그레이션은 이전에 존재했던 Google 애널리틱스 4 구성 태그에만 해당됩니다. 롤아웃(및 마이그레이션)이 완료되면 모든 구성은 Google 태그만으로 완료됩니다. 이전에 사용했던 GA4 구성 태그는 다음과 같이 변경됩니다: 1. Google 애널리틱스 4: 구성 태그가 Google 태그에 자동으로 마이그레이션됩니다. 2. 페이지 보기 이벤트 보내기 토글은 GA4 구성 태그에서 구성한 방식에 따라 참 또는 거짓 값을 가진 send_page_view라는 이름의 새 구성 키가 추가됩니다. 3. 서버 컨테이너로 보내기 토글은 GA4 구성 태그의 값을 사용하여 server_container_url이라는 이름의 새 구성 키가 됩니다. 4. 웹 사이트에서 사용자 제공 데이터 포함(서버에만 해당) 토글은 GA4 구성 태그의 사용자 제공 데이터 변수로 설정된 값을 사용하여 user_data라는 이름의 새 구성 키가 됩니다. 마이그레이션 시 이전 설정과 새 설정 간에는 기능적인 차이가 없습니다. 중요한 것은 새로운 UI로 변경되면서, 사용했던 설정이 구성태그의 필드로 적용되면서, 어떤 필드가 적용되는지는 다음 링크에서 확인할 수 있습니다. (https://support.google.com/tagmanager/answer/13438166) 2. Google 태그 구성 방법 구글 태그는 GTM에서 신규 태그 생성 시, 아래와 같이 Google 애널리틱스 메뉴에서 확인할 수 있습니다. (Google 태그는 Google 애널리틱스 메뉴 내(주황색) 혹은 Google 태그 메뉴(빨간색)에서 선택할 수 있습니다.) Google 태그에는 태그 ID가 필요합니다. 태그 ID는 구글 애즈, 구글 애널리틱스 등 여러 가지 중 하나일 수 있으므로, 추적을 원하는 ID를 찾아 삽입해주면 됩니다. GA4 구성을 원하시는 경우, GA4 데이터 스트림의 측정 ID(G-XXXXXXXXXX)를 사용할 수 있습니다. (Google 태그 생성 시, 태그 ID를 직접 입력 혹은 변수 - 상수에서 값을 만든 후 태그에 삽입할 수 있습니다. 추후 이벤트 태그에 활용을 위해 상수 생성 후 삽입을 추천합니다.) (GA4 스트림 측정 ID는 위의 경로에서 확인할 수 있습니다.) 2-1. 구성설정 페이지 뷰 수집 등 이전에 추가 설정으로 선택할 수 있었던 옵션들은 '구성 설정' 의 파라미터 값으로 대체되었습니다 파라미터 명 예시 설명 send_page_view false 해당 Google 태그가 로드될 때 페이지 뷰 이벤트를 자동으로 수집할 지 여부를 결정합니다. server_container_url https://sst.mydomain.com 해당 Google 태그의 트래픽을 서버 측 GTM으로 리디렉션 하려는 경우 서버 컨테이너의 URL 입니다. 구성 설정 파라미터의 전체 목록은 다음의 링크에서 확인할 수 있습니다.(https://support.google.com/tagmanager/answer/13438166#parameters) (구성 설정 파라미터가 확인되는 경우, 위와 같이 매개변수 박스 내에 체크표시가 된 것을 확인할 수 있습니다.) 2-2. 공유된 이벤트 설정 공유된 이벤트 설정에서는 이 Google 태그에서 보내는 모든 태그에서 공통으로 수집되는 이벤트 매개 변수를 설정할 수 있습니다. 사용가능한 파라미터는 맞춤 정의 이벤트 매개변수(ex: page_type, click_text 등)와 사전 정의된 매개변수(ex: currency 등), 사용자 지정 변수(ex: user_properties, user_data 등)입니다. 공유된 이벤트 설정은 Google 태그 뿐만아니라 이벤트 태그에서도 설정이 가능한데요. 두 태그에 동일한 파라미터를 설정하는 경우, 이벤트 태그에서 설정한 파라미터가 우선 되어 설정됩니다. (Google 태그에 모든 파라미터를 삽입할 수는 있으나, click_text와 같이 특정 이벤트에서만 발생하는 파라미터의 경우 Google 태그 보다는 이벤트 태그에 넣어 사용하는 것을 추천합니다.) 위와 같이 Google 태그에 설정된 파라미터는 해당 Google 태그를 통해 발생되는 모든 이벤트에 포함됩니다. 참고로 해당 Google 태그에 포함되는 값은 마지막으로 실행 되었을 때(ex: 페이지가 로드 되었을 때)의 값으로 고정됩니다. 따라서 한 페이지 내에서 이벤트 마다 값이 변경될 수 있는 값을 넣을 시에는 이벤트 파라미터에 추가하는 것을 추천합니다. 이번 글에는 새롭게 도입된 Google 태그가 기존에 있었던 구성 태그에서 바뀐 점들을 어떻게 적용하는지 알아보았습니다. 기존에 없던 기능이 추가 되었다기 보다는 UI 구성 변경 등을 통해 데이터를 수집하고 관리하는데 더 용이해졌다고 볼 수 있습니다. 다음 시간에는 이벤트 태그 설정 태그에서 변경, 추가된 부분을 알아보겠습니다.
[Google Analytics] 구글애널리틱스 커뮤니티입니다. 구글애널리틱스관련 정보를 공유 해 주세요! 안녕하세요 도치쀼 입니다 :) 이전 글에서 '엑셀 시트와 빅쿼리를 연결하는 방법' 에 대해서 공유 드렸었는데 이번에는 제가 그 연동 이후에 위클리 리포팅을 위해 작업한 쿼리를 공유드리려 합니다. 이 글을 조회하는 분들이 저와 동일한 리포팅 폼을 활용할 가능성은 낮더라도 비슷한 고충이 있으시다면 참고하시길 바라며 이어서 적어보겠습니다 :) (쿼리 초보인데 좀 더 효율성을 높히는 방법이 보이신다면 언제든 피드백 부탁드려요~! ) 우선 쿼리를 공유드리기 앞서 제가 왜 위클리 리포팅에 쿼리를 활용하려 했고, 또 구체적으로 어떤 값들을 나오게 만드려는지 공유드리겠습니다. 아래의 포맷은 제가 리포팅하는 캠페인의 유입 세션수, 캠페인 내 이벤트 수, 캠페인 외의 구매 관련 행동 등에 대해 트렌드를 파악하는 리포트의 형식 입니다. 원래는 엑셀의 함수를 이것 저것 써가며 계산해오고 있었는데 빅쿼리에서 실행 버튼 클릭 한번으로 10개 국가의 세션수의 누적값 / 2초 이상 체류한 세션의 비율 / 금주 세션수 / 전주 대비 증감률을 구할 수 있다면...? 시도해 볼만 한 과정이죠 :) 기존에 제가 위의 리포팅을 작성할 때는 대시보드로 만든 테이블에서 값을 확인한 후, 그 값을 엑셀로 옮겨와 가공하여, 궁극적으로 저 형태로 ppt 를 만들어야 했는데, 값을 옮기는 과정에서 오류가 있을 경우 재작업을 한 적도 잦고, 함수를 복사/붙여넣기하는 과정에서 값이 누락되는 상황도 종종 있었습니다. 허나 이전 글에서 공유드린 '구글 시트와 빅쿼리를 연동' 하게 되면 실시간 연동을 통해 데이터를 빠르고, 정확하게 리포팅 할 수 있게 됩니다. 엑셀 함수 필요 없이 클릭 한 번 만으로요...! 즉 ,이렇게 아래처럼 구글 시트만 있으면 <구글 시트 업데이트 예시 -- 1월 15-21일 (1월 3주차) 데이터 업데이트> 뿅 하고 원하는 결과값들을 한번에 얻을 수 있답니다 <실행 후 예시 결과값 : 1월 3주차까지의 누적 세션수, 유효 세션수의 비중 , 이번주 총 세션수, 전주 대비 세션 증감률> [Let's Query!] 그럼 위의 리포팅에서 왼쪽 하단에 있는 Visit 항목들을 계산한 쿼리를 하나씩 파보겠습니다 :) Step 1 기존의 피벗 테이블 형식을 Unpivot 함수를 통해 풀어주고, sum () 윈도우 함수로 누적 세션수 값을 구해주는 테이블을 with 절로 만들어줍니다. SELECT PARSE_DATE('%Y-%m-%d',date)asdate, country, sessions, sum(sessions)over(partitionbycountryorderbydaterowsbetweenunboundedprecedingandcurrentrow)cumulated_sessions, FROM`lifesgood-test.lifesgood_weekly_reprot_format.organic_and_paid sessions_table` unpivot(sessions forcountry in(GLOBAL,KR,US,AU,DE,INDIA,SA,SAEN,SA_SAEN,AE,AEAR,AE_AEAR,VN,BR,daily_total)) Unpivot 함수를 통해 아래처럼 country 라는 컬럼에 국가코드값이 넣어지면서 피벗테이블 형식이 풀렸죠? 누적값을 구할때는 국가별로 partition by 를해주고, 날짜 순서대로 누적할 것 이기 때문에 order by date 를 해줍니다 이 테이블을 unpivot_sessions 라고정의하고 with 절로묶어줍니다. <+> window 함수 sum 의 특성상 위의 쿼리식과 sum(sessions)over(partitionbycountryorderbydate) 아래의 식은 같은 결과를 보여줍니다. sum(sessions)over(partitionbycountryorderbydate rows between unbounded preceding and current row ) Step 2 2초 이상 체류한 세그먼트의 세션수(valid_sessions) 테이블도 위와 동일하게 unpivot 해 준 다음 누적값을 구하고, unpivot_sessions의 date, country 를 키 값으로 조인해줍니다. Step 3 전주 대비 이주의 증감룰을구하기위해 lag 함수를통해 일주일전의값과이번주의값을같은행에서계산할수있도록만들어 줍니다. # LAG (sessions, 7) > sessions 의 7 번째 이전에 있는 값을 가져온다 ifnull(lag(sessions,7)over(partitionbycountryorderbydate),0)aslag_one_week #이때 null 값이 있으면 이후에 계산 시 오류가 발생하므로 ifnull 로 null 값들은 0 으로 만들어 줍니다. 이어서별도로생성해뒀던 regular_time 테이블과 between join 을하여 7일마다다른주차별기준점값을설정해줍니다. #Start_week 과 end_of_Week 를 7일간격으로설정한 regular_time table ‘between join’ <1월 1-7일은 1월 1주차 (24.Jan_first_weeK) 1월 8일-14일은 1월 2주차 (24.Jan_second_weeK) 으로 구분되어 regular_time 열이 생긴다> SELECT a.date, a. country, b.regular_time, a.sessionssessions, a. cumulated_sessionscumulated_sessions, ifnull(lag(sessions,7)over(partitionbycountryorderbydate),0)aslag_one_week a.cumulated_valid_sessionscumulated_valid_sessions, FROMbasica join `lifesgood-test.test.test_weekly_regular_week`bona.datebetweenb.start_week andb.end_of_week Step 4 위의 테이블에서 일반 세션과 지난주 세션에 대해 country, regulartime 으로 partition by 되고 날짜 순으로 누적값을 구합니다. select*, sum(sessions)over(partitionbycountry,regular_timeorderbydaterowsbetweenunboundedprecedingandunboundedfollowing) sum_this_week_sessions, sum(lag_one_week)over(partitionbycountry, regular_timeorderbydaterowsbetweenunboundedprecedingandunboundedfollowing)sum_last_week_sessions, frombase Step 5 이제 위클리에서 실제로 사용하는 포맷과 좀 더 유사한 형식으로 만들어 줍니다. 최종적으로 구하려는 값은 누적세션수 (유효 세션의 비율) | 1월 3주차 7일간의 총 세션수 | 1원 2주차 대비 1월 3주차 세션수의 증감률 입니다. *참고 STEP 4 에 있는 <예상 결과값> 테이블에서 Jan_third_week 에서 1월 21일 마지막 날짜 행의 값으로 확인 가능 cumulated_sessions 가 2,310 ------(누적 세션수, ) cumulated_valid_sessions 가 1,155 ------(유효 세션수) sum_this_week 이 1,260 ------(1월 3주차의 총 세션수) sum_last_week 이 770-------- (1월 2주차의 총 세션수) 하단 좌측의 계산식으로 우측의 결과 값을 구할 수 있게 됩니다. 이 계산식을 쿼리로 작성해주면 되겠죠! select country, regular_time, concat(cumulated_sessions,' (',round(cumulated_valid_sessions/cumulated_sessions*100,0),'%',')')ascumulated_sessions_and_valid_percentage, sum_this_week_sessions, concat(round(safe_divide((sum_this_week_sessions-sum_last_week_sessions),sum_last_week_sessions)*100,0),'%')aschange_percentage, row_number()over(partitionbycountryorderbydatedesc)asnumbering_cumulated_sessions frombase_table #safe_divide 를 쓰게 되면 분모가 0 이라 나눌 수가 없는 식이 나오더라도 무방 Step 6 일반적으로 리포팅은 가장 최근 7일을 기준으로 작성하지만 때때로 특정 기간에 대한 데이터를 고객사에 전달드려야 할 때도 있었는데요, 이를 위해서 각 주차별로 구분할 수 있는 값을 row_number 함수로 생성해주려 합니다. * row_number () 를 통해서 각 나라별로 누적 세션값에 date 를 내림차순으로 하여 순위를 만들어 줍니다. 해당 row_number () 값은 고정적인 값이 아니라, 새로운 데이터가 추가될 때마다 가장 최근 날짜의 값이 ‘1’ 로 설정되는 특징이 있습니다. 위와 같은 상태에서 select* fromdata_table where(numbering_cumulated_sessions-1)/7+1 = 1 orderbycountry >> where(numbering_cumulated_sessions-1)/7+1 값이 ‘1’ 이면가장최근의주차별값, 2라면 > 지난주 , 3이라면 지지난주 위와같이필터링할수도있고, 만약특정주차에상관없이특정날짜까지의 Vist 값들을원한다면 where date = '2024-01-21' 이렇게 where 절로 date 날짜를설정할수있습니다. FIN ---------------------------------------------------------- 이렇게 엑셀 작업으로 구해오던 값들을 쿼리로 표현해보았습니다 :) 리포팅이 워낙 케이스 바이 케이스지만 시간 절약과 정확성이 높아진 것들 경험하니 이후에도 비슷한 업무를 만나면 저는 쿼리를 쓰는 방법도 고민해볼 것 같아요 :) (이런 방법도 있다는것 자체를 인지를 못했어서 엑셀 노가다만 계속 했었다는 ㅜㅜ) 또 쿼리 초보에게는 증감률 계산을 위한 lag () 함수, 누적값 계산을 위한 윈도우 sum () 함수 를 직접 사용해 볼 수 있는 좋은 기회이기도 했답니다. 이 글 조회하시는 분도 저와 비슷한 고충이 있으셨다면 이런 선택지가 있다는게 도움이 되셨길 바라며 이번 글 마치도록 하겠습니다 :) 그럼 좋은 하루 보내세요~! ------------------------------------- *메모장이나 PDF 확장자 지원이 안되어서 ㅎㅎㅎ,,, JPG 로라도 총 쿼리 업로드 합니다
[Google Analytics] 구글애널리틱스 커뮤니티입니다. 구글애널리틱스관련 정보를 공유 해 주세요! 안녕하세요 ;) GA 데이터를 주로 활용하는 데이터 컨설턴트 입니다. GA 와 GA4 데이터로 10개 국가 리포팅 업무를 하던 중 빅쿼리와 엑셀 시트를 활용해서 업무 프로세스를 개선하게 되어 해당 경험을 공유 드리겠습니다 아래 글에서는 엑셀로 가공해오던 데이터를 빅쿼리에서 작업할 수 있도록 구글 시트와 연동하는 방법 및 연동시의 주의사항에 대해 말씀드릴게요 :) (다음 글: 연동된 데이터를 실제로 어떤 식으로 리포팅에 활용했는지 궁금하다면?) http://googleanalytics360.com/board/view.php?bo_table=googleanalytics&wr_id=73&page= ------------------------------------------------------------------------------------------------- [Problem has to be solved] 엑셀로 작업하는 단순 이벤트 구분 / 카운팅 업무의 속도와 정확성을 높혀야 할 필요성 인지 [Action to do] 구글 엑셀 시트에 작업해야 하는 엑셀 시트를 불러와, 해당 시트를 빅쿼리의 ‘드라이브 연동’ 기능을 통해 실시간으로 시트의 항목들이 빅쿼리에서 활용할 수 있도록 한다. (Process) 1. 쿼리로 활용할 기본 테이블을 엑셀 시트에 옮겨줍니다. (데이터는 예시값 입니다) >> 저같은 경우 피벗 테이블 형식의 각 국가별 일별 세션수 데이터인데요, 이 테이블 형태로 후에 쿼리 기본 작업이 들어갈 예정입니다 2.빅쿼리에서 프로젝트 > 세트를 생성하여 특정 세트 하위에 테이블을 만들어 주세요. '테이블을 만들 소스’ 중 드라이브를 선택합니다. 3. ‘Drive url 선택’ 에서는 구글 스프레드 시트의 url 을 넣어줍니다. >> 동일한 파일이더라도 각 시트마다 생성된 url 이 상이하며, 또 특정 시트를 지정해줄 때는 테이블에 기입한 url의 시트 이름을 넣어주면 됩니다. 4. 이어서 스키마를 설정합니다. 구글 시트에 있던 값들을 ‘순서대로’ , ‘데이터 유형’ 에 맞게 설정해줍니다. 이때 설정한 데이터 유형은 수정이 어렵기 때문에 String, Integer, Date 등을 잘 구분해줍니다. 이후에 구글 시트에 새로운 컬럼을 추가하게 된다면 가장 마지막 열의 뒤부터 추가 해야 합니다. 안그러면 스키마에서 설정한 순서와 달라져서 값들이 컬럼명과 매칭이 안 될수도 있어요 예를 들어 기존에 숫자형으로 등록했던 두 번째 열인 Global 열에 문자 형식 값을 가지고 있는 '안녕' 열을 추가하게 되면 기존에 빅쿼리 단에서 인식한 ‘두 번째 행’ 은 GLOBAL 처럼 Integer 형식이기 때문에 오류가 나고, <기존에 숫자형으로 등록했던 두 번째 열인 Global 열에 문자 형식 값을 가지고 있는 '안녕' 열 추가> <스키마 상 Integer 자리에 String 값이 있어 오류 발생> 만약 Integer 형식으로 값을 새로 넣었다고 하더라도, 빅쿼리에서는 ‘GLOBAL’ 컬럼 값을 구글 시트의 ‘안녕’ 컬럼으로 인식하게 됩니다. 의도했던 테이블이 완전 틀어질 수 있죠. <빅쿼리 상에서는 기존에 등록된 스키마 순서대로 GLOBAL 로 인식하여 '안녕' 열의 값들이 GLOBAL 로 조회되고 있음> 따라서 만약 테이블에 수정사항이 있다면 기존 가장 마지막 컬럼의 다음 컬럼에 생성을 해주고 빅쿼리의 해당 테이블에 ‘스키마 수정’ 을 클릭해서 해당 열만 추가해줄 수 있어요 <엑셀 시트 상에 새로 추가할 열을 입력> <빅쿼리의 해당 테이블에 대해 '스키마 수정' 클릭> <추가하려는 열을 필드 이름과 데이터 유형에 맞게 설정하여 저장> <빅쿼리 상에서 입력된 새로운 열 확인 가능> 위의 사항들을 고려해서 테이블을 생성해주었다면 엑셀 시트와 빅쿼리를 연결하는 방법은 끝입니다! 이처럼 구글 시트와 빅쿼리를 연동했을 때의 가장 큰 장점은 바로 엑셀 시트가 실시간으로 빅쿼리 상에 반영이 된다는 점 입니다. 예를 들어 제가 리포팅을 하다 보니 매주매주 새로운 값들이 업데이트 되는데, 해당 값들을 엑셀 시트에 추가해주기만 하면 빅쿼리에서 바로 인지할 수 있고 혹시나 데이터의 정합성을 체크하다가 틀린 값이 있더라도 그 부분만 수정해주면 빅쿼리 상에서 조회할 때 2중으로 수정해주는 수고를 하지 않아도 된다는 부분이죠 별 것 아닌 것 같지만 엑셀 시트 URL 로 빅쿼리에서 활용 가능할 수 있다는게 꽤나 유용했던 기능 이였습니다 :) 다음 글에서는 위의 연동 방식을 제가 어떻게 활용했는지 공유 드리겠습니다
GA360적용/가격/활용사례 공유. GA360 리셀러 플러스제로 Google Analytics 유료버전인 GA360을 이해하기 위해선, GA360이 무엇인지, 가격은 얼마인지, 타 업체는 어떻게 활용하고 있는지 알아야 합니다. 이번 글에선 GA360도입을 고려중이거나, GA360의 특징을 잘 모르시는분들이 GA360을 이해하고 사용할 수 있도록 GA360 적용방법, 가격, 실제 활용사례를 공유드릴 예정입니다. 글의 목차는 아래와 같습니다. 1. Google Analytics 360 Reseller 플러스제로 소개. 2. GA Standard vs GA360 특징, 가격/비용 및 적용방법 3. GA360을 써야하는 고객 + 활용사례 1. Google Analytics 360 Reseller 플러스제로 소개. 플러스제로(PLUS ZERO)는 Google Analytics 360을 제공할 수 있는 권한을 가진 GA360 Reseller이자, - GA구축: 기업 맞춤 Google Analytics 및 A/B Test, 데이터 시각화 대시보드 구축 지원 - GA Training: 구축 된 GA와 A/B Test, 대시보드를 잘 활용할 수 있도록 기업 맞춤 교육 지원 - Performance Ads: 광고+GA 데이터 기반, 광고비용 절감 및 ROAS 최적화 환경 구축 - SEO(Search Engine Optimization검색엔진최적화): 핵심 키워드의 검색결과 상위노출 가이드 - CRO(Conversion Rate Optimization구매전환율 최적화): 고객이탈 최소화 및 고객경험 최적화 - CRM 솔루션: 데이터레이크(ADs+Behavior+CRM) 구축 및 개인화메세지(popup, sms, push..) 제공 등 구축/컨설팅/솔루션을 제공하는 데이터 마케팅 에이전시입니다. 즉, 데이터를 활용하여 할 수 있는 성과높은 마케팅활동만을 중심으로 구축/컨설팅 서비스를 제공합니다. 기본 베이스가 컨설팅이다 보니, GA360고객에겐 추가 비용 없이 GA구축과 함께, Training, Q&A, SEO, Ads, CRM솔루션을 제공하고 있으며, 이 데이터마케팅 서비스와 CRM솔루션이 플러스제로의 차별화가 되었습니다. 2. GA Standard vs GA360 특징 및 적용방법 GA standard와 GA360의 가장 큰 특징은 데이터 소유권과 비용이다. 데이터 소유권에 대해 이야기 하기 전, 알아야 할 GA 기본개념이 있습니다. GA Standard는 '구글서버에 쌓인 내 사이트데이터'를 GA를 통해 view 하는 개념이고, GA 360은 구글이 'GA360 고객에게 고유한 서버를 열어주고, 거기에 내 사이트 데이터를 쌓는것' 입니다. 이것을 이해 하면, 데이터 소유권을 이해하기 쉽습니다. GA360은 rawdata를 다운받을 수 있기 때문에, GA와 Ads, CRM 등 다른 소스의 데이터와 맵핑할 수 있게 되고, 이것은 흔히 말하는 데이터웨어하우스, 데이터 레이크 등으로 사용할 수 있습니다. 궁극적으론 이 행동데이터와 고객데이터를 매칭하여 개인화 마케팅에 사용할 수 있게 되는 것 입니다. 고유 서버가 할당되기 때문에, 매우빠른 속도와 샘플링 이슈가 사라지는 것 도 큰 장점입니다. (GA 로딩.. 속터지죠... GA360 한번 사용하면 다시 Standard로 못돌아갑니다 ㅎㅎ) GA360은 보통 연간 1억 5000만원정도의 비용이 발생하는데, 그 비용만큼 GA360데이터를 잘 활용하는 업체는 드물기 때문에, 플러스제로가 데이터 기반 마케팅 최적화와 GA행동데이터+CRM데이터를 통합하여 개인화된 메세지를 보낼 수 있는 솔루션을 제공하고 있습니다. 불과 1~2년 전 까지만 해도, 샘플링 없는데이터, 빠른 데이터, User ID 데이터를 추출하는데 만족했던 고객들이, 데이터 마케팅이 성숙기에 접어들은 것인지, 데이터 '수집'이 아닌, '활용'에 집중을 하는 모습을 보이고 있습니다. 점진적으로 쿠키데이터가 사라짐에 따라, 1st Party 데이터를 활용하여 CDP(Customer Data Platform)를 구축하고 활용하는 고객이 늘어나는 것 을 채감하고 있습니다. 2014년부터 활동 해온, GA리셀러로서 이러한 성장. 변화는 너무나 긍정적이고 기쁜 현상입니다. GA360리셀러로서, 가장 많이 접하는 질문Top3는, GA360 가격, 기능, 사용방법이다. 생각보다 매우 간단하다. 1. GA360 가격 - Hit기준이며, 보통 연간 1억 5천만원정도이며, 매달 1250만원정도 청구가 된다. 2. GA360 주요기능 - 샘플링, 빠른속도, GA데이터 BigQuery연동, DFP 등이 있다. - 샘플링이 없기때문에, raw data 기반 레포팅, 데이터 추출, 쉬운 레포팅 가능. - 일반 GA대비 빠른 속도로, 원하는데이터를 빠르게 추출하고 분석 가능. - UserID(CRM과 Key값)를 포함안 raw data를 BigQuery와 연동가능하기때문에, CRM과 매칭하여 사용가능. (물론, CRM과 BigQuery 데이터 1:1로 매칭, Segment, Batch, Message등 활용개발은 별도이다) - DFA, DFP, SA360, DV360 등 다양한 솔루션과 함께 사용 가능. 3. 사용방법 - GA리셀러(플러스제로)에 GA360 사용요청 메일을 보내면, GA리셀러(플러스제로)에서 회신 한 견적서와 제공 서비스 확인 한 후, GA360계약 진행 - 플러스제로는 1주일 내 Google에게 계약한 고객의 계정을 GA Standard에서 GA360으로 업그레이드 요청 - 고객은 계약완료 1주일 이내 GA360을 사용 가능하며, 플러스제로로 매월 사용요금 지불 자세한 GA Standard vs GA360 차이점은 아래를 참조바랍니다. https://blog.naver.com/pluszeroinc/222213934187 3. GA360을 써야하는 고객+ 활용사례 GA360 전환 요청이 오는 고객의 니즈는 크게 2가지로 나뉩니다. 1. 자사 행동데이터 수집: GA 행동데이터를 자사 데이터와 통합하여 고객행동패턴 분석 2. 개인화 마케팅: 유저가 특정 행동을 한 경우, 문자, 메일, 푸시, 광고를 보내기 위한 데이터 소스 플러스제로는 아래 이미지와 같이 이 1,2번 니즈에 대한 정형화된 솔루션을 제공합니다. 1. 자사 행동데이터 수집:행동데이터+고객정보(GA360+CRM) 뿐 아니라, 광고데이터+행동데이터(Ads+GA360)솔루션을 제공하고있습니다. 아래 이미지처럼 별도 개발작업 없이, Ads 계정 공유만으로 가능한 Ads+GA 데이터 매칭을 할 수 있고, 데이터를 시각화 할 수 있습니다. 아래 이미지처럼, 데이터스튜디오에서 광고비용대비 매출 성과를 본다는것 은, 매일 반복되는 엑셀 레포팅과 분석시간을 획기적으로 줄일 수 있다는 것입니다. GA360_플러스제로 2. 개인화 마케팅: 플러스제로는 기존 Salesforce와 같은 대규모 개발작업과 비용이 발생하는 것 을 부담스러워 하는 고객을 위해 GA360 고객에게는 아래 이미지와 같이, 특정 조건을 달성한 고객(Target Audience)에게 일정 시간(Batch)마다 이메일, 문자, 카카오, 푸시 등 개인화 된 메세지를 전달하는 솔루션 Live Insight를 함께 제공하고 있습니다. GA360 데이터가 담긴 BigQuery를 Live Insight에 연동하고, 고객정보데이터를 엑셀형태로 업로드하면 자동으로 행동데이터와 고객정보가 매칭됩니다 :) BigQuery데이터, Ads, CRM 데이터가 매칭되어, 유저를 식별하고, 메세지를 보낼 수 있는 LIVE Insight(GA360고객만 사용가능, 별도 CRM 매칭을 위한 개발작업 없이 엑셀 형태로 CRM 데이터 업로드&매칭) 추가적으로, BigQuery활용을 어려워 하는 고객을 위한 Query Generator와, 만들어진 Query(Target Audience)에게 일정시간마다 메세지를 보내는 Queried (이미지 클릭하시면 크게보실 수 있습니다)를 함께 제공합니다. GA360_플러스제로 GA360_플러스제로 쓰다보니 3시간이 지났네요, 최대한 간단히 쓴다고 썼는데, 길어져버렸습니다. 이 글이 GA360 특징과 활용에 대한 이해를 높이고, GA360도입에 도움이 되었으면 좋겠네요! :) GA360이 나온지 벌써 8년이 넘었고, 이제서야 고객들이 GA행동데이터를 Ads와 CRM과 통합하여 개인화 마케팅에 활용하고자 하는 니즈를 느끼고, 실행하는 단계에 온 것 같아 기분이 매우 좋습니다. 만약 GA360을 사용하여 개인화 된 마케팅활동을 할 생각이 있다면, 이미 솔루션이 구현 된 플러스제로로 연락주세요 :) GA360 활용사례, 가격, 솔루션에 대한 내용을 공유드리겠습니다. 감사합니다. 플러스제로