RevenueCat / Intercom integration doesn't send user id from stripe purchases


Hi there,

We are using the Intercom integration in RevenueCat. For our stripe purchases, RevenueCat sends an RCAnonymousID instead of the app user id.  When a stripe purchase is made, we call the receipts API from our backend and pass in the app_user_id, this correctly surfaces in RevenueCat linking the user id to the purchase.  However, RevenueCat is creating an alias, and sending that alias to intercom instead of the app user id.  Is there anyway to fix this?  Thanks!


Payload from RevenueCat to Intercom:

"app_id": 1094850,
"create_contact_payload": {
"custom_attributes": {
"expires_at": 1725546041,
"latest_entitlement": null,
"latest_store": "STRIPE"
"external_id": "$RCAnonymousID:6948fc31576641ed98c9c171826ae506"
"product_identifier": "prod_QCyCt8PLphAYgl",
"search_contact_payload": {
"query": {
"field": "external_id",
"operator": "=",
"value": "$RCAnonymousID:6948fc31576641ed98c9c171826ae506"
"send_event_payload": {
"created_at": 1717597241,
"event_name": "rc_initial_purchase_event",
"metadata": {
"app_id": "appb6012f26b7",
"entitlement": null,
"environment": "sandbox",
"expires_at": 1725546041,
"product_identifier": "prod_QCyCt8PLphAYgl",
"store": "STRIPE"
"user_id": "$RCAnonymousID:6948fc31576641ed98c9c171826ae506"

Here is the purchase event:


2 replies

Userlevel 4
Badge +6

Hello @ross-staszak-7f26c4 ,


This is likely because the event is being sent with the original anonymous ID that is first created when the user first opens the app, prior to the app user ID that you create being made. I would recommend setting the app user ID prior to the purchase so this app user ID is sent with the Intercom event as well as the Stripe purchase! 


Hi @Michael Fogel 

These are stripe transactions happening via our web app.  As far as I know there is no web SDK that works outside of RevenueCat Billing.  

Our backend is what calls the RevenueCat receipts API with the user id as described here:

When you recommend setting the app user id, how do you recommend this is done in a stripe flow in which our backend is calling RevenueCat receipts API? 

As you can see in the above screenshot, RevenueCat gets the app user id, it’s only that it uses an anonymous ID when calling Intercom.


  • John