DRAFT โ€” FOR AKASH'S REVIEW Not approved. Not sent to anyone. Do not show this to a contractor, a partner, or a client until Akash signs off.

stpierre.ai ยท proof pack

What it costs to get a concrete leveling lead.

Real ad money. Real homeowners. One contractor in the Dallas–Fort Worth area.

Numbers as of July 31, 2026. Nothing here is an estimate or a projection.

$24.59

per qualified lead

$418.07 spent on ads ÷ 17 qualified homeowners

$418.07

Total ad spend, July 22–30

38

Homeowners who started a chat

17

Qualified leads

15

Handed to the contractor's phone

What "qualified" means here

A lot of people use that word to mean nothing. So here is our exact bar.

A lead counts as qualified when the homeowner tells us what concrete work they need — a sinking driveway, a patio, a sidewalk, a pool deck.

All 17 cleared that bar. 14 of the 17 also left a phone number in our records.

We do not count someone who says hi and leaves. We do not count a click. We do not count a form that was never finished.


The walk, start to finish

  1. The ad runs

    A Facebook ad goes out to homeowners in the Dallas–Fort Worth area. It asks about sinking concrete.

    $418.07 spent
  2. They tap it and a chat opens

    No form. No landing page. The homeowner is talking inside Messenger within a second.

    38 chats started
  3. A chat assistant asks the questions

    It asks what is sinking, where they are, and how to reach them. It works at 2am and it never gets tired of asking.

    built with Claude
  4. The good ones get marked

    When the homeowner names the job, the lead is marked qualified. The rest sit for a human to look at.

    17 qualified
  5. It lands on the contractor's phone

    A text goes straight to his phone with the name, the number, the town, and what is sinking. He just calls back.

    15 delivered

What lands on his phone

NEW HOT LEAD (call ASAP)Name: Redacted Name Phone: +1XXXXXXXXXX City: Flower Mound, TX ZIP: 75022 Service: concrete leveling Note: Sinking driveway sections

A real message, word for word. The homeowner's name and number are blanked out here for their privacy.


The honest part

15 of the 17 qualified leads reached him. That is 88 out of 100.

Two did not. One never gave us a working number. One hit a delivery error on July 29 and is being chased.

Eight leads got a second copy of the message before we caught it. Every one of those eight had already been delivered, so no lead was lost — it was a repeat, not a miss.

Four more chats are still sitting in review. They are not counted as qualified anywhere on this page.

This page says nothing about jobs sold or money made. Those numbers are not in yet. When they are, they go here with the same math shown out loud.


Where every number came from

The dates
Ad spend covers July 22 through July 30, 2026. Homeowner chats cover July 22 through July 29, 2026. Pulled July 31, 2026.
The spend
$418.07 is every dollar spent on the contractor's ad account in that window — including the small tests that went nowhere. We did not cherry-pick the winning campaign to make the number look better.
Our own tests are thrown out
We run fake leads through the system to check it still works. Every one of those is tagged as a test and removed before counting. 21 test leads were thrown out. None of them are in any number on this page.
The 17
Real homeowners, marked qualified by the system, between July 22 and July 29.
The 15
Leads where the text to the contractor actually went out and came back confirmed. Counted once per person, not once per attempt.
A second way to cut it
If you only look at the main Dallas campaign from July 25 on: $357.26 spent, 13 qualified leads. That is $27.48 each. Slightly worse, and still under $30.
A third way to cut it
If you only count leads that actually reached his phone: $418.07 ÷ 15 = $27.87 each. That is the strictest honest version of the number.

The live system

Three things run this. All three are live right now.

Screenshot to capture

The chat, from the homeowner's side. The Messenger thread as a real homeowner sees it, from the ad tap to the last question.

Screenshot to capture

The leads landing on his phone. The contractor's text thread, several hot leads in a row, dates visible.

Screenshot to capture

The live board. Spend, chats, qualified, delivered — updating on its own, with the date range showing.

Screenshots get captured fresh the week this goes out, never pulled from an old file. Until then these boxes stay empty on purpose.


Technical notes

Tables, IDs, and the exact queries

As-of: 2026-07-31. Ad data last synced: 2026-07-31 10:10 UTC. Client ad account: act_3289323034532141 (concrete-leveling). Client id: 5cb23431-b9d7-4b9a-87bf-c339058cad3f — the only client with lead rows.

Locked figures

FigureValueSource
Ad spend, Jul 22–30$418.07sp_ad_metrics_daily, sum(spend_cents)/100
Non-test conversations38sp_client_leads, is_test = false
Qualified, non-test17qualification_state = 'qualified'
Cost per qualified lead$24.59418.07 / 17
Distinct leads with a sent transfer15sp_client_lead_transfers, status = 'sent'
Cost per delivered lead$27.87418.07 / 15
Alt cut: campaign 120247554600190714, Jul 25–30$357.26 / 13 = $27.48CL | Dallas | $100pd | 07.25.26
Jobs won0 rowssp_closed_jobs is empty — no job or revenue claim is made anywhere on this page

Transfer status breakdown (non-test, all time)

Per-lead status setLeadsRead as
duplicate + sent8delivered, then a retry fired a second copy
sent5delivered clean, first try
failed + sent2failed once, then delivered
failed only5never delivered (2 qualified, 2 disqualified, 1 needs_review)
pending4all needs_review, never counted as qualified

Row totals: 15 sent / 8 duplicate / 7 failed / 4 pending across 24 distinct non-test leads. All 15 sent-status leads are in the qualified set. Failure reasons: 3 awaiting_enrichment_no_contact_info, 2 not_interested_misfire, 1 GHL 400 CONVERSATIONS_CONTACT_NOT_FOUND, 1 qc_failed_needs_review.

Queries

-- spend
SELECT SUM(spend_cents)/100.0
FROM sp_ad_metrics_daily
WHERE account_id = 'act_3289323034532141'
  AND date BETWEEN '2026-07-22' AND '2026-07-31';   -- 418.07

-- qualified
SELECT COUNT(*) FROM sp_client_leads
WHERE is_test = false
  AND qualification_state = 'qualified'
  AND created_at >= '2026-07-22';                   -- 17

-- delivered
SELECT COUNT(DISTINCT t.lead_id)
FROM sp_client_lead_transfers t
JOIN sp_client_leads l ON l.id = t.lead_id
WHERE l.is_test = false AND t.status = 'sent';      -- 15

-- jobs
SELECT COUNT(*) FROM sp_closed_jobs;                -- 0

Known caveats

  • Only 14 of the 17 qualified leads carry a phone_e164 value. Qualification fires on project type, before contact enrichment completes — so "qualified" on this page means project type confirmed, not phone guaranteed.
  • Jul-30 has a $0.00 spend row; the 9-day window has 8 days of real spend.
  • Median time from chat to handoff is ~8 hours across the whole window, ~2 hours for leads after the Jul-28 transfer rail rebuild. Sample is too small to publish, so no speed claim appears on the page.
  • The retired "$15 per booked lead" line is banned and appears nowhere.