For online stores that run paid ads
See what you actually keep after ads, product costs and fees.
A clear dashboard built on numbers you already have: orders, product costs and ad spend, kept in one sheet. Profit, return on ad spend and margin, by channel and by product.
Live demo: sample Profit Board
Net Profit & Ad ROAS Board
Veyra & Loom
Sample data · fictional store
Online homeware store, Singapore · 1 Oct – 31 Oct 2026 · compared with Sep 2026
- Revenue
- S$64,523
- Up 21.1%vs Sep 2026
- Gross, before discounts and refunds
- Ad spend
- S$10,729
- Up 20.8%vs Sep 2026
- Across three paid channels
- ROAS
- 3.80×
- Down 0.03×vs Sep 2026
- Paid revenue per S$1 of ads
- Net profit
- S$19,598
- Up 17.2%vs Sep 2026
- After every cost shown below
- Net margin
- 30.4%
- Down 1.0 ptsvs Sep 2026
- Net profit as a share of revenue
Revenue, accounted for.
Gross revenue for the period, less each cost in turn, down to net profit.
- Gross revenueS$64,523100.0% of gross revenue
- Less Discounts−S$3,4115.3% of gross revenue
- Less Refunds−S$1,8772.9% of gross revenue
- Less Product costs−S$23,53236.5% of gross revenue
- Less Ad spend−S$10,72916.6% of gross revenue
- Less Fees−S$1,9713.1% of gross revenue
- Less Shipping−S$3,4065.3% of gross revenue
- Net profitS$19,59830.4% of gross revenue
Day by day
Revenue and ad spend per day, each on its own scale. Hover, tap or use the arrow keys to read a day.
Sat 31 OctRevenue S$3,145Ad spend S$50238 orders
Which channels earn their keep?
Break-even ROAS is the return a channel needs before its ads pay for themselves. Select a channel to see its products.
| Channel | Ad spend | Attributed revenue | ROAS | Break-even ROAS | Check |
|---|---|---|---|---|---|
| S$4,935 | S$17,581 | 3.56× | 2.13× | Above +1.43× | |
| S$3,111 | S$16,305 | 5.24× | 2.13× | Above +3.11× | |
| S$2,682 | S$6,913 | 2.58× | 2.13× | Above +0.45× | |
| S$0 | S$14,456 | Not applicable | Not applicable | No ad spend | |
| S$0 | S$9,268 | Not applicable | Not applicable | No ad spend | |
| Paid channels | S$10,729 | S$40,800 | 3.80× | 2.13× | Above +1.68× |
Swipe the table sideways to see every column.
The products behind the numbers
Top 8 by revenue · All channels
- Arc table lampS$4,964 revenue,−6.6% net margin
- Ripple glass vaseS$4,629 revenue,34.5% net margin
- Fold linen throwS$4,069 revenue,31.0% net margin
- Pebble serving bowlS$3,976 revenue,30.8% net margin
- Contour carafeS$3,559 revenue,38.6% net margin
- Loop candle holderS$3,448 revenue,33.6% net margin
- Still ceramic cupS$3,123 revenue,31.8% net margin
- Bend desk trayS$2,653 revenue,28.3% net margin
Highlights from this sample
Picked out by fixed rules from the figures above. They change with the period.
- 01
Short video needs a closer look
It used S$2,682 of the sample ad budget for 2.58× attributed revenue. It has the lowest return among channels spending over S$500; inspect campaign costs before allocating more.
- 02
A bestseller sold at a loss
Arc table lamp brought in S$4,964, but its allocated costs were higher: a net margin of −6.6%, or −S$326. Product cost is the largest deduction; inspect the cost breakdown.
- 03
Refund share has risen
2.9% of gross revenue was refunded, 0.8 percentage points above the preceding period. That represents S$1,877 in this sample.
- Switch the period
- Select a channel
- Sample data only
Built for a florist
Maison de Fleurs, live from their Google Sheet
The studio keeps its daily numbers in a Google Sheet. The board reads it and reconciles revenue, marketing and what the studio keeps. Try it: edit a number in the sheet, add an order or turn on the stream, and watch the board update.
Maison de Fleurs Studio Ledger
Sales, marketing and what the studio keeps, reconciled from the sheet.
Revenue
S$84,357
1,090 orders
Marketing
S$29,246
Meta S$22,138 · TikTok S$6,960
Stems, delivery & fees
S$31,887
Stems 27.7% · Delivery 6.8%
Studio take-home
S$23,225
27.5% margin · S$21.31 an order
Marketing efficiency
2.88×
Break-even 1.61× · profitable
Where every S$100 goes
Studio keeps S$27.53- StemsS$27.70S$23,367 this period
- DeliveryS$6.80S$5,736 this period
- MetaS$26.42S$22,286 this period
- TikTokS$8.25S$6,960 this period
- FeesS$3.30S$2,784 this period
- ProfitS$27.53S$23,225 this period
Sales and take-home, day by day
Cost of a new order
- Latest sheet row: 31 Oct
Maison de Fleurs · Ledger
Click any number to edit it. The board above updates as soon as the sheet saves.
The problem
Why revenue alone misleads
Revenue isn’t profit
Discounts, refunds, product costs, fees and shipping all come out first.
ROAS hides the margin
A good return on ad spend can still lose money when margins are thin.
The numbers live apart
Ad accounts, your store and a costing sheet, pulled together by hand.
Price
From S$250
to S$600 for a one-time setup, depending on how many data sources you have.
- Deliverable
- A profit and ROAS dashboard set up for your store
- Data
- Your orders, product costs and ad spend, kept in a Google Sheet
- Views
- Profit after every cost, ROAS by channel, margin by product
- Updates
- Change the sheet and the dashboard follows. No code needed
- Timeline
- Agreed in writing before we start, based on your data sources
How it works
Three steps
Share
Tell us which channels and costs matter, and share an export from your store.
Map
We set up the sheet and agree with you how every number is calculated.
Hand over
You get the dashboard and a short walkthrough of how to keep it current.
FAQ
Questions we get asked
Which platforms does it work with?
Anything you can export to a spreadsheet: Shopify, WooCommerce, marketplaces, and Meta or Google ad reports. Automatic imports are scoped separately.
What does ROAS mean?
Return on ad spend: the revenue your ads brought in, divided by what you spent on them. We show it next to profit, because a good ROAS can still lose money.
How often do the numbers update?
Whenever the sheet changes. Weekly works for most stores; daily works too.
Who can see my data?
Only the people you choose. The demo on this page uses fictional sample data, never client data.


