Build the campaign metrics layer that summarizes acquisition progress from Convex data and enriches it with Rybbit audit signals. This is the practical reporting view Matthias uses to compare niches, regions, campaign runs, and outcomes.
Acceptance Criteria
#1 Campaign dashboard shows found leads, leads with contact, Kontakt fehlt, audits created, approvals open, emails sent, follow-ups planned/sent, responses, conversations, offers, wins, and losses
#2 Metrics can be filtered by campaign, niche/category, PLZ/region, radius, priority, status, and timeframe
#3 Campaign run detail shows new leads, skipped duplicates, blacklisted/skipped leads, errors, and audits generated
#4 Rybbit-derived audit opens and CTA clicks are shown alongside Convex sales funnel metrics
#5 Metrics remain readable and lightweight, without becoming a full enterprise CRM dashboard
Implementation Plan
Define metric aggregation queries from campaigns, leads, audits, outreach, and run logs.
Add filters for campaign, category, region, timeframe, priority, and status.
Build campaign overview cards and run-detail tables.
Merge Rybbit API-derived audit activity into the visible analytics where available.
Add empty/error states and verify metrics update after lead, audit, send, and status changes.
Implementation Notes
Started implementation pass for campaign performance metrics and filters.