Skip to content

Measurement framework

Updated
2026-05-29

How we know whether the recommendations from a site audit actually worked. This applies to every ATG site that gets audited — same KPIs, same instrumentation stack, same cadence.


The honest problem we have to solve first

We can't measure lift without a baseline, and SP doesn't have a real analytics stack yet. What we have today (2026-05-29):

  • ✅ Cloudflare Web Analytics — basic traffic (page views, unique visitors, top pages, top referrers, country split). Already installed via beacon on every page.
  • ❌ No Google Search Console claim
  • ❌ No Google Analytics 4
  • ❌ No event tracking (add-to-cart, form submit, video play, scroll depth)
  • ❌ No session recording / heatmaps
  • ❌ No checkout flow yet (cart.js is wired but Stripe/payment processor isn't live) — most conversions happen via phone right now
  • ❌ No call tracking — we can't attribute phone-call leads to source pages
  • ❌ No CRM (so no customer LTV, no repeat-purchase rate)
  • ❌ No review platform (so no rating, no review count, no NPS)

This means our first measurement task is the instrumentation itself — not the KPIs. Without these tools we'd be flying blind reporting "we made changes and feel good about them." That's not how ATG ships.


Instrumentation stack to put in place (week 1)

Tool Cost What it measures Setup time
Google Search Console free Organic search impressions, clicks, position, indexing health, structured-data validation 30 min — claim domain via DNS TXT
Google Analytics 4 or Plausible free / $9/mo Sessions, source/medium, funnels, custom events, conversion goals 1 hr — add tag + define 8-10 events
Microsoft Clarity free Session recordings, heatmaps, rage clicks, dead clicks 20 min — add tag
CallRail (or Twilio + simple swap-in) $45-95/mo Dynamic phone-number insertion → tracks which source/page drove each call. Critical because phone is our primary conversion path right now. 2 hrs — swap phone numbers in templates, configure swap rules
Trustpilot or Yotpo $50-300/mo Reviews, ratings, NPS, post-purchase capture 4 hrs — install widget, seed 20 reviews
Stripe Dashboard (when checkout goes live) included Revenue, AOV, refund rate, payment failure rate already live once checkout is
Klaviyo (or Mailchimp) free tier OK initially Email signups, open/click rates, abandoned-cart automation 2 hrs — install signup form, write first 3 emails

Estimated all-in monthly cost at meaningful scale: $100-450/mo. Effectively free relative to the $1M+/yr revenue lift on the table.

Critical: install CallRail (or equivalent) BEFORE shipping any of the Top 10 changes. Otherwise we can't tell whether the build-kit web form vs the homepage trust strip vs the search bar is driving inbound calls — and phone is currently the dominant conversion path.


KPI tree — north star to leading indicators

NORTH STAR
└── Quarterly revenue from web-attributed customers
    ├── PRIMARY KPIs (track weekly)
    │   ├── Total online orders + revenue (Stripe)
    │   ├── Tracked phone-call leads from web (CallRail)
    │   ├── Quote-form submissions (build-kit + fleet-account)
    │   └── Conversion rate (orders + leads + quotes) / unique visitors
    ├── SECONDARY KPIs (track monthly)
    │   ├── Average order value (AOV)
    │   ├── Revenue per visitor (RPV) = revenue / unique visitors
    │   ├── New vs returning customer split
    │   ├── Repeat-purchase rate at 30 / 60 / 90 days
    │   └── Customer LTV (12-mo cohort)
    ├── LEADING INDICATORS (track weekly — these move first)
    │   ├── Organic search clicks (GSC)
    │   ├── Organic search impressions (GSC)
    │   ├── Average position for tracked keywords (GSC)
    │   ├── Unique visitors (CF Analytics + GA4)
    │   ├── Session duration / pages per session
    │   ├── Bounce rate (homepage + top product pages)
    │   ├── Add-to-cart rate (GA4 event)
    │   ├── Build-kit page → quote-form completion rate
    │   ├── Phone-call rate per 100 unique visitors
    │   └── Search bar usage rate (when shipped) — searches per session
    └── QUALITATIVE INDICATORS (track monthly)
        ├── Average review rating (Trustpilot / Yotpo)
        ├── Review count
        ├── NPS (post-purchase)
        ├── Session recording themes (Clarity) — common friction patterns
        └── Customer support email/call themes

Per-recommendation success metrics (mapped to the Top 10 from the audit)

# Recommendation Primary metric Target lift Secondary metric
1 Trust strip on every page Bounce rate (homepage + product pages) -8 to -12% Average session duration +20-30s
2 Sticky mobile CTA bar Mobile phone-call rate per 100 visitors +25-40% Mobile add-to-cart rate +15-25%
3 Real stock counts on cards Add-to-cart rate on product cards +12-18% Cart abandonment rate -5-8%
4 Iron Lot kit pricing competitive Build-kit page conversion (quote form OR phone) +30-50% Build-kit page bounce rate -15%
5 Search bar with autocomplete Search uses per session Baseline 0 → target 40-60% of sessions use search Search → product page CTR ≥ 35%
6 Build-kit web quote form Quote submissions per visitor Baseline 0 → target 2-4% of /parts/build-kits/ visitors Median time-to-first-quote response: under 60min
7 Reviews seed (20 reviews) Add-to-cart rate on reviewed products +35-55% (Baymard-validated benchmark) Average rating displayed: ≥ 4.5/5
8 Buying guide: "B3Z mech vs rope" Organic clicks/month for "rope seal vs mech seal" cluster Baseline ~0 → target 150-300/mo at 90 days Article → pump category CTR ≥ 15%
9 Frequently-bought-together on pump pages AOV on pump-page conversions +18-28% Pump-rebuild-kit bundle attach rate: target 12-18%
10 Sitemap regen script Pages indexed in Google Baseline → +25 indexed pages in 14 days Crawl errors in GSC: 0

These targets are calibrated to industry benchmarks (Baymard Institute, Shopify Plus benchmarks, BigCommerce industry reports). They're aggressive but achievable — heavy-equipment ecommerce sees 1.5-2× the per-visitor revenue of consumer ecommerce because order values are large and intent is high.


Cadence and reporting

Weekly (every Monday)

Format: Single Markdown summary appended to a running file at web-site-optimization/<site>-weekly-log.md

Includes: - Total visitors (vs prior week, vs 4-week trailing) - Orders + revenue + AOV (when checkout is live) - Tracked phone-call leads - Quote-form submissions - Top 3 entry pages (where visitors landed) - Top 3 exit pages (where visitors left) - 1 friction theme from session recordings - Status of any A/B test in flight

Monthly (first Tuesday)

Owner: WDM + OM review together Format: Slide deck or 1-pager comparing to prior month + same month prior year

Includes: - Full KPI tree above with deltas - Cohort analysis (new vs returning, repeat-purchase rate) - Top 5 highest-LTV customers acquired this month - Top 5 worst-performing landing pages (highest bounce, lowest conversion) - Recommendations shipped this month + measured impact per recommendation - Updated scorecard (the same 6 composite scores from the audit — CRO / UX / SEO / Trust / Mobile / Brand)

Quarterly (re-audit)

Owner: WDM runs the canonical prompt template against the site again, same competitors

Re-runs the full 8-phase audit using the canonical prompt template. Produces a new file like superior-water-truck-parts-2026-q3.md. Side-by-side scorecard with the prior quarter shows whether the composite score moved (target: +5-10 points per quarter for the first 4 quarters, then asymptotic).

Annual (decision review)

Owner: Brandon + WDM + OM

  • Did the strategic plan ship?
  • What was the actual revenue lift vs estimated?
  • Where were the estimates wrong (and why)?
  • What recommendations should be deprecated?
  • What new competitive threats have emerged?

Baseline capture — what to record THIS WEEK before anything ships

This is the do-not-skip step. Without these baselines we can't prove any change worked.

# Baseline Source Effort
1 Unique visitors per week (4-week trailing average) CF Web Analytics dashboard 5 min
2 Top 10 entry pages with their bounce rate CF Web Analytics 10 min
3 Inbound phone calls per week Brandon estimate + receptionist log + (eventually) CallRail 30 min
4 Current weekly online order count + revenue Stripe export or shopping-cart logs if checkout is pre-live 20 min
5 Current ranking position for top 10 target keywords Manual SERP check + GSC once claimed 1 hr
6 Current page-speed scores (LCP, INP, CLS) for top 5 pages PageSpeed Insights 30 min
7 Current product page composite quality score (using the same 0-100 dimensions from the audit) Re-score 5 product pages by hand 1 hr
8 Current review count + rating Whatever review platform we install — start at 0 0 (it's 0 today)
9 Current cart abandonment rate Once checkout is live, day 1 of metric tracking (gated)
10 Current AOV Stripe / order history export 20 min

Total baseline-capture effort: 4-5 hours. Once done, every change post-baseline is measurable.


Attribution challenges to be honest about

Heavy-equipment ecommerce has known measurement headaches:

  1. The phone-call problem. Most water-truck purchases involve at least one phone call. Without dynamic phone-number insertion (CallRail), we can't tell which page drove the call. Workaround until CallRail ships: receptionist asks "how'd you find us?" on every inbound call and logs it. Lossy but better than nothing.

  2. The long sales cycle. A fleet manager researching a build-kit might come back 6-8 times over 3-4 weeks before calling. Last-touch attribution will undercredit the buying guides and over-credit the build-kit page. Workaround: multi-touch attribution model (data-driven in GA4 or simple linear).

  3. The B2B effect. Fleet customers don't checkout online — they call, get a quote, get net-30, then place a $50K order. Revenue happens off-platform. Workaround: tie every quote-form submission to its source-page set; track quote → close rate and revenue at the quote level.

  4. The seasonal effect. Construction season (Mar-Oct in AZ) drives 2-3× the off-season traffic. Workaround: year-over-year comparisons, not month-over-month.

  5. The Iron Lot competitor effect. They're in Tolleson, also Phoenix metro. A customer might "shop both" and we never know they were comparison-shopping. Workaround: track competitor mentions in inbound calls; ask in post-purchase surveys.


What "success" looks like at the 90-day mark

The benchmark we'll measure SP against by 2026-08-29 (90 days post-audit):

Metric Baseline (2026-05-29) 90-day target Stretch goal
Composite scorecard (50 pt today) 50 65-70 75+
Unique weekly visitors (capture this week) +30-50% +75%
Tracked phone-call leads/week (capture this week) +60-100% +150%
Quote-form submissions 0 (form doesn't exist yet) 8-15/week 25+/week
Reviews collected 0 20+ published 50+
Pages indexed in Google (capture via GSC) +25 indexed pages +50
Build-kit page → call/form conversion 0 (was just shipped) 3-6% 10%+
Bounce rate on top 5 product pages (capture this week) -10 to -15% -25%
Search bar usage / session (once shipped) n/a 40%+ 60%+

Anchor metric: a +5-7 point movement on the composite scorecard at 90 days proves the audit worked. That's what we report to Brandon at the quarterly review.


Practical first week — what to actually do Monday

If you have one week to set up measurement so it doesn't lag the changes:

Day Task Owner
Mon Claim Google Search Console, install GA4 tag WDM
Mon Install Microsoft Clarity tag WDM
Tue Capture 4-week trailing baseline from CF Web Analytics; record numbers in web-site-optimization/<site>-weekly-log.md WDM
Tue Brandon estimates inbound calls/week from receptionist log Brandon
Wed Sign up for CallRail (or pick alternative); plan number-swap implementation WDM + IT
Wed Define 8-10 GA4 conversion events (add-to-cart, quote-submit, call-click, search-use, etc.) WDM
Thu Install CallRail, swap phone numbers across all 60+ pages IT + WDM
Thu Define keyword tracking list (top 20 terms we care about) WDM
Fri Spot-check session recordings for 2-3 friction themes; document baseline qualitative findings WDM
Fri Publish week-1 baseline summary; share with Brandon WDM

After week 1, every change shipped is measurable against the baseline. Without these 5 days, we cannot prove the audit's recommendations work — only assert them.


How this travels to other sites

This framework is intentionally site-agnostic. When CTP or SEI gets audited next:

  1. Drop a parallel cactus-truck-parts-weekly-log.md next to the SWTP one
  2. Same KPI tree
  3. Same instrumentation stack (the GA4 / GSC / Clarity / CallRail accounts can manage all 6 ATG sites)
  4. Same cadence
  5. Same quarterly re-audit using the canonical prompt template
  6. Same scorecard format for cross-portfolio comparison

The point is portfolio-level intelligence: which audit recommendations worked on which sites, which weren't repeatable, which are universal wins for heavy-equipment ecommerce. Three audits in, we'll start seeing patterns. Six audits in, we'll have a proprietary playbook.


Bottom line: the audits are worthless without this measurement layer. Spend week 1 on instrumentation + baseline, then ship the Top 10 quick wins, then re-measure at 30 / 60 / 90. The 0-100 composite score is the single number that tells Brandon (and the next operator) whether the work is paying off.