Google 애널리틱스와 통합

Google 애널리틱스 플랫폼을 사용하면 다양한 기기와 환경에서 비즈니스와 사용자의 상호작용을 측정할 수 있습니다. Google 애널리틱스는 이러한 사용자 상호작용을 수집, 저장, 처리, 보고하기 위한 리소스를 제공합니다.

클라이언트 측과 서버 측에서 애널리틱스를 수집할 수 있습니다.

클라이언트 측 애널리틱스 수집

Google Analytics API와 SDK를 사용하여 콘텐츠 및 마케팅 이니셔티브와 사용자가 어떻게 상호작용하는지 측정할 수 있습니다. Google 애널리틱스 사용자 인터페이스에서 사용자 상호작용 데이터를 확인하거나 Reporting API를 사용하여 데이터를 가져올 수 있습니다. 아래에서 클라이언트 유형에 맞는 링크를 선택하여 클라이언트 측 애널리틱스 수집에 대한 자세한 내용을 확인하세요.

  • 웹 추적(analytics.js) - 사용자와 웹사이트 또는 웹 애플리케이션의 상호작용을 측정합니다.
  • Android - 사용자와 Android 애플리케이션의 상호작용을 측정합니다.
  • iOS - 사용자와 iOS 애플리케이션의 상호작용을 측정합니다.
  • 측정 프로토콜 - 모든 환경에서 사용자 상호작용을 측정하는 저수준 프로토콜입니다.

서버 측 애널리틱스 수집

App Engine은 애플리케이션의 이벤트를 로깅하는 메커니즘을 제공하지만 Google 애널리틱스를 사용하여 특정 서버 측 이벤트를 추적하여 다음을 수행할 수 있습니다.

  • 이전 데이터 분석 - App Engine에서 로그 파일의 최대 일수나 크기를 구성할 수 있습니다. 이 한도가 초과된 후에는 더 이상 해당 로그 파일에 액세스할 수 없습니다. Google 애널리틱스의 이벤트 추적을 사용하면 훨씬 더 긴 기간 동안의 과거 이벤트를 확인할 수 있습니다.
  • 주요 이벤트 추적 - 애플리케이션의 다양한 구성요소에서 데이터를 기록하므로 로그 파일이 장황해질 수 있습니다. 이벤트 추적을 사용하면 주요 이벤트를 선별하여 몇 가지 메타데이터와 함께 추적할 수 있습니다.
  • 사용자 인터페이스에서 작업 - Google 애널리틱스가 제공하는 다채로운 사용자 인터페이스를 활용하여 서버 측 이벤트를 시각화하고 보고하고 내보낼 수 있습니다.

서버 측 애널리틱스 수집을 사용 설정하려면 HTTP 클라이언트를 통해 Google 애널리틱스 측정 프로토콜을 사용하여 HTTP 요청을 전송합니다. 자세한 내용은 이벤트 추적에 대한 Google 애널리틱스 개발자 가이드를 참조하세요.

샘플 애플리케이션

아래의 샘플 애플리케이션은 App Engine 애플리케이션에서 이벤트를 추적하는 방법을 보여줍니다. 이 애플리케이션은 HTTP 요청을 전송하고 이벤트에 대한 데이터를 Google 애널리틱스에 게시합니다.

App Engine에서 Google 애널리틱스 측정 프로토콜을 사용하기 전에 다음 단계를 따르세요.

  1. 유니버설 애널리틱스 속성을 만들고 추적 ID를 가져옵니다.

  2. app.yaml에 추적 ID와 함께 환경 변수를 포함합니다. 예를 들어 샘플 애플리케이션의 경우는 다음과 같습니다.

    env_variables:
      GA_TRACKING_ID: "YOUR-GA-TRACKING-ID"
  3. 샘플 앱을 로컬에서 실행하기 전에 앱에서 필요한 환경 변수를 설정합니다.

    export GA_TRACKING_ID=YOUR_TRACKING_ID
    composer install
    
  4. 명령줄을 사용하여 로컬에서 샘플 코드를 실행합니다. 예를 들면 다음과 같습니다.

    php -S localhost:8000
    

  5. 다음 코드를 App Engine 애플리케이션에 통합하여 이벤트 추적 데이터를 Google 애널리틱스에 게시합니다.

    $baseUri = 'http://www.google-analytics.com/';
    $client = new GuzzleHttp\Client(['base_uri' => $baseUri]);
    $formData = [
        'v' => '1',  # API Version.
        'tid' => $trackingId,  # Tracking ID / Property ID.
        # Anonymous Client Identifier. Ideally, this should be a UUID that
        # is associated with particular user, device, or browser instance.
        'cid' => '555',
        't' => 'event',  # Event hit type.
        'ec' => 'Poker',  # Event category.
        'ea' => 'Royal Flush',  # Event action.
        'el' => 'Hearts',  # Event label.
        'ev' => 0,  # Event value, must be an integer
    ];
    $gaResponse = $client->request('POST', 'collect', ['form_params' => $formData]);

Google 애널리틱스 관리 콘솔에서 스파이더와 봇의 트래픽을 제외하도록 설정을 사용 설정한 경우 또는 Google 애널리틱스 4(이 트래픽을 자동으로 필터링)를 사용하는 경우 App Engine 클라이언트에서 애널리틱스 결과가 표시되지 않을 수 있습니다. 이러한 시나리오에서는 기본 App Engine 사용자 에이전트를 필터링합니다. App Engine 결과를 보려면 추적 데이터에 ua 매개변수를 포함하고 커스텀 값으로 설정하세요.