The challenge
When purchase tracking breaks, nothing looks broken on the surface. Orders keep coming in, the site keeps working. The only thing wrong is the data feeding every ad and budget decision behind the scenes. For a lean team without anyone watching for that kind of failure, it can go unnoticed for days or weeks, usually surfacing only once the numbers stop making sense, by which point ad spend has already been shaped by bad signals.
What we did
We deployed Adwize, our data quality platform, directly against the brand's live analytics setup. Instead of relying on someone remembering to check a dashboard, their team defined monitoring rules around the purchase events that mattered most to their business, and let the agents do the watching:
- Real-time alerts in Slack, sent the moment a rule tripped, no login required and no waiting for a scheduled report
- Direct access to the platform via Adwize's MCP server, so their own AI tools could query the monitoring data directly
- Proactive signal, not just error flags: the agents also surfaced other useful analytics observations along the way, not only when something broke
This isn't a black box we're asking anyone to just trust. The monitoring engine and its MCP server are open source at github.com/Adwize/adwize-oss, so anyone can look at the code themselves.
Under the hood
flowchart LR
Client["Client application\n(web, server, mobile)"] --> API["API :8000"]
subgraph Docker["Docker (self-hosted)"]
API
PG[("Postgres :5432")]
Workers["Workers\n(rules + alerting)"]
API <--> PG
API <--> Workers
end
Workers --> Webhook["Webhook\n(Slack, Teams)"]
subgraph Host["Host machine"]
CLI["Adwize CLI"]
MCP["Adwize MCP server"]
end
CLI --> API
MCP --> API
Self-hosted and open source by design: a client application sends events in, rules evaluate them, and any break goes straight to Slack, while the MCP server gives AI tools the same access a person would get from the CLI. Full source and setup docs live at github.com/Adwize/adwize-oss.
The result
One of the rules caught a break within minutes of it happening, and the team had it fixed the same day. Left alone, that same break could easily have run for days or weeks, quietly skewing the conversion data behind every ad and budget decision made in that window.
Why this matters
For a small team, this is the real value: not another report to read, but a problem named and caught before it costs anything, running quietly in the background so nobody has to remember to check. It's the same automation behind Datastarter's agency offer, now available directly to smaller ecommerce brands and media agencies who want the protection without the full-service wrapper.
← All case studies