Connect
1
Open the source
Open Sources, find Superwall, and select connect.
2
Enter your Bundle ID
Paste the application bundle identifier, such as
com.example.app.3
Enter the webhook secret
Copy it from Superwall. It starts with
whsec_.Set this before you save. Deliveries return HTTP 503 until you store a
whsec_ secret.4
Copy the webhook URL
5
Add the webhook in Superwall
Paste the URL into Superwall’s webhook settings.
event_data.projectId.
Superwall signs with Standard Webhooks. We verify svix-id, svix-timestamp, and svix-signature over id.timestamp.body, with a 300-second tolerance.
Link purchases to a web visitor
Skip this and you’ll still get the revenue, but nothing to credit it to.
We resolve the visitor in this order, stopping at the first match.
No match sets
visitor_id to superwall_<originalAppUserId>, or to superwall_unknown.
Event mapping
Fourteen Superwall types produce fourteen Datalyr events. Two types split on a payload field.
Unknown types return 200 and record nothing.
Superwall has no refund-by-cancellation rule. RevenueCat maps a support-granted refund
onto
refund, while Superwall sends cancellation for the same event. That becomes
subscription_cancelled worth 0, so read cancellation counts alongside revenue.Revenue
Five events carry revenue:subscription_started, trial_converted, subscription_renewed, purchase, refund. All others record 0, including trial_started.
A negative price on any event type also makes it carry revenue.
The event value is gross, before tax and store commission. Net is stored as event_data.net_revenue, and we prefer the store’s own figure:
commission_rate is commissionPercentage when Superwall sends it, otherwise 0.15 for a small-business account and 0.30 for every other account. Refunds are always negative.
Top-level
currency is always USD, because Superwall converts before it sends. The
original values stay available as event_data.original_currency and
event_data.original_price, but build your conversion rules on the USD value.Fields for conversion rules
We keep every other Superwall field in
event_data unchanged.
Delivery behavior
Verify
- Set the Superwall attributes in your app.
- Complete one production purchase through a Superwall paywall.
- Open Events. Find the event.
- Confirm the event name,
value, andevent_data.product_id. - Confirm
visitor_iddoes not start withsuperwall_.
When it does not work
Next, create a conversion rule so these purchases reach your ad platforms.