Webhook format
Receive and send webhook payloads for revenue and custom integrations.
Last updated June 3, 2026
Webhook integrations let platforms such as Stripe, RevenueCat, Gumroad, Teachable, Kajabi, and custom systems send trusted server-side revenue events into Grometrics.
Replace YOUR_SITE_ID with your site ID from Settings > Tracking.
revenue-webhook.json
1{2"event": "revenue.created",3"websiteId": "YOUR_SITE_ID",4"externalId": "ch_3P8...",5"visitorId": "vis_8kF3mNx92pL",6"amount": 14900,7"currency": "USD",8"source": "stripe",9"timestamp": "2026-06-03T10:00:00Z",10"customer": {11"emailHash": "sha256:..."12}13}
Options / Configuration
| Option | Type | Required | Description |
|---|---|---|---|
| event | string | ✓ | Webhook event name |
| externalId | string | ✓ | Provider transaction or event ID for idempotency |
| amount | number | ✓ | Minor units, such as cents |
| currency | string | ✓ | ISO currency code |
| source | string | no | Provider or integration name |
| customer.emailHash | string | no | Hashed customer email for matching without exposing raw email |
What happens next
After sending a webhook, check Transactions and Attribution to confirm the revenue event was accepted and attributed.
Troubleshooting
Duplicate revenue appears
Send a stable externalId so Grometrics can deduplicate provider retries.
Customer is not linked
Include visitorId, sessionId, or a supported customer matching field.
Was this page helpful?