Stay organized with collectionsSave and categorize content based on your preferences.
Google Analyticshas asetUserIDcall, 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 useAnalyticsin 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 internalAwesomeGameCompanyIDthat they
create for every user. If it isn't possible for an outside organization to track
thatAwesomeGameCompanyIDback to the original user, they might consider using
thatAwesomeGameCompanyID— or, better yet, a hashed version ofAwesomeGameCompanyID— as the user ID value forAnalytics.
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 forAnalyticsto 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 theuser_pseudo_id.
This value is generated automatically byAnalyticsand is
stored within BigQuery for each event.
Setting the user ID
You can set a user ID with the following method:
Swift
Note:This Firebase product is not available on the macOS target.
Analytics.setUserID("123456")
Objective-C
Note:This Firebase product is not available on the macOS target.
After setting a user ID, all future events will be automatically tagged
with this value, and you can access it by querying for theuser_idvalue in BigQuery. Adding a user ID will not affect any
events previously recorded byGoogle Analytics.
To find out more about accessingAnalyticsdata in BigQuery, please see
thisdevelopment guide.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-05 UTC."],[],[],null,["Google Analytics has a `setUserID` call, which allows you to\nstore a user ID for the individual using your app. This call is optional, and\nis generally used by organizations that want to use Analytics\nin conjunction with BigQuery to associate analytics data for the same user across\nmultiple apps, multiple devices, or multiple analytics providers.\n| **Note:** You are responsible for ensuring that your use of the user ID is in accordance with the [Google Analytics Terms of Service](https://www.google.com/analytics/terms/). This includes avoiding the use of impermissible personally identifiable information, and providing appropriate notice of your use of identifiers in your Privacy Policy. Your user ID must not contain information that a third party could use to determine the identity of an individual user. For example, you cannot use a user's email address or social security number as a user ID.\n\nThere are many ways you can construct valid user IDs. One approach is to use an\nidentifier you assign and only you can track back to an individual user. For one\npossible example, consider a hypothetical mobile game developer,\nAwesomeGameCompany, that has their own internal `AwesomeGameCompanyID` that they\ncreate for every user. If it isn't possible for an outside organization to track\nthat `AwesomeGameCompanyID` back to the original user, they might consider using\nthat `AwesomeGameCompanyID` --- or, better yet, a hashed version of\n`AwesomeGameCompanyID` --- as the user ID value for Analytics.\nThis would then allow them to calculate values such as a user's total spend\nacross all of their games.\n\nSetting a user ID is never required for Analytics to work correctly.\nIf you're only interested in finding events belonging to the same user for the\nsame app on a single device, you can use the `user_pseudo_id`.\nThis value is generated automatically by Analytics and is\nstored within BigQuery for each event.\n\nSetting the user ID\n\nYou can set a user ID with the following method: \n\nSwift\n\n\n**Note:** This Firebase product is not available on the macOS target. \n\n```swift\nAnalytics.setUserID(\"123456\")\n```\n\nObjective-C\n\n\n**Note:** This Firebase product is not available on the macOS target. \n\n```objective-c\n[FIRAnalytics setUserID:@\"123456\"]\n```\n\nAndroid \n\n```java\nmFirebaseAnalytics.setUserId(\"123456\");\n```\n\nWeb \n\n```java\nimport { getAnalytics, setUserId } from \"firebase/analytics\";\n\nconst analytics = getAnalytics();\nsetUserId(analytics, \"123456\");\n```\n\nWeb \n\n```java\nfirebase.analytics().setUserId(\"123456\");\n```\n\nDart \n\n```dart\nawait FirebaseAnalytics.instance.setUserId(id: '123456');\n```\n\nUnity \n\n```c#\nFirebase.Analytics.FirebaseAnalytics.SetUserID(\"123456\");\n```\n\nC++ \n\n```c++\nanalytics::SetUserId(\"123456\");\n```\n\nAfter setting a user ID, all future events will be automatically tagged\nwith this value, and you can access it by querying for the `user_id`\nvalue in BigQuery. Adding a user ID will not affect any\nevents previously recorded by Google Analytics.\n\nTo find out more about accessing Analytics data in BigQuery, please see\nthis [development guide](https://cloud.google.com/solutions/mobile/mobile-firebase-analytics-big-query)."]]