Why we're building marketing tools for Matomo

Matomo is the right foundation for privacy-first web analytics. The bridges to the rest of the marketing stack mostly aren't there. That gap is what we're building into.

Most marketing teams we move to Matomo ask the same question within the first month. They've seen the dashboards, the cookie banner is sorted, the data is theirs and nothing's leaving for Google Analytics anymore. Then someone asks how to put cost data next to conversion data, and the answer turns out to be a spreadsheet. Or a dashboard tool. Or a longer conversation about pipelines.

That's the gap we keep coming back to. Matomo is the right foundation for web analytics. The bridges to the rest of the marketing stack mostly aren't there.

The foundation is right

Matomo got the hard part right. Self-hosted by default. GDPR compliant out of the box. No third-party cookies required. Open source, so you can actually read the code that's collecting data on your visitors. The data sits on infrastructure you control, not on infrastructure that lives somewhere else and is two product decisions away from changing under you.

That stack matters more now than it did five years ago. The cookie deprecation story has been chaotic but the direction is clear. iOS limits tracking pixels. Browsers block them. Server-side tracking is the new floor, not the ceiling. Marketers who built on third-party cookie infrastructure are watching it erode faster than they can replace it. Matomo's design held up because it never needed those assumptions in the first place.

So yes, the foundation is right. The thing on top of the foundation is incomplete.

What Matomo doesn't do

Matomo is web analytics. That's its category. It tracks what visits your site, what pages they hit, what goals they convert on, where they came from. It does this well, with attribution models that the MultiChannelConversionAttribution plugin (MCCA) extends into proper multi-touch territory.

What it doesn't do is talk to Meta Ads. Or Google Ads. Or calculate ROAS. There's no native way to get from "415 visits from spring_sale" to "we spent €380 on Meta and Google to get those 415 visits." The data Matomo has is honest and complete on its own side. It's only one side.

Which means every Matomo agency we've talked to has the same workflow gap. Numbers come out of Matomo. Numbers come out of Meta and Google. Someone joins them in a spreadsheet, or in Looker Studio, or in a warehouse. The blended ROAS that ends up in the client deck is born somewhere downstream of both systems.

How teams handle it today

Mostly with effort. We wrote a longer post about this for the ROI side specifically, but the shape is consistent across teams. Spreadsheets first. Looker Studio or Metabase when the spreadsheet stops scaling. A real warehouse and a data person if the budget allows. A few connector plugins that ingest spend into custom reports without fully bridging attribution.

None of these are bad answers. Looker Studio in particular is the best honest answer if you don't want to build infrastructure. What they share is that the work happens outside Matomo. The marketer who wanted a single place to look has to learn a second tool, or a third, or pay someone who already knows them.

What we're working on

Two things, basically.

The first is Matomo Heatmap Helper. A small Chrome extension that fixes the failure modes of Matomo's heatmap screenshots: CORS-blocked images, scroll containers that clip content, sticky headers that collapse, the rest of the list we ended up writing a separate post on. We hit broken heatmaps on almost every client engagement, so we built the fix and put it out under MIT. It's free, the source is on GitHub, and the only thing it talks to is your own Matomo instance. That's the model for how we want to work in this ecosystem. If we hit a problem repeatedly and the fix is general enough to be useful to other people, we give it back.

The second is Martez. Same data ownership philosophy, bigger scope. Matomo stays authoritative for tracking and on-site behaviour. Martez syncs Meta Ads and Google Ads, joins spend to conversions on the campaign keys Matomo already uses, and exposes ROAS, CLV, and multi-touch attribution that includes view-through where the platforms share impressions. The marketer who wanted a single place to look gets one. The data still belongs to whoever runs the instance.

Martez is in private beta. Join the waitlist if this is the gap you've been working around too.

We're building it because we ran into it ourselves, on client after client, and the workaround stopped feeling like a workaround and started feeling like the actual job.