Stay organized with collections
Save and categorize content based on your preferences.
Google Analytics provides event reports that help you understand
how users interact with your app. With Cloud Functions (1st gen), you
can access conversion events you have logged from Apple and Android devices
and trigger functions based on those events.
Trigger a Google Analytics function
Cloud Functions supports the Google AnalyticsAnalyticsEvent.
This event is triggered whenever user activity generates a conversion event.
For example, you could write a function that
triggers when the in_app_purchase event is generated, indicating that an
in-app purchase has occurred.
You must specify the Analytics event that
you want to trigger your function using the
functions.analytics.event()
method, and handle the event within the
onLog()
event handler:
With each Analytics event, you have access to all relevant
parameters and user properties. These include information about the user, the
device, the app, and geographical information for the event.
For the complete list of parameters and user properties, see the
functions.analytics reference.
For a purchase-triggered function as illustrated in
this sample,
you might want to access user attributes such as the user's language and the
event's value (valueInUSD).
This second attribute allows the sample function to test whether this is a
high-value conversion event, in order to send a higher-value coupon to valuable customers.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-15 UTC."],[],[],null,["\u003cbr /\u003e\n\nGoogle Analytics provides event reports that help you understand\nhow users interact with your app. With Cloud Functions (1st gen), you\ncan access conversion events you have logged from Apple and Android devices\nand trigger functions based on those events.\n| Only Apple platform and Android events marked as conversion events are currently supported by Cloud Functions; Web conversion events are not currently available. You can specify which events are conversion events in the [Events](//console.firebase.google.com/project/_/analytics/events) tab of the Firebase console **Analytics** pane.\n| **Note:** Cloud Functions for Firebase (2nd gen) does not provide support for the events and triggers described in this guide. Because 1st gen and 2nd gen functions can coexist side-by-side in the same source file, you can still develop and deploy this functionality together with 2nd gen functions.\n\nTrigger a Google Analytics function\n\nCloud Functions supports the Google Analytics\n[`AnalyticsEvent`](/docs/reference/functions/firebase-functions.analytics.analyticsevent).\nThis event is triggered whenever user activity generates a conversion event.\nFor example, you could write a function that\ntriggers when the `in_app_purchase` event is generated, indicating that an\nin-app purchase has occurred.\nYou must specify the Analytics event that\nyou want to trigger your function using the\n[`functions.analytics.event()`](/docs/reference/functions/firebase-functions.analytics.analyticsevent)\nmethod, and handle the event within the\n[`onLog()`](/docs/reference/functions/firebase-functions.analytics.analyticseventbuilder#analyticsanalyticseventbuilderonlog)\nevent handler:\n\n\u003cbr /\u003e\n\n```gdscript\nexports.sendCouponOnPurchase = functions.analytics.event('in_app_purchase').onLog((event) =\u003e {\n // ...\n});\n```\n\n\u003cbr /\u003e\n\nAccess event attributes\n\nWith each Analytics event, you have access to all relevant\nparameters and user properties. These include information about the user, the\ndevice, the app, and geographical information for the event.\nFor the complete list of parameters and user properties, see the\n[`functions.analytics`](/docs/reference/functions/firebase-functions.analytics) reference.\n\nFor a purchase-triggered function as illustrated in\n[this sample](https://github.com/firebase/functions-samples/tree/main/Node-1st-gen/coupon-on-purchase),\nyou might want to access user attributes such as the user's language and the\nevent's value ([`valueInUSD`](/docs/reference/functions/firebase-functions.analytics.analyticsevent#analyticsanalyticseventvalueinusd)).\nThis second attribute allows the sample function to test whether this is a\nhigh-value conversion event, in order to send a higher-value coupon to valuable customers.\n\n\u003cbr /\u003e\n\n```gdscript\n/**\n * After a user has completed a purchase, send them a coupon via FCM valid on their next purchase.\n */\nexports.sendCouponOnPurchase = functions.analytics.event('in_app_purchase').onLog((event) =\u003e {\n const user = event.user;\n const uid = user.userId; // The user ID set via the setUserId API.\n const purchaseValue = event.valueInUSD; // Amount of the purchase in USD.\n const userLanguage = user.deviceInfo.userDefaultLanguage; // The user language in language-country format.\n\n // For purchases above 500 USD, we send a coupon of higher value.\n if (purchaseValue \u003e 500) {\n return sendHighValueCouponViaFCM(uid, userLanguage);\n }\n return sendCouponViaFCM(uid, userLanguage);\n});https://github.com/firebase/functions-samples/blob/c4fde45b65fab584715e786ce3264a6932d996ec/Node-1st-gen/coupon-on-purchase/functions/index.js#L23-L41\n```\n\n\u003cbr /\u003e\n\nNext steps\n\nTo learn more about handling Analytics events in Cloud Functions,\nsee the [Google Analytics documentation](/docs/analytics) and the\n[`functions.analytics`](/docs/reference/functions/firebase-functions.analytics) reference,\nand try running the code sample\n[coupon-on-purchase](https://github.com/firebase/functions-samples/tree/main/Node-1st-gen/coupon-on-purchase)."]]