지금 읽는 곳왜 게임 이벤트는 유실되기 쉬운가목차
STEP 3 고급·전략 › 3-3. 그로스해킹·CRM 전략 › 과목 127 › 레슨 03
데이터 요건 및 인앱 이벤트 연동: 게임 내 유저 액션(물주기, 친구초대)이 GA4 및 내부 데이터베이스에 유실 없이 기록되는 파라미터 설계
기획서에는 없던 파라미터 한도 하나를 놓쳐서, 출시 한 달 뒤에야 데이터가 비어 있었다는 걸 알게 되는 경우가 흔하다.
핵심요약
- GA4는 이벤트 하나당 최대 25개 파라미터, 문자열 값은 최대 100자, 이벤트·파라미터 이름은 40자까지만 허용한다
- 커스텀 파라미터는 전송만으로는 GA4 화면에 보이지 않고 '맞춤 정의'에 별도 등록해야 확인된다
- 물주기·친구초대처럼 반복 빈도가 높은 이벤트는 이벤트명과 파라미터 네이밍 규칙을 사전에 확정해야 데이터가 파편화되지 않는다
- 게임 재화·보상처럼 정확성이 중요한 데이터는 GA4만으로는 부족하고 내부 데이터베이스에 이중으로 기록해야 한다
- 이벤트 설계 이후에는 반드시 실기기 QA로 파라미터 값이 실제로 전송되는지 검증하는 단계가 필요하다
왜 게임 이벤트는 유실되기 쉬운가
일반적인 이커머스 이벤트(상품 조회, 장바구니, 구매)는 발생 빈도가 상대적으로 낮고 값의 형태도 단순하다. 반면 게임화 이벤트는 물주기·미션 완료·재화 획득처럼 하루에도 여러 번 반복되고, 각 이벤트마다 '어떤 재화를 얼마나 획득했는지', '몇 단계 미션인지' 같은 세부 값을 함께 실어야 한다. 이 세부 값이 하나라도 설계에서 빠지면, 이후 '어느 미션에서 이탈이 몰리는지'를 분석할 방법이 없어진다.
문제는 이런 세부 설계가 보통 마케팅 기획 문서에는 '물주기 이벤트를 기록한다' 정도로만 적혀 있고, 실제 파라미터 이름·값 형식은 개발 단계에서 즉흥적으로 정해지는 경우가 많다는 점이다. 이 간극이 나중에 '데이터는 쌓였는데 분석이 안 되는' 상황으로 이어진다.
GA4 이벤트/파라미터 설계의 공식 한도
Google 애널리틱스 고객센터 공식 문서에 따르면 GA4는 이벤트 하나당 최대 25개의 파라미터까지만 수집한다. 파라미터 값 중 문자열은 최대 100자, 숫자는 64비트 정수까지 허용되며, 이벤트 이름과 파라미터 이름 모두 40자를 넘으면 처리되지 않는다. 게임 내 미션명이나 재화 종류를 파라미터 값으로 넣을 계획이라면, 이 100자·40자 제한을 설계 문서에 먼저 못 박아둬야 나중에 값이 잘려서 들어오는 사고를 막을 수 있다.
더 중요한 것은 커스텀 파라미터를 전송하는 것만으로는 GA4 인터페이스에서 바로 확인할 수 없다는 점이다. 반드시 '관리 > 맞춤 정의'에 해당 파라미터를 이벤트 또는 사용자 속성으로 등록해야 보고서·탐색 화면에서 값을 볼 수 있다. 이 등록 단계를 빠뜨리면 실제로는 데이터가 정상 수집되고 있는데도 '유실됐다'고 오판하는 경우가 자주 생긴다.
물주기·친구초대 이벤트를 어떻게 설계하는가
실무에서는 게임 이벤트를 크게 두 그룹으로 나눠 설계하는 것이 안정적이다. 첫째는 '행동 이벤트'로, water_plant(물주기), invite_friend(친구초대)처럼 이용자가 취한 행동 자체를 기록한다. 이때 mission_id, mission_day, reward_type, reward_amount 같은 파라미터를 함께 보내면 어떤 미션에서 어떤 보상이 나갔는지 추적할 수 있다. 둘째는 '상태 이벤트'로, plant_growth_stage처럼 특정 시점의 상태값을 기록해 성장 단계별 이탈 지점을 분석할 수 있게 한다.
친구초대 이벤트는 특히 유입 채널 정보를 함께 실어야 한다. 초대를 보낸 사람의 ID, 초대를 받은 사람이 실제 가입까지 이어졌는지를 연결할 referrer_id 같은 파라미터가 없으면, 4강에서 다룰 바이럴 루프의 실제 확산 효과(누가 몇 명을 데려왔는지)를 계산할 방법이 없어진다.
맞춤 정의 등록을 빠뜨리면 생기는 문제
게임화처럼 이벤트 종류가 많은 기능에서는 파라미터를 새로 추가할 때마다 맞춤 정의 등록을 놓치기 쉽다. 특히 시즌 이벤트나 신규 미션이 추가될 때마다 새 파라미터가 생기는데, 이 등록 절차가 개발-마케팅 간 협업 프로세스에 포함돼 있지 않으면 '분석하려고 열어보니 해당 값이 안 보이는' 상황이 반복된다. 이 문제를 막으려면 새 이벤트·파라미터를 추가하는 배포마다 맞춤 정의 등록을 체크리스트 항목으로 고정해두는 것이 실무적으로 가장 확실하다.
내부 DB와 GA4를 이중 기록해야 하는 이유
GA4는 샘플링과 데이터 보존 기간(기본 2개월 또는 14개월) 제약이 있어, 재화 잔액이나 보상 이력처럼 정확성과 장기 보존이 필수인 데이터의 단독 소스로 쓰기에는 적합하지 않다. 실제로 이용자가 보유한 재화 수량, 배송해야 할 보상 목록 같은 '운영에 직접 쓰이는 데이터'는 반드시 내부 데이터베이스에 별도로 기록하고, GA4는 마케팅 분석·퍼널 파악용으로 역할을 분리하는 것이 안전하다.
두 시스템 간 숫자가 어긋나는 경우(예: GA4상 미션완료 이벤트 수와 내부 DB상 보상 지급 건수가 다름)를 대비해, 최소 일 단위로 두 소스의 핵심 지표를 대조하는 배치 검증도 함께 설계해두는 것이 좋다.
배포 전 검증해야 할 항목
이벤트 설계를 문서로 끝내지 않으려면 실기기 QA 단계를 반드시 거쳐야 한다. 첫째, GA4의 DebugView 기능으로 물주기·친구초대 이벤트가 실시간으로 잡히는지, 설계한 파라미터 값이 빠짐없이 실려 오는지 눈으로 확인한다. 둘째, 네트워크 상태가 불안정한 환경(지하철, 엘리베이터 등)에서 이벤트를 발생시켰을 때 재전송·큐잉이 정상 동작하는지도 함께 점검해야 한다 — 게임 이벤트는 발생 빈도가 높은 만큼, 네트워크 유실 시 데이터 손실 규모도 일반 이벤트보다 크다.
셋째, 이벤트 이름과 파라미터 이름에 오타나 대소문자 불일치가 있는지 확인한다. water_plant와 waterPlant가 같은 행동인데 다르게 기록되면 GA4는 이를 서로 다른 이벤트로 집계하기 때문에, 이런 네이밍 불일치는 분석 단계에서 뒤늦게 발견되는 경우가 많고 발견 즉시 재수집이 불가능해 과거 데이터가 그대로 손실된다는 점에서 사전 검증의 우선순위가 높다.