웹과 앱에서 데이터를 잘 수집하려면 어떻게 해야할까? 이전에도 언급한 적이 있지만 우리의 비즈니스 목표를 깊이 고민하는 것이다. 그리고 그 과정에서 정말로 의사 결정에 영향을 줄 수 있는 핵심 데이터를 선별적으로 수집하는 것이다. 데이터는 많다고 해서 가치가 생기는 것이 아니라, 어떤 데이터를, 어떻게 활용할 것인지에 따라 그 의미가 결정된다.
예를 들어 쇼핑몰을 운영한다고 가정해보자. 쇼핑몰은 매출과 직접적으로 연결되기 때문에, 가장 방대한 데이터를 수집하는 사이트 유형 중 하나다. 이러한 특성 때문에 GA4에서도 쇼핑몰에 최적화된 측정 기준과 측정 항목을 미리 정의해두고 있으며, 데이터를 수집할 때도 정해진 이벤트 이름과 파라미터 형식을 따라야 한다. 그렇지 않으면 GA4에서 데이터를 올바르게 조회할 수 없다.
예를 들어 어떤 상품의 조회가 가장 많았는지 파악하려면, 상품 상세 페이지 조회 시 GA4의 view_item 이벤트가 호출되도록 설정해야 한다. (GA4 공식 가이드: https://support.google.com/analytics/answer/9267735?hl=en)
단순히 view_item 이벤트만 전송해서는 안 되고, 필수 파라미터도 함께 전송해야 한다. view_item 이벤트에서는 currency, value, 그리고 items 배열 내 item_id 또는 item_name을 필수적으로 포함해야 한다. (GA4 이벤트 문서 참고: https://developers.google.com/analytics/devguides/collection/ga4/reference/events?client_type=gtm#view_item)
이러한 사전 정의된 구조를 준수해야만 GA4에서 정확한 데이터 수집이 가능하다.
그런데 해당 쇼핑몰이 앱도 있다고 가정하자. 웹과 앱을 동시에 운영하는 경우, 웹과 앱의 트래픽을 동일한 기준으로 수집해야 한다. 사실 말은 쉽지만 이는 어려운 작업이 될 수 있다. 왜냐하면 일반적인 기업에서는 웹 개발자와 안드로이드 개발자, iOS 개발자가 각자 업무를 분담하고 있기 때문에 데이터가 일관되지 않을 수 있다. 예를 들어 item_brand(아이템의 브랜드를 구분하는 값) 값을 웹에서는 "르메르", 안드로이드에서는 "LEMAIRE", iOS에서는 "Lemaire" 로 전송하면 동일한 브랜드라도 별개의 데이터로 구분된다.
또한 앱에서 상품 상세가 웹뷰로 구현되어 있다면, 웹에서 앱으로 데이터를 전달하는 로직이 필요하다. 웹에서는 안드로이드와 iOS에 데이터를 전송할 수 있도록 구현하고, 안드로이드와 iOS에서도 이를 정상적으로 받을 수 있도록 구현해야 한다. 또한, 앱 내 웹뷰에서 발생한 트래픽은 실제로는 앱에서의 접근이지만, 기본적으로 웹 트래픽으로 기록된다. 이를 정확히 구분하기 위해, 웹뷰에서 발생한 트래픽이 앱에서 유입된 것임을 식별하여 전송하는 별도의 로직이 필요하다.
그렇기 때문에 웹과 앱 데이터를 하나로 모으는 것은 컨셉 자체는 간단하지만 작업하는데 많은 시간이 들어갈 수 있다. 특히 안드로이드와 iOS 개발자들은 처음 접하는 작업일 가능성이 높기 때문에, 코드 예시와 함께 구체적인 설명을 제공하는 것이 중요하다.
웹과 앱의 데이터를 정렬하기 위해 다음과 같이 가이드를 제공하는 것이 좋다.
웹과 앱의 데이터가 일관되도록 맞추는 것이 핵심이며, 이를 위해 명확한 데이터 설계와 가이드라인이 필요하다. 데이터가 제대로 정리되지 않으면 분석이 어려워지고, 의미 있는 인사이트를 도출할 수 없게 된다. 따라서, 데이터 수집의 개념만 단순할 뿐, 실제 작업은 세심한 조율이 필요한 과정이라는 점을 염두에 두어야 한다.