Start with the decisions, not the data
A dashboard that shows everything helps nobody. The useful starting point is a short list of decisions the business makes regularly, who makes them, and what they need to see to make them well. For most merchants the list looks something like this:
- What do we reorder this week, and how much? (Buying.)
- Which products are selling faster or slower than planned? (Merchandising and marketing.)
- Which orders need attention today: late, unfulfilled, flagged, refunded? (Operations and customer service.)
- Are we making money by channel after returns, fees and shipping? (Finance.)
Write the list down with the person's name beside each item. If a decision is made by one person, once a month, from one source, a spreadsheet is fine and a dashboard is a vanity project. If a decision is made daily by several people from three sources, you have found the case for building something.
When a spreadsheet is the right answer
It is worth being clear about this, because the honest answer for a good number of businesses is to keep the spreadsheet and tidy it up.
- One source of data, such as a Shopify export, and one or two people who use it.
- A question that changes shape every time it is asked. Spreadsheets are unbeatable for exploration; dashboards are for questions you have settled on.
- Low stakes if the number is a day or a week old.
- No need to act from the report: it informs a conversation rather than triggering a purchase order or a customer email.
- Shopify's own analytics already answer it. The built-in reports cover sales, sessions, conversion and product performance well, and improving how your team uses them costs nothing.
If that describes you, the useful work is to document the spreadsheet, protect the formulas, and make sure more than one person can run it. That is a morning's effort, not a project.
The signs you have outgrown it
The cost of a spreadsheet is almost never the spreadsheet. It is the hours spent assembling it, the decisions made on stale numbers, and the mistakes nobody catches. These are the symptoms we see most often.
| Symptom | What it is costing you |
|---|---|
| Someone spends an hour or more every week exporting and pasting data from Shopify, a marketplace and a courier portal | A day a month of a capable person's time, every month, for ever |
| Numbers differ between two versions of the file and nobody knows which is right | Decisions made on the wrong figure, and meetings spent arguing about it |
| Returns, refunds, test orders or multi-currency sales are handled by hand, or not at all | Revenue and margin overstated; replenishment based on gross rather than net sales |
| The person who built it has left, or is the only one who can change it | A single point of failure in your reporting |
| Everyone can see everything, including margins and supplier costs | No access control, which becomes a problem the first time a temp or an agency is given the link |
| The report tells you about a problem after the decision window has closed | Stock-outs and late orders that were visible in the data days earlier |
Two or three of these at once, affecting a decision that moves money, is the usual threshold where a built tool pays for itself.
Data sources: where the numbers would come from
A dashboard is only as good as its access to data, so this is the first thing to establish before anyone designs a screen. For a Shopify business the sources usually fall into four groups.
- Shopify itself, through the Admin API: orders, line items, refunds, products, variants, inventory levels by location, customers. This is well documented and reliable, with rate limits that a scheduled sync handles comfortably.
- Other sales channels: marketplaces, wholesale platforms, point-of-sale. Most have an API; the quality varies, and some only offer scheduled file exports, which is workable but shapes how fresh the data can be.
- Operations: your warehouse or fulfilment provider, couriers, suppliers. Stock on hand, in transit and on order often lives in three different places.
- Money: payment processors, accounting software, advertising platforms. Fees, payouts and ad spend are what turn revenue into margin.
For each source, the questions are: is there an API or a reliable export, what does it cover, how often can it be pulled, and who owns the credentials. A source with no API and no export cannot be in the dashboard, however much you want it there, and it is better to know that in the first week than the eighth.
Data quality: the part that decides whether anyone trusts it
A dashboard that is wrong once is a dashboard nobody uses again. Most of the effort in a reporting build goes into the rules that make the numbers agree with reality, and most of those rules are decisions the business has to make, not technical choices.
- What counts as a sale: at order time, at payment, or at fulfilment? Shopify records all three; finance and merchandising often want different ones.
- How returns and refunds are treated, and when: netted against the original order's date or the refund date.
- Test orders, staff orders and cancelled orders: excluded by rule, not by memory.
- Currency and tax: reported in the shop currency, with or without VAT, consistently.
- Time zones: a "day" in Shopify, the marketplace and the ad platform may not be the same day.
- Product identity across systems: the same item may have different SKUs in the warehouse, the marketplace and Shopify, and matching them is a job someone has to own.
The practical approach is to write these rules down as a short document before building, build to it, and show the rules on the dashboard itself so a sceptical colleague can see why the number is what it is. We build the rule into the tool and the explanation into the interface.
Refresh rates: how fresh does it need to be?
"Real time" is a phrase to be suspicious of. It costs more, it stresses APIs, and very few decisions need it. The right question is: how old can this number be before it changes the decision?
- An operations queue of orders needing attention: minutes. A sync every ten or fifteen minutes is usually enough, and Shopify webhooks can push the urgent events sooner.
- Sales and stock for replenishment: hours. A nightly sync with a mid-day top-up serves most buyers well.
- Channel profitability and margin: daily or weekly, because fees and ad spend arrive on their own schedules anyway.
Match the refresh rate to each decision, and show the time the data was last updated on every screen. A visible "updated 14 minutes ago" does more for trust than a live-ticking counter.
Access control: who sees what
A spreadsheet shared by link gives everyone everything. A built tool can give the buyer stock and sell-through, the customer service team the order queue, the finance lead the margin view, and the owner all of it, each signing in with their own account. That matters more than it sounds the first time you bring in a freelancer, an agency or a seasonal temp, and when someone leaves, access is removed in one place.
It also makes the tool a place where actions can happen safely. A replenishment screen that lets the buyer adjust the suggested order and export a purchase order is more useful than one that only reports, but only if it is the buyer and not the whole company who can press the button.
Total cost, honestly
A custom dashboard has three costs: the build, the hosting, and the maintenance when a data source changes its API or the business adds a channel. None of them is zero, and anyone who quotes only the first is leaving you to discover the other two.
Set against that the spreadsheet's costs from the table above, which are real but rarely totalled: the assembly hours, the stale decisions, the errors. A useful exercise is to estimate the weekly hours the current reporting takes across everyone involved, multiply by a loaded hourly rate, and compare it to a build quote and a modest monthly figure for hosting and upkeep. Sometimes the spreadsheet wins. When it does, we will say so, because a tool that does not pay for itself is one you will stop using.
A middle path exists too. Often the expensive part of the spreadsheet is the data assembly, not the analysis. A scheduled integration that lands clean, deduplicated data from Shopify and your other systems in one place, which the team then explores in the spreadsheet they already know, captures most of the benefit for a fraction of the cost. We scope that under automations and integrations rather than as a dashboard.
What a sensible first version looks like
If the case stacks up, resist the urge to replace the whole spreadsheet at once. A good first version answers one or two of the decisions on your list, from the sources that are easiest to connect, with the data rules written down and shown. For many merchants that is a replenishment view: sell-through by variant over the last 30 and 90 days, stock on hand and on order, days of cover at the current rate, and a suggested reorder list the buyer can adjust and export. It touches one data source, it serves one decision that moves money every week, and once it has earned trust the next view is an easier conversation.






