Marketing Engineering

The Outbound Signal Engine: Trigger-Based Outreach That Gets Replies

ShareXLinkedInFacebookEmail
Featured image for the article: WRITE WHEN IT HAPPENS. A dated reason, or no message.

Trigger-based outreach means you write to a company only when a recent, dated event gives you a reason, such as a new location, a job post for the problem you solve, or a new leader. A person approves every message before it sends. You judge it by how many good-fit buyers reply wanting to talk, not by messages sent.

Trigger-based outreach: write when something just happened

A Detroit homebuilder kept asking recent buyers what finally made them move. Couple after couple gave the same answer. They had just come home from a friend's funeral.

So the builder moved its newspaper ads from the real estate pages to the obituaries. Traffic rose 37 percent and ad costs fell 70 percent, Bob Moesta reports in Demand-Side Sales 101. He calls the close rate on those leads unbelievable.

The houses did not change. The timing did.

Trigger-based outreach is the same move for cold email. You write to a company only when a recent, dated event gives it a reason to talk this week.

We hold every message to one check, the Because Test. Finish the sentence "I am writing because" with a fact from the last few weeks. No fact, no send.

We draw one line first. The builder put ads where grieving people looked. We never write to a person about their private life.

Company events are fair. Funerals are not.

Moving the ads to where the trigger happened cut their cost by 70 percent

  • traffic after the ads moved to the obituaries 37
  • lower ad cost 70
  • where the new leads already were on the buying timeline Active

Source: Bob Moesta with Greg Engle, Demand-Side Sales 101 (2020). The author's reported result, not audited.

Why timing beats a better list

A list tells you who might buy. A signal tells you when.

Moesta describes a buying timeline. First comes a nagging thought that something is wrong. Then comes passive looking, which can last for years.

Passive lookers notice things but plan nothing. An event pushes them into active looking, where they spend time and money on a fix. A deadline then pushes them to decide.

One case in the book is a friend who bought a mattress on a Saturday shopping trip and called it an impulse buy. How long had he slept badly? Two years.

So what does a cold list do? It mails passive lookers at a random moment.

Most of them are not ignoring you. They are not shopping yet.

Lists still matter. In Traction, Gino Wickman tells how his sales training firm counted every company that fit its target: 525 presidents and CEOs. Over time it won more than half of them as clients.

Keep that list. It is the universe you watch, and it tells you how many companies you could ever win.

The signal decides which name on it gets a message this week. A list with no timing is a phone book.

A salesman in a trench coat knocks on a shut front door while, two houses down, a family carries a red moving box to a moving truck. Black and white stencil painting.
Issued by Anar Global ยท No. 065

People shop only after an event pushes them

  • First thought Stage 1 Something is wrong. No plan yet.
  • Passive looking Stage 2 Noticing and learning. It can last years.
  • An event Trigger A move, a new boss, a bad week. The domino falls.
  • Active looking Stage 3 Time and money spent on a fix.
  • Time wall Deadline A date forces the choice.
  • Deciding Stage 4 Tradeoffs made, a vendor picked.

Source: Demand-Side Sales 101 (2020), the first four of its six buying stages and the events between them.

A list says who could buy. A signal says when

A listA signal
Tells you who could buyTells you when they might buy
Refreshed now and thenDated, and stale in weeks
The same message to everyoneA first line only this account earns
Most names are not shoppingThis account just got a reason to look

Anar's rule. Keep the list as the universe; let the signal pick the week.

Framework: Because Test
The Repeat step of the ANAR Loop, our four-step method: Audit, Name, Automate, Repeat

Before any outbound message sends, finish the sentence "I am writing because" with a dated fact about the company from a source you are allowed to use: a funding filing, a job post for the problem you solve, a new location, a new leader in the buying seat, a run of reviews naming the failure you fix. If the only honest ending is "you are in our target market," the message does not go. Never use a person's private life.

Score the account on fit, signal strength and freshness, draft only at 6 of 8, and let a named person approve every send. Then count qualified replies by signal, hold back one in five accounts as a check, and keep only the signals that bring buyers.

What counts as a buying signal?

A buying signal is a dated event that suggests a company just moved from passive to active looking. It earns a message only if it passes three checks.

You are allowed to collect it. It is still fresh. It earns a specific first line.

Some of the best signals are public records. A private company that raises money under a common exemption files a Form D, a short notice to the SEC with the offering size and the date of first sale.

Others you see by reading: a job post for the role your service supports, a second location opening, or three recent reviews that name the failure you fix.

The best ones are already yours. A trial that stalls at the same step. A contact who backed you at a past customer, now announcing a new job.

Two hard lines. We never buy lists of people, and we never point software at a site whose terms ban scraping.

Code can watch public records and your own data. A person reads everything else. If you cannot write the first line, the signal is noise.

Six signals, where you see them, and the first line each one earns

SignalWhere you see itFresh for (our start)First line it earns
Funding filedForm D on the SEC's public database60 days"You filed a new funding round last month."
Hiring for the problem you fixTheir own careers pageWhile the post is open"You are hiring a billing clerk."
New locationTheir site or a public business listing60 days either side of opening"Your second office opens in June."
New leader in the buying seatTheir announcement pageFirst 90 days"You started as operations director this month."
Reviews naming the failure you fixPublic review pages, read by a person3 or more in 30 days"Three recent reviews mention long hold times."
Stalled trial or open questionYour own CRM14 days"Your trial stopped at the import step."

Signal list and freshness windows are Anar's starting points; tune them on your own replies. Form D: Investor.gov (SEC).

Who deserves a message? Expected profit, not company size

Marketing engineering began as a way to make exactly this call. Gary Lilien and Arvind Rangaswamy put the term on a textbook first published 1998, as the history of the field shows. They meant decisions made with data, a model and a manager's judgment.

Their textbook has a worked example every outbound team should copy. Expected profit is the chance a customer buys, times how much they buy, times the margin. Contact only the customers whose expected profit beats the cost of reaching them.

In the example, reaching each customer cost $3.50. Contacting the four with the best expected profit made $9.29. Contacting all ten made $2.20.

And the three biggest buyers? Contacting them lost $5.02. Big did not mean likely.

A marketing engineer, as we define the role in what a marketing engineer is, builds the system that makes this call every day. A fresh signal raises the chance someone buys. So we score each account before any draft is written.

Fit with your best customers, 0 to 3. Signal strength, 0 to 3. Freshness, 0 to 2.

Draft only at 6 or more. Move the cutoff once replies show which scores pay.

Contacting the likeliest buyers made four times the profit of contacting everyone

Ten customers, $3.50 to reach each one. Expected profit = chance of buying x purchase size x margin.

Who gets contactedProfit after the cost to reach them
The 4 with the highest expected profit$9.29
All 10 customers$2.20
The 3 biggest buyersA loss of $5.02

Source: Lilien, Rangaswamy and De Bruyn, Principles of Marketing Engineering and Analytics, Exhibit 3.12.

The three biggest buyers carried $5.48 of expected profit against $10.50 of cost.

Draft only for accounts that score 6 or more out of 8

MarkWhat it measuresRange
FitHow close the company is to your best customers0 to 3
Signal strengthHow directly the event points at the problem you fix0 to 3
FreshnessHow recent the event is, inside its window0 to 2
CutoffDraft at 6 or more; move it once replies show what pays6 of 8

Anar's rule, a rough stand-in for the textbook's chance-of-buying column.

The Because Test: finish the sentence or do not send

The Because Test is our rule that every outbound message opens with a true, dated reason to write now. It takes ten seconds to run.

Write "I am writing because" and end it with a fact. If the honest ending is "you are in our target market," the message dies.

If the ending is "your second office opens next month," it may live. That fact becomes the first line. The ask is one small next step.

Why so strict? The first message has one job. It earns a reply, not a sale.

Every draft also carries the source link in the log. If the approver cannot click through to the fact, the fact does not exist.

No because, no send.

A dated fact in the first line, or the message does not go

FailsPasses
"I am writing because you are in our target market.""I am writing because your second office opens next month."
"I loved your recent post." (Nobody read it.)"You posted a job for a billing clerk on Monday."
"Just checking in.""Three reviews this month mention long hold times."
Asks for a 30-minute demoAsks one small question about the event

Anar's rule. Examples are made up.

Build it as a chain of small jobs, not one big agent

One AI agent told to find prospects, invent offers and email them will fail in a known way. John Berryman and Albert Ziegler walk through that failure in Prompt Engineering for LLMs.

They gave an all-purpose agent web search and email tools. It ran a lazy search. Then it wrote form letters with the placeholder [your_name] still in them.

Their fix was a workflow. Each task is small, with a clear input and a clear output, and code moves the work between tasks.

We build the engine the same way, as seven jobs: watch, check, research, score, draft, approve, log. The chart below shows what goes in and out of each.

Their book asks a question we put on every job: can this task run without an AI? If yes, use plain code. It is cheaper and more reliable.

Watching a filings feed is code. Checking freshness is code. Writing the first line is where the AI earns its place.

Write each job's brief the way a job spec for an AI agent shows. Keep the briefs, the scores and the banned phrases in your growth repo.

Seven small jobs, each with one input and one output

  • Watch In: your list and sources. Out: new dated events with links. Code.
  • Check In: an event. Out: allowed, fresh, about the company? Code.
  • Research In: the account. Out: what they sell, what changed, the link.
  • Score In: the research. Out: fit, signal, freshness, total.
  • Draft In: accounts at 6 or more. Out: dated first line, why it matters, one ask. AI.
  • Approve In: draft plus source. Out: approve, edit or kill, with a reason. A person.
  • Log In: every decision and reply. Out: the signal ledger.

Anar's workflow, built on the task-and-workflow design in Prompt Engineering for LLMs.

One big agent fails quietly; a workflow fails one job at a time

One big agentA workflow of small jobs
One long instruction for everythingOne short brief per job
A lazy search and form lettersEach job returns a checked output
When it fails, nothing obvious to fixWhen it fails, you fix one job
No queue for the accountsEach account moves through in order

Source: Berryman and Ziegler, Prompt Engineering for LLMs, chapter on workflows.

Why a person approves every send

Lilien and Rangaswamy drew the line on automation long before AI agents. Automate a decision when a wrong call is cheap, like a product recommendation. Keep a person in it when a wrong call is costly.

A cold email is the costly kind. It puts your name in front of a stranger. It cannot be unsent.

Chains make it worse. Chip Huyen's AI Engineering does the math: a step that is right 95 percent of the time, chained ten times, ends right about 60 percent of the time.

So the AI researches and drafts. A named person approves, edits or kills every message.

Each kill gets a reason. The reasons go into a banned-language file. The drafting job reads it every time.

Start with a cap of 20 approved messages a day. Read every reply yourself for two weeks. Raise the cap only when complaints stay flat and replies stay good.

The agent drafts. A person sends.

Ten steps that are each 95 percent right end right about 60 percent of the time

Chance the whole chain is right, by number of steps at 95 percent each

  • 1 step 95
  • 3 steps 86
  • 5 steps 77
  • 10 steps 60
  • 20 steps 36

Our arithmetic (0.95 to the power of the number of steps), after the example in Chip Huyen, AI Engineering.

Cheap mistakes run alone; a message to a stranger waits for a person

JobCost if it goes wrongWho decides
Watch and checkA missed or extra eventCode
Research and scoreA weak draft gets madeAI, checked by rules
DraftA bad line someone must catchAI
SendYour name on a false or rude email to a strangerA named person

Anar's rule, after the automation rule in Lilien, Rangaswamy and De Bruyn, Principles of Marketing Engineering and Analytics.

A person sees the signal, the source, the score and the draft, then clicks

Example approval queue card for a made-up dental practice, showing a new-location signal, its source link, a score of 7 of 8, the Because line as the first line of a short draft email, five pre-send checks, and Approve, Edit and Kill buttons, with five numbered pins
  • The dated event that earned this message.
  • The source link. No link, no send.
  • Only accounts at 6 or more get a draft.
  • The Because Test, passed, as the first line.
  • Every kill needs a reason. It feeds the banned-language file.

Example page built for this article with a made-up brand. Business, people, domain and address are made up; .example is a reserved domain.

Example page. The AI drafts; a named person approves, edits or kills each message.

Where outbound engines break, and the fix

How to burn a sending domain in four easy steps:

1) Buy a list of 5,000 people who never heard of you.

2) Tell an agent to "personalize" by praising each profile.

3) Send 500 a day from your main company domain.

4) Count messages sent and call it pipeline.

That is not outreach. That is spam with a damn dashboard.

Polite replies, but nobody books. The signal is real, but the ask is too big. Ask one small question about the event instead of offering a demo.

Every draft sounds the same. Research returns thin facts, so the AI fills the gap with flattery. Make research return the dated fact and its link, or nothing.

One signal fires all day. It is too broad, like "posted any job." Narrow it to jobs for the problem you fix.

Three ways the engine breaks, and the fix for each

SymptomCauseFix
Polite replies, but nobody booksThe ask is too bigOne small question about the event
Every draft sounds the sameResearch returns thin factsReturn the dated fact and its link, or nothing
One signal fires all dayThe signal is too broadNarrow it to the problem you fix

Anar's working fixes.

How do you know a signal works? Count qualified replies

Messages sent is an activity count. It goes up every time you do more, whether anyone cares or not. That is a treadmill, not a pipeline.

A qualified reply is a human answer from an account that fits, showing interest or asking a real question. Count it once per person. Out-of-office notes, unsubscribes and "wrong person" do not count.

Track it by signal. If new-location signals bring replies and review signals bring none after a fair run, stop watching reviews.

The engine should get narrower before it gets bigger.

Alistair Croll and Benjamin Yoskovitz make a related point in Lean Analytics. How easily you get meetings early is a preview of what selling will cost. They also say to write down each stage of the sales funnel and its conversion rate after the first few sales.

We add one honest test. Hold back one in five accounts that show a signal, and send them nothing for a month.

Does the signal cause the meetings, or just predict them? If the accounts you wrote to book no more meetings than the ones you held back, the signal is not doing the work.

Work backward from revenue with book-a-call math to see how many qualified replies you need. Route every reply in minutes, as speed to lead describes. Grade the engine the way we measure a marketing engineer: on what buyers did.

Watch, write, count, cut: the engine narrows before it grows

  • Watch Two signals on one counted list.
  • Write Only what passes the Because Test, approved by a person.
  • Count Qualified replies and meetings, by signal.
  • Cut Drop any signal that brings none after a fair run.

Anar's weekly review.

Hold back one in five accounts to see if the signal does the work

GroupWhat happensWhat you compare
Written to (4 in 5)Gets the Because Test messageMeetings booked in 30 days
Held back (1 in 5)Gets nothing for 30 daysMeetings booked in 30 days
Written-to books moreThe message is adding somethingKeep the signal
No differenceThe signal predicts but does not causeRethink the message or drop the signal

Anar's rule.

Judge each signal by qualified replies, beside a group you held back

Example signal ledger with four signals, showing messages sent, qualified replies, meetings, a held-back group for each signal, and a Keep, Watch or Cut call, with the review signal marked Cut in red, and four numbered pins
  • Count buyers who answered, not messages sent.
  • One in five accounts with the signal gets nothing, as a check.
  • Held-back accounts booked too: the signal predicts more than the message adds.
  • No replies after a fair run: stop watching this signal.

Example page built for this article with a made-up brand. Made-up numbers, no real results.

Example page, made-up numbers. Judge each signal by qualified replies, and keep a held-back group as the honest check.

Which rules apply before the first send?

Outbound email is regulated, and the rules differ by country. The dated box below holds the details we checked. It is not legal advice.

In the United States, the FTC's CAN-SPAM guide says the law covers all commercial email, with no exception for business-to-business messages. Honest headers, a real postal address and a working opt-out are the floor.

Inbox providers add their own rules. Gmail's sender guidelines require email authentication for every sender and set a ceiling on spam complaints.

Boring? Yes. Optional? No.

Canada and the UK go further for some contacts. Have a lawyer review the program once before launch, and again before you add a country or a channel.

Claims inside the email follow the same truth rules as any ad. The FTC risk drivers in marketing claims lists the ones that cause most trouble.

Build your Because Test engine with AI this week

The prompt below builds the engine in your preferred AI. It asks about your customer, your signals and your daily limit. Then it writes the signal table, the score, sample emails, a checklist and the ledger.

It never invents a fact about a prospect. Where it needs one, it leaves a marked gap.

This week, three steps. Today, count the companies that fit. Tomorrow, pick two signals and write the Because line each one earns.

By Friday, draft ten messages, approve them yourself, and start the signal ledger. Next, use the customer truth system to learn which pains your buyers name this week.

The homebuilder did not find better buyers. It found the moment. A list is the map, and the signal is the green light.

Copy this prompt
Build your Because Test engine with AI

Paste into your preferred AI. It asks five questions, then writes your signal table, score, sample emails, checklist and ledger.

Act as an outbound planner for a small B2B team. Build my Because Test engine: outreach that writes only when a dated event gives a real reason.

Ask me these one at a time, with the example, and wait:
1. What do I sell, and to whom? (Example: "bookkeeping for dental practices with 2 to 10 dentists")
2. About how many companies fit, and where is that list? (Example: "400, in our CRM")
3. Which events would make one of them need me now? (Example: "a new location, a new office manager")
4. Where can I see each event without buying data or scraping? (Example: "their careers page, our own CRM")
5. Who approves messages, and how many a day? (Example: "me, 20")

Then build:
1. Signal table: event, source, days it stays fresh, and the "I am writing because" line it earns. Drop events I cannot see legally and anything about a person's private life.
2. Score: fit 0 to 3, signal strength 0 to 3, freshness 0 to 2. Draft only at 6 or more.
3. One email per signal: the dated fact first, why it matters, one small ask. Under 90 words. No flattery, fake urgency or unproven claims.
4. Pre-send checklist: dated reason with a source link, honest sender and subject, postal address, working opt-out, named approver.
5. Ledger columns: signal, sent, qualified replies, meetings. A qualified reply is a human answer from a fitting account showing interest or asking a real question.

Rules:
- Never invent a fact about a prospect or a number about my business. Ask, or write [CONFIRM: what you need].
- Nothing sends without my approval.
- If you can browse, check the FTC CAN-SPAM guide and Gmail's sender guidelines for changes and say what you used. This is not legal advice.

Output: the table, the score rule, the emails, the checklist, the ledger columns, and my next three actions.
It asks for your customer, signals and limits, and never makes up a fact about a prospect.
Share this articleXLinkedInFacebookEmail
Filip Kovacevic
About the author

Filip Kovacevic is the founder of Anar Agency in Phoenix. He spent five years running SEO, Meta ads, email, and content for medical practices across the United States, and now does the same work for healthcare, home-service, legal, and professional-service businesses, alongside AI implementation. More from Filip →

Want the engine built, with the guardrails on?

You are not committing to a campaign. Bring the kind of customer you want more of, and in 15 minutes we will tell you which two signals we would watch first and how you would know it worked.

See how we build them →

Want to do this work yourself? See how we train marketing engineers.