Firebase

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

The following events will be sent. You can set the event name of your choice in the console.

Event

Description

PURCHASE_VALIDATED

Sent when the user purchased a product wether it is the start of a trial or a regular purchase of a consumable product.

RENEWAL_DISABLED

Sent when the user deactivates the renewal of a subscription wether it is in trial period or not.

RENEWAL_ENABLED

Sent when the user reactivates

SUBSCRIPTION_EXPIRED

Sent when the subscription actually ends

SUBSCRIPTION_RENEWED

Sent when a subscription renews

TRIAL_STARTED

Sent when a trial starts

TRIAL_CONVERTED

Sent when a user converts from a free trial to a normal paid-period

TRIAL_NOT_CONVERTED

Sent when a user finishes it's trial period without renewing to a paid-period

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:

Swift
Kotlin
Java
React Native
Swift
if let firebaseAppInstanceId = Analytics.appInstanceID() {
Purchasely.setAttribute(.firebaseAppInstanceId, value: firebaseAppInstanceId)
}
Kotlin
FirebaseAnalytics.getInstance(applicationContext).appInstanceId.addOnSuccessListener {
Purchasely.setAttribute(Attribute.FIREBASE_APP_INSTANCE_ID, it)
}
Java
FirebaseAnalytics.getInstance(getApplicationContext()).getAppInstanceId().addOnSuccessListener(id -> Purchasely.setAttribute(Attribute.FIREBASE_APP_INSTANCE_ID, id));
React Native
import iid from '@react-native-firebase/iid';
async function getInstanceId() {
const id = await iid().get();
Purchasely.setAttribute(Attributes.FIREBASE_APP_INSTANCE_ID, id);
}

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.