Your account did 3.1×.
Your best hook did 6.4×.
The average hides the creative carrying you, and the one quietly draining the budget. OpticData splits every metric by hook, angle, format and offer, so you know what to cut and what to scale.
Invite-only while we onboard by hand. Tell us what you run and we’ll come back with a slot.
One account, last 30 days, by hook
Demo data| Hook | Spend | ROAS |
|---|---|---|
| Bold claim | $11.0K | 6.40× |
| Question | $9.2K | 3.10× |
| Testimonial | $9.5K | 2.05× |
| Founder POV | $11.5K | 0.87× |
| Account | $41.2K | 3.11× |
A quarter of the budget is on the worst hook in the account. The blended number never said so.
Spend, revenue, orders and cost, reconciled from where they actually live.
Every ad you have ever run, asked the same eight ways.
Hook, angle, theme, format, asset, talent, offer, CTA. Pick a dimension and a metric and the whole account re-ranks: which hooks earn their spend, which angle is dying, what your winners have in common that you had not noticed.
Averages are spend-weighted, so a $200 test cannot masquerade as a winner next to a $12,000 one.
The spread is the signal
A dimension where every value performs the same is telling you it does not matter. One where the top and bottom are 7× apart is telling you where the next test goes. OpticData ranks the dimensions by how much they actually separate.
Down to the ad, not just the label
Open any slice and see the individual ads inside it, their thumbnails, their spend and their trend. The tag is where you start, not where you stop.
Fatigue, before the CPA says so
Frequency climbing while CTR slides is a creative dying on its feet. You get told while there is still budget worth moving.
It doesn’t just tell you CBO-3 is bleeding.
Ask in plain English. The Operator reads the same reconciled numbers you do, proposes the change, and waits. Then it executes against Meta, TikTok or NewsBreak once you say so.
It will not accept “ok” as approval to move your money. Spending actions require an unambiguous confirmation, and it refuses to batch several of them behind one word.
- You
- What’s losing money this week?
- Operator
- Three ad sets are below breakeven after cost of goods. CBO-3 is the worst: $3,410 spent, $2,180 revenue, −$1,230 after COGS. Its ROAS reads 2.1×, which is why it looked fine.
- You
- Pause it and put the budget on the winner.
- Operator
- That is two actions on live campaigns: pause CBO-3, then move $180/day to Retarget-7. Reply confirm to run them. I will not act on “ok”.
Twelve clients. One login. Numbers that follow.
Switch brand, everything moves
Pick a client and every chart, table and KPI on every page re-scopes to their accounts. Not a filter you have to remember to re-apply.
Reports they can read
Share a link that renders the full report logged-out: narrative, KPIs, chart, top creatives, without exporting anything to a spreadsheet first.
Seats, not shared passwords
Invite your buyers with their own logins and roles. Up to ten on Agency, with unlimited ad accounts behind them.
And when the client asks what it actually made.
You steer on ROAS. They ask about margin. Most dashboards cannot answer, because they never asked what the product costs, so the conversation turns into a spreadsheet you build by hand on a Friday.
OpticData reads unit cost off Shopify line items and CheckoutChamp orders, per product, per order. Not a blended percentage someone typed in once and forgot.
The same 30 days, all the way down
Demo data| Revenue | $128,400 |
| Ad spend · 4 platforms | −$41,180 |
| Cost of goods | −$57,159 |
| Processing & shipping | −$25,879 |
| Profit | $4,182 |
And it says when it doesn’t know
If cost data covers 82% of the orders in a range, OpticData says 82%, on the number, where you will see it. Handing a client a clean figure built on a guess is how you lose one.
Hands full? Just ask.
Say “Hey Optic” and the Operator answers out loud: driving to a shoot, mid-warehouse, phone in one hand. Same guardrails: it still will not spend without a real confirmation.
Find out what your last 30 days actually made.
We onboard by hand, so we take a few at a time. Tell us what you run and we’ll come back with a slot.
Already in? Log in.