Stacks explained: Amora Coffee by Brandon Amoroso
How Brandon & his team at electrIQ supercharged the Amora Coffee business
About Amora: A coffee subscription brand, on a mission to bring freshly roasted coffee to all Americans. Amora uses the finest beans and a 9-stage roasting process and then cuts out the middle-men, shipping direct to your door.
About Brandon from electrIQ marketing: Brandon is the founder at electrIQ marketing. They help e-commerce brands & B2B businesses aggressively scale with clever lifecycle strategies & team of in-house specialists in content marketing, email, SMS, web builds, social and acquisition.
Could you give me an overview of the objectives for the Amora Coffee website and highlight some of your restrictions?
Amora was on a custom subscription platform for a little over 9 years that was proprietary to them. We engaged with them probably 2 years ago now, and we were helping them on the marketing side of things, but saw a larger opportunity to get them onto a platform like Shopify that would enable us from a marketing perspective to do more and move faster. We needed to have a setup that would support subscriptions extremely well because their business is 99% subscription. So that’s why our build was almost more of a ReCharge build then a Shopify build.
Figuring out subscriptions was our first challenge. How might that subscription migration take place, what were the payment processors etc? For instance on the payment front, we ultimately had to go with Braintree and then oversee the migration - that was really the most difficult part out of any of the build. From there, our goal was to identify the best in class tools on Shopify. That's the lens through which we put together the entire tech stack.
Talk to me about why you had to select Braintree
So they were using Worldpay on their legacy system, and ReCharge only supports Stripe, Braintree or Afterpay. That’s why a migration had to take place from Worldpay to Braintree and then the migration from their old system to Recharge also had to take place. So there were a lot of moving parts.
Was adding subscription as simple as adding ReCharge? Or did you have to do some custom work?
There was definitely some custom work done. For example, we created a custom selection flow where a customer would choose their first coffee. And then after that, the flow auto enrolls you into a shipment of 2 bags every 2 weeks or 3 bags every 3 weeks. And so that custom selection flow had to be set up that to pass data through to the ReCharge APIs (there’s a case study here)
Another custom piece came up when we built out a landing page outside of Shopify, to be used for paid advertising. Here we had to patch orders through via Recharge’s APIs, and then they go into Shopify ultimately. So there was a little bit of custom work there too, because of the fact that they had some unique insurance subscription offers.
For the landing page, were you using Shogun, PageFly or something else?
For the landing pages, we typically will use Unbounce or Webflow. We've been using Webflow a lot more just because it allows our development team more customization ability. Unbounce is great if you don't have a development team, but Webflow has a little bit more customization and our development team prefers that versus anything else.
I’m a big fan of Webflow as well, but the eCommerce functionality is still pretty new to the platform. How easy or difficult is it to integrate with Recharge?
It's definitely not easy. I wouldn't be able to do it and frankly, I don't even know how our development team did it, except for the fact that it went through the Recharge API's and that's what they're using to pass the order through. You could relatively easily use Shopify buy buttons or something along those lines to accomplish one-time purchases, but the Recharge portion of that landing page was custom.
Great - what came next in the tech stack?
For the rest of the tech stack, the most important thing was to make sure that it worked with the subscription program. So for instance, when we were vetting Yotpo versus LoyaltyLion for the loyalty and referral component of the business, we ran into some issues on the Yotpo side in terms of being able to add a free product with loyalty points to a subscription order. So that essentially gave us the one option of LoyaltyLion because LoyaltyLion had that integration with Recharge.
To give more color on this feature: Essentially what happens in the flow is that after the first purchase, you're going to start getting points for each one of your purchases. On any subsequent orders that you want to make with your points, LoyaltyLion has the functionality to redeem your points for a free coffee that goes into your next shipment. The key thing here is that there's not going to be a separate shipment that has to go out the door, the “free coffee” will get appended onto your current subscription order. Whereas with Yotpo, you could only do a one-shot add-on. So if we would've used the Yotpo solution, we would have had multiple shipments going out to the customer, which would have increased the shipping and handling costs and just wouldn't have been as good of a customer experience.
Very clever. What came next?
On the email side, we only go with Klaviyo for brands on Shopify. We have started to take a look at Omnisend a little bit more, but for the time being Klaviyo is really best in class, especially for any brand that is on Recharge because of the quick actions functionality that Recharge has built out with them.
Quick actions enable you to send links that you can dynamically send out to customers so they can take predefined actions in your account if you just click on it. So, if a customer has previously canceled their subscription for example, you can send them an email that has a link in it. If they click on that link, it just automatically reactivates their subscription. They don't have to do anything else. Or another example is that 2 or 3 days before their order, they can get an email with a link to add a product as a one-time trial to their next order. They click that link. It will automatically amend their next order. So that functionality is really impactful because of how easy it makes managing the subscription for the consumer.
On the SMS side of things, we chose Attentive just because of their really robust set of subscriber collection tools. We also work closely with their agency strategy team, so we have a really great roadmap in terms of success for our clients. The Attentive team has also invested quite heavily in the Recharge integration. So things like reply to buy, cancel the win-back, other automations are now possible, whereas even 9 months ago, they weren't. So that's why we went with Attentive on the SMS side of things.
Can you go into a little bit more depth on the SMS collection side of things? And why didn’t you choose Klaviyo SMS?
Attentive’s 2-step modal is really best in class in terms of its functionality and ability to get subscriber opt-in. A lot of times we'll have brands come to us and be specifically ask, "We want this exact pop up". And we're like, "oh, well that's an Attentive pop up.".
One of the other neat features is the ability to do a “swipe up to subscribe” on Instagram stories and have a landing page that if somebody clicks through on a link on desktop gets shown an email opt-in, but if they swipe up on a mobile device, then it'll take them straight into the text message opt-in process. We've even started to run some Facebook Lead Gen ads where the phone number from Facebook just passes directly over into Attentive and then we can start to market to them from there. That's been really powerful as well.
In terms of Klaviyo SMS, they just released some new features and functionality, like the two step modal, for example. We actually have a demo with them this week to go over that aspect of their platform. Because up until now, they haven't achieved feature parity. I think they're a lot closer now. So we're taking a look at it to see if we potentially want to use that for some of our brands. And it could make things easier. If you have your email and SMS communications going out of the same platform, it's probably best long-term.
And what about the other parts of the tech stack? Reviews, cart apps, analytics etc?
For reviews, we went on with Okendo because they integrate with LoyaltyLion and they allow for customer review attributes. So we can ask people, “how do you like to drink your coffee?” so that prospective customers can go on the product pages and filter reviews by how other people also like to drink their coffee. We actually have an upcoming case study with them (side note: I’ll link to this when it’s live!).
On the cart upsell / checkout side of things, we use Rebuy. It’s important to us, because in the slide-out cart drawer we can show how far off the customer is from reaching the free shipping tier. We can also give the customer the ability to add an additional product to their order, the ability to upgrade that product to a subscription and save 20%. That's all powered by Rebuy in the cart. And once you do begin the checkout process, those products are surfaced once over in the bottom right corner.
For post-purchase, we showcase a referral pop-up served via LoyaltyLion. And then we're also servicing a post-purchase survey by EnquireLabs that gives us very valuable customer data, and can easily be attributed to a customer and patched back over to Klaviyo. In a similar vein, the other app we're going to roll out soon is a “coffee quiz” via Octane AI. They have an integration with Klaviyo and an integration with Attentive coming soon. So all those quiz answers can be patched over into Klaviyo, which allows us to segment customers off of it and create customized email welcome flows.
We also installed Lifetimely, which helps us hone in on like the customer lifetime value of certain cohorts that we're bringing into the funnel. So, for example, we ran a $2.95 intro cold brew offer on Facebook and Instagram in April and May before the summer. And we're using Lifetimely to track what is the lifetime value of those customers. And we use that, we do that through the app Lifetimely so we can see like, "oh, they spent $15,000 on their first orders, but then 25-percent of them came back and made that second order and that generated $6,000 in revenue." Or whatever it may be. Understanding how successful initiatives such as an “intro style offer” are really beneficial for us long-term or for bringing in valuable customers at a cost-effective rate.
In terms of analytics, I mean, we always set up GA, which is pretty straightforward and usually the source of truth for most things. But we also use Churn Buster to recover credit card recycling attempts, which recovers a lot of business for them.
Any last pieces of the puzzle you want to highlight?
There are a few backend integration apps too. Amora’s warehouse is more traditional, so we set up a CSV file export and import via some FTP server apps in Shopify. So, tactically - We have a batch file export of orders 3 x times a day through this FTP app, which then drops into their server. The warehouse is then able to download the CSV, fulfill the orders, at which point a different app comes in and pulls that file from their server back into Shopify and fulfills the orders.
Usually the 3PL just integrates directly with Shopify, but that's the process that we had to do there.
We're also using an app called Simple Bundles, which allows us to create fake bundles on the website that then back into individual SKUs for the warehouse to fulfill.
So, for example we have an anniversary kit up on the website where that includes a bag of coffee, a candle, and a “birthday cake” blend. They're individual skews. We don't actually have an anniversary kit, but on the front end, we can make a “fake SKU” that sells all 3 of those products together for a 10% off discount. Somebody places an order for it. The kit is automatically fulfilled, but then the 3 individual SKUs are sent over to the warehouse for fulfillment. So, Simple Bundles essentially prevents a mess up in the warehouse that would occur with receiving an order for a skew that it doesn't recognize.
Creating a new SKU causes a lot of complications from an inventory standpoint. In this “Anniversary Kit” example, the warehouse is just picking and packing the individual SKUs and putting them into the box. If we had a separate SKU for the anniversary kit, it would mess up the warehouse side of things because they're not tracking the SKU. With Simple Bundles app, you just create a “fake SKU” and then it'll automatically set the inventory level of the kit at the inventory level of the lowest inventory product in that bundle.
Thanks for talking us through the stack Brandon - Extremely beneficial to our readers. Wishing you the best with Amora and many more projects.