What Gets Tracked
When a payment or membership event occurs in Whop, DATALYR receives the webhook and creates an attribution event.| Whop Event | DATALYR Event | Has Revenue |
|---|---|---|
payment.succeeded | purchase | Yes |
membership.activated | subscribe | No |
membership.deactivated | membership_cancelled | No |
- Payment ID, total amount, currency
- User email, user ID
- Product ID, product title
- Plan ID, membership ID
- Billing reason, payment status
- Membership ID, status
- User email, user ID
- Product ID, product title
- Cancel option, cancellation reason (for deactivations)
How Attribution Works
DATALYR uses email-based identity resolution to connect Whop payments to ad clicks:- User clicks your ad and lands on your page with the DATALYR web SDK
- User enters their email on your landing page —
datalyr.identify({ email })links the email to the visitor session (which has the ad click data) - User purchases on Whop — Whop sends a
payment.succeededwebhook with the customer email - DATALYR matches the email to the original visitor session and retrieves the ad attribution (fbclid, gclid, ttclid, UTMs)
- Conversion is sent to your ad platforms with the original click ID
Attribution only works if you call
datalyr.identify({ email }) on your landing page before the user reaches Whop checkout. The email must be captured in a DATALYR event first.Setup
1. Connect Whop in DATALYR
- Go to Settings -> Integrations in DATALYR
- Click Connect next to Whop
- Copy the webhook URL shown in the modal
2. Configure Webhook in Whop
- Go to your Whop Developer Dashboard
- Click Create Webhook
- Paste the DATALYR webhook URL
- Select these events:
payment.succeededmembership.activatedmembership.deactivated
- Make sure API version is set to v1
- Save the webhook
- Copy the signing key (
whsec_...) from the webhook
3. Add Signing Secret
- Go back to the Whop setup modal in DATALYR
- Paste the
whsec_...signing key - Click Connect Whop
4. Verify Setup
- Make a test purchase on your Whop product
- Go to DATALYR Dashboard -> Event Stream
- You should see a
purchaseevent withsource: whop - Check that the value matches the payment amount
Email Capture
For attribution to work, you must capture the user’s email on your own landing page before they go to Whop:Dashboard Metrics
Once connected, DATALYR shows these metrics on your dashboard:| Metric | Description |
|---|---|
| Revenue | Total payment amount from payment.succeeded events |
| Purchases | Count of successful payments |
| Subscriptions | Count of new memberships activated |
| Cancellations | Count of memberships deactivated |
| Average Order Value | Revenue / Purchases |
Conversion Rules
Set up conversion rules to send Whop purchase events back to your ad platforms:- Go to Settings -> Conversion Rules -> Add Rule
- Select a Whop event as the trigger (e.g.,
purchase) - Choose your ad platform (Meta, Google, TikTok)
- Set the conversion event type (e.g.,
Purchase) - Save — conversions fire immediately
Event Data Structure
Whop webhooks create events with this structure:Troubleshooting
Payments not appearing in Event Stream
Check:- Webhook is configured in Whop with the correct URL
- API version is set to v1
payment.succeededevent is selected- Signing secret matches between Whop and DATALYR
- Make a test purchase and check Event Stream within 1 minute
Payments not attributed (no fbclid/gclid)
Cause: Email was not captured withdatalyr.identify() before checkout
Fix:
- Add
datalyr.identify({ email })on your landing page - Ensure the identify call happens before the user clicks through to Whop
- The email used on your landing page must match the Whop account email
Signature verification failed
Cause: Signing secret mismatch Fix:- Go to Whop Developer Dashboard -> your webhook
- Copy the signing key (starts with
whsec_) - Update the secret in DATALYR Settings -> Integrations -> Whop
Next Steps
Meta Ads Integration
Send Whop conversions to Facebook and Instagram
Google Ads Integration
Track Whop conversions in Google Ads
Conversion Rules
Configure which events fire to ad platforms
Web SDK Setup
Install the tracking SDK on your landing pages