Aqua Pulse Spas·Discovery·Report 01 · Funnel Discovery complete
Report 01 · Funnel performance & attribution

$8.14M YTD. 19.9× ROAS. Meta sees 0.70×.

Aqua Pulse Spas is running a $22M annualised retail business on the back of $148K of Meta spend YTD. The platform reports it as unprofitable. A full-population CSV join puts true ROAS at 19.9× — and 28× on a lifetime-value basis. The gap is structural: half of buyers take longer than five months to close, and Meta's longest attribution window is seven days. This report names every leak, ranks them, and identifies the one change that closes the attribution gap.

Window
2026-01-01 → 05-08
Sample · orders
3,020 (47,674 since 2014)
Sample · leads
57,329 (since Jun 2023)
Status
Complete
00 / Headlines

Eight numbers that change the strategy.

$8.14M
Revenue YTD · all channels
~$22M annualised
19.9×
True Meta ROAS · matched
vs 0.70× reported
143d
Median DM → order
vs 7-day pixel window
$3.4M
Parked in Quote + Awaiting Pay
42% of YTD revenue
01 / The funnel as it actually flows

Seven stages. Two parallel lanes.

Two channels feed this funnel from the same paid Meta spend: Messenger (high volume, long cycle) and direct website / phone inquiries (low volume, fast close). Only Messenger gets credited inside Ads Manager.

#StageDefinitionSystem of record
1Ad impressionMeta serves an ad or boosted postMeta
2Click → DMClick that opens a Messenger threadMeta
3Active conversationMulti-turn back-and-forth with the pagePage Inbox + lead system
4Quote sentSales rep proposes a specific spa + priceRetail Express (Quote status)
5Order placedRE order created, awaiting paymentRetail Express
6Paid / processedRE order moves to ProcessedRetail Express
7DeliveredSpa freighted and arrived at customerManual / freight system
02 / Stage-to-stage performanceYTD 2026

Where the funnel actually moves.

TransitionRateSource
Click → started conversation5.1%4,208 conv / 82,421 clicks · Meta
Cost per started conversation$35$148K spend / 4,208 · Meta
Conversation → matched RE order21.1%886 of 4,208 · RE × lead match
RE order → traceable to Messenger lead29.3%886 of 3,020
RE order → Processed81%2,447 of 3,020
Within 7 days (Meta's max window)16.1%of matched orders
Within 30 days27.2%of matched orders
Median lead → order time143 dp90 = 647 days
Same-day close0.2%2 of 886
True ROAS · matched, all statuses19.9×$2.94M ÷ $148K
True ROAS · Processed only12.6×most conservative
LTV-adjusted ROAS~28×1.44× first-purchase multiplier
03 / Visual funnelYTD 2026

The shape of the leak.

[1] AD IMPRESSIONS 6.96M ──────────────────────────── 100% │ click-through 1.18% ▼ [2] CLICKS 82,421 ████████████████████ 100% │ click → message 5.1% ▼ [3] CONVERSATIONS 4,208 ███ $35 per conversation │ conv → matched RE order 21.1% │ (median lag 143 days) ▼ [4] RE ORDER (any status) 3,020 ██████ 886 matched (29.3%) │ 81% reach Processed │ 15% sit in Quote ($2.80M parked) │ 3% Awaiting Payment ($594K in flight) ▼ [5] PROCESSED 2,447 █████ 702 matched · $1.86M │ freight friction (see §05) ▼ [6] DELIVERED ?

The middle of the funnel — conversation → quote → order — is no longer a black box. The shape of the lag distribution is the story: half of matched buyers take longer than five months. Meta's seven-day attribution window is the entire reason reported ROAS is 0.70×.

04 / Revenue, status & reps

Where the dollars actually sit.

Revenue by month

MonthOrdersRevenue (inc freight)AOV
2026-01931$2.44M$2,622
2026-02645$1.69M$2,627
2026-03622$1.58M$2,533
2026-04618$1.80M$2,908
2026-05 (8d)204$630K$3,089
YTD3,020$8.14M$2,694

January is the volume peak — post-Christmas spike. AOV has been rising through April–May as product mix tilts toward higher-ticket configs.

Order-status mix · YTD

StatusOrdersRevenue% of revenue
Processed2,447$4.74M58.3%
Quote (open)465$2.80M34.4%
Awaiting Payment105$594K7.3%
Incomplete / Cancelled4<$1K0%
→ recoverable

$3.4M is parked in Quote + Awaiting Payment. The single largest pool of recoverable revenue in the business right now.

Sales rep performance · YTD

RepOrdersRevenueAOVMessenger-attributed
Hayden656$3.16M$4,810$1.39M (44.1%)
Aiden745$2.85M$3,830$1.03M (36.2%)
Lucas582$1.03M$1,774$276K (26.7%)
Jessica199$395K$1,987$77K (19.4%)
Shopify (online)568$324K$570$69K (21.2%)
Daniel137$257K$1,879$76K (29.4%)
Aydan51$65K$1,277$7K (11.3%)

Hayden + Aiden together generate 82% of all Messenger-attributed revenue ($2.42M of $2.94M). Sales-rep capacity on those two is the binding constraint on growth from paid Meta — not ad supply.

Volume / freight context

05 / Where the funnel leaksRanked

Seven leaks. One dwarfs the rest.

LeakSizeCauseAction
Attribution leakage
Not revenue — measurement
Reported 0.70× vs true 19.9×7-day pixel can't see a 143-day median cycleWire RE → Meta CAPI offline conversions. Highest-leverage change in the engagement.
Open Quote pipeline$2.80M / 465 ordersFollow-up cadence, freight shock, finance frictionDaily quote-aging report; flag >7d / >14d / >30d
Freight quote shockWhole-funnel frictionLocal $400–550, interstate $900–$2,200Custom freight app in build. Show price upfront NSW/VIC/QLD; conversation-first WA/TAS/NT.
Awaiting Payment$594K / 105 ordersStripe / finance / freight frictionAnything >7 days = stuck-deal flag
Sales-capacity concentrationHayden + Aiden = 82%Two people are the funnelGrow team or move work to systems (quote auto, opener qualifying)
Manual quote sendHayden time costPDF generated locally, emailed to himself, then forwardedQuote-automation tool — biggest non-Meta time saver
Processed → DeliveredUnknown but realCarrier zone pricing, MachShip routingWeek-1 fix, freight app in build

Not a leak any more: speed-to-lead (Hayden replies same-day, often by 10am — best in class) and finance (Hum-equivalent already in place; only quote-flow integration remains).

06 / Why Meta sees only ~10%The single most important number

The 7-day window vs the 143-day cycle.

WindowMatched ordersCumulativeVisible to Meta?
Same day20.2%Yes
Within 7 days14316.1%Yes — max window
Within 30 days24127.2%No
Within 90 days~480~54%No
Beyond 90 days~406~46%No
Median (50%)143 dNo
Long tail (p90)647 dNo
⚠ ceiling vs reality

Theoretical ceiling: Meta can see at most 16.1% of true Messenger conversions — even with a perfect pixel. Today's reality: 9.6% (85 reported purchases of 886 matched). Meta is also under-reporting by ~40% within its own 7-day window (cross-device, iOS opt-out, server-side dropouts).

The unlock: the only way to recover the 84% Meta can't see is to push order data back to Meta from RE via the offline conversion API (CAPI). That feeds Meta's optimiser the long-tail purchases it has been blind to, so it stops optimising toward "messages started" and starts optimising toward "spas sold."

07 / Lifetime valueWhy ROAS is even higher

Once a customer's first order is paid-Meta-driven, the relationship runs forward.

From the full RE history (47,674 orders, 19,537 unique customers since 2014):

A spa is rarely one-and-done. Parts, chemicals, accessory kits, replacement units form a 44%-of-buyers ongoing relationship.

→ LTV ROAS

19.9× first-purchase ROAS × 1.44 effective lifetime multiplier ≈ 28.6× LTV ROAS. Restoring offline conversions to Meta isn't just "fix attribution" — it lets Meta optimise toward customers who spend $5,334 over their lifetime, not $4,557 on their first order.

08 / 10-year contextThe plateau

2025 was the record. 2026 is defending it.

YearOrdersRevenueAOVYoY
20204,591$12.3M$2,680— (COVID peak)
20215,112$12.3M$2,4050%
20224,442$8.84M$1,991−28%
20234,204$7.08M$1,685−20%
20246,133$16.67M$2,718+135%
20258,667$24.79M$2,861+49%
2026 YTD3,020$7.51M$2,485~10–15% below pace

2025 was the record year — not the new normal. The real scale-up was 2024 → 2025 (+49%); 2026 is running below that pace in every comparable month except January. That changes the strategic frame for Phase 02: this engagement is about defending the 2025 high, not riding a growth curve.

Geography · YTD

StateOrdersRevenue% of revenue
QLD1,714$3.90M51.9%
NSW583$1.69M22.6%
VIC182$541K7.2%
SA130$388K5.2%
WA56$223K3.0%
ACT49$148K2.0%
TAS47$143K1.9%
NT8$26K0.3%
Cash sale (walk-ins)212$264K3.5%

QLD dominance confirmed but at 52%, not 60%. NSW is a stronger second than commonly assumed. Targeting and freight zoning should reflect the real distribution.

09 / Channel performanceThe bigger ROAS story

The 36.2% Messenger figure is only the floor.

Phone and website inquiries also come from people who saw an ad — they just choose a warmer channel to convert. Hayden's warmth ranking, with channel mechanics:

RankChannelVolumeClose rateNotes
1Website inquiry form1–2 / day~90%Hottest. "We close those 90%."
2Phone calls"Heaps" / dayDay-of / next-dayOften inbound from website + ad views
3ShopperFly (chat)Lower than FBHigher than FB"They're on our website, ready to buy"
4Facebook Messenger~3K leads/mo21.1% convBulk lane, long cycle

Strategic implication: the website inquiry form is currently hard to find on the APS site. If even a small share of FB-driven traffic shifted to website-form completions, total close rates would lift dramatically without more ad spend. This is a website-build priority, not a Meta priority.

10 / Phase 02 prioritiesHayden-validated re-rank

Ten moves. First three carry the lift.

  1. Freight app + MachShip integration. Hayden's #1 ask, biggest immediate friction. Build is in progress. Better Shipping (Shopify app) is a fundamental misfit — APS thinks in drive-time radii from outlets, Better Shipping is postcode-only. Real-time MachShip quoting on Shopify checkout is the target.
  2. RE → Meta CAPI offline conversions. Highest ROAS unlock. RE REST API was provisioned 2026-04-29 specifically for this. Pushes the 84% of purchases Meta can't see back into the ad optimiser.
  3. Quote-automation tool. Replaces Hayden's manual PDF-to-himself-then-customer flow. Single biggest non-Meta time saver.
  4. Visible contact form + Messenger handoff on website. Fix the "hard to find" form on every product page; continue Messenger conversations on-site.
  5. Business Manager setup + page admin migration. Separate Sharyn's personal DMs from page inquiries. Do not let Hayden create a fresh FB account (would trigger spend limits).
  6. Product comparison tool. "Which spa is right for me" filter on power type (10A/32A) and seat count (4/5/6+). Hayden's explicit ask.
  7. Messenger opener with 3 quick-replies. Power / Size / Timing. Pre-tiers 80%+ of leads before Hayden touches them. See companion lead-quality report.
  8. Quote-aging weekly report. Daily/weekly view of the $2.80M parked in open Quote, flagged by age.
  9. Ad-account moves. Pause Tier D ads (700+ leads, $0 matched revenue), scale Tier A. See companion report.
  10. PSID capture at quote time. Log the FB user ID against the customer record. Turns name-matching into deterministic attribution. Defer to follow-up call.
A / Method & caveatsHow the numbers were derived

Full population. Conservative match.

Caveats

Open verifications