Google アナリティクスとの統合

Google アナリティクス プラットフォームでは、多様な端末と環境で、企業とユーザーのやり取りを測定できます。Google アナリティクスには、こうしたユーザーとのやり取りを収集、保存、処理、報告するためのリソースが備わっています。

アナリティクス データは、クライアント側とサーバー側で収集(コレクション)できます。

クライアント側アナリティクス コレクション

Google アナリティクスの API と SDK を使用して、ユーザーが企業のコンテンツやマーケティング活動とどのようにやり取りしているかを測定します。Google アナリティクスのユーザー インターフェースでユーザーとのやり取りのデータを表示したり、Reporting API を使用してデータをフェッチしたりすることができます。クライアント側アナリティクス コレクションの詳細については、クライアントのタイプに応じて次のリンクを選択してください。

  • ウェブ トラッキング(analytics.js) - ウェブサイトまたはウェブ アプリケーションとユーザーのやり取りを測定します。
  • Android - Android アプリケーションとユーザーのやり取りを測定します。
  • iOS - iOS アプリケーションとユーザーのやり取りを測定します。
  • Measurement Protocol - この低レベル プロトコルを使用して、任意の環境内のユーザーのやり取りを測定します。

サーバー側アナリティクス コレクション

App Engine にはアプリケーション内のイベントをロギングするメカニズムが用意されていますが、Google アナリティクスを使用して Google アナリティクス内で特定のサーバー側イベントをトラッキングすると、次のことが可能になります。

  • 履歴データの分析 - App Engine では、ログファイルの最大日数やサイズを設定できます。この限度を超えると、それらのログファイルにアクセスできなくなります。Google アナリティクスでイベントをトラッキングすることで、過去のイベントを表示できる期間が大幅に長くなります。
  • 重要なイベントのトラッキング - アプリケーションのさまざまなコンポーネントがログファイルに書き込むことによって、ログファイルが冗長になる場合があります。イベント トラッキングを使用することで、重要なイベントを正確に特定し、いくつかのメタデータと共にそれらをトラッキングできます。
  • ユーザー インターフェースの活用 - Google アナリティクスにある高機能のユーザー インターフェースを活用して、これらのサーバー側イベントの可視化、レポート、エクスポートを行います。

サーバー側アナリティクス コレクションを有効にするには、HTTP クライアントを使用して Google アナリティクスの Measurement Protocol によって HTTP リクエストを生成できます。詳細については、Google アナリティクス デベロッパー ガイドのイベント トラッキングをご覧ください。

サンプル アプリケーション

次のサンプル アプリケーションは、App Engine アプリケーション内のイベントをトラッキングする方法を示しています。このアプリケーションは HTTP リクエストを生成し、イベントに関するデータを Google アナリティクスに送信します。

App Engine で Google アナリティクスの Measurement Protocol を使用する前に、次のことを行います。

  • サンプルアプリをローカルで実行する前に、アプリで必要とされる環境変数を次のように設定します。

    export GA_TRACKING_ID=YOUR_TRACKING_ID
    npm install
    

  • コマンドラインを使用して、サンプルコードをローカルで実行できます。次に例を示します。

    npm start
    

  • 次のコードを App Engine アプリケーションに組み込んで、イベント トラッキング データを Google アナリティクスに送信できます。

    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 スタンダード環境に関するドキュメント