Programmatic Advertising Cost Calculator: Budget, Fees and GST Worked Out
Run the sums in one of two directions. From a goal: impressions = reach × frequency, media = impressions ÷ 1,000 × CPM, then multiply by 1 plus the fee rate, add fixed costs and multiply by 1.18 for GST. From a budget: divide by 1.18, take out fixed costs, divide by 1 plus the fee rate, then divide that working media by the CPM and multiply by 1,000.
What does this worksheet work out?
Every programmatic brief arrives in one of two forms. Either there is a goal, such as "reach 16 lakh people in Maharashtra and Karnataka", and someone needs the budget, or there is a fixed number in the finance plan and someone has to say what it buys. The sums are the same in both cases, run in opposite directions, and most budget arguments start when they are done in the wrong order.
This post covers the formulas, two filled-in worksheets, a sensitivity check and a template you can rebuild in Excel or Google Sheets. It does not cover price levels. For CPMs by channel and why they differ, read our guide to programmatic advertising cost in India. For the deal minimums each OTT app, publisher or screen network sets, see our post on the minimum budget for DV360.
If you want the line-by-line sums done for you, ask for a free media plan and a DV360 specialist prices each line from our rate card. The worksheet below shows the arithmetic behind those sums and adds the fee and GST steps that sit outside the media lines.
How do you turn an all-in budget into working media, and back?
Five letters carry the whole calculation. B is the all-in budget, GST included, and g is the GST rate, usually 18%. f is the total of every fee charged as a percentage of media and added on top of it. X is fixed costs before GST, such as creative versions or a flat monthly fee. M is working media, the money that actually buys impressions and views.
From a budget to delivery:
M = (B ÷ (1 + g) − X) ÷ (1 + f)
From a goal to a budget:
Impressions needed = target reach × average frequency
B = (M × (1 + f) + X) × (1 + g)
For each line in the plan, a CPM line delivers line media ÷ CPM × 1,000 impressions, and a CPV line delivers line media ÷ CPV views. Going the other way, line media is line impressions ÷ 1,000 × CPM. A rough reach figure is impressions ÷ average frequency.
Keep working media share, M ÷ B, on the sheet too. It tells you how much of the budget actually reaches a screen.
Why divide rather than subtract? Because GST and percentage fees are charged on a smaller base than the total you hold. Taking 18% off ₹15 lakh gives ₹12.3 lakh, but the true pre-GST amount is ₹15,00,000 ÷ 1.18 = ₹12,71,186, and the gap grows with every layer you strip out the same way.
If a fee is already inside the CPM you were quoted, leave it out of f. Our guide to DV360 pricing explains which fees usually sit where.
How do you go from a goal to a budget?
A term insurance brand wants to reach 16 lakh people aged 28 to 45 across Maharashtra and Karnataka, at an average frequency of 3, over four weeks. The plan puts 60% of impressions on YouTube non-skippable in-stream and 40% on in-stream video across publisher sites, at the default rates on our rate card. The 15% fee and the ₹1 lakh for Marathi and Kannada creative versions are illustrative.
| Step | Working | Result |
|---|---|---|
| 1. Impressions needed | 16,00,000 × 3 | 48,00,000 |
| 2. YouTube, 60% of impressions at ₹220 CPM | 28,80,000 ÷ 1,000 × 220 | ₹6,33,600 |
| 3. Publisher in-stream, 40% at ₹180 CPM | 19,20,000 ÷ 1,000 × 180 | ₹3,45,600 |
| 4. Working media | Steps 2 and 3 | ₹9,79,200 |
| 5. Fees on top at 15% | ₹9,79,200 × 0.15 | ₹1,46,880 |
| 6. Fixed costs | Creative versions | ₹1,00,000 |
| 7. GST at 18% on steps 4 to 6 | ₹12,26,080 × 0.18 | ₹2,20,694 |
| 8. All-in budget | Steps 4 to 7 | ₹14,46,774 |
So the brief needs about ₹14.5 lakh all-in, of which ₹9.8 lakh, or 68%, is working media. The rest is fees, creative and tax. Show that ratio to whoever set the goal. It explains why "₹10 lakh for 16 lakh people" does not add up.
Two cautions. Step 1 treats both lines as one pool of people, but some people see both, so unique reach comes in lower; our reach and frequency calculator shows how to allow for overlap. And check every line against its channel minimum. These two auction lines have no deal to clear, but a PG line would.
Want to see the numbers for your brand?
Get a free DV360 media plan from our team within one working day.
How do you go from a budget to delivery?
A Hyderabad real estate developer has ₹15 lakh all-in, GST included, for a three-week project launch in Telugu and English. Creative is made in-house, so there are no fixed costs, and the quoted fees on top of media total 12% (illustrative). Working media is split 40% to YouTube skippable in-stream bought per view, 30% to YouTube Shorts and 30% to rich media on news sites. Figures are rounded to the nearest rupee.
| Step | Working | Result |
|---|---|---|
| 1. Remove GST | ₹15,00,000 ÷ 1.18 | ₹12,71,186 |
| 2. Remove fees (no fixed costs here) | ₹12,71,186 ÷ 1.12 | ₹11,34,988 |
| 3. Skippable, 40% at ₹0.90 CPV | ₹4,53,995 ÷ 0.90 | 5,04,439 views |
| 4. Shorts, 30% at ₹80 CPM | ₹3,40,496 ÷ 80 × 1,000 | 42,56,205 impressions |
| 5. Rich media, 30% at ₹140 CPM | ₹3,40,496 ÷ 140 × 1,000 | 24,32,117 impressions |
| 6. Impressions from the CPM lines | Steps 4 and 5 | 66,88,322 |
| 7. Rough reach at a frequency of 4 | 66,88,322 ÷ 4 | About 16.7 lakh people |
Working media is about 76% of the budget here, higher than in the insurance worksheet because there are no fixed costs and the fee is lower.
Keep the views in their own row, because a paid view on a skippable ad and a served Shorts impression are different units. To put every line on one basis, convert the view line to an effective CPM using its view rate, as our CPM calculator guide shows.
What happens if the CPM or the fee changes?
Final rates rarely match the planning number. Festive weeks, a narrower audience or a late booking push them up, a quiet month can bring them down, and fees differ between providers. A sensitivity check shows how much this matters before you commit.
Here is the Hyderabad budget run five ways, with the ₹15 lakh held fixed:
| Scenario | Working media | CPM line impressions | Skippable views | Rough reach |
|---|---|---|---|---|
| Base case, default rates, 12% fee | ₹11,34,988 | 66,88,322 | 5,04,439 | 16.7 lakh |
| Every rate 20% higher | ₹11,34,988 | 55,73,601 | 4,20,366 | 13.9 lakh |
| Every rate 20% lower | ₹11,34,988 | 83,60,402 | 6,30,549 | 20.9 lakh |
| Fee at 15% instead of 12% | ₹11,05,380 | 65,13,844 | 4,91,280 | 16.3 lakh |
| Fee at 10% instead of 12% | ₹11,55,624 | 68,09,927 | 5,13,611 | 17.0 lakh |
Notice the asymmetry. Delivery changes by 1 ÷ (1 + the rate change), so a 20% rise cuts it by 16.7% and a 20% fall lifts it by 25%. A two or three point change in the fee moves it by under 3%. Fees still matter, but a quote with a slightly lower fee and optimistic rates can easily deliver less than one with a higher fee and realistic rates.
Now hold the goal fixed and rerun the insurance brief. At rates 20% higher, the all-in budget rises from ₹14,46,774 to ₹17,12,529. At rates 20% lower, it falls to ₹11,81,020. Both moves are about 18.4%, a little under 20%, because the ₹1 lakh of creative does not change with the rate. Cutting the fee from 15% to 10% saves ₹57,773, or 4%.
Plan on the base case, then check that the high-rate case still gives a reach and frequency you could live with. If not, trim a line now rather than find the shortfall in week two.
How do you set the calculator up in a spreadsheet?
Use one sheet for each direction. On the budget sheet, put the inputs at the top.
| Cell | What goes in it | Entry or formula |
|---|---|---|
| B2 | All-in budget, GST included | Type it in |
| B3 | GST rate | 18% |
| B4 | Fees on top of media | Type it in as a percentage |
| B5 | Fixed costs before GST | Type it in |
| B6 | Rate change for the scenario | 0%, then 20% and -20% |
| B7 | Working media | =(B2/(1+B3)-B5)/(1+B4) |
| B8 | Working media share | =B7/B2 |
Then give each line its own row, starting at row 11.
| Column | Header | Formula in row 11 |
|---|---|---|
| A | Line | Type it in |
| B | Pricing | CPM or CPV |
| C | Planning rate | Type it in |
| D | Share of working media | Type it in |
| E | Line media | =$B$7*D11 |
| F | Rate after the scenario change | =C11*(1+$B$6) |
| G | Impressions or views | =IF(B11="CPM",E11/F11*1000,E11/F11) |
| H | Average frequency | Type it in |
| I | Rough reach | =IF(B11="CPM",G11/H11,"") |
Check that column D adds up to 100% before you read anything else.
The goal sheet runs the other way.
| Cell | What goes in it | Entry or formula |
|---|---|---|
| B2 | Target reach | Type it in |
| B3 | Average frequency | Type it in |
| B4 | Impressions needed | =B2*B3 |
| B5 | Fees on top of media | Type it in as a percentage |
| B6 | Fixed costs before GST | Type it in |
| B7 | GST rate | 18% |
| B8 | Working media | =SUM(E11:E20) |
| B9 | All-in budget | =(B8*(1+B5)+B6)*(1+B7) |
Lines again start at row 11, with the line in column A, CPM or CPV in B and the planning rate in C. On a CPM line, put its share of the impressions in D, and line media in E is =$B$4D11/1000C11. A CPV line is priced per view, not per thousand impressions, so that formula gives the wrong answer for it. Type a views target in D instead and use =D11*C11. The CPM shares should add up to 100%, with any views planned on top of the impressions target.
Copy the budget sheet into three tabs for base, high and low and change only B6 on each, and you have the rate rows of the sensitivity table. Two more copies with B4 at 10% and 15% give the fee rows.
Where do the input figures come from?
Rates belong to the channel, not the formula, so take the ranges from our guide to what programmatic advertising costs in India. Start from our default rate for each format, which is what both worksheets use, and move towards the top of the range for festive dates, a single language or narrow targeting, as our guide to choosing a planning CPM explains.
The fee rate comes from your quote, so ask every provider which fees are inside the CPM and which are added on top. Minimums come from our DV360 minimum budget guide, and every PG or private deal line should be held against them. Use 18% for GST unless your finance team says otherwise. For frequency, the worksheets here use 3 and 4, and the reach and frequency calculator linked above explains how to choose your own.
Which mistakes break a cost worksheet?
- Planning delivery on the all-in figure. Only working media buys impressions.
- Taking percentages off instead of dividing, which understates your media every time.
- Counting a fee twice, once inside the CPM and again in f.
- Adding reach across lines, which ignores the people who see both.
- Putting views and impressions in one total.
- Sending the output as a quote. Rates and availability are final only once confirmed in writing.
Next step
A free media plan from our team does the line-by-line part for you, pricing each line from our current rate card and showing estimated impressions, reach and cost. It works on media money, so share the working media figure from B7 of your budget sheet, not the all-in budget. When you are ready to book, talk to our team for confirmed rates and availability.