How to Build a Distribution Machine That Turns Signals Into Revenue

@itsalexvacca
Alex Vacca@itsalexvacca
2 views Aug 18, 2026 ~10 min read
Advertisement

Distribution decides who wins now. We've run outbound for 400+ B2B companies and sent 23M+ cold emails doing it, and across that many the best product almost never wins. The company that reaches the right account on the day they're ready does.

Media image

Most teams treat that as a shopping problem. Buy a sequencer, buy a database, bolt on an AI SDR when the numbers sag. It stays flat, because distribution behaves like a machine rather than a stack. Seven parts, each one feeding the next, and any part that runs before the part it depends on gets fed garbage.

Here's what the difference is worth.

A thousand cold emails used to return 20 replies, 5 calls and 1 deal for us. The same thousand now returns 30 to 50 qualified leads, 10+ calls and 3 deals, at identical volume, out of the same inboxes.

  • Signal
  • List on demand
  • Score and tier
  • Channel routing
  • Content
  • Outbound
  • Feedback loop
  • An account enters at the first as a signal and leaves the last as revenue. Most teams own three or four of them, and the pipeline stalls somewhere in the middle where nobody can point to the cause.

    If you're buying for any layer, the only test is whether the thing can take the action you already take by hand.

    Media image

    1. Signal

    What you build: a feed that pushes an event at you when an account moves, and a field that records why.

    Most intent tools make you go look. You want the opposite: the account arrives on your desk with a reason attached. Four things qualify as a move worth acting on.

  • A funding round
  • A new leader in the buyer's seat
  • A hiring spike in the function you sell to
  • A tech-stack change
  • RB2B deanonymizes the people already on your site. PredictLeads covers the hiring and funding events. Your content platform covers engagement. All of it lands in one Clay table.

    The rule that matters: signal is not fit, and you score them separately.

    Fit is stock. It's what's true about the account today, and it barely moves. Signal is flow, what changed in the last few weeks. An account that employs three SDRs is a fit data point. An account that posted four SDR roles this month is a signal. Score those in one column and you count the same fact twice, which is how teams end up with a list that looks qualified and replies like a cold one.

    Fit plus signal outperforms fit alone by roughly two to one for us. We track 54 signals. They pull 5 to 11% reply rates. The same names pulled cold off a title filter sit under 2%.

    What breaks it: a saved filter as your starting point. "Head of Sales, New York, 11 to 50 employees" is the exact query every agency in your category is running this morning, and that person stopped picking up a long time ago.


    2. List on demand

    What you build: an enrichment run that goes raw account in, contactable person out, with no CSV in the middle.

    When a signal fires, you enrich that one account on the spot. Website copy, the LinkedIn profile, open job posts. Target 8 to 12 data points before anyone writes a line.

    That range is deliberate.

    Below it you end up writing "I saw you're hiring," which four other senders also wrote that morning. Above it you're paying for enrichment that never reaches the message.

    For contact data, run a waterfall instead of a single provider. Three finders in sequence, each catching what the last missed. Coverage stays high and you stop overpaying one vendor for a hit rate they don't have.

    The rule that matters: the list gets built at the moment the signal fires.

    What breaks it: buying coverage up front. We had a client paying $50,000 a year for ZoomInfo and nobody on their team had ever logged in. Twelve months bought in advance, in case the right account happened to be in there. Pull the same records at the source, per account, and you also stop rebuilding your ICP every quarter, because nothing is sitting there going stale between campaigns.


    3. Score and tier

    This is the layer nobody finishes, and it's the one that decides where every hour goes.

    What you build: six factors, each scored 1 to 3, weighted to sum to 1.00. Every account lands between 1.00 and 3.00.

  • Product-market fit, 30%. Scored off your own closed-won list.
  • Outbound readiness, 25%. Their hiring, their tech stack, their LinkedIn.
  • How clearly they sell, 15%. Read their homepage.
  • Deal size, 15%. Headcount and funding, against your own ACV.
  • Reachability, 10%. Whatever your contact waterfall returns.
  • Sector fit, 5%. Your own customer list.
  • The rule that matters: every factor has to be scoreable before anyone talks to you.

    That rule is what killed our first version.

    We had "outbound readiness" as a question a rep asked on a call, and "multi-channel willingness" alongside it. Both were real, and both were useless on a cold list, because you only learn them once someone picks up. Readiness got re-anchored onto evidence you can see from outside: their hiring, their stack, their own LinkedIn. Willingness got swapped for reachability, which the waterfall answers in seconds.

    Then two cut lines split the output. Above 2.5 is Tier 1, below 1.5 is Tier 3, everything between is Tier 2. Ours puts Tier 1 between 20 and 200 people. That came out of running the model against our own closed-won, so yours will land somewhere else.

    Note the weighting. The top two factors carry 55% between them, and employee count and industry sit at the bottom, so a company can look ideal on the surface and still come out Tier 3 once the factors that predict a close get counted.

    What breaks it: finishing the model and then not acting on it. The honest output says most of your list deserves almost nothing from you, and that's the part teams argue with. The alternative costs more than it looks.

    Cold calling books one meeting per 37 dials at $650 to $1,180 each, a 2.7% success rate across 200K calls analyzed (Cognism). A rep doing 50 to 100 dials a day is buying about one meeting with their entire day. We replaced flat dialing with signal-based tiering and pulled 5x the meetings off a smaller list, and the accounts clearing the top bar close at 28% with average contract past EUR150K.


    4. Channel routing

    What you build: a table that maps tier to channel, applied before anyone opens an inbox.

  • Tier 1: a human and LinkedIn. Automation never touches these accounts.
  • Tier 2: email with the signal in the opener, LinkedIn behind it.
  • Tier 3: email only, light touch.
  • The rule that matters: a signal moves an account one tier, never two.

    A Tier 3 account with a fresh funding round becomes Tier 2 for that window. It does not jump to full treatment, because nothing about its fit changed. The fit score stays exactly where it was. Skip this rule and Tier 1 quietly fills with accounts that were interesting once.

    The return trip matters just as much.

    An account that graduated on a signal and didn't convert drops back to its fit tier on the next run. Without that, your best queue is full of stale promotions inside two months.

    Tier 1 also gets patience. Those accounts take 7 touches to land, sometimes 13, spread across channels. Most sequences quit at 3.

    What breaks it: running every account through every channel because it feels like coverage. The expensive names go first. A Tier 1 account that receives the same automation as 5,000 strangers is finished, and you don't get a second introduction. One intent signal and a 73-second personalized Loom is what opened a Fortune 500 subsidiary at EUR200K+ a year.

    Media image

    5. Content

    What you build: a publishing operation whose engagement writes back into the signal table from layer 1.

    Everything above still assumes the buyer has never heard of you. Content is what fixes that, and it's the layer most outbound teams don't own at all.

    Publish so the name is familiar before outbound fires. Then route everyone who engages back into layer 1 as a signal, which is the return path that makes this a loop instead of a funnel. Mai-Lan rebuilt our content operation to run from a single terminal: 24 people posting, 581 posts in 87 days, all of it writing into the same table outbound reads from.

    The rule that matters: engagement is a signal, so it gets scored like one and it decays like one.

    What breaks it: running content and outbound as two departments. Content builds an audience nobody sells to, outbound spends the week on strangers. Wired together, 65% of our inbound arrives through LinkedIn, that channel books 356 meetings a quarter, and the content operation added $153K in new MRR on its own.

    If you're building from zero, start here. It works without the other six, and the engagement piles up while you wire them.


    6. Outbound

    What you build: a sequencer your system can create in, load into, launch from, and read replies out of. All four, through an API. If a tool only does three, it's a dead end.

    By now the account has been scored, routed and warmed, so the first line can reference something that actually happened. Our caller opens by naming the session the prospect showed up to the week before. He didn't dig that up. Three layers upstream handed it to him.

    The rule that matters: the reason field from layer 1 becomes the opener. If it's empty, the account doesn't send.

    What breaks it: volume as the lever. The default version of this layer is 100,000 contacts and an AI SDR bolted on when replies dry up. I'm on the receiving end of those and I delete them without opening.

    Cold email sits near 3.4% reply. Off a warm, signal-triggered list it runs 15 to 25%, and good teams clear 30%. That reply gap is where the thousand-email math at the top comes from, and the deal count at the end of it is the part that pays. Same volume, same inboxes, and the difference between $30K a month and $550K.

    Media image

    7. Feedback loop

    What you build: storage that keeps state between runs, so last week's scoring still exists this week.

    Four outputs go back in as inputs. Replies, the meetings that died or no-showed, content engagement, and campaign outcomes, all landing in a Clay table the rest of the system reads.

    The no-shows are the rows most teams delete. A no-show says the account was right and you were early. That's a calendar fix.

    The rule that matters: the execution side never edits its own targeting. It files a proposal, a human approves it, the change goes live and gets logged.

    Skip that and it tunes itself toward whatever produces replies fastest inside a month. Reply rate is the easiest number in outbound to move and the one furthest from revenue.

    Kenny runs 15 folders for 15 clients with 15 agents going at once, every one writing back to the same memory. For AirOps that meant outbound and LinkedIn ads running as one motion, and $7.83M in qualified pipeline in 10 months.


    Build it in this order

  • Signals before lists, or you enrich people who aren't in market.
  • Scoring before channels, or your best account gets your cheapest touch.
  • Content before outbound, or every first line lands cold.
  • The loop last, because it needs something to learn from.
  • Built in reverse, the send layer goes in first and every targeting layer gets bolted on afterward to keep feeding it. That machine runs, and it runs on whatever happens to be in front of it.


    Where to start

    Pick the layer you're missing. If you have to guess, it's scoring, because that's the one nobody wants to finish. Finishing it means writing down that most of your pipeline list isn't worth a call this quarter, then telling your team to stop calling them.

    Do that before you buy another tool.

    Actions
    What You Can Do
    • Export as PDF or Markdown
    • Batch Export to Notion
    • Bookmark & Highlight
    • LinkedIn & Instagram Carousel Maker
    Create Free Account

    Includes 7-day Premium trial

    Advertisement