Automated Ecommerce Reports: Replace Dashboard-Checking With Scheduled Digests
Stop logging into 10 dashboards. What belongs in daily vs weekly ecommerce digests, email vs Discord/Slack delivery, and 3 ways to build them.
If your morning starts with logging into ten Shopify admins, a payment dashboard, an ad manager, and a tracking tool just to answer "did anything break overnight?"—you don't have a data problem, you have a delivery problem. The numbers already exist; they're just scattered behind logins. A scheduled digest flips the model: instead of you going to the data, the data comes to you, at the same time every day, in a channel your team already watches. This guide covers what belongs in a daily digest versus a weekly one, where to deliver it, and three concrete ways to build it—from free native Shopify tools to a full bot pipeline.
The Real Cost of "Log In and Check"
Shopify's analytics are genuinely good—for one store. Reports live inside each store's admin, and exporting them is a manual click-and-download action, not something you can schedule for email delivery natively. Multiply that by a portfolio: ten stores at three to five minutes of sight-checking each is 30–50 minutes a day of pure navigation before you've made a single decision.
The deeper problem isn't the time—it's the reliability. Checking is a habit, and habits fail exactly when things get busy. Skip the Tuesday check because you were firefighting a supplier issue, and the store whose checkout silently broke on Monday night runs dark for 36 hours. Pull-based reporting depends on discipline. Push-based reporting depends on a cron job, and cron jobs don't have busy weeks.
There's also a team dimension. When numbers live behind ten logins, only the people with ten logins have context. A digest posted to a shared channel gives your VA, your fulfillment lead, and your ads person the same morning snapshot without handing out admin access—which pairs well with a proper daily and weekly ops checklist that tells each role what to do with what they see.
What Belongs in a Daily Digest
The rule for daily: only things that can go wrong in 24 hours and demand action today. A daily digest is an exception report, not an analytics deep-dive. If nobody would change their behavior today based on a number, it doesn't belong here.
| Item | Why daily | What to flag |
|---|---|---|
| Orders per store (yesterday) | A store at zero that normally does 20/day means broken checkout, a payment hold, or an ad account down | Any store >50% below its 7-day average |
| Revenue vs. 7-day average | Catches pricing errors, discount-code leaks, tracking breakage | Portfolio total ±30% vs. trailing average |
| Stuck shipments | Packages with no carrier movement are refund requests in incubation | No tracking update in 5+ days (7–10 for some international routes) |
| Disputes by evidence deadline | Card networks give you roughly 7–21 days to respond; miss the window and you lose by default | Anything due within 72 hours, sorted soonest-first |
| Fulfillment backlog | Unfulfilled orders aging past your SLA compound into support tickets | Orders unfulfilled >48 hours |
Two of these deserve emphasis. Stuck shipments are the highest-leverage daily item for dropshipping and POD operators, because a package that stalls in a sorting facility becomes a chargeback if the customer hears nothing—bulk shipment tracking across carriers is what makes this line possible at portfolio scale. And dispute deadlines are unforgiving: Shopify Payments lets you submit evidence only up until the due date, then auto-submits whatever you've saved. A digest line that says "2 disputes due in 3 days: Store C, Store F" is worth more than any revenue chart.
Keep the whole thing under ~15 lines. A daily digest someone can read in 60 seconds gets read every day; a daily digest that scrolls gets skimmed, then ignored, then muted.
What Belongs in a Weekly (and Monthly) Digest
Weekly is where trends and money live. These numbers move too slowly to act on daily, and putting them in the daily digest just trains people to skip lines:
- Finance rollup per store — gross revenue, refunds, and payout amounts, side by side. This is the digest your bookkeeper actually wants forwarded.
- Ad spend and ROAS per store — weekly smooths out the daily noise of attribution lag. A store whose ROAS slid from 2.4 to 1.6 over three weeks is a trend; a bad Tuesday is not.
- Inventory risk — days of stock remaining on your top 20 SKUs, and anything below reorder point across stores.
- Dispute and refund rate trend — rising dispute rates trigger card-network monitoring programs long before they kill a payment account, so watch the slope, not the count.
- Top/bottom products — what to scale, what to cut.
Monthly, roll it up one more level: P&L per brand, fees paid to platforms and processors, and portfolio-level questions like which store earns its keep—the raw material for clean multi-brand accounting and for the KPI targets you set your team against a shared team KPI dashboard.
Delivery Channels: Email vs. Discord/Slack
Where a digest lands matters as much as what's in it.
Email is right for weekly and monthly finance digests: it's referenceable, searchable, forwardable to an accountant, and nobody expects to act on it within the hour. It's wrong for daily exceptions—email is where urgency goes to die under 40 unread newsletters.
Discord and Slack are right for daily and event-driven digests, because your team already has the app open. Both platforms make this almost trivially easy via incoming webhooks: you create a webhook URL for a channel, and any script that can send an HTTPS POST with a JSON body can post a message—no bot account or OAuth dance required for the basic case. Discord additionally supports rich embeds (colored panels with fields), which turn a wall of numbers into a scannable card. In practice, Discord dominates among dropshipping and POD teams working with remote VAs, while Slack is more common in office settings; functionally they're equivalent for digests.
A structure that works: one #daily-digest channel for the scheduled morning post, one #alerts channel for event-driven pings (new dispute, store at zero orders), so urgent items never drown in routine ones. Digest at 8:00 every morning, alerts as they happen.
Three Ways to Build It
Option 1: Native Shopify Flow (free, per-store)
Shopify Flow is a free app on Basic plans and up, and its Scheduled time trigger runs workflows on a repeating schedule—daily, weekly, or monthly. Combined with the Get order data and Send internal email actions, you can build a workflow that pulls yesterday's orders and emails a summary; Shopify even ships templates for daily order-summary emails. On Grow, Advanced, and Plus plans, the Send HTTP request action can POST that summary to a Discord or Slack webhook instead.
The catch for multi-store operators: Flow is scoped to one store. Ten stores means building and maintaining ten copies of every workflow and receiving ten separate emails—which quietly recreates the exact fragmentation you were escaping. Flow is the right answer for one to three stores; beyond that it's a maintenance tax. (For a deeper comparison of automation tiers, see Shopify Flow vs. Zapier vs. a custom bot.)
Option 2: Google Sheets pipeline (free-ish, cross-store)
If you already sync orders from all your Shopify stores into Google Sheets, you're one script away from a digest. Google Apps Script's time-driven triggers run a function on a schedule—anywhere from every minute to once a month—so a single script can aggregate yesterday's rows across every store tab, compute totals and exceptions, and either email the summary or POST it to a Discord/Slack webhook.
This is the best power-to-cost ratio for a technical operator: cross-store by design, free within Google's quotas, and the data stays in your own account. The honest downsides: someone owns that script forever, API tokens and triggers occasionally break silently, and the digest is only as good as the sync feeding it. Budget a few hours to build and an hour a month to keep it honest.
Option 3: Bot/API tooling (built for portfolios)
The third tier is a platform that already aggregates orders, revenue, shipment tracking, and disputes across all your stores—so the digest is a feature, not a project. This is where StoreFleet sits: it consolidates every store into one realtime dashboard and pushes scheduled digests through its Discord bot—daily orders and revenue across the portfolio, stuck-shipment alerts, and disputes sorted by evidence deadline—with the same data flowing to Google Sheets for the finance side. If you're already running every store from one dashboard, the digest is the same data on a schedule.
| Shopify Flow | Sheets + Apps Script | Bot/API platform | |
|---|---|---|---|
| Multi-store rollup | No (per store) | Yes | Yes |
| Channels | Email; webhooks on Grow+ | Email + webhooks | Chat-native + Sheets |
| Setup effort | Low per store × N stores | Medium, needs a builder | Low, but it's a vendor |
| Ongoing maintenance | N workflows | You own the script | Vendor's problem |
| Cost | Free | Free (your time) | License/subscription |
Design Rules So Digests Actually Get Read
Building the pipeline is half the job; the other half is making sure it doesn't become channel noise within a month.
- Exceptions above totals. Lead with "Store C: 0 orders (avg 18)" and "1 dispute due Friday," then the portfolio numbers. Anyone who reads only the first three lines should still catch every fire.
- Same time, every day. A digest that arrives at 8:00 sharp becomes a ritual; one that arrives "whenever the script runs" becomes background noise.
- Thresholds, not dumps. Don't list all 340 shipments in transit—list the 6 that haven't moved in five days. Raw data lives in the dashboard; the digest carries judgment.
- One named owner per digest. Someone acknowledges the daily post—an emoji reaction works—and owns escalation. Unowned digests decay into wallpaper.
- Prune quarterly. Any line nobody has acted on in three months gets cut. Every dead metric costs credibility for the live ones.
- Deep-link everything. Each exception should link back to the order, dispute, or tracking page, so "read" turns into "handled" in one click.
Start small: a five-line daily digest to one channel this week beats a perfect reporting suite next quarter. Once the morning login ritual is gone, you'll wonder why you ever accepted it.
Sources
- Shopify Help Center — Scheduled time trigger (Shopify Flow)
- Shopify Help Center — Shopify Flow
- Shopify Help Center — Send internal email action
- Shopify Help Center — Exporting reports
- Shopify Help Center — Responding to chargebacks and inquiries
- Discord — Intro to Webhooks
- Slack — Sending messages using incoming webhooks
- Google Apps Script — Installable (time-driven) triggers