추적코드(Tracking Code)란?
Google Analytics를 사용하려면 먼저 추적코드 설치해야 한다.
추적코드는 태그(tag) 라고도 불리며 사용자 데이터를 수집하는데 필수적인 요소이다.
Google Analytics는 GATC(Google Analytics Tracking Code)를 통해 사용자의 쿠키값에 근거한 데이터를 추출하여 분석하는데, 이에대한 의존도가 높은 편이다.
추적코드 설치 - Web
추적코드는 관리 > 속성 > 추적정보 > 추적코드에서 확인 가능하다.
gtag.js
사이트 태그를 복사하여 웹사이트 <HEAD> </HEAD> 영역 사이에 붙여넣으면 된다.
예시로 Tistory를 가져왔지만, 개발자가 맞춤형으로 제작한 사이트라면 개발자와 협의가 필요하다.
연동이 됐는지 확인하기 위해 WASP 또는 Tag Assistant라는 프로그램 설치를 해야한다.
WASP은 F12 또는 Command+option+I(i)를 누르고 WASP에서 google analytics > collect를 클릭하면 GA로 전송되는 데이터의 정보를 확인할 수 있다.
연동이 된 모습을 볼 수 있다.
추적코드 설치 - App
iOS
Podfile을 아직 생성하지 않았다면 생성해준다.
pod init
Podfile을 열고 다음을 추가한다.
pod 'GoogleAnalytics'
파일을 저장하고 다음을 실행한다.
pod install
.xcworkspace응용 프로그램에 대한 파일 이 생성 된다.
AppDelegate
- 필요한 헤더를 포함한다.
- 내부에 Analytics 트래커를 설정한다. didFinishLaunchingWithOptions
- YOUR_TRACKING_ID와 같은 고유한 Analytics 추적 ID로 대체 한다.
이러한 변경을 수행하려면 먼저 AppDelegate 내부에 Analytics를 추가해야 한다.
#import <GoogleAnalytics/GAI.h>
#import <GoogleAnalytics/GAIDictionaryBuilder.h>
didFinishLaunchingWithOptions분석을 구성 하는 메서드를 재정의한다.
GAI *gai = [GAI sharedInstance];
[gai trackerWithTrackingId:@"YOUR_TRACKING_ID"];
// Optional: automatically report uncaught exceptions.
gai.trackUncaughtExceptions = YES;
// Optional: set Logger to VERBOSE for debug information.
// Remove before app release.
gai.logger.logLevel = kGAILogLevelVerbose;
사용자가 앱에서 화면을 열거나 변경할 때마다 명명된 화면 보기를 Analytics로 보낸다.
viewWillAppear메서드 또는 함수 재정의를 사용하여 화면 추적을 삽입한다.
화면 이름을 입력하고 트래킹을 실행한다.
#import "ViewController.h"
// [START screen_view_hit_imports_objc]
#import <GoogleAnalytics/GAI.h>
#import <GoogleAnalytics/GAIDictionaryBuilder.h>
#import <GoogleAnalytics/GAIFields.h>
// [END screen_view_hit_imports_objc]
@implementation ViewController
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSString *name = [NSString stringWithFormat:@"Pattern~%@", self.title];
// The UA-XXXXX-Y tracker ID is loaded automatically from the
// GoogleService-Info.plist by the `GGLContext` in the AppDelegate.
// If you're copying this to an app just using Analytics, you'll
// need to configure your tracking ID here.
// [START screen_view_hit_objc]
id<GAITracker> tracker = [GAI sharedInstance].defaultTracker;
[tracker set:kGAIScreenName value:name];
[tracker send:[[GAIDictionaryBuilder createScreenView] build]];
// [END screen_view_hit_objc]
}
@end
Android
프로젝트를 열고 AndroidManifest.xml 파일을 연다.
<manifest> 태그 아래에 INTERNET 과 ACCESS_NETWORK_STATE 에 permissions을 추가한다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.analytics">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application android:name="AnalyticsApplication">
...
</application>
</manifest>
build.gradle (프로젝트 레벨)을 열어서 7번째 줄에 있는 'classpath...' 라인을 추가한다.
dependencies {
// ...
classpath 'com.google.gms:google-services:3.0.0'
}
build.gradle (앱 레벨)에는 compile을 추가한다.
dependencies {
// ...
compile 'com.google.android.gms:play-services-analytics:10.2.4'
}
그 다음으로 global_tracker.xml을 만든다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ga_trackingId" translatable="false">${YOUR_TRACKING_ID}</string>
</resources>
사용자가 앱에서 화면을 열거나 변경할 때마다 명명된 화면 보기를 Analytics로 보낸다.
- Application 하위 클래스를 통해 공유 추적기를 제공
- 전경 활동에 대한 콜백 메서드를 재정의
- 화면 이름을 입력하고 트래킹을 실행
AnalyticsApplication.java 만들기
애플리케이션의 추적기를 반환하는 메서드를 Application 이라는 하위 클래스로 만들고 제공 해야한다.
package com.google.samples.quickstart.analytics;
import android.app.Application;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
/**
* This is a subclass of {@link Application} used to provide shared objects for this app, such as
* the {@link Tracker}.
*/
public class AnalyticsApplication extends Application {
private static GoogleAnalytics sAnalytics;
private static Tracker sTracker;
@Override
public void onCreate() {
super.onCreate();
sAnalytics = GoogleAnalytics.getInstance(this);
}
/**
* Gets the default {@link Tracker} for this {@link Application}.
* @return tracker
*/
synchronized public Tracker getDefaultTracker() {
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
if (sTracker == null) {
sTracker = sAnalytics.newTracker(R.xml.global_tracker);
}
return sTracker;
}
}
이벤트 보내기를 하려면,
public void sendEventGoogleAnalytics(String title, String message) {
tracker = application.getDefaultTracker();
tracker.send(new HitBuilders.EventBuilder()
.setCategory(title).setAction(message)
.build());
}
위의 작업들을 마치면 Google Analytics와 연동이 되며 데이터를 추적할 수 있다.
'BI > GA(Google Analytics)' 카테고리의 다른 글
[GA] 구글 애널리틱스(Google Analytics)용어정리 (0) | 2022.01.25 |
---|---|
[GA] Google Analytics 시작하기 (0) | 2022.01.25 |