앱 열기
본문 바로가기

전체 글

[BigQuery] BigQuery에서 결과 데이터를 구글 시트로 내보냈을 때 user_pseudo_id가 잘리는 문제와 해결 방법 문제 상황BigQuery에서 쿼리 결과 데이터를 Google Sheets로 내보낼 때, user_pseudo_id 값이 일부 잘리는 현상이 발생합니다.예시:BigQuery에서 보이는 값: 2135223330.1731889237Google Sheets에서 보이는 값: 2135223330.173189 (뒷부분 잘림)이 문제는 Google Sheets가 데이터를 불러올 때 자동으로 숫자로 인식하고, 숫자의 소수점 자리수를 제한하면서 발생합니다. user_pseudo_id가 고유 식별자인데도, 숫자로 처리되면서 원본 값이 손실되는 것입니다.  문제 원인Google Sheets의 데이터 자동 형식화Google Sheets는 숫자처럼 보이는 데이터를 자동으로 숫자로 처리합니다.숫자로 처리될 경우, 소수점 자리수는 .. 더보기
WebView가 무엇인가요? 웹뷰(WebView)란? 비즈니스와 사용자 경험의 연결고리  웹뷰(WebView)의 개념웹뷰는 스마트폰 앱 안에서 웹사이트를 열어볼 수 있게 하는 작은 창입니다. 사용자는 앱 안에서 웹페이지를 보거나, 특정 정보를 검색하는 것처럼 느끼지만 실제로는 앱이 웹 콘텐츠를 불러와 화면에 표시하고 있는 것입니다.예를 들어, 쇼핑몰 앱에서 ‘오늘의 할인 상품’을 확인하는 페이지가 웹으로 만들어졌다면, 웹뷰를 이용해 앱 안에서 바로 표시할 수 있습니다. 사용자는 앱을 벗어나지 않고 필요한 정보를 볼 수 있어 편리하게 쇼핑할 수 있죠.    웹뷰의 중요한 개념앱과 웹의 통합웹뷰는 네이티브 앱의 기능과 웹사이트의 콘텐츠를 결합해, 두 환경의 장점을 동시에 제공합니다.예를 들어, 앱에서 상품 페이지를 클릭했을 때 브라우저.. 더보기
[Firebase Analytics] WebView에서 items 배열이 로깅되지 않는 현상 🚨 문제: Firebase Analytics의 WebView에서 items 배열이 로깅되지 않는 현상Firebase Analytics는 앱에서 발생하는 사용자 행동 데이터를 분석할 수 있는 강력한 도구입니다. 특히 E-commerce 데이터를 분석하려면 items 배열과 같은 세부 정보가 정확히 로깅되어야 합니다.하지만, 특정 상황에서는 상품 데이터(items 배열)가 제대로 전송되지 않아 데이터 손실이 발생할 수 있습니다. 이 문제는 특히 앱 내에서 웹 콘텐츠를 표시하는 화면(WebView)에서 자주 나타납니다.  🛠 문제를 이해하기 쉽게 설명 WebView란?WebView는 앱 안에서 웹페이지를 띄워주는 "미니 브라우저"라고 생각하면 됩니다.쇼핑몰 앱에서 상품 목록을 보여주는 페이지가 웹으로 구성.. 더보기
[BigQuery] Exploring Last-Click Attribution Insights in BigQuery for GA4 The transition from UA to GA4 has indeed introduced its own share of challenges, particularly revolving around attribution models. GA4's emphasis on the last non-direct click in its attribution model has proven to be a significant hurdle for analysts and marketers alike.In GA4, if the conversion is set only for the purchase event, and a user like Sam first visits the website/app through unpaid s.. 더보기
[dataLayer] ecommerce 위한 GA4 구현: iframe 구조 웹사이트 가이드 최근에 대학 시절의 선배를 우연히 버스에서 만났습니다. 서로의 연락처를 교환한 후, 그는 제가 현재 일하고 있는 회사에서의 한 때의 고객사(제 첫 고객사!)에서 팀장으로 일하고 있다는 것을 알게 되었습니다. 놀랍게도, 그는 제가 함께 일했던 개발자가 서로 긴밀하게 협력했던 사람이었습니다. (세상 정말 좁네요!) 그 선배를 만나며, 그 회사를 위한 프로젝트가 기록할 가치 있는 주제라고 생각하여, 기억을 되살려 글을 써보았습니다. 해당 프로젝트에서는 상품 관련 페이지가 iframe으로 구성되어 있었고, 데이터를 수집하기 위해서는 GTM 스크립트가 있는 부모(parent) 페이지로 데이터를 전송해야 했습니다. 즉, iframe 페이지에서는 다음과 같이 데이터를 부모 페이지로 전송해야 했습니다. 부모 페이지에서.. 더보기
[dataLayer] Implementing GA4 for E-commerce: A Guide for iframe-Structured Website The other day, I ran into someone who was a senior during my college days. It was a rather unusual encounter, taking place on the bus I was taking for the first time. We exchanged business cards, and I learned that he is currently a team leader at a company that was once a client I worked with (the first client in the company I'm currently working for). He mentioned that the developer I worked .. 더보기
[Firebase Analytics] Dealing with Issues in Items Array during Ecommerce Implementation When implementing Ecommerce using Firebase Analytics, handling issues related to the items array becomes crucial, especially when working within a WebView environment. Ecommerce Data Layer Structure The typical Ecommerce data layer has the following structure: dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object. dataLayer.push({ event: "view_item", ecommerce: { currency: .. 더보기
[Firebase Analytics] Setting up setUserId in a WebView This guide is designed for rare situations where setting the userId directly in the native app is impractical. If such a case arises, providing this guide to the client might prove helpful. Implementing Javascript Handler // [START log_event] function logEvent(name, params) { if (!name) { return; } if (window.AnalyticsWebInterface) { // Call Android interface window.AnalyticsWebInterface.logEven.. 더보기