B
Blackhawk Supply
Sales Dashboard

Sales analytics,
in sharp focus.

Revenue, margin, refunds and cost adjustments — reconciled to actuals across every brand and store.

© Blackhawk Supply

Overview

to

Gross Revenue

--

Before discounts

Net Revenue

--

AOV: --

COGS %

--

-- of revenue

Gross Profit

--

Margin: --

Orders

--

--/day

Unique Customers

--

Disc rate: --

Discounts Given

--

--

Refunds

--

--

In-Stock Revenue

--

--

Out-of-Stock Revenue

--

--

Revenue & Profit

Daily

Order Status Mix

Monthly Performance

Last 24 months

Average Order Value

Daily

Top Profitable Products

SKUQtyRevenueProfitMargin

Worst Performing Products

SKUQtyRevenueProfitMargin

Paid Search

Spend comes from Google Ads. Orders, revenue and gross profit come from our own orders, credited to the ad click on the page where the buying session landed (last click). Revenue is net of refunds and profit uses booked cost of goods. Phone and draft orders carry no landing page and are never credited, so every ROAS here understates total payback. Profit ROAS = gross profit / spend; 1.0 is gross break-even before fulfillment and overhead.

Filter
Group charts by

Change history

Every edit made in Google Ads, with who made it. Google keeps 30 days; the dashboard stores them nightly so history builds from here. Campaign markers on the charts below show when these happened.

Spend, credited revenue and gross profit

Changes in Google Ads per period; hover a bar to read them

Profit ROAS

Gross profit / spend for each period. The dashed line marks 1.0. Dotted segments and hollow points are periods to read with care: the last 14 days (orders from recent clicks are still arriving) or a period the date range only partly covers. Small triangles along the bottom mark periods with budget, target or status changes; hover to see them.

Profit ROAS by campaign

Top 15 campaigns by spend. Dashed line at 1.0. Hover for spend and profit.

Spend vs profit ROAS

Each dot is a campaign; dot size is gross profit. Upper right: large and paying back. Lower right: large and under 1.0.

Campaigns

Tick campaigns and press "Filter to ticked" to scope the whole page to them. Google value is what Google Ads itself reports as conversion value, shown for comparison. Click a row to see its orders.

Spend by vendor

Product-level Google spend by brand: Shopping plus the shopping part of Performance Max. Spend that Google does not report per product (Search, and Performance Max video, display and search placements) stays in its own band rather than being spread across vendors.

Profit ROAS by vendor

Top 15 vendors by spend. Lighter bars have fewer than 10 credited orders, so treat them as noisy.

Vendors

Revenue and profit are the vendor's own line items on Google-credited orders, whichever campaign brought the click. A vendor can show revenue with no spend when its items sold on an order that another vendor's ad started.

Campaign spend vs vendor sales

Spend is the campaigns selected in the filter above (all Google campaigns when none are). Sales are every order line for the vendors chosen here, whichever channel brought the order, with the part credited to those campaigns broken out. Leave the vendor box empty for all sales.

Vendors
Vendor sales by period revenue, with the part credited to the selected campaigns
Campaign spend by period same weeks, own scale
By vendor product-level spend is what Google reports on that brand's own items inside the selected campaigns; Search and non-shopping PMax spend has no brand

Search terms

Geography

Budget pacing

Monthly plan per store against Google spend to date. Projection for the current month = spend so far + the last 7 days' average daily spend x days left; next month = today's enabled daily budgets x days in the month. Google can spend up to twice a daily budget on a given day, so judge pacing on months, not days. Managers and admins can set the plan; it ignores the date range and campaign filter.

Attribution brackets

The same campaigns under three rules, so the truth can be bracketed rather than declared. Last click is this page's rule. Within 7 / 30 days adds later orders by the same customer email that were not themselves paid-credited, on any channel including phone, within that many days of a credited order (an order-based proxy; there is no click log, so this understates assists). Google is Google's own reported conversion value and revenue ROAS. Top 15 by spend; totals cover every campaign in the filter.

Paid-acquired customers by month of first order

Customers whose first ever order was Google-credited, grouped by that month. Profit per customer counts every later order on any channel, including phone and draft orders. CAC is that month's spend / that month's first-time customers (upper bound). Blank cells are horizons the calendar has not reached. Ignores the date range and campaign filter; follows the store filter.

Cumulative gross profit per customer, by acquisition quarter

Data integrity

Numbers behind the numbers, for the current filters. Each line says how much of the page rests on complete data.

Concentration

Share of Google-credited gross profit from the top 5 in each group. One large account can flip a campaign's ROAS; these show how much rides on a few.

By store and channel

Search Log HIGH BETA

Every AI Search that settled: who ran it, what came back, and whether they said it helped. Use the notes and the no-result queries to see where search falls short. Click a query to run it again.

Repeated queries, last 30 days
WhenWhoModeQueryStore / filtersResultsTookRatingRight part / top hitClicked

All Orders

OrderDateCustomerTypeAcqStatusRevenueCostProfitMargin

Product Profitability

SKUProductQty SoldRevenueCostProfitMargin

Total Vendor Revenue

--

-- vendors

Avg Margin

--

Profit: --

Avg Orders/Vendor

--

-- total orders

Customer Mix

--

Vendor Performance

VendorRevenueIn-Stock RevOOS RevGross ProfitMargin %Avg Disc %Orders

Repeat Rate

--

-- repeat of -- orders

Repeat Revenue Share

--

$-- repeat revenue

Avg Customer LTV

--

B2B: -- / B2C: --

Orders per Customer

--

-- unique customers

Customer Analysis

to

Customers

--

Combined LTV

--

Avg LTV

--

Avg Orders

--

Customer Type Orders Total LTV Profit Avg Order Days Since Last Last Order

Repeat Rate Over Time

Customer LTV Distribution

Purchase Frequency

Top Repeat Customers

Ordered 2+ times in period
Customer Type Orders Revenue Avg Order Tenure Last Order

Monitors

A monitor is a saved product filter: a distributor (NC, SX, MP), a product-key prefix (nco, spe, mpk), brands, product types, Shopify tags, vendors or SKU prefixes, in any combination. Pick one or several to see their sales for the selected dates and store, individually and combined. Product attributes come from the PIM nightly.

Monitors
Group charts by
Pick a monitor above, or create one.
to
to

SKU Driver Detail

Match — both periods New — current only Lost — base only
SKU Title Type Base Qty Curr Qty Base Rev Curr Rev Rev Δ Price Eff. Vol Eff. Margin Δ

Shipping Revenue

--

-- of total revenue

Avg per Order

--

-- orders

Free Shipping

--

-- orders

Paid Shipping Avg

--

-- paid orders

Daily Shipping Trend

Fulfillment Status

Shipping by State

State Orders Shipping Rev Avg Ship Total Rev % of Ship

Shipping Methods

Method Orders Shipping Rev Avg Ship Product Rev Profit

Top Cities

City Orders Shipping Rev Avg Ship

Data Export

Select a dataset, choose columns, and download as CSV or Excel

Columns 0 selected
Preview
Loading preview...
-- × --

PIM Catalog Snapshots

Daily 1am CST snapshot of the PIM. Toggle store at top right.

Loading…

Trend over time

Vendor changes since prior snapshot

Loading…

Vendor breakdown

Vendor Total Published Unpublished GAQ Avg Cost Avg Sell Margin %

Submit Feedback

All Feedback

Multi-Store Migration ADMIN

Tags all existing orders as Blackhawk, then pulls the entire Midwest Supply order history. Safe to re-run — subsequent runs only fetch new orders. Reconcile compares Shopify's last-48h order count against ours and re-syncs any drift (runs daily automatically).

Loading status...

PIM Inventory Flag Sync ADMIN

Mirrors the bhinstock tag into a top-level in_stock boolean on every PIM product. Runs automatically every Sunday at 2am CST — first run flips ~1.89M docs in 3–7 min, subsequent runs only touch deltas (~20–30s). This is the only place this app writes to MongoDB.

Loading status...

User Management

User Email Role Status Joined Actions