Boosting launch day revenue by $2000 with a Shopify app

Did I do the clickbait headline right? Sorry about that, I just want to make sure that if this Shopify caper doesn’t work out I can fall back to writing for Buzzfeed.

Today I wanted to share with you a Shopify app success story. The app in question was built by me in a couple of hours for my company, Disco, and launched along with a Shopify site at the start of this week. It increased first day sales by 18% - that worked out to a bit over $2,000 in extra revenue.

Making me even happier about this result is that the store in question is, a Danish charity that will be sending all of their takings straight to Dansk Flygtninge Hjælp to assist with the Syrian refugee crisis.

In this post, I’m going to go over exactly what this app does, why it only took us a couple of hours to build it, and break down (with permission of DFH) the exact numbers around the first day sales. The goal here isn’t to boast (well, maybe just a little bit), but rather to demonstrate a couple of important lessons around Shopify app development:

  1. Simple functionality can have a big impact - if it’s well thought out and targets real customer behaviour;
  2. As you build more and more apps and develop more experience, it pays to extract and reuse common patterns.

The backstory

Sammen has a bit of a “Live Aid” backstory. A number of Denmark’s biggest musical artists collaborated to produce a one-off album, with proceeds of sales going directly to DFH. The organisers had arranged to sell the album, along with a poster matching the album cover, via Shopify.

Sammen Album Cover
The Sammen album cover art.

From prior fundraising experience, DFH knew that giving people the option to choose a custom amount to donate on top of the base price for the album or poster would be a powerful way to increase the overall amount of money raised. The only issue was that Shopify doesn’t natively support this sort of behaviour.

Disco came in to the picture thanks to a Reddit post (of all things) where I’d mentioned that we were looking at building out a “Pay What You Want” Shopify App. We’d created something similar for previous clients Useful Gifts to help them accept donations of any value and knew that it could be useful for other store owners.

That app hadn’t yet materialized (it’s still in the “todo” list), but once DFH reached out and explained what they were trying to do, we readily agreed to help out and get a custom version of the application up and running.

The brief (and the value of extracting patterns)

The client got in touch with us on a Tuesday, and were planning to launch the following Monday. Now, we’re usually kept pretty busy at Disco, and this week was no exception. Yet, I still felt confident taking on the task of building out a custom app ready to ship the next week for a couple of reasons:

  1. I’d built almost exactly the same system before for a different client, so I knew the approach I’d be using (we didn’t re-use any code from this prior client’s project);
  2. I think we’ve done a really great job at Disco of extracting a lot of the common patterns and boilerplate code involved in building Shopify apps. We have our own private gem (we’re a Rails shop) called disco_app that sits on top of the official shopify_app gem. With a combination of this gem, Heroku and quite a bit of familiarity with the process of getting an app up and running, I can now fully deploy a new Shopify app in only a few minutes.

When you’re first starting out building Shopify apps, you’re probably not going to have the experience needed to easily identify the sorts of patterns that it makes sense to extract into your own library. You definitely want to avoid prematurely abstracting every piece of code you write for your early apps - the classic rule YAGNI applies just as strongly here as in other software development disciplines.

However, as you do see the same things cropping up again and again (perhaps it’s setting up application webhooks, or keeping a local copy of Shop information up to date), look to take the time to make the work you’re doing easily reusable further down the road. It might take a little extra effort now, but over time it will pay dividends.

The build

If you’re interested in how the application actually worked, it looked something like this:

Pay What You Want Shopify App
The data flow for the “Pay What You Want” app.

As I mentioned, building this app out only took a couple of hours thanks to all of the standard Shopify app scaffolding being taken care of by our disco_app gem. That meant all I had to actually build out on the app side was a single API endpoint to accept requests from the theme, look up or create products via the Shopify API, and return a variant matching the request donation amount.

The remaining work was in allowing the store owners to customise the image, SKU and description of the new donations products the app was creating, and updating the product pages on the theme itself to make use of this functionality.


On launch day, Sammen sold 648 posters and 188 albums through their Shopify store for a total of 79,840 DKK. (That’s around $11.3k USD. The album numbers were likely much lower than the poster sales as the album was also available via Spotify and iTunes).

On top of that, 284 customers kindly decided to give a little extra using the “Give more” functionality, and with an average donation amount of 50 DKK an additional 14,479 DKK ($2,065 USD) was raised - money that would have just been left on the table without the functionality provided by the app.

Sammen Launch day sales
Pretty healthy numbers for day one!

Not bad for a couple of hours work! And of course, this is just the launch day we’re talking about - there are still a few media campaigns and ongoing marketing efforts that will hopefully result in even more money being raised for this worthy cause.