Google Analytics for Firebase

This section describes how to integrate Google Analytics for Firebase with Purchasely

Purchasely can send all your transactional events to Firebase through Google Analytics to enrich your users data. These events can then be used in Google Analytics, Firebase, Big Query...

📘

Read through Google Analytics for Firebase documentation to setup your Firebase project with Google Analytics. Google Analytics integration needs to be enabled before continuing.

🚧

This integration is to be considered as Beta because Google's API Measurement Protocol, used to push events from our servers, is not yet finalised.


Events

Below are the typical Server Events that can be leveraged to create no-code automations

EventDescription
SUBSCRIPTION_STARTEDCan be leveraged to trigger an automation to welcome new subscribers and make them discover the benefits of their premium membership or introduce them with specific premium features
RENEWAL_DISABLEDCan be leveraged to trigger an automation collecting feedback on the cancelation reasons or try to retain premium members before they effectively churn thanks to a retention offer
SUBSCRIPTION_TERMINATEDCan be leveraged to inform users that their premium membership has been effectively terminated
SUBSCRIPTION_RENEWEDCan be leveraged to create an automation thanking users for their loyalty
TRIAL_STARTED/ INTRO_OFFER_STARTEDCan be leveraged to trigger engagement and activation experiences and make premium members discover the benefits and advantages coming along with their subscription
TRIAL_CONVERTEDCan be leveraged to send a message to thank a premium member for their trust after they become a paying member
GRACE_PERIOD_STARTEDCan be leveraged to trigger an automation informing the end user of a billing issue with their premium membership and inviting them to update their credit card to avoid the suspension of their premium benefits

Associate your users

In order to associate those events back to your users, you will need to configure the Purchasely SDK to give us the firebaseAppInstanceId value:


if let firebaseAppInstanceId = Analytics.appInstanceID() {
	Purchasely.setAttribute(.firebaseAppInstanceId, value: firebaseAppInstanceId)
}
FirebaseAnalytics.getInstance(applicationContext).appInstanceId.addOnSuccessListener {
    Purchasely.setAttribute(Attribute.FIREBASE_APP_INSTANCE_ID, it)
}
/*
 Reference : https://rnfirebase.io/analytics/usage#app-instance-id
*/

import analytics from '@react-native-firebase/analytics';

async function getInstanceId() {
  const id = await analytics().getAppInstanceId();
  id && Purchasely.setAttribute(Attributes.FIREBASE_APP_INSTANCE_ID, id);
}
// Add plugin firebase-x to your project
// https://ionicframework.com/docs/native/firebase-x

//Retrieve the Firebase App Instance Id and forward it to Purchasely
FirebasePlugin.getId(function(appInstanceId) {
    Purchasely.setAttribute(Purchasely.Attribute.FIREBASE_APP_INSTANCE_ID, appInstanceId);
}, function(error) {
    console.error(error);
});

📘

You can always give your custom User ID to Analytics if you need more detailed metrics, as detailed in Set a User ID documentation. But make sure it matches the vendor_id you give to Purchasely to avoid discrepancies.


Configure the integration in the Purchasely Console

Go in the "External integrations" section, and open the edition form for Firebase:

For each platform, you will find your Firebase App ID in your Firebase Project settings:


Retrieving API secrets

Go to your Firebase project Settings > Integration > (Google Analytics) Manage:


Click on your linked Google Analytics account, to open Google Analytics settings:


In the Google Analytics Admin section, make sure you have selected the correct project. Then click on Data Streams:


Click on one of your apps (make sure they match the apps that you are configuring in Purchasely!):


Go to the Additional settings section, then click on Measurement Protocol API secrets section:


Review terms, then click on Create:


Give an appropriate nickname to the API secret (e.g. "Purchasely Platform"), then click Create:


You can finally copy the obtained Secret value into Purchasely API Secret for the relevant platform.

📘

You will need to repeat the procedure for each platform.

Don't forget to toggle the Integration Enabled switch on the Account Parameters page.


Customising Server Event Names

If you want to, you can rename events sent to Google Analytics:

📘

Event names must be 40 characters or fewer, may only contain alphanumeric characters and underscores, and must start with an alphabetic character. See Google Analytics documentation on Limitations for more info.