Hi @Steph, sorry for missing this - here's my reply below:
Just to confirm our understanding, it sounds like RevenueCat’s promotional entitlement is an alternative route to Android promo codes and iOS offer codes (RevenueCat’s promotional entitlement is not an API to promo and offer codes). Is that correct?
Yep. It's not an API to the store's promotionals and offer codes, it's a RevenueCat feature that just grants entitlement access for a period of time.
The documentation https://docs.revenuecat.com/docs/promotionals#granting-promotionals only shows dash UI to grant promotions and doesn’t mention any code APIs. We are using Flutter and didn’t find anything in your Flutter SDK. Is there a Flutter API we can use, and if not, would your team be able to support this in Flutter? We saw that there is a POST request but that’d be a lot more inconvenient.
Your only options would be to grant the promotional through the dashboard or the API endpoint, our SDKs don't have a built-in method to grant RevenueCat promotionals as they're designed to facilitate purchases with actual stores (Apple, Google, Amazon, etc).
We would expect to need to represent each gift as a one-time purchase (from https://docs.revenuecat.com/docs/non-subscriptions), but gifting doesn’t fit the example descriptions well. Would Non-Consumable be the best category to use (e.g., can someone purchase the same non-consumable multiple times to be equivalent to gifting multiple friends)?
Can RevenueCat’s promotionals ever work with consumable products (e.g., user can gift X virtual currency for a friend)?
If it's about gifting currency/consumables, I don't think RC promotionals would be a great fit - think of the promotionals as gifting access/entitlement for a period of time. So they'd work best in a case where you were trying to gift a subscription to another user.
If you were trying to gift currency, at that point you'd probably handle it as you do any consumable purchase. With consumables you already have to implement the logic to store the currency on your backend, so you could create a flow in your app to allow the user to send that currency. This would all be controlled by your app/your server (and not RevenueCat).
Can you clarify what specific metrics we’d have access to vs what metrics wouldn’t show up (# of subscribers, revenue earned from gifting, number of promotionals granted, etc)?
You'll see these users with RC promotionals show up in the dashboard and customer lists, with their entitlements prefixed `rc_promo` to distinguish them from users with normal purchases. In ETL exports I believe users with promotional transactions will have the store column labeled 'promotional'. We filter out these users in our charts as they don't contribute any revenue and aren't a true purchase from one of the app stores.
Does this help answer your question?