Skip to main content
Question

Should I actually login with my user ids?

  • April 14, 2026
  • 1 reply
  • 17 views

Forum|alt.badge.img+2

I am implementing a subscription in a Flutter app for the first time, and this app is a little bit special with the user account. Being logged in is a premium feature. Premium gives you the possibility to download other users published content, backup to the cloud, sync of your data between devices. But… 

1. You don’t HAVE to login.
2. You have to get premium first to be able to login .

So I did what I thought was right, I just use the anonymous id until the user logs in, then they are also logged into revenuecat with their firebase uid. 

The problem is that they could log out, and then log in with another account. The they’re logged in to revenuecat with the new uid. 

But I noticed some problems. I did this:

1. Get premium
2. Login
3. Log out
4. Log in with another account

After step 4 the premium went away and I couldn’t restore it. I’m not loggin the user out from Revenuecat at any point, since that also made me lose premium.

Now I’m leaning more towards just skipping logging the user into revenuecat alltogether, and just use the anonymous id. WOuld that actually be a problem?

When the user syncs to the server I send the current RC id to the backend and updates it in the database, so I have that as a reference for support. The user can also tap a button to copy the RC id if they want to send it.

I’m wondering:


a) Is it ok to only use anonymous id? Will the user keep premium status no  matter if the login in my app or not, and will they keep it between Android devices (if they have the samme Google play account)

b) If I go with loggin the user in and out of RC with my app login/out, what should I set the Handling multiple app user IDs to? I currently have Transfer to new App Iser ID, is that wrong? Is that why I have problems?

1 reply

matt-heaney
RevenueCat Staff
Forum|alt.badge.img+4
  • RevenueCat Staff
  • April 17, 2026

Hey ​@Jymd

 

Matt from RevenueCat here. This is an interesting one!

 

To confirm, does the user gain more from logging in, or is logging in just a way to make it easier to access the subscription on different devices?

 

If it’s just for allowing subscriptions to be used across multiple devices, you would be okay working fully with an anonymous ID. How this works would be configured with transfer behaviour, which lets you set what happens to RevenueCat IDs when a purchase is restored. Full information on these can be found here.

 

To directly answer your questions:

 

a) Yes, you can use anonymous IDs only. The user will keep their premium status on that device, and across devices as long as they restore purchases and are using the same App Store / Play Store account. However, without a custom App User ID such as your Firebase UID, you will not have a reliable way to link that subscription to your own user accounts across devices without a restore. 

 

b) If you do log users into RevenueCat using your own user IDs, then "Transfer to new App User ID" is the correct restore behaviour for this kind of setup. This allows the subscription to move to a different RevenueCat user when that user restores purchases

 

I can see your transfer behaviour is currently set to transfer, which would be the recommended setting for this use case. Based on the flow you described, I would not expect the entitlement to automatically move just from logging out and logging back in with a different account. I would expect a restore to be needed in that scenario. 

 

Does the behaviour of the entitlement not moving between accounts here happen every time? Does this happen after a restore?

 

Could you please send me, as a private message, the user IDs you tested with, and I’ll take a look at the logs?

 

Thanks!