Building a custom magazine subscription management system

This post is an edited version of an email from September 2016 that was part of my Rebranding Diary. You can see much of what I discussed in that email live on our website now, like our multi-tier subscription model that charges readers on a per-issue basis.

Offscreen’s original order management system (OMS) has served me very well over the years. It solved a fundamental problem every magazine maker faces: managing orders for single issues and for subscriptions (which are essentially orders for future issues) in one place, while keeping customer data up-to-date and optimising orders for shipping. It connected directly with PayPal’s IPN system, which has its flaws (like everything PayPal-related) but is extremely easy and fairly flexible to run.

When we created this system almost five years ago, there were a lot fewer out-of-the-box ecommerce tools available. Today, between Shopify, Squarespace, bigCartel, and a whole host of other shopping cart apps, it begs the question why I should develop my own customer and inventory management tool.

Why not go with Shopify?

While the above mentioned apps are extremely powerful (especially Shopify with its own app store), they don’t exactly suit indie magazine makers who often publish new issues infrequently and rely heavily on subscribers to manage their cashflow. Available subscription management plugins don’t cater for this type of product either. Most subscription SaaS products either focus on digital subscription management or sell monthly subscription boxes which are completely different beasts to printed publications that come out every few months. While customising these tools is possible, they are just not meant to be used that way.

I also don’t use any of the larger fulfilment services like Shipstation or Shipwire because Offscreen is shipped through a small logistics company in Berlin. Their low handling fees combined with German Post’s low postage makes shipping Offscreen around the world possible. Going through a small service provider like that also means I don’t have any fancy APIs to work with – instead I export a weekly order sheet in the form of a CSV file and make it available to my shipper in Berlin.

When it comes to handling payments, almost none of the existing apps offer recurring, but infrequent charges. Like many other indie magazines, Offscreen doesn’t adhere to a very strict publishing cycle. I aim for a new issue every four months, but it sometimes varies by a few weeks. Many of the available SaaS products offer recurring charges such as every week, month, quarter or year, but I still haven’t come across a tool that allows me to charge customers whenever I'm ready to ship a new issue. Essentially, I’d like to store my customers’ payment information securely and then trigger a charge by the time I release a new issue.

All of this means that creating a custom plugin for Shopify would be almost as complicated and expensive as creating my own order/subscription management system. And so I chose to go with the latter because it gives me a lot more flexibility.

The ideal order and subscription management tool

So what would the ideal buying experience for readers and the ideal order management system for a publisher look like? I've been pondering that question for the last few months, if not years. Here are some of the features I’d love to use:

Make magazine subscriptions more like digital SaaS subscriptions
Most indie magazine subscriptions are simple pre-orders for the next n issues, paid a year in advance. They usually don’t auto-renew which means readers have to be reminded to come back to the site to buy another one-year subscription. Rather than making a big commitment upfront, what if we let readers subscribe on a per-issue basis? Once subscribed, Offscreen charges readers a few weeks before the new issue is released. They can cancel or change tiers any time.

Offer different tiers of support
So many of my readers want to support the magazine beyond just buying a copy. What if, rather than just buying a standard subscription, they could choose from a few different tiers according to the level of support they want to give? I can imagine at least three different tiers – subscriber, supporter, and patron. The higher tiers include a little gift to show my appreciation for their support. Subscribers can change tiers in between issues.

Integrate the patron model into subscriptionsOffscreen patrons pay a fee to have their name included as supporters in the back of each issue. I think all small indie publications should consider having such a patronage model for their most loyal readers. Their extra contribution goes a long way in making it a sustainable publishing business. Ideally that patron model would be more deeply integrated in the checkout process so that more people can become a patron without me manually handling every single request.

Provide a simple account interface to manage orders/subscriptions
I think a lot of us don’t like buying subscriptions to physical products because there is often no sense of control. You subscribe to a magazine online, pay the yearly fee, and then hope that you don’t move houses in the next twelve months. How do I change my shipping address in between issues? Do I need to renew manually? What if my credit card expires? I want Offscreen readers to feel like they are in control of their subscription through a simple account interface – ideally without having to create a login/password.

Offer discounts to students and libraries
I feel strongly about supporting the next generation of techies and making Offscreen available through more public libraries. Offering EDU discounts isn’t as straightforward as it seems because it requires some sort of eligibility check during the checkout process. We’re exploring using this openly available database to check customers’ email addresses and apply an EDU discount of around 25%. (Note: we didn’t manage to release this feature with our launch, but it’s still on our to-do list.)

Streamline the management of all of the above
The only reason why I’m able to run Offscreen by myself is that I streamline the admin side of things as much as possible. The ideal system is perfectly tuned to what I need to get done every day, week, month, and quarter. Creating a completely customised system allows me to avoid unnecessary steps and optimises the process between receiving an order and sending out issues.

Some of the above features are ‘experimental’ to say the least. Other publishers I spoke to said I should continue offering standard yearly subscriptions (and this new system still allows me to do that if I change my mind), but I’m eager to see whether the age-old model of magazine subscriptions can be improved through a per-issue model that behaves more like other digital subscriptions we already have.

Using Bootstrap, I quickly created all the necessary templates for the back-end so that my developer Dan Rowden can get started with development. I also spent a lot of time on a very detailed document (23 pages in Google Docs and counting) to outline all the different features, edge cases, etc. It’s been an interesting experience working through every detail of such a big project. There is so much stuff happening behind the scenes that is necessary for things to run smoothly but that nobody will ever see or even know exists.