Skip to main content

Changing the format of RevenueCat IDs for non-subscription purchases


Jens
RevenueCat Staff
Forum|alt.badge.img+7
  • RevenueCat Staff
  • 191 replies

In approximately one week, on April 9, 2025, we will make a small change to the RevenueCat-calculated IDs for any new non-subscription purchases happening after that date. We will increase the length of the IDs to 25 characters to avoid collisions between different purchases. This ID is exposed via our SDK, Web API, and webhooks. Subscriptions and purchases that happened before the change will not be affected.

This will likely not have any impact on the vast majority of developers – the ID was a string and remains a string, only longer (25 characters) and with more potential characters (A-Z, a-z, 0-9, -, =, and _). If you are ingesting this string in a database on your side, please make sure that the database schema accepts strings of that length.

If you have any questions about this change, please feel free to ask them below.

 

4 replies

Forum|alt.badge.img+5
  • New Member
  • 1 reply
  • April 1, 2025

Thanks for the heads up. Just to be clear, will the IDs continue to be prefixed with “$RCAnonymousID:”?


Jens
RevenueCat Staff
Forum|alt.badge.img+7
  • Author
  • RevenueCat Staff
  • 191 replies
  • April 1, 2025

Hi ​@Frederik , this change will not impact App User IDs, they will continue to have the same format you mentioned. It will only impact the RevenueCat-provided unique transaction IDs for one time purchases (for example, exposed on the `NonSubscriptionTransaction` object in the iOS SDK as the field `transactionIdentifier`).


Forum|alt.badge.img+2
  • Newcomer
  • 0 replies
  • June 25, 2025

Why is the newly chosen ID still different than the ID used by API v2?

An API v1 ID now looks like “o1_MMq-YSRnduXaH2FQAgk4bQ” 
While API v2 IDs look like “otpAap09d1e85234d8b01dbc606e40ee122fec”

It’s almost like two databases are being used under the hood or something….

I don’t really know how I’m suppose to gracefully migrate from using https://api.revenuecat.com/v1/subscribers/:id to https://api.revenuecat.com/v2/projects/:id/customers/:id/purchases when the IDs are different.


joan-cardona
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • 441 replies
  • July 1, 2025

Hi ​@banks,

V2 is mainly an expansion of endpoints from V1 rather than a deprecation of the initial ones. The naming can be a bit confusing but you don’t need to migrate from one to another if you don’t need to, is there a reason why you would prefer to use the V2 one?

Best,

 


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings