The 14 Shopify reports that drive Slack reactions (and 6 that get ignored)

8 min readBy Chartcastr Research

Not every Shopify metric belongs in Slack. From hundreds of e-commerce workspaces pulsing Shopify data, fourteen reports consistently get reactions; six don't. A practical reading list before you wire up your next pulse.

TL;DR

Across hundreds of e-commerce workspaces pulsing Shopify data through Chartcastr, 14 reports consistently get reactions: daily revenue (with right-prior comparison), today-vs-forecast, units by SKU velocity tier, abandoned cart recovery rate, returning customer rate, AOV by traffic source, inventory low-stock alerts, refund rate vs baseline, gross margin by collection, cart-to-checkout conversion, repeat-purchase window, COGS-aware contribution margin, ad-attributed revenue share, and shipping-cost-per-order trend. Six reports consistently get ignored — usually because they're store-lifetime metrics or unsegmented session counts.

E-commerce teams are the most enthusiastic adopters of push analytics in Chartcastr — Shopify is the second-most-connected source overall and the most-connected for any team under 50 employees. They also tend to over-pulse: a typical e-com workspace has 8–12 pulses live within a month of signup, and 3–5 of them stop getting reactions within a quarter.

This post is the field guide from watching that happen, distilled into "what to send" and "what not to send."

The reaction-rate data backing the rankings comes from the same dataset as the Slack chart delivery engagement benchmark, filtered to Shopify-sourced pulses delivered to e-commerce workspaces.

The 14 that work

1. Daily revenue with same-day-last-week comparison

Today's revenue: $48,210 (↑ 12% vs same day last week)

The most-pulsed Shopify metric, and for good reason. Same-day-last-week is the right prior for any business with weekly cyclicality (which is most e-com). Yesterday-comparison loses to it on every dimension.

2. Today vs forecast / plan

Revenue today: $48,210. Plan: $52,000. Tracking 7% behind, expected to close near plan by EOD.

The pulse that surfaces whether the day is on track outperforms the pulse that surfaces what happened so far. Add a forecast line and the read-rate doubles.

3. Units sold by SKU velocity tier

Top tier (top 10 SKUs by velocity): 412 units (↑ 8%). Middle: 318 units (flat). Bottom (long tail): 91 units (↓ 12%).

Grouping units into velocity tiers makes the report scannable. Bare unit counts are too granular; total units count is too aggregated. Tiers are the right resolution.

4. Abandoned cart recovery rate

Cart recovery (last 7 days): 18% (vs 14% trailing). 22 carts recovered, $4.2k attributable revenue.

A leading indicator. Drops in this metric usually precede revenue drops by 1–2 weeks. High reaction rate especially among marketing leads.

5. Returning customer rate

Returning customers this week: 41% of orders (↑ 3 points). New customer share continues normal seasonal decline.

Weekly cadence works better than daily — the metric is noisy day-over-day. Returning customer rate is the most common "we should react to that" signal for retention teams.

6. AOV by traffic source

AOV by traffic source (7-day): Paid social $84 (↓ 8%); SEO $112 (flat); Direct $96 (↑ 4%); Email $138 (↑ 11%).

Surfaces channel-quality drift faster than any other Shopify report. Email's AOV diverging from paid social is the kind of pattern that gets a CSV pulled within hours.

7. Inventory low-stock alerts (anomaly cadence)

⚠️ 4 SKUs below 7-day reorder threshold. Top risk: SKU-A4192 (4 days stock), launched in March 2026 collection.

This one breaks the rules of daily cadence — it works only on anomaly trigger. A daily "here's your inventory" pulse gets muted within two weeks; an anomaly-cadence pulse that fires twice a month stays useful.

8. Refund rate vs baseline

Refunds last 7 days: 4.1% of orders (vs 2.8% baseline). Driver: 6 refunds tagged "sizing issue" on jacket-collection SKUs.

Cause-attached refund pulses outperform raw refund-rate pulses by 3x reaction rate. The cause sentence is the unlock; if your tooling can't tag refund reasons, the pulse loses most of its value.

9. Gross margin by collection

Gross margin this week: Apparel 62% (flat); Accessories 71% (↓ 2 pts, promo active); Footwear 58% (↑ 4 pts, FX favorable).

The pulse most under-shipped relative to its value. E-com teams know their revenue; they often don't know their margin in real time. A weekly margin pulse to the founder/CFO consistently drives action.

10. Cart-to-checkout conversion

Cart → checkout: 64.2% (↓ 3 points week over week). Mobile dropped to 58%; desktop steady at 71%.

Splitting by device is the key. Mobile and desktop diverge often enough that the aggregate hides the signal.

11. Repeat-purchase window

Median time-between-purchase: 38 days (vs 41-day rolling baseline). The first-90-day cohort is tightening.

A retention leading indicator. Monthly cadence works best — daily is noisy.

12. Contribution margin per order (COGS-aware)

Contribution margin per order (last 7 days): $24.10 (↓ $1.20 vs prior week). Ad spend per order rose 8%; COGS flat.

Requires plumbing — most stores don't have COGS in Shopify directly, so this often pulls from an external source via Sheets or BigQuery. When set up, the highest-reaction pulse in the catalog.

13. Ad-attributed revenue share

Paid-ads attributed share: 32% of revenue (vs 28% prior week). Increase concentrated on Meta retargeting campaigns.

Same logic as the AOV-by-source pulse but framed for ad teams. Often paired with Meta Ads or Google Ads connections.

14. Shipping cost per order trend

Avg shipping cost per order this week: $7.10 (↑ $0.40). The 3-zone carrier rate change last week is now flowing through.

Easy to ignore, painful when it's missed. A 50¢ rise in shipping cost on 10k orders/month is $5k/month in vanished margin.

The 6 that get ignored

1. Total store revenue (lifetime)

The number doesn't change meaningfully day-to-day. It belongs on a quarterly digest, not a daily Slack pulse.

2. Total orders (lifetime)

Same problem. The big number is impressive once, then becomes wallpaper.

3. Total customers (lifetime)

Worse. Even less actionable than total revenue or total orders.

4. Unsegmented session counts

Sessions without context (source, device, behavior) tell you nothing. A pulse that says "23,412 sessions today" gets read once and then ignored. Add source or behavior segmentation and the pulse moves to the "works" list.

5. Orders count without value

"412 orders today" is half a metric. Order count without average order value or revenue total is unactionable.

6. Any metric that needs a chart to interpret but ships as a number

Time-series shapes — funnels, distributions, cohort retention curves — don't survive being squeezed into a one-number pulse. Either include the chart (visual) or pick a different metric (scalar). The hybrid loses both.

The pattern across both lists

The reports that win share a structure: one number, the right prior, one sentence of cause. That structure is described more generally in the anatomy of a daily Slack update; the Shopify list is the e-commerce-specific instantiation.

The reports that lose share an anti-pattern: the number doesn't move on the pulse cadence, or the number isn't actionable without additional segmentation that the pulse doesn't carry.

Setting up this stack in Chartcastr

Connect your store via the Shopify integration. Pre-built report templates in the pulse builder cover most of the 14 above out of the box — daily revenue, AOV by source, abandoned cart, inventory low-stock, returning customer rate. The COGS-aware margin and shipping-cost-per-order reports require a Sheets or BigQuery layer because the source data isn't natively in Shopify; the Google Sheets to Slack pipeline is the most common route.

This is the template for other platforms

We'll publish the equivalent post for HubSpot, Xero, PostHog, Mixpanel, Meta Ads, and Stripe over the next quarter. The structure is the same: which reports drive reactions, which get ignored, why. The data is uniquely Chartcastr's because nobody else can see what teams actually pulse-and-react to. If you'd like the post for your platform first, the pulse builder is the fastest way to start generating the data we'd use to write it.

Related reading:

Frequently Asked Questions

Was this post helpful?

Google SheetsSlackAI Summaries

Turn your data into automated team updates.

Connect a data source, create charts, and deliver AI-powered insights to Slack or email — in minutes.

No card required. Setup in 3 minutes.

Chartcastr