Back to blog

WhatsApp Campaign Analytics for Ecommerce: How to See Which Sends Actually Made Money

31 July 2026 · NimbleBiz Team

You send a flash-sale broadcast to 4,000 contacts. Two hours later: 3,900 delivered, 3,400 read. Those numbers look great on a screenshot. They tell you almost nothing about whether the send made money.

Delivered means a message reached a phone. Read means someone glanced at it. Neither one is a sale. And on most WhatsApp platforms, the gap between "read" and "converted" is a gap you're expected to close yourself — with UTM links, a separate analytics tool, and a fair bit of manual stitching.

What WhatsApp actually tells you (and what it doesn't)

Every WhatsApp campaign tool — the free Business app, the Cloud API, the marketing platforms built on top of it — reports the same core statuses: sent, delivered, read, failed. That's the native ceiling. Reply rate isn't handed to you either; you count it yourself, message by message. And conversions — actual purchases — aren't a WhatsApp concept at all. WhatsApp can prove a message was read. It cannot tell you that read led to a ₹2,000 order.

To close that gap, the standard advice is: tag every link with UTM parameters, route clicks through a tracking layer, and reconcile that against your store's checkout data after the fact. It works. It also means every campaign needs its own tracked link, your web analytics needs to be configured to catch it, and someone has to sit down monthly and match broadcast sends against Shopify orders by hand — or pay for a platform that does the reconciliation for you.

For a D2C brand running five or six sends a week, that's not a reporting problem. It's a part-time job.

The real question isn't "did they read it" — it's "who converted, and were they worth messaging"

Delivered and read are top-of-funnel numbers. They tell you your list is clean and your send time was decent. They say nothing about revenue, and they say nothing about whether you messaged the right people in the first place.

NimbleBiz starts from a different position: every contact already has an NBScore — a live read on engagement and purchase behavior built from real conversation history, not a static list segment. When you send a WhatsApp campaign, NBScore isn't just deciding who's worth messaging (so you're not blasting a flash sale to contacts who muted you three campaigns ago). It's also the thread that ties the send back to what happened next, because the same system that sent the message is the system that captured the reply, the click, and — if the checkout link runs through NimbleBiz — the order.

That's the structural difference. On a bolt-on WhatsApp tool, campaign analytics and conversion tracking are two separate systems you have to wire together yourself. Inside NimbleBiz, they're the same system, because lead capture, qualification, and campaign delivery already live in one place.

What campaign attribution looks like inside NimbleBiz

No manual UTM setup for the core loop. Checkout links generated through NimbleBiz's cart-recovery and campaign flows are attributed automatically — the platform already knows which contact, which campaign, and which NBScore band a click came from, because it originated the send.

CPL/CPS attribution, not just delivered/read. NimbleBiz reports cost-per-lead and cost-per-sale back to the campaign and, where the lead originated from a Meta ad, back to the ad set. That's the number a founder actually wants in a Monday meeting: not "72% read rate," but "this ₹8,000 flash-sale send generated ₹64,000 in tracked orders."

Segment-level conversion, not one blended number. Because every contact carries an NBScore, you're not looking at "12% of everyone converted." You're looking at "31% of high-NBScore contacts converted, 4% of low-NBScore contacts converted" — the number that tells you whether your targeting is the problem or the offer is.

Reply and conversion in the same inbox view. A reply to a campaign lands in the same unified inbox as every other conversation. You don't need a separate dashboard to see that a reply turned into a qualifying conversation, and a qualifying conversation turned into a Captured Details record with an order attached.

An example send

A D2C skincare brand runs a weekend flash sale to its full WhatsApp list, 6,000 contacts. The native stats: 5,850 delivered, 4,900 read. On a delivered/read dashboard, that's a strong-looking campaign.

The attribution view tells a different story. Of the 4,900 reads, 890 came from high-NBScore contacts — repeat buyers, fast repliers, people who've clicked the last three campaigns. 210 of those 890 converted: a 23.6% conversion rate on that segment, worth ₹4.1L in tracked orders. The remaining 4,010 reads came from low- and medium-NBScore contacts, and converted at 1.8% — worth ₹38,000.

Same broadcast, same read rate, wildly different return per segment. Without NBScore-tagged attribution, that's invisible — you'd see one blended 4.5% conversion rate and have no idea that 90% of the revenue came from 18% of the reads. With it, the next flash sale gets sent to the segment that actually buys, and the discount budget for the segment that doesn't gets spent somewhere else.

FAQ

Do I need to set up UTM tracking myself? Not for checkout links generated inside NimbleBiz's campaign and cart-recovery flows — those are attributed automatically. If you're linking out to a page NimbleBiz doesn't control (a landing page hosted elsewhere, for instance), standard UTM tagging still applies there.

Does this replace my store's analytics (Shopify, Google Analytics)? No — it complements it. NimbleBiz attributes the WhatsApp side of the funnel (which contact, which campaign, which NBScore band, which order); your store analytics still owns the full purchase record. Most brands use both: NimbleBiz to see which sends and segments are working, store analytics for overall revenue reporting.

What if a customer converts a few days after reading the campaign, not immediately? Because NimbleBiz tracks the conversation and the order against the same contact record, delayed conversions still attribute back to the campaign that started the thread — you're not limited to same-session click tracking.

Can I see this per-campaign, not just in aggregate? Yes — every send has its own delivered/read/reply/conversion breakdown, segmented by NBScore band, so you can compare a Tuesday flash sale against last month's the same way.


Start your free trial at nimblebiz.ai and see which of your WhatsApp campaigns actually pay for themselves — not just which ones get read.

Related reading

From the blog

Glossary

Case studies