The ads bring leads, but they're not converting.
Top of funnel is fine. The break is after the lead comes in.
Test a higher-intent funnel (deeper conversion event + qualifying step)
Filed in Alex / Strategy's ClickUp list, due 2026-06-09.
7 of 9 leads are low buying power
We have enough signal to stop waiting.
- Content Agent has the strongest volume, but isn't attracting enough serious buyers.
- The campaign should move from launch/testing into creative refresh mode.
- Market research feeds the next angle — see the Creative Brief tab.
Creative snapshot
Already paused — no action needed.
Small sample, but efficient early signal.
Too little volume to judge.
Most volume, weak quality. Refresh angle.
Performance
The numbers behind every ad, so the call is backed by data, not just a summary.
We are getting leads, but not the right buyers yet.
5/9 attributed leads are low buying power, 0 qualified, 0 potential.
| Creative | Status | Spend | Impressions | Clicks | CTR | CPC | Leads | CPL | Action |
|---|---|---|---|---|---|---|---|---|---|
| Reshape — Ops/Admin Agent — Video — OPS OPS |
Paused · no action | $3.45 | 16 | 0 | 0.00% | — | — | — | No action — ad is already paused |
| Reshape — Intake Agent — Video — LEADS LEADS |
Working | $15.30 | 106 | 5 | 4.72% | $3.06 | 2 | $7.65 | Keep running |
| Reshape — Follow-Up Agent — Static — LEADS LEADS |
Watching | $1.76 | 36 | 2 | 5.56% | $0.88 | — | — | Keep monitoring |
| Reshape — Content Agent — Static — CONTENT CONTENT |
Volume leader · hold scale | $520.93 | 6,833 | 112 | 1.64% | $4.65 | 17 | $30.64 | Review creative refresh brief |
Leads
All campaign leads, pulled straight from the Meta form (the source of truth), so the ones that never reached the CRM show up too, flagged not in CRM. Non-ad contacts are listed separately.
| Lead | Source ad | Q1 pain | Q2 help | Q3 spend | Quality | Why |
|---|---|---|---|---|---|---|
| Rebecca D. r…@gmail.com |
content agent static | my content is inconsistent - i post in spurts and it’s not building anything | a full system that fixes the whole flow | $2,500–$7,500/month | Qualified | Q2 full system + Q3 ≥$2,500/mo + Q1 clear pain + valid email |
| LifeJourneyandinspirationblog2 a…@msn.com |
content agent static | admin and tasks eat my week - i need help keeping things organized | not sure yet - i need help figuring it out | $0–$2,500/month | Low buying power | Q3 monthly spend = $0–$2,500/month |
| Amanda S. a…@gmail.com |
content agent static | not sure yet - just looking | not sure yet - i need help figuring it out | $0–$2,500/month | Low buying power | Q3 monthly spend = $0–$2,500/month |
| Ashley E. k…@gmail.com |
content agent static | my content is inconsistent - i post in spurts and it’s not building anything | not sure yet - i need help figuring it out | $0–$2,500/month | Low buying power | Q3 monthly spend = $0–$2,500/month |
| Free s…@gmail.com |
content agent static | leads slip through the cracks - my crm or follow-up doesn’t match how i sell | a full system that fixes the whole flow | $0–$2,500/month | Low buying power | Q3 monthly spend = $0–$2,500/month |
| Mētztli R. m…@me.com |
content agent static | my content is inconsistent - i post in spurts and it’s not building anything | a full system that fixes the whole flow | $0–$2,500/month | Low buying power | Q3 monthly spend = $0–$2,500/month |
| Dena T. d…@gmail.com |
content agent static | not sure yet - just looking | not sure yet - i need help figuring it out | $0–$2,500/month | Low buying power | Q3 monthly spend = $0–$2,500/month |
| Dan M. d…@gmail.com |
intake agent video | not sure yet - just looking | not sure yet - i need help figuring it out | $0–$2,500/month | Low buying power | Q3 monthly spend = $0–$2,500/month |
| 7996.........sr.......2 8. j…@gmail.comyy |
intake agent video | admin and tasks eat my week - i need help keeping things organized | one specific part fixed first | $0–$2,500/month | Invalid | invalid email — suspicious TLD '.comyy' (looks like a typo of '.com') |
These 56 contacts are excluded from campaign performance.
They were added to GHL during the same date window but have no Meta-ad attribution.
| Contact | Date added | Source category | Why excluded | Tags | |
|---|---|---|---|---|---|
| wilson i. | s…@bettercallwilson.com | 2026-06-03 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| reliable r. | i…@askreliableroofers.com | 2026-06-02 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| vk l. | v…@yahoo.com | 2026-06-02 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| marcus r. | i…@marcussebastianrenovations.com | 2026-06-02 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| slife | s…@sbcglobal.net | 2026-06-02 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| rpc r. | r…@rpcrestoration.com | 2026-06-02 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| hof p. | s…@hofroofingohio.com | 2026-06-01 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| cleveland l. | c…@gmail.com | 2026-06-01 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| construction l. | s…@constructionsolutionsoh.com | 2026-06-01 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| echols i. | o…@echolsheating.com | 2026-06-01 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| triguard s. | i…@triguardrestoration.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| sp r. | s…@gmail.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| timeline c. | o…@tlcremodels.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| xpert r. | i…@xpertrestoration.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| all l. | r…@yahoo.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| carey p. | c…@gmail.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| alexander l. | i…@alexandercontracting.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| budget c. | i…@budgetohio.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| caraballo | h…@caraballoheating.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| aaa d. | e…@advancedplumber.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_dm_email_sent |
| practical i. | j…@gmail.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| north l. | i…@northohioseweranddrain.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| northeast m. | a…@neplumbing.net | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| lakewood c. | i…@lakewoodfurnace.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| franciscus r. | c…@1866staydry.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| choice c. | s…@choiceaire.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| mason r. | a…@gmail.com | 2026-05-30 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| big r. | a…@bigbearremodeling.com | 2026-05-29 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| keselman g. | o…@keselmangroup.com | 2026-05-28 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, source_outbound_organic, outbound_email_fallback |
| travis d. | t…@gmail.com | 2026-05-28 | Non-ad contact | No Facebook submission / no source ad | content_agent, meta_lead_form, legacy_instant_form |
| dennis l. | l…@gmail.com | 2026-05-28 | Non-ad contact | No Facebook submission / no source ad | content_agent, meta_lead_form, legacy_instant_form |
| shve s. | s…@gmail.com | 2026-05-28 | Non-ad contact | No Facebook submission / no source ad | content_agent, meta_lead_form, legacy_instant_form |
| kristy t. | k…@gmail.com | 2026-05-28 | Non-ad contact | No Facebook submission / no source ad | content_agent, meta_lead_form, legacy_instant_form |
| rahila b. | b…@gmail.com | 2026-05-28 | Non-ad contact | No Facebook submission / no source ad | content_agent, meta_lead_form, legacy_instant_form |
| higgs r. | r…@gmail.com | 2026-05-28 | Non-ad contact | No Facebook submission / no source ad | content_agent, meta_lead_form, legacy_instant_form |
| antonio t. | j…@gmail.com | 2026-05-28 | Non-ad contact | No Facebook submission / no source ad | content_agent, meta_lead_form, legacy_instant_form |
| keith c. | k…@gmail.com | 2026-05-28 | Non-ad contact | No Facebook submission / no source ad | content_agent, meta_lead_form, legacy_instant_form |
| killeen p. | k…@gmail.com | 2026-05-27 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, outbound_form_submitted, source_outbound_organic |
| broadview c. | — | 2026-05-27 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, outbound_form_submitted, source_outbound_organic |
| tamer c. | — | 2026-05-27 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, outbound_form_submitted, source_outbound_organic |
| mayes p. | — | 2026-05-27 | Non-ad contact | No Facebook submission / no source ad | outbound-v1, outbound_form_submitted, source_outbound_organic |
| mike s. | m…@tlmh.agency | 2026-05-26 | Non-ad contact | No Facebook submission / no source ad | — |
| ty d. | d…@google.com | 2026-05-25 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:unknown |
| tyler b. | t…@tylerbrummett.com | 2026-05-22 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:cold-list |
| alice c. | a…@gmail.com | 2026-05-22 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:cold-list |
| mike g. | m…@one10media.com | 2026-05-22 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:cold-list |
| bryce p. | g…@3dvirtuallythere.com | 2026-05-22 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:cold-list |
| ryan p. | r…@parkviewhomes.com | 2026-05-22 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:cold-list |
| aaron c. | i…@aaronchapman.com | 2026-05-22 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:cold-list |
| patrick m. | p…@patrickmenefee.com | 2026-05-22 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:cold-list |
| branden w. | b…@warchitectural.com | 2026-05-22 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:cold-list |
| brandon v. | b…@bestlifeandco.com | 2026-05-22 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:cold-list |
| brook k. | b…@kaineinvestments.com | 2026-05-22 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:referral-partner |
| craig m. | — | 2026-05-22 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:unknown |
| ryan s. | r…@grayscale-capital.com | 2026-05-19 | Non-ad contact | No Facebook submission / no source ad | organic outreach, audit:source-normalized, source:unknown |
| todd l. | t…@revolutionmortgage.com | 2026-05-19 | Non-ad contact | No Facebook submission / no source ad | audit:missing-phone, audit:source-normalized, source:unknown |
We pull the real leads straight from the Meta form (the source of truth), so the count is accurate even when a lead never reached the CRM. 9 campaign leads so far, 9 are in the CRM, all captured.
Meta's dashboard shows 19 "conversions", but that counts form opens and repeat events, not unique people.
All contacts view
Available for audit; not the default campaign-performance view. Includes both attributed and non-ad contacts.
Actions
Real tasks only. Each has an owner, due date, and a destination.
Test a higher-intent funnel (deeper conversion event + qualifying step)
Decide: commit to refresh or wind down the campaign
Refreshes aren't moving the needle — step back
Creative Brief
This is the execution asset. It's copied into ClickUp and stays synced with the task.
Ready for review
Owner: Katie / Creative
Due: 2026-06-09
ClickUp: filed
Why this is needed
Content Agent — Static is getting volume (9 attributed leads), but 7/9 are low buying power and 1 qualified / 0 potential. No new attributed leads have come in for 5+ days while delivery continues. The current creative is attracting content-interest leads rather than serious buyers.
Current ad / problem
- Ad: Content Agent — Static
- Attributed leads: 9
- Quality: 1 qualified / 0 potential / 7 low buying power
- Symptom: lead-quality skew (Q3 budget bracket low) and no new attributed leads for 5+ days while delivery continues.
Target buyer problem
You're getting content out, but it isn't turning into serious inquiries. You need more than another post-a-day — you need leads who are ready to invest in a real content engine.
Market insight used
Use the higher-intent buyer angle for the next refresh — Content Agent is attracting content-interest leads, not serious inquiries.
What competitors are doing
- Use the lost-lead pain, but don't copy the AI receptionist framing.
- Plan niche variants for v2 once the current cycle shows which bucket converts best. Real estate and home services first.
- Our 4 video + 4 graphic split matches the market norm. Don't change the format mix — iterate on angles.
- Hold the email-first / no-call path in the current cycle. It's our edge.
What not to copy
- Don't call it an AI receptionist if that makes us blend in.
- Don't invent numbers.
- Don't copy competitor leaderboard ads.
- Don't force a demo call too early.
- Don't use generic AI hype.
Suggested angle
Pain-led, qualified-inbound framing. Name the gap between 'we post a lot' and 'we book real calls.' Avoid the generic AI-receptionist saturation.
Hook direction
First 3 seconds: name the cost of the current pain — 'You're posting daily but not booking calls.' Lead with the specific outcome the qualified buyer wants.
Format
Short talking-head video (20–30s) OR simple screen-recording walkthrough showing the difference between content output and qualified pipeline. Pick whichever the producer can ship in 5–7 days.
Script outline
- Beat 1 (0–3s): hook — name the cost of the current pain.
- Beat 2 (3–10s): agitate — explain why volume alone doesn't convert.
- Beat 3 (10–25s): introduce the offer's MECHANISM (not features).
- Beat 4 (25–28s): one proof / credibility marker.
- Beat 5 (28–30s): single CTA — same form for now.
CTA
Same lead form as current creatives (no offer change in V1).
Assets needed
- 1× on-camera talent (founder or strategist) OR screen-recording of a real engagement dashboard
- Lower-thirds template (brand-matched)
- 1× proof asset (case-study quote, screenshot, or stat callout)
- Captions burned in (mobile sound-off-friendly)
Success metric
- Primary: keep CPL within $80 on first 10 attributed leads
- Secondary: ≥40% qualified+potential share of first 10 attributed leads
Acceptance criteria
- New variant launched as a NEW ad inside the existing ad set (not a replacement).
- Current Content Agent — Static stays paused, not deleted (audit trail).
- First 7-day metrics reviewed against the success metric above.
- If first 10 attributed leads show ≥40% qualified+potential, lock the variant in; otherwise iterate.
Launch notes
- Keep the existing form — no offer change in V1.
- Use a NEW ad inside the same ad set; do not edit the current ad.
- Pause the current Content Agent — Static immediately after launch.
Measurement plan
Baseline window: Last 16 days of Content Agent — Static
Measurement window: First 7 days after new variant launches.
Decision rule: Lock in if qualified+potential ≥ 40% of first 10 attributed leads AND CPL ≤ target. Iterate otherwise.
Research-backed direction
Source: Manus packet d4df539598b0 · validated 2026-05-25 · synthesis confidence medium
White-space angle: Production-Grade AI Systems Beat One-Off Automations
Verified directives
- Production-Grade AI Systems Beat One-Off Automations
- Ship in Weeks, Not Quarters — Speed-to-Production Differentiator
- Short-Form Video as System, Not Deliverable
- Content Ops Failures Become SEO Failures — Root Cause Positioning
- Automate Content Repurposing & Distribution for Every Brand You Manage
- Organic Social Done Well is Trust-Building Infrastructure
- Poor Client Inputs Drive Revision Cycles — Solve Intake Problem
- Content Diversity Without Differentiation — Workflow Specialization
- Decentralized Publishing Fractures Brand Voice — Centralized Governance
Claims to avoid
- Content Agent Replaces Your Content Team
- 100% Hands-Free Content Production
- Works for All Content Types and Industries
- Guarantees Higher-Quality Content Than Your Current Process
Market Intelligence
Not a research museum. This section shows what insight changed the current creative direction.
Competitor pattern (used in brief)
Use the higher-intent buyer angle for the next refresh — Content Agent is attracting content-interest leads, not serious inquiries.
Crowded angleWhite space (what we're testing)
Pain-led, qualified-inbound framing. Name the gap between 'we post a lot' and 'we book real calls.' Avoid the generic AI-receptionist saturation.
Use thisDo not copy
- Don't call it an AI receptionist if that makes us blend in.
- Don't invent numbers.
- Don't copy competitor leaderboard ads.
- Don't force a demo call too early.
What feeds the current brief
| Insight | Decision (used in brief) |
|---|---|
| Use the lost-lead pain, but don't copy the AI receptionist framing. | Routed into creative angle. |
| Plan niche variants for v2 once the current cycle shows which bucket converts best. Real estate and home services first. | Routed into creative angle. |
| Our 4 video + 4 graphic split matches the market norm. Don't change the format mix — iterate on angles. | Routed into creative angle. |
| Hold the email-first / no-call path in the current cycle. It's our edge. | Routed into creative angle. |
Research backup (collapsed)
5 competitor findings on file (raw research) · click to expand
| Title | What | For us |
|---|---|---|
| Missed calls are crowded | A lot of competitors are telling businesses they lose money when calls or leads are not followed up quickly. | Use the lost-lead pain, but don't copy the AI receptionist framing. |
| Niche-specific copy converts better | The same offer runs with different copy for electricians, contractors, clinics, law firms. Specific niches beat generic small-business copy. | Plan niche variants for v2 once the current cycle shows which bucket converts best. Real estate and home services first. |
| Founder videos and dashboard graphics are the two formats that work | Almost every credible ad is either a founder talking head with bold numbers, or a clean dashboard / process mockup. | Our 4 video + 4 graphic split matches the market norm. Don't change the format mix — iterate on angles. |
| Most competitors force a demo call. We don't. | 11 of 13 competitor ads push a sales call as the main CTA. Only two let people self-serve straight from the ad. | Hold the email-first / no-call path in the current cycle. It's our edge. |
| Real numbers earn trust. Vague claims don't. | Every credible ad uses verifiable numbers ($45/mo, 70%+, 60 sec). Generic 'transform your business' copy doesn't land. | Use real numbers only when we have proof. Build a proof-based variant once the current cycle has CPL / lead data. |
Outcomes
Prevents the agent from re-creating the same task. Tracks whether the work was done and whether it worked.
Filed task
Owner: Alex / Strategy · ClickUp: 86d383j1k
Task created
Owner notified
Waiting for production / launch
Launched new creative
Measuring
Result
Next run should check
- Whether 'Review stronger Content Agent variation' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Review stronger Content Agent variation' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Review stronger Content Agent variation' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Review stronger Content Agent variation' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Review stronger Content Agent variation' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Review stronger Content Agent variation' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Investigate Meta → GHL attribution tracking' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Investigate source drift' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Investigate Meta → GHL tracking handoff' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Investigate Meta → GHL attribution tracking' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Investigate source drift' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Investigate Meta → GHL tracking handoff' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Decide: commit to refresh or wind down the campaign' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Decide: commit to refresh or wind down the campaign' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Decide: commit to refresh or wind down the campaign' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Fix ad setup: Ad set is optimizing for `LEAD_GENERATION` (cheapest form-fills).' has launched (new ad with v2/refresh naming appears in Meta).
- Whether 'Fix the Meta form to GHL mapping (buyers not being captured)' moves to IN_PRODUCTION (≥1 day since filing).
- Whether 'Test a higher-intent funnel (deeper conversion event + qualifying step)' moves to IN_PRODUCTION (≥1 day since filing).
- Whether 'Refreshes aren't moving the needle — step back' moves to IN_PRODUCTION (≥1 day since filing).
- Whether 'Test a higher-intent funnel (deeper conversion event + qualifying step)' moves to IN_PRODUCTION (≥1 day since filing).
- Whether 'Test a higher-intent funnel (deeper conversion event + qualifying step)' moves to IN_PRODUCTION (≥1 day since filing).
- Whether 'Decide: commit to refresh or wind down the campaign' moves to IN_PRODUCTION (≥1 day since filing).
Report
Inline preview mirrors today's report. Open the full HTML report →
Campaign report
Creative refresh in progress — hold scale
Executive summary
Verdict: The ads bring leads, but they aren't converting. 6 are stuck at "Awaiting reply" and 0 have booked a call.
Next move: The setup is built to buy the cheapest leads, not buyers: it optimizes for form-fills, uses no lookalike of past buyers, and targets cold interests. So Meta delivers exactly that, people who tap a form but don't reply. Re-aim it: optimize for a booked call or qualified conversion, build a lookalike of your won clients, and tighten the targeting.
Do not do: Don't scale budget. More cheap leads won't book.
Current action
Test a higher-intent funnel (deeper conversion event + qualifying step)
Owner: Alex / Strategy · Due: 2026-06-09 · ClickUp: 86d383j1k
Brief summary
Refresh Content Agent — Static with a higher-intent buyer angle. Goal: attract qualified pipeline, not more content-interest leads.
Admin
Operator-only. Raw paths, configs, and debug logs live here, not in team-facing tabs.
Internal campaign identity
- Internal id:
baseline_v1 - Team phase: Optimization · Creative refresh in progress · status
CREATIVE_REFRESH_IN_PROGRESS - Local source:
data/processed/2026-06-04_reshape_30d_classified.json - Runbook:
reports/baseline_v1/COMMAND_CENTER.md
Refresh + deploy command
python3 -m src.refresh_command_center --campaign baseline_v1 --fetch --deploy
Add --slack to also deliver DMs + team-channel summary.
Source integrity (full)
{
"ok": true,
"campaign_id": "baseline_v1",
"computed_at": "2026-06-05T06:07:07.850096+00:00",
"status": "WARN",
"blocking_issues": [],
"warnings": [
{
"section": "instant_form_integrity",
"detail": "3/9 attributed leads resolved UNCLEAR \u2014 likely Q-field drift in the Instant Form (review canonical resolver overrides)."
}
],
"auto_fixes_applied": [],
"requires_human_review": [],
"campaign_integrity": {
"ads_scanned": 4,
"unknown_ad_ids": [],
"ad_names_off_pattern": [],
"ad_statuses_seen": {
"PAUSED": 1,
"ACTIVE": 3
},
"explicit_ids_expected": []
},
"instant_form_integrity": {
"expected_form_id": null,
"expected_form_name": "reshape-ads-form 05/07/2026",
"form_ids_seen": {},
"attributed_leads": 9,
"unclear_share": 0.333,
"mismatch": "3/9 attributed leads resolved UNCLEAR \u2014 likely Q-field drift in the Instant Form (review canonical resolver overrides)."
},
"ghl_pipeline_integrity": {
"expected_pipeline": null,
"expected_stages": [],
"seen_pipeline": null,
"seen_stages": []
},
"attribution_integrity": {
"attributed_campaign_leads": 9,
"meta_reported_conversions": 19,
"non_ad_contact_count": 45,
"possible_tracking_gap_count": 8,
"meta_to_ghl_match_gap": {
"meta_reported": 19,
"ghl_attributed": 9,
"gap": 10,
"above_tolerance": true,
"tolerance": 3,
"interpretation": "Meta ahead by 10 \u2014 above tolerance. Check that every ad has utm_content set and that the GHL form integration is firing for every Meta lead."
},
"reconciliation_clean": true,
"note": "The aggregate counter shows a Meta-to-GHL gap, but the lead-level Meta reconciliation matched all 19 campaign leads, so there's no tracking problem."
},
"surface_consistency": {
"truth_attributed": 9,
"diagnostic_attributed": 9
}
}Latest artifact freshness
{
"ok": true,
"campaign_id": "baseline_v1",
"as_of": "2026-06-05T05:54:53.234427+00:00",
"status": "OK",
"paths": {
"latest_agent_run": "exports/baseline_v1/agent_run.json",
"latest_truth_input": "exports/baseline_v1/lead_quality.json",
"latest_lifecycle": "exports/baseline_v1/campaign_lifecycle.json",
"latest_action_delivery": "exports/baseline_v1/action_delivery.json",
"latest_brief": "exports/baseline_v1/artifacts/content_agent_refresh_brief.json",
"latest_source_integrity": "exports/baseline_v1/source_integrity_report.json",
"latest_outcome_tracking": "exports/baseline_v1/outcome_tracking.json",
"latest_dashboard": "reports/baseline_v1/dashboard.html",
"latest_report": "reports/baseline_v1/2026-06-05_report.html"
},
"mtimes": {
"latest_agent_run": "2026-06-05T05:54:52.974203+00:00",
"latest_truth_input": "2026-06-05T05:54:21.899912+00:00",
"latest_lifecycle": "2026-06-05T05:54:52.944975+00:00",
"latest_action_delivery": "2026-06-05T05:54:52.832066+00:00",
"latest_brief": "2026-06-05T05:54:50.956879+00:00",
"latest_source_integrity": "2026-06-05T05:54:21.987338+00:00",
"latest_outcome_tracking": "2026-06-05T05:54:52.973680+00:00",
"latest_dashboard": "2026-06-05T05:54:53.175544+00:00",
"latest_report": "2026-06-05T05:54:53.063110+00:00"
},
"stale_artifacts": [],
"missing_artifacts": [],
"latest_agent_run": "exports/baseline_v1/agent_run.json",
"latest_report": "reports/baseline_v1/2026-06-05_report.html",
"latest_dashboard": "reports/baseline_v1/dashboard.html",
"latest_brief": "exports/baseline_v1/artifacts/content_agent_refresh_brief.json",
"latest_action_delivery": "exports/baseline_v1/action_delivery.json"
}Lifecycle (full)
{
"ok": true,
"internal_campaign_id": "baseline_v1",
"computed_at": "2026-06-05T06:08:14.856945+00:00",
"team_phase": "Optimization \u00b7 Creative refresh in progress",
"lifecycle_status": "CREATIVE_REFRESH_IN_PROGRESS",
"phase_reason": "Creative refresh task is filed; new variation is not yet live.",
"days_live": 28,
"current_cycle": "Content Agent refresh cycle",
"recommended_next_cycle": "Wait for the new creative to launch; then move to measurement.",
"exit_conditions": [
"A v2/refresh ad becomes ACTIVE in Meta."
],
"promotion_rules": [
"Lifecycle moves to MEASURING_REFRESH on launch."
],
"blocked_by": [],
"next_review": "Sat Jun 6",
"team_facing_label": "Creative refresh in progress \u2014 hold scale"
}