What the hell is Reverse ETL? You may work in a data team or just heard that Reverse ETL can help make your company data more actionable.
In this article, we’ll go through the following:
- What is Reverse ETL?,
- Why can Reverse ETL can be very useful
- Reverse ETL use cases
- What to consider when choosing a Reverse ETL tool
- List of Reverse ETL tools
What is reverse ETL?
Before we can answer this question, we need to define what ETL is. ETL stands for Extract Transform, Load. Okay but what does that really mean?
In a business, you’ll have key data living in many places. For example, you may have customer data in your CRM (Salesforce, HubSpot, etc). You’ll have payment data in Stripe or a similar tool. You’ll have transactional data in your own internal database. Or if you’re in e-commerce, you may have some data in a Shopify account.
ETL describes the process of
- Getting all of this data (extracting),
- Turning it into a structure that makes it easy to understand and analyze (transform)
- Put it in a data warehouse (load). A data warehouse is a type of database that’s optimized for data analytics.
So once you’ve done ETL, you basically have all of your data in one place (your data warehouse). Typically, you would then connect your data warehouse to a Business Intelligence tool (like Actiondesk, Tableau, Looker) in order to analyze this data and gain insights from it.
If you’re interested in learning more about ETL and the best ETL tools, check our article The best ETL tools for startups.
Okay, still with me? Let’s get into what Reverse ETL is now.
As the name suggests, Reverse ETL is the opposite process. You'll send data from the data warehouse to your operational tools like Salesforce, HubSpot, Marketo, etc.
Wait a second. Why the hell would I do ETL to then do the reverse? What’s the point? Why don’t I do nothing, wouldn’t that lead to the same result?
Not really. The thing is that it’s not exactly the same process in reverse. For example,
Let’s say you got Salesforce and Stripe data to your data warehouse.
Then you may use a reverse ETL process to get some of the Stripe data points to Salesforce.
Maybe you’ll send the information of whether a specific customer is delinquent (i.e. didn't pay their last invoice). That way, your sales team can get in touch with them and solve the problem.
Makes more sense now?
You’re not only sending raw data from the data warehouse to the operational tool, you’re adding a layer of analysis. You’re making sense of the data and sending it to the tool where this data point will be the most useful to the right team.
Why Reverse ETL
As we touched on in the last paragraph, Reverse ETL can help make your data actionable. Making data actionable is something that's close to our heart at Actiondesk (hence the name).
In the example I gave, having the data in Salesforce led to a clear operational action from a member of the sales team.
That action should lead to an improvement (i.e. having less delinquent customers and being paid faster).
Traditionally, data teams have focused on analyzing data and creating decision making dashboards.
This is great and very useful. However, most of the time, it’s focused on analyzing the past.
To use the same example again, you may have a monthly dashboard that tells you the percentage of delinquent customers.
Maybe you’ll see at the end of the month that that percentage is increasing. You’ll then decide to do things over the next few weeks and months to solve this.
With operational analytics and Reverse ETL, you can react much faster and drive actions to solve the problem earlier.
If in Salesforce, you know that a customer is delinquent, then you could have a workflow that creates a task for the customer success or sales rep who handles that customer. That task would say something like “this customer hasn’t paid their last invoice, get in touch with them to pay or deactivate their account”.
This is so much better than realizing at the end of the month that you have a problem.
Reverse ETL use cases
Let’s explore a few other use cases for Reverse ETL
For customer support teams
We’ve all had the terrible experience of talking to a customer service agent who has no idea about our history with the company.
Reverse ETL can help customer support teams with this.
If you use Zendesk for example, you can feed Zendesk data points about the customer. That way, when as an agent, you speak to a customer, you have all the information you need at your fingertips:
- What orders did the customer place?
- What’s the status of these orders?
- Was the refund they were supposed to get processed or not yet?
This way, when as an agent, you talk to the customer, you have all the context you need. The experience for your customer will be 10x better.
You can even get ahead of your customer’s problem. Let’s say one common problem for your company is customers calling your customer service to complain about a late order.
With Reverse ETL, you could feed an emailing solution with information about late orders, and warn your customers your orders are going to be late.
This is much better in two ways:
- First of all, this is a great experience for your customers. Sure, they still have a late order, but getting proactive communication is much better than having to worry about where that order is and calling the customer service to ask about it
- Secondly, it reduces the load for your customer support team, and as a result reduces your cost.
For sales teams
Let’s consider a Sales team in a Product Led SaaS company. Lots of customers use their product for free.
Without Reverse ETL, the process to identify potential targets who could upgrade to a paid plan for the Sales team would be as follows:
- Sales team ask the BI team to send weekly a report with all the customers who match certain conditions (like # of new seats, intensity of usage, etc.)
- Then Sales team would flag these customers in their CRM
With Reverse ETL, you can make this process much more efficient. You can feed to the CRM all the important data points: # of new seats, # of weekly active users, features used, etc.
Then you can create filtered lists in the CRM for the Sales to target based on these data points.
You can even have workflows that will send emails automatically to this customer to book a call with your sales team.
Or at least create tasks for your sales teams to reach out personally to these customers.
For Marketing & Product teams
Following a similar logic as in the Sales use case mentioned above, you could also have very granular marketing email sequences or in-app notifications based on the usage data points.
In today’s market, customers expect a high level of customization. With Reverse ETL, as a marketing team, you can make sure you send the right promotion or reactivations emails to the right people.
As a Product team, you can send tutorials or features explanations to the people who haven’t used specific features instead of sending them to your whole user base.
Letting business users analyze the data warehouse data in Google Sheets
One of the most popular use cases for Reverse ETL is exposing the data from the data warehouse in Google Sheets, which makes it easy for everyone in the company to build their own reports.
However, Google Sheets has volume limitations and hasn’t been built to handle live data. If that’s a use case relevant to your teams, you should check out Actiondesk.
It works just like Google Sheets and can connect to your data warehouse (as well as other sources) so that business users can build reports and analyze data independently from the data teams.
Build vs buy and what criteria to consider when choosing a tool
Unless you’re a very big company with so many engineers that you’re not too sure what to do with them, we highly recommend using an off the shelf solution instead of building an in-house solution,
Like most things in software engineering, building Reverse ETL pipelines is harder than you may think. Maintenance will also be a pain. What if the API of one of the tools you connect to changes? What if you’re changing CRM and you need to rebuild the pipeline? What about error management?
The only reason why you’d want to build in house is if you have some very specific needs that in house solutions don’t meet. It may be the case for big enterprises, but shouldn’t be the case for 99% of startups.
On that note, here are few things to consider when choosing a solution:
Number of connectors supported and how fast it’s growing
Of course, you want the solution you choose to support the connectors you choose. It’s also important that the catalog is wide enough and growing. Indeed your company might work with new solutions in the future and you wouldn’t want to be in a situation where the new CRM your sales team chose is not supported by your Reverse ETL tool
Ease of use
As much as possible, you don’t want to need software engineers for your Reverse ETL processes (so that they can focus on the core product). Most Reverse ETL tools work with SQL and can be handled by your data teams.
You also want to consider things like data privacy, monitoring, logging, SLAs, and quality of support.
Some tools to consider
Here are a non exhaustive list of tools to consider for Reverse ETL.