Amplitude には、HTTP API – Amplitude Developer Centerあり、
Google AnalyticsのMeasurement Protocolのように、Webサイト外からもイベントを送信できます。1
JavaScript での送信例があったので、それを参考に、Google Apps ScriptからAmplitudeにイベントを送信してみました。
結果を記載します。


各言語のライブラリについて

以下、言語ごとにAmplitude関連のライブラリがありました。

Python

Ruby

JavaScript

見て回って、気になったものは以上です。


Google Apps Script から Amplitude にイベントを送信する

以下のように実装して、上手く記録されました。

function fetchAmplitude_() {
  var apiKey = 'xxxxxxxxxxxxxxxxxxxx';
  // ------------------
  // performanceMetrics
  var event = new Object();
  event['user_id'] = "user_id_value";
  event['event_type'] = "eventName";
  event['event_properties'] = { a: "xxxxx", b : "yyyyy"};

  var data = {
     api_key: apiKey,
     event: JSON.stringify(event)
  };

  var options = {
     "method" : "post",
     "payload" : data,
     "muteHttpExceptions": false
  };
  UrlFetchApp.fetch('https://api.amplitude.com/httpapi', options);
}

補足

以下、補足説明を記載します。

  • apiKey
    Amplitudeの API KEY を設定します。

  • event[‘user_id’]
    Amplitude の ユーザーID を設定します。
    Google Apps Script から、実ユーザーのユーザーIDを取得できるならばそれを、ユーザーに紐付きのないデータの記録であれば

  • event[‘event_type’]
    イベント名を設定します。これは、以下 JavaScript のClient API で設定している EVENT_TYPE同じものです。

    amplitude.getInstance().logEvent('EVENT_TYPE')
    

  • event[‘event_properties’] イベントの属性値です。JSON 形式で値の設定ができます。


参考

以下、記事作成時に参考にしました。

以上です。


  1. GETリクエストでも送付できるので、メールの開封率測定にも使えます。 

コメント