2025-10-01
Launched Subscription Trials
You can now offer trial periods for new subscriptions! This highly requested feature allows you to let customers experience your product before their first payment is due. Trials can be configured in both the dashboard and API when creating or updating subscription products.Always display taxes line item in the checkout
We’ve improved our checkout experience to always display taxes (vs lazy loading them on country selection), making charges more transparent for your customers regardless of whether taxes apply to their purchase.Do not calculate taxes on free or zero-amount orders
Orders with a zero amount (such as promotional products) will no longer have taxes calculated, resulting in a clearer and more accurate order summary for your customers.Add confirmation modal for deleting discounts
When deleting a discount, you’ll now see a confirmation modal to help prevent accidental deletions and provide extra clarity on the impact of your actions.Fix infinite rendering loop with date picker
Resolved a bug where selecting dates in the date picker could cause an infinite rendering loop, improving reliability for date-related forms.Require opt-in if you will be charged immediately
Users must now explicitly confirm immediate charges or credits when switching subscription intervals, with the UI providing clearer, contextual explanations of invoicing outcomes.Check for expires_at
when activating license keys
License key activation now correctly checks the expires_at
date, ensuring that only valid, non-expired license keys can be activated.Fix customer state for trialing subscriptions
The Customer State API now properly handles customers withtrialing
subscriptions, so your integrations and dashboards always show an accurate subscription status.2025-09-22
Improved preview of next invoice in Customer Portal
We’ve enhanced the Customer Portal to provide a clearer and more accurate preview of your next invoice. The overview now updates automatically after subscription changes, and you can preview upcoming charges with all relevant taxes and discounts included.Cancellation metrics

2025-09-12
Webhooks payload now includes timestamp
We’ve updated our webhooks server implementation to include a timestamp in each payload, in line with the Standard Webhooks specification.This change ensures that every webhook payload contains precise event timing, making it easier to trace and debug webhook deliveries, and to meet integration requirements for external platforms.2025-09-05
Meter management improvements
We’ve made it easier to manage your meters with new UI functionality for archiving and unarchiving meters directly from the dashboard.You can now archive meters that are no longer needed, which helps keep your meter list organized. Archived meters can be unarchived if you need to use them again. Note that meters cannot be archived if they are still attached to active products or referenced by active benefits.Metrics accuracy improvements
We’ve improved the accuracy of our metrics by excluding unpaid orders from all calculations. Previously, orders in pending status were included in metrics, which could lead to inflated numbers.Now, only successfully paid and refunded orders are included in metrics calculations, giving you a more accurate view of your actual business performance.Enhanced customer email branding
We’ve improved the branding of emails sent to your customers by using organization-specific ‘From’ and ‘Reply-to’ addresses.Customer emails now appear to come from your organization (e.g., “YourOrg (via Polar)”) with replies directed to your organization’s email address, providing a more professional and branded experience for your customers.2025-06-12
2025-06-05
2025-05-22
Business Purchase Option on Checkout
We’ve added a new “I’m purchasing as a business” checkbox to the Checkout flow. When selected, customers are required to provide their business billing name and complete billing address.2025-05-19
Enhanced Attribution for Checkout Links
We’ve added support forreference_id
and UTM parameters (utm_source
, utm_medium
, utm_campaign
, utm_content
, utm_term
) as query parameters for Checkout Links. These parameters are automatically stored in the Checkout metadata, allowing you to track the source of your traffic and conversions more effectively.Read more2025-05-15
Checkouts and payments insights
We’ve added a new Checkouts tab under the Sales, where you can review all the checkout sessions, successful or not. You can filter them by customer email, status, and product. You can also see the payment attempts for each checkout session, including the reason for any failed or declined payments.
2025-03-11
Zapier integration officially launched
We’re excited to announce the official launch of our Zapier integration! Get started now and connect Polar to 2,000+ other web services.We’ve focused on triggers (webhooks) for now, so you can react to events in Polar and trigger actions in other apps.Need to perform actions in Polar? Tell us about your use case here and we’ll consider adding more actions in the future.
2025-03-05
Customer State
Maybe one of our neatest features to date! Customer State is a concept allowing you to query for the current state of a customer, including their active subscriptions and granted benefits, in a single API call or single webhook event.Combined with the External ID feature, you can get up-and-running in minutes.Read more2025-03-04
Better Auth Plugin
Integrating authentication and billing for your users has never been easier.
2025-02-27
Customer External ID
We’ve added support for anexternal_id
field on Customers. We believe this will greatly simplify the reconciliation process between your system and Polar.Previously, the recommended way to reconcile with your users was to use metadata
. However, this was not always the most convenient method, especially if you needed to fetch a Customer from our API.With external_id
, you can now fetch a Customer directly by their external ID through dedicated GET
, PATCH
, and DELETE
endpoints. You don’t even need to store Polar’s internal ID in your system anymore! Read moreOf course, you can also directly preset external_customer_id
when creating a Checkout Session, and it will automatically be set on the newly created Customer after a successful checkout. Read more2025-02-19
Polar’s take on Product variants
We’ve released big changes to how we handle products and pricing, allowing us to support a unique approach to what the industry typically calls variants 🔥We believe having a single product with multiple pricing models and benefits adds unneccessary complexity to the user and to the API. Instead, we chose to treat everything as a product, giving you maximum flexibility about the pricing and benefits you want to offer.Thus, we introduce support for multiple products at checkout, allowing customers to switch between them before purchasing. Typically, you can offer a monthly and a yearly product, with specific pricing and benefits for each.
Depreciations
- Products can no longer have both a monthly and yearly pricing. Existing products still work, but you’ll see a warning like this when trying to edit their pricing:

API changes
- The
product_id
andproduct_price_id
fields are deprecated in the Checkout Session API. You should now use theproducts
field to specify the products you want to include in the checkout. - The
type
andrecurring_interval
fields onProductPrice
are deprecated.recurring_interval
is now set directly onProduct
.