Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

Why does the same user_pseudo_id appear across multiple devices in BigQuery?

Hello folks,

Context: In my Firebase implementation, I've noticed that the same user_pseudo_id is appearing across multiple devices with different models (e.g. iPhone X -> iPhone 11). From my understanding, user_pseudo_id is supposed to be a unique identifier for a user on a specific device or client. This ID usually varies between devices, even if the same user accesses from different platforms.

Question:

  1. Could anyone explain how or why the same user_pseudo_id might appear across multiple, distinct devices? 
  2. If a user transfers data from a device to another, would this process carry over the user_pseudo_id to the new device?
Solved Solved
0 3 6,914
2 ACCEPTED SOLUTIONS

There are several reasons why the same user_pseudo_id might appear across multiple devices in BigQuery:

  1. Firebase Authentication Linking: If your application uses Firebase Authentication and a user logs into the same account on multiple devices, the user_pseudo_id can be the same across these devices. This is because Firebase links the user's identity across different sessions and devices based on their account.

  2. Data Transfer: When users transfer app data between devices, such as through iCloud or Google's backup service, the user_pseudo_id associated with the original device can be carried over to the new device. This happens because this identifier, which is stored locally on the device, is included in the transferred data.

  3. Cross-device Analysis in GA4: While Google Analytics 4 (GA4) has capabilities for cross-device tracking and analysis, it's important to note that this is more about data modeling and reporting within the GA4 interface. The user_pseudo_id in Firebase and BigQuery is typically unique to a device or app instance. GA4's cross-device tracking does not directly alter the user_pseudo_id in the raw data but may use various signals for analysis purposes.

  4. Probabilistic Attribution: The user_pseudo_id is generally unique to a device or app instance. However, in certain scenarios like account linking or data transfer, it can span multiple devices. It's important to understand that user_pseudo_id itself is not used for probabilistic attribution in the raw data; such complex attribution is more a feature of analytical processing in tools like GA4.

  5. Using Additional Identifiers: For more detailed device-level tracking, consider using additional identifiers such as device_id or app_instance_id alongside user_pseudo_id. These can provide more granular insights but must be managed in compliance with privacy regulations and user consent.

While user_pseudo_id can appear across multiple devices due to factors like account linking and data transfer, its primary role is as a unique identifier within the raw data. Cross-device tracking and probabilistic attribution are more related to the analytical capabilities of tools like GA4.

View solution in original post

When a user transfers data to a new device, the behavior of attributes like user_first_touch_timestamp and previous_first_open_count in Firebase and BigQuery can vary depending on the specifics of the data transfer and the implementation of Firebase in your app.

  • user_first_touch_timestamp: This attribute typically represents the timestamp of the user's first interaction with your app. If the user's data, including app settings and local storage, is transferred to a new device (e.g., via a cloud backup and restore service), it's possible that user_first_touch_timestamp could also be transferred. This would mean that the timestamp remains the same on the new device, reflecting the user's first interaction with the app on the original device.

  • previous_first_open_count: This parameter, which is part of the first_open event in Firebase, tracks the number of times the app has been opened for the first time on a device. When a user shifts to a new device and if the app data (including Firebase analytics data) is transferred to the new device, the previous_first_open_count might also be transferred. In such a case, it would not reset but continue from the count on the previous device. However, if the app is installed as a fresh installation without transferring data, previous_first_open_count would typically start from zero, indicating a new first open on that device.

It's important to note that these behaviors can be influenced by how your app handles user data during transfers and how Firebase Analytics is integrated into your app. For the most accurate understanding of how these attributes behave in your specific scenario, you may need to conduct tests or consult Firebase's documentation or support.

View solution in original post

3 REPLIES 3

There are several reasons why the same user_pseudo_id might appear across multiple devices in BigQuery:

  1. Firebase Authentication Linking: If your application uses Firebase Authentication and a user logs into the same account on multiple devices, the user_pseudo_id can be the same across these devices. This is because Firebase links the user's identity across different sessions and devices based on their account.

  2. Data Transfer: When users transfer app data between devices, such as through iCloud or Google's backup service, the user_pseudo_id associated with the original device can be carried over to the new device. This happens because this identifier, which is stored locally on the device, is included in the transferred data.

  3. Cross-device Analysis in GA4: While Google Analytics 4 (GA4) has capabilities for cross-device tracking and analysis, it's important to note that this is more about data modeling and reporting within the GA4 interface. The user_pseudo_id in Firebase and BigQuery is typically unique to a device or app instance. GA4's cross-device tracking does not directly alter the user_pseudo_id in the raw data but may use various signals for analysis purposes.

  4. Probabilistic Attribution: The user_pseudo_id is generally unique to a device or app instance. However, in certain scenarios like account linking or data transfer, it can span multiple devices. It's important to understand that user_pseudo_id itself is not used for probabilistic attribution in the raw data; such complex attribution is more a feature of analytical processing in tools like GA4.

  5. Using Additional Identifiers: For more detailed device-level tracking, consider using additional identifiers such as device_id or app_instance_id alongside user_pseudo_id. These can provide more granular insights but must be managed in compliance with privacy regulations and user consent.

While user_pseudo_id can appear across multiple devices due to factors like account linking and data transfer, its primary role is as a unique identifier within the raw data. Cross-device tracking and probabilistic attribution are more related to the analytical capabilities of tools like GA4.

Thanks very much. 

  • Does the user_first_touch_timestamp attribute get transferred alongside the user_pseudo_id when data is moved to a new device, or is it reset?

  • Similarly, what happens to the previous_first_open_count parameter in the first_open event when a user shifts to a new device?

When a user transfers data to a new device, the behavior of attributes like user_first_touch_timestamp and previous_first_open_count in Firebase and BigQuery can vary depending on the specifics of the data transfer and the implementation of Firebase in your app.

  • user_first_touch_timestamp: This attribute typically represents the timestamp of the user's first interaction with your app. If the user's data, including app settings and local storage, is transferred to a new device (e.g., via a cloud backup and restore service), it's possible that user_first_touch_timestamp could also be transferred. This would mean that the timestamp remains the same on the new device, reflecting the user's first interaction with the app on the original device.

  • previous_first_open_count: This parameter, which is part of the first_open event in Firebase, tracks the number of times the app has been opened for the first time on a device. When a user shifts to a new device and if the app data (including Firebase analytics data) is transferred to the new device, the previous_first_open_count might also be transferred. In such a case, it would not reset but continue from the count on the previous device. However, if the app is installed as a fresh installation without transferring data, previous_first_open_count would typically start from zero, indicating a new first open on that device.

It's important to note that these behaviors can be influenced by how your app handles user data during transfers and how Firebase Analytics is integrated into your app. For the most accurate understanding of how these attributes behave in your specific scenario, you may need to conduct tests or consult Firebase's documentation or support.