Budget follows performance
The agency can see which of its three retail clients' campaigns are actually converting on read and click data, and shift attention and spend toward what the numbers support.
Available now
In build
The whole team
Nineteen specialists, each with a defined job and an honest status label.
See all nineteenThe business sees which messages get read, clicked, and converted, so spend and effort go toward what performs.
Works with
What it does
A dashboard pulls delivery, read, and click-through data per broadcast and per template directly from Meta's reporting API and renders it as trend charts and a per-campaign breakdown. Cost-per-delivered and cost-per-click figures let an owner judge return before scaling a campaign.
A marketing agency running WhatsApp campaigns for three retail clients has been sending broadcasts for months on instinct — this template feels like it's working, that one doesn't — because nobody's actually pulled the delivery and click numbers together to check. Budget keeps going to whichever campaign got sent most recently, not whichever one actually performed.
The campaign analytics dashboard pulls delivery, read, and click-through data straight from Meta's reporting API for every broadcast and template, and lays it out as trend charts and a per-campaign breakdown. Cost-per-delivered and cost-per-click figures sit alongside the engagement numbers, so a call to scale a campaign is based on what it returned, not on how it felt to send.
Wavy runs this directly on the platforms your customers already use — no separate app for them to install.
How it works
The ingestion worker pulls Meta's analytics, template performance, and conversation cost fields on a regular schedule and stores them as snapshots tied to each specific campaign and template automatically, without needing any manual exports at all.
Delivery, read, and click-through rates display as time-series charts and a per-campaign table, so a trend across several weeks is visible clearly at a glance, not buried inside raw export rows nobody actually bothers to read.
Cost-per-delivered and cost-per-click figures are calculated from the same conversation billing data and shown directly alongside the engagement metrics for that exact campaign, laid out side by side for a direct, honest comparison at a glance.
A workspace managing several brands' numbers can view combined performance or filter down to one client's campaigns specifically, keeping each brand's own reporting separated exactly the way a client actually expects it to be handled.
Why it matters
The agency can see which of its three retail clients' campaigns are actually converting on read and click data, and shift attention and spend toward what the numbers support.
Cost-per-click sitting next to the click-through rate means a decision to scale a campaign accounts for what it costs to do so, not just how well it appears to be performing.
A per-client breakdown gives an agency numbers specific enough to show a retail client exactly what their campaign did, rather than a vague combined figure across every brand in the workspace.
The detail
The single most operationally important constraint here is time-sensitivity: Meta only retains read and click data for template messages for up to seven days after sending. If the ingestion worker doesn't pull and store that data within that window, it is not recoverable later — there's no historical backfill available after the fact. This means analytics has to run on a schedule tight enough to capture every campaign's numbers well inside that seven-day cutoff, and any gap in that ingestion schedule becomes a permanent hole in the dashboard's history, not a temporary one.
Cost figures have a coverage gap worth knowing about before relying on them for a billing reconciliation. Accounts billed through a reseller's shared credit line don't expose the same per-conversation cost data Meta provides for directly billed accounts, so cost-per-delivered and cost-per-click figures may simply be unavailable depending on how the business's WhatsApp billing is set up. An agency managing several clients' numbers should check this upfront, since it affects whether cost reporting can be shown to a client at all for a given account.
There's also a jurisdictional gap: WhatsApp Business Accounts linked to the EU or Japan are excluded from some of Meta's analytics fields entirely, as a result of regional data-handling requirements Meta applies at the platform level. This is outside Wavy's control — it's a limitation set by Meta for those regions — but it means an agency with a European client's WABA should expect certain metrics to be structurally unavailable, not missing due to a setup mistake.
Industry use cases
13 industries where Wavy applies this directly.
A customer messages a dealership's WhatsApp number after seeing a Click-to-WhatsApp ad, browses the vehicle catalog in-chat, and books a test drive slot through a native form that checks the showroom's real-time calendar.
See the automotive playbookA prospect fills out a website contact form, receives an automated WhatsApp qualification flow asking about company size and budget, and is routed to the assigned account executive's shared inbox queue the moment they answer "yes" to wanting a demo.
See the b2b sales playbookA lending business sends a one-time passcode via an authentication template when a customer logs into their loan portal, and later sends a utility template reminding them a payment is due in three days.
See the banking and finance playbookA shopper browses a product catalog inside WhatsApp, adds a lipstick shade to their cart, doesn't complete checkout, and receives a reminder message with the exact shade and a link back to the cart twenty minutes later.
See the beauty and cosmetics playbookA prospective student messages an ed-tech company's number, completes a lead-capture flow asking about the course of interest, and is booked into a counselor's calendar slot without ever leaving WhatsApp.
See the education playbookA freelance designer sets up a simple keyword-triggered flow so new client inquiries automatically receive a portfolio link and a booking form for a discovery call.
See the freelancers and consultants playbookA patient books a consultation through a native form, receives a reminder template the morning of the appointment with confirm/reschedule quick-reply buttons, and gets a post-visit follow-up message asking for feedback.
See the health and wellness playbookA customer asks about curtain pricing via a click-to-chat website widget, browses a curated catalog of fabric options in-chat, and receives a follow-up message a day later if they didn't confirm an order.
See the home decor and furnishing playbookAn agency manages WhatsApp numbers for three retail clients inside one Wavy workspace, with agents scoped to only the numbers for their assigned client and separate campaign-performance dashboards per brand.
See the marketing agencies playbookA buyer clicks a Click-to-WhatsApp ad for a listed property, answers a short qualification flow about budget and timeline, and books a site-visit slot through a native form connected to the agent's calendar.
See the real estate playbookA diner messages the restaurant's number to check table availability, receives a native booking form to select party size and time, and gets a confirmation template once the table is locked in.
See the restaurants and food playbookA regular client receives an automated reminder that their usual six-week haircut appointment is due, taps a quick-reply button to confirm the suggested slot, and gets a same-day reminder message before their visit.
See the spas and salons playbookA traveler inquires about a weekend package via a QR code at a travel fair booth, completes a native form capturing travel dates and group size, and receives a utility template confirming the booking with itinerary details attached.
See the travel and tourism playbookMore from Wavy
The business reaches thousands of opted-in customers with one send instead of manually messaging contacts one by one.
Learn moreThe business answers routine questions instantly, day or night, without adding support staff.
Learn moreThe business collects clean, structured customer data (bookings, orders, applications) without redirecting people to an external website.
Learn moreMultiple staff members handle customer conversations from one WhatsApp number without stepping on each other or losing context.
Learn moreCustomers browse products, ask questions, and place an order without leaving the WhatsApp conversation.
Learn moreThe business wins back sales that would otherwise be lost when a customer starts checkout but doesn't finish.
Learn moreQuestions
Meta only retains read and click data for template messages for up to seven days after sending, and once that window closes, the data isn't recoverable — there's no backfill available after the fact. Any gap in how often the ingestion job runs during that window becomes a permanent gap in the historical record, which is why regular ingestion matters more than it might seem.
Accounts billed through a reseller's shared credit line don't expose the same per-conversation cost breakdown that directly billed accounts do, so cost figures can simply be entirely unavailable depending on that particular client's exact billing setup with Meta directly. This is worth checking early on, well before promising detailed cost reporting to a client sitting on a reseller-billed account somewhere.
WhatsApp Business Accounts linked to the EU or Japan are excluded from some of Meta's analytics fields entirely, as a platform-level restriction Meta applies for regional data-handling reasons that are entirely beyond anyone's control here, including Wavy's. This isn't a Wavy limitation or a setup error on anyone's part — it applies uniformly to any account that falls into that category.
Yes — a workspace managing several numbers can view a combined dashboard or filter down to a single client's campaigns and templates specifically, whichever view happens to be more useful at that particular moment. This is what makes the dashboard genuinely usable for an agency that needs to hand a client their own performance report without exposing other clients' data.
The rest of your stack
No rip-and-replace — see what's actually working works alongside the systems already running your business.
Available today