Implementing the “Abandoned Cart” Gem or How to Return Your Customers

3 min read

According to Baymard Institute’s research, which they conducted in 2015, the online shopping cart abandonment rate was 68.63%. This means that for every 100 possible online customers, 68 of them left the website without buying a darn thing. What stopped them? Lots of things! For example, overpriced and low-quality goods, expensive or delayed delivery etc. However, the biggest reason why customers left, was poor implementation quality of the websites they visited. Too slow payment processing systems, buggy user interface, no mobile version support — that’s the price for entrusting your business to amateurs.

“Is there a way to prevent that?”

Yes, there is. We recommend using the solution called “abandoned cart”. It prevents shopping carts, well, from being abandoned. Basically, this feature sends trigger emails with the lists of cart items. A user opens the email, sees the list of his cart items and goes back to the website.

“Why are you so sure it even works?”

According to marketing experts 30% of customers who receive these emails return. Moreover, 70% of them are most likely to complete the purchase. But that’s true only if your emails look unobtrusive and nicely composed. Also, if there is a solution that can provide you with the mentioned features right out of the box, it’s a MailChimp and Mandrill combo for the win.

MailChimp is a multifunctional online paid solution for email marketing. It allows you to manage subscriptions and mailing lists by subscribers. This feature may come in really handy for quick A/B testing. Further, MailChimp can gather statistics like mailing results and letters openings.

The service has an embedded template editor that is basically just a set of ready templates. Customization features include the ability to code in HTML. It might even seem that the basic version is too overloaded with HTML elements. The templates can be adjusted for mobile devices. As for the cons, old browsers and Outlook aren’t supported, and custom fonts take quite a lot of time to work with.

JetRuby’s advice: use web fonts similar to ones from your Google Fonts collection.

For developers, MailChimp provides a well documented and functional API. It has integrable libraries and modules written in popular languages including Ruby and GoLang. MailChimp has also its own transactional platform with almost the same convenient API — Mandrill.

Solving the abandoned cart problem
We developed a Ruby gem called “spree_abandoned_cart” which can be easily integrated into Mandrill API. The very implementation of this gem consists of 3 steps:

  • Schedule your email send-out. The step also includes marketing and design works.
  • Ask your backend team to find carts that were abandoned.
  • Automate the mailing and monitoring process to search for abandoned carts available.

Let’s take a closer look at the second point. We’ll use the code sample for Spree Commerce (3 methods of the “Spree::Order” class).

The first method returns the “Spree::Order” samples collection. Wherein “Spree::Order” should meet particular requirements: unfinished and unpaid orders with set expiration date and the emails to which they haven’t been sent before.

Calling the mailer to send an email to the necessary address:

The method is usually extended with additional perks like the ones responsible for calling the planner of the next mailing. Further, you can see we call the first two methods for the selected “abandoned carts”. This method is also convenient to use say in a background worker or in any other place where you need to call upon this logic.

The perfect recipe to send abandoned cart emails


JetRuby advice: sending a series of 3 emails per customer works best.

What’s more important, this allows you to conduct A/B testing. Thus, you can check the efficiency of your email-campaign.

Basically, A/B testing is exactly what it sounds like: you’ve got two versions of something and a metric that defines success. To determine which version is better, you subject both versions to experimentation at the same time. After that you see which one was more successful and pick that version for real-world use.

It’s all about the right timing

“What do I need to include into the emails?”

  • Pictures of items from the abandoned cart, customer feedback, item specials and discounts, service support, refund info etc.
  • A highlighted CTA telling the customer to complete the purchase, e.g. a well placed and nice button.

It’s important to remind your customers about what they were doing on your website because 97.8% of them forget about it after 9 days, according to experts.

“How often do I need to send the emails?”

  • Send the first email within the first 2 hours after the customer abandoned his cart.
  • Send the second one within 2 days after the first email was sent. Offer the customer some specials or a discount.
  • Send the third one within 7 days after the second email was sent. Offer a lower discount — the customer is likely to take the second offer seeing that it has more benefits for him.

Up to 70% of returns through “abandoned cart” emails occur within the first 2 hours after the purchase.

“Can I send more than 3 emails?”

Sending more than 3 emails to one customer is ineffective. Also, this will most likely ruffle their feathers.

Analytics and A/B testing

There are 3 ways to track user behavior and conversion rate as well as other important indicators. The easiest one is to use the standard tools of MailChimp and Mandrill. They can provide you with some pretty versatile A/B testing tools.

Another common way to test email marketing efficiency is to set up Google Analytics. We recommend you configuring Enhanced Ecommerce from GA. If you encounter any issues during configuration, feel free to ask us here.

However, the best way to track user behavior and conversion rate is to create your own analytical system with partial synchronization with other analytical resources.

“When do I need it?”

It will be of great help if you have a highly-loaded middle- or premium-segment online store. Not cheap to develop, but such custom solution pays off. Usually, similar features offered by external services like Google are very expensive and not safe in terms of data protection from different kinds of business intelligence.

The Bottom Line

Ever since online shopping has appeared, customers have become even more difficult to satisfy. But as long as you have a well planned marketing strategy any sale bottleneck such as abandoned cart can be easily solved. Simply follow the tips we’ve enlisted in the article and most of the related problems won’t even try bothering you =)

Editor's Choice

Post Image
6 min read

Save your information and nerves. Everything you need to know about the concept of Observability in Ruby.

  Engineering teams focus on observability.   Companies are increasingly adapting to diverse tech stacks, integrating observability in Ruby and other languages to…

Post Image
4 min read

Jetruby is an ISO-certified software development agency. What does it mean?

The scarcity of skilled engineers is a pressing issue for many tech companies, but not for us. Our base is growing at an…

Post Image
6 min read

Software Engineering Culture and How we in JetRuby Develop It

Have you ever wondered what a software engineering culture is? What if we revealed that it’s one of the primary reasons your clients…

Get the best content once a month!

Once a month you will receive the most important information on implementing your ideas, evaluating opportunities, and choosing the best solutions! Subscribe

Contact us

By submitting request you agree to our Privacy Policy