Black Friday · Sale on every paid plan See prices →

StorePinger / Blog

How to get a WooCommerce sales report email every morning, and what to put in it

Last updated: November 4, 2026

Say you run a store that does 8 to 12 orders a day. Most mornings you open WordPress, click Analytics, change the date range, scroll, open the orders page, scroll again, and close the tab fifteen minutes later knowing roughly what you knew yesterday. Multiply that by 300 working days and you have spent about 75 hours a year reading the same screen. A WooCommerce sales report email replaces that routine with one message in your inbox at 7 am: yesterday's revenue, orders, average order value, refunds and top products. Read it in two minutes, act on anything odd, get on with the day.

This guide covers what a useful daily report contains, how to set one up with the tools WooCommerce offers, why the email sometimes never arrives, how to read it in five minutes, and which alerts matter more than any report.

Key takeaways

  • WooCommerce has no built-in sales report email. You add one with an extension or an analytics plugin that includes email reports.
  • A daily report needs six numbers: revenue, orders, average order value, refunds, top products and the same figures for the period before.
  • Report emails run on WordPress cron. On low-traffic or shared hosting the scheduled send can be late or skipped.
  • If your store's other emails already land in spam, the report will too. Fix sending (SMTP, SPF, DKIM, DMARC) once and every email benefits.
  • A report tells you what happened yesterday. An alert tells you what is going wrong right now. You want both.

What should a daily sales report email contain?

A daily sales report email should contain yesterday's revenue, order count, average order value, refunds, the top three to five products, and the same numbers for the day before and for the same weekday last week. Anything beyond that belongs in a weekly or monthly report. If you cannot read it in two minutes on a phone, it has too much in it.

The comparison columns are the part most reports leave out and the part that makes the email worth opening. "Revenue $640" means nothing on its own. "Revenue $640, yesterday $910, last Tuesday $880" tells you to look for a reason before 9 am.

MetricWhy it is in the daily reportWhat a change usually means
Revenue (net)The number everything else explainsDown with orders flat: smaller baskets or more discounts. Down with orders down: traffic or checkout.
OrdersVolume, independent of basket sizeA sudden drop on a normal traffic day points at checkout or payments.
Average order valueRevenue divided by ordersRises after bundles or free-shipping thresholds. Falls when a coupon leaks.
RefundsMoney leaving after the saleA spike often follows one product batch or one shipping delay.
Top productsWhat is actually sellingA product that disappears from the list may be out of stock or hidden by a theme update.
Comparison columnsContext for all of the aboveWithout them you cannot tell a bad day from a quiet weekday.

Weekly reports add sales by source, new versus returning customers, coupon usage and stock warnings. Monthly reports add sales by city, customer counts and refund rate. Keeping each report at its own level is what stops the daily one from becoming a wall of numbers nobody reads.

Does WooCommerce send sales report emails by itself?

No. Core WooCommerce sends order emails to you and your customers, but it has no scheduled sales summary. The reports live under WooCommerce > Analytics and you have to open them. To receive a report by email you install an extension built for it or an analytics plugin that includes email reports.

The official option on the WooCommerce marketplace is the Sales Report Email for WooCommerce extension, listed at $59 per year as of November 2026. Its documentation puts the settings at WooCommerce > Settings > Emails > Sales Reports, with daily, weekly (Mondays) and monthly (the 1st) schedules and a chosen send hour. Reports cover the period up to 23:59 site time the day before. A second marketplace extension, Email Reports, is listed at $99 per year. Several analytics plugins, including StorePinger, include scheduled email reports in their paid plans without a separate extension.

How to turn on a sales report email in WooCommerce

Install the extension or plugin, open its report settings, enable the report, add one or more recipient addresses, pick daily and a send hour, save, and send a test. Then wait a full day before deciding it does not work, because the first scheduled send happens at the next matching hour, not immediately.

The steps below follow the official extension's documentation. Plugins with their own report screens follow the same pattern.

  1. Install and activate the extension or plugin.
  2. Go to WooCommerce > Settings > Emails and open Sales Reports (for a plugin, open its own Reports or Alerts screen).
  3. Tick Enable and enter the recipient addresses, separated by commas.
  4. Choose the interval. Start with daily. Add a weekly report later once the daily one has settled.
  5. Set the send time to an hour you actually read email. 7 am local time is common.
  6. Choose HTML as the email type unless you need plain text for a specific client.
  7. Save, then use the test button if one exists. The test confirms sending works, not the schedule.
  8. Check the next morning. If nothing arrives, go to the troubleshooting section below.

In StorePinger, email reports are set under Reports and Alerts on Pro and Agency. Agency adds white-label reports and emails, so the client sees their own logo rather than StorePinger's. The same screen holds the email alerts described later in this guide.

Why does my WooCommerce sales report email never arrive?

Four causes cover almost every case: the scheduled WordPress cron event did not run, the server is not allowed to send email, the message landed in spam, or the first send has not come round yet. Check them in that order. Each takes a few minutes and none needs a developer.

  1. Cron. Scheduled emails depend on WordPress cron, which per the WordPress developer documentation "is only triggered on page load", so a task set for 2 pm waits until the next visit. On a quiet store the 7 am send can slip to 9 am, or be skipped. The official extension's documentation suggests a cron plugin to see when the wc_sre_send event is scheduled next, and notes that high traffic or shared hosting can delay or skip events. A real server cron job that calls wp-cron.php every few minutes fixes this for every scheduled task on the site.
  2. Server mail. If your "new order" emails also fail, the host is not sending mail at all. The documentation's advice is to ask your host whether the site may send email. Most stores solve this permanently with an SMTP plugin that sends through a mail service.
  3. Spam. A report that arrives in the junk folder is a report nobody reads. Set up SPF, DKIM and DMARC records for the sending domain. This is the same work that gets your cart recovery and campaign emails into the inbox, so it pays back several times.
  4. Timing. The documentation says to wait at least 24 hours. Setting a later time on the same day does not trigger an earlier send.

Our email marketing section lists the SPF, DKIM and DMARC setup as a best practice for every store email, not only campaigns.

How to read the report in five minutes

Read it in a fixed order: revenue against the comparison columns, then orders, then refunds, then top products. Decide on one of three actions for the day: nothing, look closer, or fix now. Most mornings the answer is nothing, which is the point of having the report.

A worked example, not a customer result. The Tuesday report says revenue $640, orders 16, average order value $40, refunds $0, top product the blue mug with 7 units. The comparison columns say Monday was $910 on 22 orders, and last Tuesday was $880 on 21 orders.

  • Revenue is down about 30% against both comparisons. Orders are down 27%. Average order value is $40 against $41 and $42, so baskets are normal. This is a traffic or checkout problem, not a pricing problem.
  • Refunds are zero, so nothing from last week's batch is coming back.
  • The blue mug is still on top, so the catalogue is intact.

Action: look closer. Open the traffic sources report for Monday and Tuesday. If visits are flat and orders fell, open the conversion funnel for the checkout step. If visits fell, check which source dropped. That whole check takes five minutes because the report told you where to look.

The arithmetic is simple enough to do in your head. Average order value is revenue divided by orders: 640 divided by 16 is 40. A 30% drop is 910 minus 640, which is 270, divided by 910.

Which alerts matter more than the daily report?

Three alerts catch problems hours before any report: a traffic drop, a failed payment or checkout error, and abandoned cart value crossing a threshold. A daily report tells you yesterday was bad. An alert tells you today is going bad while you can still fix it.

AlertTriggers whenWhat you do
Traffic dropVisits fall well below the usual level for that hourCheck the site loads, check the top source (an ad account paused, a ranking lost)
Failed payments or possible checkout problemSeveral payment failures in a short windowPlace a test order, check the gateway status page
Abandoned cart valueCarts left in the last hours pass a set valueReview the cart recovery queue, check for a shipping or coupon error
Low stockA product drops below its thresholdReorder or hide the product before it sells out mid-campaign
SaleEvery paid orderNothing, but it is the alert most owners refuse to turn off

StorePinger sends email alerts for sales, traffic drops and abandoned cart value, and app alerts for low stock, traffic drops, possible checkout problems and failed payments. The mobile app also sends a morning report and tracks a daily goal, which for many owners replaces the email entirely.

Daily, weekly or monthly: which schedule should you use?

Daily for the six core numbers, weekly for sources and customers, monthly for cities and refund rate. Stores under a few orders a day can skip the daily report and rely on alerts plus a weekly summary, because a daily email with two orders in it teaches nothing.

A store with 2 orders a day sees "orders: 1, revenue: $45" most mornings and learns to ignore the email within a fortnight. The same store gets real information from a Monday report covering 14 orders and from an alert the moment a payment fails. A store with 50 orders a day needs the daily report and often a mid-day push notification as well.

What does a good report email look like?

Six numbers at the top with their comparisons, top products underneath, one line of alerts if any fired, and one link back to the full report. Plain layout, readable on a phone, no charts that need a wide screen. The subject line carries the revenue figure so you can triage it from the lock screen.

Here is the shape, with example figures. This is a template, not a customer result.

Subject: Tuesday: $640 from 16 orders (Mon $910, last Tue $880)

Preview: AOV $40. No refunds. Top: Blue mug x7.

Yesterday, Tuesday 3 November

Revenue (net): $640 — Monday $910 — last Tuesday $880
Orders: 16 — 22 — 21
Average order value: $40 — $41 — $42
Refunds: $0 — $0 — $55

Top products: Blue mug (7), Tea towel set (4), Gift card $25 (3)

Alerts in the last 24 hours: none

Open the full report in your dashboard.

If your tool allows it, add one line for yesterday's visits and conversion rate. Sixteen orders from 800 visits is 2%, which is a different story from 16 orders from 300 visits. Keep it to one line so the daily email stays short.

The subject line does most of the work. On a normal day you read it, see the numbers are in range, and archive the email without opening it. On a bad day the three figures in the subject are enough to make you open it.

How do agencies send client sales reports?

Agencies send the same report to each client under the agency's own branding, on the client's preferred schedule, from one screen that covers every store. The report should carry sales by source and the month's comparison, because clients judge the agency on where sales come from, not on the total alone.

Three things change when the reader is a client rather than the owner. The branding has to be the agency's, or the client starts asking what the plugin is and whether they could buy it directly. The comparison period should be the previous month, not yesterday, because the client reads it monthly. And sales by source has to be in it, because that column is the agency's work made visible. StorePinger's Agency plan covers 35 sites with white-label reports and emails, with a year of history, so a January report can show the client the whole previous year. The agencies page lists what is included.

Common mistakes

  • Reporting gross instead of net. Gross includes tax and shipping collected. Net is what you keep. Compare like with like, and check which one your tool means. WooCommerce Analytics shows both.
  • No comparison columns. A number without yesterday and last week next to it is decoration.
  • Sending to an address nobody opens at 7 am. Send it to the phone you look at first.
  • Relying on WordPress cron on a quiet site. Set a real server cron so the send is on time.
  • Ignoring spam placement. Fix SPF, DKIM and DMARC once. The cart recovery emails need the same fix, so it is never wasted.
  • Putting the weekly content in the daily email. It stops being read within a month.
  • Using date created when your accountant uses date paid. Pick one. The WooCommerce Analytics vs Google Analytics guide explains how the date setting moves orders between periods.

Conclusion

A sales report email is the cheapest habit in ecommerce. One message a day, six numbers with their comparisons, two minutes to read, and the fifteen-minute dashboard ritual is gone. Set it up once with an extension or with an analytics plugin that includes reports, make sure cron and mail sending work, and read it in the same order every morning. Then add the alerts, because the report tells you about yesterday and the alerts tell you about now. If you want the report, the alerts, the sales by source breakdown and the live view in one plugin, the reports and alerts section of the StorePinger features page shows what is included on Pro and Agency.

FAQ

Frequently asked questions

Does WooCommerce have a built-in sales report email?

No. Core WooCommerce sends order notifications but no scheduled sales summary. Reports live under WooCommerce > Analytics and must be opened by hand. To receive a daily, weekly or monthly summary by email you install an extension such as Sales Report Email for WooCommerce, listed at $59 per year on woocommerce.com as of November 2026, or an analytics plugin that includes email reports in its paid plan.

What should a daily WooCommerce sales report include?

Yesterday's net revenue, order count, average order value, refunds and the top three to five products, each shown next to the day before and the same weekday last week. The comparison columns are what make the email useful. Sales by source, new versus returning customers and coupon usage belong in a weekly report, and city and refund-rate figures in a monthly one.

Why is my WooCommerce sales report email not sending?

The usual causes are WordPress cron not running on a quiet site, the server not being allowed to send email, the message landing in spam, or the first scheduled send not having come round yet. Check them in that order. A real server cron job, an SMTP plugin and SPF, DKIM and DMARC records fix the first three permanently, and the official extension's documentation says to wait at least 24 hours.

Can I send the sales report to more than one person?

Yes. The official extension accepts several recipient addresses separated by commas, and most analytics plugins with email reports do the same. For agencies, StorePinger's Agency plan adds white-label reports and emails so each client receives a report carrying the agency's branding rather than the plugin's, from the same schedule screen.

Can I get a WooCommerce sales report as a PDF?

The official Sales Report Email extension sends HTML, plain text or multipart email rather than a PDF attachment, per its documentation. If you need a file, export the period from WooCommerce Analytics as CSV, or use an analytics plugin with custom date ranges and CSV export. StorePinger includes custom date ranges and CSV export on Pro and Agency.

How do I get a sales report on my phone?

Send the email report to the address on your phone, or use an app that pushes a morning summary. The StorePinger mobile app for iPhone and Android sends a morning report, tracks a daily goal and pushes notifications for visitors and orders, so many owners read the summary there and keep the email for the weekly report.

Is a daily report useful for a very small store?

Below a few orders a day, a daily email mostly says one order and forty dollars and gets ignored within weeks. A weekly report covering a fortnight of orders is more informative, and alerts for failed payments, traffic drops and abandoned cart value catch the problems that matter. Switch to daily once you pass roughly ten orders a day.

Should the report show gross or net revenue?

Net, which excludes tax and shipping collected, is the number to compare day to day, because tax and shipping move with order mix rather than with demand. WooCommerce Analytics reports both gross and net sales. Check which one your report tool means before comparing it with your accounting or with another tool.

See every visitor. Feel every sale.

Start free with live visitors, or get every feature with Pro.

See plansStart free