baseline_v2 โ€” Ad Qualifier ยท Day 9 โ— Early learning โ— Data live ยท 21:50:37
Next review: Tue Aug 25 Open report
Where things stand

Watch โ€” sample too small

Early learning ยท Early learning โ€” watching

Do not scale yet.
Too early to call, not enough leads yet.
No campaign leads yet.
Don't add budgetDon't scale this yetCreate stronger variation
Spend
$148.54
Total to date
Campaign leads from ads
0
From the Meta form
Cost per lead
โ€”
Target โ‰ค $80.00
Calls held
0
The number that matters
Days since last ad lead
0+
Stalled while delivery continues
Qualified / Potential
0 / 0
Look qualified
Lead quality

0 of 0 look qualified

Looks fine
Low buying
0
Unclear
0
Invalid
0
Qualified/Potential
0
What changed

We have enough signal to stop waiting.

Task filed
  • Content Agent has the strongest volume and the leads look qualified on the form.
  • Watch whether the next few leads actually book a call.
  • Market research feeds the next angle, see the Creative Brief tab.

Creative snapshot

๐Ÿ“ad #2 โ€” speed to lead
Watching

Too little volume to judge.

Spend $47.16 ยท 0 leads ยท CPL โ€” ยท CTR 1.43%

Performance

The numbers behind every ad, so the call is backed by data, not just a summary.

What the data is telling us

Too early to call, not enough leads yet.

Sample below action floor.

Days stalled
0+
since last attributed lead
Spend since last lead
$0
on attributed creatives
Impressions since
0
delivery during stall
Clicks since
0
link clicks during stall
CTR since last lead
0.00%
baseline 0.00%
Delivery active
No
active attributed ads
CreativeStatusSpendImpressionsClicksCTRCPCLeadsCPLAction
๐Ÿ“AD #2 โ€” Speed to Lead
LEADS
Watching $47.16 2,581 37 1.43% $1.27 โ€” โ€” Keep monitoring

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.

LeadSource adQ1 painQ2 helpQ3 spendQualityWhy
No attributed leads yet.

These 9 contacts are excluded from campaign performance.

They were added to GHL during the same date window but have no Meta-ad attribution.

ContactEmailDate addedSource categoryWhy excludedTags
amos s. aโ€ฆ@finnp.info 2026-08-24 Non-ad contact No Facebook submission / no source ad โ€”
anthony h. aโ€ฆ@reshapedigitalsolutions.com 2026-08-23 Non-ad contact No Facebook submission / no source ad audit:missing-phone, audit:source-normalized, source:unknown
eroglu z. eโ€ฆ@zekeriya.com 2026-08-23 Non-ad contact No Facebook submission / no source ad โ€”
dylan s. โ€” 2026-08-22 Non-ad contact No Facebook submission / no source ad โ€”
augusta โ€” 2026-08-22 Non-ad contact No Facebook submission / no source ad โ€”
michela m. โ€” 2026-08-21 Non-ad contact No Facebook submission / no source ad โ€”
dave โ€” 2026-08-19 Non-ad contact No Facebook submission / no source ad โ€”
chris r. โ€” 2026-08-18 Non-ad contact No Facebook submission / no source ad โ€”
(404) 3. โ€” 2026-08-17 Non-ad contact No Facebook submission / no source ad โ€”
Where the leads are
0/0 in the CRM

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. 0 campaign leads so far, 0 are in the CRM, all in the CRM.

Meta's dashboard shows 0 "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

No actions today.

Keep watching lead quality through the next review.

Creative Brief

This is the execution asset. It's copied into ClickUp and stays synced with the task.

Creative refresh brief โ€” task status

Ready for review

Owner: Katie / Creative
Due: 2026-08-26
ClickUp: pending

Why this is needed

Content Agent โ€” Static is getting volume (0 campaign leads) with 0 qualified / 0 potential. No new attributed leads for 0+ days while delivery continues. Revisit the angle once the setup is confirmed.

Current ad / problem

  • Ad: Content Agent โ€” Static
  • Campaign leads: 0
  • On the form they look fine: 0 qualified / 0 potential
  • Symptom: no new attributed leads for 0+ 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

On hold: the lever is the ad setup, not the creative. The leads state real budget but don't book, so re-aim for booked calls and a buyer lookalike before the next refresh.

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

  1. Beat 1 (0โ€“3s): hook โ€” name the cost of the current pain.
  2. Beat 2 (3โ€“10s): agitate โ€” explain why volume alone doesn't convert.
  3. Beat 3 (10โ€“25s): introduce the offer's MECHANISM (not features).
  4. Beat 4 (25โ€“28s): one proof / credibility marker.
  5. 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.

Market Intelligence

Not a research museum. This section shows what insight changed the current creative direction.

Competitor pattern (used in brief)

On hold: the lever is the ad setup, not the creative. The leads state real budget but don't book, so re-aim for booked calls and a buyer lookalike before the next refresh.

Crowded angle

White 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 this

Do 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.
Avoid

What feeds the current brief

InsightDecision (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
TitleWhatFor us
Missed calls are crowdedA 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 betterThe 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 workAlmost 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.

Task created

Owner notified

Waiting for production / launch

Launched new creative

Measuring

Result

Next run should check

  • Whether 'Fix ad setup: No lookalike or custom audience of past buyers is in use.' has launched (new ad with v2/refresh naming appears in Meta).

Report

Inline preview mirrors today's report. Open the full HTML report โ†’

Campaign report

Early learning โ€” watching

Executive summary

Verdict: Watch โ€” sample too small

Next move: Keep watching. Re-evaluate once attributed leads reach 5.

Do not do: Do not scale yet.

Campaign leads from ads
0
Low buying
0
Qualified / Potential
0/0
Days stalled
0+

Current action

Brief stronger variation of Content Agent โ€” Static โ€” target higher-intent buyers

Owner: Katie / Creative ยท Due: 2026-08-26 ยท ClickUp: not filed yet

Brief summary

Refresh Content Agent โ€” Static with a higher-intent buyer angle once the setup is confirmed.

Admin

Operator-only. Raw paths, configs, and debug logs live here, not in team-facing tabs.

Internal campaign identity

  • Internal id: baseline_v2
  • Team phase: Early learning ยท status EARLY_LEARNING
  • Local source: data/processed/2026-08-19_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_v2",
  "computed_at": "2026-08-24T13:50:37.678880+00:00",
  "status": "OK",
  "blocking_issues": [],
  "warnings": [],
  "auto_fixes_applied": [],
  "requires_human_review": [],
  "campaign_integrity": {
    "ads_scanned": 1,
    "unknown_ad_ids": [],
    "ad_names_off_pattern": [],
    "ad_statuses_seen": {
      "ACTIVE": 1
    },
    "explicit_ids_expected": [
      "120253169422390184"
    ]
  },
  "instant_form_integrity": {
    "expected_form_id": null,
    "expected_form_name": "reshape-ads-form 05/07/2026",
    "form_ids_seen": {},
    "attributed_leads": 0,
    "unclear_share": 0.0
  },
  "ghl_pipeline_integrity": {
    "expected_pipeline": null,
    "expected_stages": [],
    "seen_pipeline": "\u2705 ACTIVE \u2014 Sales (All Leads + Offers Out)",
    "seen_stages": []
  },
  "attribution_integrity": {
    "attributed_campaign_leads": 0,
    "meta_reported_conversions": 0,
    "non_ad_contact_count": 8,
    "possible_tracking_gap_count": 0,
    "meta_to_ghl_match_gap": {
      "meta_reported": 0,
      "ghl_attributed": 0,
      "gap": 0,
      "above_tolerance": false,
      "tolerance": 3,
      "interpretation": "Meta and GHL agree."
    },
    "reconciliation_clean": true
  },
  "surface_consistency": {
    "truth_attributed": 0,
    "diagnostic_attributed": 0
  }
}

Latest artifact freshness

{
  "ok": true,
  "campaign_id": "baseline_v2",
  "as_of": "2026-08-24T13:07:30.356123+00:00",
  "status": "CRIT",
  "paths": {
    "latest_agent_run": "exports/baseline_v2/agent_run.json",
    "latest_truth_input": "exports/baseline_v2/lead_quality.json",
    "latest_lifecycle": "exports/baseline_v2/campaign_lifecycle.json",
    "latest_action_delivery": "exports/baseline_v2/action_delivery.json",
    "latest_brief": "exports/baseline_v2/artifacts/content_agent_refresh_brief.json",
    "latest_source_integrity": "exports/baseline_v2/source_integrity_report.json",
    "latest_outcome_tracking": "exports/baseline_v2/outcome_tracking.json",
    "latest_dashboard": "reports/baseline_v2/dashboard.html",
    "latest_report": null
  },
  "mtimes": {
    "latest_agent_run": "2026-08-24T13:07:29.889042+00:00",
    "latest_truth_input": "2026-08-24T13:07:21.828932+00:00",
    "latest_lifecycle": "2026-08-24T13:07:29.841450+00:00",
    "latest_action_delivery": "2026-08-24T13:07:29.614755+00:00",
    "latest_brief": "2026-08-24T13:07:29.525076+00:00",
    "latest_source_integrity": "2026-08-24T13:07:21.955863+00:00",
    "latest_outcome_tracking": "2026-08-24T13:07:29.888334+00:00",
    "latest_dashboard": "2026-08-24T13:07:30.234177+00:00",
    "latest_report": null
  },
  "stale_artifacts": [],
  "missing_artifacts": [
    "latest_report"
  ],
  "latest_agent_run": "exports/baseline_v2/agent_run.json",
  "latest_report": null,
  "latest_dashboard": "reports/baseline_v2/dashboard.html",
  "latest_brief": "exports/baseline_v2/artifacts/content_agent_refresh_brief.json",
  "latest_action_delivery": "exports/baseline_v2/action_delivery.json"
}

Lifecycle (full)

{
  "ok": true,
  "internal_campaign_id": "baseline_v2",
  "computed_at": "2026-08-24T13:50:45.871932+00:00",
  "team_phase": "Early learning",
  "lifecycle_status": "EARLY_LEARNING",
  "phase_reason": "Sample below action floor (5 attributed leads).",
  "days_live": 9,
  "current_cycle": "Early learning",
  "recommended_next_cycle": "Watch only. Do not change creative or budget yet.",
  "exit_conditions": [
    "\u22655 attributed leads."
  ],
  "promotion_rules": [],
  "blocked_by": [],
  "next_review": "Tue Aug 25",
  "team_facing_label": "Early learning \u2014 watching"
}