Skip to main content

Custom Expenses Analytics

Where the costs you typed into Cost Settings actually landed, category by category.

90 second readAppears on: /profit/custom-expenses-analytics

Some of your costs grow every time you sell more. The rest charge you the same whether you had a record month or no month at all.

This page is where you tell the two apart, and see what each one took. Every figure started as something a person typed into Cost Settings — nothing here comes from Shopify, Meta or Google.

The tables

Read the two together and you have your whole non-product bill for the range, and what came back the other way.

Costs in the first table, the money in from everything that isn't a sale in the second.

Custom Expenses by Category

One row is one sub-category inside one expense category.

The first column, headed Type, carries the category and spans all its rows. Then Sub Category, and across from it Variable Custom ExpensesVariable Custom ExpensesSee the full entry., Fixed Custom ExpensesFixed Custom ExpensesSee the full entry. and Total Custom ExpensesTotal Custom ExpensesSee the full entry..

Every category block ends in a Summary row. The final row of the whole table is Grand Summary — every category added up for the date range.

Fixed and variable arrive by different routes, and that difference is the point of the split:

  • Fixed is a bill divided into a daily cost, counted for the days inside your range. Half a month of rent for half a month of dates.
  • Variable is a share of something that moves — total sales, order count, or ad spend — so it grows on its own when you sell more.

How to scan it

  1. Start at the Grand Summary row, Total Custom Expenses column. That's the whole bill for the range.
  2. Read up the Summary rows and mark the two largest categories. Every category and sub-category is printed even at zero, so the Summary rows are the fastest way past the empty ones.
  3. Look across those two blocks, Variable against Fixed on the same row.
  4. The row that matters is a big Variable number. It rises with every extra order you take, so it will keep the same bite out of every sale you add. A big Fixed number is the opposite problem: you pay it on a bad month too.
  5. The row that means something else is a large Other. That's a filing problem, not a cost — see below.

The Export button in the table header writes every row, category column included, to one spreadsheet.

Other Incomes

One row is one income type, named under Sub Category with IncomeIncomeSee the full entry. beside it. Four rows always show — FX Gains, Grants Or Rebates, Interest Income and Other — and the table ends in its own Summary row.

Income is worked out the same way as a fixed expense: a daily amount, counted for the days inside your range.

How to scan it

  1. Read the Summary row first. That's every income entry for the range.
  2. Look at the Other row. Anything sitting there didn't match one of the three named types when it was entered.
  3. Hold it against the Grand Summary in the table above. Nothing on this page subtracts one from the other — if you want income netted against costs, that happens on the profit pages, not here.

Three controls sit above this table. Search filters the rows, the icons switch between bar, line, pie and table, and Export writes the rows to a spreadsheet.

One catch worth knowing: while a search is active the Summary row is hidden, because it would still be totalling the rows you just filtered out.

Filters

Dates are the only thing that changes a figure here, and they change it more than you would expect. Fixed costs are counted by the day, so a shorter range is a smaller bill — not a cheaper business.

There is no Filters button and no Previous period button here — country, customer type and order source are not sent with these two requests, and neither table has a comparison column.

Set those filters on another page and come back: this one will read exactly as it did.

Watch out for

“A big Other row means we spent a lot on odds and ends.”

Categories and sub-categories are a fixed list. An expense whose sub-category doesn't match one of the built-in names is filed under Other inside its category, and one whose category doesn't match lands in the Other category entirely. A fat Other row usually means an expense was named freely in Cost Settings, not that the money went anywhere unusual.

“This is the month's rent, so it's the whole bill.”

Fixed expenses are counted by the day. Pick 12 days and you get 12 days of rent, not a month of it. Compare months to months, and start on the first of the month, or the totals won't line up with anything your accountant sends.

“The variable expense reflects what happened on those days.”

A variable rule takes its share of the whole range's total, then scales it by how many days of the range the rule covered. A rule that started halfway through your range gets half of the range's total sales — not the sales that actually happened in its half. Short ranges around a rule's start or end date will read oddly.

“A percentage of ad spend covers all my advertising.”

Ad spend here is Google Ads plus Meta, and nothing else. Amazon ads and every other channel are outside it, so a rule set as a share of ad spend quietly undercharges you.

“This total should match Custom Expenses on the profit page.”

The Grand Summary here includes every expense you ticked as Marketing in Cost Settings. The profit pages count those as advertising instead, so the two figures are not built the same way and will not tie out.

“The page is broken — there's nothing on it.”

Check the store switcher. With All Stores selected both tables come back empty, because these figures are worked out one store at a time. Pick a single store and they return.

A variable rule also contributes nothing when the thing it's based on is zero. No sales in the range means a percentage of Total SalesTotal SalesYour true top line and the anchor for every efficiency metric. adds nothing, even though the rule is live.

Do this first

Set the date range to one full calendar month, then read the Grand Summary row and the two largest Summary rows above it.

If Other is one of them, stop there. Fix the category on those entries in Cost Settings first — every profit number downstream is being fed by rows you can't currently name.

See yoursYour custom expenses by category, and the income beside them, for the dates you have selected.

Open Custom Expenses Analytics