앱개발을 하다보면 처음에는 단순히 매일매일 사용자 수가 궁금해서 통계를 붙이게 되지만,

시간이 지나면 좀 더 자세한 통계 자료를 얻고 싶게 됩니다.


Google Analytics는 지역, 언어, 기기 등의 막강한 기본 통계 이외에도

개발자가 조금만 더 신경쓰면 보다 다양하고 유용한 통계 정보를 뽑아낼 수 있습니다.


주1) Google Analytics에 워낙 만족하고 있어서 다른 솔루션은 사용해보지 않았습니다.

   혹시 글 보시고 다른 솔루션의 장점들 있으면 적어주시면 좋겠네요.

주2) 기술한 기능들 이외에도 이벤트, 컨텐츠, 광고(Adsense) 매출 연계 등 좋은 기능들이 더 있습니다만,

   사용해보지 않은지라 기술하지 않았습니다..^^

주3) 이 글은 Google Analytics1.x를 기반으로 작성된 글입니다. 

  작성과정에서 Analytics 홈페이지에 들어가보니 SDK2.0(beta)가 나오면서 많은 부분이 변경되었군요...ㅜ.ㅜ 

   그렇더라도 개념적으로 동일한 기능의 사용은 가능하리라 믿습니다.


우선 기본 기능을 간단히 소개한 후 상세 통계에 대한 사례를 보여드리겠습니다.

(개발코드도 제공해드릴 예정이었으나 SDK 변경이 예정된 상황이라 무의미 할 것 같네요..ㅠ.ㅠ)


1. 기본 기능 간단 소개

  - 지역별, 언어별, 기기별, 통신사별 및 신규/재방문 비율, 방문수 및 사용자수 등의 통계를 제공합니다.

    통계 솔루션이라면 이정도는 제공해야지 할만안 부분을 "훌륭하게" 제공합니다.^^

  - 지역은 나라 및 도시까지 제공이 됩니다. 한국을 보면 서울/경기에 스마트폰 이용자가 얼마나 집중되어 있는지 알 수 있죠^^





  - 기기의 경우 디바이스 사진을 바로 볼 수 있어 좋습니다만, 브라우저의 UserAgent 정보를 사용하다보니

    정보가 정확하지는 않은 것 같습니다. Device 정보를 바탕으로 직접낸 통계치와 차이가 좀 있더군요.

    제 서비스의 경우 작년에는 HTC나 소니 단말이 꽤 많았었는데 이제는 삼성 단말로 도배가 되네요.(뿌듯?^^)



  - Google Analytics의 최대 단점은 사용자가 많다보니 통계 추출 속도가 느리다는 점입니다. 상세 통계는 2일 후에 제공이 되지요.

     이러한 단점을 보완하기 위해 "실시간 통계"를 제공하기 시작했습니다. 재미 있긴 하지만 시간이 지나면 별로 안보게 되더군요.



2. 방문자 흐름

  - 이부분부터가 제가 소개하고 싶은 본론으로 개발자가 신경을 써야 얻을 수 있는 통계입니다.

  - 앱 내에서 액션 단위로 통계정보를 전송하면 사용자의 액션 흐름의 통계를 볼 수 있습니다.

    이용자가 앱의 어떤 기능을 선호하는지, 게임의 경우 몇 번 Stage까지 가는지 등을 분석할 수 있겠죠?


 

3. 맞춤변수(Custom Variables)

  * Google Analytics 2.0이 되면서 이부분 지원을 중단한다고 되어 있네요.T.T 

  - Google Analytics의 최대 장점이라고 말하고 싶은 부분인데, 본인이 변수를 선언해서 원하는 통계를 얻는 것입니다.

  - 개발자가 설계만 잘하면 정말 요긴한 통계를 얻을 수 있습니다.

  - 참고로 저의 경우 아래와 같은 통계를 내고 있습니다.

    1) 앱의 실행 횟수

       > 앱이 처음 실행될 때만 찍는 값으로 시간을 기준으로 측정하는 방문자수, 방문회수와 차이가 납니다.

    2) 앱 버전별 사용 현황

       > Android OS 버전별 분포 현황 처럼 본인 앱의 버전별 사용 현황을 알 수 있죠..



    3) 안드로이드 버전별 및 기기별 사용 현황

    4) 논리적 오류 리포트

       > Crash 리포트와 달리 정상적으로 서비스를 사용하지 못한 경우(정상 Exception 처리)에 대한 통계.

       > 이용자가 어떤 문제로 서비스를 이용하지 못하게 되는지를 알 수 있습니다.

    


4. 어떻게 붙이나?

  - 글 작성 시점에서 Analytics 2.0(beta)가 Release되버려서 난감하군요...

    조금이라도 도움 되시라고 간단하게만 남깁니다.

  - Google Analytics 2.0(beta)

    http://support.google.com/analytics/bin/answer.py?hl=en&answer=2587086&topic=2587085&ctx=topic

  - Google Analytics 1.x

    https://developers.google.com/analytics/devguides/collection/android/resources

  - 1.x를 기준으로 간단하게 설명을 드리면 다음과 같은 기능을 사용합니다.

     1) 방문자흐름: trackPageView()

     2) 맞춤변수:  setCustomVar()

  - 1.x 함수 호출 순서는 다음과 같습니다.

     1) Tracker t = GoogleAnalytics.getInstance()

     2) t.startNewSession()

     3) t.setCustomVar()

         t.trackPageView()

         t.dispatch()

     4) t.stopSession()