Google Analytics와 통합

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

클라이언트 측과 서버 측에서 분석을 수집할 수 있습니다.

클라이언트 측 분석 수집

Google Analytics API 및 SDK를 통해 사용자와 콘텐츠 및 마케팅 이니셔티브의 상호작용을 측정할 수 있습니다. Google Analytics 사용자 인터페이스에서 사용자 상호작용 데이터를 보거나 보고서 API를 사용하여 데이터를 가져올 수 있습니다. 클라이언트 측 분석 수집에 대한 자세한 내용을 보려면 아래에서 클라이언트 유형에 맞는 링크를 선택하세요.

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

서버 측 분석 수집

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

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

서버 측 분석 수집을 사용 설정하려면 HTTP 클라이언트를 사용하고 Google Analytics 측정 프로토콜을 사용하여 HTTP 요청을 수행하면 됩니다. 자세한 내용은 이벤트 추적을 위한 Google Analytics 개발자 가이드를 참조하세요.

샘플 애플리케이션

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

App Engine에서 Google Analytics 측정 프로토콜을 사용하기 전에 다음을 수행하세요.

  • 샘플 앱을 로컬에서 실행하기 전에 앱에 필요한 환경 변수를 설정합니다.

    export GA_TRACKING_ID=YOUR_TRACKING_ID
    npm install
    

  • 명령줄을 사용하여 로컬에서 샘플 코드를 실행할 수 있습니다. 예를 들면 다음과 같습니다.

    npm start
    

  • 다음 코드를 App Engine 애플리케이션에 통합하여 Google Analytics에 이벤트 추적 데이터를 게시할 수 있습니다.

    const express = require('express');
    const got = require('got');
    
    const app = express();
    app.enable('trust proxy');
    
    // The following environment variable is set by app.yaml when running on App
    // Engine, but will need to be set manually when running locally. See README.md.
    const GA_TRACKING_ID = process.env.GA_TRACKING_ID;
    
    function trackEvent (category, action, label, value) {
      const data = {
        // API Version.
        v: '1',
        // Tracking ID / Property ID.
        tid: GA_TRACKING_ID,
        // Anonymous Client Identifier. Ideally, this should be a UUID that
        // is associated with particular user, device, or browser instance.
        cid: '555',
        // Event hit type.
        t: 'event',
        // Event category.
        ec: category,
        // Event action.
        ea: action,
        // Event label.
        el: label,
        // Event value.
        ev: value
      };
    
      return got.post('http://www.google-analytics.com/collect', {
        form: data
      });
    }
    
    app.get('/', (req, res, next) => {
      // Event value must be numeric.
      trackEvent('Example category', 'Example action', 'Example label', '100')
        .then(() => {
          res.status(200).send('Event tracked.').end();
        })
        // This sample treats an event tracking error as a fatal error. Depending
        // on your application's needs, failing to track an event may not be
        // considered an error.
        .catch(next);
    });
    
    const PORT = process.env.PORT || 8080;
    app.listen(PORT, () => {
      console.log(`App listening on port ${PORT}`);
      console.log('Press Ctrl+C to quit.');
    });

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Node.js 문서용 App Engine 가변형 환경