---
name: segment-and-split-test
description: Take any company website from zero to a segmented, split-testable outbound market. Runs the baseline research prompt, a deeper pass (case studies, buyer language, KPIs, unique titles, EDP/PVP, uncommon data sources), a skin-in-the-game waterfall (DNS, blog, recency, ads, hiring, score), a location-count and buying-control check, right-lead finding, and turns each segment into a one-variable split test. Use when someone says "research this company's market", "segment this ICP", "who should we email at X", or "set up a split test for a net-new campaign".
version: 1.0.0
author: joinlegion
credit: Evidence rules (source, date, present/absent-with-reason) and the free-source discovery procedure are adapted from Jordan Crawford's gtm-engineer-starter, MIT License, Copyright (c) 2026 Jordan Crawford / Blueprint, https://github.com/SantaJordan/gtm-engineer-starter. Keep this credit if you reuse those parts.
license: MIT
requires-keys: []
---

# Segment and split test: from one website to a testable market

Worked example throughout: Ascenix (ascenix.co, YC F26), "the incident intelligence layer for long-term care." Its buyers are long-term care homes, skilled nursing facilities, retirement homes and the companies that run them.

## Ground rules (apply to every step)

1. **Every claim carries a source URL and the date you saw it.** No source, no claim.
2. **Present or absent, never blank.** If a field is absent, write why. "Did not look," "looked and found nothing" and "site blocked us" are three different answers. Unknown is never the same as no.
3. **No invented stats, quotes or customers.** Quote exactly or label it as a paraphrase.
4. **Product-level problems only.** Ignore complaints about support, billing or bad service.
5. **AI writes queries, a human verifies them.** Every query in this file is labelled TESTED (with where it was tested) or UNTESTED. Run untested ones in Google before you build a list from them.
6. **One campaign, many tags.** Never build one campaign per segment. Tag recipients and cut results by tag.

---

## Step 1: The baseline research prompt (the captain's prompt, verbatim)

Paste this into a research-capable AI (Claude, ChatGPT deep research, Codex, Grok). Replace {WEBSITE PROVIDED}.

```text
Budget: 400 targeted searches. I need you to gain an understanding of the ICP of {WEBSITE PROVIDED}. Start by digesting their home page contents, researching the founder and finding PR about the company. Distill that company information into a well defined value proposition, if information is limited on the product, do further domain level research to fill in the blanks. Try to find competitors of the brand by researching 'alternatives to X' on google. Based on the number of competitors in the market and their maturity, create an assessment of the current market age -> is the product emerging, or is there some awareness, vs does the whole market already have a solution? Include a column on how we can position against it. Explore relevant subreddits, competitors trust pilots or complaints about the old solution in order to get a feel for the exact language they use to describe their problems. Rank their problems from big business concerns to personal issues, focus on product level problems not support or bad service. Create an old vs new matrix based on this. Outputs: Company Summary in plain language; target industries and personas + the website of 2 companies they'd want to sell to and why; the before and after matrix to understand market maturity; real problems their target market talks about in their own words with links to sources; competitors including battlecards; relevant subreddits, threads, and links to review sites (sources are very important); what publicly available databases can give us proprietary data on their market or act as a signal for outreach (RFPs, gov contracts etc). Full research report should be 3-5 pages in a google doc.
```

Run it in ChatGPT with deep research turned on. Paste the prompt above, then paste these lines right under it so the research covers the things that matter most for segmentation and copy:

```text
Also do the following, and cite a source for each:
1. Insider language: pull exact phrases from Reddit threads where the target buyers talk to each other. Quote them word for word with links. I want the words they use with peers, not the words vendors use.
2. Parent company vs subsidiary: work out whether the company (and each example target) is a parent, a subsidiary, or run by a management company, and who owns whom.
3. Unique offers: list every offer the company makes that is unusual for its market (guarantees, free trials, pricing models, "free if it doesn't work" style offers, integrations).
4. What they position against: this is the most important part. Identify exactly what the company positions itself against: a named competitor, a legacy tool, a manual process, or doing nothing. Quote the lines on their site that show it.
5. Old way vs new way: always define the old way of doing this job and the new or current way, side by side.
6. Market maturity from competitors: count the competitors and note how old each one is. Few or young competitors means an emergent market: buyers do not know the category yet, so the copy has to explain the problem and the new way. Many or old competitors means buyers already know the category and are probably getting outreach about it already, so the copy has to say why this is different from what they already have or have been pitched.
```

The positioning question is the one I care about most. If you know what a company positions against, you know the old way, you know the objection, and you know the angle.

This is the baseline. It tells you what the company sells, who buys it, and where the market's own words live. Everything below goes deeper from it.

---

## Step 2: The deeper pass (step 1b)

Paste this into the same chat after the baseline comes back.

```text
Using the baseline report above, go deeper. Budget: 200 more targeted searches. Sources are mandatory for every line.

1. CASE STUDIES AND OUTCOMES. Find every public case study, testimonial, press quote and customer logo for the company. For each: customer name, customer type and size, what they measured, the exact numbers, the time frame, and the link. Do not round or restate numbers. If there are no case studies, say so and list the closest public benchmark we could offer instead.

2. BUYER LANGUAGE IN THREE BUCKETS. Quote the target market (Reddit, review sites, forums, LinkedIn posts, trade press, regulator reports) in their own words:
   a. Make money: revenue, reimbursement, growth they are missing.
   b. Lose money: fines, penalties, lawsuits, churn, rework, write-offs.
   c. Time: hours lost, manual work, nights and weekends.
   Give the exact quote and the link for each.

3. MAKE-OR-BREAK KPIs. For each persona, list the numbers they are held to, who holds them to it (board, regulator, owner, corporate), and where that number is published if it is public.

4. JOB TITLES THAT ONLY EXIST AT THESE COMPANIES. List the titles that exist almost only in this market (for long-term care: Executive Director of an assisted living facility, Director of Nursing, Director of Care, Nursing Home Administrator, MDS Coordinator). For each, say which function it controls and whether it holds budget.

5. EDP AND PVP IDEAS. Write five EDP (evidence-driven pain: a pain we can prove from a public record about that specific account) and five PVP (permissionless value proposition: something useful we hand them before they reply) message ideas. Each must name the public data source it depends on.

6. UNCOMMON DATA SOURCES AND DIRECTORIES. List government datasets, regulator lists, inspection records, licensing rosters, association member directories, conference exhibitor and speaker lists, procurement portals and job boards specific to this market. For each, list the fields it has that a normal data vendor (Apollo, ZoomInfo) does not, the date field, and how far back it goes.

Label anything you could not verify.
```

### How to check whether a data source really has extra fields

Do this for every source the AI suggests before you trust it (adapted from gtm-engineer-starter's free-source discovery procedure):

1. **Write the chain.** Pain, then what the company does about it, then what public trace that leaves. Example: "falls are not followed up" then "inspectors cite it" then "a deficiency row with an F-tag and a survey date."
2. **Pull one real record** for one company you know. Write down every field you saw. A source you have not pulled a record from does not go on the list.
3. **Find the date field and the depth.** What dates each record, and what is the oldest record? A source that starts in 2024 cannot show 2022.
4. **Compare to your vendor.** If the field (F-tag, star rating, licensee, bed count, enumeration date) is not in your normal data vendor, it is proprietary-feeling data and a segment you can own.
5. **Classify it.** Point-in-time (each record has its own date, so it can show change) or current-state-only (shows today, so use the Wayback Machine for the past).

Long-term care sources that pass this test (fields listed are from the published data dictionaries; pull one record yourself before relying on them):

| Source | Extra fields | Use |
|---|---|---|
| CMS Provider Information (data.cms.gov/provider-data/dataset/4pq5-n9py) | Beds, census, ownership type, chain name and size, star ratings by domain, staffing hours, turnover, fines, ownership change, Special Focus status | Base table, chain = parent company |
| CMS Health Deficiencies (data.cms.gov/provider-data/dataset/r5ix-sfxw) | One row per citation: survey date, F-tag (F689 accidents, F686 pressure ulcers, F842 records), scope and severity, correction date | Pain segment |
| CMS SNF All Owners and Change of Ownership files (data.cms.gov) | Owners, managing-control parties, buyer, seller, dates | Parent company, growth trigger |
| CMS Payroll Based Journal (data.cms.gov) | Daily paid hours by role, census | Staffing strain |
| NPPES NPI Registry (npiregistry.cms.hhs.gov) | Enumeration date, taxonomy, authorized official name and phone | New-location signal, owner contact |
| Ontario LTC public inspection reports (publicreporting.ltchomes.net) | Inspection date and type, findings, compliance orders, licensee | Ontario pain segment, parent company |
| RHRA register (rhra.ca) | Licensed retirement homes, services, inspection reports | Retirement home list |
| SAM.gov, VA CLC inspections, state Medicaid and county procurement portals | Solicitations, scope, deadlines, awards | RFP timing |

---

## Step 3: Decompose the market

### Build the local list: Google Maps scraper from RapidAPI

For local businesses (care homes are local businesses), start the company list from Google Maps. We use a Google Maps scraper through RapidAPI (the Maps Data API) to pull name, domain, phone, address, category and review counts by search term and location, for example "nursing home" or "long-term care home" city by city. Queue the geography as an overnight job. Then qualify a sample before you pay for any enrichment, and find the people separately: Maps gives you companies, not people.

Status: TESTED for list building in one of our outbound pipelines (Sep 22-23, 2026 runs: 5,446 accounting rows and 10,568 AEC rows through RapidAPI Maps Data). Not yet run on long-term care.


Break the market into types before you segment. For Ascenix:

| Market type | Regulator and money | Primary personas |
|---|---|---|
| Ontario / Canadian long-term care homes | Ministry inspections, provincial funding | Administrator, Director of Care, IPAC and falls leads |
| US skilled nursing facilities | CMS surveys (F-tags), Five-Star, Medicare/Medicaid | Administrator, Director of Nursing, MDS Coordinator |
| Retirement homes / assisted living | RHRA (Ontario) or state licensing | Executive Director, Wellness Director |
| Multi-home operators and management companies | All of the above, across homes | VP Clinical Services, VP Quality, COO |

Then split by type of service (LTC only, LTC plus retirement, continuum campus, memory care or behavioural units), EHR (PointClickCare, MatrixCare, Yardi, other) and public quality (star rating, inspection findings, review themes).

---

## Step 4: The skin-in-the-game waterfall (the main split-test axis)

A company actively investing in growth has skin in the game. It wants to protect and grow that investment. That makes "investing vs not investing" the cleanest first split test: same copy, same offer, same day, and only the segment changes. Run the checks in this order, cheapest first. Stop spending on a row once you have the answer.

### 4.1 DNS check (free, no website fetch)

Tells you what the company has wired up before you load a page: email provider, marketing tools, a Meta Business verification, blog or resources subdomains.

```bash
D=example.com
# TXT: SPF includes and verification tokens (marketing tools, Meta Business, Google, HubSpot)
curl -s "https://dns.google/resolve?name=$D&type=TXT" | python3 -c "import sys,json;[print(a['data']) for a in json.load(sys.stdin).get('Answer',[])]"
# MX: Google, Microsoft 365 or other
curl -s "https://dns.google/resolve?name=$D&type=MX" | python3 -c "import sys,json;[print(a['data']) for a in json.load(sys.stdin).get('Answer',[])]"
# CNAME / A on common content subdomains
for s in blog news resources insights stories careers jobs; do
  r=$(curl -s "https://dns.google/resolve?name=$s.$D&type=CNAME" | python3 -c "import sys,json;print(' '.join(a['data'] for a in json.load(sys.stdin).get('Answer',[])))")
  [ -n "$r" ] && echo "$s.$D -> $r"
done
```

What to read from it:
- `facebook-domain-verification=` in TXT: the company has verified its domain in Meta Business Manager. Strong hint it runs or ran Meta ads. Confirm in the Ad Library (4.4).
- SPF includes such as `hubspotemail.net`, `servers.mcsv.net` (Mailchimp), `sendgrid.net`: they send marketing email.
- A `blog.` or `resources.` CNAME to a CMS host (HubSpot, WordPress, Webflow): a content program exists.
- MX: Google vs Microsoft 365 vs other. Useful for deliverability routing, and in some markets it predicts who replies.

Status: TESTED. DNS MX classification ran on 14,001 trades firms and TXT token probing ran on a 400-domain sample in one of our outbound pipelines. Live check on an Ontario long-term care operator from one of our outbound pipelines on Oct 20, 2026 returned a `facebook-domain-verification` TXT record and a GoDaddy (secureserver.net) MX.

### 4.2 Blog or resources check

Does a content surface exist? Try the conventional paths and treat a soft 404 (a "page not found" that returns 200) as absent.

```bash
D=example.com
# Fingerprint the site's 404 first, so a soft 404 is not mistaken for a page
curl -s -o /dev/null -w "nonsense:%{http_code} %{url_effective}\n" -L "https://$D/lg-$(openssl rand -hex 6)"
for p in /blog /news /insights /resources /resources/blog /stories /updates; do
  curl -s -o /dev/null -w "$p:%{http_code} %{url_effective}\n" -L -m 12 "https://$D$p"
done
```

Rules (from our page-signals checker): `present` = a path rendered a real page that is not the 404 fingerprint and did not bounce to the home page. `absent` = every path 404ed, soft-404ed or bounced home. `unknown` = blocked (401, 403, 429) or unreachable. Never treat unknown as no.

Google versions:

```text
site:{domain} resources OR guides OR whitepapers
site:{domain} blog OR pricing OR demo
site:{domain} "subscribe" OR "newsletter" OR "sign up"
```

Status: TESTED. The path waterfall is our deterministic page-signals checker (blog paths /blog, /news, /insights, /resources/blog; soft-404 fingerprint). Live run on an Ontario long-term care operator from one of our outbound pipelines on Oct 20, 2026: blog present at /blog/, careers present at /careers/. The three Google queries are validated champion patterns (avg quality 4.0 of 5) from our research-process builder, across 3,357 searches on 25 companies (process: find-growth-signals, validated 2026-03-18).

### 4.3 Recency check (are they still posting?)

A blog with no post in a year is a cost center that stopped, not an investment.

```bash
D=example.com
# Sitemap index: the newest lastmod on the post sitemap is the last time a post changed
curl -sL -m 15 "https://$D/sitemap.xml" | grep -Eo "<loc>[^<]+</loc>|<lastmod>[^<]+</lastmod>" | head -20
curl -sL -m 15 "https://$D/post-sitemap.xml" | grep -Eo "<lastmod>[^<]+</lastmod>" | sort -r | head -3
# RSS / Atom: newest item date
for f in /feed /rss /blog/feed /feed.xml /rss.xml /blog/rss.xml; do
  curl -sL -m 10 "https://$D$f" | grep -Eo "<(pubDate|updated)>[^<]+" | head -1 | sed "s#^#$f #"
done
```

Google version (date operator):

```text
site:{domain} (inurl:blog OR inurl:news) after:{date 90 days ago}
```

Tag: `blog=active` (post in last 90 days), `blog=stale` (blog exists, nothing in 90 days), `blog=none`.

Status: the sitemap check was live-run on an Ontario long-term care operator from one of our outbound pipelines on Oct 20, 2026 (WordPress Yoast index; post-sitemap lastmod 2026-10-20). The RSS paths and the `after:` query are UNTESTED as a system.

### 4.4 Ads check: Meta Ad Library and Google Ads Transparency

Live ads mean money is going out the door right now.

- Meta Ad Library (free, public): `https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=ALL&q={company name}&search_type=keyword_unordered`. Better: search by the company's verified Facebook page, which you find from the website's footer links.
- Google Ads Transparency Center (free, public): `https://adstransparency.google.com/?region=anywhere&domain={domain}`
- Free tools to run these at scale: Meta ad scraper [LINK PLACEHOLDER: Meta ad scraper] and Google Ads Transparency checker [LINK PLACEHOLDER: Google Ads Transparency checker].

Rules that came out of testing:
- Only an ad library can mark a channel active. A "Book a demo" button on the home page is not evidence of ads. (That exact mistake is what failed our second version.)
- If you cannot find a verified social page from the company's own site, the Meta answer is `unknown`, not `no`.
- Meta rate-limits. Space bulk jobs, and treat an empty result on a matched page as lower confidence.
- A `facebook-domain-verification` TXT record without live ads = `ads=pixel_or_verified_only`.

Tags: `ads=yes`, `ads=pixel_or_verified_only`, `ads=no`, `ads=unknown`.

Status: TESTED. Our ads enrichment (Google Ads Transparency adapter plus a local Meta Ad Library scraper) scored 1.00 on dev and holdout at version 3 after version 2 scored 0.50 / 0.625. Caveat recorded with that result: ground truth was drafted from the same collection, and of 10 companies Meta came back 2 active, 3 inactive and 5 unknown (no verified social handle). It is still awaiting human review, so treat it as tested, not approved.

### 4.5 Hiring check

```text
{company_name} careers
site:{domain} inurl:careers
(site:jobs.ashbyhq.com OR site:boards.greenhouse.io OR site:jobs.lever.co) "{company_name}"
```

Plus the path waterfall (/careers, /jobs, /join-us, /work-with-us, /about/careers). A careers path that redirects to an applicant tracking system (Greenhouse, Lever, Ashby, Workday, BambooHR, SmartRecruiters and others) counts as present and is the strongest "actively hiring" evidence. For long-term care, frontline backfill (PSW, CNA, RN) is constant. Only count leadership or new-home roles (Director of Care, DON, Administrator, Executive Director, VP Clinical) as growth.

Status: `{company_name} careers` is TESTED (validated champion pattern, avg quality 4.0 of 5 across all four company tiers, find-hiring, 3,357 searches on 25 companies). The ATS and site: queries were posted by the captain on Oct 8 and are part of our ATS waterfall. The path waterfall is TESTED (page-signals checker; careers present on a pipeline account on Oct 20, 2026). The "leadership roles only" rule for LTC is UNTESTED.

### 4.6 Score

| Signal | Points |
|---|---|
| Blog active (post in last 90 days) | 1 |
| Running ads on Meta or Google (ad library confirmed) | 1 |
| Leadership or new-home hiring, acquisition, redevelopment or new beds in last 12 months | 1 |
| Marketing infrastructure in DNS (Meta verification, marketing email SPF) | 0.5 |

`investing=yes` at 2 or more. `investing=no` below 1. Between 1 and 2 is `investing=maybe`: keep it out of the first test so the two arms are clean.

---

## Step 5: Location count and who holds buying control

Count locations, then decide whether the location can buy or whether you go up to the parent.

```text
site:{domain} (inurl:locations OR inurl:homes OR inurl:communities OR inurl:residences)
site:{domain} ("our homes" OR "our communities" OR "our locations" OR "find a home")
"{home_name}" ("managed by" OR "operated by" OR "a member of" OR "owned by")
site:publicreporting.ltchomes.net "{home_name}"
```

```bash
# Count location pages in the sitemap
curl -sL https://{domain}/sitemap.xml | grep -Eo "<loc>[^<]+</loc>" | grep -Ei "location|home|communit|residence" | wc -l
# Did the count grow? Compare with a capture from a year ago
# https://web.archive.org/web/2025*/{domain}/locations*
```

Data shortcuts: CMS Provider Information has chain name and number of facilities in the chain. CMS SNF All Owners lists managing-control parties (the management company). Ontario inspection reports name the licensee.

| Locations | Who decides (Ascenix hypothesis) | Who you email |
|---|---|---|
| 1 (independent, non-profit, municipal or county home) | The home | Administrator, plus Director of Care / DON |
| 2 to 10 (regional operator) | Owner, CEO or one head-office clinical leader | VP or Director of Clinical; the home's Director of Care as champion |
| 10+ or a management company | The parent | VP Clinical Services, VP Quality or Risk, COO; local staff are champions, not buyers |

Evidence for the hypothesis: Ascenix's public case study was led by the customer's VP of Clinical Services and runs "in every home," and its leadership dashboard compares every home side by side. Test it rather than assume it.

Status: the location queries and the sitemap count are UNTESTED. The CMS and Ontario fields come from the published data dictionaries; pull one record before relying on them.

---

### Third split: nonprofit vs for-profit

This is one of the obvious splits, and in long-term care it is a big one. Nonprofit, municipal, county and faith-based homes buy differently from for-profit chains: boards, budgets tied to funding cycles, and procurement rules on one side; owners, margins and portfolio growth on the other. Ascenix's own case study page says it runs in homes "including non-profits," so both groups are in play.

How to detect it (UNTESTED as a system, test on 20 known homes first):
- US: search the name in ProPublica Nonprofit Explorer (projects.propublica.org/nonprofits), which shows IRS Form 990 filings: revenue, expenses, top officer pay and the officers' names. The CMS Provider Information file also has an ownership type field (for-profit, non-profit, government).
- Canada: search the Canada Revenue Agency list of charities (apps.cra-arc.gc.ca/ebci/hacc/srch/pub/dsplyBscSrch) for the legal name; registered charities file annual returns with revenue and directors.
- Website: a .org domain plus the words "non-profit," "not-for-profit," "charitable" or "registered charity" on the site.

```text
site:{domain} ("non-profit" OR "not-for-profit" OR "nonprofit" OR "registered charity" OR "charitable organization")
site:projects.propublica.org/nonprofits "{home_name}"
"{home_name}" ("Form 990" OR "990")
"{home_name}" ("charitable registration number" OR "registered charity")
site:{domain} ("municipal" OR "county home" OR "operated by the County" OR "operated by the City")
```

Tag: `ownership=nonprofit|forprofit|government|unknown`.

---

## Step 6: Find the right lead

Right-lead system: [LINK PLACEHOLDER: right-lead identification system]

### 6.1 Unique titles first

```text
site:linkedin.com/in "{company_name}" AND ("Title" OR "title2")
site:linkedin.com/in ("Director of Care" OR "Assistant Director of Care") ("long-term care" OR "LTC")
site:linkedin.com/in ("Director of Nursing" OR "DON") ("skilled nursing" OR "nursing home")
site:linkedin.com/in ("Nursing Home Administrator" OR "Licensed Nursing Home Administrator")
site:linkedin.com/in "Executive Director" ("assisted living" OR "senior living" OR "retirement residence")
site:linkedin.com/in ("MDS Coordinator" OR "RAI Coordinator") ("skilled nursing" OR "long-term care")
site:linkedin.com/in ("Vice President of Clinical Services" OR "Regional Director of Clinical Services") ("long-term care" OR "skilled nursing")
```

The first line is the captain's posted template. The LTC title lines are UNTESTED.

### 6.2 Owner and leadership search (tested)

```text
site:linkedin.com/in "{company}" (CEO OR founder OR owner OR president OR partner OR principal)
"{company_name}" {city} site:bbb.org
"{company_name}" {city} {state}
```

Status: TESTED. The LinkedIn owner query ran through a Google results API (Serper) as a gap-fill for 1,293 domains with no people from our data vendor and returned 3,283 people rows on 756 domains with 0 failures (one of our outbound campaigns). The BBB then direct-search pair is our validated local business website and owner process: 93% accuracy across 15 businesses in 3 tiers; BBB returns website, owner or principal name, address and phone in one page. For care homes, also check the NPPES authorized official on the organization's NPI.

### 6.3 Trick of the trade: LinkedIn profile-body keywords

Titles vary and lie. What people write in their About and Experience sections tells you what they actually control. Google indexes that text, so a quoted phrase finds the person who "oversees the falls prevention program across six homes" even when their title says nothing about falls. Inside LinkedIn or Sales Navigator, the keyword box searches the whole profile too.

```text
site:linkedin.com/in "falls prevention" ("long-term care" OR "nursing home")
site:linkedin.com/in ("responsible for" OR "oversee" OR "lead") "falls program" "long-term care"
site:linkedin.com/in "QAPI" ("skilled nursing" OR "SNF") ("led" OR "oversaw" OR "responsible")
site:linkedin.com/in "PointClickCare" ("implementation" OR "super user" OR "rollout") ("long-term care" OR "skilled nursing")
site:linkedin.com/in "risk management" "incident" ("long-term care" OR "senior living")
site:linkedin.com/in ("IPAC" OR "infection prevention") "long-term care" "Ontario"
site:linkedin.com/in "survey readiness" ("skilled nursing" OR "nursing home")
site:linkedin.com/in "MDS" ("PDPM" OR "case mix") "skilled nursing"
```

Status: UNTESTED. No tested profile-body asset was found; test before using.

---

## Step 7: Turn each segment into a split test

1. **One variable.** The first test's variable is the segment: investing vs not investing. Copy, offer, sender, send day and infrastructure stay identical.
2. **One-sentence hypothesis.** "Investing operators reply at a higher rate than non-investing operators to the same inspection-risk email."
3. **Decide outcomes before you send.** Write what counts as success, failure and inconclusive. Launch both arms the same day on the same infrastructure and read at day 21. Under about 500 sends per arm you usually cannot tell signal from noise. If reply rate is under 1% after 200+ sends, check infrastructure and copy before blaming the segment.
4. **Tags, not campaigns.** `investing=yes|no`, `locations=1|2-10|10+`, `ownership=nonprofit|forprofit|government`, `buyer=location|parent`, `pain=high|low`, `service=ltc|ltc_retirement|continuum`, `ehr=pcc|matrixcare|yardi|other`. One campaign, cut by tag.
5. **Second test inside the winner.** Once the segment result is clear, change one thing inside the winning segment: the angle (lose money vs time), then the persona (location vs parent), then the CTA.
6. **Monthly routine.** Once a month, read results by tag, keep the winner as the new control, and pick the next single variable.

What each cell suggests (hypotheses to test):

| | High pain (recent findings, low stars) | Low pain |
|---|---|---|
| Investing | Lead with risk to the homes they are adding | Lead with time saved and one standard across homes |
| Not investing | Lead with survey readiness and the next inspection | Control group, lowest priority |

---

## Step 8: Full query bank

Copy-ready. TESTED items say where. Everything else is UNTESTED.

```text
=== TESTED (validated champion patterns, research-process builder, 3,357 searches, 25 companies, 2026-03-18) ===
{company_name} careers
site:{domain} blog OR pricing OR demo
site:{domain} resources OR guides OR whitepapers
site:{domain} "subscribe" OR "newsletter" OR "sign up"
site:linkedin.com/company/{company_name}
{company_name} review

=== TESTED (owner and people search) ===
site:linkedin.com/in "{company}" (CEO OR founder OR owner OR president OR partner OR principal)
"{company_name}" {city} site:bbb.org
"{company_name}" {city} {state}

=== POSTED BY THE CAPTAIN (Oct 8, 2026) ===
site:{domain} "Careers" OR "Hiring"
site:{domain} inurl:careers
(site:jobs.ashbyhq.com OR site:boards.greenhouse.io OR site:jobs.lever.co) "{COMPANY_NAME}"
site:linkedin.com/in "{COMPANY_NAME}" AND ("Title" OR "title2")
site:{website} "info@" OR "@gmail" OR "@yahoo"

=== UNTESTED: blog exists and is active ===
site:{domain} (inurl:blog OR inurl:news OR inurl:stories OR inurl:updates)
site:{domain} (inurl:blog OR inurl:news) after:{date 90 days ago}
site:{domain} intitle:"blog"

=== UNTESTED: running ads (URL templates and footprints) ===
https://adstransparency.google.com/?region=anywhere&domain={domain}
https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=ALL&q={company_name}&search_type=keyword_unordered
site:{domain} (inurl:lp OR inurl:landing OR inurl:campaign)
site:{domain} ("book a tour" OR "schedule a tour")

=== UNTESTED: hiring and expansion (LTC) ===
(site:indeed.com OR site:ca.indeed.com) "Director of Care" "long-term care"
(site:indeed.com OR site:ca.indeed.com) ("Director of Nursing" OR "Administrator") "skilled nursing" "{city}"
"{operator_name}" ("acquires" OR "acquired" OR "acquisition") after:2026-01-01
"{operator_name}" ("redevelopment" OR "new home" OR "new beds" OR "groundbreaking" OR "grand opening")

=== UNTESTED: location count and locations pages ===
site:{domain} (inurl:locations OR inurl:homes OR inurl:communities OR inurl:residences)
site:{domain} ("our homes" OR "our communities" OR "our locations" OR "find a home")

=== UNTESTED: nonprofit vs for-profit ===
site:{domain} ("non-profit" OR "not-for-profit" OR "nonprofit" OR "registered charity" OR "charitable organization")
site:projects.propublica.org/nonprofits "{home_name}"
"{home_name}" ("Form 990" OR "990")
"{home_name}" ("charitable registration number" OR "registered charity")
site:{domain} ("municipal" OR "county home" OR "operated by the County" OR "operated by the City")

=== UNTESTED: parent or management company ===
"{home_name}" ("managed by" OR "operated by" OR "a member of" OR "part of the" OR "owned by")
"{home_name}" ("management company" OR "management services")
site:publicreporting.ltchomes.net "{home_name}"
site:linkedin.com/in ("VP Clinical" OR "Vice President of Clinical Services" OR "VP Quality") "{operator_name}"

=== UNTESTED: LinkedIn profile-body keywords ===
site:linkedin.com/in "falls prevention" ("long-term care" OR "nursing home")
site:linkedin.com/in ("responsible for" OR "oversee" OR "lead") "falls program" "long-term care"
site:linkedin.com/in "QAPI" ("skilled nursing" OR "SNF") ("led" OR "oversaw" OR "responsible")
site:linkedin.com/in "PointClickCare" ("implementation" OR "super user" OR "rollout") ("long-term care" OR "skilled nursing")
site:linkedin.com/in "risk management" "incident" ("long-term care" OR "senior living")
site:linkedin.com/in ("IPAC" OR "infection prevention") "long-term care" "Ontario"
site:linkedin.com/in "survey readiness" ("skilled nursing" OR "nursing home")
site:linkedin.com/in "MDS" ("PDPM" OR "case mix") "skilled nursing"

=== UNTESTED: unique titles ===
site:linkedin.com/in ("Director of Care" OR "Assistant Director of Care") ("long-term care" OR "LTC")
site:linkedin.com/in ("Director of Nursing" OR "DON") ("skilled nursing" OR "nursing home")
site:linkedin.com/in ("Nursing Home Administrator" OR "Licensed Nursing Home Administrator")
site:linkedin.com/in "Executive Director" ("assisted living" OR "senior living" OR "retirement residence")
site:linkedin.com/in ("MDS Coordinator" OR "RAI Coordinator") ("skilled nursing" OR "long-term care")
site:linkedin.com/in ("IPAC Lead" OR "IPAC Manager") "long-term care"

=== UNTESTED: LTC databases and public records ===
site:publicreporting.ltchomes.net "falls prevention"
site:publicreporting.ltchomes.net ("post-fall assessment" OR "post fall")
site:publicreporting.ltchomes.net "compliance order"
"statement of deficiencies" "F689" filetype:pdf
"statement of deficiencies" ("F842" OR "F686") filetype:pdf "{state}"
site:rhra.ca "inspection report" "{home_name}"
("RFP" OR "request for proposal") ("long-term care" OR "nursing home") ("incident management" OR "risk management" OR "clinical analytics") after:2026-01-01
("county home" OR "county nursing home") ("RFP" OR "bid") ("software" OR "EHR")
https://npiregistry.cms.hhs.gov/api/?version=2.1&taxonomy_description=Skilled%20Nursing%20Facility&state={ST}&enumeration_type=NPI-2&limit=200

=== UNTESTED: tech stack and pain language ===
site:{domain} ("PointClickCare" OR "MatrixCare" OR "Yardi")
site:pointclickcare.com "customer-success-story" ("skilled nursing" OR "senior living")
site:reddit.com/r/nursing ("fall report" OR "incident report") ("LTC" OR "nursing home")
site:reddit.com ("PointClickCare" OR "PCC") ("charting" OR "documentation")
```

---

## Free data tools (by Gafar)

Gafar ([github.com/Sirkunle001](https://github.com/Sirkunle001)) has published free, open-source data-sourcing tools. Credit to Gafar. Descriptions come from each repo's own summary (checked Oct 20, 2026). How they fit long-term care is our suggestion and is UNTESTED.

| Repo | What it does | How it could help in long-term care |
|---|---|---|
| [local-business-finder](https://github.com/Sirkunle001/local-business-finder) | Builds local-business lists (name, phone, website and more) | Pull every nursing home and retirement home in a city or province |
| [directory-scraper](https://github.com/Sirkunle001/directory-scraper) | Finds, scrapes and exports companies from B2B directories | Association member directories (OLTCA, AdvantAge Ontario, state health care associations) |
| [competitor-follower-finder](https://github.com/Sirkunle001/competitor-follower-finder) | Pulls a filtered list of a competitor's LinkedIn followers using your own logged-in Chrome, one query per run | Followers of PointClickCare, SafelyYou or other incumbents |
| [linkedin-keyword-signal-monitor](https://github.com/Sirkunle001/linkedin-keyword-signal-monitor) | Monitors LinkedIn keywords and hashtags; finds new posts and the people who post, comment or react | Watch "falls prevention", "survey readiness", "QAPI" |
| [event-people-finder](https://github.com/Sirkunle001/event-people-finder) | Keyless extraction of speakers and sponsors from Brella-powered conferences | Senior care conference speakers and sponsors, if the event runs on Brella |
| [tenant-finder](https://github.com/Sirkunle001/tenant-finder) | Finds a multi-tenant SaaS vendor's customers from Certificate Transparency logs; ships a tested catalog of 130 vendors | Check whether care-home software vendors expose customer subdomains |
| [funded-startups](https://github.com/Sirkunle001/funded-startups) | Turns SEC Form D filings into a clean CSV of recently funded companies with verified websites, keyless | Funded senior care operators and competitors |
| [physical-trades-finder](https://github.com/Sirkunle001/physical-trades-finder) | Prospect lists of local trade businesses across several US states | Other markets |
| [saas-scraper](https://github.com/Sirkunle001/saas-scraper) | SaaS company lists from G2 categories and Product Hunt | Map competitors in G2's long-term care software categories |
| [youtube-channel-finder](https://github.com/Sirkunle001/youtube-channel-finder) | Finds every YouTube channel in a niche | Creator marketing |
| [repolead-core](https://github.com/Sirkunle001/repolead-core) | Developer audience discovery from GitHub | Developer-tool markets |

## Outputs

- `research/baseline.md`: Step 1 report.
- `research/deep.md`: Step 2 (case studies, buyer language, KPIs, unique titles, EDP/PVP, sources).
- `research/sources.md`: one row per data source: fields, date field, depth, one sample record you pulled.
- `research/segments.csv`: one row per account: domain, every tag, the evidence URL and date behind each tag, and `unknown` with a reason where a check could not run.
- `research/tests.md`: hypothesis, arms, tags, success/failure/inconclusive rules, read date.

## Tools and further reading

- Research process creator (builds a tested search process for any company, including the find-people and owner search): [LINK PLACEHOLDER: research process creator]
- Google scraping system (how we built a Google results scraping system): [LINK PLACEHOLDER: Google scraping system article]
- Keenable, independent web search API for agents. Its pricing page says "Start searching with 100K free requests a month" and its docs describe 100,000 free requests a month that reset monthly (checked Oct 20, 2026): https://keenable.ai/pricing
- Jordan Crawford's gtm-engineer-starter (MIT): https://github.com/SantaJordan/gtm-engineer-starter
