Skip to main content
Question

Set user properties using identify [iOS SDK]

  • 26 June 2024
  • 3 replies
  • 72 views

We are in the process of updating several user properties (for example, user_joined_through = “deeplink/regular open/from social media”) with each app launch on both Android and iOS platforms. We are utilizing the Identify API and the set function to achieve this.

 

On the Android SDK, this process works seamlessly. Every time the app is opened, we trigger the Identify function with the new user property value, and these updates are correctly reflected on the Amplitude dashboard.

 

However, we are experiencing issues with the iOS SDK. Once user properties are set on iOS, we cannot update them with new values upon subsequent app launches. These changes do not appear in the Amplitude dashboard.

 

Why is there a discrepancy between the Android and iOS SDKs when using the same function? If we set a new value, it should be updated and reflected in the Amplitude dashboard, correct?

3 replies

Userlevel 5
Badge +5
Hi ishtiakahmed,

This is Yuanyuan from the Amplitude Support team - happy to assist!

Can you please check if the user properties sent for iOS are delayed on events or not showing up at all? It happens sometimes that the identify call is ingested later than the events due to race conditions so they would not appear immediately on events. But they may appear for future events.

If you could share the project name you are working in, I can also take a look at the data. Looking forward to hearing back from you!

Best,
Yuanyuan


P.S. Checkout upcoming events and user meetups on our events page.

The new user properties fail to appear in the dashboard after their initial setup using the identify function. The project involved is named "HSE Classic (Dev & Stage)." The specific properties that are not being updated correctly are utm_source, utm_medium, and utm_campaign.

 

In iOS, we are using:

 amplitude.identify(userProperties: userProperties)

 

Here’s a detailed explanation of the issue:

  1. Initial Property Setting: When the app is first opened without a deeplink, the properties utm_source, utm_medium, and utm_campaign are set to the value "EMPTY."

  2. Deeplink Interaction: When the app is subsequently opened using a deeplink, these properties are updated with new values specific to the deeplink’s parameters. This change appears to be successful initially.

  3. Failure to Revert: However, once these properties are updated with values from a deeplink, they do not revert back to "EMPTY" when the app is opened again without a deeplink. In other words, the properties remain fixed at the values set by the last deeplink interaction and do not update to "EMPTY" as they should when no deeplink is present.

  4. Another Deeplink Interaction: When the app is subsequently opened using another deeplink, these properties are not updated with new values specific to the deeplink’s parameters.

This issue suggests that there is a problem with how the identify function handles updates to these properties, particularly in reverting them to "EMPTY" after a deeplink value has been assigned. As a result, probably, the dashboard does not reflect the correct state of these properties when the app is reopened without a deeplink, leading to potential inaccuracies in tracking user behavior and source attribution.

Userlevel 5
Badge +5
Hi ishtiakahmed,

I will reach out to you in a different ticket as I need to get the example user links for debugging.

Best,
Yuanyuan


P.S. Checkout upcoming events and user meetups on our events page.

Reply