The ultimate e-commerce tool re-engaging with customers who abandon the shopping cart

In 2014, consumers worldwide spent $1.3 trillion in online retail stores. The eCommerce industry is one of the fastest-growing industries in the online world and allows companies to sell products and services to customers globally.

However, there are a number of challenges that eCommerce stores face and that have a big impact on the store’s revenue; one of the main issues is cart abandonment.

Cart-abandonment rates vary from one industry to another, but the average is around 58%.

That means if an eCommerce store’s average cart order is $100.00 and their cart abandonment rate is 50%, then for every 1,000 customers who add items to their shopping carts, the eCommerce store would be losing about $50,000 in potential revenue each month.

This truly highlights the challenge eCommerce stores face.

Luckily, there’s Rejoiner.


Clearcode impresses me with their technical knowledge and responsiveness on a daily basis. I couldn’t ask for a better engineering partner.

Mike Arsenault, Co-founder

About Rejoiner

Rejoiner started back in 2011 by three friends who, while working together at a SaaS company, discovered that one of the biggest problems facing all eCommerce companies is cart abandonment.

They searched for a solution to help them overcome this problem, but discovered that such a solution didn’t exist. So they decided to build Rejoiner.

Rejoiner now offers eCommerce stores of all sizes the ability to regain some of their lost potential revenue caused by high cart-abandonment rates. Clients can create a series of customized email campaigns sent to customers who abandon shopping carts during the sales process, containing the products the customer added to the cart before leaving the site.

The average recovery rate for Rejoiner customers is between 10% – 20%, which, depending on your monthly checkout visits, average order value, and abandonment rate, could mean receiving anywhere from a few thousand to a few hundred thousand dollars in recovered revenue – a pretty great result for just sending a few emails!

The Challenges

The Rejoiner team approached us with an existing solution that was still in its infancy. They faced a lot of performance issues relating to data reporting and lacked the technical resources to improve, develop, and maintain a quality solution that could be scaled to handle their growing client base.

The Project’s Goals

Once we identified the challenges, we came to the conclusion that it would be more feasible and financially viable for Rejoiner to optimize its current platform instead of replacing it with a new solution. The project’s goals were created from both the user and technical perspectives.

After confirming the project’s goals with Rejoiner, our team set off to make the necessary improvements and develop the required features.

We identified the challenges and outlined the project’s requirements:

  • Improving code quality
  • Setting up a deployment-automation process
  • Reorganizing the production environment
  • Correcting the platform’s design and database schema
  • Developing new features and improving the reporting process
Improve the platform’s performance

to increase its stability and allow it to handle the growth of the client base.

Give users more flexibility

in changing the settings of their campaigns and accounts.

Build a reporting feature

in the platform that allows users to create email campaigns and analyze their performance.

Enable users to create user segments

and create campaigns that targets these segments.

Allow users to create and manage multiple campaigns

Develop A/B testing tool

that allows users to create different variants, test the variants, and then view their performance in the reporting section.

Automate the billing process

to increase conversions.

Resolve issues relating to false positives

(e.g. as a result of spam) and make the email campaigns more reliable.

Rejoiner Dashboard

The Solution

After confirming the project’s goals with Rejoiner, our team set off to make the necessary improvements and develop the required features. Here’s a breakdown of the main solutions and the results they achieved:


Refactored the code base


The code base is now much easier to work with, the platform performs better, and it is easier to run tests on the code.


Developed new features and continued refactoring and optimizing the platform


The platform is now highly extensible, and adding new features is much easier and carries much lower risk than before.


Automated the billing process


Eliminated a lot a manual work that would otherwise have to be performed by the user. Now, the user is billed on an automated basis, which saves them a lot of time.


Optimized the platform


Increased the platform’s stability.


Introduced automated deployment


Eliminated repetitive deployment, which saves time, reduces deployment errors, and allows the developers to release new features and functionality more frequently. By introducing automated deployment, we were able to reduce deployment time from 30-60 minutes to a few minutes, even a few seconds, depending on the change.


Redesign the platform’s infrastructure and migrated it to another hosting provider


Built better infrastructure and created a better approach to organizing the platform on a different staging environment. The major change was introducing database replication, which in turn created redundancy. This means that in the event the master database goes down, we can use an alternative database and therefore increase the platform’s availability.


Changed the schema in the database


Faster queries and the ability of the platform to retrieve the data from the database quicker and more efficiently, which eliminates lag in displaying reports, allowing users to view reports instantly.


Set up a continuous integration (CI) server


Created a separate testing environment to keep it independent from the local environment. This allows our team to save time on testing code, avoid destroying the platform’s existing logic, detect and fix bugs much earlier to save time in the long run, and ensures the new pieces of code will be compatible with the rest of the code base.

The Solution

How we delivered a successful project to Rejoiner

The keys to a successful project are often a combination of technical knowledge, skills, experience, and soft skills, (such as communication, trust, and a mutual commitment to achieve success).

Here are three main areas that allowed us to deliver a successful project to Rejoiner:

Our strong cooperation with the Rejoiner Team

We’ve built a strong relationship with the Rejoiner team as their Technology Partner.

  • We provided the Rejoiner team with full transparency into their platform’s progress and encouraged them to be constantly involved.
  • We kept the communication channels open and were responsive in answering questions and queries.
Our experience in building analytics platforms

The fact that the Rejoiner platform was closely connected with our areas of expertise greatly impacted the success of the project. Our experience allowed us to:

  • Easily solve problems that we’d come across in the past.
  • Develop the platform quicker by applying our skills and experiences gained from previous, similar projects.
  • Quickly understand the project’s requirements and limitations, which resulted in us starting the project sooner and maintaining a fast pace of development.
Our proactive and agile approach to software development

Our agile approach to software development enabled us to:

  • Identify potential issues early, which allowed us to either solve them or avoid them completely.
  • Quickly change and improve the project’s direction when better solutions became available.
  • Suggest better solutions to Rejoiner that would allow us to deliver a better result.

Download the full Rejoiner case study

To find out which features we built for Rejoiner, how we delivered success, and the results of the project.

Download for free!

Rejoiner success

To date, Rejoiner’s customers have generated over $ 56 million in revenue.
Rejoiner has attracted a number of high-profile clients:

The platform has helped its clients recover over 225,082 abandoned carts.

Talk to us about your project

Schedule a call with our team and find out how we can apply our skills, knowledge, and experience to your project

Get a free quote