Win back Gumroad customers after refunds and cancellations
The moment a buyer refunds or cancels on Gumroad, send an empathetic offer, sync HubSpot, and alert your team so nobody churns quietly.
Trigger this workflow with a Gumroad webhook subscribed to the refund, cancellation, and subscription_ended resource subscriptions so it fires the instant a buyer refunds a purchase, cancels a membership, or lets a subscription lapse.
When the webhook fires, read the payload to figure out which resource triggered it and which sale or subscription is involved. For a refund event use Gumroad Get Sale to pull the full sale record. For cancellation and subscription_ended events use Gumroad Get Subscriber to pull the subscriber. Either way also call Gumroad List Products so you have the product title, price, and description handy for a relevant, human-sounding message.
If the event is actually a chargeback or dispute (Gumroad flags the refund as such, or the underlying resource is dispute-flavored), skip the discount step entirely. Do not mint an offer code and do not send the win-back email. Go straight to the HubSpot logging and Slack alert steps below and clearly mark the note and the alert as a chargeback so a human handles it directly.
For every non-dispute event, mint a fresh single-use retention discount on Gumroad with Create Offer Code. Attach it to the same product the buyer was on, set max_purchase_count to 1 so it can only be redeemed once, and pick a discount size that matches the situation. Use a light 15 to 20 percent nudge for a clean cancellation with no stated reason, a heavier 30 to 40 percent when the buyer specifically cited price, and a smaller courtesy discount when the sale was already refunded. Give the code a memorable name tied to the product and the buyer so it is easy to trace later.
Draft a warm, personalized win-back email to the buyer and send it via Gmail Send a Message. Greet them by first name, acknowledge the specific event they just went through (refund, cancellation, or ended subscription), name the product, and offer the single-use code as a friendly second chance rather than a hard pitch. Keep it short and empathetic, sign off from a real name, and never sound pushy or defensive.
Upsert the buyer in HubSpot using Batch Upsert Contacts matched on email so they exist as a contact whether or not they were in the CRM before. Then use Create Note associated with that contact to log a churn record capturing the event type, the product, the amount involved, any cancellation reason Gumroad returned, and either the offer code you generated or the fact that this was a chargeback with no code. This is the audit trail retention needs later.
Finally, post a short alert to a Slack support channel using Slack Send a Message. Include the buyer name, the product, the event type, the amount, the offer code (or the phrase no code, chargeback), and a link back to the HubSpot contact. Keep the message compact so a teammate can scan it and decide whether to reach out personally when the buyer replies to the email.
Additional information
What does this prompt do?
- Listens for Gumroad refunds, cancellations, and ended subscriptions the moment they happen
- Sends a warm, personalized win-back email with a single-use retention discount tied to the exact product the buyer was on
- Upserts the buyer in HubSpot and logs a churn note capturing the event, the product, and the discount that was offered
- Posts a short alert to a Slack support channel so a teammate can jump in if the buyer replies
- Skips the discount entirely for chargebacks and disputes and just logs plus alerts, so a human handles those cases directly
What do I need to use this?
- A Gumroad account that can generate offer codes and receive webhooks
- A Gmail address to send the win-back email from
- A HubSpot workspace with contacts and notes enabled (works on Free)
- A Slack workspace with a channel for support and retention alerts
How can I customize it?
- Which events kick it off: refunds only, cancellations only, ended subscriptions, or any mix of the three
- The tone, length, and signature of the win-back email
- How aggressive the retention discount gets (a light nudge for fresh cancellations, a deeper offer when someone cited price)
- Which Slack channel gets the alert and which HubSpot properties or lists get updated
Frequently asked questions
Does this run automatically or do I have to trigger it?
Will the discount really only work once?
What happens on a chargeback or dispute?
Do I have to use HubSpot?
Can it handle both digital products and memberships?
Related templates
Turn every Gumroad cancellation into a second chance.
Automate the win-back email, the single-use discount, the CRM note, and the team alert so you never let a churned buyer slip away in silence.