Set a user ID

Google Analytics has a setUserID call, which allows you to store a user ID for the individual using your app. This call is optional, and is generally used by organizations that want to use Analytics in conjunction with BigQuery to associate analytics data for the same user across multiple apps, multiple devices, or multiple analytics providers.

There are many ways you can construct valid user IDs. One approach is to use an identifier you assign and only you can track back to an individual user. For one possible example, consider a hypothetical mobile game developer, AwesomeGameCompany, that has their own internal AwesomeGameCompanyID that they create for every user. If it isn't possible for an outside organization to track that AwesomeGameCompanyID back to the original user, they might consider using that AwesomeGameCompanyID — or, better yet, a hashed version of AwesomeGameCompanyID — as the user ID value for Analytics. This would then allow them to calculate values such as a user's total spend across all of their games.

Setting a user ID is never required for Analytics to work correctly. If you're only interested in finding events belonging to the same user for the same app on a single device, you can use the user_pseudo_id. This value is generated automatically by Analytics and is stored within BigQuery for each event.

Setting the user ID

You can set a user ID with the following method:


Note: This Firebase product is not available on the macOS target.


Note: This Firebase product is not available on the macOS target.
[FIRAnalytics setUserID:@"123456"]




import { getAnalytics, setUserId } from "firebase/analytics";

const analytics = getAnalytics();
setUserId(analytics, "123456");



await FirebaseAnalytics.instance.setUserId(id: '123456');





After setting a user ID, all future events will be automatically tagged with this value, and you can access it by querying for the user_id value in BigQuery. Adding a user ID will not affect any events previously recorded by Google Analytics.

To find out more about accessing Analytics data in BigQuery, please see this development guide.