비밀번호

커뮤니티2

구글태그매니저[Google Tag Manager] 구글태그매니저 커뮤니티입니다.

Hybrid App Tagging에 대하여

안녕하세요, Hybrid App에서 사용자 이용행태 데이터 수집을 위해 태깅을 하는 방법에 대해 작성해보도록 하겠습니다.

 

1. Hybrid vs Native

먼저 Hybrid App이란 무엇인지 알아보겠습니다. 

Native: OS 환경에서 제공하는 언어를 기반으로 개발되어 해당 모바일 운영체제에서만 작동되는 앱

Hybrid: 앱의 프로젝트 내에서 웹 뷰(WebView) 사용해서 URL을 통해 웹 페이지를 띄우는 부분과 Native 영역이 둘다 구현된 앱

스크린샷 2024-10-14 오후 6.15.34.png

 

2. Hybrid App에서 GA4 데이터 전송

하이브리드 앱에서 웹 뷰의 웹 영역에서 이벤트가 발생했을 때, App instance ID와 같은 앱의 정보를 GA4에 같이 전달하기 위해서 웹 → 앱 → GA4의 순서로 데이터를 전송하여야 합니다.

스크린샷 2024-10-14 오후 6.18.49.png

 

이러한 형태로 구축하기 위해서 GTM에서 GA4 for javascript interface 템플릿, 웹 영역에서 javascript_handler.js, 앱 네이티브 영역에서 AnalyticsWebInterface.kt / controller function이 삽입 되어져야 합니다.

 

구축 절차는 아래와 같습니다.

 

  1. GA4 데이터 스트림 생성 및 Android / iOS 앱 등록
  2. 앱 프로젝트에 Google Service 파일 삽입
  3. 앱 프로젝트에 Firebase SDK 설치
  4. 앱 프로젝트에 Android / iOS 각 운영체제에 맞는 인터페이스 혹은 컨트롤러 펑션 코드 삽입 및 공통 javascript handler 삽입

OS 별로 각 코드와 설치 요소들에 대한 자세한 설치 및 삽입 과정은 다음 글에서 자세히 작성하도록 하겠습니다.

 

3. 각 코드간 작용 원리

 해당 그림과 같은 세팅이 완료된 상황을 가정하고 설명 드리겠습니다.

스크린샷 2024-10-14 오후 6.30.10.png

GTM을 이용한 앱 태깅 방법은 여러가지가 있겠으나, pluszero에서는 자체 템플릿을 사용하여 해당 과정을 진행하고 있습니다.

 

스크린샷 2024-10-14 오후 6.37.22.png

GA4 for javscriptinterface라는 이름의 이 탬플릿은 샌드박스형 javascript 코드로 구현되어져 있습니다. 코드는 javascript_handler코드의 함수를 불러와서 이벤트 이름, 유저 프로퍼티, 파라미터를 전송하는 역할을 수행합니다.

 

스크린샷 2024-10-14 오후 6.41.25.png

javascript_handler의 코드에서는 앱 프로젝트에 삽입한 AnalyticsWebInterface의 메소드를 호출하여 실행합니다. 최종적으로 

AnalyticsWebInterface에서 logEvent() 메소드를 통해 GA4에 데이터를 전송하게 됩니다. 3가지 코드의 상호작용을 그림으로 보면 아래와 같습니다.

 

스크린샷 2024-10-14 오후 6.44.38.png

 

전체댓글0

1