---
title: "How Vibe.co handles billions of ad impressions with ClickHouse Cloud"
description: "Vibe.co, recently acquired by Walmart, uses ClickHouse Cloud to provide real-time campaign reporting for thousands of Connected TV advertisers across billions of ad impressions. It migrated from Postgres after aggregation-heavy OLAP queries made its pre-aggregation layer a bottleneck, limiting interactive slicing and requiring new jobs for reporting use cases. The team evaluated self-hosted ClickHouse, another managed option, and ClickHouse Cloud, choosing the latter for operational simplicity, support from ClickHouse engineers, and separation of storage and compute with more predictable costs. Vibe uses refreshable materialized views for hot/cold tiering, keeping the last 30 days in a hot table; stored data grew from about 100 GB to over 2 TB without rearchitecting, while more than 90% of client campaign reports respond in under 100ms."
---

# How Vibe.co handles billions of ad impressions with ClickHouse Cloud

[Clickhouse](https://yomu.fyi/company/clickhouse) · Jun 25, 2026

**Type:** Problem & solution

## Summary

Vibe.co, recently acquired by Walmart, uses ClickHouse Cloud to provide real-time campaign reporting for thousands of Connected TV advertisers across billions of ad impressions. It migrated from Postgres after aggregation-heavy OLAP queries made its pre-aggregation layer a bottleneck, limiting interactive slicing and requiring new jobs for reporting use cases. The team evaluated self-hosted ClickHouse, another managed option, and ClickHouse Cloud, choosing the latter for operational simplicity, support from ClickHouse engineers, and separation of storage and compute with more predictable costs. Vibe uses refreshable materialized views for hot/cold tiering, keeping the last 30 days in a hot table; stored data grew from about 100 GB to over 2 TB without rearchitecting, while more than 90% of client campaign reports respond in under 100ms.

## Context

Vibe.co’s Postgres-based pre-aggregation architecture became a bottleneck as the platform grew to billions of ad impressions and aggregation-heavy OLAP queries. Each new reporting use case required another job, while queries outside expected patterns became slow or expensive. The team wanted clients and internal teams to query campaign data flexibly without bespoke pipelines for every use case.

## Approach / What changed

Vibe migrated to ClickHouse Cloud, loading campaign data into a columnar OLAP database intended to handle direct, flexible aggregation. The team chose the managed service after evaluating self-hosted ClickHouse and another managed option, citing operational simplicity, ClickHouse engineering support, and separation of storage and compute. Refreshable materialized views provide hot/cold tiering, with a 30-day hot table serving most client queries.

## Takeaways

- Postgres became a bottleneck for Vibe’s aggregation-heavy OLAP queries over billions of rows, making the pre-aggregation layer increasingly fragile and costly to extend.
- Vibe evaluated self-hosted ClickHouse, another managed option, and ClickHouse Cloud; it accepted the operational tradeoff of managed infrastructure to avoid allocating engineering resources to database operations.
- A hot table covering the last 30 days sits in front of the full historical dataset, helping more than 90% of client campaign reports return in under 100ms.

**Tags:** [Architecture](https://yomu.fyi/topic/architecture), [Migrations](https://yomu.fyi/topic/migration), [Performance](https://yomu.fyi/topic/performance), [Postgres](https://yomu.fyi/topic/postgres), [Scalability](https://yomu.fyi/topic/scalability)

- Source: [Clickhouse](https://clickhouse.com/blog/vibe-adtech-analytics)
- Source URL: https://clickhouse.com/blog/vibe-adtech-analytics
- Ingested by Yomu: 2026-08-29T01:36:36.637Z

[Read original post](https://clickhouse.com/blog/vibe-adtech-analytics)
