Skip to content

User Attributes being overwritten to nil/empty on third party integrations #377

Closed
@tonironcevic

Description

@tonironcevic

Describe the bug
We have noticed an issue where some of our user attributes (e.g., email, first name, etc...) are sent as null/empty to third-party integration (Braze), causing it to overwrite those attributes. This started happening ever since we migrated to Swift version of the segment library. We migrated from https://github.com/segmentio/analytics-ios (4.1.8) to https://github.com/segmentio/analytics-swift (1.5.11). The issue is still reproducable when updating analytics-swift to the latest (1.7.2) version. The integration is working fine on older versions of our app that are still using an obj-c library, it is also working fine on the Android app with identical settings/mapping as iOS on Segment.io.

To Reproduce
Steps to reproduce the behavior:

  1. Initialize Analytics
  2. After user sign in/signup, identify the user using users externalId (Analytics.identify(userId:))
  3. On Braze we get user identified, but without attributes listed above.
  4. After some time, our server will provide the braze those attributes, making them visible again.
  5. Opening the app and triggering identify makes those attributes disappear again.

Expected behavior
Third party integrations should get non null/empty attributes

Platform (please complete the following information):

  • Library Version in use: 1.5.11, 1.7.2
  • Platform being tested: iOS (not iOS version specific)
  • Integrations in use: Braze

Are we missing something regarding the implementation on the iOS side? We are opening the issue here as it is working fine on objective-c version of the library and on other platforms.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions