Skip to main content
Question

What is the format for app_user_id?

  • May 8, 2026
  • 2 replies
  • 17 views

Forum|alt.badge.img+3

Hello RC team,

I have a question regarding the format for App User ID. From my understanding, the default app user id is prefixed with $RCAnonymousID

 

However, on from my webhook log, I am seeing this value where the id is base64. This makes my backend code not working because this value doesn’t exist in my database and I am only using UUID v4 as the id.

app_user_id :"na68yjrqU3LzQbk6h4Cwchw8l4pgILy5id9LAAGCaW4="

aliases: ["na68yjrqU3LzQbk6h4Cwchw8l4pgILy5id9LAAGCaW4="]

original_app_user_id: "na68yjrqU3LzQbk6h4Cwchw8l4pgILy5id9LAAGCaW4=" 

My dart code looks something like this.

configuration.appUserID = appUserId;
await Purchases.configure(configuration);

From RC dashboard, I can identify the correct customer after user provided their email address and I have to transfer the entitlement to the correct customer if this issue happen.

This issue happened once in a while and has happened for a few months. So far, only happened on Play Store purchases. Is there any docs talking about this base64 id?

Thanks!

2 replies

guilherme
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • May 11, 2026

Hey ​@adib-zaini !

So, $RCAnonymousID:... only kicks in when no App User ID is set at all during the SDK setup, or in a specific scenario for new purchases.

From the SDK setup, this is added either on:

  • the SDK .configure(...) call
  • or on the .logIn(...) method later on.

Which, from your shared details, it seems your flow passes one during the configure step:

configuration.appUserID = appUserId; / /< --------- here

await Purchases.configure(configuration);

 

Which would explain how the users are created without being anonymous! How are you generating that appUserId on your flow? 

This said, and looking at your project, I also noticed that "Track new purchases from server-to-server notifications" is enabled, which can also create anonymous App User IDs on new purchases. With this setting enabled, it means that when a new purchase (not renewing ones) happens for a user, the Play Store communicates this with RevenueCat directly, not waiting for the SDK to report the purchase: https://www.revenuecat.com/docs/platform-resources/server-notifications/google-server-notifications#app-user-id-detection-methods , which can create a new user ahead of time!

This, alongside your project Restore Behavior of “Keep with Original App User ID” can cause some unexpected behaviors, which can contribute for these anonymous vs non-anonymous users on your side.

Can you confirm that configuration flow and if you need the Tracking of new purchases enabled at all?


Forum|alt.badge.img+3
  • Author
  • New Member
  • May 12, 2026

Hello ​@guilherme,

The appUserId generated on our server and associated with the logged in user in our system. We only configure RC if the user is logged in to our app.

As for Tracking of new purchases, I though it was needed if I implemented webhook. After some readings, this might caused this unpredictable behaviour.

I will disable the settings and update the situation in a few days.

Thank you for your assistance.