[Google Analytics4] 구글애널리틱스4 커뮤니티입니다. 구글애널리틱스관련 정보를 공유 해 주세요! 구글애널리틱스4(GA4)는 웹사이트와 앱 사용자 행동을 심층적으로 분석할 수 있는 최신 분석 도구입니다. 그중에서도 참여율과 이탈률은 사용자 경험과 마케팅 성과를 평가하는 데 핵심적인 지표로 자리 잡고 있습니다. 본 포스팅에서는 GA4에서의 참여율과 이탈률 개념을 명확히 설명하고, 실무에 적용 가능한 활용 예시를 통해 데이터 기반 의사결정에 도움을 드리고자 합니다. 1. 문제 상황 및 배경: 왜 참여율과 이탈률이 중요한가? 온라인 비즈니스에서 사용자 행동 분석은 매출 증대와 고객 만족도를 높이기 위한 필수 과정입니다. 특히, 사용자가 웹사이트 또는 앱을 방문했을 때 얼마나 오래 머무르고, 어떤 경로로 이탈하는지 파악하는 것은 콘텐츠 개선과 마케팅 전략 수립에 핵심입니다. 기존의 구글 애널리틱스 UA(Universal Analytics)에서는 이탈률이 단순히 '세션 내 첫 페이지에서 이탈한 비율'로 정의되어 왔습니다. 하지만 GA4에서는 참여 세션(Engaged Session) 개념을 도입하여, 보다 정교하게 사용자 참여도를 파악할 수 있도록 진화했습니다. 2. GA4 참여율과 이탈률의 정의 및 원리 GA4에서의 참여율과 이탈률은 모두 세션 단위로 측정됩니다. 세션은 사용자가 웹사이트나 앱과 상호작용하는 일정 기간을 의미합니다. GA4는 세션을 다음 기준으로 분류합니다. 참여 세션 (Engaged Session): 다음 중 하나 이상을 충족하는 세션 - 10초 이상 지속된 세션 - 주요 이벤트가 발생한 세션 - 화면 또는 페이지 조회수가 2회 이상인 세션 비참여 세션: 위 조건을 충족하지 않는 세션 (즉, 사용자가 거의 상호작용하지 않고 빠르게 이탈한 경우) 이를 바탕으로 정의되는 두 지표는 다음과 같습니다. 참여율 (Engagement Rate): 전체 세션 중 참여 세션의 비율 (%) 공식: 참여율 = (참여 세션 수 / 전체 세션 수) × 100 이탈률 (Bounce Rate): 참여하지 않은 세션의 비율 (%) 공식: 이탈률 = (비참여 세션 수 / 전체 세션 수) × 100 참여율과 이탈률은 서로 보완적인 관계이며, 참여율이 높으면 이탈률은 낮아지는 경향이 있습니다. 3. GA4 참여율과 이탈률 측정 방법 및 보고서 설정 GA4 기본 보고서에는 참여율과 이탈률이 기본적으로 포함되어 있지 않기 때문에, 맞춤 설정을 통해 해당 측정항목을 추가해야 합니다. 설정 방법은 다음과 같습니다. GA4에 로그인 후, 왼쪽 메뉴에서 보고서를 선택합니다. 맞춤설정할 보고서(예: 페이지 및 화면 보고서)로 이동합니다. 보고서 오른쪽 상단의 보고서 맞춤설정 버튼을 클릭합니다. 측정항목 추가 메뉴에서 참여율과 이탈률을 검색하여 추가합니다. 변경 사항을 저장하면, 표의 마지막 열에 해당 지표가 표시됩니다. 참고로, 이 기능은 편집자 또는 관리자 권한이 있는 계정에서만 가능합니다. 4. GA4 참여율 및 이탈률 활용 예시 GA4의 참여율과 이탈률은 다양한 실무 상황에서 구체적으로 활용될 수 있습니다. 다음은 대표적인 활용 사례입니다. 4-1. 특정 페이지 콘텐츠 성과 분석 예를 들어, 블로그 내 특정 게시물의 참여율이 30%로 낮고 이탈률이 70%로 높다면, 해당 콘텐츠가 방문자의 기대에 미치지 못하거나 UX가 불편할 가능성이 있습니다. 이 경우 다음과 같은 조치를 취할 수 있습니다. 콘텐츠 품질 개선: 정보의 깊이, 가독성, 시각적 요소 강화 내비게이션 최적화: 다음 콘텐츠로 자연스럽게 연결되는 링크 추가 페이지 로딩 속도 개선: 사용자가 빠르게 이탈하지 않도록 성능 최적화 4-2. 마케팅 채널별 참여율 비교 광고 캠페인이나 유입 채널별로 참여율과 이탈률을 비교하면, 효과적인 채널과 그렇지 않은 채널을 구분할 수 있습니다. 예를 들어, 디스플레이 광고를 통해 유입된 트래픽의 참여율이 20%로 낮다면, 광고 소재가 사이트 콘텐츠와 관련성이 떨어지거나 타겟팅이 부적절할 수 있습니다. 4-3. 앱 사용자 행동 분석 Firebase 기반 GA4 앱 데이터 분석 시, 참여율이 낮은 화면을 파악하여 UI/UX 개선에 활용할 수 있습니다. 예를 들어, 특정 기능 화면에서 이탈률이 80% 이상이라면, 기능이 복잡하거나 오류가 있을 가능성이 큽니다. 5. GA4 참여율 및 이탈률 개선을 위한 실전 체크리스트 효과적인 참여율 향상과 이탈률 감소를 위해 다음 사항을 점검하세요. 태그 및 이벤트 설정 점검: 모든 페이지에 GA4 태그가 정확히 설치되어 있는지 확인 주요 이벤트 정의: 사용자 참여를 의미하는 이벤트(예: 클릭, 스크롤, 영상 재생 등)를 정확히 설정 콘텐츠 및 UX 최적화: 방문자의 관심을 끌고, 다음 행동을 유도하는 콘텐츠 구성 마케팅 메시지와 랜딩 페이지 연계: 광고 소재와 랜딩 페이지 내용의 일관성 유지 분석 주기 설정: 주간 또는 월간 단위로 참여율과 이탈률 변화 추적 및 원인 분석 6. 결론 및 추가 고려사항 GA4의 참여율과 이탈률은 단순한 방문수치 이상의 의미를 지닌 사용자 행동 분석 지표입니다. 기존 UA와 달리 세션 내 의미 있는 상호작용을 기준으로 하여, 보다 정확한 사용자 참여도를 측정할 수 있습니다. 이를 통해 콘텐츠 품질 평가, 마케팅 효율 분석, 앱 UX 개선 등 다양한 분야에서 실질적인 인사이트를 얻을 수 있습니다.참고자료 : https://support.google.com/analytics/answer/12195621?hl=ko&ref_topic=11151952
[Google Analytics4] 구글애널리틱스4 커뮤니티입니다. 구글애널리틱스관련 정보를 공유 해 주세요! 구글애널리틱스4(GA4) 기여 분석 개념 및 활용 예시 디지털 마케팅 환경에서 GA4(구글애널리틱스4)는 사용자 행동과 광고 성과를 심층적으로 이해하는 데 필수적인 도구로 자리 잡았습니다. 특히, 기여분석은 다양한 채널을 통해 유입된 방문자들이 전환에 어떻게 영향을 미쳤는지 평가하는 핵심 기능입니다. 이번 글에서는 GA4의 기여 분석 개념과 실제 활용 사례를 체계적으로 설명하여, 마케팅 전략 최적화에 실질적인 도움을 드리고자 합니다. 1. 기여 분석의 필요성과 개념 마케팅 캠페인에서는 여러 채널이 복합적으로 작용하여 고객의 구매 또는 전환에 영향을 미칩니다. 예를 들어, 고객이 처음에는 SNS 광고를 통해 유입되었다가, 이후 검색 광고와 이메일 마케팅을 거쳐 최종 구매에 이르는 복잡한 경로를 거칠 수 있습니다. 전통적인 분석에서는 마지막 클릭(Last Click) 채널에만 전환 성과를 100% 귀속하는 경우가 많았으나, 이는 실제 기여도를 왜곡할 위험이 큽니다. 이에 따라 GA4의 기여분석은 사용자의 전환 경로에 등장한 여러 터치포인트에 적절한 가중치를 부여하여, 각 채널이 전환에 미친 영향력을 정확히 평가합니다. 기여 분석(Attribution Analysis)은 “중요한 사용자 행동(전환 등)”에 대한 기여도를 여러 접점에 분배하는 과정이며, GA4는 이를 위해 다양한 모델을 지원합니다. 2. GA4 기여 분석 모델 종류 및 작동 원리 GA4에서 제공하는 주요 기여 분석 모델은 다음과 같습니다. 데이터 기반 기여 분석(Data-Driven Attribution) : 머신러닝 알고리즘을 활용하여 각 광고 상호작용의 실제 기여도를 산출합니다. 전환 경로 데이터를 분석해, 광고 노출 횟수, 시간, 기기 유형, 광고 형식 등을 고려하여 기여도를 배분합니다. Google 유료 채널 마지막 클릭(Last Click Google Paid Channel) : Google Ads 내에서 마지막으로 클릭한 광고 채널에 전환 가치를 전부 귀속합니다. Google Ads 클릭이 없으면 유료 및 자연 검색 마지막 클릭 모델을 적용합니다. 데이터 기반 기여 분석은 GA4의 가장 진보된 모델로, 실제 전환과 비전환 경로 데이터를 비교하여 각 터치포인트가 전환 가능성에 미친 영향을 통계적으로 추정합니다. 이를 통해 전환에 가장 큰 영향을 준 채널과 유입 경로를 객관적으로 파악할 수 있습니다. 반면, 마지막 클릭 모델은 단순하지만 빠르게 결과를 확인할 수 있어, 빠른 의사결정에 유리합니다. 다만, 전환 경로의 복잡성을 반영하지 못하는 한계가 있습니다. 3. GA4 기여 분석 활용 단계별 가이드 GA4에서 기여 분석을 효과적으로 활용하기 위한 단계는 다음과 같습니다. - 목표 및 주요 이벤트 정의 전환으로 간주할 주요 이벤트(예: 회원가입, 제품 구매, 뉴스레터 구독 등)를 GA4 내에서 이벤트로 설정합니다. - 기여 분석 보고서 접근 GA4 대시보드 좌측 메뉴의 광고 > 기여 분석에서 기여 분석 모델 또는 경로 보고서를 선택합니다. - 적합한 기여 모델 선택 비즈니스 목표와 데이터 가용성에 따라 데이터 기반 또는 마지막 클릭 모델을 선택합니다. - 전환 경로 및 터치포인트 분석 각 채널별 전환 기여도, 전환 경로 상의 터치포인트별 기여도를 확인하여 마케팅 채널별 성과를 평가합니다. - 마케팅 전략 최적화 분석 결과를 바탕으로 예산 배분, 채널별 캠페인 조정, 신규 채널 발굴 등 전략을 수립합니다. 4. 실무 적용 예시: GA4 기여 분석을 통한 마케팅 성과 개선 예를 들어, 한 전자상거래 기업이 GA4 기여 분석을 활용해 온라인 광고 캠페인을 평가했다고 가정해 봅시다. 주요 이벤트는 ‘제품 구매’이며, GA4 데이터 기반 기여 분석 결과 다음과 같은 인사이트를 얻었습니다. 유료 검색 광고가 전환 기여도의 40%를 차지하며 가장 큰 비중을 차지함 소셜 미디어 광고는 초기 유입에 중요한 역할을 하였으나, 전환 기여도는 25%로 상대적으로 낮음 이메일 마케팅은 재구매 유도에 효과적이며, 전체 기여도의 20%를 담당 직접 방문은 데이터 기반 모델에서는 기여도 산정 대상에서 제외 이 결과를 통해 마케팅팀은 유료 검색 광고 예산을 증액하고, 소셜 미디어 광고는 브랜드 인지도 강화용으로 재분류하였으며, 이메일 캠페인을 강화하여 재구매율을 높이는 전략을 수립했습니다. 또한, 기여 분석 경로 보고서를 활용해 전환까지의 평균 터치포인트 수, 경로별 전환율 등을 모니터링하며 지속적으로 캠페인을 조정했습니다. 5. 효과적인 GA4 기여 분석 학습 및 활용 팁 GA4 기여 분석을 잘 활용하기 위해서는 다음 사항을 유념해야 합니다. 정확한 이벤트 설정 : 전환 이벤트가 명확하고 정확하게 설정되어 있어야 의미 있는 기여 분석이 가능합니다. 충분한 데이터 확보 : 데이터 기반 모델은 머신러닝을 활용하므로, 일정량 이상의 데이터가 필요합니다. 데이터가 부족하면 모델이 제대로 작동하지 않을 수 있습니다. 기여 모델별 차이 이해 : 각 기여 모델의 장단점을 이해하고, 상황에 맞게 모델을 선택하는 것이 중요합니다. 보고서 정기 모니터링 : 캠페인 진행 중에도 기여 분석 보고서를 주기적으로 확인하여 변화 추이를 파악하고 전략에 반영합니다. 다른 분석 도구와 병행 : GA4 외에 Google Ads, Google Tag Manager 등과 연동하여 다각도로 데이터를 분석하면 더욱 정확한 인사이트를 도출할 수 있습니다. GA4 기여 분석은 복잡한 사용자 여정을 명확히 파악하고, 마케팅 채널별 효과를 객관적으로 평가할 수 있게 해줍니다. 이를 통해 예산 효율을 극대화하고, 전환율을 높이는 데이터 기반 의사결정이 가능해집니다. 본 글에서 다룬 GA4 기여분석 개념과 활용법은 디지털 마케팅 성과 측정에 필수적인 지식입니다. 실제 GA4 보고서에서 제공하는 다양한 기여 모델을 직접 적용해 보시고, 각 모델이 내 비즈니스에 어떤 인사이트를 주는지 비교해 보시길 권장합니다.참고자료 : https://support.google.com/analytics/answer/10596866?hl=ko&ref_topic=10597959
[Google Analytics4] 구글애널리틱스4 커뮤니티입니다. 구글애널리틱스관련 정보를 공유 해 주세요! GA4, 즉 구글애널리틱스4는 차세대 웹·앱 분석 도구로, 사용자 행동을 더 정교하고 심층적으로 분석할 수 있는 기능을 제공합니다. 그중 경로탐색 분석은 사용자가 웹사이트나 앱 내에서 어떤 경로로 이동하는지 시각적으로 탐색할 수 있는 핵심 기능입니다. 본 포스팅에서는 GA4의 경로탐색 분석 리포트를 만들고 활용하는 방법을 구체적인 사례와 함께 상세히 설명합니다. 1. GA4 경로탐색 분석이란? 경로탐색 분석은 사용자의 행동 흐름을 수형도(Tree Diagram) 형태로 시각화하는 분석 기법입니다. GA4 탐색 분석 탭 내에서 제공되며, 특정 이벤트나 페이지를 시작점 혹은 종료점으로 설정해 사용자가 어떤 경로를 거쳤는지, 어느 단계에서 이탈했는지 상세히 파악할 수 있습니다. 이 분석을 통해 신규 방문자가 홈페이지에 진입한 후 어떤 페이지를 주로 방문하는지, 앱에서 예외 발생 후 어떤 행동을 하는지, 또는 구매 전환까지의 주요 경로를 확인할 수 있습니다. 경로탐색 분석 사용자 행동을 단계별로 시각화하여 흐름을 한눈에 파악 전방향 및 역방향 경로 분석 가능 (사용자가 도달한 경로 또는 도달 후 행동 분석) 최대 20개 노드까지 세분화하여 상세한 데이터 확인 가능 이벤트 이름, 페이지 경로, 화면 이름 등 다양한 시작점 설정 가능 2. GA4에서 경로탐색 분석 리포트 만드는 방법 GA4에서 경로탐색 분석 리포트를 만드는 절차는 다음과 같습니다. 이 과정은 애널리스트 이상 권한이 필요하며, 처음 접속 시 샘플 데이터로 연습할 수 있습니다. GA4 관리 화면에서 좌측 메뉴의 탐색 분석(Explore) 탭으로 이동합니다. 새 탐색 분석 시작하기에서 경로탐색 분석(Path exploration) 템플릿을 선택합니다. 오른쪽 상단의 다시 시작(Reset) 버튼을 클릭해 기존 설정을 초기화합니다. 시작점(Start point) 또는 종료점(End point)을 선택합니다. 예를 들어, 시작점으로 page_title = "홈페이지"를 선택할 수 있습니다. 선택한 시작점 기준으로 사용자가 이동한 다음 단계들을 시각화된 그래프로 확인합니다. 원하는 단계의 노드를 클릭해 하위 경로를 확장하거나 축소할 수 있습니다. 필요 시 노드 유형(페이지, 이벤트, 화면 등)을 변경하여 다양한 관점에서 경로를 분석합니다. 3. 경로탐색 분석의 주요 구성 요소와 원리 경로탐색 분석은 크게 시작점(Start point), 단계(Step), 노드(Node), 종료점(End point)으로 구성됩니다. 시작점: 분석을 시작하는 특정 페이지, 이벤트, 화면 이름 등으로, 그래프의 가장 왼쪽 열에 위치합니다. 단계: 시작점 이후 사용자가 거치는 연속 행동 단계를 의미하며, 각 단계는 그래프의 열로 표시됩니다. 노드: 각 단계 내의 개별 데이터 포인트로, 예를 들어 특정 페이지나 이벤트를 나타내며 해당 노드에 도달한 사용자 수가 표시됩니다. 종료점: 분석을 종료하는 지점으로, 시작점과 동일하게 한 번에 하나만 선택할 수 있으며, 그래프의 가장 오른쪽 열에 위치합니다. GA4는 전방향 경로 탐색과 역방향 경로 탐색을 모두 지원합니다. 전방향 분석은 시작점에서 출발해 사용자가 다음에 어떤 행동을 했는지 확인하는 방식이고, 역방향 분석은 종료점을 기준으로 사용자가 어떻게 그 지점에 도달했는지 거꾸로 추적합니다. 각 노드에는 해당 경로에 기여한 실제 사용자 수 또는 이벤트 발생 수가 수치로 표시되며, 최대 20개의 노드를 단계별로 세분화해 보여줍니다. 20개를 초과하는 노드는 ‘기타’로 묶여 집계됩니다. 4. GA4 경로탐색 분석 활용 사례 및 실무 적용법 GA4의 경로탐색 분석은 웹사이트 및 앱 운영자의 사용자 행동 분석과 마케팅 퍼널 최적화에 매우 유용합니다. 구체적인 활용 사례는 다음과 같습니다. 신규 사용자 유입 후 행동 흐름 분석 예를 들어, 신규 방문자가 홈페이지에 접속한 후 ‘제품 카테고리 페이지’ → ‘상품 상세 페이지’ → ‘장바구니’ → ‘결제 완료’까지 어떤 경로로 이동하는지 파악할 수 있습니다. 이를 통해 이탈이 많은 단계(예: 상품 상세 페이지에서 장바구니로 이동하지 않는 경우)를 발견하고 UX 개선에 활용합니다. 앱 내 예외 발생 후 사용자 행동 추적 앱에서 특정 오류 이벤트 발생 시 사용자가 이후 어떤 화면으로 이동하거나 어떤 행동을 하는지 분석해 문제의 원인을 파악하고 대응합니다. 구매 전환까지의 퍼널 분석 보완 기존 퍼널 분석과 달리 경로탐색 분석은 사용자가 반드시 순차적으로 이동하지 않아도 다양한 경로를 시각화하여, 복잡한 사용자 흐름을 심층적으로 이해할 수 있습니다. 5. GA4 경로탐색 분석 리포트 고급 팁 및 체크리스트 경로탐색 분석 리포트를 효과적으로 활용하기 위한 고급 팁과 체크리스트를 정리했습니다. 시작점과 종료점 설정 주의: 시작점과 종료점은 동시에 설정할 수 없습니다. 분석 목적에 따라 적절히 선택하세요. 노드 유형 변경 활용: 페이지, 이벤트, 화면 이름 등 노드 유형을 바꿔가며 다양한 관점에서 경로를 탐색하세요. 단계별 노드 확장: 기본적으로 단계당 상위 5개 노드가 표시되지만, + 더보기를 클릭해 최대 20개까지 확장해 더 많은 데이터를 확인할 수 있습니다. 시퀀스 조건 활용: 사용자 세그먼트 내에서 특정 이벤트 시퀀스를 정의해 조건에 맞는 사용자만 분석할 수 있습니다. 예를 들어, ‘장바구니 추가’ 후 ‘결제 완료’까지의 경로만 추적 가능. 정기적인 리포트 업데이트: 사용자 행동은 시시각각 변하므로, 리포트를 주기적으로 생성해 최신 트렌드를 반영하세요. 다른 GA4 탐색 분석과 병행: 경로탐색 분석 외에도 자유 형식 분석, 세그먼트 중복 분석 등을 함께 활용해 다각도로 데이터를 해석하세요. GA4 경로탐색 분석은 사용자 행동을 시각적으로 이해하고, 마케팅 퍼널 및 UX 최적화를 위한 강력한 도구입니다. 구글애널리틱스4의 탐색 분석 탭에서 쉽게 접근 가능하며, 다양한 노드 유형과 세그먼트 조건 설정을 통해 정교한 맞춤 리포트를 만들 수 있습니다. 본 가이드의 단계별 설명과 체크리스트를 참고하여, 실제 비즈니스에 적용해 보시기 바랍니다. 참고 가이드 : https://support.google.com/analytics/answer/9317498?hl=ko&ref_topic=9266525
[Google Analytics4] 구글애널리틱스4 커뮤니티입니다. 구글애널리틱스관련 정보를 공유 해 주세요! 구글애널리틱스 4(GA4)는 웹과 앱 데이터를 통합하여 분석할 수 있는 차세대 분석 플랫폼입니다. 그중에서도 자유형식 탐색 분석은 GA4 리포트 중 가장 강력하고 유연한 분석 도구로, 마케팅 실무자와 데이터 분석가들이 맞춤형 데이터 시각화와 심층 분석을 수행하는 데 필수적인 기능입니다. 본 포스팅에서는 GA4의 자유형식 탐색 분석 기능의 원리와 활용법, 그리고 실제 사례를 통해 어떻게 고객 행동과 마케팅 성과를 효과적으로 분석할 수 있는지 상세히 살펴보겠습니다. 1. GA4 자유형식 탐색 분석이란? 자유형식 탐색 분석은 GA4의 탐색(Explore) 탭 내에서 제공되는 고급 분석 기법 중 하나로, 사용자가 원하는 대로 분석 화면을 구성할 수 있는 맞춤형 리포트 생성 기능입니다. 기존의 표준 GA4 리포트와 달리, 데이터 행과 열을 자유롭게 조합하고 다양한 시각화 도구를 적용하여 심층적인 데이터 인사이트를 도출할 수 있습니다. 이 기능을 통해 다음과 같은 작업이 가능합니다: - 데이터 시각화 선택: 테이블, 막대 그래프, 원형 차트, 선 차트, 분산형 차트, 지리 지도 등 다양한 형태로 데이터를 표현 - 행과 열의 자유로운 배치: 원하는 디멘젼(차원)과 매트릭스(측정항목)를 드래그 앤 드롭으로 배치 가능 - 세그먼트 및 필터 적용: 특정 사용자 그룹이나 조건을 지정하여 데이터 세분화 - 중첩 행 설정: 복수 차원 데이터를 계층적으로 그룹화하여 분석 - 이를 통해 GA4 리포트가 제공하는 기본 데이터 이상의 맞춤형 분석이 가능하며, 마케팅 캠페인 성과, 사용자 행동 패턴, 유입 경로 등을 심도 있게 탐색할 수 있습니다. 2. GA4 자유형식 탐색 분석의 기술적 원리와 작동 방식 GA4의 자유형식 탐색 분석은 빅쿼리와 연동된 GA4 데이터 스트림에서 집계된 이벤트 기반 데이터를 기반으로 작동합니다. GA4는 기본적으로 이벤트(event)와 매개변수(parameter)를 중심으로 데이터를 수집하며, 자유형식 탐색 분석에서는 이 데이터를 사용자 지정 디멘젼과 매트릭스로 자유롭게 조합할 수 있습니다. 주요 작동 원리는 다음과 같습니다: - 데이터 소스 선택: GA4 속성 내에서 분석할 데이터 세트를 선택합니다. - 디멘젼 및 매트릭스 불러오기: 분석에 필요한 차원(예: 국가, 디바이스 종류, 유입 매체)과 측정항목(예: 사용자 수, 세션 수, 매출액)을 선택합니다. - 시각화 유형 지정: 데이터 특성에 맞는 시각화 도구(테이블, 차트 등)를 선택합니다. - 필터 및 세그먼트 적용: 특정 사용자 집단이나 이벤트 조건을 필터링하여 분석 정확도를 높입니다. - 결과 해석 및 인사이트 도출: 시각화된 데이터에서 패턴, 이상치, 상관관계 등을 분석합니다. - 특히, GA4 탐색 분석은 이상치 탐지(Anomaly Detection) 기능을 지원하여, 데이터 내에서 통계적으로 유의미한 변동이나 이상 현상을 자동으로 감지할 수 있습니다. 이는 마케팅 캠페인 성과 변동이나 사용자 행동 변화에 신속히 대응하는 데 큰 도움이 됩니다. 3. GA4 자유형식 탐색 분석 활용 사례 실제 GA4 자유형식 탐색 분석 활용 사례를 통해 구체적인 분석 방법과 인사이트 도출 과정을 살펴보겠습니다. 사례 1: 디바이스별 사용자 행동 분석 한 이커머스 기업은 GA4 자유형식 탐색 분석을 통해 디바이스 카테고리(데스크톱, 모바일, 태블릿)와 화면 해상도별 사용자 수 및 매출액을 비교 분석했습니다. - 분석 결과, 데스크톱 사용자 중 1440x900 해상도 이용자가 매출의 40% 이상을 차지하는 것으로 확인 - 반면, 1366x768 해상도 사용자는 방문자 수는 많지만 구매 전환율이 낮음 -> 이 데이터를 기반으로 특정 해상도 사용자 대상 맞춤형 UI/UX 개선 및 프로모션 전략 수립 사례 2: 유입경로별 트래픽 및 전환 비교 마케팅 팀은 유입 매체(인스타그램, 네이버 검색, 네이버 블로그, 디스플레이 광고, 직접 방문 등)를 기준으로 자유형식 탐색 분석을 수행했습니다. - 막대 그래프 시각화로 각 채널별 활성 사용자 수와 전환율 비교 - 네이버 블로그 유입은 전환율이 높으나 트래픽 규모는 상대적으로 작음 - 인스타그램은 높은 트래픽을 유발하지만 전환율은 평균 이하 -> 이를 통해 마케팅 예산 배분과 채널별 최적화 전략 수립 가능 4. GA4 자유형식 탐색 분석 실무 적용법 GA4 자유형식 탐색 분석을 실무에 적용하기 위한 단계별 가이드를 소개합니다. - 분석 목표 설정: 무엇을 알고 싶은지 명확히 정의 (예: 특정 캠페인 효과, 사용자 행동 패턴 등) - 탐색 분석 시작: GA4 > 탐색(Explore) 탭에서 자유형식 탐색 분석 템플릿 선택 - 필요한 디멘젼 및 매트릭스 선택: 분석에 필요한 차원과 측정항목 불러오기 - 시각화 유형 결정: 데이터 특성에 맞는 테이블, 차트 등 선택 - 필터 및 세그먼트 적용: 특정 기간, 사용자 그룹, 이벤트 조건 등으로 데이터 세분화 - 데이터 해석 및 인사이트 도출: 시각화 결과 기반으로 의미 있는 패턴과 개선 포인트 확인 - 보고서 공유 및 액션 플랜 수립: 관련 부서와 결과 공유 후 실행 계획 수립 특히, GA4 탐색 분석은 분석가 권한 이상 사용자만 생성할 수 있으므로, 조직 내 데이터 접근 권한 관리도 중요합니다. 5. GA4 자유형식 탐색 분석 활용 시 주의사항 및 팁 - 자유형식 탐색 분석을 효과적으로 활용하기 위해 다음 사항을 유념하시기 바랍니다. - 데이터 샘플링 주의: GA4 탐색 분석은 대량 데이터 처리 시 샘플링이 발생할 수 있으므로, 정확한 분석을 위해 범위와 조건을 적절히 조정 - 정확한 디멘젼과 매트릭스 선택: 분석 목적에 부합하는 지표를 신중히 선택하여 의미 있는 결과 도출 - 필터와 세그먼트 활용 극대화: 사용자 그룹별 행동 차이를 파악할 때 필터링과 세그먼트 기능 적극 활용 - 이상치 탐지 기능 활용: 자동 이상치 탐지를 통해 비정상적인 데이터 변동을 조기에 발견 가능 데이터 해석 시 맥락 고려: 단순 수치 비교보다는 캠페인 일정, 외부 이벤트 등 맥락을 함께 고려해야 정확한 인사이트 도출 정리 및 결론 GA4 자유형식 탐색 분석은 구글애널리틱스 GA4 리포트 중에서도 가장 유연하고 강력한 도구로, 마케팅 데이터 시각화와 심층 분석에 최적화되어 있습니다. 다양한 시각화 옵션과 세그먼트, 필터 기능을 활용해 사용자 행동과 마케팅 효과를 다각도로 분석할 수 있습니다. 특히, 유입경로 분석, 디바이스별 사용자 특성 파악, 퍼널 분석 등 다양한 마케팅 인사이트를 도출하는 데 필수적이며, 이상치 탐지 기능으로 데이터 이상 현상도 신속하게 파악할 수 있습니다. 참고 가이드 : https://support.google.com/analytics/answer/9327972
UTM은 왜 필요할까? 디지털 마케팅에서는 검색, 광고, 뉴스레터 등 다양한 채널을 활용하여 트래픽을 유도하고, 어떤 경로를 통해 우리 웹사이트로 들어오는지, 어떤 채널이 유입과 구매에 효과적인지를 측정할 수 있습니다. UTM을 사용하면, 어떤 채널, 캠페인, 콘텐츠가 효과적인지 명확하게 측정할 수 있고, 더 나은 마케팅 전략을 수립할 수 있습니다. UTM 뜻 UTM(Urchin Tracking Module)은 특정 페이지에 들어온 유저가 어디서 어떤 경로를 통해 왔는지 알려주는 일종의 꼬리표와 같습니다. URL 뒤에 UTM 파라미터를 설정하면, 특정 페이지에 들어온 유저가 어디서, 어떻게, 무엇을 통해, 어떤 키워드로 유입되었는지를 알 수 있습니다. UTM 파라미터 구성요소 - utm_source : 유입 채널 (google, naver, facebook, kakao) - utm_medium : 유입 매체 (cpc, social, email, blog, referral) - utm_campaign : 마케팅 캠페인 - utm_content : 마케팅 소재 - utm_term : 마케팅 키워드 (주로 검색광고에서 활용되어, 키워드별 성과 비교 가능) UTM 생성기 활용 방법1. UTM 생성기 접속 후 UTM Group 생성 링크 : https://keywordsearch.pluszero.co.kr/utm-builder/group-list2. 생성된 Group 내 '추가' 버튼 클릭 후, UTM 구성요소 입력 후 저장 3. 소스, 매체, 캠페인, 컨텐츠, 검색어 및 URL 생성 완료!UTM 생성기 활용 이점1. 수동 입력 시 발생할 수 있는 띄어쓰기 오류, 오타, 일관성 부족 문제를 방지할 수 있습니다. 2. UTM 구성요소를 입력하면 자동으로 URL이 생성되어 쉽게 공유할 수 있습니다. 3. 히스토리를 체계적으로 관리할 수 있습니다. 4. 생성된 UTM을 기록하고, 이를 GA4나 대시보드에서 분석하여 채널 및 캠페인별 성과를 쉽게 비교할 수 있습니다.
[Google Analytics4] 구글애널리틱스4 커뮤니티입니다. 구글애널리틱스관련 정보를 공유 해 주세요! Google Analytics 4가 유저를 식별하는 방법에 대해서 소개해 드립니다. GA4는 유저 식별을 위해 아래의 4가지 주요 방법을 활용합니다. 1. User ID (사용자 ID)User ID는 웹사이트나 앱에서 사용자가 로그인할 때 할당되는 고유 식별자입니다. 예를 들어, 한 사용자가 데스크탑과 모바일 기기에서 동일한 계정으로 로그인하면, 이 두 활동은 동일한 User ID로 연결되어 사용자의 전체 행동을 추적할 수 있습니다. 이를 통해 여러 기기에서의 사용자 활동을 통합하여 분석할 수 있습니다. 다른 기기나 브라우저에서 접속해도 User ID가 있다면 동일 유저라고 인식할 수 있습니다. 2. Google Signals(구글 신호 데이터) Google Signals는 사용자가 Google 계정에 로그인하고 광고 개인 최적화를 활성화한 경우, 해당 사용자의 사이트 및 앱 세션 데이터를 수집합니다. 예를 들어, 사용자가 Chrome 브라우저에서 Google 계정으로 로그인한 상태로 웹사이트를 방문하면, Google Signals를 통해 해당 사용자의 교차 기기 활동을 추적할 수 있습니다. 이를 통해 리마케팅 및 교차 기기 보고서 작성이 가능해집니다.다만, 모든 기기에 동일한 Google ID로 로그인되어 있어야 하며, 사용자가 광고 개인 최적화를 비활성화한 경우에는 데이터를 사용할 수 없습니다. 3. Device ID(쿠키 ID) 웹사이트의 경우, 클라이언트 ID(Client ID)는 사용자가 사이트에 처음 방문할 때 생성되어 쿠키에 저장됩니다. 이 식별자는 2년간 유지되며, 동일한 기기와 브라우저를 사용하는 한 동일한 사용자로 인식됩니다. 하지만, 다른 기기나 브라우저를 사용할 경우 새로운 클라이언트 ID가 생성되어 동일한 사용자가 여러 명으로 집계될 수 있습니다. 4. Modeling(모델링) 모델링은 쿠키나 사용자 ID와 같은 식별자를 충분히 이용할 수 없을 때, 구글 머신러닝 알고리즘을 활용하여 사용자 활동을 예측하고 추정 데이터를 생성하는 방식입니다. 예를 들어, 사용자가 쿠키를 차단하거나 삭제한 경우에도 모델링을 통해 해당 사용자의 행동을 추정하여 보고서에 포함시킬 수 있습니다. GA4가 사용자를 식별하는 예시를 더 세부적으로 말씀드리겠습니다. 만약, USER ID가 없는 홍길동이라는 사람이 있다면 이 사람은 1명이지만 각기 다른 브라우저와 기기로 사이트에 접속할 시 GA4는 홍길동이라는 사람을 4명의 유저로 인식합니다. USER ID가 존재할 시에는 다른 브라우저, 기기에 대해서도 동일 사용자로 인식할 수 있기에 아래의 경우에 대해서는 홍길동이라는 사람에 대해 2명의 유저로 인식합니다.
GTM Custom HTML 이용하여 Clarity Tool 설치하는 방법 1. Microsoft Clarity 접속하여 계정을 만든 후 "+새 프로젝트" 생성 2. "수동으로 설치" 탭의 추적코드 복사 3. GTM 접속하여 새 태그 생성 - 태그 유형 Custom HTML (맞춤 HTML) 선택 4. 2번에서 복사한 추적코드를 태그 HTML 입력란에 그대로 붙여넣기 5. 트리거 설정은 "All Pages (모든 페이지 조회)" 로 설정 단, 필요에 따라 특정 페이지에서만 작동되도록 page path 필터 조건 활용하여 트리거 적용 6. 태그 저장한 후 "제출" 클릭 7. GTM 미리보기를 실행하여 Clarity 태그가 정상적으로 동작하는지 체크 * Clarity 대시보드에 데이터 수집되기까지 최대 1시간 소요됨
안녕하세요. 오늘은 앱 태깅 과정에서 웹 사이트에 GTM 스니펫과 Javascript_handler.js의 삽입 순서를 알아보도록 하겠습니다. 이를 파악하려면 먼저 구글 태그 매니저에서 사용하는 탬플릿의 코드와 Javascript_handler.js와의 관계를 알아야 합니다. 앱을 태깅하는 방법은 여러가지가 있으나, pluszero에서는 GTM 샌드박스 형태의 자바스크립트 코드로 만들어진 자체 템플릿을 사용하여 진행합니다. GA4 for javascript interface라는 이름을 가진 템플릿을 사용하여 태그를 제작하고, 해당 태그가 발동하면 템플릿의 코드가 실행되서 웹 사이트에 삽입된 javascript_handler.js 코드를 통해 앱 프로젝트의 네이티브 영역에 삽입된 AnalyticsWebInterface, controller function 코드를 작동시키고 최종적으로 GA4에 데이터가 전송됩니다. 그렇다면 웹 사이트에 javascript_handler를 삽입할때, 어느 위치에 삽입하여야 할까요? 웹 사이트에서 GTM을 사용할 수 있게 해주는 GTM 스니펫 보다 먼저 삽입되어야 할까요, 나중에 삽입되어야 할까요? 결론 부터 말씀드리자면, javascript_handler는 GTM 스니펫보다 먼저 삽입하는 것이 안전합니다. 이유는 위에서 설명한 GA4 for javascript interface 템플릿의 코드 내용에 있습니다. 사진은 GA4 for javascript interface 템플릿 코드의 일부 입니다. GTM 샌드박스형 javascript에서 제공하는 copyFromWindow라는 메소드를 사용하여, 웹 사이트에 삽입 되어져 window 함수로 미리 등록이 되어 있는 상태인 javascript_handler 코드의 메소드를 복사하여 해당 코드에서 사용하고 있습니다. 따라서 GA4 for javascript interface 템플릿 코드가 실행이 되기전, 즉 이벤트 태그가 발동이 되기 전에 javascript_handler의 웹 사이트 삽입이 보장 되어야만 하는것입니다. 실제로 사진과 같이 코드에 setTimeout() 등과 같은 메소드를 사용하여 javascript_handler의 삽입을 늦춰 보면, 이벤트 수집이 제대로 되지 않는 것을 확인 할 수 있습니다. (해당 상황은 실 상황에서 다른 발생 가능한 이슈로 인해 javascript_handler의 삽입이 늦어지는 경우라고 볼 수 있습니다.) 물론 javascript_handler가 GTM 스니펫보다 먼저 삽입이 되었으나 모종의 이유로 삽입이 지연된다면 똑같이 이벤트 수집이 제대로 되지 않을 수 있습니다. 따라서 다른 발생 가능한 이슈를 잘 고려하여 javascript_handler를 삽입해야 하며, GTM 스니펫보다 명시적으로 먼저 삽입하는 것으로 기본적인 절차를 수행 할 수 있습니다. 또한 javascript_handler를 웹 사이트에 직접 삽입하지 않고, GTM의 맞춤 태그를 사용하여 삽입하는 방법이 있습니다. 이 경우에도 javascript_handler의 발동 타이밍을 고려해주어야 합니다. javascript 코드를 사용하기 위해서 [맞춤 HTML] 태그 유형으로 태그를 제작후 javascript_handler의 내용을 삽입 한 뒤, 트리거를 설정 가능한 가장 빠른 트리거로 설정해줍니다. (예시에서는 초기화 트리거 사용) 또한 다른 어떤 이벤트 태그 보다 발동을 우선시 하기 위해서 [태그 실행 우선순위] 설정을 높혀줍니다. 해당 설정은 숫자가 높을 수록 태그 발동의 우선순위를 높혀주는 설정입니다. 이와 같은 설정으로 javascript_handler를 담은 해당 태그의 발동을 모든 다른 이벤트 태그들의 발동보다 먼저 되도록 보장해주어야 합니다. 감사합니다.
안녕하세요, Hybrid App에서 사용자 이용행태 데이터 수집을 위해 태깅을 하는 방법에 대해 작성해보도록 하겠습니다. 1. Hybrid vs Native 먼저 Hybrid App이란 무엇인지 알아보겠습니다. Native: 앱 OS 환경에서 제공하는 언어를 기반으로 개발되어 해당 모바일 운영체제에서만 작동되는 앱 Hybrid: 앱의 프로젝트 내에서 웹 뷰(WebView)를 사용해서 URL을 통해 웹 페이지를 띄우는 부분과 Native 영역이 둘다 구현된 앱 2. Hybrid App에서 GA4 데이터 전송 하이브리드 앱에서 웹 뷰의 웹 영역에서 이벤트가 발생했을 때, App instance ID와 같은 앱의 정보를 GA4에 같이 전달하기 위해서 웹 → 앱 → GA4의 순서로 데이터를 전송하여야 합니다. 이러한 형태로 구축하기 위해서 GTM에서 GA4 for javascript interface 템플릿, 웹 영역에서 javascript_handler.js, 앱 네이티브 영역에서 AnalyticsWebInterface.kt / controller function이 삽입 되어져야 합니다. 구축 절차는 아래와 같습니다. GA4 데이터 스트림 생성 및 Android / iOS 앱 등록 앱 프로젝트에 Google Service 파일 삽입 앱 프로젝트에 Firebase SDK 설치 앱 프로젝트에 Android / iOS 각 운영체제에 맞는 인터페이스 혹은 컨트롤러 펑션 코드 삽입 및 공통 javascript handler 삽입 OS 별로 각 코드와 설치 요소들에 대한 자세한 설치 및 삽입 과정은 다음 글에서 자세히 작성하도록 하겠습니다. 3. 각 코드간 작용 원리 해당 그림과 같은 세팅이 완료된 상황을 가정하고 설명 드리겠습니다. GTM을 이용한 앱 태깅 방법은 여러가지가 있겠으나, pluszero에서는 자체 템플릿을 사용하여 해당 과정을 진행하고 있습니다. GA4 for javscriptinterface라는 이름의 이 탬플릿은 샌드박스형 javascript 코드로 구현되어져 있습니다. 코드는 javascript_handler코드의 함수를 불러와서 이벤트 이름, 유저 프로퍼티, 파라미터를 전송하는 역할을 수행합니다. javascript_handler의 코드에서는 앱 프로젝트에 삽입한 AnalyticsWebInterface의 메소드를 호출하여 실행합니다. 최종적으로 AnalyticsWebInterface에서 logEvent() 메소드를 통해 GA4에 데이터를 전송하게 됩니다. 3가지 코드의 상호작용을 그림으로 보면 아래와 같습니다.
자바스크립트에도 원본 객체와 같은 참조값을 공유하는 얕은 복사와 원본 객체와 같은 참조값을 공유하지않는 깊은 복사가 존재합니다. 먼저 자바스크립트 변수 자료형에는 원시형(Primitive value 또는 Primitive data type) string number bigint boolean undefined symbol null 참조형(Reference value 또는 Reference data type)이 존재합니다. array object function data 얕은 복사는 복사한 변수들끼리 서로를 참조하고 있기 때문에, 하나의 값을 변경하면 전부 다 같이 변경됩니다. 깊은 복사는 복사한 변수들끼리 서로를 참조하지 않기 때문에, 하나의 값을 변경해도 그 변수만 값이 변경됩니다. 참조형 변수를 복사할 때 무심코 얕은 복사를 한 후, 변수 안의 값을 변경하면,원본 변수 포함 모든 참조형변수의 값이 변경되는 원치 않는 상황이 발생할 수도 있습니다. 필요한 상황에 맞춰 복사 방법을 사용하여 원치않는 상황을 피할 수 있도록 합니다. 제일 중요한 건 복사 하고자 하는 값이 참조형이냐 아니냐에 따라 얕은 복사, 깊은 복사가 결정됩니다. let a1 = [0, 1, 2];let a2 = a1;let a3 = [...a1]; 위와 같은 경우 a2는 얕은 복사가 되어 a2의 원소값을 변경하면 a1도 변경됩니다.하지만 a3는 전개 연산자(...)를 통해 원시 자료형의 숫자(Number)들이 전개되어 복사 했기 때문에 깊은 복사가 이루어져, a3의 원소값을 변경해도 a1은 변하지 않습니다. let a1 = [[0], [1], [2]];let a2 = a1;let a3 = [...a1]; 위와 같은 경우 a2는 얕은 복사가 되어 a2의 원소값을 변경하면 a1도 변경됩니다.a3는 전개 연산자(...)를 통해 참조 자료형인 배열(Array)들이 전개되어 복사 했기 때문에 얕은 복사가 이루어져, a3의 원소값을 변경하면 a1도 변합니다. 객체 복사 함수들(concat, slice, assign 등)을 사용하여도 얕은 복사가 이루어집니다. 얕은 복사를 피해 무조건 깊은 복사를 하는 방법을 알아봅시다. 1. 함수 만들기 위에서 얕은 복사와 깊은 복사의 차이를 알게 되었습니다.typeof 를 이용하여 배열 또는 객체 변수를 인자로 받았을 때, 각 원소 값들의 자료형을 typeof로 확인하여 참조형인 경우에는 안쪽에 원시값이 나올때까지 접근하여 복사하는 방식의 함수를 만들어 사용할 수 있습니다.이 방법은 비추천합니다. 2. 외부 라이브러리 사용하기 lodash, fast-copy 등 여러가지 깊은 복사 라이브러리를 사용하는 방식입니다.외부 라이브러리를 사용할 수 있는 환경이시라면 이 방법을 추천합니다. 3. JSON.parse(JSON.stringify()) 참조형 변수의 값을 통째로 문자열로 변경한 후 다시 파싱을 통하여 참조형 변수로 만들기 때문에 깊은 복사가 됩니다.변수의 원소값들이 단순히 원시자료형이라면 문제가 없지만, 만일 원소 값이 참조형 중 function, data 같은 특수한 경우라면 해당 방법을 사용했을 때 오류가 발생할 수 있습니다.간단한 변수를 복사하는데 사용한다면 추천하지만, 일반적으로 추천하지 않는 방법입니다. 4. structuredClone() 원본 변수를 인자로 넣고 반환값으로 복사할 변수에 대입하면 되는 기본 제공 함수입니다.라이브러를 따로 설치하지 않아도 되고, 3번 방식의 단점도 해결되는 아주 좋은 깊은 복사 방법입니다.브라우저의 버전(22년 이후 버전)만 맞는다면 해당 기능을 가장 추천합니다.(참조 url) 자바스크립트의 변수 자료형(원시형, 참조형)과 해당 변수들을 복사했을 때 발생하는 얕은 복사와 깊은 복사에 대해 정리가 잘 된다면 변수 관리할 때 불편함이 없을 것 입니다.
안녕하세요. 1편에서 Firebase SDK 인스턴스의 setDefaultEventParameters() 메소드를 사용하여 앱의 네이티브 영역 태깅시에 모든 이벤트에 동일한 파라미터를 삽입하는 법에 대해 설명했습니다. 앱의 경우 안드로이드는 Activity, iOS는 View 단위로 앱이 실행되지만, 화면이 넘어갈때마다 해당 메소드로 삽입한 파라미터가 유지되는 이유는 Firebase SDK 인스턴스가 싱글톤 패턴의 인스턴스이기 때문이라고 설명드렸습니다. 이번에는 싱글톤 패턴은 무엇이고, Firebase SDK 인스턴스가 싱글톤임을 검증하는 방법까지 설명해보려고 합니다. 싱글톤(Singletion) 패턴 싱글톤 패턴이란 객체 지향 프로그래밍에서 클래스의 인스턴스를 단 하나만 생성하고, 어디서든 그 인스턴스에 접근할 수 있게 하는 디자인 패턴을 말합니다. 일반적인 클래스는 클래스의 생성자로 인스턴스를 생성하고, 그 인스턴스를 통해서 해당 클래스에 정의된 프로퍼티와 메소드를 사용 가능합니다. 싱글톤 패턴은 이러한 방식으로 인스턴스를 단 하나만 생성하도록 하는 디자인 패턴입니다. 해당 코드에서 singletonObject는 단일 객체를 저장하기 위한 정적 참조 변수이고, static 변수이기 때문에 클래스의 모든 인스턴스가 공유하게 되는데 이때 인스턴스가 단 한개이므로 이 변수를 통해 해당 인스턴스에 접근 혹은 사용 가능하게 되는것입니다. 따라서 Firebase SDK의 클래스가 싱글톤 클래스이므로, 해당 클래스의 인스턴스를 통해 setDefaultEventParameters() 함수를 사용하면 단일 인스턴스에 접근하게 되며, 해당 인스턴스는 전역변수이기 때문에 앱의 어디 부분에서든 사용이 가능하며 내용이 변하지 않는것입니다. Firebase SDK의 인스턴스 싱글턴 검증 그렇다면 Firebase SDK의 인스턴스가 싱글턴 인스턴스인것은 어떻게 알 수 있을까요? 바로 메모리의 주소값을 통해 알수 있습니다. 코드에서 생성되는 모든 변수와 인스턴스는 일시적이든 영구적이든 메모리에 저장되고, 메모리의 주소값을 가지게 됩니다. 그런데 싱글톤 클래스는 인스턴스를 하나만 만들기 때문에, 인스턴스를 여러개 생성해도 모두 하나의 인스턴스를 참조하게 됩니다. 따라서 따라서 변수를 여러개 만들고 그 변수들의 주소를 확인해서 모두 주소가 같다면, 해당 인스턴스는 싱글톤 클래스의 인스턴스인것을 검증할 수 있습니다. FirebaseAnalytics 클래스로 만든 3개의 인스턴스가 모두 같은 주소 값을 가지고 있으므로, 이 클래스는 싱글톤 클래스임을 알 수 있습니다. 감사합니다.
[빅쿼리] BigQuery커뮤니티입니다. BigQuery관련 정보를 공유 해 주세요! 안녕하세요. 이번 글에서는 지난번에 이어서 session_traffic_source_last_click에 어떠한 값들이 있는지 확인을 해볼건데요. session_traffic_source_last_click에는 크게 2가지의 지표가 있다고 보시면됩니다. manual_campaign과 google_ads_campaign 이죠. google_ads_campaign에 대해서 먼저 설명하자면 지난 번 글에서 설명드린 것처럼 구글애즈에서 오토태깅한 값에 대해서 확인할 수 있는 컬럼 값들이에요. 한번 어떤 값들이 있는지 확인해볼까요? 위 사진에서 보이는 것처럼 customer_id와 account_name 그리고 campaign, ad_group에 관한 전반적인 값들을 확인할 수 있죠. 조금 더 활용을 하게된다면 여기서 추출한 데이터를 통해서 Google Ads API를 통해 구글애즈에 관한 더 자세한 데이터까지 확인을 할 수 있겠죠? 하지만 이번 시리즈에서는 GA4에 관한 글이므로 Google Ads에 대해서는 크게 다루지 않고 이정도까지만 말씀드리고 넘어가도록 하겠습니다. 여기서 저희가 확인할 값은 campaign_name 인데요. 이 값은 이전 글에서 봤던 "Session campaign" , 즉 utm에 입력한 campaign값이 아닌 내가 실제로 구글애즈에서 실행했던 camapign 값을 확인할 수 있습니다. 광고성과를 확인하고 싶을 때 좋겠죠? 이번 글에서는 session_traffic_source_last_click의 google_ads_camapign에 대해서 확인해봤습니다. 다음 글에서는 manual_campaign에 대해서 확인해보도록 하겠습니다.
[빅쿼리] BigQuery커뮤니티입니다. BigQuery관련 정보를 공유 해 주세요! Google Analytics4는 BigQuery에 2024년 7월17일부터 빅쿼리에 새로운 컬럼을 추가했습니다. session_traffic_source_last_click 인데요. 이번 글에서는 해당 값을 사용하게되면 어떤 부분에서 좋은 변화가 있었는지 알아보려고합니다. 이 업데이트로 인해 기존에는 세션 범위의 트래픽 소스 정보를 기존보다 더 쉽고 정확하게 추출 할 수 있게되었습니다. 해당 값들을 보기 전에 ga4에 있는 세션범위 트래픽정보부터 확인해보겠습니다. GA4 탐색 분석에 가서 확인을 해보면 아래처럼 "manual" 이라는 것이 포함된 트래픽 디멘션과 포함되지 않은 디멘션, 2개의 종류로 구분됩니다. 해당 디멘션을 쉽게 설명하자면 manual이 포함된 디멘션은 사용자가 유입될 때 들어온 페이지의 url에 있는 utm값들을 확인할 수 있는 값 이고, manual이 포함되지 않은 디멘션은 utm이 붙어 있어도 광고플랫폼에서 오토태깅된 값들을 우선적으로 확인할 수 있습니다. 예를 들어 utm에 있는 소스 / 매체 값은 "youtube / display" 이였지만, 실제로 구글애즈에서 오토태깅된 소스 / 매체 값은 "google / cpc" 일 경우 위 사진처럼 보일 수 있는 것이죠. 이것에 대해서 설명을 드리는 이유는 기존 빅쿼리에서는 구글애즈에서 오토태깅된 캠페인이름 같은 값을 빅쿼리에서는 확인할 수 없고 오로지 utm에서 수집된 값만 확인할 수 있었는데요. 이제는 session_traffic_source_last_click에 구글애즈에 관한 값들이 추가가 되면서 ga4와 동일하게 값을 확인할 수 있습니다. 이번 글에서는 session_traffic_source_last_click을 사용하게되면서 좋아진 부분들에 대해 알아보았는데, 다음 글에서는 session_traffic_source_last_click에는 무슨 값들이 있는지 살펴보도록 하겠습니다. 감사합니다.
GA4에서는 UA와 달리 360버전이 아니더라도 BigQuery를 연동할 수 있습니다. 또한 GA4만으로 Looker Studio등을 사용해 대시보드를 만들었을 때 여러 제한 사항이 있습니다. 그러다보니 BigQuery의 사용량이 자연스럽게 많아진 상태인데요 이 때 가장 큰 문제가 GA4 BigQuery와 GA4 콘솔간의 세션 수 차이입니다. UA때는 GA와 BigQuery의 세션 숫자가 정확하게 맞아 떨어졌던 반면 GA4에서는 세션 수가 무조건 차이가 발생하는 상태인데요 그 이유에 대해 알아보겠습니다. 결론부터 말하자면 GA4 BigQuery가 더 정확한 데이터입니다. GA4의 세션 수를 계산할 때 정확한 세션수를 계산하기 위한 충분한 시간과 리소스가 없기 때문에 더 효율적인 계산 방법(HyperLogLog++ 알고리즘 등)을 적용하여 세션 수를 계산합니다. 하지만 GA4 BigQuery는 테이블이 만들어지기까지 충분한 시간과 리소스가 있기 때문에 더 정확한 값이 집계됩니다. 자세한 내용은 다음 링크를 확인해주세요 -> 링크
안녕하세요, 앱을 태깅할때 모든 이벤트에 동일한 파라미터를 삽입하는 방법에 대해 스터디한 내용을 작성해보려 합니다. 우선 웹 GTM에서는 구성 태그를 통하여 이와 같은 작업을 간편하게 수행할 수 있습니다. 구성 태그의 [공유된 이벤트 설정] 항목의 [이벤트 설정 변수]에 [Google 태그: 이벤트 설정] 유형의 변수를 넣으면, 모든 이벤트에 해당 파라미터들이 삽입되게 됩니다. 또한 이러한 구성태그를 사용하지 않는 앱 하이브리드 웹뷰의 GTM에서는 자바스크립트 탬플릿을 사용하게 되는데, 해당 탬플릿의 변수를 사용하여 똑같은 작업을 수행할 수 있습니다. 앱의 하이브리드 웹뷰 영역이 아닌 네이티브 영역에서는 구조적으로 GTM을 사용하지 않고, Firebase SDK 인스턴스의 메소드인 logEvent()를 사용하여 앱 프로젝트(혹은 다른 개발 환경)내에서 코딩을 통해 태깅하게 됩니다. 이때에는 Firebase SDK 인스턴스가 제공하는 setDefaultEventParameters() 메소드를 사용하여 모든 이벤트에 동일한 파라미터를 삽입할 수 있습니다. (Android Studio 환경의 Kotlin 언어입니다.) FirebaseAnalytics 객체는 Firebase SDK가 제공하는 싱글톤 변수를 import해서 사용하는 것이고, 싱글톤 객체는 애플리케이션이 실행되는 동안 전역 상태에서 접근이 가능하므로 setDefaultEventParameters 함수를 한번만 사용하더라도 앱의 실행 내내 이벤트에 파라미터가 추가되는것을 확인 할 수 있습니다. 2편에서 싱글톤 패턴 및 FirebaseAnalytics 객체가 싱글톤임을 검증하는 내용을 작성하도록 하겠습니다. 혼자서 스터디 한 내용이라 틀린 부분이 있을수도 있습니다. 댓글로 알려주시면 감사하겠습니다! 감사합니다 :)
사용자는 다양한 기기와 브라우저를 교차 사용하며 웹사이트 방문하는 경우가 많습니다. 예를 들어 출근 길에 제품 검색을 통해 앱에 방문하고, 점심시간 회사에서 컴퓨터를 사용하여 제품에 대해 자세히 조사하며, 퇴근 후 집에서 핸드폰으로 구매합니다. 이러한 각 활동은 별도의 세션으로 구분되지만, GA4에서는 사용자 여정을 통합하여 하나의 사용자로 측정할 수 있습니다. GA4가 사용자를 식별하는 방법은 크게 4가지로 나뉩니다. 1. 유저 ID 유저 ID는 특정 사용자를 식별할 수 있는 고유 식별자입니다. 유저 ID를 통해 여러 기기나 브라우저에서 활동한 사용자를 동일인임을 식별할 수 있고, 이러한 활동들을 통합하여 하나의 사용자 여정으로 확인할 수 있도록 해줍니다. 쉽게 말해 같은 유저 ID로 로그인된 상태에서 아이폰-앱, 웹-크롬, 아이폰-사파리를 사용해 방문하였다면, 유저 ID를 통해 한 명의 사용자 행동으로 식별할 수 있다는 것입니다. 이때 유저 ID는 개인정보보호를 위해 개인을 식별할 수 없도록 암호화된 ID를 활용합니다. 2. 구글 신호 데이터 구글 신호 데이터는 구글이 직접 수집하는 사용자의 활동 데이터입니다. 광고 개인 최적화에 동의하고 구글 ID로 로그인된 상태에서 여러 기기나 브라우저로 크롬, 유튜브 같은 구글 서비스를 사용할 때 검색 내용, 방문한 웹사이트, 시청한 동영상 등의 활동 정보를 구글 계정에 저장하여 사용자를 식별합니다. 만약 핸드폰, 태블릿, 데스크톱 모두 같은 구글 ID로 로그인 되어 활동하였다면, GA4에서는 1명의 사용자로 인식합니다. 구글 신호 데이터를 통해 인구통계, 관심분야에 대한 데이터를 얻을 수 있지만, 익명으로 수집되기 때문에 특정 사용자가 어떤 식별자를 가졌는지 확인이 불가능하며, iOS 14 이상 버전의 기기는 지원하지 않습니다. 3. 기기 ID(=CID) 기기 ID는 브라우저/기기 별로 부여되는 쿠키값입니다. 웹의 경우 클라이언트 ID, 앱의 경우 앱 인스턴스 ID로 구분됩니다. 일반적으로 GA4는 클라이언트 ID를 기반으로 사용자를 식별합니다. 웹사이트에 GA 코드 삽입 후 처음 방문했을 때 사용자에게 GA 쿠키가 생성되고, 쿠키에는 임의의 클라이언트 ID가 할당되는데요. CID 확인 방법 CID를 확인하는 방법은 개발자도구 – Application 탭 – Coockies – ‘_ga’ 값 중, CID는 1175402462 입니다. 1702863965는 세션을 식별하기 위한 타임스탬프 값이라고 보시면 됩니다. 쿠키는 기기와 브라우저별로 생성되기 때문에 클라이언트 ID 기준으로 사용자를 식별할 때 같은 기기나 브라우저로 접속한다면 GA4는 1명의 사용자로 인식하고, 다른 기기나 브라우저로 접속한다면 다른 유저로 각각 카운트합니다. 4. 모델링 위의 3가지의 식별자로 유저를 구분할 수 없는 경우, GA에서 자체 머신러닝을 거친 후 사용자를 식별합니다.
GA4 이벤트를 태깅하기 위해서는 이벤트가 자동으로 수집되는지, 아니면 직접 수집을 해야하는지를 이벤트 유형을 정확히 파악할 필요가 있습니다. 이벤트는 크게 4가지가 있는데, 그 중 향상된 측정 이벤트에 대해 알아보겠습니다. GA의 향상된 측정 이벤트는 별도의 개발 작업 없이도 웹사이트나 앱에서 발생하는 일부 이벤트를 자동으로 추적할 수 있도록 도와줍니다. 향상된 측정 기능을 통해 자동으로 추적할 수 있는 이벤트들은 아래와 같습니다. 1. 페이지 조회(page_view) : 페이지가 로드되거나 활성 사이트에서 브라우저 기록 상태가 바뀔 때. 2. 스크롤(scroll) : 각 페이지에서 처음 하단에 도달할 때(세로 기준 페이지의 90% 표시될 때) 3. 외부 연결 링크 클릭(click) : 현재 도메인에서 외부로 나가는 링크를 클릭할 때 4. 사이트 검색(view_search_results) : 검색결과 페이지가 표시될 때마다(URL 쿼리 매개변수가 있을 경우 검색결과 페이지가 표시된 것으로 간주) 5. 동영상 참여(video_start, video_progress, video_complete) : 삽입된 유튜브 동영상에서 JS API 지원이 사용이 설정된 경우 6. 파일 다운로드(file_download) : 문서, 텍스트, PPT, 비디오, 오디오 등의 파일로 연결되는 링크를 클릭할 때 7. 양식 상호작용(form_start, form_submit) : 양식(폼)을 처음 상호작용하고, 해당 양식을 제출할 때 GA4 향상된 측정 향상된 측정 이벤트 유형 향상된 측정 설정은 데이터 스트림에서 가능하고, 페이지 조회를 제외한 6개의 이벤트를 각각 자동으로 수집할 것인지 말 것인지를 세팅할 수 있습니다. 이번 글에서는 스크롤 이벤트를 향상된 측정 이벤트가 아닌 GTM으로 따로 태깅을 해보겠습니다. 일반적으로 향상된 측정 기능을 활용하여 스크롤 이벤트를 자동 수집할 경우 다른 이벤트와 다르게 수집되는 매개변수가 없고, 스크롤 뎁스가 90%일 때만 이벤트가 발생되기 때문에, 25%, 50%, 75% 같은 스크롤 뎁스 매개변수와 함께 추적하기 위해서는 GTM을 사용하여 맞춤 이벤트(Custom Event)를 생성해야 합니다. 스크롤 이벤트를 GTM에서 설정하는 과정은 다음과 같습니다. Step 1. GA4 데이터 스트림 내 향상된 측정에서 스크롤 이벤트 항목 비활성화하여 스크롤 이벤트가 자동 수집되지 않도록 해야 합니다. Step 2. GTM에서 ‘스크롤 깊이 트리거’를 생성합니다. 스크롤 이벤트를 언제 발생시킬 것인지 트리거 유형 중 스크롤 깊이를 선택한 후, 비율에 어느 정도까지 스크롤했는지 추적하고자 하는 값을 입력하시면 됩니다. 25%, 50%, 75%, 95%인 경우에 스크롤 이벤트가 발생하도록 트리거 설정을 하였습니다. Step 3. 스크롤 깊이 트리거를 활용하여 ‘스크롤 이벤트 태그’를 생성합니다. 참고로 스크롤 관련 변수는 별도로 생성할 필요 없이 GTM에서 기본으로 제공합니다. 1. Scroll Depth Threshlod : 사용자가 페이지를 스크롤했을 때, 스크롤 깊이를 기준으로 정의된 임계값입니다.일반적으로 25%, 50%, 75%, 100% 같은 값을 입력할 수 있고, 50이라는 의미는 사용자가 페이지의 50%를 스크롤했다는 것을 나타냅니다. 2. Scroll Depth Units : 스크롤 깊이를 측정하는 단위입니다. 기본적으로 percent(%)로 설정되며, 픽셀 단위로도 표시할 수 있습니다. 3. Scroll Direction : 사용자가 페이지를 스크롤할 때의 방향입니다. 일반적으로는 수직 스크롤이 많이 사용되지만, 경우에 따라 수평 스크롤도 측정할 수 있습니다. 스크롤 태그 내 이벤트 매개변수에서는 percent_scrolled이라는 이름으로 Scroll Depth Threshlod 값을 수집하겠습니다. 따라서 사용자가 페이지에서 세로 스크롤 시, 어디까지 스크롤했는지 그 값을 scroll 이벤트를 통해 확인할 수 있습니다. 이렇게 스크롤 이벤트 태깅을 완료한 뒤, GTM 프리뷰를 통해 스크롤 이벤트가 잘 수집되고 있는지 테스트 할 수 있습니다. 스크롤 이벤트와 유사하게 사이트 검색, 동영상 참여, 파일 다운로드, 양식 상호작용 등의 이벤트도 GTM에서 제공하는 변수를 잘 활용하여 맞춤 수집할 수 있으니 업무에 참고하시면 좋을 것 같습니다.
안녕하세요 :) 앞 글에서 빅쿼리에 있는 독특한 문법이라 할 수 있는 Array / Struct / Unnest 에 대해서 알아보았었는데요, <이전글> 1. 빅쿼리의 STUCT 이란? http://googleanalytics360.com/board/view.php?bo_table=googleanalytics&wr_id=95&page= 2. 빅쿼리의 ARRAY & UNNEST이란? http://googleanalytics360.com/board/view.php?bo_table=googleanalytics&wr_id=94&page= 이번 글에서는 해당 문법들을 실제 GA4 데이터에서 어떤식으로 활용하는지 알아보겠습니다. <목차> 1. Record 의 데이터 조회하기 2. Record + Repeated 데이터 조회하기 3. Record + Repeated 데이터 안에 또 다른 Record 가 있는 경우의 데이터 조회하기 [빅쿼리의 데이터 유형] 우선 GA4 데이터로 가기 전에, 빅쿼리의 데이터 유형들을 봐볼게요. 도움말에서 확인할 수있는 빅쿼리의 스키마 및 데이터 유형은 다음과 같습니다. 뭔가 알아야하는 항목들이 여러개 있어보이지만 정말 자주 쓰이는 것들은 아마 STRING (문자형) , INT64 (정수형) , DATE 날짜 정도 일 것 같아요. 여기서 추가로 저희는 STRUCT (RECORD) 과 ARRAY (REPEATED) 도 알아야겠죠? 아래 이미지는 빅쿼리에 GA4를 연동했을 때 수집되는 데이터들의 스키마입니다. 우측의 유형과 모드에 집중해볼게요. RECORD 면 Struct REPEATED 면 Array 이 두 가지는 꼭 기억해주세요! [ROCORD 데이터를 가져오는 방법] 한번 저희가 device 라는 정보를 빅쿼리를 통해서 조회해보겠습니다. SQL 에서 정보를 가져올 때 가장 기본적인게 SELECT '항목' FROM '데이터 소스' 형식이죠, device 를 아래와 같이 select 하게 되면 어떻게 될까요? SELECT device FROM `데이터 소스' 분명 select 된 것은 device 하나인데 갑자기 열이 엄청 많이 조회되는데요, 이처럼 여러 열이 출력된 이유는 유형이 'Record' 인 항목이 Struct 이기 때문이에요. (struct 은 테이블 안에 또 다른 테이블, 열의 형태로 존재하는 것) 이렇게 device 왼쪽의 세모를 눌러서 펼쳐보게되면 숨겨있던 이름들이 나오게 됩니다. 만약 'device' struct 안에 있는 'category' 정보와 'operating_system' 만 가져오고 싶다면 어떻게 할 수 있을까요? 바로 '.' 을 이용하는 것 입니다. 이렇게 device.category '.' 을 활용했더니 정상적으로 원하는 컬럼을 select 해올 수 있죠. SELECT device.category, device.operating_system FROM `데이터소스' [Record 와 Repeated 가 같이 있는 경우] 위에서는 Record 만 있는 경우였는데, 실제로 ga4 에서 더 많이 쓰는 값들은 Record 와 Repeated 가 같이 있어요. items 로 한번 같이 알아보겠습니다. 우선 items 라는 값들은 어떤 구조일지 생각해볼게요. 한 회사에서 실제로 어떤 상품들이 팔리고 있는지 확인하려면 상품의 이름 ,상품의 가격 , 상품의 옵션 등 각 상품에 대한 정보가 필요할것이고, 사람들은 1개만 구매하기보다 여러 상품을 구매하기 때문에 그 여러 상품들에 대해서 수집을 할 수있어야겠죠? 엑셀로 표현해보면 살짝 이런 느낌이에요. 그럼 이전 글에서 설명할 때, ARRAY 는 엑셀에서 '병합셀' 과 같다고 표현했는데 지금 딱 그 형식인게 보이실까요? 스크립트로 표현하면 이렇게 ITEMS 라는 ARRAY 안에 아이템 정보들을 여러개 넣을 수 있게 됩니다. ITEMS 가 REPEATED 였으니 ARRAY 는 이렇게 쓰인걸 알았고, RECORD 도 있었는데... 그럼 ITEMS 에서 STRUCT 은 어디에 쓰였을까요? 아까 위에서 device 와 동일하게 , 아래와 같이 items 를 select 해보면 SELECT items FROM `데이터 소스' 아까 DEVICE 처럼 너무 많은 열들이 SELECT 되었죠, 이를 통해 ITEMS 도 STRUCT 구조로 이루어져 있다는 것도 확인할 수 있습니다. 그럼 과연 ITEMS 도 아까 DEVICE 예시처럼 '.' 을 사용하면 원하는 열만 가져올 수 있을까요? SELECT items.item_name, items.price FROM `데이터 소스' '.' 을 동일하게 썼는데 위의 쿼리는 실행되지 않고, 다음과 같은 오류가 확인됩니다. Cannot access field item_name on a value with type ARRAY
이번 글에서는 GA4를 사용하다보면 마주치는 데이터 샘플링, 기준점(Threshold) 적용, 카디널리티에 대해 알아보겠습니다. 1. 데이터 샘플링(Data Sampling) 탐색 보고서에서 데이터를 분석하면 아래와 같은 메시지를 볼 수 있습니다. ‘이 보고서는 이용 가능한 데이터의 48.3%를 기반으로 합니다.’ 샘플링이라는 단어에서 알 수 있듯이 전체 중 일부를 사용한다는 것을 유추해볼 수 있는데요. 데이터의 양이 매우 많을 때 탐색 보고서의 속도와 성능을 최적화하기 위해 전체 데이터의 일부만 사용하는 데이터 샘플링이 적용되었다는 것을 말해줍니다. GA4에서는 1,000만개의 이벤트 수를 기반으로 탐색 보고서에서 샘플링이 적용되어, 해당 할당량을 초과하는 경우 전체 데이터 대신 샘플 데이터를 사용하여 전체를 대표하는 보고서를 생성합니다. 데이터가 샘플링 될 때, 데이터 품질 아이콘을 통해 아래와 같은 옵션을 선택할 수 있습니다. - 세부 결과(More detailed results) : 샘플 크기를 최대한 크게 설정하여 전체 데이터를 가장 잘 보여주는 결과를 제공함 - 빠른 결과(Faster results) : 샘플링 크기를 작게 설정하여 결과를 빠르게 제공하는 데에 초점 기본적으로 GA에서는 빠른 결과(Faster results)를 적용되지만, 세부 결과(More detailed results)를 선택하면 더 많은 양의 데이터를 사용하여 조금 더 정확한 값을 확인하실 수 있습니다. 데이터 샘플링을 해결할 수 있는 방법은 다음과 같습니다. - 데이터 조회기간을 줄여서 데이터 모집단의 크기를 줄이기 - 향상된 측정 끄기 - 카디널리티가 높은 맞춤 측정기준 삭제 (3. 카디널리티 참고) 2. 기준점(Threshold) 적용 데이터 기준점은 보고서에서 사용자의 성별, 연령, 지역, 관심분야 등과 같이 특정 사용자를 유추하지 못하도록 특정 데이터를 제외시키는 것입니다. 이는 웹사이트에 방문한 사용자의 개인정보보호를 위해 생긴 기능으로, 기준점이 적용되면 일부 데이터를 확인할 수 없게 됩니다. 기준점 적용은 데이터 샘플링과는 반대로 데이터 양이 너무 적은 경우 발생합니다. 보고서에 인구통계 정보가 포함된 경우 전체 사용자 수가 충분하지 않으면 사용자를 구별할 수 있는 것을 막기 위해 특정 데이터가 제외되는 것입니다. 기준점이 적용되면 일종의 샘플링과 유사하게 정확하지 않은 데이터가 집계될 수 있습니다. 기준점 적용을 해결할 수 있는 방법은 다음과 같습니다. - (조회기간 내 사용자 혹은 이벤트 수가 적은 경우) 조회기간 늘려서 데이터 양 늘리기 - Google 신호 데이터 비활성화 >> Google 신호 데이터는 인구 통계 정보나 구글 애즈에서 잠재고객을 활용한 리마케팅을 할 때 필요한데, 해당 데이터가 필요하다면 활성화시키지 않는 것이 좋습니다. - 보고 ID를 ‘기기 기반’으로 설정 >> 기본적으로 보고 ID는 ‘혼합됨’으로 설정되어 있는데, 보고 ID를 ‘기기 기반’으로 변경하면 기기 ID를 기반으로 사용자를 식별하기 때문에 다른 기기로 사이트를 방문할 경우 다른 사용자로 식별하게 됩니다. (이로 인해 정확한 사용자 수를 측정하는 데 한계가 있는 옵션) 3. 카디널리티(Cardinarlity) 카디널리티는 데이터 측정기준이 가지는 고유한 값의 수를 의미합니다. GA4는 카디널리티가 높은 맞춤 측정기준을 추가하는 것을 권장하지 않는데요. 예를 들어, payment_type(결제 방식) 이라는 측정기준에 ‘N Pay’, ‘계좌이체’, ‘신용카드’, ‘무통장입금’ 4가지의 값이 있다면, 이 경우에 카디널리티는 4입니다. 이정도는 카디널리티가 낮다고 말할 수 있지만, user_id나 item_name과 같은 측정기준은 수만 개 이상의 값을 가지고 있을 수 있기 때문에 카디널리티가 높을 것으로 예상됩니다. 카디널리티가 높다고 말할 수 있는 기준은 측정기준의 고유한 값이 일일 500개를 초과하는 경우입니다. 카디널리티가 높으면 저장해야 할 값이 많기 때문에 속도나 성능 측면에서 부정적인 영향을 미칠 수 있습니다. 보고서의 행 개수가 많아지다보니 행 한도(500개 이상)에 도달하여 일부 데이터가 (other) 행에 분류되고, 카디널리티가 25,000개 이상이라면 데이터 샘플링이 발생하는 점 주의하시길 바랍니다. 단, 탐색 보고서에서는 축약 행이 발생하지 않으므로, GA4 기본 보고서에서 (other)라고 표시된 행이 있다면 탐색 보고서에서 데이터를 확인하시는 것을 권장드립니다. (other) 행이 생기는 예시 카디널리티를 해결할 수 있는 방법은 다음과 같습니다. - 카디널리티가 높은 맞춤 측정기준을 삭제하거나 자제 - user_id는 맞춤 측정기준 대신 User-ID 기능 사용 - 맞춤 측정기준 생성 전에 가능한 기존 측정기준 사용 지금까지 알아본 데이터 샘플링, 기준점 적용, 카디널리티 3가지를 잘 이해하여 데이터 분석을 정확하고 효율적으로 해보시길 바랍니다.
이번 글은 빅쿼리의 Struct 에 대해 정리해보도록 하겠습니다. https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#struct_type [빅쿼리의 Struct 이란?] Struct 은 빅쿼리 UI 상에서는 Record 라고 표현됩니다. 이렇게 유형이 'Record'인 항목들은 공통점이 하나 있는데요, 바로 쿼리 결과를 봤을 때, 열의 이름이 aaa.bbb 형식이란 점 입니다. 간단하게 보자면 struct 구조를 통해 전체 테이블 안에 있는 특정 열들이 한 묶음으로 구분될 수 있게 됩니다. [Struct 를 만드는 방법] Struct 을 만들 수 있는 방법은 여러가지가 있습니다. [1] 소괄호 SELECT ('육식동물','초식동물','잡식동물') animal [2] STRUCT <타입> SELECT STRUCT<STRING, INT64,STRING>('정뿌시',26,'직장인') PERSONAL_INFORMATION 아래처럼 TYPE 앞에서 각 열들에 대한 이름을 정의해줄 수 있습니다. [3] ARRAY (SELECT AS STRUCT) 추가로, ARRAY 와 STRUCT 은 혼합하여서도 사용이 가능합니다. 그 중 ARRRAY 안에 STRUCT 있는 형태는 ARRAY (SELECT AS STRUCT ~ ) 으로 쓸 수 있습니다. 이렇게 ARRAY 안에 STRUCT 이 3개 존재하는 거죠. SELECT ARRAY ( SELECT AS STRUCT '정뿌시' AS NAME ,26 AS AGE ,'컨설턴트' AS JOB UNION ALL SELECT AS STRUCT '이요니' AS NAME ,26 AS AGE ,'공무원' AS JOB UNION ALL SELECT AS STRUCT '오현디' AS NAME ,26 AS AGE ,'방송PD' AS JOB ) AS `GROUP1_INFO` 정리하면, STRUCT 은 빅쿼리의 RECORD 유형으로 테이블 안에서 또 다른 테이블을 구성하는 것과 유사하다고 이해할 수 있다. (개념상) ARRAY 가 대괄호였다면 STRUCT은 소괄호로 만들 수 있고, ARRAY 안에도 STRUCT 을 만들 수 있다. 로 정리하겠습니다. 그럼 오늘 글은 여기에서 마치겠습니다 :) 소통할 부분 있다면 언제든 댓글 남겨주세요. 감사합니다!