Skip to main content
Question

Transfer Event from anonymous to custom ID after Purchase.login is not triggered

  • November 28, 2025
  • 2 replies
  • 14 views

Forum|alt.badge.img+8

I have tried looking at all the prior topics about how to trigger a TRANSFER event after an anoymous user purchase followed by a user logging in with a custom ID.  

Based on my understanding of the docs, this scenario should apply but it appears it doesn’t apply.  There’s been a lot of requests on this topic: has revenuecat made any updates to make this webhook possible, which maybe I missed?

I want to trigger a “welcome” email from the webhook since RevenueCat is the source of truth.  I am surprised how challenging it is to solve.

I tried the recommendation of `syncPurchases` after login, but did not work and also results in:

 ERROR  [RevenueCat] 😿‼️ Error when syncing subscriber attributes. Details: The operation couldn’t be completed. (RevenueCat.BackendError error 0.)
UserInfo: [:]

 

I can’t want to wait for the “renewal” event because thats obviously too long of time.  The expiration & cancellation only work because by this point user has logged in.  

How can I use this webhook to update my backend when a user logs in for the first time after a purchase made anonymously so I can send an email?

2 replies

jeffrey_bunn
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • December 3, 2025

Hi ​@lucksp! The flow your describing is one of aliasing; not transferring. When an anonymous user logs in to your app with a custom ID, the anonymous user and the custom ID are aliased (merged) and are considered the same user going forward (assuming the custom ID doesn’t already have an anonymous ID aliased with it). In this scenario, both IDs share access to the same purchase/entitlement.

Transfers, on the other hand, move the purchase/entitlement from one to another. Only one ID at a time have access to the purchase/entitlement. This will happen when a user with a different custom ID (but the same underlying user) attempts to restore/purchase.

In the scenario you described, I can think of a couple of options. First, do you force log in after an anonymous user purchases? If so, you could catch the INITIAL_PURCHASE webhook and get their aliases after a delay from our API.

Or, you could check subscription status client-side and manually trigger the email after they log in for the first time. This option might be the simplest. 


Forum|alt.badge.img+8
  • Author
  • Helper
  • December 4, 2025

yes, i am having to check client side..