-
2023년 7월부터는 정말로 구글 애널리틱스 (GA4)!Book Study 2023. 7. 3. 18:18
들어가며
해당 내용은 '길벗 출판사'의 김도연님의 책 '모두의 구글 애널리틱스4 - GA4로 하는 디지털 마케팅 데이터 분석'을 읽은 요약본입니다. 개발자의 관점에서 구글 애널리틱스 4를 처음 도입하려고할 때 필요한 정보를 정리해보았습니다. 해당 내용은 요약본이며, 더 깊이있는 내용을 얻기 위해서는 반드시 책을 읽어보시는 것을 추천드립니다.
1장, 구글 애널리틱스 알아보기
1.5.1) 구글 애널리틱스란
구글 애널리틱스는 웹 사이트와 앱의 트래픽(traffic)을 추적하여 분석하는 분석 도구이자 서비스입니다. 구글 애널리틱스의 특징은 다음과 같습니다.
- 클라우드 기반의 무료 서비스
- 고객 데이터 측정 및 분석에 집중
- 사용하기 쉬운 협업 플랫폼
- 구글 생태계의 확장성
2장, 구글 애널리틱스 시작 준비하기
2.1) 구글 애널리틱스의 데이터 수집 원리
GA는 로그 분석 도구입니다. 데이터를 수집하려면 수집기가 있어야 하고, 수집기를 이용해 데이터가 수집되면 이 데이터는 GA로 전송되어 저장됩니다. 웹 사이트를 예시로 설명하면 다음과 같습니다.
- 웹 사이트의 모든 페이지에 수집기가 설치됩니다
- 수집된 데이터가 GA로 전송됩니다
- 데이터가 GA에 저장됩니다
이런 수집기를 GA에서는 추적 코드(tracking code)라고 합니다. 추적 코드는 데이터를 수집하기 위한 스크립트 코드로, 데이터를 수집하려는 모든 웹 페이지에 추적 코드가 삽입되어야 합니다. 삽입된 추적 코드는 웹이나 앱에서 발생하는 다양한 정보를 GA로 전송하는 수집기 역할을 합니다.
3장, 구글 애널리틱스의 주요 개념
GA에서는 웹/앱을 방문하는 사용자들이 주고 받는 로그 데이터의 양을 트래픽(traffic)이라고 부르며, 데이터를 세는 단위를 세션(session)이라고 부릅니다. 세션은 상위 개념으로 사용자, 하위 개념으로 이벤트를 갖습니다.
3.2.1) 사용자와 세션: 사용자를 세는 단위
GA는 사용자가 웹 사이트에 접속할 때 접속에 대해 식별 기준을 부여하는데 이것이 바로 사용자(user)와 세션입니다. 사용자가 상위 개념이고 세션이 하위개념입니다. 하나의 사용자는 여러 개의 세션을 가질 수 있습니다.
사용자(user):
기본적으로 GA는 웹, 앱 등 기기에 대해 쿠키를 기반으로 한 클라이언트ID (CID)라는 것을 부여하고 개인으로 식별합니다. 이렇게 식별된 개인을 유저라고하며, 한국어판 GA4에서는 사용자라고 합니다. 사용자는 여러 개의 세션을 가질 수 있습니다.
세션(session):
GA, 그중에서 특히 UA(GA3)는 세션을 기반으로 사용자의 데이터를 수집합니다. 세션이 발생했다는 것은 누군가 우리 웹 사이트를 방문했다는 이야기이고 그렇다면 최소 1개의 페이지 뷰가 발생했다는 의미입니다.
즉, 세션은 사용자가 사이트에서 취한 행동의 집합이라고 생각해도 좋습니다. 또한 세션은 보통 여러 개의 페이지 뷰와 이벤트를 갖습니다. 이것들이 사용자의 행동 집합을 이루며 GA로 이 데이터를 분석하는 것입니다.
- GA4에서 세션은 기본적으로 쿠키를 바탕으로 30분의 유효시간을 갖습니다
- 한 유저라도 30분이 지난다면 기존 세선을 종료하고, 새로운 세션을 발급합니다
- 사용자(user)와 세션(session)은 1:N의 관계를 갖습니다
3.2.2) 페이지 뷰와 이벤트
페이지 뷰(page view)와 이벤트(event)는 GA, 특히 UA(GA3)에서 중요한 개념입니다. 페이지 뷰는 사용자가 웹 페이지를 얼마나 보았는지를 의미하고, 이벤트는 사용자가 웹 페이지에서 어떤 행동을 얼마나 했는지를 의미합니다. 예를 들어 특정 웹 페이지를 방문하면 페이지 뷰가 발생하고, 스크롤을 내리거나 버튼을 클릭하거나 동영상을 시청하면 이벤트가 발생합니다.
4장, 분석 환경 설정하기
4.4) 리퍼럴 제외 설정하기
리퍼럴(referral)
- 외부 웹 사이트에서 우리 웹 사이트로 유입되는 트래픽을 말합니다
- 리퍼럴로 유입되는 트래픽이 가장 많은 외부 사이트를 알고 있다면, 해당 사이트에서 디지털 마케팅을 실행하는 것이 유리합니다
- 혼선을 주는 트래픽을 제외하기 위해, ‘추천 제외 목록’을 사용합니다
- GA 4에서 리퍼럴 제외 설정하기
- [관리 > 속성 > 데이터 스트림 > (설정하려는) 웹 스트림 정보 > 태그 설정 구성 > 설정(모두 표시) > 원치 않는 추천 나열]
- GA4에서 내부 트래픽 차단하기
- [관리 > 속성 > 데이터 스트림 > (설정하려는) 웹 스트림 정보 > 태그 설정 구성 > 설정(모두 표시) > 내부 트래픽 정의]
목표
목표의 종류
GA4에서는 목표 또한 ‘이벤트’로 취급합니다. 또한, 목표라는 용어 대신 전환 이벤트라고 표현합니다. GA4 전환 이벤트는 이벤트를 생성한 뒤 [관리 > 속성 > 이벤트(Admin > Property > Events)]메뉴에서 [전환으로 표시(Mark as conversion)]로 설정해 주면 됩니다.
GA4에서는 전환을 목적으로 하는 이벤트를 먼저 생성하고 해당 이벤트를 ‘전환 이벤트’로 설정하는 식으로 바뀌었습니다. 이 말은 전환으로 표시하고자 하는 이벤트에, 전환 조건이 적용된 로직이 미리 구현되어야 한다는 얘기입니다. GA4 전환 이벤트는 생성한 후 반영되는 데 최대 48시간이 걸릴 수 있으며, 전환은 [참여 > 전환수(Engagement > Conversions)] 보고서에서 확인할 수 있습니다.
5장, 구글 애널리틱스 다루는 법 익히기
- 분석가는 분석 대상이 되는 속성과 보기를 선택합니다
- 분석하려는 내용에 관련되는 보고서를 선택합니다
- 조회 기간을 조정하고 검색 조건을 적용해서 분석 결과를 확인합니다
- 필요하면 문서로 저장하거나 공유합니다
- 그림으로 보기 (UA)
분석 영역
- 세그먼트: 조건을 통해 분석가가 원하는 대로 트래픽을 분류할 수 있는 기능입니다
- 측정기준 선택: 조회한 결과를 다양한 관점으로 확인할 수 있습니다
- 그래프 출력 유형: 다양한 형태의 그래프로 변경할 수 있습니다
7장, GA4 본격적으로 다루기
GA4가 등장하게 된 배경은 스마트폰의 출현과 함께 앱이 웹만큼이나 중요해졌기 때문입니다. 기존 UA는 웹 페이지 분석을 기본으로 했기 때문에 앱 사용자의 행동을 분석하기에는 한계가 있었습니다. 웹 사이트를 방문한 ‘사용자’의 개인 정보가 담긴 쿠키를 더 이상 적극적으로 사용하기 어렵게 된 점도 GA4가 나온 원인입니다. UA 대비 GA4의 특징은 다음과 같습니다.
1. 이벤트 중심으로 변화
UA에서는 세션의 페이지 뷰와 이벤트가 기본 측정 방법이었다면 GA4에서는 이벤트를 기본으로 데이터를 측정합니다. 즉, 웹 사이트 사용자의 모든 활동은 이벤트로 정리된다는 의미입니다. 이것은 화면보다는 기능에 집중하는 앱의 특징과도 관련이 있습니다. GA4에서 이벤트는 GA4의 뼈대를 이루는 매우 중요한 개념이라고 할 수 있습니다.
2. 앱과 웹의 통합 분석: 데이터 스트림
GA4는 웹 분석뿐만 아니라 앱 분석도 함께 할 수 있는 분석 도구입니다. 이 얘기는 하나의 속성 안에 앱과 웹 데이터를 동시에 포함해야 한다는 의미이기도 합니다. 예를 들어 ‘데이터셰프의 레시피’ 앱과 ‘데이터 셰프의 레시피’ 웹 사이트의 데이터를 동시에 전달받아 저장해야 합니다. 이때 GA4의 데이터 수집 방식을 데이터 스트림(data stream)이라고 부릅니다.
- 웹에서 데이터를 전달받는다면 웹 데이터 스트림
- 안드로이드 앱에서 데이터를 전달받는다면 안드로이드 데이터 스트림
GA4는 데이터 스트림을 통해 앱과 웹 분석을 하나의 속성, 즉 하나의 관점으로 분석할 수 있습니다.
3. 단순화
UA에서 110개가 넘던 기본 보고서가 GA4에서는 30여개로 줄었습니다. 대신 GA4는 맞춤 보고서와 같은 탐색(Explore) 분석 메뉴를 제공하며, 기존 보고서를 분석가의 입맛에 맞게 재구성하는 GA4 라이브러리 기능을 제공합니다.
4. 원천 데이터를 마음껏 가공하는 빅쿼리
GA4 스탠다드 버전에서는 최대 14개월간의 데이터 보존 옵션만 제공합니다. 즉, GA4 ‘사용자 화면’에서는 최대 14개월까지만 데이터를 확인할 수 있다는 얘기입니다. 하지만 빅쿼리로 데이터를 연동하면 과거 데이터를 영구적으로 보존할 수 있습니다.
GA4에서는 스탠다드 버전에서도 빅쿼리를 사용할 수 있습니다. 분석가가 원천 데이터를 직접 조작하면서 자유롭게 데이터를 분석하게 하기 위한 배려입니다. 분석가가 SQL을 사용할 줄 안다면 빅쿼리를 사용해 기본 보고서가 제공하지 못하는 다양한 관점의 분석 결과를 도출할 수 있습니다.
개인 사용자를 식별할 때 UA는 사용자 아이디와 쿠키에 크게 의존한 반면 GA4에서는 여기에 더해 구글 제품(지메일 등) 사용에 동의한 사용자에 한해 개인을 식별할 수 있는 구글 시그널(구글 신호 데이터)을 적극적으로 사용하며, 앱 마케팅에 대한 기능 또한 강화되었습니다. 머신 러닝 기능이 강화된 것도 특징입니다.
UA 비해 자유도는 높아졌지만 그만큼 다루기 어려워진 측면도 있습니다.
7.2) 태깅(tagging)
태깅은 웹 사이트나 앱에 태그(tag)를 적용하는 작업을 말합니다. 여기서 태그는 웹 사이트에서 데이터를 수집해서 구글 애널리틱스로 보내는 꼬리표 기능을 하는 코드입니다.
추적 코드를 심는다고 데이터가 마음먹은 대로 수집되는 것은 아닙니다. 분석가의 목적에 따라 어떤 분류로 어떻게 데이터를 수집할지에 대한 고민이 필요하고, 어떤 형태로 GA에 데이터를 저장할지에 대한 기획이 필요합니다. 이 기획을 바탕으로 추적 코드와 연계된 로직을 구현하고, 필요하다면 소스 코드로도 구현해서 적용하는 작업이 바로 태깅 작업입니다.
태깅을 위해서는 태깅 기획이 필요한데, 앞서 살펴본 것처럼 앱이나 웹 사이트의 어느 위치에서 어떤 데이터를 어떻게 수집해서 저장할지를 기획하는 작업을 태깅 기획이라고 합니다.
구글 태그 매니저(GTM)의 동작 원리
GA4에서는 태깅을 위해서 구글 태그 매니저를 많이 사용합니다. 구글 태그 매니저는 데이터 수집기 로직의 집합이라고 할 수 있는 GTM 컨테이너를 제작하는 태깅 도구입니다. 크게 태그, 트리거, 변수 요소가 주로 사용되며 이런 요소를 통해 태깅 로직을 작성합니다.
구글 태그 매니저는 태깅에 유용한 기능을 제공하기 때문에 많이 사용됩니다.
7.3) GA4 이벤트 개념 한 방에 잡기
GA4는 앱 그리고 웹의 데이터를 모두 담아 놓고 분석하는 분석 도구입니다. 따라서 GA4에서는 UA에서 별도로 구분되어 화면 조회 시 발동했던 페이지 뷰가 이벤트로 통합되었습니다.
즉, GA4는 페이지 뷰도 이벤트의 한 종류로 간주합니다. 이런 이벤트들은 웹과 앱의 다양한 경로에서 발생하고, 발생된 이벤트는 추적 코드를 통해 GA4로 수집됩니다.
이렇게 웹과 앱으로부터 수집된 이벤트를 분석하는 것이 바로 GA4입니다. 이벤트란 사용자가 특정 웹 또는 앱에서 특정 행위를 했을 때 발생하는 사건 정보를 말합니다.
GA 데이터 구조 체계를 범위(scope)라고 부릅니다. 범위는 데이터의 수준(level)이라고도 할 수 있습니다. UA의 ‘사용자 범위’는 GA4의 ‘사용자 범위’와 같은 개념입니다.
대표적인 사용자 범위는 성별, 연령, 국가 등이 있으며, 이벤트 범위는 first_visit, page_view 등이 있습니다. (’사용자 범위’는 GA4에서는 사용자 속성이라고 부릅니다. 앞서 데이터를 저장하는 속성과는 다른 개념입니다.) UA에 있던 세션 범위가 사라졌습니다.
GA4에서는 핵심 지표가 세션이 아니라 유저(user), 즉 사용자로 바뀌었습니다. 사용자는 다수의 이벤트를 갖습니다.
GA4에서는 참여 세션 수(engagement sessions)라는 주요 지표가 생겨났습니다. ‘참여 세션 수’는 사용자가 다음과 같을 때 집계되는 지표입니다.
- 10초 동안 웹 또는 앱에 머물렀을 때 (앱이 상호작용하고 있는 상태일 때)
- 전환 이벤트가 1회 이상 발생했을 때
- 페이지 조회 수 또는 화면 조회 수가 2회 이상일 때
참여 세션 수는 ‘획득 보고서’, ‘참여도 개요 보고서’ 등에서 확인할 수 있습니다.
7.3.1) 이벤트 구조: 이벤트 이름, 매개변수, 변수 값
각각의 이벤트는 크게 이벤트 이름, 매개변수, 변수의 값의 구조를 갖습니다. 예를 들어 페이지 뷰(page_view) 이벤트는 다음 그림과 같은 구조를 갖습니다.
이벤트 이름:
이벤트를 부르는 이름입니다. 특정 이벤트 이름은 GA4에 미리 정의된 경우도 있고, 분석가가 수동으로 생성할 수도 있습니다. 미리 정의된 경우에는 특정 조건에 해당하면 이벤트가 발생합니다. 그림의 이벤트 이름은 ‘page_view’인데, 이 이벤트는 페이지를 보면 자동으로 발생하는 이벤트입니다.
매개변수:
이벤트의 특징적인 정보를 담는 변수입니다. ‘파라미터’ 라고도 부릅니다. 예를 들어 페이지를 보았을 때 페이지 위치를 담는 매개변수(page_location), 페이지 이름을 담는 매개변수(page_title) 등 다양한 매개변수가 있습니다. 이벤트 이름과 마찬가지로 GA4에 의해 미리 정의된 경우도 있고 분석가 수동으로 생성할 수도 있습니다.
변수 값:
매개변수에 담기는 데이터 값입니다.
정리하자면 사용자가 앱 또는 웹에서 특정 페이지를 보게 되는 경우, 예를 들어 사용자가 ‘abc 닷컴’ 웹 페이지를 보게 되면 ‘page_view’ 이벤트가 발생하고 페이지 위치(page_lcation)를 담는 매개변수에는 ‘https://www.abc.com’ 변수 값이, 페이지 이름(page_title)을 담는 매개변수에는 ‘abc 닷컴’ 변수 값이 담기게 됩니다. 이벤트는 속성당 최대 500개까지 생성할 수 있습니다. GA4는 이런 이벤트에 대해 분석을 진행합니다.
7.3.2) 이벤트 종류: 자동 이벤트와 수동 이벤트
GA4 이벤트는 자동으로 생성하느냐 분석가가 수동으로 생성하느냐에 따라 자동 이벤트와 수동 이벤트로 분류할 수 있습니다. 또 자동 이벤트는 일반 이벤트인지 향상된 측정 이벤트인지에 따라 자동 수집 이벤트와 향상된 측정 이벤트로 분류할 수 있고, 수동 수집 이벤트는 GA4가 미리 정한 방식으로 생성하느냐 분석가가 완전히 자기만의 방식으로 생성하느냐에 따라 추천 이벤트와 맞춤 이벤트로 분류할 수 있습니다.
7.3.3) 자동 수집 이벤트
자동 이벤트는 일반 자동 이벤트인지 ‘향상된 측정’ 옵션을 설정하면 자동 수집되는 이벤트인지에 따라 자동 수집 이벤트(Automatically collected events)와 향상된 측정 이벤트(Enhanced measurement events)로 나뉩니다.
이는 단순히 GA4의 [관리 > 속성 > 데이터 스트림 > 향상된 측정] 옵션을 적용해서 자동 수집되느냐 그렇지 않느냐의 차이입니다. ‘향상된 측정 이벤트’ 옵션은 데이터 스트림을 생성할 때 자동으로 적용됩니다. ‘페이지 조회’ 등 현재 기준 7개의 추가 이벤트가 수집됩니다.
자동 수집 이벤트는 GA4가 미리 정의해 놓은 이벤트이며, 어떤 조건을 만족할 때 GA4가 자동으로 발동시킵니다. 예를 들어 first_visit 이벤트는 사용자가 서비스를 처음으로 방문하거나 실행할 때, page_view 이벤트는 특정 페이지가 로드될 때 발생합니다. 자동 수집 이벤트는 분석가가 따로 이벤트가 발동하도록 태깅(제작)할 필요가 없으며, GA4가 특정 조건에 대해 미리 만들어 놓은 이벤트라고 이해하면 됩니다.
주요한 자동 수집 이벤트의 종류는 다음과 같습니다.
자동 수집 이벤트와 마찬가지로, 자동으로 수집되는 주요 자동 수집 매개변수도 있습니다. 자동 수집 매개변수는 ‘자동 이벤트’와 마찬가지로 특정 이벤트가 발생했을 때 GA4가 자동으로 수집하는 매개변수입니다.
7.3.4) 추천 이벤트
추천 이벤트(Recommended events)는 분석가가 구현하지만 GA4에 사전 정의된 이름과 매개변수를 사용해야 하는 이벤트입니다. 즉 GA4가 용도를 추천하는 이벤트입니다.
리테일/게임 등 각 산업 분야에 따라 사전 정의된 이벤트들이 있으며, view_item, add_to cart 등 전자상거래 이벤트가 대표적인 추천 이벤트라고 할 수 있습니다. 다시 설명하자면 분석가가 수동으로 제작하는 이벤트인 것은 맞지만, GA4가 이미 정해 놓은 이벤트 이름과 매개변수를 사용해야 하는 이벤트입니다.
7.3.5) 맞춤 이벤트
분석가가 직접 조건을 설정해서 발동하게 하는 이벤트입니다. 예를 들어 분석가는 웹이나 앱에서 특정 버튼이 눌렸을 때만 발동하는 이벤트를 제작하고 싶을 수 있습니다. 이런 이벤트는 GA4가 기본으로 제공해 주지 않습니다. 이럴 때 제작하는 것이 맞춤 이벤트입니다.
맞춤 이벤트에는 크게 두 가지 제작 방법이 있습니다.
- GTM 활용: GTM은 발동한 이벤트의 조건식이 복잡한 경우 사용됩니다. 개발자의 도움이 필요할 수 있습니다.
- GA4 활용: GA4는 상대적으로 발동할 이벤트의 조건식이 간단할 경우 사용합니다. GA4만 사용하면 되므로 쉬운 반면 복잡한 조건식을 사용하려면 한계가 있습니다.
page_title 매개변수에 들어오는 값(variable)이 junhee | magazine 일 때, page_view_target_magazine 이라는 이벤트를 발생시킵니다.
GA4 용어 정리
평균 세션 시간과 세션당 평균 참여 시간
GA4(Google Analytics 4)에서 '평균 세션 시간'과 '세션당 평균 참여 시간'은 다음과 같은 차이가 있습니다:
- 평균 세션 시간(Average Session Duration):
- 이 지표는 사용자가 웹사이트에 머무른 평균 시간을 측정합니다.
- 모든 세션의 시간을 합계하고 총 세션 수로 나누어 계산합니다.
- 즉, 사용자가 웹사이트에서 보낸 전체 시간을 세션 수로 나눈 값입니다.
- 이 지표는 웹사이트의 전반적인 사용자 참여도를 보여줍니다.
- 세션당 평균 참여 시간(Average Engagement Time per Session):
- 이 지표는 사용자가 실제로 웹사이트와 상호작용한 평균 시간을 측정합니다.
- 사용자가 웹사이트 내에서 활동한 총 시간을 세션 수로 나누어 계산합니다.
- 여기서 '활동'은 화면 조작, 클릭, 스크롤 등의 사용자 행동을 의미합니다.
- 이 지표는 사용자가 실제로 콘텐츠에 몰두한 정도를 보여줍니다.
차이점은 평균 세션 시간이 사용자가 웹사이트에 머무른 전체 시간을 측정하는 반면, 세션당 평균 참여 시간은 실제 활동 시간만을 측정한다는 것입니다.
따라서 평균 세션 시간은 전반적인 사용자 참여도를 보여주고, 세션당 평균 참여 시간은 사용자가 콘텐츠에 집중한 정도를 보여줍니다. 이 두 지표를 함께 분석하면 웹사이트 사용자 경험을 더 잘 이해할 수 있습니다.
마지막 페이지 요청에서 경과된 시간
구글 애널리틱스 4에서 "마지막 페이지 요청에서 경과된 시간"은 사용자가 웹사이트에서 마지막으로 페이지를 요청한 후 경과된 시간을 의미합니다:
- 사용자가 웹사이트에 접속하여 첫 번째 페이지를 요청합니다.
- 사용자가 다른 페이지로 이동하면서 페이지 요청을 합니다.
- 사용자가 웹사이트를 떠나기 전에 마지막으로 페이지를 요청합니다.
- "마지막 페이지 요청에서 경과된 시간"은 바로 이 3번 단계에서 마지막 페이지 요청 이후부터 사용자가 웹사이트를 완전히 떠날 때까지의 시간을 측정합니다.
따라서 이 지표는 사용자가 웹사이트에서 마지막 활동을 한 후 얼마나 오래 머물렀는지를 파악할 수 있습니다. 웹사이트 이탈 전 사용자의 마지막 활동 시간 분석에 유용합니다.
레퍼런스
[GA4] 애널리틱스 측정기준 및 측정항목 - 애널리틱스 고객센터
이후에는?
책에서는 전반적으로 개발적인 내용뿐만 아니라, GA4 사용자의 입장에서 어떻게 사용해야 하는지에 대한 내용이 많이 담겨있습니다. 개발자가 먼저 공부하여 추가적인 의견을 줘야하는 입장이기 때문에 '그래서 구글 애널리틱스가 뭔데?', '어떤 이벤트를 쓸 수 있는데?' 에 초점을 두어 책을 요약해 해보았습니다.
현재 이전 버전인 UA(유니버셜 애널리틱스)는 지원을 중단한 상태이고, GA4(구글 애널리틱스)로 넘어가야하는 상황입니다. 미리 준비하지 못해 아쉽지만, 우선 '자동 수집 이벤트'를 기반으로 프로덕션 또는 테스트코드에 적용한 뒤, 기획에 맞게 적용하는 프로세스로 진행해볼까 합니다.
코드에 적용하는 방법에 대해서는 추후 다른 글로 적어서 공유해보도록 하겠습니다!
'Book Study' 카테고리의 다른 글
실용주의 프로그래머 스터디 1장 - 실용주의 철학 (1) 2024.02.14 실용주의 프로그래머 스터디 6장 - 동시성 (1) 2024.02.13 당신의 웹 사이트가 구글의 선택을 받지 못하는 이유 9가지 (1) 2022.10.06 SEO를 하는 사람들을 위한 FAQ 및 SEO 핵심 키워드 📊 (1) 2022.10.05 SEO를 위한 자가 진단 체크리스트 📜 (0) 2022.10.04