In partnership with

Your best-performing ad is lying to you.

Right now, the ad your team is celebrating for getting the cheapest clicks is secretly burning through your budget and bringing in zero actual buyers. I call this the 'Fake Winner' trap, and it happens in almost every single ad account I audit.

But last week, I built an automated, 3-part AI system that catches these fake winners instantly.

And today, I'm going to show you exactly how it works, and give it to you for free, so you never waste another dollar on bad traffic again.

Get it free, open-source, below (scroll to the bottom).

Sponsored

Turn AI into Your Income Engine

Ready to transform artificial intelligence from a buzzword into your personal revenue generator?

HubSpot’s groundbreaking guide "200+ AI-Powered Income Ideas" is your gateway to financial innovation in the digital age.

Inside you'll discover:

  • A curated collection of 200+ profitable opportunities spanning content creation, e-commerce, gaming, and emerging digital markets—each vetted for real-world potential

  • Step-by-step implementation guides designed for beginners, making AI accessible regardless of your technical background

  • Cutting-edge strategies aligned with current market trends, ensuring your ventures stay ahead of the curve

Download your guide today and unlock a future where artificial intelligence powers your success. Your next income stream is waiting.

The fake winner problem (and why dashboards make it worse)

Most teams don't have a data problem.

They have a fake winner problem.

Here's how it works. You open Ads Manager. You sort by CTR or cost per lead. You see a winner. You scale it. Your team feels productive. Everyone's happy.

Except nobody checked what happened after the click.

The ad with the best CTR often brings the worst buyers. The cheapest lead often books the fewest calls. The campaign report that looks great in-platform hides the weakest downstream outcomes.

I've been running paid media for clients for years. This pattern shows up in almost every account I audit:

Meta optimizes for Meta. Their reporting rewards engagement. Your business needs buyers.

And here's what makes it worse: most businesses don't have pristine attribution. No clean CRM. Broken UTMs. Calendly bookings in one system, ad spend in another, landing page data somewhere else.

So they look at what they can see (platform metrics) and make decisions. And those decisions are often exactly wrong.

I asked a founder I’m working with last month: "Which of your ad angles is producing the best customers?" Not clicks. ACTUAL paying customers.

Dead silence. They had a dozen dashboards open and couldn't answer the question.

What I built

Outcome Kit is a multi-agent system that reads your ad data, your landing page data, and whatever business outcome signal you actually have (leads, bookings, signups, purchases, revenue) and tells you four things every morning.

It's built for Cowork, the Claude Code multi-agent framework. Three agents coordinate the pipeline. Each one has a clear job and does NOT do the other agents' work.

Also works with OpenClaw and Hermes if that's your stack.

Let me walk you through the four outcome truths.

The Four Outcome Truths

Every run classifies your funnel into four buckets. This is the framework.

1. Real Winner

Strong upstream response AND strong downstream outcome quality. The ad angle that drives clicks and drives buyers. This is what you scale.

2. Fake Winner

Looks good in-platform. Weak on actual outcomes. High CTR, cheap leads, garbage conversion downstream. This is what you think is working. It's burning your budget.

3. Leak

The interest is real, but something after the click is breaking. Strong ad performance, weak page conversion. Message-page mismatch. The ad promised one thing, the landing page delivered something else. The fix isn't the ad. It's the page (or the follow-through).

4. Underfed Winner

Low volume, strong efficiency. The angle that's quietly outperforming everything else but only getting 9% of your budget. This is the one you're starving while you feed the fake winner.

That's the entire diagnosis model.

Why this works when most "attribution" tools don't

Most attribution tools assume a world that doesn't exist.

They want pristine UTMs. Perfect CRM hygiene. Fully connected revenue data. A data engineering team maintaining the pipes.

That's not reality for 95% of operators.

Outcome Kit assumes the real world:

The key: every recommendation comes with a confidence tag.

The agent doesn't fake certainty. It tells you how sure it is:

  • High confidence: "this angle is your strongest by cost per booked call, stable across 14 and 30 day windows". Act on this now

  • Medium confidence: "this creative family is probably bringing low-intent traffic, but sample is still small". Watch it, don't kill it yet

  • Low confidence: "revenue linkage is too weak to call this". Recommendation withheld

When's the last time your dashboard said "I don't have enough data to tell you"? Never. It just showed you a number and let you make a bad call. This agent stack would rather say nothing than say something wrong.

Why I stopped looking at “campaigns”

Here's the moment that changed how I think about this.

I was in a new ad account last quarter. They had 6 campaigns, 18 ad sets, 40+ ads. I asked their team a simple question: "Which message is actually producing buyers?"

Nobody could answer. Because the data was organized by campaigns, not by message. The same "competitive teardown" angle was scattered across three campaigns and two audiences. The "founder-led proof" message was split between a prospecting campaign and a retargeting campaign. There was no way to see what the angle was doing across the whole account.

That's the wrong cut.

"Ad 27" is not the strategic question. The strategic question is: is the competitive teardown message producing stronger buyers than the time-savings message?

Outcome Kit is built around angles. Not campaigns. Not ad sets. Message families.

When the agent says "the competitive teardown angle is your underfed winner," you know exactly what kind of creative to make more of. When it says "founder-led psychology ads are leaking on the generic SaaS page," you know the ad is fine and the page needs work.

That's how we get to "your best message is starving while your worst message eats your budget."

The 12 skills

Skill

What It Does

meta-source-reader

Pulls Meta campaign, ad set, and ad performance data

page-signal-reader

Reads landing page sessions, CVR, and engagement data

outcome-event-reader

Pulls leads, bookings, signups, purchases, or other outcome events

metadata-loader

Loads angle tags, creative tags, audience tags, and page mappings

angle-mapper

Groups ads, pages, and outcomes into message families

outcome-scorer

Builds blended scoring around your chosen outcome

fake-winner-detector

Finds assets that look good upstream but fail downstream

leak-diagnoser

Identifies whether the break is in the ad, page, or follow-through

opportunity-finder

Finds low-volume, high-quality angles worth scaling

decision-writer

Converts analysis into concrete operator moves

brief-sender

Delivers daily or weekly briefs to Telegram, Slack, or WhatsApp

pattern-memory

Stores recurring patterns and learns over time

Each skill runs standalone or as part of the full pipeline.

Three agents, one pipeline

This is the part that's different from every other kit I've given away.

Outcome Kit doesn't use a single agent running 12 skills sequentially. It uses three specialized agents that coordinate through shared artifacts. Each agent has explicit guardrails about what it owns and what it doesn't touch.

Agent 1: Data Reader. Runs Meta source reader, page signal reader, and outcome event reader. Validates that the raw data exists and isn't empty. Surfaces trust notes and quality warnings. Does NOT interpret strategy. Does NOT declare winners. Its only job is source truth.

Agent 2: Diagnostician. Maps angles, scores them against your primary outcome, and classifies everything into the Four Outcome Truths. This is the judgment layer. It decides what's real, what's fake, what's leaking, and what's underfed. Categories are mutually exclusive. It flags confidence concerns but does NOT write recommendations.

Agent 3: Brief Writer. Takes the diagnosis and turns it into concrete operator moves (scale, cut, rewrite, rebuild, test). Writes the daily brief. Persists patterns to memory so the system learns over time. The brief must be scannable in under 60 seconds.

They hand off through artifact files in workspace/outcomes/. Agent 1 writes raw data. Agent 2 reads it and writes scored diagnosis. Agent 3 reads that and writes the brief.

This matters because each agent stays in its lane. The data agent never jumps to conclusions. The diagnostician never softens its findings to make the brief sound nicer. The brief writer never reinterprets the data.

If you've ever used ChatGPT to "analyze my ads" and gotten a wall of hedge-everything mush, this is the fix. Separation of concerns. For AI agents.

The repo also ships with pipeline-order hooks (a shell script that blocks later agents from running on missing or invalid data) and confidence rules that actively suppress recommendations when evidence is too weak. The agents literally cannot skip steps or overclaim.

What this agent refuses to do

Here's what I put in the system's soul file. Literally the first lines:

"I do not worship CTR.
I do not confuse cheap leads with good outcomes.
I do not pretend broken tracking is clean."

Most dashboards and AI tools do all three of those things by default.

I built this kit to explicitly defend against the dumb stuff:

  • Declaring winners from CTR alone. The number one sin of paid media reporting.

  • Treating cheap leads as high-quality outcomes. A $5 lead that never books a call costs you infinity dollars per customer.

  • Hiding broken tracking instead of surfacing it. If the UTMs are garbage, the agent says so instead of pretending the data is clean.

  • Flattening different message angles into one blended average. Your "time-savings" angle and your "competitive teardown" angle are not the same thing. Averaging them together tells you nothing.

  • Reporting numbers without decisions. If the output doesn't end with "do this next," it's dashboard theater. And we've all sat through enough of that.

  • Overclaiming certainty when confidence is low. When the data isn't there, the agent withholds the recommendation entirely. It doesn't guess. Most tools guess and dress it up with a chart.

If you're already running my Meta Ads Kit

The Meta Ads Kit blew up when I dropped it. 634K views on X. Thousands of clones.

And it's great at what it does: pause bleeders, scale winners, shift budget, catch creative fatigue.

It's the operator layer. It watches what's running and acts on the platform signals.

But here's the gap: the Meta Ads Kit optimizes for platform metrics. It'll scale an ad with strong CTR and low CPA. That's its job.

The problem is that sometimes the ad with the best platform metrics is your worst performer downstream. The Meta Ads Kit would happily scale your fake winner because Meta says it's winning.

That's what Outcome Kit fixes.

Run both. The Meta Ads Kit handles the daily operations. Outcome Kit tells you whether those operations are pointed at the right things.

The Meta Ads Kit is the hands. Outcome Kit is the eyes.

And if you're using StealAds for creative generation, this closes the whole loop:

Before Outcome Kit, the creative loop had a blind spot. StealAds would generate more variations of whatever the Meta Ads Kit said was winning. But if that "winner" was a fake winner (high CTR, garbage buyers), you'd be generating more creative for the wrong angle. More ads that look good in Ads Manager and fail downstream.

Now the signal is clean. Outcome Kit identifies the real winner angles. StealAds generates creative for those. Meta Ads Kit runs them. Outcome Kit checks the results. The loop tightens every cycle.

If you want early access to StealAds: stealads.ai or reply to this email.

Getting started

Clone the repo, run the doctor check, configure your sources. Setup takes one afternoon.

What you need:

  • Meta Ads access token and ad account ID (your existing setup works)

  • GA4 property ID + service account JSON (for page signal data)

  • One outcome source: Calendly API token, HubSpot private app token, or a simple CSV/JSON file

  • Cowork, OpenClaw, or Hermes installed

The workflow:

Step 1: Clone and configure.

git clone https://github.com/TheMattBerman/outcome-kit.git
cd outcome-kit
cp .env.example .env
cp config.example.json config.json

Add your API keys and pick your primary outcome (bookings, signups, purchases, whatever matters to your business).

Step 2: Define your angles.

This is the most important 10 minutes. Map your message angles to creative families and landing pages. Start simple:

[
  {
    "angle": "time-savings",
    "audience": "heads-of-growth",
    "creative_family": "founder-direct",
    "page": "/time"
  },
  {
    "angle": "competitive-teardown",
    "audience": "founders",
    "creative_family": "ugc-analysis",
    "page": "/teardown"
  }
]

You can also add source enrichment rules so the system auto-tags outcomes from Calendly or HubSpot by matching naming patterns to angles.

Step 3: Run the doctor.

npm run doctor

This validates your config, checks your API connections, confirms your angle mapping, and tells you if anything is missing before you run the real thing.

Step 4: Run the sample pipeline.

npm run run:sample

See the output format with sample data before you connect your real accounts.

Step 5: Run for real.

npm run run

The repo ships with full CoWork support out of the box. That means CLAUDE.md, three agents in .claude/agents/, skills in .claude/skills/, rules, and hooks. If you're already using Claude Code or Cowork, the agents pick up the pipeline structure automatically.

You can also talk to it naturally: "Find fake winners in my Meta funnel." "Which angle is driving booked calls?" "Give me the daily outcome brief."

Works with OpenClaw and Hermes too.

Step 6: Set up a cron.

One cron job. The three agents coordinate the full pipeline. The brief lands in Telegram, Slack, or wherever you want it.

You start your day knowing what's real.

The cost

Every API this connects to has a free tier or is already something you're paying for. The three agents, the 12 skills, the pipeline, all open source. MIT license.

Who this is for

  • You're spending money on paid traffic and you're not sure which message angle actually produces buyers (not just clicks)

  • You run an agency managing multiple accounts and you need outcome-level truth, not platform-level vanity

  • You're a SaaS founder with demo bookings or signups as your core metric and you're tired of sorting by CPL

  • You have messy tracking, disconnected tools, and still need to make decisions anyway

  • You're an e-commerce brand that knows CTR and ROAS tell different stories depending on the creative

Not for you if you have a 5-person data team, pristine multi-touch attribution, and a Snowflake warehouse already doing this. You don't need this. You're the 5%.

Also not for you if you want one-click magic. You still need to define your angles, configure your outcome source, and read the brief. The agent does the analysis. You make the calls.

v1 limitations

V1 is Meta-first. Google Ads support is coming but isn't native yet. If Meta is your primary paid channel, you're good. If you're Google-only, wait for V2.

You need at least one outcome source. A Calendly token, a HubSpot connection, or even a CSV file of your bookings/purchases. If you have zero downstream data, the agent can't find fake winners because it has nothing to compare against.

Angle tagging is manual to start. You define the angle map. The system doesn't auto-discover your message strategy. That's actually a feature (forces you to think about it), but it's 10-15 minutes of work upfront.

Confidence scales with data. Week 1 with 30 conversions? You'll get medium-confidence reads. Week 4 with 200 conversions? High confidence. The system is honest about this and will withhold recommendations when the data isn't there. That's by design.

No automatic budget changes in V1. The agent recommends. You approve. Same philosophy as my Meta Ads kit. Start with visibility. Graduate to autonomy when you trust it.

Get the kit

Full system free on GitHub:

You get:

  • 3 specialized agents (data reader, diagnostician, brief writer) that coordinate through shared artifacts

  • 12 skills covering the full pipeline from data ingestion to daily brief

  • Full CoWork support out of the box (CLAUDE.md, .claude/agents/, skills, rules, hooks). Also works with OpenClaw and Hermes.

  • Angle-first analysis that cuts by message strategy, not campaign structure

  • Confidence-aware scoring that never fakes certainty

  • The Four Outcome Truths framework (real winner, fake winner, leak, underfed winner)

  • Pattern memory that compounds across runs

  • Doctor script that validates everything before you run

  • Setup docs, config templates, sample data, the works

No upsell. MIT license. Fork it.

Stop trusting vanity metrics. Start acting on what's actually producing outcomes.

Go big,
Matt

P.S. If you missed the last few OpenClaw kits, they're all still free: SEO Kit, Meta Ads Kit, First 1000 Customers, UGC Factory, ScrollClaw. This one plugs into the Meta Ads Kit if you're already running it. Same agent, new superpower.

If this newsletter lit a fire under you, forward it to one person who would benefit.

🎁 Get rewarded for sharing! My team grew NEW accounts to over 50 million views in just a few months. We made an AI viral hook generator so you can follow the same hook frameworks that we do.

Invite your friends to join, and when they sign up, you’ll unlock our AI Viral Hook Generator—the ultimate tool for creating scroll-stopping content.

{{rp_personalized_text}}

Copy and paste this link: {{rp_refer_url}}

Keep Reading