Merchgain
EN
Available now
Next, in this order
  • DeutschDE
  • EspañolES
  • FrançaisFR
  • ItalianoIT
  • PortuguêsPT
  • NederlandsNL

A language shows up here once its pages are actually written. Nothing on this site is machine-translated.

Install freeInstall
← All answers

Why doesn't the cost of goods show up in WooCommerce Analytics?

WooCommerce records the cost of goods on every order, but no Analytics report reads it. Where the cost is visible in the core, and how to get profit and margin from it.

Group
Getting the cost data in
Source
R — behaviour of WooCommerce core
Code
ANALYTICS
Updated

The short answer

Because WooCommerce Analytics does not read the cost field at all. You switched on Cost of Goods Sold, entered your costs, the orders record them — and the Analytics screens look exactly as before. Nothing is broken: the WooCommerce documentation says it plainly, “Currently, the COGS feature does not integrate with WooCommerce Analytics.”

The cost is stored correctly. To see profit and margin from it, you need a report that reads it — another plugin or a spreadsheet, not a setting in Analytics.

What WooCommerce actually does

The core keeps the cost in two places:

  • on the product — the Cost of goods field in the General tab of the product editor;
  • on every order line — the cost as it stood at the moment of sale, which you can see in the order editor.

Analytics builds its product and revenue reports from tables of its own, filled in from orders in the background. Those tables have no cost column, and none of the Analytics reports asks for one — checked in the WooCommerce 11.2 source. So there is no switch to flip: the recorded cost simply never reaches those screens.

The WooCommerce documentation page on COGS answers the question “Does the Analytics include COGS data?” with the sentence quoted above, and names no extension that fills the gap.

What to do about it

Leave the feature on and keep entering costs — every order taken now records its cost, and that history is what any profit report will use later. Then pick one of three routes:

  • a separate profit report that reads the cost recorded on the orders;
  • a plugin that adds cost and profit columns to Analytics — some paid plugins do. Before you install one, check whether it reads the core cost field or keeps a field of its own. With its own field you enter every cost twice, and the WooCommerce documentation warns that with two cost sources active you will see two cost totals;
  • a spreadsheet — fine for one month, tedious for every month.

Whichever you choose, expect its revenue figure to differ slightly from Analytics. Shipping and the set of counted order statuses are the usual reasons — see what counts as revenue.

How Merchgain reports it

Merchgain is the first route: a separate report, not new columns in Analytics. It sits under its own Profit & margin entry in the admin menu and reads the cost WooCommerce recorded on each order line — the same field, no import and no second place to keep costs.

It runs its own queries against the order tables, so it works even with the Analytics module switched off. You get revenue, cost of goods, gross profit and margin per period, product and category, with a CSV export, and next to every figure the share of revenue that has a cost recorded — so a report built on half the costs says so instead of looking finished.

See this on a real report

Disagrees with what you see in your shop? Write to us — every message is read. contact@merchgain.com