FrameNotion

How to Calculate ROI on Video Ad Spend (Step-by-Step)

A practical, step-by-step breakdown of how to calculate ROI on video ad spend — the formula, what costs to include, attribution pitfalls, and a simple tracking template.

FrameNotion Team9 min read

If you want a straight answer: to calculate ROI on video ad spend, subtract your total ad cost from the revenue it generated, divide that by the total ad cost, then multiply by 100 to get a percentage. The hard part isn't the formula — it's deciding what counts as "revenue" and what counts as "cost" before you do the math. Get those two inputs wrong and the number you report is fiction, even if the formula is correct.

What ROI on Video Ad Spend Actually Means

ROI stands for return on investment. For video ad spend specifically, it answers one question: for every unit of currency you put into producing and running a video ad, how much did you get back. That's different from reach, views, or even click-through rate — those are signals along the way, not the outcome itself.

A video can get strong engagement and still produce poor ROI if the cost of making it was high relative to what it sold. A rough, low-budget clip can post excellent ROI if it converts a product that already has strong margins. ROI is the metric that forces creative decisions to connect to the business outcome, which is why it matters more to agencies and founders than vanity metrics ever will.

How to Calculate ROI on Video Ad Spend (The Formula)

The basic ROI formula

The standard formula is:

ROI (%) = ((Revenue Generated − Total Ad Cost) / Total Ad Cost) × 100

Say a phone stand brand spends 1,000 on media for a single video ad and that ad is tied to 4,000 in revenue. Revenue minus cost is 3,000. Divide by the 1,000 cost and you get 3, multiply by 100 and the ROI is 300%. For every unit spent, the brand got three units back on top of the original spend.

Revenue-based vs profit-based ROI

The formula above uses revenue, which is the fastest version to calculate and the one most dashboards show by default. It's useful for quick comparisons between creatives, but it overstates how healthy the campaign really is because it ignores product cost, shipping, payment fees, and returns.

A more honest version uses gross profit instead of revenue:

ROI (%) = ((Gross Profit from Ad-Driven Sales − Total Ad Cost) / Total Ad Cost) × 100

Using the same phone stand example: if the product has a 50% margin, the 4,000 in revenue is really 2,000 in gross profit. Subtract the 1,000 ad cost and you get 1,000 profit, divided by 1,000 cost, times 100 — ROI is 100%, not 300%. Both numbers are "correct," but they tell very different stories about whether the campaign is actually making the business money. Decide upfront which version you're reporting, and label it clearly so nobody confuses the two.

What to Include in "Ad Spend" (Beyond Media Cost)

Most ROI calculations fail not because the formula is wrong, but because the cost side only counts media spend. If you're an agency or a founder tracking this properly, your total cost should include everything it took to get that ad live and running.

  • Media spend: the actual budget paid to the ad platform for impressions and clicks.
  • Production cost: filming, editing, scripting, voiceover, music licensing, or the cost of an AI video tool used to create the ad.
  • Creative testing cost: budget spent on hook variants or early rounds that didn't make the cut but were necessary to find a winner.
  • Platform or tool fees: subscriptions for ad creation, analytics, or landing page tools tied to that specific campaign.
  • Team time: a reasonable estimate of hours spent briefing, reviewing, and iterating on the ad, if you're billing against an hourly rate internally.

Leaving production cost out of the equation is the single most common mistake. A video that costs very little to produce and converts decently will always show a flattering ROI compared to an expensive shoot, even if the expensive shoot drives more total revenue. If you're comparing ROI across creatives or vendors, normalize for production cost or the comparison isn't fair.

Attribution: Where ROI Calculations Go Wrong

Revenue attribution is the part of this process you can't fully control, and it's worth being honest about that instead of pretending the number is exact. A customer might see a video ad on one platform, ignore it, then convert two days later after a retargeting ad or an organic search. Depending on your attribution window and model, that sale might get credited to the video ad, to the retargeting ad, to both, or to neither.

To keep ROI calculations useful rather than misleading:

  • Pick one attribution window (for example, a fixed number of days post-click and post-view) and apply it consistently across every creative you compare.
  • Separate last-click attributed revenue from platform-reported "total conversion value," since the two can differ meaningfully, especially with multi-touch journeys.
  • If you run the same offer on more than one platform, calculate ROI per platform rather than blending everything into one number — a video that performs well on one placement can underperform on another.
  • Treat the first few weeks of a new creative's life as directional, not final. Early ROI numbers shift as the algorithm optimizes and as more of the attribution window closes.

If you're running ads on TikTok specifically, pairing your ROI math with a closer look at how the creative is actually performing helps you understand why the number looks the way it does — see how to track video ad performance on TikTok for a step-by-step on the platform-side metrics worth watching alongside revenue.

ROI by Creative Stage: Testing, Validating, Scaling

ROI on video ad spend isn't a single number you calculate once a month — it changes meaning depending on what stage the creative is in. Treating a test-stage video and a scaled winner the same way leads to premature kills or over-investment in the wrong clips.

StageWhat you're really measuringTypical cost makeupHow to read ROI here
Testing new hooks/conceptsWhether an idea has any pull at allLow media spend, variable production costExpect inconsistent ROI; focus on relative comparison between variants, not the absolute number.
Validating a winnerWhether the result holds at normal budgetMedia spend increases, production cost is sunkROI should stabilize; a big drop here signals the early result was a fluke or audience-specific.
Scaling spendWhether returns hold as audience widensProduction cost becomes a smaller share of total costWatch for ROI decay as you spend into colder, less-matched audiences.

If you're an agency pricing this work for a client, this staged view also helps set expectations before the campaign starts — it's easier to agree on what "good ROI" looks like at each stage during scoping than to debate it after spend is already live. The guide on how to scope a video ad project for a new client covers how to set those expectations up front.

A Simple ROI Tracking Template

You don't need a complex dashboard to track this well. A single spreadsheet row per creative, updated weekly, is usually enough for a small brand or a single agency client. Track these columns:

  1. Creative name/version (so you know exactly which hook or edit you're measuring)
  2. Production cost (one-time, allocated to this creative)
  3. Media spend to date (cumulative, updated weekly)
  4. Revenue attributed (using your chosen attribution window)
  5. Gross profit attributed (revenue × margin, if you're using profit-based ROI)
  6. ROI % (calculated with the formula above)
  7. Stage (testing, validating, scaling)
  8. Notes (what changed since last update, if anything)

Recalculating weekly rather than daily smooths out normal noise in attribution and lets you spot a real trend instead of reacting to a single bad day. If a creative's ROI is trending down for two or three consecutive weeks at the same spend level, that's a stronger signal to refresh or retire it than one dip.

How to Improve ROI Without Guessing

Once you can calculate ROI reliably, the next step is improving it, and that comes down to changing one variable at a time so you know what actually moved the number.

  • Lower production cost per creative so each test costs less to run, which raises the ROI ceiling even before media spend changes. Producing more variants for the same production budget means more chances to find a strong hook.
  • Shorten the ad if it's losing people before the offer appears — a message that takes too long to land burns media spend without a return. See how to shorten a video ad without losing the message for how to trim without cutting the parts that actually convert.
  • Test hook variants against the same body and offer, since the hook is usually the highest-leverage three seconds for improving click-through without touching cost structure.
  • Reconsider the offer before reshooting the whole video — sometimes the creative is fine and the margin on the offer is the real ROI problem.
  • Add captions, since a meaningful share of video is watched without sound, and a viewer who can't follow the message on mute won't convert regardless of how good the visuals are.

How FrameNotion Fits Into This

Production cost is one of the two inputs in every ROI calculation, and it's the one you have the most direct control over. FrameNotion lets you paste a product or landing page link and get a finished 30-second vertical video ad — hook, problem, benefit, proof, offer, and call to action — in about 10 to 20 minutes, with a voiceover, music, and captions built in. Lower cost and faster turnaround per creative means you can run more hook tests for the same production budget, which directly raises the ROI ceiling on the testing stage described above.

FrameNotion doesn't publish ads to ad platforms or report back performance data — you'll still track revenue and attribution the way you normally do. What it changes is the cost side of the equation: the first ad is free to try, and after that, plans start at a fixed monthly cost for a set number of ads, which makes it straightforward to calculate your true cost-per-creative when you're building out the ROI tracking template above. You can see finished examples on the examples page or check current plans on pricing.

Frequently asked questions

What counts as a good ROI for a video ad?+

There's no universal benchmark worth quoting as fact, since margins, price points, and sales cycles vary too much between products. Instead, set your own baseline: calculate ROI on your best-performing historical creative, then treat anything below that as underperforming and anything meaningfully above it as a candidate to scale. Test against your own history rather than an external number.

Is ROAS the same as ROI?+

No. ROAS (return on ad spend) is revenue divided by media cost, with no subtraction and no profit margin involved — it's a ratio, not a percentage return. ROI subtracts total cost from revenue (or profit) first, and it can include production cost, not just media spend. A campaign can show a high ROAS and a mediocre ROI if production costs were high or margins are thin.

How do I calculate ROI if I can't attribute revenue cleanly to one ad?+

Pick one consistent attribution method (last-click, or your ad platform's reported conversion value) and apply it the same way across every creative and time period you compare. The absolute ROI number will have some uncertainty, but if your method is consistent, the relative comparison between creatives stays reliable, which is usually what matters most for deciding what to keep running.

Should an agency report ROI or ROAS to clients?+

Many agencies report both, since ROAS is easy to calculate from platform data alone and ROI accounts for the client's actual margin and costs. If you're building this into a client-facing report, it's worth laying out the difference once in the proposal so expectations are set before reporting starts — see the guide on building a video ad proposal template for how to frame metrics upfront.

How often should I recalculate ROI on a running campaign?+

Weekly is a reasonable starting point for most small-to-mid budgets, since daily numbers tend to be noisy due to attribution windows still closing. Recalculate immediately after any major change — new creative, new offer, or new audience — so you can isolate what caused a shift rather than averaging it into a longer trend.

Try it on your product.

Paste a link — FrameNotion writes a custom 30-second ad.