Product Updates
Stay up to date with the latest changes and improvements to Polar.
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.
Enhanced Attribution for Checkout Links
We’ve added support for reference_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.
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.
The payment attempts information is also available on each order.
Besides, we’ve also added new analytics around checkouts: total number of checkouts, successful checkouts, and conversion rate.
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.
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.
Better Auth Plugin
Integrating authentication and billing for your users has never been easier.
Better Auth is an open source authentication framework for TypeScript that is quickly becoming a favorite amongst developers. Today, we’re trilled to have shipped a Polar plugin for Better Auth - in collaboration with them.
Checkout our integration guide.
Customer External ID
We’ve added support for an external_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 more
Of course, you can also directly preset customer_external_id
when creating a Checkout Session, and it will automatically be set on the newly created Customer after a successful checkout. Read more
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.
This is available right now using the Checkout Session API and Checkout Links.
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
.
New documentation platform. More improvements incoming.