How FabFunnel powers real-time marketing analytics with ClickHouse Cloud

Anmol Jain, Full Stack Developer SDE 2, & Siddhant Gaba, Python Developer SDE 2, at Idea Clan
Nov 20, 2025 - 6 minutes read

What if affiliate marketers could spin up fresh creative on demand, launch hundreds of campaigns in minutes, and automate scaling rules in real time—all from a single dashboard?

That’s the idea behind FabFunnel, the newest product from IdeaClan, a digital marketing agency. Launched at Affiliate World Budapest in September 2025, the platform brings campaign launches, reporting, automation, and creative workflows together in one place, with built-in integrations for Facebook, TikTok, Newsbreak, Google and other ad platforms.

To make that happen, FabFunnel has to continuously stream in spend and revenue data from multiple networks and serve it back to users in real time. That means handling millions of campaign updates, syncing ad spend within minutes, and powering dashboards that need to stay responsive even over long reporting windows. For media buyers managing millions of dollars in quarterly spend, speed and reliability are non-negotiable.

At a ClickHouse meetup in Delhi earlier this year, Idea Clan engineers Anmol Jain and Sidhant Gaba explained why FabFunnel’s old MySQL-based reporting architecture couldn’t keep up, and how moving to ClickHouse Cloud gave them the speed and efficiency they needed to deliver real-time marketing analytics.

Hitting the limits of MySQL #

Before the migration, FabFunnel’s reporting stack ran entirely on MySQL. Data from Meta, TikTok, Newsbreak, Google and other traffic sources landed in separate tables every 20 to 30 minutes. To keep reports current, the system relied on a clunky cycle of deleting and reinserting rows every 15 to 30 minutes. This worked for small queries, but the pipeline hit a wall as soon as users asked for anything beyond a narrow date range.

Because the schema was normalized, queries relied heavily on joins. That meant slow response times, high CPU usage, and frustration for users running large reports. “When a user queried the last month of data, it would take 11 seconds,” Anmol says. “If they asked for a year of data, the browser would crash because all the merging was done on the client side.” For anyone using a low-end device, things were even worse.

User Story Idea Clan Issue 1204 (1).png

FabFunnel’s previous MySQL-based architecture: slow, fragile, and congested.

The refresh cycle only added to the pain. Marketing data updates constantly—by the second, not the hour—and MySQL wasn’t built for that pace. “It was very difficult to update the data,” Anmol says. Keeping group-level metrics accurate meant constant row cycling, which created congestion and left dashboards feeling anything but “real time.”

Seeking a faster, smarter database #

The FabFunnel team knew they needed more than a patch. They needed a database that could handle fast, high-volume inserts and run aggregations across billions of rows without getting bogged down by joins or client-side merges. Just as important, it had to deliver sub-second queries so dashboards would feel instant, not delayed.

Migration also had to be realistic for a small engineering team. A database with familiar syntax and minimal operational overhead was essential. “We wanted something faster with real-time inserts and analytics,” Anmol explains. “And we wanted something easy to migrate.”

ClickHouse Cloud emerged as the obvious choice. Its columnar model was a natural fit for FabFunnel’s denormalized data, and SQL compatibility made migration and onboarding straightforward. The managed service solved another looming problem: infrastructure. Instead of scaling MySQL servers or wrestling with self-hosted clusters, the team could rely on ClickHouse Cloud to handle ingestion, storage, and performance tuning at scale.

For a marketing platform defined by speed, FabFunnel’s database decision was as much about efficiency as raw power—and ClickHouse Cloud delivered both.

Rebuilding with ClickHouse Cloud #

Once the decision was made, the first step was rethinking ingestion. In the new setup, spend-side and revenue-side data flows continuously through Confluent Kafka into ClickHouse using ClickPipes, the cloud-native integration engine that makes it easy to ingest massive volumes of data from different sources. Together, Kafka and ClickPipes keep a steady stream of real-time data coming in from ad platforms and vendors.

User Story Idea Clan Issue 1204 (2).png

FabFunnel’s new ​​ClickHouse-based architecture: fast, scalable, and reliable.

On the storage side, the team replaced their fragile delete-and-insert cycles with ReplacingMergeTree tables, which automatically keep the freshest record for each key. That change alone cut down on congestion and made it possible to handle updates in real time without slowing down the system.

Next came query speed. To avoid the browser-side merges and joins that plagued their old setup, the engineers turned to refreshable materialized views. These pre-aggregate data into a single reporting table, so user queries no longer have to piece together results on the fly. “We don’t want to merge data after every insert,” Sidhant says—and now they don’t have to.

The new design also introduced a buffer table for real-time click data. This means less dependency on other services and faster syncing with ClickHouse. Spend and revenue data are placed into separate databases for efficiency, then merged downstream to give users a consolidated view without sacrificing performance.

All of these changes combined to turn FabFunnel’s pipeline into a system built for real-time scale. The architecture ingests continuously, handles heavy concurrent query loads, and delivers sub-second responses, all while keeping infrastructure overhead low.

Real-time at massive scale #

The payoff from the migration has been huge. With data pre-aggregated in ClickHouse Cloud and stored in a single reporting table, queries that once took seconds—or crashed the browser altogether—now return in under a second. “Our query efficiency has improved significantly since moving to ClickHouse,” Sidhant says. “We can now show our clients real-time analytics.”

The metrics tell the story. In one month, FabFunnel’s system processed 19.2 million queries, read 11.67 trillion rows totaling 606 TB of data, and wrote 5.15 billion rows while consuming just 1.32 TB of storage. On average, the team now processes 111 million rows in 1.1 seconds, with queries scanning 1.7 to 2.1 GB of data still completing in under a second.

ClickHouse Cloud has also given the team headroom to handle large volumes of concurrent queries—important for a multi-tenant platform serving affiliates and agencies. And because the managed service scales predictably, FabFunnel can keep growing without worrying about ballooning infrastructure costs.

For users, the benefits are obvious: instant reporting, ad spend synced in minutes, and automation rules that run on fresh data. For Idea Clan’s engineers, it means less time fighting infrastructure and more time building features for affiliates and media buyers.

Get started today

Interested in seeing how ClickHouse works on your data? Get started with ClickHouse Cloud in minutes and receive $300 in free credits.
Share this post

Subscribe to our newsletter

Stay informed on feature releases, product roadmap, support, and cloud offerings!
Loading form...
Follow us
X imageBluesky imageSlack image
GitHub imageTelegram imageMeetup image
Rss image