Outseta Company Update - March 2022

3 min read

The beginning of the year is always the busiest time of the year for us, as so many founders decide to launch new companies and projects. I'm happy to report that we're off to a strong start, seeing new highs for new customers and monthly recurring revenue added in each subsequent month. And we've begun having new conversations around organizational design, equity allocation, and increasing the pay for our internal team so that we have a scalable and attractive structure as we grow the team going forward. That all feels really good!

Since our last update we've quietly pushed out some significant product updates—here's the new stuff you need to know about.

You can now offer both individual and team based memberships at the same time

Outseta has always offered both "Team" and "Individual" memberships—this has long been a significant differentiator for us.

Individual memberships—Each user requires their own subscription or membership.

Team memberships—An organization can purchase a subscription or membership that's shared by multiple people, each with their own login credentials.

What's changed is that the decision to use Team or Individual memberships used to be a global setting—you had to choose one option or the other for all of the plans in your Outseta account. No more. We've changed this setting so that it's now configured at the individual plan level, meaning you can offer both individual and team based memberships at the same time.

There's a lot of scenarios in which this is useful, but this feature is particular helpful to membership sites and online communities. It's incredibly common within our customer base that these types of businesses start-off offering individual memberships, but eventually realize an opportunity to start selling team based memberships to companies and other organizations. Now you have the flexibility to offer both plan types!

New Tutorial! Integration guide for React

We've had developers reaching out for longer than I'd like to admit asking for a proper guide that covers how to integrate Outseta with a React application. This is a bit trickier than integrating Outseta with other frameworks because of client side rendering (CSR).

We hired Benedicte Rae from Lily Labs to help us pull this together—she's the first external developer to contribute to Outseta and she absolutely crushed it.

Here's the accompanying documentation.

New Reports! Trial to customer conversion rate and revenue reporting for add-on products

Having launched our own reporting tools in Q4, we've now started plugging away at adding new financial reports to Outseta. You'll see us continue add new reports over the coming months. Two new reports that were delivered in Q1 include:

Trial to customer conversion rate

This report looks at the number of free trials started in a given time period and the number of those free trials that converted to paid subscribers within the same time period.

Revenue by add-on product

This reports looks at revenue broken down by both your subscription revenue and add-on products.

One note on these reports—any of the reports that you find in the Reporting section can be dragged and dropped into whatever order you see fit, so the most relevant reports for your business are at the top.

Subscription history now reflects add-on products

Outseta allows users to purchase additional products or services as add-on products that are purchased alongside your base subscription or membership. As many of our customers have grown, they've chosen to introduce additional products to their audiences.

While that's the case, it wasn't immediately apparent on each customers' CRM record which add-ons they'd purchased—we made you dig a bit for that information. We've now directly surfaced any add-on products that have been purchased directly within the subscription history section of Outseta's account records.

Users can now change one-time plans

This is simply something we got wrong—when we initially launched support for one-time plans, we envisioned that they'd act primarily as lifetime memberships or would be used to sell something like an online course that the user would want to have access to in perpetuity. Because one-time plans can be used to protect content, we didn't allow users to change plans if they were on a one-time plan so that they wouldn't lose access to content that was protected by the one-time plan that they initially purchased.

While that was our intent—and one-time plans are often used this way—we quickly realized that our customers have lots of different use cases for one time plans that we hadn't initially considered. Many of these aren't reliant on protected content whatsoever and similarly many of them are use cases that require a user to purchase new one-time products fairly frequently. To address this need, we course corrected and now allow users on one-time plans to change their plan freely.

New segment condition—"Person has account"

A small change but a useful one, we added a new segment condition called "Person has account." This condition can be used to find everyone in your Outseta account that either has or doesn't have an account. For example, you might want to send an email campaign to everyone in your Outseta account that's not currently associated with an account because these people represent leads for your business.

Improvements around performance, scalability, and error monitoring

This update may be of interest to the software engineers reading this update—for everyone else, see ya next time!

One of the most important things we've been working on over the past few months is a series of technical changes to improve Outseta's performance, scalability, and error monitoring procedures. In short, these changes are designed to help us deliver the most reliable and stable software possible. We're proactively preparing Outseta for scale.

In all ways, Outseta is a mission critical software product for our customers—that's a serious responsibility and one the the major reasons we added Bernard Chen to our team last year. Bernard was the CTO at Buildium for almost 12 years—another mission critical software product. Under his guidance, Buildium delivered a rock solid product that over 20,000 businesses relied on daily while processing billions of dollars in payments each year. While Outseta is nowhere near that scale today, we're making investments to make sure Outseta is seriously reliable and that when there are issues we can catch and resolve them quickly. Here's a few of the specific changes we've made thus far:

  • We resized both the database and our web servers to account for the increased data and traffic we’ve seen over time.
  • We reject calls for invalid customer accounts much more efficiently, which reduces the load on our servers.
  • We consolidated our logs to allow us to track down issues more easily.
  • We separated the process of updating the search index to not slow down other more visible time-sensitive processes.
  • We improved how we block people from sending spam email messages.
  • We reorganized how we send email broadcasts in batches to lists of recipients that have never been emailed before by decreasing the delay between batches to accelerate the speed at which email broadcasts to new lists are delivered.
  • We sped up the process of reevaluating large segments that may have changed due to the passage of time (e.g., people who did not login in for X days).
  • We moved portions of the account sign-up code to be processed asynchronously, which provides greater capacity on our web servers to process other requests while we’re waiting for potentially longer-running actions, such as calling back to accounts to inform them of the account creation, sending out emails, etc. This change did not introduce delays in the time needed to process an account sign-up.
  • We send out notifications and call webhooks in response to user actions through a queue of events. We found that some user actions would generate large numbers of events—and prevent the processing of the events for other accounts for extended periods of time—which would make it appear that these calls were no longer working. We implemented a new scheduler that will ensure that all accounts get equal time in processing their notifications and webhooks. We also made some changes that allow us to target more resources towards working through the queue when it is backed up. This significantly increased our throughput for the notifications and webhooks through better memory management.

If you have any specific questions on these improvements, please don't hesitate to reach out.

That's all for this update—until next time!

About your hosts

No items found.

Leave a comment

Adding your comment...
Oops! Something went wrong while submitting the form.
No items found.