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.

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

  1. Navigate to your project in SeggWat
  2. Go to Integrations in the sidebar
  3. 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

  1. Open your Polar Dashboard
  2. Go to SettingsWebhooks
  3. Click Add Endpoint
  4. Paste the webhook URL from SeggWat
  5. For Format, select Raw (important!)
  6. Under Events, enable:
    • subscription.canceled
  7. Click Create

Step 4: Copy the Webhook Secret

After creating the webhook in Polar:

  1. Click on the webhook you just created
  2. Copy the Webhook Secret (starts with polar_whs_)
  3. Return to SeggWat and paste it in the Webhook Secret field
  4. Click Save Secret

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

  1. Verify the webhook URL is correct in Polar
  2. Ensure the webhook secret matches (starts with polar_whs_)
  3. Check that subscription.canceled event is enabled
  4. 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:

  1. Re-copy the secret from Polar (click to reveal the full secret)
  2. Ensure no extra spaces before or after the secret
  3. 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

  1. A subscriber submits feedback or suggests a feature idea and opts in to receive a discount
  2. Their Polar subscription ID is stored with the feedback or idea
  3. 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:

  1. In your Polar Dashboard, go to SettingsAccess Tokens
  2. Click Create Token
  3. Give it a descriptive name (e.g. "SeggWat Discounts")
  4. Set the following scopes:
    • discounts:write
    • subscriptions:write (required for auto-applying discounts)
  5. Click Create and copy the generated token
  6. In SeggWat, open the Polar integration modal
  7. Scroll down to the Access Token section and paste the token
  8. Click Save Token — SeggWat will validate it immediately

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:

html
<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:

javascript
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.

Creating a Discount from Feedback or Ideas

  1. Open any feedback item or feature idea in the dashboard
  2. Scroll to the Reward with Discount section (only visible when a Polar access token is configured)
  3. 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
  4. 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.

Next Steps

Navigation