Unfortunately, Firebase documentation is incomplete.
There is a filter inside Firebase Analytics panel:
And Firebase Notifications panel:
Which allows to filter users, but there is no instructions on how to set a user property as a Purchasers in the documentation.
The only description about Purchasers in the documents is this link.
I think there must be a command like this:
firebaseAnalytics.setUserProperty("USER_TYPE", "PURCHASERS"/"NONPURCHASERS");
But I have no clue about the Property name or the Value. Does anybody know how to do this?
The Purchasers Audience is one of the two predefined Audience available (the other one being All Users), wherein a Purchaser is defined as:
Users who have completed an in-app purchase or ecommerce purchase.
-- source
I think that pretty much explains it on how a user is labeled as a Purchaser.
You can however, create your own Audience if you prefer (from the same source above):
Create an audience
You create an audience by defining criteria that reference any of the user properties and events (along with any of their parameters) logged by the app. Once created, an audience accumulates users who meet the specified criteria from that point onward. You can create up to 50 audiences.
To create a new audience:
In Firebase Analytics, click the Audiences tab.
Click NEW AUDIENCE.
Enter a name and description for the audience. This name and description will allow you to identify the audience in the management table.
Click Select Event or User Property.
Create one or more conditions that define who should be included in this audience. You can create conditions that include the users who have taken specific actions (Event) or who share a property (User Property). Combine multiple conditions with OR or AND.
Click Create to save your conditions and create the audience.
Here is how you can create your Purchasers audience:
Click audience on the left-side menu
Click new audience on the top right
Select a filter > choose event > choose in_app_purchase
Click add a parameter
count > greater than 0
Related
Given that I can firebaseAnalytics.setUserProperty("some_property", someValue), it would be reasonable to expect that I can create an audience based on the certain user property right?
Can't find such option in Firebase console
It's not clear in the docs either
Side notes
I know that I can target audiences by one property user_id which is set through firebaseAnalytics.setUserId(someId) but that's not what I want
I managed to set up analytics for my Unity game with Firebase and get data correctly (user gives wrong answer, use help, etc).
My question is how can I get those data separately for each Game instead total for all levels/games?
For example:
Level: 1, Game: 3, Wrong answers: 15
Level: 1, Game: 3, Helps used: 5
Thank you.
First, a warning. Read the rules around event names, parameter names, and user property names. In case you were just wondering why events were't showing up in your dashboard, the space isn't a valid character.
You can use user properties to group all events logged under a user property. There's a really good iOS specific video, but the content applies to Unity/games with some api tweaks.
To filter events based on user properties. So open up your analytics dashboard:
And click "Add Filter":
You can do this pretty much throughout the Analytics console.
To set a user property, say to indicate that this is game 3, it's a simple:
FirebaseAnalytics.SetUserProperty("game", 3);
Of course, you may be logging this as custom parameters on existing events. The data is still there (you can see the custom parameter in an event card), and you can create an audience with this (remember that audiences are accumulative, so users won't leave an audience once they join). The best thing to do is to export to BigQuery and running custom queries. You can see a video on this here as well. You can also generate graphs with DataStudio. This is way more complicated (on the order of it not being reasonable to post examples, sorry for all the links). There's also more in this SO answer.
I hope that helps!
--Patrick
Recently I had a specific request, don't allow firebase analytics to collect user's data like gender, age and region (Due to GDPR). I know, we can completely disable Analytics.
Firebase Analytics says:
Analytics automatically logs some user properties; you don't need to add any code to enable them. If you need to collect additional data, you can set up to 25 different Analytics User Properties per project. Note that user property names are case-sensitive and that setting two user properties whose names differ only in case results in two distinct user properties being logged.
You can't use a small set of user property names reserved by Google:
Age
Gender
Interest
I was wondering if there is a way to only disable these users properties which are logged automatically??
Thanks a lot for your effort.
There is no option to exclude any of the automatic properties (except, apparently, on iOS, where you have to do some configuration to enable them). The only configurations are documented here. If you're required not to collect that information about the end user, your only option is to disable Analytics altogether.
Note the the data is fully anonymized. There is no way to track the properties back to a specific end user, unless you add some personally identifying information to a user record, such as a user ID.
In my app I want users to sign themselves up/in (through user pool I created) or through facebook. I have done this first approach and looking at facebook authentication now. Basically, I retrieve user info such as name, email, gender etc but I also want them to fill in missing information such as DOB, location or later on, if they wish, they should be able to modify those attributes. How can I achieve this ? Should I have a DynamoDB table and populate it with those attributes and let them modify it later ? Thanks for advice.
In addition to David's answer, you could use Cognito Sync to store each of those attributes as a record within a single dataset. Since you mentioned you have a Facebook provider linked, those'll be accessible cross devices and only visible to the owning user.
Dynamo is also a totally viable option, you could use Cognito's IAM permissions to make sure users can only see/update their own rows.
We added support for Federation through Facebook, Google and LoginWithAmazon for User Pools. This will create a user in user pool when a user logs in with federation. You can also capture the attributes from Facebook using the attribute mapping feature.
I would suggest aws cognito to help track the user attributes as you have e described https://aws.amazon.com/cognito/ it has a lot of those attributes built in and also allows you to create custom attributes.
I'm planning to use Firebase Analytics for my Apps. According to Firebase Docs is possible to set custom user properties docs here Android and IOS. Latter one can use the properties to create audiences in Firebase Analytics Dashboard as described here Analytics DashBoard
I want to use a user custom property as an Array.
For example:
Setting user property to TagsUserLikes=["hashtagBlue","hashtagRed","hashtagGreen"] so latter one I'll be able to track an audience of all the users that follow a particular tag, meaning users that contain the tag in the array.
So latter in the Analytics dashboard a audience defined solely as TagsUserLikes="hastagBlue" will match all users that contain this tag ["hashtagBlue","hashtagRed","hashtagGreen"] and ["hashtagBlue","hashtagDogs"],?
Is this supported in the Google Analytics Dashboard (create audience)?
Is this supported in the Google Big Query?
If Yes How can I achieve this?
tks
Although you could theoretically concatenate a list of tags in one User Property value (and use it for audience creation), the limit on the length of User Property values (36 characters) might make this approach impractical for you.
Alternatively, you can log an event such as "tag_followed" with a parameter "tag_name=" and then you can create an audience of users who log tag_followed with a particular tag_name value.