Firebase RemoteConfig and conditions with audience - firebase

In Firebase I am trying to set up some RemoteConfig parameters that should have different values based on the audience membership of the user that is logged in to an Android app we are developing.
The problem is that I am not allowed to set up a RemoteConfig condition based on audience. The option is greyed out.
Also, if I attempt to view events filtered by my Audience in Firebase
Analytics, no events appear.
My audience configuration in Firebase looks like this:
I understand that I my audience needs to be "reasonably well
developed" for them to be targetted by RemoteConfig
(https://support.google.com/firebase/answer/6317509?hl=en)
So I have followed this procedure to populate the audience:
Install app
app triggers "login" event with custom user property "chain_id" set.
uninstall app
reset advertising ID (as noted here https://stackoverflow.com/a/39183589/930653)
I have repeated this about 20 times and waited 48 hours.
The audience ("Minibuss") now lists 23 members:
But still, I can not use the audience as a condition in RemoteConfig,
or filter events in Firebase Analytics based on this audience.
I have tried looking at DebugView in the Firebase console, and I can see the user has the correct porperty "chain_id" set to 524, and so the event should match the audience.
Am I missing something?

This rule requires an App ID rule to select an app associated with
your Firebase project.
from https://firebase.google.com/docs/remote-config/parameters
You need to set Applies if "App" and choose your app, and then User audience option will be available.

Related

Firebase Remote Config - Conditions not applied

I am using the Firebase Web SDK 8.3.1 and I have created a remote config parameter with conditions based on a custom user properties.
The problem I encounter is that my end users always get the default value, never one from any of the conditions, even if I am sure the user actually matches the conditions...
I see in the doc:
Warning: To use audiences and user properties with Remote Config, you
must enable Google Analytics data sharing for your project. In your
app, you'll need to ensure Firebase Analytics is present and data
collection is available as well.
Then if I follow the provided link I see the instructions:
To manage Google Analytics for Firebase data sharing:
Sign in to Firebase and select a project.
Click the Settings icon and select Project Settings.
On the Project Settings page, click Data privacy.
See the options available under Google Analytics data
sharing. When you share Analytics data, you share it for all the apps
in your project.
Turn on the switch for Share Analytics data with all Firebase
features, including Predictions, A/B Testing, Remote Config, and
Notifications (this is your default setting) to enable all current
options to share data with Firebase features.
But in my firebase console I dont have this switch! Under "Google Analytics data sharing" there is now another link:
So I cant turn on this setting :(
Note: how I made sure my user actually matches the condition "user property X == A":
Wait 30mins
Launch the app with a user having user property X set to A
Launch the Realtime dashboard of Firebase Analytics and filter to the last 30mins
And here I see that there were indeed 1 user in the last 30mins and this user had property X set to A
So is there anything special I should do when I want to create a condition using custom user properties?

How Does Firebase Analytics count New Users in Web App

We have a web app that users log into using Firebase Auth. According to our the authentication section of our firebase console, we have 690 user that have created accounts, and we believe that is correct.
According to our Firebase Analytics console, we have 2,100 new users in the past 90 days. I think I understand that Firebase Analytics tracks users with a device ID (?). So, if this were a iOS app, an uninstall and install would trigger a a new user counted in analytics. But, how does this work on a web app? Cookie? Some kind of browser id? A session?
So, I think if we want to track unique users accurately, we would use the set the user id, with this:
https://firebase.google.com/docs/reference/js/firebase.analytics.Analytics#setuserid
Which according to the docs linked above, 'Use gtag 'config' command to set 'user_id'. So it does this: https://developers.google.com/analytics/devguides/collection/gtagjs/cookies-user-id#set_user_id
Which allows the users to be tracked across sessions. Therefore, users should not double count.
Notice that the setUserId section in the firebase analytics docs does not have a web section (although the setUserID function does exist in the javascript sdk as shown tow links above) https://firebase.google.com/docs/analytics/userid
So... would it then work to get the user id (uid) when they log in (https://firebase.google.com/docs/reference/js/firebase.User). And then use the setUserId method to set the id?
It's unclear because the documentation does not seem to be in one source. I am just trying to put it all together
You are correct that you can use the setUserId API (across iOS, web and Android) in order to identify the same user across platforms. Note that you'll need to:
Set the default reporting identity to "By User-ID then Device" in the Reporting settings for Google Analytics in the Firebase console (see attached screenshot and docs for more info).
Make sure you are following the Privacy Policy when using the User ID.

Firebase Remote-Config crash free users

I'm trying to display a "Rate Me" popup to most active users that haven't received crashes recently.
I can easily track how active an user is by using analytics and conditions, and setting a remote-config flag to true.
Is there a way to create an audience or a condition to select users without crashes?
Yes, you can do this by creating an exclusion group in your Analytics audience that excludes users who have logged an app_exception event within a specific timeframe.
The best way to do this, assuming you're already creating an audience for the active users you want to target, is to add on the exclusion group to that audience as well to remove users who have experienced a crash recently.
See attached screenshot for an example from the Firebase console.

Firebase Audience Targeting on Count Operators

I use Firebase Analytics & Audiences for event tracking & push notification campaigns. I want to target my app's users that did not have an in_app_purchase across their entire lifetime.
I created the following tests in the Firebase Analytics Audiences dashboard, but could unfortunately not save & create the audiences:
Test 2 below does not work with in_app_purchase Count < 1.
Test 3 does not work with in_app_purchase Count = 0.
I assume I am not the only one that want to grow their buyer segment. So, I am curious how one would be able to create this audience in Firebase (and target them thereafter with a push notification)?
Firebase Analytics includes a default audience of "Purchasers" which can then be used in reverse (using "does not include all of") to compose a message to users that are not part of this audience:

Firebase audience not being populated after several days

I'm attempting to build a Firebase audience for my Android app based on users who live in the United States. From what I've gathered, users' countries are a property that's gathered out of the box simply by integrating with the Firebase SDK. I built an audience in the analytics dashboard (criteria is user property -> country -> exactly matches 'US'), but I still haven't seen any users populated in the audience. It's been over 3 days since I created the audience, as I've read from several other questions that the audience is not populated retroactively.
I also tried creating a separate audience for users that are on the latest version of my app, and that audience hasn't gathered any users either since it was created.
Here's a screenshot of my audience configurations
Is there anything I could be missing here, or is this a potential bug in Firebase?
To become audience member a user needs to trigger an event and match all the conditions in the audience. Using country as the only condition will not automatically make all users that are in US members as there is nothing to trigger the audience evaluation.
Also audiences are sticky so your audience is users who are in US or have been in US at any time in the past since you defined the audience.
You have two options to make this work:
You don't need to define audience for location. Every event has the current location already and you can use location to target push notifications or change remote config values. Its redundant to define location as audience.
Add common event as audience trigger to your audience. You can use something like session_start. This will make audience evaluated every time "session_start" event is triggered. Once the user location matches and the user starts a session he/she will become a member. The membership is sticky so your audience is users who have started session while in the US not users who are in the US now. If you want users in the US now use option 1.

Resources