What are Transfer Events?
Transfer events are when a transfer of transactions and entitlements was initiated between one App User ID(s) to another. This event is from RevenueCat to inform you of purchases being transferred between users of your app.
Why do Transfers Happen?
Transfer events occur if a user claims the purchases of another user, which will happen if both users are logged into the same underlying store account, and if the user attempts to restore purchases. This is because RevenueCat will detect that the purchases belong to that app store account and will then transfer the purchases to the new user so they can access their purchases. RevenueCat is able to detect this because transactions are associated to the underlying store account.
Can I have multiple RevenueCat users for the same Apple/Android account?
You cannot have multiple users with the same underlying store account as they will always share purchases.
How do I prevent transfers?
To prevent all transfers, you’ll want to use the ‘Keep with original user id’ transfer behavior. This will prevent all transfers by returning an error if the App User ID attempting to restore purchase or make a new purchase is different from the original App User ID that made the purchase.
To prevent transfers once a purchase has been made, you’ll want to use the ‘Transfer if there are no active subscriptions’ transfer behavior. This is less strict than the former and will transfer the purchases to the new App User ID unless they contain an active subscription.
For more information on transfers, and how to prevent it from occurring in certain cases, see: Restoring Purchases.
Is it possible to make transfers with the ‘Keep with original user id’ or ‘Transfer if there are no active subscriptions’ transfer behaviors?
Yes this is possible. While the users themselves will not be able to initiate this in your app via restoring purchases, you can manually do this in the RevenueCat dashboard. You’ll want to go into the customer history of the user you want to transfer purchases from, and then in the ‘Entitlements’ card there is a ‘Transfer’ button at the top right. This will transfer all purchases from that user to another. For our guide on doing this, see: Transferring entitlements
When I make a purchase, instead of getting an initial purchase I receive a transfer events that does not have the product id?
If you are using the same underlying store account while creating different app user ids in RevenueCat, then when you go to make a purchase, if you currently own the subscription with the other app user id, this will make a transfer event occur as restore purchases will be triggered. You can then view the corresponding initial purchase or renewal that was transferred from the previous user to see the product id.