Everything happened between 12:00 and 16:00. Nothing was sent before noon and nothing since 16:00. Replies peak an hour after the biggest send, exactly as you would expect.
| Hour | Sent | Failed | Replies | Opt-outs | |
|---|---|---|---|---|---|
| 00:00 | 1 | 0 0.0% | 1 | 0 | |
| 06:00 | 0 | 0 | 1 | 0 | |
| 09:00 | 0 | 0 | 1 | 0 | |
| 10:00 | 0 | 0 | 1 | 0 | |
| 12:00 | 979 | 28 2.9% | 79 | 7 | |
| 13:00 | 1,096 | 38 3.5% | 80 | 17 | |
| 14:00 | 877 | 25 2.9% | 122 | 11 | |
| 15:00 | 573 | 10 1.7% | 85 | 3 | |
| 16:00 | 596 | 25 4.2% | 86 | 8 | |
| 17:00 | 7 | 0 0.0% | 29 | 5 | |
| 18:00 | 5 | 0 0.0% | 20 | 0 | |
| 19:00 | 1 | 0 0.0% | 13 | 4 | |
| 20:00 | 1 | 0 0.0% | 8 | 2 | |
| 21:00 | 1 | 0 0.0% | 6 | 0 | |
| 22:00 | 2 | 0 0.0% | 12 | 0 | |
| 23:00 | 1 | 0 0.0% | 3 | 0 |
The single biggest group today has no city tag at all — a direct consequence of the enrichment break on 21 Aug. Those leads still route correctly in the CRM (it reads the address itself), but you cannot tell which supplier originally paid for them.
| City | Texts | |
|---|---|---|
| (no city tag) FAULT | 841 20.3% | |
| new york | 731 17.7% | |
| dallas | 588 14.2% | |
| houston | 433 10.5% | |
| chicago | 428 10.3% | |
| florida | 395 9.5% | |
| boston | 322 7.8% | |
| nashville | 271 6.5% | |
| orlando | 131 3.2% |
Six scripts are in rotation. Two thirds of today’s volume is the opener and the first bump. The CMN script — the one that asks permission to ring them — went to just 75 people, and it is the only script with a zero failure rate.
| Script | Sent | Failed | |
|---|---|---|---|
| OPENER — still interested? “Hi {name}, USA Models here. We got your photo a little while back and think you have a good look. Are you still interested in becoming a model?” | 1,166 28.2% | 30 | |
| BUMP 1 — did my message come through? “Hi {name}, just checking my last message came through. Could you send a recent photo?” | 1,085 26.2% | 23 | |
| RE-ASK — send a recent photo “Hi {name}, You applied to model with us a little while ago and we would love to take another look. Could you send over a recent photo of yourself? We will get one of the team to review it...” | 724 17.5% | 26 | |
| BUMP 2 — did you get it? “Hey {name}, did you get my latest message? Let us know either way.” | 443 10.7% | 21 | |
| CMN — can we call you now? “Great, thanks {name}. Any chance you would be free for a quick chat now? Reply YES and I will get the team to call you.” | 75 1.8% | 0 | |
| MISSED CALL “Hi {name}, I saw that we just missed your call how can I help?” | 3 0.1% | 0 |
Opportunity created/updated entries and 1 DnD event, message types 28 and 25. Real texts sent = 4,140 (type 2). Counting the raw total also drags the apparent delivery rate down from 94.2% to 87.6%. Any report that does not filter on message type will overstate sends and understate delivery.Across the full day of 25 Aug, 547 real replies came in. The engine answered 150 of them.
| Reply type | Answered | Ignored | Total | Answered |
|---|---|---|---|---|
| Positive / photo | 114 | 97 | 211 | 54% |
| Negative (correctly ignored) | 0 | 40 | 40 | 0% |
| Other | 36 | 260 | 296 | 12% |
| ALL REPLIES | 150 | 397 | 547 | 27% |
Ignoring the negatives is correct. But of the people who said yes or sent a photo, it is a coin flip — 114 answered, 97 ignored.
| Reply came in | Still unanswered | |
|---|---|---|
| 06:00 | 1 | |
| 09:00 | 1 | |
| 12:00 | 21 | |
| 13:00 | 27 | |
| 14:00 | 17 | |
| 15:00 | 9 |
When it does answer, the routing is right. Every follow-up sent after a reply was the CMN script, from every starting point — so the logic is sound, it just fires on about half of what reaches it. One defect visible here: 24 people were sent CMN twice, while 78 others got nothing.
| They had been sent | Next message | n | |
|---|---|---|---|
| BUMP 1 | CMN | 34 | |
| RE-ASK | CMN | 25 | |
| CMN | CMN | 24 | SENT TWICE |
| OPENER | CMN | 14 | |
| BUMP 2 | CMN | 3 | |
| CMN | MISSED CALL | 1 | |
| BUMP 1 | MISSED CALL | 1 |
Two things stand out. RE-ASK is almost entirely the no-city group — 666 of its 724 sends (92%), and 80% of everything that group received; they got one opener between them, so the bare leads are on a separate script track from every real city. And Orlando received no openers at all — 97% of its sends were BUMP 1, a message saying “just checking my last message came through” to people who were never sent a first message today.
| Script | (no city) | new york | dallas | houston | chicago | florida | boston | nashville | orlando | Total |
|---|---|---|---|---|---|---|---|---|---|---|
| OPENER | 1 | 315 | 165 | 163 | 161 | 147 | 114 | 100 | 0 | 1,166 |
| BUMP 1 | 138 | 147 | 102 | 134 | 150 | 123 | 98 | 78 | 115 | 1,085 |
| RE-ASK | 666 | 1 | 54 | 0 | 1 | 1 | 0 | 0 | 1 | 724 |
| BUMP 2 | 0 | 107 | 157 | 52 | 25 | 35 | 27 | 40 | 0 | 443 |
| CMN | 29 | 7 | 8 | 3 | 10 | 4 | 10 | 1 | 3 | 75 |
| MISSED CALL | 0 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 |
| TOTAL | 834 | 579 | 486 | 352 | 347 | 310 | 250 | 219 | 119 | 4,140 |
834 of today’s texts (23.9%) went to leads with no city tag. I pulled 20 of them and checked every field: 0 of 20 carry a marketing code — the sle:source tag is simply absent, not wrong. So for roughly a quarter of today’s sends you cannot say which supplier originally paid for the lead.
But the CRM has every one of them. I walked 30 months of CRM lead history (Mar 2024 → Aug 2026) and matched all 20 by phone — 46 records for 20 people. The original code below is the earliest CRM record for that person, not the code the engine assigned later. So the attribution hole is only in GHL, and it is fully recoverable.
| Name | ORIGINAL code | First came in | Times re-entered | Codes since |
|---|---|---|---|---|
| Nigeria Mincey | #ORL11F | 03/30/2026 | 3 | #ORLCMN, #ORL6AB, #ORLN1N |
| Samantha Kratz | #NY12F | 04/26/2026 | 0 | |
| Deborah Moorman | #FLFB33F | 04/03/2026 | 1 | #FLFB33FR |
| Barbie Reyes | #HOULP2 | 04/08/2026 | 1 | #HOU3DE3F |
| Wanda García | #ORLP2 | 04/22/2026 | 3 | #ORLCMN x3 |
| Emilia Vergara | #FL4IG31F | 04/29/2026 | 1 | #FLCMN |
| Ashley Ninteman | #HOU4AB | 07/26/2024 | 2 | #HOU3DE2F, #HOUN1N |
| Sparkle Pullins | #CHI12F | 03/09/2026 | 2 | #CHILP2, #CHICMN |
| Autumn Hudson | #NAFB3 | 09/08/2024 | 2 | #NAFB32F, #NACMN |
| Shauntel Clark | #CHIIG22F | 04/01/2026 | 5 | #CHIIG22FR, #CHIN1N, #CHI6AB |
| Nicolas Fernandez | #DAL3DE | 04/21/2026 | 2 | #DALP2, #DALN1N |
| SANDRA GERALI-CRUZ | #CHIIG23F | 03/30/2026 | 1 | #CHISNAP |
| Jessica Carter | #CHIFB32F | 02/10/2026 | 2 | #CHI12F, #CHI6AB |
| Monique Francis | #HOU3DE2F | 03/30/2026 | 0 | |
| Kristy Patterson | #NALP2 | 04/16/2026 | 0 | |
| Emmanuel Weatto | #DAL3CX2M | 03/30/2026 | 0 | |
| Travionne Lancaster | #HOU3DE2M | 03/30/2026 | 0 | |
| Dona Maria Jamed | #HOU3DE1F | 03/30/2026 | 1 | #DAL3CX1F |
| Irma Huerya | #CHIIG23F | 03/30/2026 | 0 | |
| Paul Donnelly | #NY3CX2M | 03/30/2026 | 0 |
13 of the 20 have been through the CRM more than once — Shauntel Clark six times, Nigeria Mincey and Wanda García four each. The “codes since” column is the recycling trail: #ORL11F → #ORLCMN → #ORL6AB → #ORLN1N is one person re-entering under a new code each time. Two of them first came in back in 2024. Quoting the latest code as the source double-counts the same lead against whichever supplier happens to be last.
Mark said he had changed some things. Two sweeps 90 minutes apart show exactly what: the import feed came back on at 14:52 and a new path went live. The published workflows were not touched — both are unchanged since 17:28 UTC — so this was a data and intake change, not a logic change.
| Path | This morning | Now | Status |
|---|---|---|---|
sle:path:400k | 0 | 68 | NEW TODAY |
sle:path:cmn | 502 | 515 | +13 |
sle:path:repeat | 763 | 763 | unchanged |
sle:path:6ab | 0 | 0 | dead |
sle:path:nin | 0 | 0 | dead |
sle:path:photo | 0 | 0 | dead |
sle:path:400k and sle:start20day — and nothing else. No city, no source, no segment, no age-band, no message-path. The 21 August enrichment break is not fixed, so this batch arrives with the same attribution hole. None of them has been texted yet (zero conversations), which means the open question for tomorrow is: which script do they get when they fire, given they have no message-path?The engine is re-ingesting its own output. Five new source tags appeared between the sweeps. Three of them — chin1n, fln1n, orln1n — mean leads whose original code is an N1N code: leads this engine already pushed into the CRM as N1N are coming back in as fresh nurture leads. Boston, Dallas, Houston, Nashville and New York already did this; Chicago, Florida and Orlando just joined. Worth deciding whether that loop is deliberate.
sle:source:chin1n sle:source:fln1n sle:source:orln1n sle:source:dal3cx1fr sle:source:orl1fx
| Live movement in 90 minutes | 15:00 | 16:31 | Change |
|---|---|---|---|
| Contacts | 170,730 | 170,794 | +64 |
| Opted out | 20,551 | 20,634 | +83 |
| Conversations | 76,497 | 76,705 | +208 |
| Said yes | 502 | 515 | +13 |
| Measure | Yesterday | Today | Movement |
|---|---|---|---|
| Texts sent | 1,394 | 4,140 | up 163% |
| Delivered | 1,205 86.4% | 3,900 94.2% | holding |
| Replies | 169 | 547 | up 116% |
| Said yes | 66 | 68 | flat |
| Reached the CRM | 57 86.4% | 64 94.1% | better |
| Lost yes-sayers | 6 | 2 | fewer |
| Leads imported | 133 | 64 | stopped |
Thirteen yes-sayers are absent from the CRM, but five of those opted out (dnc + remove-requested) — withholding them is correct behaviour, not a fault. That leaves 8 genuine misses. Three of them explicitly asked to be called now. Note that 5 of the 8 should have gone to a 6AB code — yes-without-a-photo is the branch that leaks.
| When | Name | Phone | City | Should have landed | Urgency |
|---|---|---|---|---|---|
| TODAY | Yen-Ting Chen | +18329702906 | houston | #HOU6AB | |
| TODAY | Brian Johnson | +18178976625 | dallas | #DAL6AB | |
| yesterday | Tycell Rufus | +18034477212 | houston | #HOUCMN | ASKED FOR A CALL |
| yesterday | Alejandro Vasquez | +18326774560 | houston | #HOUCMN | ASKED FOR A CALL |
| yesterday | Brianna Knowles | +12819748654 | dallas | #DALCMN | ASKED FOR A CALL |
| yesterday | Isaiah Blackwell | +14057643141 | dallas | #DAL6AB | |
| yesterday | Danielle Tibben | +18138468435 | florida | #FL6AB | |
| yesterday | Jesse Cassim | +19549954922 | (none) | #??6AB |
Correctly withheld — these opted out, so the engine was right not to push them:
| When | Name | Phone | Verdict |
|---|---|---|---|
| today | Melissa Brown | +18636083282 | CORRECT |
| today | Kenzie Bayless | +18283013401 | CORRECT |
| yesterday | Viviana Lucio | +18477665918 | CORRECT |
| yesterday | Traci Williams | +15743375298 | CORRECT |
| yesterday | Greg | +19734795490 | CORRECT |
Every engaged lead in the last three days, scored against the rule {CITY}{FAMILY}. 174 leads. Mismatches are split by type rather than lumped, because they are not equally bad.
| Outcome | Leads | |
|---|---|---|
| Landed exactly right | 130 74.7% | |
| Correctly withheld (opted out) | 6 3.4% | |
| CRM ahead of the tag (coded CMN) | 15 8.6% | |
| Photo disagreement (6AB tag, N1N code) | 8 4.6% | |
| Never arrived | 8 4.6% | |
| Wrong city | 3 1.7% | |
| Pushed despite opting out | 3 1.7% | |
| CRM behind (asked for a call, not coded CMN) | 1 0.6% |
The 15 “CRM ahead” cases are leads coded CMN whose GHL tag still says N1N or 6AB — the tag lagging the CRM, not a misroute. I have not counted them as errors, but it does mean the GHL tags are not a reliable record of what actually happened.
| Type | When | Name | Phone | What happened |
|---|---|---|---|---|
| NEVER ARRIVED | 25 Aug | Brian Johnson | +18178976625 | should be #DAL6AB |
| NEVER ARRIVED | 25 Aug | Yen-Ting Chen | +18329702906 | should be #HOU6AB |
| NEVER ARRIVED | 24 Aug | Jesse Cassim | +19549954922 | should be #??6AB |
| NEVER ARRIVED | 24 Aug | Tycell Rufus | +18034477212 | should be #HOUCMN — asked for a call |
| NEVER ARRIVED | 24 Aug | Alejandro Vasquez | +18326774560 | should be #HOUCMN — asked for a call |
| NEVER ARRIVED | 24 Aug | Brianna Knowles | +12819748654 | should be #DALCMN — asked for a call |
| NEVER ARRIVED | 24 Aug | Danielle Tibben | +18138468435 | should be #FL6AB |
| NEVER ARRIVED | 24 Aug | Isaiah Blackwell | +14057643141 | should be #DAL6AB |
| OPT-OUT PUSHED | 25 Aug | Angela Nunez | +16469568735 | dnd=true, pushed anyway |
| OPT-OUT PUSHED | 25 Aug | Jan Zimerman | +13148059701 | dnd=true, pushed anyway |
| OPT-OUT PUSHED | 24 Aug | Maksim Belavus | +12036675484 | dnd=true, pushed anyway |
| PHOTO MISMATCH | 26 Aug | misty espinosa | tagged no-photo, coded #HOUN1N | |
| PHOTO MISMATCH | 25 Aug | Misti Cantu | tagged no-photo, coded #HOUN1N | |
| PHOTO MISMATCH | 25 Aug | Valerie Bowens | tagged no-photo, coded #BOSN1N | |
| PHOTO MISMATCH | 25 Aug | Hector Herrera | tagged no-photo, coded #NYN1N | |
| PHOTO MISMATCH | 25 Aug | David Amado | tagged no-photo, coded #HOUN1N | |
| PHOTO MISMATCH | 25 Aug | Sophie Riedemann | tagged no-photo, coded #CHIN1N | |
| PHOTO MISMATCH | 25 Aug | THYMMBERLIEE STEVENSON | tagged no-photo, coded #CHIN1N | |
| PHOTO MISMATCH | 25 Aug | John Batson | tagged no-photo, coded #FLN1N | |
| WRONG CITY | 25 Aug | Nayana Broc | GHL florida, coded #ORL6AB | |
| WRONG CITY | 24 Aug | Tamara Emery | GHL florida, coded #ORLN1N | |
| WRONG CITY | 24 Aug | Miyana Bailey | GHL houston, coded #DALN1N | |
| CRM BEHIND | 25 Aug | Kaseem Holtzclaw | asked for a call, coded #NY6AB |
The 8 photo disagreements are the telling ones. GHL has them tagged no-photo (6AB) but the CRM coded them N1N — so a photo was recognised at push time and the tag was never written. Same failure as the 329 unactioned photos. Two of the three “wrong city” cases are Florida → Orlando, which may well be legitimate since FL codes cover both; only Miyana Bailey (Houston → Dallas) is clearly wrong. And three people who had opted out were pushed into the CRM as callable leads — that is a compliance problem, not an efficiency one.
| # | Fault | Status | Evidence | Consequence |
|---|---|---|---|---|
| 1 | Half of all replies get no answer | LIVE NOW | Full day 25 Aug: 547 replies, 150 answered (27%). Of positive replies and photos: 114 answered, 97 ignored. Some replied Yes at 12:08 and were still unanswered when the day closed. | People who said yes are being left in silence. This is the same fault as the unactioned photos, seen from the other side. |
| 2 | Import feed was dead 4 days | JUST RESTARTED | 708 imported Fri 21st, 0 Sat/Sun, 133 Mon 24th, then nothing until 14:52 today when 61 arrived on the new 400k path. | Four days of empty intake while sending continued. Watch it holds tomorrow. |
| 3 | The 6AB branch drops leads | LIVE NOW | 5 of the 8 genuine misses should have gone to a 6AB code. Nine leads with identical state split 5 to 6AB and 4 to N1N. | Yes-without-photo is the least reliable path. |
| 4 | Photo replies not actioned | LIVE NOW | 478 leads sent a photo, only 149 tagged. Sampled 20 untagged: 26 of 26 carried a real image. | People did what was asked and were dropped. |
| 5 | Enrichment broke 21 Aug | ONGOING | 704 of 708 imported that day (99%) carry no city, source, segment, age-band or message-path. Today 834 of 3,496 texts (23.9%) went to leads with no city tag. | A quarter of leads have no supplier attribution. |
| 6 | Carrier rejection on the ramp | RECOVERED | 2,593 of 14,976 (17.3%) never landed. 18 Aug 43.0%, 20 Aug 29.6%, 21 Aug 26.1%. Today 2.9%. | Volume ramped past ~1,900/day on numbers with no history. |
| 7 | Failures are invisible | ONGOING | sle_automation_error exists as a field and is empty on every contact sampled. | This ran broken for days with no alarm. |
| 8 | Opportunities all land in Dallas | ONGOING | Every engaged lead creates a GHL opportunity in the Dallas pipeline regardless of city - about 60% wrong. | GHL-side only; CRM city coding is correct (90 of 92). |
| 9 | Everything classified adult | ONGOING | message-path:adult 7,415. young_adult, child_parent, teen_parent_approval all zero. | Kids and teen scripts are dead. |
Two dates matter. 13 Aug — bulk imports switch on, contact creation goes from about 5/day to 761/day. 21 Aug — the old estate is retired: 16 legacy workflows set to draft in one day, leaving three published (SLE - 120 Day Nurture v1, SLE - API 1 Pilot - Reply Router v1, Assign State). Everything before 13 Aug is the old manual world and is excluded. Weekends are quiet by design, so a Saturday or Sunday report reading zero is not itself a fault.
| Date | Day | Imported | Sent | Delivered | Failed | Replies | Positive | Opt-out |
|---|---|---|---|---|---|---|---|---|
| 2026-08-13 | Thu | 761 | 269 | 248 | 20 7.4% | 40 | 4 | 6 |
| 2026-08-14 | Fri | 809 | 587 | 548 | 34 5.8% | 84 | 12 | 8 |
| 2026-08-15 | Sat | 797 | 0 | 0 | 0 | 11 | 3 | 1 |
| 2026-08-16 | Sun | 733 | 1 | 1 | 0 0.0% | 5 | 2 | 0 |
| 2026-08-17 | Mon | 634 | 553 | 503 | 38 6.9% | 79 | 6 | 568 |
| 2026-08-18 | Tue | 781 | 542 | 302 | 233 43.0% | 42 | 4 | 6 |
| 2026-08-19 | Wed | 868 | 1,900 | 1,798 | 91 4.8% | 209 | 28 | 28 |
| 2026-08-20 | Thu | 961 | 3,348 | 2,286 | 992 29.6% | 320 | 39 | 30 |
| 2026-08-21 | Fri | 708 | 4,126 | 2,535 | 1,077 26.1% | 469 | 90 | 56 |
| 2026-08-22 | Sat | 0 | 65 | 25 | 0 0.0% | 43 | 10 | 0 |
| 2026-08-23 | Sun | 0 | 31 | 12 | 0 0.0% | 29 | 3 | 0 |
| 2026-08-24 FOCUS | Mon | 133 | 1,394 | 1,205 | 46 3.3% | 169 | 40 | 22 |
| 2026-08-25 FOCUS | Tue | 0 | 2,160 | 1,969 | 62 2.9% | 190 | 53 | 26 |
Basis note: this history table counts the sle:start20day cohort only (7,629 conversations pulled in full), so its 25 Aug row reads 2,160 where the Today section reads 3,496 — Today covers every conversation in the account, not just that cohort. Both are correct on their own basis; do not add them together.
17 Aug shows 568 "replies" that are DnD enabled by customer system events (message type 25), not texts — real inbound that day was 79. Any report counting raw inbound will be wrong by 8x on days like that.
USA Models API 1. On the recycled-code flow this account explains only 6.8% of CRM arrivals (136 of 2,007 over three days), so the other 22 accounts carry roughly 93% of the volume and are entirely unmeasured. Nothing here should be read as an estate-wide conclusion.1. Check the restarted import holds tomorrow, and ask Mark which script the 61 new 400k leads get when they have no message-path. 2. Push the 8 by hand, starting with the three who asked for a call: Tycell Rufus, Alejandro Vasquez, Brianna Knowles. 3. Get tokens for the other 22 accounts — 93% of the flow is invisible. 4. Fix the 6AB branch; it accounts for 5 of the 8 losses. 5. Fix enrichment so sle:source is written — 24% of leads have no supplier code. 6. Make sle_automation_error actually write, so the next break shows on day one. 7. Ask Mark to filter message type 25 out of the reply count.
Static findings page — a snapshot taken 25 Aug 2026, not a live pull. Sources: GHL API (contacts, conversations, 19,849 messages, tags, custom fields, workflows, pipelines) and CRM leads-in for 23–26 Aug 2026. The CRM pull ran on a stale form-ID cache, so a small number of "missing" leads could sit under a campaign the cache does not know about.