$418.07
Total ad spend, July 22–30
stpierre.ai ยท proof pack
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
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.
A Facebook ad goes out to homeowners in the Dallas–Fort Worth area. It asks about sinking concrete.
$418.07 spentNo form. No landing page. The homeowner is talking inside Messenger within a second.
38 chats startedIt 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 ClaudeWhen the homeowner names the job, the lead is marked qualified. The rest sit for a human to look at.
17 qualifiedA text goes straight to his phone with the name, the number, the town, and what is sinking. He just calls back.
15 deliveredA real message, word for word. The homeowner's name and number are blanked out here for their privacy.
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.
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.
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.
| Figure | Value | Source |
|---|---|---|
| Ad spend, Jul 22–30 | $418.07 | sp_ad_metrics_daily, sum(spend_cents)/100 |
| Non-test conversations | 38 | sp_client_leads, is_test = false |
| Qualified, non-test | 17 | qualification_state = 'qualified' |
| Cost per qualified lead | $24.59 | 418.07 / 17 |
| Distinct leads with a sent transfer | 15 | sp_client_lead_transfers, status = 'sent' |
| Cost per delivered lead | $27.87 | 418.07 / 15 |
| Alt cut: campaign 120247554600190714, Jul 25–30 | $357.26 / 13 = $27.48 | CL | Dallas | $100pd | 07.25.26 |
| Jobs won | 0 rows | sp_closed_jobs is empty — no job or revenue claim is made anywhere on this page |
| Per-lead status set | Leads | Read as |
|---|---|---|
| duplicate + sent | 8 | delivered, then a retry fired a second copy |
| sent | 5 | delivered clean, first try |
| failed + sent | 2 | failed once, then delivered |
| failed only | 5 | never delivered (2 qualified, 2 disqualified, 1 needs_review) |
| pending | 4 | all 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.
-- 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
phone_e164 value. Qualification fires on project type, before contact enrichment completes — so "qualified" on this page means project type confirmed, not phone guaranteed.