Catch up on everthing we announced at this year's Firebase Summit. Learn more

Cloud Functions を使用して Google アナリティクスを拡張する

Google アナリティクスは、ユーザーによるアプリの利用状況の把握に役立つイベント レポートを提供します。Cloud Functions を使用すると、Apple デバイスまたは Android デバイスで生成されたコンバージョン イベントにアクセスし、それらのイベントに基づいて関数をトリガーできます。

Google アナリティクスの関数をトリガーする

Cloud Functions では、Google アナリティクスの AnalyticsEvent がサポートされています。このイベントは、ユーザー アクティビティでコンバージョン イベントが生成されるたびにトリガーされます。たとえば、in_app_purchase イベントが生成されるとトリガーされる関数を作成して、アプリ内購入が行われたことを示すことができます。functions.analytics.event() メソッドを使用して関数をトリガーするアナリティクス イベントを指定し、onLog() イベント ハンドラ内でイベントを処理する必要があります。

exports.sendCouponOnPurchase = functions.analytics.event('in_app_purchase').onLog((event) => {
  // ...
});

イベント属性にアクセスする

アナリティクス イベントごとに、関連するすべてのパラメータとユーザー プロパティにアクセスできます。これには、ユーザー、デバイス、アプリの情報や、イベントの地理情報が含まれます。パラメータとユーザー プロパティの完全なリストについては、functions.analytics のリファレンスをご覧ください。

こちらのサンプルに示す購入トリガー関数では、ユーザーの言語やイベントの値(valueInUSD)などのユーザー属性にアクセスできます。この 2 番目の属性を使用すると、そのイベントが高価なコンバージョン イベントかどうかをサンプル関数でテストし、有望な顧客に高価値のクーポンを送信する判断材料にすることができます。

/**
 * After a user has completed a purchase, send them a coupon via FCM valid on their next purchase.
 */
exports.sendCouponOnPurchase = functions.analytics.event('in_app_purchase').onLog((event) => {
  const user = event.user;
  const uid = user.userId; // The user ID set via the setUserId API.
  const purchaseValue = event.valueInUSD; // Amount of the purchase in USD.
  const userLanguage = user.deviceInfo.userDefaultLanguage; // The user language in language-country format.

  // For purchases above 500 USD, we send a coupon of higher value.
  if (purchaseValue > 500) {
    return sendHighValueCouponViaFCM(uid, userLanguage);
  }
  return sendCouponViaFCM(uid, userLanguage);
});

次のステップ

Cloud Functions でのアナリティクス イベントの処理方法については、Google アナリティクスのドキュメントfunctions.analytics のリファレンスをご覧ください。また、コードサンプル coupon-on-purchase を試すこともできます。