Amplitude には、HTTP API – Amplitude Developer Center があり、
Google AnalyticsのMeasurement Protocolのように、Webサイト外からもイベントを送信できます。1
JavaScript での送信例があったので、それを参考に、Google Apps ScriptからAmplitudeにイベントを送信してみました。
結果を記載します。
各言語のライブラリについて
以下、言語ごとにAmplitude関連のライブラリがありました。
Python
-
marmurar/pyamplitude: A Python connector for Amplitude Analytics
管理系APIのPython の Wrapper ライブラリです。 -
atveit/amplitude-python: Python API for Amplitude Analytics Logging - https://amplitude.com
Amplitude の HTTP API を Pythonから実行するライブラリです。
Ruby
- toothrot/amplitude-api: A Ruby library for interacting with the Amplitude API Amplitude の HTTP API を Rubyから実行するライブラリです。
JavaScript
-
amplitude/Amplitude-JavaScript: JavaScript SDK for Amplitude
Amplitude の JavaScript の Client ライブラリーです。 -
amplitude/react-amplitude: A React component library for easy product analytics instrumentation
React で Amplitude を使用するための Wrapper ライブラリーです。 -
Usage with nodejs · Issue #12 · amplitude/Amplitude-JavaScript
上記 Issue 内で node.js から HTTP API を実行する Example が記載されています。
見て回って、気になったものは以上です。
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 形式で値の設定ができます。
参考
以下、記事作成時に参考にしました。
- HTTP API – Amplitude Developer Center
- Usage with nodejs · Issue #12 · amplitude/Amplitude-JavaScript
以上です。
-
GETリクエストでも送付できるので、メールの開封率測定にも使えます。 ↩
コメント