TLDR
Outbound campaigns are increasingly about (1) the data set you build on, and (2) how often you’re willing to change what isn’t working. The tools themselves are relatively cheap and quick to set up.
Where this comes up
High-volume, personalized outreach shows up in three places I run into regularly, and the machinery behind all three is nearly identical.
Primary research - recruiting participants into interviews and surveys. Sales and marketing - getting an offer or a piece of content in front of the right buyers. And user acquisition, which is what the campaign below was built for.
What I got wrong for years
Early on, I did not experiment enough. Not in my technology stack, and not in my day-to-day processes. Very execution-focused.
In sales & marketing, we would leave campaigns running for months at a time even when the numbers were bad. Rejiggering a sequence that already existed never felt pressing, and even felt inconvenient and annoying, so I’d usually avoid it.
Breaking that habit has been incredibly valuable. Nearly all of the ROI from this work has come from “tinkering” - with the tools, the data, the messaging, and the sequencing - on a regular cadence… it is a set of muscles you need to build. I cover this in a prior post in a market research context:
Expected changes in corporate research technologies - May 2026 Substack
The main point is that it pays to invest heavily in the stack up front, then keep tweaking it.
“The list is the message” (- Jordan Crawford)
The most underrated capability in the current generation of outbound tools is that you can build a campaign on almost any data set.
Economists and market research analysts saw a version of this early. Product review data became usable at scale for commercial market research and academic work alike - a corpus that existed for one purpose turned out to be a research instrument.
The same logic applies here. If you can find a public data set that identifies the people you want, and it carries enough metadata to say something specific to each of them, you have a campaign. So a new outbound effort should start with real time spent planning and curating the data set, before anyone writes a word of copy.
The campaign
Our goal was to identify senior researchers who would try our freemium product and give us useful feedback on it.
Step 1. Finding the data set.
I start every new initiative in a general-purpose model, in this case ChatGPT, and use it to map the landscape before committing to anything.
I asked for candidate data sets for reaching researchers who run evidence synthesis work. It returned the obvious options - CRMs, LinkedIn searches, university websites, Google Scholar profiles - and one that was much better: NIH Reporter.



I spent a while inside the site working out the right approach. A blank search returns every active grant, tens of thousands of records, exportable to CSV. Each row carries the PI’s name, the organization, the grant title and description, and a long list of other metadata fields.
Step 2. Filtering and prioritizing.
This is where an earlier version of me would have started sending out notes immediately.
Instead I went through every field in that NIH Reporter CSV, working out with ChatGPT what each one meant. Some are useful in ways that aren’t obvious. Project codes, for instance, indicate how large a grant team is, which is a good proxy for whether a given PI runs the kind of operation we wanted to talk to.
The first pass of sorting and filtering happened in local CSV files, organized carefully. Then the results went to Clay in batches.
Step 3. Enrichment.
I came across Clay a couple of years ago and didn’t understand it at first. It took watching demos and putting in real effort before it clicked, and it’s now one of the most powerful tools I use.
The core concept is enrichment fields. You add columns to your data set and each one gets populated automatically - career history, email addresses, employee counts, research focus, technology in use, whatever you can define. Most people encounter it as a business development tool, but the capability is broader than that. You can use it to build a firmographic data set for a market sizing exercise, to track hiring across a competitor set, or to classify a large body of unstructured records into something you can analyze.
Choosing the right enrichments takes work, and so does keeping them economical, since every column costs something per row. I went through a couple dozen variations before landing on three:
(1) Find a public email address for each PI. Public sources only, no personal or non-public information.
(2) Generate a short topic label from the grant description, for the subject line.
(3) Generate a slightly longer version of the same, for the body of the email.

That’s the whole AI component, and it’s what made the campaign work. Every message referenced the recipient’s own research area in their own terms, because a model had read their grant description and summarized it.
Step 4. Sending.
Enriched CSVs came out of Clay and went into Smartlead, our outbound tool. We set up custom variables there matching the Clay field names, subject_topic and body_topic, so each message populated automatically.
The ask was simple. Tell us if you’d like to try the product, and we’ll build out a completed library on your topic to start you off.
Step 5. Measuring, then scaling.
We tracked it for two weeks, alongside about a dozen other campaigns and a set of A/B tests. It came back at over 8% response, with roughly 90% of those responses positive.
So we put everything behind it. We stood up five domains (heymoara.com, hellomoara.com, meetmoara.com and so on), created four sending addresses on each, and ran each up to its daily limit of 40 messages, covering new contacts plus two follow-ups apiece. Deliverability was monitored throughout. Signups and feedback conversations followed in volume.

On volume
High-volume outreach has an obvious failure mode, and it’s worth addressing directly, because the objection is usually that this kind of thing is indiscriminate.
In this case the volume was what made the targeting possible. We pulled tens of thousands of records specifically so we could cut down to the few thousand people who were actually qualified, and then say something to each of them that was true only of them. Most of the effort went into the filtering rather than the sending.
That’s a motion a large, established company can run as easily as a two-person software product.
Where this goes
Since then I’ve walked through this approach with people doing primary research, people building go-to-market motions, and people trying to find early users for a product.
The data set changes every time. NIH Reporter is right for researchers and wrong for nearly everyone else. What carries over is the sequence: find a data set that identifies your people, learn its fields well enough to prioritize hard, use a model to say something specific to each record, measure for a couple of weeks, then put your weight behind whatever won.
The tooling is cheap and quick to set up. The work is in the experimentation.
-John
CEO of Sourced Economics + Moara.io; Adjunct at GW + Stevenson






