# How to set KPIs for paid social

> Set paid social KPIs in three layers: a money goal, one ad metric you pay for, and a few checks that explain why it moved. A worked example in rupees.
- **Author**: Marxx
- **Published**: 2026-10-26
- **Category**: Reporting
- **URL**: https://marxx.ai/library-guides/how-to-set-kpis-for-paid-social

---

To set KPIs for paid social, start with the money you need, then set a target for the one ad metric that drives it, such as cost per sale or ROAS. Add three or four checks, like hook rate and CTR, that explain why that number moved.

## The three layers

| Layer | Example metrics | The question it answers |
|---|---|---|
| Business | Profit, blended cost per customer | Is the business making money? |
| Ad result | [CPA](/glossary/cpa), ROAS, cost per lead | Are the ads paying for themselves? |
| Checks | [Hook rate](/glossary/hook-rate), CTR, CPM, frequency | Why did the result move? |

Judge ads on the middle layer. Use the bottom layer to find the cause, not to declare a win.

## Step by step

1. **Know your margin.** Take the price, then subtract product cost, shipping and fees.
2. **Find break-even.** Break-even ROAS is 1 divided by your margin. Below it, each sale loses money. See [break-even ROAS](/glossary/break-even-roas).
3. **Set a target above break-even.** Leave room for profit and for bad weeks.
4. **Pick one headline KPI per goal.** Sales: CPA or ROAS. Leads: cost per qualified lead. Do not mix them in one report.
5. **Add a few checks.** One for the hook, one for the click, one for cost to reach people, one for tiredness.
6. **Set three bands.** Green, amber and red, so anyone can read the report.
7. **Review weekly.** Use a fixed layout, like the [weekly ad report template](/templates/weekly-ad-report-template).

## A worked example

Say you sell a INR 1,500 kurta set. After product, shipping and payment fees you keep INR 600, which is a 40% margin. The numbers are made up.

- Break-even ROAS: 1 / 0.40 = 2.5
- Target ROAS: 3.0
- Target CPA: INR 1,500 / 3.0 = INR 500
- Profit per order after ads: INR 600 − INR 500 = INR 100

| Band | ROAS | CPA |
|---|---|---|
| Green | 3.0 or more | INR 500 or less |
| Amber | 2.5 to 3.0 | INR 500 to INR 600 |
| Red | Below 2.5 | Above INR 600 |

For the checks, use your own recent numbers. Say your last 30 days averaged a 28% hook rate. You flag any ad that drops below 22%. When CPA turns amber and hook rate is the check that fell, you know to make a new opening, not to change the audience.

## Mistakes to avoid

- Picking a KPI you cannot link to money, such as likes
- Setting targets from an industry average instead of your own margin. See [how to benchmark your ad performance](/guides/how-to-benchmark-your-ad-performance)
- Tracking ten checks and no headline number
- Changing targets every week

Marxx reads your connected Meta ad account in full and sends alerts and digests, so the numbers reach you without a manual export.

For the reporting side, see [how to build a weekly ad report](/guides/how-to-build-a-weekly-ad-report).

## FAQ

### How many KPIs should I track?

One headline KPI for each goal, plus three or four checks. More than that, and nobody reads the report.

### What is a good ROAS?

It depends on your margin. A ROAS is good when it sits above your break-even ROAS by enough to leave profit.

### Should every platform have the same KPI?

Use the same headline KPI, such as CPA, so the platforms compare fairly. Checks can differ because each platform shows different metrics.

---
- [More Reporting articles](https://marxx.ai/library-guides/category/reporting)
- [All articles](https://marxx.ai/library-guides)