Home / Growth Radar / Campaign P&L

Campaign P&L: how much of your CRM revenue did the messages really cause?

Quick answerCampaign P&L compares people you messaged with a held-back control group, campaign by campaign. It shows how much of the revenue your CRM claims was actually caused by the messages, which campaigns to keep, fix or stop, and the spend with no visible lift. Your file is processed in your browser and is never uploaded or stored.
1Add your file2Check columns3See your report
Your data has been cleared from this tab.
Sets the sample file, the wording and the column hints.

Drop your campaign CSV here

One row per campaign per group works best: messaged and control, with users, conversions, and optionally revenue and cost.

How to prepare your file

Why this matters

Most CRM platforms report attributed revenue: every purchase made by someone who received a message. Many of those people would have bought anyway. The only fair way to tell the difference is to hold back a random group, send to the rest and compare. Campaign P&L does that comparison and puts a rupee value on it.

It is built by Growth Circuit, an independent CRM consultancy. We do not sell a CRM platform, and the tool works with an export from any of them. See all free tools.

What goes in the file

For each campaign, two lines: one for the people you messaged and one for the control group. Columns for the number of people and conversions are required. Revenue and cost are optional but unlock the profit view.

File guide

How to prepare your file

You need one simple table. One row for the people you messaged and one row for the people you held back, for every campaign. No names, emails or phone numbers are needed.

1ExportPull results from your CRM for the campaigns you want to check.
2ArrangeUse the columns shown below, one row per campaign per group.
3UploadSave as CSV and drop it into the tool. It stays in your browser.

What the file looks like

campaigngroupusersconversionsrevenuecost
Welcome pushmessaged90005404320001080
Welcome pushcontrol100042336000
KYC remindermessaged45000270016200005400
KYC remindercontrol50002501500000

The sample matches the industry you choose at the top of the tool.

What each column means

ColumnNeededWhat to put in it
campaignYesThe campaign or journey name. Spell it the same way on every row.
groupYesWho was messaged and who was held back. Use messaged and control.
usersYesNumber of people in that group. People, not messages sent.
conversionsYesHow many of those people did the goal action, such as paid, renewed or bought.
revenueOptionalTotal value of those conversions in rupees, as a plain number. Adds the revenue view.
costOptionalWhat it cost to message the messaged group. Use 0 for the control group. Adds the profit view.
segmentOptionalAny label you want to split by, such as risk band, lead source or plan. Adds the "who to nudge" view.

Other common headers such as audience, orders, amount or spend are recognised too. Your export can also list one row per customer. In that case leave the users column out and each row counts as one person.

Checklist before you upload

  1. CSV with a header row. In Excel, use File, Save As, CSV.
  2. Plain numbers only. Commas and the rupee sign are removed for you. Do not write "5k" or "2 lakh".
  3. Random control group. Held-back people must be picked at random before the send. About 10% is a good start.
  4. Enough people. At least about 100 people in control and 30 conversions overall.
  5. Same period for both groups. Export after the conversion window has finished.
  6. Count people, not messages. Someone who got three messages is still one person.

Collections note: confirm with your compliance team that holding back a group from an optional reminder is allowed. Notices that must reach every customer should go to everyone, so test only optional reminders.

Frequently asked questions

Do you store the data I upload?

No. The file is read inside your browser and never sent to our servers. Nothing is saved, there is no account, and when you refresh or close the tab, it is gone. You can test this: load the page, switch off your internet, and the tool still works.

What does the file need to look like?

A CSV with one row per campaign per group is easiest: campaign, group (messaged or control), users, conversions, and optionally revenue and cost. A row per person also works, with a 1 or 0 for converted. Download the template on the page to see the layout.

What if I have no control group?

Then nobody can say how much a campaign really caused, and the report will say so. Hold back a random 10% of the audience on your next send, then upload that result.

How do you decide Keep, Fix or Stop?

Keep means a solid lift that also pays for itself. Fix means a lift that is not yet proven or costs more than it brings. Stop or rework means no sign of lift. Need more data and No control group mean the file cannot support a fair answer yet.

Can I trust the numbers?

They are estimates from a standard statistical test on the data you give. They are as good as your holdout: it must be random and set before the send. Use the report to decide where to look and what to test next.

Can it handle things like video watch time?

Yes. Choose "An average per person" and give either one row per person with their minutes, or one row per group with the average and the standard deviation. The report compares the averages and tells you whether the nudge raised them.

What does "Who to nudge" mean?

If your file has a segment column, such as risk band or lead source, the report shows for each segment whether messages help, whether people would act anyway, whether they are not responding, or whether the message hurts. In collections that separates customers who repay on their own from those who need extra effort.

Which CRM platforms does it work with?

Any. It only needs the numbers, so you can export from CleverTap, MoEngage, WebEngage, Zoho or your own warehouse.

Get your report

Tell us where to send follow-ups and the report downloads straight away.

Your campaign file is never sent to us. We receive only the details above and the headline result.