Spinlet.Go to dashboard

Webhook payload

When a campaign has a Webhook URL set, Spinlet POSTs this JSON body to it on every spin — whether the visitor won a prize or not.

Example

{
  "event": "spin",
  "campaignId": "GgWeR0P766UbLI7cYXYI",
  "campaignName": "Summer sale",
  "email": "visitor@example.com",
  "prizeLabel": "10% off",
  "prizeCode": "SPIN10",
  "pageUrl": "https://yourshop.com/collections/all",
  "variant": "a",
  "createdAt": "2026-09-29T18:32:07.000Z"
}

Fields

KeyTypeDescription
eventstringAlways "spin" today — reserved in case other event types are added later.
campaignIdstringThe Spinlet campaign ID (matches the URL in your dashboard).
campaignNamestringThe campaign's name, as set in the dashboard.
emailstringThe email address the visitor entered before spinning.
prizeLabelstringThe prize’s display label, e.g. "10% off" or "No luck".
prizeCodestring | nullThe discount/coupon code tied to the prize, or null if that prize has no code.
pageUrlstring | nullThe URL of the page the widget was shown on, or null if it couldn't be determined.
variant"a" | "b"Which A/B test variant the visitor saw. Always "a" if A/B testing is off for this campaign.
createdAtstringISO 8601 timestamp of when the spin was recorded, in UTC.

Delivery details