Search code examples
node.jsfirebasegoogle-cloud-functionsfirebase-analytics

Firebase analytics log events with cloud functions


I'm using google cloud functions as backend to process my app orders and connect with gateway payment to accept/deny purchases...

Everything is working fine. but i would like to register the purchase events to firebase analytics so i can monitore all app revenue in the same dashboard in firebase

on android I can do something like:

Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.VALUE, value);
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.PURCHASE, bundle);

then it will appears in my dashboard... the problem is i want to register this event ONLY WHEN the user paid for the purchase, so it can be done from the app, it must be set after the payment gateway returns to my backend with the payment status

I'm using google cloud functions with node js as backend and i would like to know how can i register an firebase analytics event from there


Solution

  • Update: there is an API to send events to Google Analytics from server-side environments and through REST calls nowadays. See Roman's answer here and the documentation for sending Measurement Protocol events to Google Analytics.


    Original answer 👇

    There is no SDK to send events to Google Analytics for Firebase from Node.js/Cloud Functions. The only way I can see is to export your Firebase Analytics to BigQuery, and then write to BigQuery from Cloud Functions too. Then you can perform queries on the combined data in BigQuery.

    Also see: