Agricultural Outbound · Market Mapping

How we built an outbound market that barely existed online.

A behind-the-scenes look at how hundreds of agricultural data sources were researched, a custom prospect universe was built from scratch, multiple outbound campaigns were launched, and genuine interest was generated in a market largely absent from conventional B2B databases.

36,105
Prospects contacted
106
Genuine interested replies
264
Relevant directories identified
~50K
Contacts built for campaign use
86,027 emails sent · 965 total replies · 10.98% of replies marked Interested
How the Program Unfolded
Weeks 1–6
The market is built from scratch
264 directories identified, 41 scraped and merged, plus Google Maps, registries and public parcel data — roughly 50,000 usable contacts assembled.
Ongoing
Validation catches bad data
Miscategorized insurance offices, town-name pins and duplicate county sources are found and removed before campaigns launch.
Launch
Two core segments tested
Campaigns concentrate on farmers and agricultural business owners, with roughly 10 copy variants tested.
Parallel
Event campaign runs alongside
A separate campaign targets prospects within ~100 miles of a client event, driving interest and registrations.
Result
106 genuine interested replies
Across 36,105 contacted prospects — with no meeting number available due to an external scheduling handoff.
The Client

An agri-tech company trying to reach a market traditional databases barely cover.

The client had developed an agricultural technology product and wanted outbound support around its fundraising and market-development efforts. The audiences included farmers, agricultural business owners, businesses directly or indirectly connected to agriculture, prospects relevant to the client's fundraising efforts, and agricultural prospects around a physical event.

The people the client wanted to reach were not sitting neatly inside conventional B2B databases. Farmers often had little or no LinkedIn presence, limited company information, and very little structured contact data online. Many of the email addresses that did exist were personal rather than conventional business emails.

Buy a farmer database — or build the market ourselves.

We found commercial databases selling farmer data. But there were two problems: we had seen a gap before between how purchased databases were marketed and the actual quality of the records delivered, and agricultural datasets of this kind were expensive.

Rather than immediately spend heavily on a dataset we did not fully trust, we decided to build the market ourselves using custom research, scraping and our existing list-building stack.

This was not one scrape. It became a six-week research process.

The work was iterative. Every week involved some combination of researching agricultural data sources, finding new directories, testing databases, extracting records, cleaning data, validating records, finding additional routes into the market, and preparing usable audiences for campaign launch. Claude Code played a major role in researching, structuring and working through the available data sources.

Have a market that doesn't sit inside a database?
Talk to Blinkins →
The Data Operation
264
Relevant directories identified
41
Directories scraped and merged
138,793
Directory rows before dedupe
42,525
Google Maps places
~29,300
Google Maps searches
~900
Illinois towns searched
16,540
EWG/FSA payment recipients
18,185
Pesticide-registry records
791
Grain-registry records
19,082
Parcel / assessor owners
~6 weeks
Approximate build period

After researching and scraping these sources, roughly 50,000 contacts became usable for outbound campaigns.

Validation

Getting rows was not the hard part. Validation was.

The raw extraction repeatedly produced data that looked valid until it was inspected closely:

State Farm insurance offices being classified into producer data
Crop-insurance agencies being miscategorized
Google returning town-name pins as businesses
Out-of-state records slipping into geographic datasets
The wrong parcel layer being mistaken for an Illinois county
Pagination silently stopping and returning incomplete county datasets
ASP.NET registries requiring ViewState/postback handling
Apparently new county sources resolving back to duplicate underlying datasets

Scraping data is not the same as building usable market data. The work was in validating what had actually been retrieved before it reached a campaign.

The data became the campaign.

The client did not hand us a ready-made farmer database. The custom prospect universe became the actual foundation for the outbound program. We tested multiple audiences and eventually concentrated most heavily on two: farmers, and agricultural business owners — including businesses directly or indirectly connected to the agricultural economy.

DataQualificationSegmentCampaign

You cannot personalize around data that does not exist.

This account behaved very differently from conventional B2B outreach. Many prospects had almost no meaningful digital footprint, which meant we could not rely on deep company research, social activity or large numbers of prospect-specific data points for every email.

So personalization had to reflect the reality of the market rather than pretending every farmer had a rich online profile. The solution became strong segmentation, market-specific messaging, repeated copy testing, multiple campaign variants and feedback-driven iteration.

In one campaign alone, roughly 10 copy variants had already been created, with five inactive at the point recorded. Copy was repeatedly adjusted based on how the market responded.

A Separate Event Campaign

Outbound was also used to drive interest in a physical event.

The client was hosting an in-person agricultural event. We built a separate campaign targeting people connected to agriculture and fitting the client's ICP within roughly 100 miles of the event location.

That campaign generated interested replies and event registrations — a different conversion objective from the standard outbound campaigns, and another use of the underlying market data.

Campaign Snapshot

86,027 emails sent to 36,105 contacts.

Outbound campaign dashboard from the agricultural engagement, showing 86,027 emails sent to 36,105 contacts and 965 replies.
965 replies (2.67% dashboard reply rate) · 106 Interested (10.98% of replies) · 1,576 bounces (4.37%) · 79 unsubscribes (0.22%) · 0 tracked opens.
Prospects
36,105
Emails Sent
86,027
Replies
965
Interested
106

Open tracking was disabled for this workspace, so this case study does not use open-rate claims anywhere. Unlike other accounts, these Interested replies were confirmed genuine interested prospects.

The Missing Metric

Why there is no meeting number in this case study.

The normal outbound workflow involved inbox managers booking meetings directly through a calendar the outbound team could access and track. This account worked differently: the client wanted prospects sent through a separate landing page and handled the booking process through its own scheduling flow.

That meant we did not have a reliable source of truth for total meetings booked, meeting attendance, the final positive-reply-to-meeting conversion rate, or final attendance from event outreach.

So this case study does not invent or estimate a meeting number.

Generating interest and converting interest were two different problems.

Positive replyExternal landing pageClient-controlled schedulerMeeting

That reduced visibility and made conversion harder to manage. Warm calling was added as part of inbox management to improve the transition from interest to booked conversations. But it did not fully solve the problem because the underlying scheduling architecture remained outside the outbound team's control.

Tactics can improve conversion. They cannot fully repair a broken conversion path.

What this account taught us.

01
Some markets have to be built before they can be reached.
Not every ICP exists cleanly in Apollo, LinkedIn or standard enrichment databases.
02
Data extraction and market construction are different things.
Getting thousands of rows is easy compared with validating whether the records genuinely represent the market you want.
03
Custom data can create access to markets competitors ignore.
The client started without a ready-made farmer prospect universe. The custom dataset became the campaign foundation.
04
The market determines how much personalization is possible.
When prospects have little digital footprint, segmentation and offer relevance matter more than pretending deep personalization exists.
05
Copy still needs iteration even when copy is not the primary bottleneck.
Multiple variants and A/B testing were used throughout the campaign.
06
Positive replies are not the end of outbound.
The handoff, scheduling path and follow-up system determine whether interest becomes a real sales conversation.
07
Measurement architecture matters.
If scheduling happens outside the system you control, attribution becomes weak even when the campaigns are creating interest.

Sometimes the hardest part of outbound is finding the market.

The work on this account looked less like buy-list-write-sequence-send, and more like a continuous process:

Research MarketFind SourcesScrapeValidateCleanBuild SegmentsLaunch CampaignsTest CopyGenerate InterestManage Conversion

The campaign could only exist because the market was built first.

About This Case Study

This case study documents work I personally performed and managed before founding Blinkins Media.

— Jiten Khatri
Founder, Blinkins Media
Related
How the Blinkins outbound system works →What managed B2B outbound includes →More Blinkins results and case studies →
Hard-to-find market?

We'll figure out where the buyers actually are.

If your target market does not sit neatly inside conventional databases, we can map the market, build the audience and figure out the route in.

Talk to Blinkins →