How to sell and fulfill limited edition ebooks for free

My friend (and brother in law) Tom Alexander is a writer / artist / publisher / very clever guy. His latest project is Six Six Six – one hundred and eleven six-word stories about Hell, in three editions.

I helped with the logistics for fully automating selling the limited edition ebook, and this post explains how we approached it.

TLDR: use Stripe Payments, Zapier and Google Script.

The problem

Tom’s idea was to allow customers to purchase a limited edition ebook. This ebook should then be emailed to the customer, and this process should be automated. Each ebook would have the edition number embedded in it, and the email to the customer would also know which edition the customer was getting.

Each ebook costs 66p, so the budget was very limited and certainly couldn’t sustain ongoing monthly costs.

Limited edition ebooks are not normally a thing people want, so there’s no established way to handle this.

Thankfully, Tom wasn’t worried about DRM or other file sharing protections for this project, so we didn’t have to take that into account. 

The ideas

We considered generating the ebooks on demand, with the edition number embedded in them on creation, but this seemed unnecessarily complicated. Instead, Tom created 600 separate pdfs using Affinity and a merge, and then used a python script to split the file into the individual books. 

To sell the ebooks I initially thought we could sell through SquareSpace, where Tom hosts his site. SquareSpace allows you to sell digital products, but doesn’t allow you to do something as odd as sell individual digital products only once. We could have tried to treat them like physical products. However, the automation of sending them would need to be outside the system, and the automation options with SquareSpace are limited. 

We hatched a plan to use a Stripe Payment and then process the orders using Zapier. This worked quite well. I created a Zap that checks for Stripe checkouts, filters based on what was bought, extracts the customer email, increments a number in a table in Zapier, finds the correct file in Dropbox or on Google Drive, and then sends it to the customer through Gmail. Incredible. 

But. Due to the complexity of the Zap, this not unreasonably required a Zapier subscription, which Tom did not already have. This made it prohibitively expensive for sending 66p ebooks. I looked at the Zapier alternatives, but none of them seemed to work as well, and none of them were magically free.

The solution

Then I discovered Google Script. This let you tie together bits of your Google landscape to do all sorts of clever things. For example, you can write a script to format a spreadsheet for you. Or to read a spreadsheet and do something with the data. Or send an email. Do you see where this is going? 

In our case, we used a free Zap from Zapier to write to a Google Sheet whenever someone buys one of Tom’s books (Zapier lets you do one-step processes like this for free). Then the Google Script checks that Sheet on a regular basis. When it finds a new book order it assigns it a book number, incrementing by 1 each time, then finds the book in Tom’s Google Drive, and sends the book to the customer through Tom’s Gmail. 

Simple and effective. 

This was a really fun challenge to wrap my head around. Take a look at Tom’s site to see the range of what he does. He’s incredible. And let me know if you’ve got something fun like this that I could help with somehow. 

Leave a Reply

Your email address will not be published. Required fields are marked *