ICP testing for outbound can be done in one week without sending a message, if you accept what that week proves. A GTM engineer can write five audience hypotheses as five campaign drafts, run a prospect preview for each, have the founders mark real people as fit or not, and end Friday with a ranked list and the evidence behind it. The week tells you which buyers you can find and recognize. It does not tell you which buyers will answer. Only a live campaign does that.
This article is for the first GTM engineer at a seed or Series A startup where the founders disagree about the buyer. It uses the GTM Bud connector in Claude Code, because the method needs three things from a tool: a criteria check, a preview of real people, and a fast way to copy a draft.
Why does the founders’ argument not end?
The argument does not end because both founders argue from memory. One remembers the three customers who bought fast. The other remembers the two large logos. Neither has looked at the same short list of strangers and said yes or no to each.
A definition like “mid-market RevOps teams” feels precise in a meeting. Turn it into criteria and search for people, and you learn what it means in practice: which titles appear, how large the companies are, how many of them sell something your product cannot serve.
The rule for the week: no opinion about a segment counts until its owner has marked every person in that segment’s preview.
For the theory of an ICP, read how to build an ICP for outbound. This article starts where that one stops: you have several candidates and must rank them.
What does a preview prove, and what does only a live campaign prove?
A prospect preview proves that a definition is findable and recognizable. A live campaign proves that the people respond. Keep the two apart in every sentence you write this week.
| Question | Prospect preview | Live campaign |
|---|---|---|
| Can the criteria be read from public data? | Yes | Yes |
| Do the matching people look like buyers to the founders? | Yes | Yes |
| Which requirements did each shown person meet? | Yes, per person | Not directly |
| Do they accept a connection request? | No | Yes |
| Do they reply, and is the reply positive? | No | Yes |
| Does the value offer interest them? | No | Yes |
| How large is the segment in total? | No | No |
Here is what the preview gives you in detail. GTM Bud reads targeting in two steps: it searches LinkedIn by role, industry, company headcount and location, then reads each person’s profile and company and checks each criterion. The preview returns a short card for each match and the number of people checked. The full profile of one person shows experience, education, company, recent posts and the result for each audience requirement.
That last part matters for a test. When a founder says “not a fit”, you can see which requirement the person passed anyway, and tighten that one.
A preview has three limits you must plan around. It is a short list of matches, not hundreds of people: in the example below, each run returned five. It returns the people who matched, not the people it rejected. And it is one list per run, so opening it again with an unchanged audience shows the same people. Each campaign also has a daily preview limit, so you cannot rerun a draft ten times in an afternoon. Change the audience with care, then run.
The week at a glance
| Day | Work | Output |
|---|---|---|
| Monday | Write five hypotheses, build the first draft | icp/hypotheses.md, one checked draft |
| Tuesday | Clone four times, set each audience, start the previews | Five drafts, five preview runs |
| Wednesday | Founders mark people, 15 minutes per hypothesis | Fit marks with reasons |
| Thursday | Fix the two weakest definitions, rerun those two | Second runs for two drafts |
| Friday | Rank, write the evidence page, propose the live test | icp/ranking.md |
Monday: how do you write a hypothesis that can fail?
A testable hypothesis is one audience sentence plus the reason someone believes it. Write five, each in the same form: role, company type, size, region, and one qualifier.
The example company in this article sells a usage metering API. Its two founders, Noor and Felix, disagree. The names and the company are invented. These are the five sentences:
- Heads of billing engineering at B2B SaaS companies with 100 to 500 employees in North America that sell usage-based plans. (Noor)
- CFOs and VPs of Finance at the same companies. (Felix)
- Heads of platform engineering at AI infrastructure startups with 20 to 150 employees. (Noor)
- Product leaders for monetization at developer tool companies with 50 to 300 employees. (the first sales hire)
- RevOps leaders at fintech companies with 200 to 1,000 employees in the UK and Ireland. (an investor)
Then build the first draft. The agent writes the criteria from sentence 1, and GTM Bud checks each one. The check flags a requirement that cannot be read from a LinkedIn profile, a company page or public web content. For such a flag it returns a message and, in most cases, a suggested rewrite. It also flags a criterion that repeats what GTM Bud already does for every campaign, and that flag has no rewrite: you remove the criterion.
For sentence 1, the check flagged “sells usage-based plans” and suggested “company with public usage-based pricing”. Noor accepted the rewrite. A draft holds from 1 to 7 criteria, and each is a must-have or a nice-to-have. Use few must-haves this week. A failed must-have rejects a person, and you want to see the edges of each segment.
Tuesday: why clone the draft?
Clone the draft so that the five tests differ in one thing only: the audience. A copy keeps the targeting, the message sequence, the message settings, the reply playbook, the sending accounts and the daily targets of the original. It drops the leads, the replies, the results and the previews.
On Tuesday the drafts have no messages yet, and that is fine. The value of cloning this early is a clean set: five drafts with one naming rule (icp-1-billing-eng, icp-2-finance, and so on), each with its own audience and its own preview.
you Read icp/hypotheses.md. Duplicate icp-1-billing-eng once
for each of hypotheses 2 to 5. Name them by the rule in
the file. Update the targeting of each copy.
agent duplicate_campaign (4 calls)
agent update_campaign_targeting (4 calls)
icp-2-finance: all criteria passed.
icp-3-ai-infra: all criteria passed.
icp-4-monetization: 1 flagged. "Owns pricing decisions"
cannot be read from a profile. Suggested: "title
includes pricing, monetization or growth product".
icp-5-revops-uk: all criteria passed.
you Take the suggestion for 4. Then start a preview for
all five.
agent update_campaign_targeting
agent start_prospect_preview (5 calls)
Each search takes 1 to 3 minutes.
agent get_prospect_preview (5 calls)
Five previews finished. Cards and people-checked counts
written to icp/previews/. Wednesday: how should founders mark fit?
Give each hypothesis to its owner for 15 minutes, show one person at a time, and record a mark and a reason. The mark is Good fit or Not a fit. GTM Bud keeps the mark with the campaign. A mark does not change the criteria, so a pattern in the marks becomes a change only when you rewrite a criterion. GTM Bud also saves the reason that you give for a Not a fit mark, but the preview does not return it, so keep the reasons in a file too.
Three rules make the marks usable:
- The owner marks first, a skeptic second. Felix marks the finance hypothesis, then Noor does. Disagreement on a named person is the most useful data of the week.
- Every Not a fit gets one of four reasons. Wrong role, wrong company type, wrong size, or “right on paper, would not buy”. The fourth reason is the interesting one.
- Open the full profile for every disputed person. The per-requirement result shows why the person matched.
In the example, hypothesis 2 looked strong in the meeting and weak on Wednesday. Felix marked 1 of the 5 previewed finance leaders as Good fit. For the other 4 his own reason was “would not buy without engineering asking first”. Hypothesis 1 came out at 4 of 5. These counts are invented for the example. Yours will differ, and that is the point of the test.
Thursday: what do you fix, and what do you leave?
Fix a definition when the misses share one cause that a criterion can express. Leave it when the misses are “would not buy”. The first is a targeting problem. The second is a verdict.
Hypothesis 3 had a targeting problem: three of the five matches worked at AI consulting firms, not infrastructure companies. The agent proposed a must-have, “company builds and sells its own AI infrastructure product”, and GTM Bud passed it. Because the audience changed, a new preview run returned a new list.
Hypothesis 2 had a verdict. Nobody rewrote it.
Spend Thursday’s second runs on two drafts at most. The daily preview limit of each campaign also caps how often you can rewrite one draft in a day, and that keeps you honest: a hypothesis that needs four rewrites to look good is not the same hypothesis.
Friday: what does the ranked list contain?
The Friday page ranks the five hypotheses and shows, for each, the evidence a skeptical founder would ask for. Keep it to one screen.
| Rank | Hypothesis | Marked | Good fit | Main miss reason | Verdict |
|---|---|---|---|---|---|
| 1 | Billing eng, SaaS | 5 | 4 | Wrong size | Launch |
| 2 | AI infra platform | 10 | 6 | Consulting firms (fixed) | Launch |
| 3 | Monetization PMs | 10 | 4 | Wrong role | Hold, rewrite title |
| 4 | Finance leaders | 5 | 1 | Would not buy | Drop |
| 5 | RevOps, UK fintech | 5 | 1 | Would not buy | Drop |
Ranks 2 and 3 show ten marked people because each had a second run on Thursday after its audience changed.
Add three things under the table:
- Two named examples per hypothesis, one Good fit and one Not a fit, with the founder’s reason in their words.
- The people-checked count next to the match count. If the search checked many people to find few matches, the audience is thin or the criteria are strict. This is a hint about density from one sample. Do not present it as a market size.
- What the week did not test. One sentence: “No message was sent. This ranking says who we can find and recognize, not who answers.”
Then propose the live test: launch ranks 1 and 2. For each, the agent sets the seller profile of the draft, writes value offers and messages from the GTM Bud briefs, and runs the launch readiness check. You can select up to 3 value offers per campaign for GTM Bud to test against each other, which is how the live phase answers the offer question the preview could not.
Five prompts for the week
- “Read
icp/hypotheses.mdand tell me which sentences contain a requirement that a profile or a company page cannot show, before we create any draft.” - “Open the preview of icp-2-finance again and show me one person at a time with title, company, headcount and the result for each requirement. Wait for my mark and my reason after each.”
- “For every person marked Not a fit in icp-3-ai-infra, get the full profile and tell me which requirement they passed that they should have failed.”
- “Write
icp/ranking.md: one row per hypothesis with people marked, Good fit count, the most common miss reason fromicp/marks.md, and the people-checked count from the preview.” - “For icp-1 and icp-3, run the launch readiness check and list what is still missing, grouped by what I do in this session and what I do on gtmbud.com.”
Three objections, and the honest answers
“Five people is not a sample.” Correct. It is far too small for a rate. It is enough to separate a segment where the founders say yes to nearly everyone from one where they say yes to nearly no one. Treat the count as a way to order five options, and say so on the Friday page.
“The founders’ marks are the same opinions as before.” Partly. The difference is that the opinion is now attached to named people, and the other founder can look at the same person. In the example, Felix dropped his own hypothesis. A meeting would not have done that.
“We have a list of target accounts already. Test that.” The connector does not take a list upload, so this method cannot test a fixed list. It tests definitions. If your question is about named accounts, read TAM vs ICP vs target account list and use a different method.
Frequently asked questions about ICP testing for outbound
How do you test an ICP for outbound without sending messages?
Write each candidate buyer as one audience sentence, turn it into criteria, and look at real people who match before any message exists. A prospect preview shows who the definition finds. It tests if the audience can be found and if it looks right to the people who know the product. It does not test if those people will answer.
How many ICP hypotheses should a startup test at once?
Five is a workable number for one person in one week: one draft and one preview for each, with a day left to rank them. More than five and the founders stop reading the evidence. Fewer than three and you are confirming one opinion.
What is a fit rate in a prospect preview?
It is the share of previewed people that your own team marked Good fit. It is a number you calculate from the fit marks, not a number GTM Bud reports. Because the previewed sample is small, treat it as a ranking signal between hypotheses and never as a forecast.
Can a prospect preview tell me the size of a segment?
No. A preview is one list from one run. It shows how many people were checked to produce that list, which hints at how dense the audience is, but it is not a market size. Use your own source for the total count of companies.
When should I launch a live campaign for an ICP hypothesis?
After the preview ranking, launch the top one or two. Only a live campaign shows acceptance, replies and Interested replies, and it needs enough contacted leads before the rates mean anything. Launch needs your confirmation of a preview and an active plan or trial.
End the week with a ranking, then let a live campaign finish the test
ICP testing for outbound has two halves. The first half fits in a week and costs no reputation: five drafts, five previews, marks with reasons, one ranked page. The second half is a live campaign for the top two, and it is the only place where replies appear. The page on AI LinkedIn outreach for GTM engineers shows the launch steps. To run the first half from your terminal, add the connector with the command on GTM Bud for coding agents. When the live campaigns produce numbers, LinkedIn outbound results in your terminal explains how to read them.