If you want to learn more about Citus on Microsoft Azure, read this post about Hyperscale (Citus) on Azure Database for PostgreSQL.
ConvertFlow Delivers Real-Time Analytics to Marketers Using the Citus Cloud Database
ConvertFlow helps marketers get more customers
We all know the digital world has become incredibly competitive. Attracting visitors to first land on a website is challenging enough, but converting them into customers is the real battle. It’s a matter of showing the right message to the right person in the right place.
Knowing this, ConvertFlow’s mission is to help marketers acquire more customers from their websites without writing code. They offer a conversion optimization automation platform made up of tools to create personalized calls-to-action, on-site retargeting flows and integrated marketing automation for marketers to manage the customer journey.
As ConvertFlow business grew, database performance was becoming a problem
A big part of ConvertFlow’s product is displaying rich data analytics reports and dashboards for marketers to understand core funnel metrics such as traffic, viewers, conversion % and completion rates.
For ConvertFlow, the primary users are marketers and the secondary users are visitors of their websites for whom calls-to-action interaction behaviour is being tracked. Like many other SaaS businesses, all this tracking means data volumes can explode quickly.
Since launching in March 2016, ConvertFlow is already tracking data from over 750 million visitors, for over 15,000 companies and marketing teams. At peak, ConvertFlow handles 50,000 concurrent visitor sessions. And ConvertFlow has tracked around 3 billion visitor interactions using Citus.
As a startup, it was a natural fit for ConvertFlow to get started using Postgres and Heroku. But as the dataset expanded, they hit a point where reporting queries to their events table became too expensive to manage. While they continued to scale up their database on Heroku they worried about running into a ceiling as they continued to scale up.
“We wanted to show our customers real-time reports, but our database performance was causing us to have to reduce the frequency that we would generate reports for our customers,” said CTO and Co-Founder, Jonathan Denney.
Wanted to keep using Postgres and also shard on tenants
ConvertFlow needed a database made for querying millions of events super fast, in order to show customers real-time reports. In an effort to do this, the team tried to denormalize their event data using Firebase, a non-relational database to speed up queries. However this added complexity to manage multiple databases. “This wasn’t ideal for a high growth startup that needs to be laser focused on product and traction,” said Denney
The perfect scenario meant continuing to use Postgres for their database. But to make reporting faster and more efficient, they needed a database with much more memory and at the same time, reduce the amount of data that could fit in memory. This presented an opportunity to shard the database into tenants by website.
We provisioned a new database using the Citus console, ran our migrations, copied over our data from Heroku, and we were up and running on Citus in just a few minutes. And the technical benefits were instant. We saw queries that were once taking 15-30+ seconds reduced to less than 500 ms.Jonathan Denney, CTO and Co-Founder, ConvertFlow
Chose Citus Cloud over Heroku and Amazon RDS
The team investigated the option of continuing to scale up on Heroku. But it didn’t offer the elastic scale they were hoping for. They considered migrating to Amazon RDS, however this “added complexity didn’t seem like the right business decision for a startup with limited time for configuration and maintenance,” said Denney.
Then we discovered Citus Cloud, which would allow us to stick with Postgres, shard our database by customer and have much more RAM to work with.Jonathan Denney, CTO and Co-Founder, ConvertFlow.
Being mainly a Rails developer team, switching to Citus was extremely easy.
“We provisioned a new database using the Citus console, ran our migrations, copied over our data from Heroku and were up in running on Citus in just a few minutes,” said Denney.
The technical benefits were instant. ConvertFlow experienced significant decreases in query times after switching to Citus. “We saw queries that were once taking 15-30+ seconds reduced to less than 500ms,” said Denney. “Then we discovered Citus Cloud, which would allow us to stick with Postgres, shard our database by customer, and have much more RAM to work with.”
Confidence in Citus to manage database scale
Now that report queries and interface analytics are so efficient, ConvertFlow delivers near real-time reports. This has given the team confidence to rollout more robust analytics, to help customers be more successful with better insights into their conversion metrics.
The biggest business benefit is the assurance that Citus will scale the database horizontally as tenants grow. “This allows us to focus all of our attention on our product and our customers,” said Denney.
Jonathan Denney, CTO and Co-Founder, ConvertFlow
We provisioned a new database using the Citus console, ran our migrations, copied over our data from Heroku, and we were up and running on Citus in just a few minutes. And the technical benefits were instant. We saw queries that were once taking 15-30+ seconds reduced to less than 500 ms.
ConvertFlow gives marketers a personalized way to guide website visitors to become leads, customers, and repeat buyers—with targeted calls-to-action and on-site messages. Imagine being able to customize the way your website behaves depending on who’s viewing it. When you go to your local coffee shop, the barista knows your name and favorite drink. Why shouldn’t your website be the same?