Polar Integration
Track customer churn by connecting your Polar account to SeggWat.
Overview
The Polar integration allows you to automatically track customer cancellations from your Polar subscriptions. When a customer cancels their subscription, SeggWat captures the event along with the cancellation reason and any comments they provide.
This integration connects your Polar account to SeggWat. It tracks cancellations from your customers' subscriptions, helping you understand why customers churn.
Features
- Automatic churn tracking - Cancellation events are captured in real-time via webhooks
- Cancellation reasons - See why customers are leaving (too expensive, missing features, etc.)
- Customer comments - Capture verbatim feedback from departing customers
- Churn analytics - View trends, statistics, and breakdowns in the Insights dashboard
- Owner notifications - Get notified when customers leave feedback with their cancellation
Setup Instructions
Step 1: Open the Polar Integration
- Navigate to your project in SeggWat
- Go to Integrations in the sidebar
- Click on the Polar integration card
Step 2: Copy the Webhook URL
In the Polar integration modal, you'll see a unique webhook URL for your project:
https://seggwat.com/hooks/polar/{your-project-key}Click the Copy button to copy this URL to your clipboard.
Step 3: Configure Polar Webhook
- Open your Polar Dashboard
- Go to Settings → Webhooks
- Click Add Endpoint
- Paste the webhook URL from SeggWat
- For Format, select Raw (important!)
- Under Events, enable:
subscription.canceled
- Click Create
Step 4: Copy the Webhook Secret
After creating the webhook in Polar:
- Click on the webhook you just created
- Copy the Webhook Secret (starts with
polar_whs_) - Return to SeggWat and paste it in the Webhook Secret field
- Click Save Secret
Make sure to select Raw format when creating the webhook in Polar. The Standard format will not work correctly.
Viewing Churn Data
Once configured, churn data appears in two places:
Insights → Churn Tab
Navigate to Insights and click the Churn tab to see:
- Total cancellations - All-time count
- Monthly trends - This month vs. last month with percentage change
- Cancellation reasons - Visual breakdown of why customers churn
- Recent cancellations - List of recent events with customer details and comments
Notifications
Project owners receive notifications when customers include comments with their cancellations. This helps you quickly respond to actionable feedback.
Cancellation Reasons
Polar captures standardized cancellation reasons that SeggWat maps to the following categories:
| Reason | Description |
|---|---|
| Too Expensive | Customer finds the price too high |
| Missing Features | Product lacks features the customer needs |
| Switched Service | Customer moved to a competitor |
| Low Quality | Customer is unhappy with product quality |
| Too Complex | Product is too difficult to use |
| Unused | Customer no longer needs the product |
| Customer Service | Issues with support experience |
| Other | Custom reason provided by customer |
Troubleshooting
Webhook Not Receiving Events
- Verify the webhook URL is correct in Polar
- Ensure the webhook secret matches (starts with
polar_whs_) - Check that
subscription.canceledevent is enabled - Confirm the webhook format is set to Raw
Integration Shows "Pending"
The status changes to "Active" after the first successful webhook is received. You can:
- Wait for a real cancellation
- Use Polar's webhook testing feature to send a test event
Invalid Secret Error
If you see a secret validation error:
- Re-copy the secret from Polar (click to reveal the full secret)
- Ensure no extra spaces before or after the secret
- The secret should start with
polar_whs_
Reward Discounts
Create Polar discounts and promo codes directly from your SeggWat feedback dashboard to reward subscribers who take the time to submit valuable feedback.
How It Works
- A subscriber submits feedback or suggests a feature idea and opts in to receive a discount
- Their Polar subscription ID is stored with the feedback or idea
- From the feedback or idea detail page your team can create a discount and optionally auto-apply it to that subscription in one click
Setup: Add a Polar Access Token
You need a Polar access token so SeggWat can create discounts and apply them to subscriptions:
- In your Polar Dashboard, go to Settings → Access Tokens
- Click Create Token
- Give it a descriptive name (e.g. "SeggWat Discounts")
- Set the following scopes:
discounts:writesubscriptions:write(required for auto-applying discounts)
- Click Create and copy the generated token
- In SeggWat, open the Polar integration modal
- Scroll down to the Access Token section and paste the token
- Click Save Token — SeggWat will validate it immediately
The token only needs discounts:write and subscriptions:write scopes. SeggWat does not read your billing or customer data.
Collecting the Subscription ID
There are two ways to pass the subscription ID, depending on where the subscriber interacts with your product:
Feedback Widget
The widget shows a "Get a discount on future bills" consent checkbox only when it knows the user's Polar subscription ID. Pass it after the user logs in:
<script src="https://seggwat.com/static/widgets/v1/seggwat-feedback.js"
data-project-key="your-project-key"></script>
<script>
// Call after authentication — pass the user's Polar subscription ID
SeggwatFeedback.setSubscriptionId('pol_sub_1abc...');
</script>When the user checks the consent box and submits, SeggWat stores the subscription ID alongside the feedback so your team can act on it. See the widget installation guide for details.
Feature Portal (Ideas)
For feature suggestions on the public portal, include subscription_id in the authentication token payload:
const token = generateSeggwatToken(
user.id,
user.email,
process.env.SEGGWAT_PROJECT_KEY,
process.env.SEGGWAT_SIGNING_SECRET,
user.polarSubscriptionId // Polar subscription ID
);When present in the token, consent is implied — the subscriber's ID is automatically stored with any ideas they suggest through the portal.
If you use SeggWat on your own dashboard and bill via Polar, the subscription ID is set automatically from your SeggWat billing subscription — no extra code needed.
Creating a Discount from Feedback or Ideas
- Open any feedback item or feature idea in the dashboard
- Scroll to the Reward with Discount section (only visible when a Polar access token is configured)
- Configure the discount:
- Name — Internal label for the discount
- Percentage Off — Discount amount between 1% and 100%
- Duration — Once, Forever, or Repeating (specify number of months)
- Custom Code — Optional promo code string; auto-generated if left empty
- Max Redemptions — Limit how many times the code can be redeemed
- Click the create button:
- Create & Apply Discount — when a subscription ID is present, applies the discount directly to the subscription
- Create Discount — generates a redeemable promo code you can share manually with the customer
Data Privacy
SeggWat only stores:
- Subscription ID (for deduplication)
- Customer ID and email (if provided by Polar)
- Cancellation reason and comment
- Timestamp and product name
We do not store payment information or access your Polar billing data.
