Softvole Master ICP v2.1
SOFTVOLE · INTERNAL GTM OPERATING DOCUMENTVERSION 2.123 SEP 2026SUPERSEDES v2.0 AND v1

Master ICP & B2B Outbound Qualification Framework

The single source of truth for who Softvole finds, ignores, researches and contacts first — written so a Clay beginner can follow it, an experienced operator can implement it without asking what a field means, and an AI agent can use it as a system prompt. v2.1 adds the commercial layer: can this agency resell Softvole at a healthy margin?

Requirement & work-type labels
REQUIRED Must be true / must be collected
RECOMMENDED Collect when affordable
OPTIONAL Skip on a tight credit budget
DISQUALIFIER Removes the account or contact
SIGNAL Timing / intent evidence
AI RESEARCH Needs Claygent / AI web research
HUMAN REVIEW Do not trust automation alone
Provenance labels — where a claim comes from
Current ICP Evidence Carried from earlier ICP versions
Pilot Evidence Measured in Batch 001 / market research
Recommended Addition New criterion from GTM practice
Hypothesis Strategic bet, to be proven by results
To Validate Unknown Softvole fact — confirm internally

START HEREHow to use this document

If you are building in Clay

Read §31 Workflow order, then §24 Blueprint, §25 Commercial waterfall, §26 Schema, §27 Credits and §28 Prompts. Build the table column by column in that order.

If you are qualifying or selling

Read §1 Partner economics, §3 the ICP paragraph, §22 Decision tree, §17 Scoring, §18 Goldmine, §30 Messaging and §21 Outreach gate.

If you are an AI agent

Treat §3–§22 as your qualification policy. Never state a fact without evidence; output Unknown when evidence is missing. Judge fit before timing. A buying signal never rescues an agency that cannot afford Softvole.

Beginner mode

Four questions in order. Is it really an agency? Can they afford us and still make money? Do they have a production problem we solve? Is now the right time? Spend credits only on accounts that pass the earlier questions.

Expert mode

Staged funnel with monotonically increasing cost per row: deterministic filters, cheap firmographics, one bundled account-research call, commercial research and the price-fit gate, people search, waterfall contact enrichment, signal providers, final AI qualification with structured JSON, rule-based scoring and gating, human QA, sequencer. Every stage's pass condition is written as a Clay run-condition so later columns never execute on failed rows.

THE ICP IN ONE PARAGRAPHWho Softvole is for

Softvole's ideal partner is an independent, owner-led agency of roughly 5–50 people in the US, UK, Canada or Australia that sells websites to clients at $6,000 or more (ideally $10,000+), builds mainly on WordPress, and does not have enough in-house development capacity to deliver that work reliably and profitably — so it relies on freelancers, one overstretched developer, or turns work away. The clearest sub-type is the design-led studio that produces Figma designs and has no one to build them. The best moment to make contact is when observable evidence shows the gap is open now: they are hiring for web development, a developer just left, they are publicly at capacity, or they are launching more client websites than their team can plausibly build.

Every clause is testable and is scored separately, so an account can pass one and fail another: a perfect-fit agency with no timing signal is Priority B; an agency hiring a WordPress developer that sells $2,500 websites is Nurture, not a lead.

§1Partner economics — what an agency must charge

Everything in this document derives from one relationship: the agency's client price must cover Softvole's production cost plus the agency's own sales, strategy, account management, revisions, overhead and risk.

agency_client_price  ÷  softvole_package_price  =  markup_multiple

≥ 3.0×   comfortable — agency keeps ≥ 67%; no pressure on Softvole's price
2.5×     healthy — the working target
2.0×     thin — possible for retainer-led agencies; expect negotiation
< 1.8×   unviable — the agency cannot sell this profitably, so it will
         either haggle, squeeze scope, or churn after one project
Softvole packagePriceAgency needs to charge (2.5×)Comfortable (3×)Which agency price band that implies
Landing page, build from approved design$1,200$3,000$3,600Band 2+
Website (≤ 5 templates), build from approved design$2,400$6,000$7,200Band 3+
Extra unique template$350–450$875–1,125$1,050–1,350
Business website, design + development$3,500$8,750$10,500Band 4+
Redesign + migration$3,500$8,750$10,500Band 4+
WooCommerce, build from approved design$4,500$11,250$13,500Band 4+
WooCommerce, design + development$6,500$16,250$19,500Band 5
Care · Essential$149/mo$373/mo$447/moClient pays ≥ $350/mo
Care · Growth$299/mo$748/mo$897/moMid-market client
Care · Priority$599/mo$1,498/mo$1,797/moWooCommerce / revenue-critical

The five agency price bands

BandTypical website project the agency sellsWhat they can buy from SoftvolePrice FitICP treatment
Band 1< $3,000Nothing at a viable marginWEAKSuppress. These are the $400-budget, high-revision partners v2.1 exists to exclude
Band 2$3,000–$5,999Landing page only; care EssentialWeak for builds · Acceptable for LPTier 3, LP-led offer, low priority
Band 3$6,000–$9,999Build-from-design website; care Essential/GrowthACCEPTABLETier 1/2 with dev-only offer; design+dev is thin
Band 4$10,000–$24,999Every package including design+dev and Woo dev-onlySTRONGPrimary target
Band 5≥ $25,000Everything, including Woo design+devSTRONGPrimary target for overflow; longest trust cycle

Beginner mode

Before asking “do they need a developer?”, ask “what do they charge for a website?”. If they sell websites for $4,000, they cannot pay Softvole $2,400 and still run their business. That agency isn't a lead, however badly they need help.

Expert mode

Bands are a proxy for gross margin per project, which is the real variable. Two agencies in Band 3 differ if one runs 65% blended gross margin on retainers and the other doesn't. That's why Band interacts with recurring_model: retainer-led agencies can rationally accept ~2.0× on a build because the build is customer-acquisition for a retainer. Encode that as a one-band uplift rule, not as a general loosening of the gate.

§2Why this version exists

Two audits produced this document. v2.0 fixed what ICP v1 got wrong about need. v2.1 fixes what v2.0 got wrong about money.

What v1 got wrong, and v2.0 fixed

v1 ruleProblemNow
“No developer on staff”Binary. Agencies with one overloaded developer are often better prospects; “no developer” can also mean “we never sell websites”.Five-class capacity model (§7)
Marketing agencies as the primary tierMany never sell websites, so there is no web pain to solve.Selling websites is a Tier 1 precondition (§5)
Triggers like “a freelancer fell through”Happens inside the agency; not observable.Observable signal catalogue with dates and decay (§15)
Revenue band as a core criterionDatabase revenue for private 5–50 person agencies is modelled and often wrong by 2–5×.Soft, low-confidence context only
“Synthesised from three AI research passes”Model consensus is not market evidence.Every criterion carries provenance; results override consensus
No exclusions, no scoring, no workflowNothing executable.§17–§31

Pilot Evidence Batch 001: 6 of 16 records (38%) that passed vendor “marketing services” filters were not agencies — a beverage brand, a course business, an ad network, a membership community, a personal brand, an outsourced SDR firm. Site verification is therefore a hard gate, not an option.

What v2.0 got wrong — the commercial gap

GapWhy it matters at Softvole's prices
No measure of what the agency chargesThe most decisive variable was absent. v2.0's commercial score measured project count, recurrence and partner-openness — none of which show ability to pay.
No reseller-margin calculationNothing compared agency price to Softvole price, so qualification was blind to whether the deal is possible.
No design-capability splitWhether design is internal decides which package fits: a studio with a Figma file buys the $2,400 build; an agency without design needs $3,500 design+build and a bigger client budget.
No offer mappingQualification should name the package to pitch, not only a priority class.
No minimum partner valueThree landing pages a year is not a partnership after sales, scoping and account-management time.
No proof-demand estimateHigher-value agencies ask harder questions. That decides the entry motion, not whether to target them.
Existing white-label use counted as purely positiveAn agency locked into a $500-per-site vendor will negotiate hard against Softvole.
Price-sensitive positioning not treated as a disqualifier“Affordable websites”, “$99/month sites” is the agency stating its own economics.

Garbage leads the old rules produced

  • High-volume local-business agencies selling $2,000 sites — perfect capacity fit, impossible margin.
  • Volume scoring that ranked a cheap 60-site-a-year shop above a studio doing four $25,000 builds.
  • Capacity A agencies that subcontract everything at the lowest price they can find.
  • Agencies whose portfolio is builder-based (Wix, Squarespace, GoDaddy) reading as “sells websites”.
  • 20-person social-media agencies scoring on headcount while selling two websites a year.
  • SEO agencies whose real demand is small hourly tasks — an offer mismatch that looks like a price objection later.

Good leads the old rules rejected

  • Capacity D agencies with real dev teams and high prices — budget, process and peak-load pain. Now Tier 2-Premium (§5), not −8 points.
  • Branding and design studios doing three high-value brand-plus-site projects a year — low count, high value, perfect for build-from-design.
  • Independent agencies of 51–150 people with a small web function and Band 4+ pricing.
  • Agencies under NDA with little public portfolio — Unknown now routes to research, never to rejection.
  • Mixed-stack agencies that use Webflow for marketing sites and WordPress for content-heavy or WooCommerce clients.

Hard filters vs soft signals

Hard filters

  • Not a client-service agency (site-verified)
  • No working website / parked domain
  • HQ outside target geographies
  • Solo operator, no team evidence
  • Software / app / IT development firm (Capacity E)
  • Sells white-label development to agencies (competitor)
  • Publicly listed or network-owned with central production
  • PR-only, events, print, staffing, media owners
  • > 200 employees
  • Price band 1, or “affordable/budget website” positioning
  • Builder-only portfolio

Soft signals — score, never reject

  • Revenue estimates
  • Exact headcount inside range
  • Developer count
  • Stack mix and platform share
  • Founded year
  • Client industries
  • Canada/Australia vs US/UK
  • Founder social activity
  • Awards, directory listings, reviews
  • Proof demand
  • Any timing signal, at any strength

Automation vs human

FieldDatabases reliable?Method
Is it really an agency?No (38% pilot error)AI RESEARCH + HUMAN REVIEW on all Priority A
What they charge clientsNoAI RESEARCH across several sources (§10) + HUMAN REVIEW when it decides the class
Sells websites, platforms usedPartlyAI RESEARCH + tech lookup on portfolio domains
Development capacityNo (contractors invisible)AI RESEARCH + people data; HUMAN REVIEW when it decides the tier
Outsourcing / vendor price tierNoAI RESEARCH
Ownership (independent vs network)PartlyAI RESEARCH + HUMAN REVIEW if unclear
Founder post meaningNoAI RESEARCH classifies; HUMAN REVIEW before quoting it
Headcount, location, LinkedIn URL, tech stackYes (mostly)Provider data; spot-check 10%
Part A · Who to target

§3The true ICP — the business situation

Softvole is valuable in one situation: web demand exceeds reliable production capacity inside an agency that owns recurring client relationships and charges enough to pay for production.

DimensionIdeal stateAcceptableLabel
Company typeIndependent client-service agency: branding/design studio, marketing, digital, full-service, web designBoutique consultancy delivering websites as part of its serviceCurrent ICP Evidence
Price band (§1)Band 4–5: sells websites at $10,000+Band 3: $6,000–9,999, build-from-design onlyRecommended Addition
Design capabilityDesign in-house (Figma), production missingNo design capability, but Band 4+ budgetsRecommended Addition
Development capabilityCapacity A (sells web, no dev), B (1 dev, stretched), C (devs plus outsourcing)D with dated overflow evidence; Unknown → researchRecommended Addition
Business modelRetainers plus recurring web projects; care plans soldProject-led with repeat clientsCurrent ICP Evidence
Team structure5–50 people; strategists, designers, account managers; 0–2 developersUp to 6 developers with overflow evidence; up to 150 staff at Band 4+Recommended Addition
Client profileLower mid-market and mid-market: professional services, healthcare, B2B, multi-location, WooCommerce retailSMB with above-average budgetsrevised in v2.1
ServicesWeb design/development listed, with a website portfolioRedesign or migration work driven by SEORecommended Addition
StackWordPress, Elementor, WooCommerce across portfolio sitesMixed stack with meaningful WordPress shareCurrent ICP Evidence
Project volume and value≥ 4 website projects a year, or ≥ 2 at Band 5; estimated annual web revenue ≥ $150k≥ 3 a year, or a care book ≥ 5 sitesRecommended Addition
Partner valuepartner_value_estimate ≥ $20,000/year≥ $7,500/yearHypothesis · To Validate
Outsourcing behaviourUses freelancers or contractors, not locked to a budget offshore vendorNo evidence either wayRecommended Addition
Operational painDelivery bottleneck on builds; freelancer reliability; margin on web projectsOccasional overflowCurrent ICP Evidence
Decision-makingFounder decides alone or with one ops/creative leadFounder plus small leadership teamCurrent ICP Evidence
GeographyUSA, UKCanada, Australia; Ireland, New Zealand, UAE as experimentsCurrent ICP Evidence

Softvole facts this ICP depends on — To Validate

  • Production capacity: concurrent builds, and how many partner agencies can be served without slipping.
  • Unit cost per package, especially care Essential at $149 and Growth at $299.
  • Typical turnaround for a five-template WordPress build.
  • Proof assets: case studies, references, sample builds, QA and accessibility documentation, NDA and white-label terms.
  • Minimum viable partner value per year.
  • Stack depth beyond WordPress: Webflow, Shopify, headless, accessibility, performance.
  • Delivery-team working hours (session context suggests UTC+6).

§4The ten fit dimensions

A company that matches the profile is not the same as a company that can buy, and neither is the same as a company that needs help now. Each dimension is judged separately and stored in its own column.

DimensionQuestionPrimary evidenceStageCan it disqualify?
Firmographic fitWho are they?Headcount, country, category, ownership03–04Yes — geography, size extremes, category
Agency validationIs it really an agency?Client work, case studies, services07Yes — hard gate
Service fitDo they sell what Softvole produces?Services page, portfolio07No web relevance → Nurture or DQ
Capability fitCan they deliver it internally?Team page, engineering headcount, job posts, contractor mentions07Capacity E → DQ
Commercial fitCan they resell Softvole at a margin?Published pricing, directory data, client tier, portfolio quality08Yes — Price Fit is a gate (§10)
Offer fitWhich package do they buy?Design and dev capability, band, client type08No — but drives the pitch
Persona fitDid we find someone who can say yes?Title, seniority, tenure, verified email09–10No contactable persona → Nurture
Pain fitIs there a plausible problem?Service fit plus capability fit13Yes — no plausible pain → DQ
Timing fitIs the problem present now?Dated events ≤ 90 days11–12Never — absence means Priority B
Partnership fitRecurring, or one-off?Retainers, care plans, project volume, partner value13Below minimum partner value → Nurture

Three rules that override everything. (1) Money gates need — an agency that cannot resell Softvole profitably is not a lead, whatever its pain. (2) Intent never rescues fit — intent points are counted only after fit thresholds pass. (3) Fit never implies timing — a perfect-fit agency with no signal is Priority B, not A.

§5Account tiers

Tiers describe account type and fit. Priority classes (§17) combine tier with evidence, commercial gate and timing. A Tier 1 account can still be Priority B or Nurture.

Tier 1A — design and branding studios FIRST PRIORITY

Independent studios of 5–30 people that design websites in Figma and have no, or minimal, build capacity. Band 3–5.

Required evidence: site-verified agency with named client work · web design in services · Figma/UI work visible · ≤ 1 developer · price band ≥ 3 · US/UK/CA/AU.

Why first: the design is already sold and paid for, so Softvole is a clean production cost at $2,400. Shortest trust cycle, clearest offer, lowest proof demand. Hypothesis — the core bet the first 100 accounts must test.

Tier 1B — marketing and digital agencies that sell websites

Marketing, digital or full-service agencies of 8–50 people, band 4–5, with 0–2 developers and recurring clients.

Required evidence: web design/development in services · ≥ 3 website projects in 24 months · capacity A/B/C · price band ≥ 4 for design+build, ≥ 3 for build-from-design.

Why: they buy repeatedly, attach care plans, and their client budgets support every package.

Tier 1C — vertical specialists

Agencies focused on B2B, professional services, healthcare, multi-location or ecommerce clients, band 3+, with limited production capacity. Same requirements as 1B plus evidence that the vertical sustains website budgets (§12).

Tier 2 — secondary

(2a) Small web design agencies, capacity B/C, band 3. Build-from-design only; design+build breaks their margin.

(2b) SEO or CRO agencies that sell full redesigns or migrations, band 3+. Angle: rebuilds with URL preservation and ranking protection. Agencies that only sell small technical fixes are an offer mismatch and belong in Tier 3.

Tier 2-Premium — overflow partners Recommended Addition

Web and development agencies with real internal teams (capacity C or D), band 4–5, 10–150 staff. They understand production, pay on time, and have peak-load pain.

Trust-gated, not downgraded: highest proof demand (§9). Work them in parallel with Tier 1, expect 2–6 month cycles, lead with process evidence and a contained paid pilot.

Tier 3 — experimental

  • Home-services and local-business agencies with evidenced pricing ≥ $6,000 or a care book ≥ 10 sites.
  • PPC/performance agencies buying landing pages only.
  • Webflow- or Shopify-first agencies — only if Softvole confirms platform depth. To Validate
  • Content and social agencies with an occasional web offer.
  • UAE/GCC, Ireland, New Zealand (§14).
  • GoHighLevel and automation agencies — see §36; never mixed into core scoring.

Exclusion

Not an agency · freelancers and solo consultants · software/app/IT development firms · white-label or offshore dev vendors (competitors) · PR-only, events, print, staffing, media owners · network-owned agencies · > 200 employees · outside target geography · no working website · price band 1 or budget positioning · builder-only portfolios. Details and exceptions in §19.

Band-conditional rule

if price_band ≤ 2 then tier = max(tier, 3). No agency type reaches Tier 1 on service fit alone.

§6Agency-type segmentation

One question sets the ranking: how directly does this agency's business create WordPress build work that it cannot deliver itself, at prices that pay for production? Rankings are ordinal and are re-ordered by results (§35).

Agency typeTierProblem Softvole solvesEvidence to look forRaises priorityLowers / disqualifies
Branding / creative / design studios1AThey design sites in Figma and cannot build them. Figma → WordPress is the exact service.Web design in services; Figma/UI work; no developers on team page; band ≥ 3Live WordPress portfolio; “development partner” mentionsPrint/packaging only; band ≤ 2
Full-service marketing agencies1BWebsites sold inside retainer bundles; build is the bottleneck.Website service page; website case studies; band 4–5Capacity A/B; care plans soldNo web offer; band ≤ 2; > 6 in-house devs without overflow
Digital marketing agencies1B if band ≥ 4 · 2 if band 3The website is the conversion layer for their SEO and paid work.Web service page; landing-page workHiring web roles; recent launchesPure paid-media with no site work
Vertical specialists (B2B, healthcare, legal, multi-location)1CRepeat structured builds: location pages, directories, integrations.Vertical focus in positioning; named mid-market clientsMulti-location or franchise clientsMicro-local client base
Web design agencies (design-led, small)2aWebsites are the product; designer-heavy teams run out of build capacity.Designers outnumber developers; band 3+Dev job posting; developer departureBand ≤ 2; dev team ≥ 7
Web / development agencies with real dev teams2-PremiumPeak-load overflow with their standards and review.Capacity C/D; band 4–5; contractor useDated overflow evidence; dev departureThey sell white-label dev themselves → competitor
WordPress agencies2Perfect stack match; usually overflow rather than core production.WP specialism; dev headcount; bandCapacity B/C; hiring WP devsCapacity E; sells white-label WP
SEO agencies selling redesigns / migrations2bRebuilds and migrations they are accountable for but cannot code.Redesign or migration in services; technical SEOCase studies mentioning rebuildsOnly small technical fixes → Tier 3 (offer mismatch)
B2B marketing agencies2B2B sites, microsites, rebuilds; mid-market budgets.Website projects for B2B clients; WordPress shareBand 4–5HubSpot-CMS-only or Webflow-only
PPC / performance agencies3Landing pages and test builds.Landing pages/CRO in servicesBand ≥ 3; frequent campaign launchesPlatform-only management
Home-services / local-business agencies3Volume site production.Evidenced pricing ≥ $6,000, or care book ≥ 10 sitesMulti-location clients; franchise work$1,500–3,000 sites → Nurture or DQ
Content / social media agencies3Occasional site builds for retainer clients.Web offer present?Band ≥ 4No web mention
SaaS marketing agencies3Marketing-site production.Stack of client sitesWordPress share ≥ 50%Webflow/React only
Webflow agencies3Only if Softvole has Webflow depth. To ValidateWebflow Experts listing; WordPress shareMixed stack with WordPress clientsDefault: Nurture
Lead-generation agencies3Funnels, usually not WordPress.Funnel stackWordPress landing pages; band ≥ 3Outbound/SDR only → DQ
Advertising agencies (traditional)3Campaign microsites.Digital production in portfolio; independentBand 5, independent, < 150 staffMedia-buying only; network-owned
Software / app / IT development firmsEXCLUDEDevelopment is their product.Documented WordPress overflow → reviewDefault exclusion

§7Internal development capacity

Commercial hypothesis: Softvole sells to insufficient internal development capacity, not to no developer. The question is whether web demand exceeds the agency's ability to build reliably. Hypothesis

ClassDefinitionDetection evidenceEffect on qualificationAngle
A · No visible devNo developers on team page or LinkedIn; websites still appear in services/portfolio0 engineering titles in people data and AI finds no dev on site/team page and web work exists → they outsource somewhereStrong fit only if they sell web. If they don't sell web → service-fit problem, not capacity fit (Tier 2a/Nurture)“Replace unreliable freelancers with a production partner”
B · Thin capacity1 developer (or a designer who builds), likely insufficient for volume1 dev/“web designer & developer” title; ≥ 6 website projects/yr visibleStrongest fit. Single point of failure + proven demand“Back up your developer — overflow, holidays, peaks”
C · Devs + overflow2–6 developers with evidence of outsourcing, contractors or hiringDev headcount 2–6 and (contractor mentions, freelance job posts, open dev role, “partners” page)Strong fit when overflow evidence exists; otherwise treat as D“Flex capacity without another hire”
D · Strong internal teamMature dev team sized to demand, no outsourcing evidence≥ 4 devs incl. senior/lead titles; no dev job posts; no contractor mentionsTier 2-Premium (overflow) when price band 4–5 with dated overflow evidence; otherwise Nurture and revisit on a signalOverflow only, with proof assets
E · Dev is the businessSoftware/web development is their primary productMajority engineering headcount; “custom software/app development”DISQUALIFIER (competitor or non-buyer) unless documented overflow → human review
U · UnknownEvidence insufficientConflicting or missing dataNever scored as A. Research queue; max Priority C

Beginner mode

“No developer found” is not the same as “no developer”. Many agencies use freelancers who don't appear anywhere. Only mark a company as Class A when you have seen their team and there is no developer — and they still sell websites.

Expert mode

Combine two independent sources: (1) people-data count of titles matching developer|engineer|programmer|wordpress|front[- ]?end|full[- ]?stack|webmaster at the company domain, and (2) Claygent reading the team/about/careers pages. Agreement → High confidence; one source only → Medium; neither → U. Also compute dev_ratio = devs / total headcount: > 0.4 suggests E. The sourcing plan's engineering-department sweep (Pilot Evidence: 16,589 engineering staff across US marketing/advertising agencies) is a valid input for source (1); v1 of that pipeline reroutes “multiple engineers” to an overflow track — v2 keeps that logic but requires overflow evidence before treating them as C rather than D.

Second capacity proxy — sales vs production balance Recommended Addition

sales_production_ratio = sales_headcount ÷ max(production_headcount, 1), counted from people data. A ratio above 1.0 at an agency that sells websites means more demand is being created than the team can build. It supports a B or C classification and adds +3 capability points.

§8Web / development service fit

What Clay should check on the agency's website, and what each finding does to qualification.

FindingHow to detectEffectLabel
Offers web designServices nav/page mentions web/website designRequired for Tier 1REQUIRED (T1)
Offers website development“development”, “build”, “WordPress development”+ fit; check who builds (capacity)AI RESEARCH
Sells WordPressService copy; portfolio sites' tech (BuiltWith/Wappalyzer-type lookup on 2–3 portfolio domains)Strong stack fitRECOMMENDED
Elementor / WooCommerceCopy or tech detectionStrong stack fit (exact Softvole capability)RECOMMENDED
Webflow / Shopify onlyCopy, Experts/Partners directories, techDowngrade to Tier 3 until Softvole validates platform depthTo Validate
Landing pagesCopyWeb-adjacent; Tier 2aRECOMMENDED
Website maintenance / care plans“care plan”, “hosting & maintenance”, “support retainer”+ commercial & partnership fit (recurring work)RECOMMENDED
Redesigns / conversion-focused sitesCopy, case studies+ project volumeOPTIONAL
Website case studies / portfolioCount live website projects; note datesRequired evidence of demand; ≥ 6 in 24 months = high volumeREQUIRED (T1)
Developers listed / technical staffTeam page, LinkedInSets capacity classAI RESEARCH
Outsources development / mentions contractors or “network of specialists”Site copy, job posts (“freelance”, “contract”), founder postsStrong positive — proven buying behaviourSIGNAL
Mentions partners / uses a white-label vendorPartners page, footer credits on portfolio sites (“built by …”)Positive (buys already); displacement angle; HUMAN REVIEW for toneSIGNAL
Offers white-label services to other agencies“white label”, “for agencies”, “partner program” aimed at agenciesIf they sell white-label dev → competitor → DISQUALIFIER. If white-label SEO/PPC → still a prospect (they resell others' work)HUMAN REVIEW
No web-related service at allNothing web in services or portfolioTier 2a only if SEO/CRO/LP; otherwise Nurture or DQDISQUALIFIER (if no web relevance)

§9Commercial-fit architecture

Fifteen new fields, four derived. Every one is populatable from public sources or an explicit Unknown — nothing here is theoretical.

New raw fields Recommended Addition

FieldValuesWhere it comes fromRequired?
clutch_min_project_size$1,000 · $5,000 · $10,000 · $25,000 · $50,000+ · Not listedClutch profile (self-reported)RECOMMENDED
clutch_hourly_range<$25 · $25–49 · $50–99 · $100–149 · $150–199 · $200+ · Not listedClutch / DesignRush / Sortlist / UpCityRECOMMENDED
published_pricingtext + URL, or None foundAgency pricing/packages pageRECOMMENDED
published_price_min_sitecurrency, or UnknownParsed from published pricing (“websites from $X”)RECOMMENDED
agency_hourly_rate_sitecurrency/hour, or UnknownAgency's own site (rare but high value)OPTIONAL
client_tiermicro_local · smb · lower_mid · mid_market · enterprise · mixedAI reading client logos, case studies, industriesREQUIRED
client_quality_evidencenamed clients, funding, multi-location, franchise, regulated industriesAI + case studiesRECOMMENDED
portfolio_qualitycustom_high · custom_standard · template_builder · unclearAI assessment of 3 portfolio sitesRECOMMENDED
portfolio_platform_mix% WordPress / Webflow / Shopify / builder / custom across sampled sitesTech lookup on 3 portfolio domainsREQUIRED
design_internalyes · no · unknownTeam page, services, portfolioREQUIRED
dev_internalyes · no · unknown (+ dev_count from v2.0)Team page + people dataREQUIRED
dev_outsourcedyes · no · unknownContractor/partner language, job posts, site creditsREQUIRED
wl_vendor_price_tierpremium · mid · budget_offshore · unknownAI: named vendor, vendor's own pricing, language (“offshore”, “$X/site”)RECOMMENDED
web_projects_per_yearinteger estimate + confidencePortfolio dates, case studies, launch postsREQUIRED
price_sensitive_positioningyes · noKeywords: affordable, budget, cheap, “$99/month”, “websites from $999”REQUIRED — this is a disqualifier
sales_headcount / production_headcountintegersPeople data title classificationRECOMMENDED

Derived fields

FieldHow it is computedUse
typical_site_value_bandWeighted blend of published price, Clutch minimum, hourly range, client tier, portfolio quality (§10§). Output: Band 1–5 + confidenceInput to Price Fit
price_fitStrong · Acceptable · Weak · Unknown — band vs the package the agency would buy, with the retainer uplift ruleGate for Priority A/B
offer_fitbuild_from_design · design_and_build · woo_build · woo_full · redesign_migration · care_only · overflow_capacityDecides the pitch and the pilot
expected_reseller_margin(band midpoint − Softvole price of offer_fit) ÷ band midpointScoring + the margin line used in outreach
sales_production_ratiosales_headcount ÷ max(production_headcount, 1)Capacity-constraint proxy; > 1.0 with web sales = structural bottleneck
partner_value_estimate(web_projects_per_year × Softvole price of offer_fit) + (care_sites × tier price × 12)Ranks partnerships by revenue, not by need
proof_demandlow · medium · high — from band, client tier, agency maturity and whether they employ developersChooses entry offer and sales motion
softvole_commercial_compatibilitySummary label: Compatible · Compatible with pilot · Offer mismatch · Price mismatch · UnknownThe single field a salesperson reads first

Minimum viable partner

A partnership must be worth the sales and management cost. Starting rule HypothesisTo Validate against Softvole's real cost to serve:

partner_value_estimate ≥ $7,500 / year     (≈ 3 build-from-design websites,
                                             or 1 design+build + 1 build,
                                             or 10 Growth care sites)
AND at least one of:
  · ≥ 3 website projects per year, or
  · ≥ 5 sites they maintain (care book), or
  · Band 4/5 with ≥ 2 projects per year

Below this, the account is Nurture, not Priority — even with a perfect capacity story.

Proof demand — how much evidence they'll want before buying

LevelTypical accountEntry motion
LowBand 3, owner-led, 5–15 staff, no developers, already uses freelancersDirect to a scoped first project; references on request
MediumBand 4, 15–40 staff, mid-market clients, one internal developerPaid pilot: one template or one landing page, milestone payments, defect warranty
HighBand 5, agencies with their own dev team, regulated-industry clients, procurement or MSA processesProcess evidence first (QA checklist, accessibility, staging/Git workflow, security, NDA), then a pilot; expect 2–6 months

Proof demand never disqualifies. It selects the motion and sets expectations for cycle length — and high-proof accounts are usually the highest-value partners.

§10Price-fit model

Step 1 — estimate the band from multiple signals

No single signal decides the band. Each contributes weighted evidence; the highest-weight available signals set the estimate, and agreement sets the confidence.

SignalWeightReadingCaveat
Published website pricing on the agency's own site40Direct statement of band“From” prices understate the average; treat as the band floor
Clutch/DesignRush minimum project size25$1,000 → Band 1–2 · $5,000 → Band 2–3 · $10,000 → Band 3–4 · $25,000+ → Band 4–5Self-reported and often aspirational; $5,000 is a common default. Never decisive alone
Clutch/directory hourly range20<$25 → Band 1 · $25–49 → Band 2 · $50–99 → Band 3 · $100–149 → Band 4 · $150+ → Band 5Reflects the agency's cost base as much as its prices
Client tier and named clients20Enterprise/mid-market/regulated/funded → Band 4–5; micro-local → Band 1–2One flagship logo doesn't set the average
Portfolio quality and complexity15Custom templates, structured content, integrations, animation → Band 4+; stock layouts → Band 1–2AI judgement; Medium confidence at best
Portfolio platform mix15Builder-based → Band 1–2; custom WP/Woo → Band 3+Cheap themes ≠ cheap agency, but it correlates
Job-post salary ranges10A US agency advertising $85k+ for a designer prices work accordinglyOnly available when they're hiring
Service positioning language10“Strategy”, “brand systems”, “growth partner” → higher; “affordable”, “fast”, “cheap” → lowerMarketing copy inflates
Geography + agency size5US/UK, 15+ staff → higher baselineWeak on its own
Price-sensitive positioning detectedoverrideForces Band 1–2

Step 2 — confidence

ConfidenceConditionEffect
HighPublished pricing, or two independent signals of weight ≥ 20 agreeing within one bandBand used as-is
EstimatedOne signal ≥ 20, or three proxy signals agreeingBand used; Priority A requires human review
UnknownNo signal above weight 10Priority C research queue; resolve on the discovery call. Never auto-reject

Step 3 — Price Fit

required_price = softvole_price(offer_fit)
band_midpoint  = {1: 2,000 | 2: 4,500 | 3: 8,000 | 4: 17,500 | 5: 35,000}
multiple       = band_midpoint ÷ required_price

multiple ≥ 3.0                        → Strong
multiple 2.2 – 2.99                   → Acceptable
multiple 1.8 – 2.19                   → Acceptable ONLY if recurring_model = retainer-heavy
                                         with evidence (care plans, multi-year clients);
                                         otherwise Weak
multiple < 1.8                        → Weak
band confidence = Unknown             → Unknown
price_sensitive_positioning = yes     → Weak (and DQ_PRICE_BAND if Band 1)

Price Fit is computed per offer. The same agency can be Weak for design+build and Strong for build-from-design — which is exactly why offer_fit must be set before Price Fit.

Step 4 — offer fit

Design internal?Dev internal?Bandoffer_fitPitch
Yes (Figma)No / 13+build_from_design“Your design, built properly — $2,400 for up to five templates”
Yes2–6 + overflow4–5overflow_capacityPeak-load production lane with your QA standards
NoNo4+design_and_buildEnd-to-end production behind your brand
NoNo3build_from_designOnly if they can supply a design; otherwise margin is too thin
AnyAny4+, ecommerce clientswoo_build / woo_fullWooCommerce production with scoped store rules
AnyAny3+, sells SEO/technical workredesign_migrationRedesign with URL/redirect preservation and SEO-risk protection
AnyAny2–3, maintains many sitescare_onlyCare Essential/Growth; builds come later

Step 5 — how Price Fit enters scoring

Price band contributes 12 of the 25 Commercial Fit points, and Price Fit itself acts as a gate on the priority class. Full weights in §17.

New hard gate. price_fit = Weak caps the account at Nurture regardless of every other score. price_fit = Unknown caps it at Priority C until resolved. No signal, no capacity story and no hiring post can override this — the deal simply isn't profitable for the buyer.

§11Business model fit

ModelFit for a recurring white-label partnershipWhy
Retainer-heavy + sells webHighestClients stay for years and keep needing pages, redesigns and fixes; web work arrives continuously.
Mixed (retainers + projects)HighProjects create builds; retainers create maintenance and follow-on work.
Project-heavy web studioMedium–HighVolume is high but lumpy; strong overflow need at peaks.
One-off project agency, low volumeLowFew projects per year → partnership value too small. To Validate: minimum partner value
SMB-focusedHighMany small sites, WordPress-heavy, price-sensitive enough to value an efficient production partner.
Mid-market-focusedHigh (fewer, larger projects)Bigger budgets; higher quality and process expectations (QA, accessibility, documentation).
Enterprise-focusedLowSecurity reviews, procurement, custom stacks; rarely outsource to unknown white-label vendors.

Do not equate higher revenue with better fit. A $3M agency selling 30 small WordPress sites a year with one developer is a better partner than a $12M agency with a 10-person engineering team. Client lifetime-value indicators to capture: client logos with multi-year relationships, “since 20XX” statements, care plans, retainer pricing pages, and case studies that describe ongoing work.

§12End-client profile

Who the agency's clients are sets both how often websites get built and how much the agency can charge. v2.1 rates verticals by budget first, frequency second — the reverse of v2.0.

End-client typeTypical agency price bandWeb frequencyPlatformSoftvole value
Healthcare, dental, clinic groups, multi-locationBand 4HighWordPressBest — location templates, booking, accessibility, recurring care
Professional services (law, accounting, finance, consulting)Band 4Medium–HighWordPressBest — redesigns, service-page systems, SEO-driven content
B2B, industrial, manufacturingBand 4MediumWordPressHigh — larger sites, catalogues, CRM integrations
Franchise / multi-location brands (any vertical)Band 4–5MediumWordPressHigh — one template, many locations; efficient production
Ecommerce (SMB and mid-market)Band 4–5MediumWooCommerce / ShopifyHigh on WooCommerce; Shopify To Validate
Real estate and propertyBand 3–4Medium–HighWordPress + listing pluginsMedium–High — integration complexity supports price
SaaS and techBand 4MediumWebflow / Next.js / WordPressMedium — stack often mismatched
Nonprofit and educationBand 2–3MediumWordPressLow–Medium — budget-constrained
Home services, trades, local businessesBand 1–2Very highWordPress / ElementorLow — volume is real, margin is not. Only qualifies with evidenced higher pricing
Automotive (dealers, auto services)Band 2–3MediumThird-party platformsLow — inventory platforms dominate; only multi-location groups matter
DTC brandsBand 3–4MediumShopifyLow — little WordPress relevance
EnterpriseBand 5LowCustom / enterprise CMSLow — procurement and security barriers

Scoring: vertical points apply only when price_band ≥ 3. Record client_verticals and measure performance by vertical in §35.

§13Buyer personas (person-level ICP)

Account fit asks “is this the right company?”; persona fit asks “is this the right person?”. Different titles feel different pain and hold different authority.

PriorityTitlesWhy they care / painAuthorityRelevance signalMessaging angle
PrimaryFounder, Co-Founder, Owner, CEO, Managing Director, President, Managing PartnerOwns margin, client relationships and hiring decisions; feels lost deals and freelancer risk personallyFinal decision; can start a paid pilot aloneCompany ≤ 50 staff; active on LinkedIn; posts about growth/hiringMargin and reliability: “sell more websites without hiring”
SecondaryCOO, Head of Operations, Operations Director, Director of Delivery, Head of Production, Project/Delivery Manager (senior)Lives with deadlines, resourcing and freelancer managementStrong influencer; often owns vendor selectionAgency 15–75 staff; ops role existsCapacity and predictability: “a production lane with SLAs”
SecondaryCreative Director, Design Director, Head of DesignTheir designs get compromised by weak builds; Figma→WP fidelityInfluencer; decider in design studiosDesign-led studio; Figma in portfolio“Pixel-perfect builds of your designs”
SecondaryWeb Director, Head of Web, Technical Director, Head of DevelopmentTheir team is the bottleneck; owns overflow decisionsDecider for dev overflow (Tier 2b/3)Capacity C/D; dev hiring“Overflow capacity your team can review and trust”
TertiaryHead of SEO, SEO DirectorCan't ship technical fixes; rankings sufferInfluencer; decider in SEO shopsSEO agency; technical SEO services“Implement your audit recommendations fast”
TertiaryClient Services Director, Account Director, Head of Marketing (at agency)Clients ask for web work they can't promiseLow; route to founderOnly when no primary/secondary foundReferral ask: “who handles web delivery?”

Rule: contact at most 2 people per account, sequenced (primary first, secondary 5–7 days later only if no reply). At ≤ 15 employees, contact only the founder/owner. Recommended Addition

Exclude titles: interns, juniors, individual contributors (designers, developers, SEO specialists), HR/recruiters, finance, sales reps/BDRs, “freelance” titles, advisors/board members. DISQUALIFIER at person level.

§14Geography

Geography is chosen for qualified opportunities, not TAM size. Timezone gaps assume a delivery team on UTC+6 (To Validate). Compliance notes are general information, not legal advice.

Marketv2 priorityWhy it fitsChallengesBuying behaviourTime gap (UTC+6)Compliance note
USAP1Largest agency market; high web prices leave room for white-label margin; outsourcing is normalisedMost saturated with white-label offers; buyers are inbox-fatiguedFast, ROI-driven; responds to specificity and proof10–13 h behind — async delivery, US-morning overlap only in Dhaka late eveningCAN-SPAM: opt-out + physical address
UKP1Dense independent agency scene; English; commercially close to USMore sceptical of offshore quality; expects UK-standard contracts/GDPR data processing termsRelationship- and trust-led; understated tone works5 h ahead of UK — good afternoon overlapPECR/UK GDPR: B2B email to corporate addresses allowed with legitimate interest + opt-out; sole traders treated as individuals
CanadaP2US-like agencies, less saturatedSmaller marketSimilar to US, slightly more conservative10–13 hCASL is strict: rely on conspicuously published business email relevant to role, or obtain consent
AustraliaP2Mature agencies, strong WordPress use, outsourcing to Asia commonSmaller volumeDirect, informal4–5 h ahead of Dhaka — excellent overlapSpam Act: inferred consent via conspicuous publication; identify sender; unsubscribe
Ireland, New ZealandP3 experimentEnglish, agency cultures close to UK/AUSmall marketsAs UK / AUGood (NZ) / as UKGDPR/ePrivacy (IE); NZ Unsolicited Electronic Messages Act
UAE / GCCP3 experimentGrowing agency scene; close timezoneRelationship-first, longer cycles, WhatsApp/LinkedIn over email, price pressure, bilingual (Arabic) sitesSlow trust-building; in-person/network referrals matter2 h — best overlapUAE PDPL; check sector rules

Change from v1: UK raised to P1 alongside the US; UAE/GCC moved from “secondary” to a separate experiment because its buying behaviour needs a different channel mix, which would distort email-based learning if mixed into core cohorts. Recommended Addition

Part B · Signals

§15Why now? Buying-trigger framework

Timing signals answer “why contact them this month?”. Each signal records a date, a source URL and a strength. Recency window: count full value ≤ 90 days, half value 91–180 days, zero after 180 days.

SignalWhat it meansHow Clay detects itStrengthAction
Hiring
Hiring WordPress / Elementor / web / front-end developerCapacity gap acknowledged and budgetedJob-postings enrichment on domain; Claygent on /careersDIRECT+ score; Priority A candidate
Freelance/contract web-dev postingActively buying outside helpJob posts with “contract”, “freelance”; founder postsDIRECT+ score; strongest angle
Hiring web designer (no devs)More design output than build capacityJob postingsINDIRECT+ score
Hiring technical PM / project managerDelivery load risingJob postingsINDIRECT+ score
Hiring Webflow/Shopify developerCapacity gap on another stackJob postingsINDIRECTReview; stack mismatch
Hiring senior dev lead / building an in-house teamThey chose to insourceJob postingsNEGATIVEDowngrade; nurture 6 months
Team change
Developer left in last 90 daysSudden capacity lossPeople data: dev at company with end date; LinkedIn headcount drop in engineeringDIRECT+ score; time-sensitive
New COO/Ops lead joinedProcess and vendor review windowPeople data: start date ≤ 90 daysINDIRECTContact new leader
Capacity
Founder asks for dev/white-label partner recommendationsExplicit active needLinkedIn post search (AI classification)DIRECTContact within 48 h; HUMAN REVIEW
Posts about being at capacity / waitlist / “booked till…”Demand > supplyLinkedIn posts; site bannersDIRECT+ score
Outsourcing announcement / “network of specialists”Buys external productionSite copy, postsINDIRECT+ score (fit + timing)
Reviews mentioning delays on web projectsPossible delivery strainGoogle/Clutch reviews via AIINDIRECTReview only — never quote in outreach
Growth
Headcount growth ≥ 15% in 6 monthsMore clients, more workCompany headcount-growth fieldINDIRECT+ score
New service launch: web design / web devNew web line with no proven deliveryAI on site/news/postsDIRECT+ score
New client wins announcedMore upcoming workPosts, newsINDIRECT+ score
Agency acquisition / merger (as acquirer)Integration loadNewsINDIRECTReview
New office / new marketGrowth contextNews, postsWEAKPersonalization only
Awards / rankingsVisibility, not needNewsWEAKPersonalization only
Project activity
≥ 3 new website case studies/launches in 90 daysHigh current web throughputAI reads portfolio with dates; posts “we just launched…”INDIRECT+ score
New landing-page / campaign launchesBuild demand (Tier 2a)PostsWEAKContext
Technology (these are fit, not timing)
Uses WordPress / Elementor / WooCommerceStack compatibilityTech lookup on agency + portfolio domainsWEAK as timingScores in Capability fit, not Intent
Agency changed own site platform recentlyPossible stack shiftTech historyWEAKContext
Negative / disqualifying events
Layoffs, headcount shrinking > 20%Less workHeadcount trendNEGATIVEDowngrade; nurture
Acquired by a networkCentral production likelyNewsNEGATIVEExclusion review
Announced a white-label dev partnership in last 90 daysJust bought from a competitorPosts, partners pageNEGATIVENurture 6 months

A signal never disqualifies on its own, except the negative events above, which downgrade or move to nurture. DISQUALIFIER status only comes from fit rules.

§16Signal hierarchy

Direct — problem evidently exists

  • Hiring a WordPress/web/front-end/Elementor developer
  • Contract/freelance web-dev posting
  • Founder asks for a dev partner or says they're at capacity
  • A developer left in the last 90 days
  • Launched a web design/dev service line

Value: one direct signal is enough timing for Priority A.

Indirect — problem plausibly exists

  • Hiring web designers or PMs
  • Headcount growth ≥ 15% / 6 months
  • ≥ 3 website launches in 90 days
  • New client announcements
  • Outsourcing/“network” language
  • New Ops leader

Value: two indirect signals ≈ one direct for Priority A.

Weak — context only

  • Uses WordPress/Elementor
  • Awards, new office
  • Generic growth posts
  • Recent blog activity
  • Directory listing

Value: never sufficient alone; used for personalization and tie-breaking.

“They use WordPress” ≠ “They are hiring a WordPress developer.” The first is a fit attribute that tells you Softvole can help. The second is timing evidence that they need help. They live in different score components and must never be summed as the same kind of point.

Part C · Qualification

§17Lead scoring system

Scores are sums of evidence-backed points. Priority is assigned by gates, not by totals. Every point has a business reason. Weights are a starting Hypothesis — recalibrate after Phase 2 (§32).

Order of evaluation

1. Hard disqualifiers   → any true = DISQUALIFIED (stop; no further credits)
2. Fit scores           → Account (20) + Capability (25) + Commercial (25) = FIT /70
3. Commercial gate      → price_fit Weak = max Nurture · Unknown = max Priority C
4. Persona score        → /15  (person level)
5. Intent score         → /15  counted ONLY if Account ≥ 12 AND Capability ≥ 12
6. Negative adjustments
7. Priority class by gates — totals only break ties

Account Fit — 20 points

CriterionPointsBusiness reason
Site-verified client-service agencygate38% of vendor records were not agencies Pilot Evidence
Agency type Tier 1 / Tier 2 / Tier 38 / 5 / 2How directly the business creates WordPress build work (§6)
Employees 8–35 · 5–7 or 36–50 · 51–150 (band ≥ 4 only)5 / 3 / 3Large enough for volume, small enough to lack a dev bench
Geography US/UK · CA/AU · P34 / 3 / 1Price levels, language, outsourcing norms
Independent and owner-led3Founder decides without procurement

Capability Fit — 25 points

CriterionPointsBusiness reason
Sells websites with portfolio · sells websites, no portfolio · web-adjacent only · none10 / 7 / 4 / 0Proven web demand precedes any partnership
Capacity B or C with overflow · A selling web at band ≥ 3 · Unknown, or A at band ≤ 2 · D · E10 / 9 / 4 / 2 / DQInsufficient capacity is the core pain (§7)
WordPress share of sampled portfolio ≥ 50% · 20–49% · < 20%5 / 3 / 0Softvole's delivery capability
Bonus: sales_production_ratio > 1.0 with web sales evidence+3Structural production bottleneck

Commercial Fit — 25 points

CriterionPointsBusiness reason
Price band 4/5 · band 3 · band 2 · band 112 / 8 / 3 / 0Ability to resell at a margin (§10)
Client tier mid-market or regulated/multi-location · lower-mid · smb · micro-local4 / 3 / 2 / 0Client budgets fund the work
Estimated annual web revenue ≥ $150k · $60–150k · < $60k4 / 2 / 0Value, not project count
Recurring evidence: care plans or multi-year clients3Recurring web work, not one-off
Partner-openness with non-budget vendor tier2Proven willingness to buy production at sane prices

Persona Fit — 15 points (per contact)

CriterionPointsBusiness reason
Primary · secondary · tertiary persona (§13)10 / 7 / 4Authority and pain ownership
Email verified valid · catch-all or risky3 / 1Deliverability protects domain reputation
Posted on LinkedIn in last 90 days2Second channel and personalization source

Intent / Timing — 15 points

CriterionPoints
First direct signal ≤ 90 days (91–180 days counts half)10
Each additional direct signal+3
Each indirect signal ≤ 90 days (cap 8)+4
Weak signals (cap 2)+1
Cap 15. Counted only when Account ≥ 12 and Capability ≥ 12, and never when price_fit = Weak.

Negative adjustments

ConditionPoints
Capacity D with no overflow evidence−8
Budget offshore vendor in place, no dissatisfaction evidence−6
Announced a white-label dev partner ≤ 90 days−6 and Nurture
Headcount down > 20% in 12 months−5
Hiring a senior dev lead / building in-house team ≤ 90 days−5
Website stale (no new work or posts in 18 months)−4
Overall research confidence Lowcap at Priority C

Priority classes

Signal Strength is a label, not points: Direct · Indirect-2+ · Indirect-1 · Weak · None · Negative.

ClassConditions (all must hold)Motion
PRIORITY ANo DQ · price_fit Strong, or Acceptable at High confidence · FIT ≥ 48/70 · Tier 1 or 2 · capacity A/B/C, or D with overflow evidence · offer_fit set · partner value ≥ minimum · persona ≥ 10 with valid email · Direct or 2× Indirect signal ≤ 90 days · overall confidence ≥ MediumHUMAN REVIEW then manual personalized outreach, pitch matched to offer_fit, pilot sized to proof_demand
PRIORITY BSame commercial and fit gates as A, but no qualifying timing signalSegment campaign by band and offer. The volume engine — expect 5–8 B for every A
PRIORITY Cprice_fit = Unknown, or FIT 38–47, or band confidence Estimated with conflicting signals, or any key field Unknown (is_agency, sells_web, capacity_class)Research queue: one targeted AI pass, then human check. Resolve before spending contact credits
NURTUREprice_fit = Weak but genuine agency · or partner value below minimum · or capacity D without overflow evidence · or Tier 2-Premium blocked by proof · or a negative timing eventQuarterly monitoring; care-plan or landing-page offer at band 2–3; re-score on a price or growth signal
DISQUALIFIEDAny hard disqualifier (§19), or FIT < 38Suppress with reason code

Beginner mode

Four questions in order: can they pay us and still profit, are they the right kind of agency, is this the right person, is now the right time? Priority A means yes four times, each with evidence.

Expert mode

Build each component as a Clay formula column reading structured JSON fields ({{ai_account.capacity_class}}, {{ai_commercial.estimated_site_value_band}}), never free text. Keep weights in one config lookup table so recalibration needs no formula edits. Write the component breakdown to score_breakdown so any score is auditable, matching the sourcing pipeline's existing Initial Fit Reason convention.

§18What is a Goldmine Softvole lead?

Goldmine v2.1: an agency that repeatedly sells web work at prices that leave it a healthy margin after paying Softvole, has a real production constraint, values reliability over the lowest price, and could plausibly send work every quarter for years.

RequirementEvidence thresholdNew in v2.1?
Commercial capacityprice_fit = Strong, band 4 or 5, confidence Highyes
Repeat web revenue≥ 4 website projects per year, or ≥ 2 per year at band 5, or a care book ≥ 10 sitesyes (value, not count)
Partner valuepartner_value_estimate ≥ $20,000/yearyes
Production constraintCapacity A/B/C at High confidence, or Capacity D with dated overflow evidence; sales_production_ratio > 1.0 supports itrefined
Offer matchoffer_fit set, and the matching Softvole package is one they can buy at ≥ 2.5×yes
Stack match≥ 50% of sampled portfolio sites on WordPress/WooCommercerefined
Values reliabilityNo price-sensitive positioning; evidence of process (QA, accessibility, staging, documented workflow) or complaints about freelancer reliabilityyes
Decision-makerFounder/Owner/MD or delivery/ops lead, tenure ≥ 1 year, valid email, active in last 90 daysunchanged
Timing≥ 1 direct signal ≤ 60 daysunchanged
No disqualifiersNot a competitor, not network-owned, not budget-vendor-locked, no recent white-label dealrefined
Human confirmationA reviewer signs off on band, offer and pain hypothesisunchanged

Priority classes and their gates are in §17.

§19Negative ICP — exclusions and exceptions

ExcludeDetectionReason codeException (route to review)
Not an agency (product brand, course/community, media/ad network, SaaS)AI agency validation; keywords course, podcast, membership, community, shop, appDQ_NOT_AGENCYNone
Freelancer / solo consultant≤ 1 employee on LinkedIn and no team page, first-person copyDQ_SOLO2–4 person studio with ≥ 10 website projects/yr and named team → Tier 3 test
Very small agency (2–4)HeadcountDQ_TOO_SMALL (soft)Allowed as Tier 3 if web volume is evidenced
Large agency with mature dev team> 200 employees, or Capacity D with ≥ 8 devsDQ_TOO_LARGEDocumented overflow → Tier 3
Software / app / IT development firmCapacity E; dev_ratio > 0.4DQ_DEV_FIRMPosted WordPress overflow need → human review
Competitor: white-label/offshore dev vendor“white label development for agencies”, “offshore team”, “hire dedicated developers”DQ_COMPETITORPossible partnership conversation — separate list, not outbound
PR-only, events, print, staffing/recruitment, media owners, SDR/lead-gen outsourcingCategory + AIDQ_CATEGORYPR/comms agencies with a web service line → review
Network-owned / publicly listedOwnership checkDQ_NETWORKAutonomous boutique inside a small group → review
Outside target geographyHQ countryDQ_GEORemote agency with majority of clients in US/UK → review
No web relevanceNo web/SEO/CRO/LP services and no portfolioDQ_NO_WEBNurture if Tier 1 type otherwise
Dead / parked / no websiteHTTP checkDQ_NO_SITENone
Already a Softvole client, partner or open deal; asked not to be contactedCRM suppressionDQ_SUPPRESSNone
Price band 1, or "affordable / budget / cheap website" positioningPublished pricing; keyword scan of site copyDQ_PRICE_BANDStated prices are per-month subscriptions, not project fees → review
Builder-only portfolio (Wix, Squarespace, GoDaddy)Tech lookup on sampled portfolio domainsDQ_BUILDER_PORTFOLIOThey state they are migrating clients to WordPress → review
Locked to a budget offshore vendor (sub-$1,000 per site), no dissatisfaction evidenceAI: named vendor and its public pricesDQ_BUDGET_VENDOR_LOCKEvidence of missed deadlines or quality complaints → displacement angle, keep

§20Data confidence

LevelDefinitionExample
HIGHDirect, first-party evidence, or two independent sources agreeServices page says “WordPress website design”; team page + LinkedIn both show one developer
MEDIUMOne credible source, or strong inference from multiple weak cluesLinkedIn shows no devs, site not checked; portfolio sites run WordPress but services page is vague
LOWInference from incomplete or third-party modelled dataRevenue estimate; category label; AI guess without a quote
BAND CONFIDENCESeparate scale for price band: High (published pricing or two independent signals agreeing) · Estimated (one credible signal or three proxies) · UnknownSee §10

Manual review is mandatory when: HUMAN REVIEW

  • the lead is Priority A or Goldmine (review before first send);
  • the price band was estimated from proxies only and the account would become Priority A or B;
  • price signals disagree by two bands or more;
  • is_agency, sells_web or capacity_class is Low confidence but the lead would otherwise be A/B;
  • AI sources disagree with provider data (e.g., provider says 40 employees, team page shows 6);
  • a competitor or network-ownership flag is uncertain;
  • a founder post is used as the personalization hook (check meaning and tone);
  • the prospect is in Canada (CASL consent basis) or a P3 market.

§21Outreach readiness gate

“Email verified” is a deliverability fact, not a qualification. A lead enters Instantly only when every line is true.

[1]Agency verified — site-verified client-service agency, evidence recorded [2]Commercial fitprice_fit Strong or Acceptable, band confidence High or Estimated with human review [3]Offer fit set — the package to pitch is named, and they can buy it at ≥ 2.5× [4]Partner valuepartner_value_estimate at or above the minimum (§9) [5]Account fit — Tier 1 or 2, FIT ≥ 48 [6]Persona fit — primary or secondary persona, currently employed there [7]Problem hypothesis — one written sentence naming the plausible problem, with an evidence URL [8]Timing — Priority A: Direct or 2× Indirect ≤ 90 days. Priority B: allowed without a signal, on a segment campaign [9]Valid contact — email status valid; catch-all only in a separate low-volume campaign [10]No disqualifier — suppression list, competitor, budget-vendor lock, recent white-label deal [11]Enough evidence — ≥ 2 source URLs; confidence ≥ Medium on is_agency, sells_web, capacity_class, price_band [12]Compliance — geography rule met (§14); sender identity and opt-out in the template [=]OUTREACH READYoutreach_ready = TRUE, push to the campaign matching segment_key

§22Final decision tree

Is the website live and is it a client-service AGENCY (evidence of client work)?
├─ NO ───────────────────────────────────────────────▶ DISQUALIFY (DQ_NOT_AGENCY / DQ_NO_SITE)
└─ YES
   Competitor, dev firm (Capacity E), network-owned, excluded category,
   out of geography, solo, or >200 staff?
   ├─ YES ───────────────────────────────────────────▶ DISQUALIFY (reason code) · exceptions → review
   └─ NO
      CAN THEY AFFORD US?  price band from multiple signals (§10)
      ├─ Band 1, or "affordable/budget" positioning ──▶ DISQUALIFY (DQ_PRICE_BAND)
      ├─ Band 2 ─────────────────────────────────────▶ NURTURE (landing page or care plan only)
      ├─ UNKNOWN ────────────────────────────────────▶ PRIORITY C (research; resolve on the call)
      └─ Band 3 / 4 / 5
         Do they SELL websites (service page + portfolio)?
         ├─ NO, but redesigns/migrations via SEO ────▶ Tier 2b
         ├─ NO web relevance ───────────────────────▶ NURTURE or DISQUALIFY (DQ_NO_WEB)
         └─ YES
            Who designs?  Who builds?  → set offer_fit
            ├─ Design in-house, no build capacity ──▶ build_from_design ($2,400) · Tier 1A
            ├─ Neither, band 4+ ───────────────────▶ design_and_build ($3,500)
            └─ Own dev team, band 4–5 ─────────────▶ overflow_capacity · Tier 2-Premium (proof-gated)
               Is the package affordable at ≥ 2.5× their client price?
               ├─ NO ──────────────────────────────▶ try a smaller package; else NURTURE
               └─ YES
                  Internal development capacity?
                  ├─ A (sells web) / B / C with overflow ─▶ HIGH capability fit
                  ├─ UNKNOWN ────────────────────────────▶ RESEARCH (max Priority C)
                  └─ D, no overflow evidence ────────────▶ NURTURE (revisit on dev departure/hiring)
                     Partner value ≥ minimum?
                     ├─ NO ──────────────────────────────▶ NURTURE
                     └─ YES
                        Relevant decision-maker with valid email?
                        ├─ NO ───────────────────────────▶ NURTURE (find the person later)
                        └─ YES
                           Timing signal ≤ 90 days?
                           ├─ Direct or 2+ Indirect ─▶ PRIORITY A ─▶ human QA ─▶ outreach
                           │                            + goldmine criteria? ─▶ GOLDMINE handling
                           ├─ 1 Indirect / Weak / None ─▶ PRIORITY B ─▶ segment campaign
                           └─ Negative event ──────────▶ NURTURE (6 months)
Part D · Clay build

§23TAM → SAM → ICP pool → qualified → sales-ready

Five numbers that must never be confused. Only the last goes to Instantly.

LayerDefinitionProduced bySize guide
TAMAll theoretically relevant agencies (marketing, advertising, design, web, SEO; 1–200 staff) in English-speaking marketsBroad database countsPilot Evidence 222,909 US marketing/advertising companies (1–50 staff, ≤ $10M, has website) plus 187,723 in UK/CA/AU (Explorium, Sep 2026)
SAMUS/UK/CA/AU, 5–75 staff, excluded categories removed, live websiteCheap filters (steps 01–03)Hypothesis 35–50% of TAM
ICP poolVerified agencies with web relevance and WordPress share (Tier 1–2)AI account research (step 07)Pilot 62.5% are real agencies; Hypothesis 40–60% of those sell web
Qualified accountsICP pool passing the commercial gate and capacity check (FIT ≥ 48, price fit Strong/Acceptable)Commercial waterfall (step 08) + scoringHypothesis 30–40% of ICP pool
Sales-ready leadsQualified + persona with valid email + readiness gate; Priority A also needs a signalSteps 09–16Hypothesis Priority A ≈ 15–20% of qualified; Priority B the rest

What the funnel looks like after the commercial gate

1,000 raw US/UK agency records
  →  620   real, site-verified agencies          (62% — Pilot Evidence)
  →  280   sell websites                          (~45% — Hypothesis)
  →  170   meaningful WordPress share             (~60%)
  →  110   capacity A/B/C, or D with overflow     (~65%)
  →   40   price_fit Strong or Acceptable         (~35% — the commercial gate)
  →   30   with a contactable decision-maker      (~75%)
  →  ~30   Priority B pipeline
  →   ~6   Priority A (direct or 2× indirect signal ≤ 90 days)

Two consequences. Priority B is the volume engine, not Priority A. And 10,000 accounts are not needed: at $7,500–$30,000 per partner per year, 10–20 active partners is a real business, which means processing roughly 2,000–4,000 records properly — far below the 16,000 the original sourcing plan assumed, and far below its credit budget.

§24Clay execution blueprint

Exactly what to discover, in what order. Each step ends with a pass condition used as the run-condition of the next step's columns.

Step 1 — Find accounts

ItemSpecification
Sources (in order)(1) Clay company search / Find Companies; (2) existing Explorium exports from the sourcing pipeline; (3) self-declared directories: Clutch, DesignRush, Sortlist, Agency Spotter, Elementor Experts, WP Engine/Kinsta agency partner lists, Google Partners, HubSpot Solutions Directory, Semrush agency partners; (4) Google Maps “web design agency” in target cities; (5) LinkedIn Sales Navigator account lists (if licensed)
Search firstTier 1 in the US and UK: industries Marketing Services, Advertising Services, Design Services, Graphic Design; NAICS 541810 (Advertising Agencies), 541613 (Marketing Consulting), 541430 (Graphic Design Services) Pilot Evidence
GeographyHQ country ∈ {US, UK} for Phase 1; add CA, AU from Phase 2
Employees5–50 (Tier 2b: up to 75). Use LinkedIn employee range; do not rely on revenue
RevenueDo not filter. Record only (optional exclude modelled > $25M)
Include keywords (description/site)web design, website design, wordpress, elementor, web development, branding and web, digital agency, creative agency, seo agency (Tier 2)
Exclude keywordssoftware development, app development, IT services, staffing, recruitment, public relations, events, printing, course, podcast, membership, community, white label development, offshore, dedicated developers, SaaS platform
Pass conditionHas domain · employees 5–75 · country in target set

Step 2 — Clean accounts

  • Domain normalization: lowercase; strip protocol, www., paths, query strings, trailing slash. Store as domain.
  • Name normalization: strip LLC, Ltd, Inc, Pty, Co., “Agency”, “Studio” suffix for matching only; keep the display name.
  • Deduplicate on normalized domain, then LinkedIn company slug, then normalized name + city. Check against the persistent registry and CRM suppression list before any enrichment (Pilot Evidence: registry already exists).
  • Dead-domain detection: HTTP status + redirect target. Parked pages, “for sale”, redirects to another company → DQ_NO_SITE or merge.
  • Agency / non-agency pre-screen: keyword rule on description; ambiguous rows go to Step 4 AI validation.
  • Geography validation: HQ country from provider vs site footer/contact page; mismatch → flag for AI check.

Step 3 — Company enrichment

FieldWhy we need itSource typeRequired?
company_nameIdentity, personalizationProviderREQUIRED
domainPrimary key; all lookupsProvider / normalizedREQUIRED
hq_country / hq_cityGeography filter, timezone, complianceProvider; verify on siteREQUIRED
employee_countSize tier; capacity ratioLinkedIn-based providerREQUIRED
headcount_growth_6mGrowth/negative signalProviderRECOMMENDED
estimated_revenueSoft context onlyProvider (modelled)OPTIONAL
industry / naicsPre-screenProviderREQUIRED
company_linkedin_urlPeople search, dedupe, postsProviderREQUIRED
descriptionKeyword screen; AI inputProvider / LinkedInREQUIRED
tech_stack_own_siteStack fit (weak)Tech-detection providerRECOMMENDED
founded_yearMaturity (soft)ProviderOPTIONAL
ownership / parent_companyNetwork exclusionProvider + AIRECOMMENDED
engineering_headcountCapacity class inputPeople data (title/department count)REQUIRED
agency_type / services / client_typeTier assignmentAI (Step 4)REQUIRED

Step 4 — AI research (account)

Run one bundled account-research call (Prompt 1 + 2 + 3 + 4 combined, §28§) on rows that passed Step 3. It answers:

  1. Is this a client-service agency? What evidence of client work exists?
  2. What agency type is it, and what services does it sell?
  3. Does it sell websites? Which platforms? How many website projects are visible, and how recent?
  4. Does it appear to have internal web development capacity? (class A–E/U)
  5. Is there evidence of outsourced, contracted or white-label development?
  6. Does it appear to have recurring client relationships (retainers, care plans, long-term clients)?
  7. Does it have enough client/project volume for a white-label partnership?
  8. Is it independent? Is it a competitor?

Every answer returns answer, evidence (quote), source_url, confidence, reasoning. Unsupported answers must be Unknown. AI RESEARCH

Step 4b — Commercial research and the price gate

Run on every account that passed Step 4. Bundle into one AI call: pricing page, directory profile (Clutch and similar), portfolio sample with tech lookup, design and development capability. Derive the band, then price_fit and offer_fit. Full waterfall in §25, weights in §10.

Gate: continue only when price_fit is Strong or Acceptable, or Unknown at Tier 1 with capacity A/B/C. Weak stops here as Nurture.

Step 5 — Find people

PriorityTitles (search terms)Seniority
1founder, co-founder, owner, CEO, managing director, president, managing partner, principalOwner / C-suite / Partner
2COO, operations director, head of operations, director of delivery, head of productionDirector / VP
2creative director, design director (design-led studios); web director, technical director, head of development (Tier 2b)Director
3head of SEO, SEO director (Tier 2a SEO shops); client services directorDirector / Head

Max 3 found, max 2 contacted per account. Exclude: intern, junior, associate, coordinator, specialist, freelancer, advisor, board, recruiter, HR, finance, sales rep/BDR. Only run on accounts that passed the Step 4b price gate, Tier 1–2, no DQ.

Step 6 — Person enrichment

FieldUseRequired?
full_name, first_nameAddressingREQUIRED
title, seniority, persona_tierPersona scoreREQUIRED
person_linkedin_urlIdentity, posts, second channelREQUIRED
work_email (waterfall)OutreachREQUIRED
email_statusvalid / catch-all / invalid / unknownREQUIRED
locationTimezone, complianceRECOMMENDED
tenure_months, role_start_dateStill employed; new-leader signalRECOMMENDED
last_post_date, recent_postsActivity, signals, personalizationRECOMMENDED (A/B only)
phoneCompany switchboard only, from websiteOPTIONAL — never buy personal mobiles (cost + GDPR exposure, Pilot Evidence)

Never construct emails from a domain pattern and send unverified. Pilot Evidence (data-integrity rule already in the pipeline).

Step 7 — Signal research

Only on accounts with FIT ≥ 48 and a contactable persona. Order, cheapest first:

  1. Job postings on the company (provider lookup) → dev/designer/PM roles, dates.
  2. Headcount trend + engineering departures (people data already pulled).
  3. Portfolio recency (already in Step 4 output — reuse, don't re-run).
  4. Founder/company LinkedIn posts, last 90 days → AI classifies into signal types.
  5. News/announcements (AI web search) — only for rows still lacking a signal and FIT ≥ 55.

Step 8 — AI qualification

One final structured call (Prompt 9) answers the ten questions: fit? compatible services? plausible problem? capacity limitation? web demand? person relevant? reason to contact now? supporting evidence? what's uncertain? contact / review / nurture / reject? Its output feeds scoring formulas — it does not replace them.

§25Commercial enrichment waterfall

Runs after v2.0 Step 07 (AI account qualification) and before people search, so contact credits are never spent on a commercially impossible account. Each variable: first source, fallback, AI step, manual trigger, confidence rule, scoring effect.

Variable1 · First2 · Fallback3 · AI research4 · Manual review whenConfidence ruleEffect
published_pricing
published_price_min_site
HTTP fetch of /pricing, /packages, /plans, /investment (cheap)Site search for “starting at”, “from $”, “investment”Claygent reads services pages and extracts any stated price with the URLA price is found but ambiguous (monthly vs project)Found + explicit = HighWeight 40 in band estimate
clutch_min_project_size
clutch_hourly_range
Claygent on clutch.co profile for the domainDesignRush, Sortlist, UpCity, GoodFirms, Agency SpotterSame call extracts review count, rating, listed servicesListed minimum conflicts with published pricing by ≥ 2 bandsTwo directories agreeing = High; one = EstimatedWeights 25 and 20
client_tier
client_quality_evidence
Reuse v2.0 Step 05 AI output (no new call)Case-study and client-logo pagesClassify clients: micro-local → enterprise, with named examplesPriority A candidatesNamed clients = High; inferred = EstimatedWeight 20 + 4 score points
portfolio_platform_mix
portfolio_quality
Tech lookup on 3 portfolio domains (cheap per lookup)Source-code check for wp-content, builder fingerprintsAI rates complexity: templates, structured content, integrations, animationMixed stack, or quality rated “unclear”3 sites sampled = High for mix; quality always ≤ EstimatedWeights 15 + 15; stack gate
design_internal
dev_internal / dev_count
dev_outsourced
People data title counts (already pulled in v2.0 Step 06)Team pageClaygent confirms roles and contractor languageSources disagree, or it decides offer_fitTwo sources agreeing = HighSets offer_fit
web_projects_per_yearReuse portfolio dates from Step 05Launch posts, news, case-study datesAI counts dated website projects in 24 months and dividesZero dated evidence but agency claims web focusDated items = High; undated = EstimatedPartner value + 4 points
price_sensitive_positioningKeyword scan of homepage/services text (free formula)AI confirms the phrase in context (“affordable for startups”)Never — but the reason code is loggedExact phrase = HighDISQUALIFIER at band 1
wl_vendor_price_tierReuse v2.0 outsourcing evidenceFooter credits on portfolio sites, partner pagesAI identifies the named vendor and its public price levelVendor named but price level unclearVendor named + their pricing found = High2 points; budget lock → DQ review
agency_hourly_rate_siteClaygent on site (rare)Directory rateOwn site = HighWeight 20 (directory) / 25 (own site)
job_salary_rangeJob postings already pulled in Step 10Parse salary from posting textStated range = HighWeight 10
sales_headcount / production_headcount
sales_production_ratio
People data title classification (formula over existing rows)Team pageRatio > 2.0 (possible mis-classification)Counts ≥ 5 people = Estimated; ≥ 10 = HighSupports capacity class
typical_site_value_band
price_fit · offer_fit
expected_reseller_margin
partner_value_estimate
proof_demand
All derived by formula from the fields above — no creditsEvery Priority A; every Estimated band that would produce A or BPer §10§ Step 2Gate + 12 points

Order and cost discipline

07  AI account qualification (v2.0)            → is_agency, sells_web, capacity
07b PRICING PAGE FETCH            cheap        → run on all rows that passed 07
07c DIRECTORY LOOKUP (Clutch etc.) medium      → run only where 07b found no price
07d PORTFOLIO TECH + QUALITY       cheap/med   → run on Tier 1–2 only
07e DERIVE band → price_fit → offer_fit  free  → gate here
08  FIND PEOPLE                               → ONLY price_fit ∈ {Strong, Acceptable}
                                                 or (Unknown AND tier 1 AND capacity A/B/C)
09  CONTACT ENRICHMENT                        → unchanged
10+ SIGNALS, AI QUALIFICATION, SCORING        → unchanged, plus commercial fields

Beginner mode

Add four columns before you look for people: check their pricing page, check Clutch, check what platform their portfolio sites use, then work out the band. If the band is too low, stop there — no emails, no credits.

Expert mode

Bundle 07b–07d into a single Claygent call that returns one JSON object with pricing, directory data, portfolio sample and quality, each with its own source URL and confidence. One call per account keeps the commercial layer at roughly the cost of one enrichment, and the derived fields cost nothing. Cache by domain with commercial_researched_at; re-run after 180 days, since pricing changes slowly.

Additional AI prompt — commercial fit AI RESEARCH

Company: {{company_name}} ({{domain}}). Clutch/directory URLs: {{directory_urls}}.
Portfolio client domains: {{portfolio_client_domains}}.

Estimate what this agency charges its own clients for a website. Use only
public evidence. Do not guess a number when no evidence exists.

Check, in order: the agency's pricing/packages page; any "starting at" or
"investment" statements; Clutch or similar directory minimum project size and
hourly range; the type and size of named clients; the complexity of portfolio
work; any "affordable/budget/cheap" positioning.

Return JSON:
{
 "published_price_min_site": "currency or Unknown",
 "published_pricing_quote": "", "published_pricing_url": "",
 "directory_min_project_size": "", "directory_hourly_range": "", "directory_url": "",
 "client_tier": "micro_local|smb|lower_mid|mid_market|enterprise|mixed|unknown",
 "named_clients": [],
 "portfolio_quality": "custom_high|custom_standard|template_builder|unclear",
 "price_sensitive_positioning": "yes|no", "price_positioning_quote": "",
 "estimated_site_value_band": "1|2|3|4|5|unknown",
 "band_evidence": [{"signal":"","value":"","source_url":""}],
 "band_confidence": "High|Estimated|Unknown",
 "design_internal": "yes|no|unknown", "dev_internal": "yes|no|unknown",
 "reasoning": "max 3 sentences, facts separated from inference"
}

§26Master field schema

Column names in snake_case for Clay, CRM and future agents. “Stage” = workflow step that fills it (§31§). Unknown company data → Unknown; unknown contact data → Not Found (Pilot Evidence convention).

GroupFieldType / allowed valuesSourceStage
ACCOUNTcompany_idtext (registry key)System02
company_nametextProvider01
domaintext (normalized)Provider02
website_statuslive · redirect · parked · deadHTTP check02
industry / naicstextProvider01
agency_typefull_service · digital · seo · ppc · social · content · branding_design · web_design · wordpress · webflow · saas_mkt · b2b_mkt · lead_gen · advertising · not_agencyAI05
icp_tierT1 · T2a · T2b · T3 · EXCLFormula07
hq_country · hq_city · timezoneISO country · text · IANA tzProvider + AI04
employee_count · headcount_growth_6minteger · %Provider04
estimated_revenuerange (LOW confidence)Provider04
services_listlistAI05
client_type · client_verticalssmb · mid_market · enterprise · mixed · listAI05
company_linkedin_urlurlProvider04
tech_stack_own_sitelistTech provider05
is_agency · is_agency_evidence · is_agency_confyes/no/unknown · text+url · H/M/LAI05
ownershipindependent · network · pe_backed · public · unknownAI07
CAPABILITYsells_web_design · sells_web_devyes/no/unknownAI05
platform_wordpress · elementor · woocommerce · webflow · shopifyyes/no/unknown each (evidence: service copy or portfolio tech)AI + tech lookup05
web_projects_24m · last_web_project_dateinteger · dateAI05
sells_maintenanceyes/no/unknownAI05
engineering_headcount · dev_ratiointeger · decimalPeople data · formula06
capacity_class · capacity_conf · capacity_evidenceA · B · C · D · E · U · H/M/L · text+urlAI + formula06
outsourcing_evidencetext+url / noneAI06
white_label_statusbuys_wl · sells_wl_dev (competitor) · sells_wl_other · none · unknownAI06
COMMERCIALpublished_pricing · published_price_min_site · published_pricing_urltext · currency · urlAgency site08
clutch_min_project_size · clutch_hourly_range · directory_urlband enums · urlClutch / DesignRush / Sortlist / UpCity08
agency_hourly_rate_site · job_salary_rangecurrencyAgency site · job posts08 / 11
client_tier · client_verticals · named_clientsmicro_local · smb · lower_mid · mid_market · enterprise · mixedAI05 / 08
portfolio_quality · portfolio_platform_mix · portfolio_sampled_domainscustom_high · custom_standard · template_builder · unclear · % mixAI + tech lookup08
price_sensitive_positioning · price_positioning_quoteyes/no · textKeyword scan + AI08
wl_vendor_price_tier · wl_vendor_namepremium · mid · budget_offshore · unknownAI08
web_projects_per_year · care_sites_estimateintegerAI08
design_internal · dev_internal · dev_outsourcedyes/no/unknownPeople data + AI06 / 08
sales_headcount · production_headcount · sales_production_ratiointeger · decimalPeople data · formula06
typical_site_value_band · band_confidence · band_evidence1–5 · High/Estimated/Unknown · listFormula + AI08
price_fit · offer_fit · expected_reseller_marginStrong/Acceptable/Weak/Unknown · package enum · %Formula08
partner_value_estimate · proof_demand · softvole_commercial_compatibilitycurrency/yr · low/medium/high · labelFormula08
PERSONperson_id · full_name · first_nametextProvider08–09
title · seniority · persona_tiertext · enum · primary/secondary/tertiaryProvider + formula09
person_linkedin_url · locationurl · textProvider09
work_email · email_status · email_sourceemail · valid/catch_all/invalid/unknown · provider nameWaterfall09
company_phoneswitchboard from website onlyAI09
tenure_months · role_start_date · last_post_dateint · date · dateProvider09
SIGNALSsig_hiring · sig_hiring_date · sig_hiring_urlrole type · date · urlJobs provider10
sig_dev_departureyes/no · datePeople data10
sig_growth · sig_new_client · sig_web_projecttext · date · url eachProvider + AI10–11
sig_outsourcing · sig_social · sig_technology · sig_othertext · date · url eachAI10–11
sig_negativetext · dateAI11
signal_strengthDirect · Indirect-2+ · Indirect-1 · Weak · None · NegativeFormula13
AI RESEARCHai_icp_fit · ai_icp_reasonstrong/moderate/weak/none · textAI12
pain_hypothesis1 sentenceAI12
why_now1 sentence + url, or “No timing evidence”AI11–12
evidence_urlslist of urlsAI05–12
overall_confidenceH/M/LFormula12
softvole_opportunitybuild · overflow · figma_to_wp · technical_seo · maintenance · migrationAI12
outreach_angle · personalization_hooktextAI + human15
ai_recommendation · unknownscontact / review / nurture / reject · listAI12
SCORINGscore_account · score_capability · score_commercial · fit_score0–20 · 0–25 · 0–25 · 0–70Formula13
score_persona · score_intent · score_negative0–15 · 0–15 · ≤ 0Formula13
final_score · score_breakdown0–100 · textFormula13
priority_class · goldmine_flag · dq_reasonA/B/C/NURTURE/DQ · bool · reason codeFormula + human13–16
segment_keye.g. T1_design_studio_US_capBFormula14
qa_status · qa_reviewer · qa_notes · outreach_readypending/approved/rejected · text · text · boolHuman16
SALEScampaign_id · sequence_step · first_contact_datetext · int · dateInstantly17–18
reply_typepositive · neutral · negative · not_now · wrong_person · unsubscribe · bounceInstantly + human19
meeting_booked · meeting_date · meeting_qualifiedbool · date · boolCRM19
opportunity · proposal_sent · deal_valuebool · bool · currencyCRM20
client_won · first_project_value · revenue_6m · revenue_12mbool · currencyCRM20
lost_reason · objectionprice · quality_trust · timezone · has_dev · has_vendor · no_need · timing · otherCRM20
VALIDATIONactual_site_price_stated · current_production_arrangement · current_price_paidcurrency · in_house/freelancer/offshore_agency/white_label_vendor/none · currencyDiscovery call20
price_objection · price_objection_number · proof_objection · offer_objectionbool · currency · bool · boolDiscovery call20
package_pitched · package_proposed · first_project_size · second_project_within_60_dayspackage enum · currency · boolCRM19–21

§27Clay credit efficiency — cheap filters first

Credit prices change and differ by provider; check current costs in your Clay workspace. Relative cost tiers below are what matter. To Validate: exact credits per column on the trial plan.

StageCostRuns onWaterfall?AI needed?Why here
Import / company searchFree–CheapAllNoNoGet the universe with filters applied at source
Normalize, dedupe, suppressionFree (formulas)AllNoNoNever pay twice for the same company
Keyword/category exclusionFree (formulas)AllNoNoRemoves obvious junk before any spend
HTTP / website statusCheapAll remainingNoNoDead sites can't be agencies
Firmographic enrichmentCheapAll remainingOnly if key field emptyNoHeadcount + geography gates
Engineering headcount (people count)Cheap–MediumPassed firmographicsNoNoCapacity input without AI
Bundled AI account researchMedium–ExpensivePassed firmographicsNoYes (one call, not four)Agency validation is the biggest false-positive filter
Pricing-page fetchCheapAll accounts that passed AI qualificationNoNoStrongest band signal, lowest cost
Directory lookup (Clutch and similar)MediumOnly where no published pricing was foundYes — Clutch, then DesignRush, Sortlist, UpCityLightSecond-best band signal
Tech lookup on portfolio domainsCheap per lookupTier 1–2 with sells_web = yes/unknownNoNoStack fit only where it matters
Find peopleCheap–MediumFIT ≥ 38, no DQNoNoDon't find people at rejected companies
Email finding + verificationMediumTop 1–2 persons at FIT ≥ 48Yes — stop at first validNoMost expensive per-row contact step
Job postingsCheap–MediumFIT ≥ 48 with personaNoNoStrongest direct signal per credit
LinkedIn post retrieval + AI classificationMedium–ExpensiveFIT ≥ 48 with personaNoYesDirect signals + personalization
News / deep web researchExpensiveFIT ≥ 55 and still no signalNoYesLast resort for timing
Final AI qualificationMediumContactable FIT ≥ 48NoYesNeeds all prior fields
Personalization researchMediumPriority A (and B top decile)NoYesOnly for leads we will contact now

Beginner mode

Every column in Clay has a “Run condition”. Use it. Example: the AI research column should only run if website_status = live and employee_count is between 5 and 75. Before running any column on the whole table, run it on 10 rows and check the results and credit use.

Expert mode

Derive, don't buy: dev_ratio, icp_tier, persona_tier, signal_strength, all scores and segment_key are formulas. Bundle AI questions into one JSON-returning call per stage (account research, signal classification, final qualification) instead of one call per question. Use a cheaper model for classification of short text and a stronger model only for the bundled account research and final qualification. Cache results in the registry keyed by domain with a researched_at date; re-research only after 90 days or on a new signal.

§28AI research prompts

Reusable templates for Clay AI / Claygent columns. {{field}} = Clay column reference. All prompts share the evidence rules below; paste the rules block at the top of each prompt. In production, combine Prompts 1–4 into one call (§27§).

Shared evidence rules (prefix for every prompt)
You are a B2B research analyst qualifying agencies for Softvole, a white-label
WordPress web design and development production partner for agencies.

EVIDENCE RULES
1. Use only evidence you can find on the company's website, its LinkedIn page,
   job postings, or reputable public sources. Visit pages; do not guess.
2. Separate FACTS (directly stated, quote them) from INFERENCES (your reasoning).
3. If evidence is missing or unclear, answer "Unknown". Never fill gaps with
   assumptions. "No evidence found" is not the same as "No".
4. For every answer give: evidence (short quote), source_url, confidence
   (High = direct first-party evidence or two sources agree; Medium = one
   credible source or strong inference; Low = weak inference).
5. Prefer the company's own pages: /services, /work, /portfolio, /case-studies,
   /about, /team, /careers, /partners, footer.
6. Return ONLY valid JSON matching the schema. No prose outside JSON.
1 · Company ICP qualification (agency validation)AI RESEARCH
Company: {{company_name}}  Website: {{domain}}  LinkedIn: {{company_linkedin_url}}
Description: {{description}}  Employees (provider): {{employee_count}}  Country: {{hq_country}}

Determine whether this is an independent CLIENT-SERVICE AGENCY (it delivers
marketing, design, web or SEO services to other businesses) and what kind.

Disqualify signals: sells its own product/SaaS, courses, memberships, events,
media inventory, staffing/recruitment, PR-only, printing, outsourced sales/SDR,
software/app development as core business, or white-label development sold to
agencies (competitor). Check for network/holding-company ownership.

Return JSON:
{
 "is_agency": "yes|no|unknown",
 "is_agency_evidence": "", "is_agency_source_url": "", "is_agency_confidence": "High|Medium|Low",
 "agency_type": "full_service|digital|seo|ppc|social|content|branding_design|web_design|wordpress|webflow|saas_mkt|b2b_mkt|lead_gen|advertising|not_agency|unknown",
 "services_list": [],
 "client_type": "smb|mid_market|enterprise|mixed|unknown",
 "client_verticals": [],
 "named_clients_or_case_studies": 0,
 "ownership": "independent|network|pe_backed|public|unknown",
 "hq_country_on_site": "",
 "competitor_flag": "yes|no|unknown", "competitor_evidence": "",
 "disqualifier": "none|DQ_NOT_AGENCY|DQ_DEV_FIRM|DQ_COMPETITOR|DQ_CATEGORY|DQ_NETWORK|DQ_GEO|DQ_SOLO",
 "reasoning": "max 2 sentences, facts vs inference labelled"
}
2 · Development-capacity researchAI RESEARCHHUMAN REVIEW
Company: {{company_name}} ({{domain}}). Total employees (provider): {{employee_count}}.
Engineering/developer titles found in people data: {{engineering_headcount}}
({{engineering_titles}}).

Assess INTERNAL WEB DEVELOPMENT CAPACITY. Read /team, /about, /careers and
LinkedIn. Count people whose role is building websites (developer, engineer,
front-end, WordPress, webmaster, "designer & developer"). Note contractors,
freelancers, "network of specialists", "trusted partners", or credits such as
"development by X" on portfolio sites.

Classes:
A = no visible developer, but the company sells websites
B = one developer (or a designer who builds), likely insufficient for volume
C = 2-6 developers AND evidence of outsourcing, contractors or dev hiring
D = strong internal dev team (4+ incl. senior/lead) with no outsourcing evidence
E = software/web development is the company's primary business
U = unknown / conflicting evidence
Do NOT assign A only because no developer was found in a database; you must
have checked the team page or equivalent. Otherwise answer U.

Return JSON:
{
 "developers_found": 0, "developer_names_titles": [],
 "contractor_or_outsourcing_evidence": "", "outsourcing_source_url": "",
 "capacity_class": "A|B|C|D|E|U",
 "capacity_confidence": "High|Medium|Low",
 "sources_agree": "yes|no|single_source",
 "evidence": "", "source_url": "",
 "reasoning": "max 2 sentences"
}
3 · Website-service researchAI RESEARCH
Company: {{company_name}} ({{domain}}).

Does this agency SELL websites to its clients? Check services pages and the
portfolio/case studies. Count distinct client WEBSITE projects (not logos,
not social campaigns). Note dates where visible. List up to 3 portfolio
client domains so their technology can be checked.

Return JSON:
{
 "sells_web_design": "yes|no|unknown", "sells_web_dev": "yes|no|unknown",
 "web_service_evidence": "", "web_service_url": "",
 "platforms_mentioned": {"wordpress":"yes|no|unknown","elementor":"yes|no|unknown",
   "woocommerce":"yes|no|unknown","webflow":"yes|no|unknown","shopify":"yes|no|unknown"},
 "sells_landing_pages": "yes|no|unknown",
 "sells_maintenance_or_care_plans": "yes|no|unknown", "maintenance_evidence": "",
 "sells_seo_or_cro": "yes|no|unknown",
 "web_projects_visible_24m": 0, "most_recent_web_project_date": "YYYY-MM or unknown",
 "portfolio_client_domains": [],
 "recurring_model_evidence": "", "recurring_model": "retainer|project|mixed|unknown",
 "confidence": "High|Medium|Low",
 "reasoning": "max 2 sentences"
}
4 · Outsourcing / white-label detectionAI RESEARCH
Company: {{company_name}} ({{domain}}). Portfolio domains: {{portfolio_client_domains}}.

Look for evidence that this agency uses external development help OR sells
white-label development itself.
Evidence of BUYING: "partner network", "freelance developers", contract dev job
posts, footer credits on client sites naming another studio, partner pages,
founder posts asking for dev recommendations.
Evidence of SELLING (competitor): "white label for agencies", "we build for
agencies", "hire dedicated developers", "offshore development team".

Return JSON:
{
 "white_label_status": "buys_wl|sells_wl_dev|sells_wl_other|none|unknown",
 "evidence": [{"quote":"","source_url":"","date":""}],
 "named_vendor_if_any": "",
 "confidence": "High|Medium|Low",
 "reasoning": "max 2 sentences"
}
5 · Buying-signal researchAI RESEARCHSIGNAL
Company: {{company_name}} ({{domain}}). Today: {{today}}.
Job postings: {{job_postings}}
Recent company/founder LinkedIn posts (last 90 days): {{recent_posts}}
Headcount change 6m: {{headcount_growth_6m}}. Developer departures: {{dev_departures}}.

Classify every dated event into signal types. Only count events with a date
within 180 days. Quote the exact text. Do not infer a signal from generic
marketing language.

Types and strength:
DIRECT: hiring_web_dev, contract_dev_post, asks_for_dev_partner, at_capacity_post,
        dev_departure, new_web_service_line
INDIRECT: hiring_designer_or_pm, headcount_growth, multiple_site_launches,
          new_client_win, outsourcing_language, new_ops_leader, acquisition
WEAK: award, new_office, generic_growth_post, platform_usage
NEGATIVE: layoffs, building_inhouse_dev_team, acquired_by_network,
          new_whitelabel_partner

Return JSON:
{
 "signals": [{"type":"","strength":"DIRECT|INDIRECT|WEAK|NEGATIVE",
   "date":"YYYY-MM-DD","quote":"","source_url":"","days_ago":0}],
 "strongest_signal": "", "signal_strength_label":
   "Direct|Indirect-2+|Indirect-1|Weak|None|Negative",
 "confidence": "High|Medium|Low"
}
6 · Decision-maker relevanceAI RESEARCH
Person: {{full_name}}, title "{{title}}" at {{company_name}} ({{employee_count}} employees,
agency type {{agency_type}}). LinkedIn: {{person_linkedin_url}}.
Start date: {{role_start_date}}. Last post: {{last_post_date}}.

Is this person likely to own or strongly influence a decision to use a
white-label web production partner? Consider company size (founders decide at
under ~30 people), their function, and whether they still work there.

Return JSON:
{
 "persona_tier": "primary|secondary|tertiary|exclude",
 "authority": "decider|influencer|user|none|unknown",
 "currently_employed_evidence": "yes|no|unknown",
 "relevant_pain": "one phrase",
 "exclude_reason": "",
 "confidence": "High|Medium|Low"
}
7 · Why-now analysisAI RESEARCH
Inputs: signals JSON {{signals_json}}, capacity {{capacity_class}},
web projects {{web_projects_visible_24m}}, last project {{most_recent_web_project_date}}.

Write the single strongest, evidence-backed reason this agency may need web
production help NOW. If no dated evidence within 90 days exists, return
"No timing evidence" - do not invent urgency.

Return JSON:
{
 "why_now": "one sentence or 'No timing evidence'",
 "why_now_source_url": "",
 "days_since_event": 0,
 "confidence": "High|Medium|Low"
}
8 · Softvole opportunity analysisAI RESEARCH
Given: agency_type {{agency_type}}, services {{services_list}}, platforms
{{platforms}}, capacity {{capacity_class}}, outsourcing {{white_label_status}},
client verticals {{client_verticals}}, recurring model {{recurring_model}}.

Softvole offers: WordPress development, Figma/design to WordPress, Elementor,
WooCommerce, responsive builds, rebuilds, migrations, maintenance, UI/UX
implementation - delivered white-label under the agency's brand.

Which Softvole service best solves a plausible problem for this agency, and why?
Do not claim a problem exists; state it as a hypothesis tied to evidence.

Return JSON:
{
 "softvole_opportunity": "build|overflow|figma_to_wp|technical_seo|maintenance|migration|none",
 "pain_hypothesis": "one sentence, labelled as hypothesis",
 "supporting_evidence": [""],
 "partnership_potential": "high|medium|low|unknown",
 "partnership_reason": "",
 "confidence": "High|Medium|Low"
}
9 · Final lead qualificationAI RESEARCHHUMAN REVIEW
You are the final qualification step. Use ONLY the structured inputs below;
do not browse. Apply Softvole Master ICP v2 rules: intent never rescues a bad
fit; fit does not imply timing; unknown key fields cap the lead at "review".

Inputs: {{account_json}} {{capacity_json}} {{web_json}} {{person_json}}
{{signals_json}} {{scores}}

Answer each question with answer + evidence reference + confidence:
1 Does the company fit the ICP?
2 Does it sell services compatible with Softvole?
3 Does Softvole solve a plausible operational problem?
4 Is there evidence of development-capacity limitations?
5 Is there evidence of relevant web demand?
6 Is the person relevant?
7 Is there a reason to contact them now?
8 What evidence supports this?
9 What information is uncertain?
10 Contact, review, nurture, or reject?

Return JSON:
{
 "answers": [{"q":1,"answer":"","evidence_ref":"","confidence":""}],
 "ai_icp_fit": "strong|moderate|weak|none",
 "ai_recommendation": "contact|review|nurture|reject",
 "recommendation_reason": "max 2 sentences",
 "unknowns": [],
 "overall_confidence": "High|Medium|Low"
}
10 · Personalized outreach researchAI RESEARCHHUMAN REVIEW
Prospect: {{first_name}}, {{title}} at {{company_name}}.
Why now: {{why_now}}. Pain hypothesis: {{pain_hypothesis}}.
Recent web work: {{recent_web_projects}}. Recent posts: {{recent_posts}}.

Produce material for a human to write a first email. Do not write the email.
The hook must reference something specific and verifiable that relates to web
delivery (a project, a hire, a post). Avoid flattery, awards, and anything
that implies we monitored them personally. Never mention negative reviews.

Return JSON:
{
 "personalization_hook": "one factual sentence",
 "hook_source_url": "",
 "relevance_bridge": "how the hook connects to web production capacity",
 "suggested_angle": "margin|capacity|reliability|figma_fidelity|technical_seo|overflow",
 "proof_point_needed": "which Softvole case study/sample would fit",
 "do_not_mention": [],
 "confidence": "High|Medium|Low"
}
11 · Commercial fit and price bandAI RESEARCHHUMAN REVIEW

Full prompt text and its waterfall are in §25. It returns published pricing, directory minimums and hourly ranges, client tier, portfolio quality, price-sensitive positioning, the estimated band, per-signal evidence with source URLs, band confidence, and whether design and development are internal.

§29Personalization data

Collect only what changes the message. If a data point wouldn't change what you write, it's database noise.

Data pointUseful?How to use it
Open web-dev / designer job postHigh“Saw you're hiring a WordPress dev — while that search runs, we can…”
Founder post about capacity or needing dev helpHighReference the topic, not a quote; human-check tone
Recent website launch / case studyHighSpecific compliment tied to build (e.g., the WooCommerce integration)
Their platform stack (WP/Elementor/Woo)MediumCredibility: “we build in Elementor Pro daily”
Services mix (design-led, SEO-led)MediumChooses angle: Figma fidelity vs technical SEO implementation
Client verticalsMediumRelevant Softvole sample (e.g., healthcare sites)
Care-plan / maintenance offerMediumMaintenance-partner angle
New client winsMediumTiming context
Headcount growthLow–MediumBackground only
Awards, new office, podcast appearancesLowNoise unless linked to web work
Founded year, revenue, fundingNoiseNever mention
Personal life details, negative reviewsExcludeNever use

§30Messaging by band and offer

Band / segmentLead withNever doEntry offer
Band 5 · agencies with dev teams (Tier 2-Premium)Process and standards: senior-only team, QA checklist, accessibility, performance budgets, staging and Git workflow, NDA and white-label confidentiality, defect warrantyMention price in the first email; imply their team is failingOne template or one module, milestone-paid, reviewed by their lead
Band 4 · marketing and digital agenciesReliability and a predictable production cost; fixed scope; a named delivery leadCompete on price; over-claim track recordOne landing page or single-template build as a paid pilot
Band 3–5 · design and branding studiosDesign fidelity: their Figma built exactly, all responsive states, no compromises; no developer to hire or manageOffer design services — they are the designersBuild-from-design landing page, then the five-template site
Band 3 · web design agencies, capacity B/CThe margin arithmetic stated plainly: their price, the production cost, their marginPitch design+build — the margin is not thereBuild-from-design website
Band 2 · NurtureCare plans (Essential or Growth) and single landing pages onlyQuote a full website; negotiate down from list pricesCare Essential, or one landing page
SEO-led agencies selling redesignsMigration and redirect safety; ranking protection during rebuildsOffer ad-hoc hourly fixesOne redesign with migration

Pilot rule. The pilot is a smaller scope at normal rates, never a discount. Describe it as a contained test of the working relationship: defined scope, milestone payment, fixed timeline, clear revision limits, design-fidelity commitment, post-launch defect warranty, full white-label confidentiality. No blanket founding-partner discounts. The private pilot floor near $900–$1,200 is never a public anchor.

Softvole price list used by this ICP

Landing page from approved design $1,200 · website up to 5 unique templates from approved design $2,400 (extra template $350–450) · business website design + development $3,500 · redesign + migration $3,500 · WooCommerce from approved design $4,500 · WooCommerce design + development $6,500 · care Essential $149/site/month · care Growth $299 · care Priority $599. Complex integrations, subscriptions and membership systems are custom quoted. Production retainers are not a public offer yet.

§31Clay workflow order (01–22)

The operational sequence. Each step lists what to learn, why, inputs, outputs, what happens next, and what not to do yet. Open a step for beginner and expert notes.

01 Find Accounts → 02 Clean → 03 Cheap Filters → 04 Company Enrichment → 05 Tech/Service Research
→ 06 Capacity Research → 07 AI Account Qualification → 08 COMMERCIAL FIT RESEARCH (price gate)
→ 09 Find Decision Makers → 10 Person Enrichment → 11 Signal Detection → 12 Intent Research
→ 13 AI Qualification → 14 Scoring → 15 Segmentation → 16 Personalization Research → 17 Human QA
→ 18 Instantly → 19 Outreach → 20 Response Tracking → 21 Revenue Feedback → 22 ICP Refinement
01 Find Accounts
DiscoverA raw list of companies that could be Softvole-type agencies.
WhyNothing downstream works without a universe; filtering at the source is the cheapest filter there is.
InputSearch criteria from §21 Step 1: industries/NAICS, US+UK first, 5–75 employees, include/exclude keywords, directory lists.
OutputRows with company name, domain, LinkedIn URL, country, employee range, description.
NextStep 02.
Not yetDon't enrich, find people or run AI. Don't pull 10,000 rows — pull 100–150 for Phase 1.

Beginner mode

Think of this as fishing in the right pond. We pick the pond (US/UK agencies, 5–75 people, web-related words) before we cast.

Expert mode

Source from 2–3 sources and tag source per row to compare downstream qualification rates by source; directory sources (Clutch, Elementor Experts) often have higher agency precision than industry-code searches.

02 Clean Accounts
DiscoverOne clean row per real company.
WhyDuplicates double credit spend and can double-email a prospect.
InputRaw rows; persistent registry; CRM suppression list.
OutputNormalized domain, company_id, website_status; duplicates and suppressed rows removed.
NextStep 03.
Not yetDon't delete rejected rows — mark them with a reason so they're never re-bought.

Beginner mode

Make sure each company appears once and its website actually works.

Expert mode

Dedupe key cascade: domain → LinkedIn slug → normalized name+city. Handle redirects (rebrands) by merging to the destination domain. Write back to the registry immediately.

03 Apply Cheap Filters
DiscoverWhich rows are obviously out.
WhyFree formula filters remove a large share of junk before paid steps.
InputClean rows with description, industry, country, employees.
OutputRows flagged DQ_GEO, DQ_CATEGORY, DQ_TOO_LARGE, DQ_NO_SITE, or pass.
NextPassing rows → Step 04.
Not yetDon't disqualify on revenue, or on ‘no developer found’ — those are soft signals.

Beginner mode

Cross out companies that are clearly wrong: wrong country, too big, obviously not agencies.

Expert mode

Implement as a single formula column prefilter_result returning a reason code; use it as the run condition for every later column (prefilter_result = 'pass').

04 Company Enrichment
DiscoverReliable firmographics: headcount, location, growth, LinkedIn, tech on own site, engineering headcount.
WhySize and location gates; capacity input without AI.
InputPassing rows.
OutputFields in §21 Step 3.
NextStep 05.
Not yetDon't buy revenue from multiple providers; don't enrich people yet.

Beginner mode

Fill in the basic facts about each company.

Expert mode

Waterfall only for empty critical fields. Pull engineering headcount as a count query (titles/department) rather than full person records to keep it cheap.

05 Technology / Service Research
DiscoverDoes the agency sell websites, on which platforms, with how much volume?
WhyService fit is the Tier 1 precondition.
InputDomain, description, portfolio pages.
Outputsells_web_*, platforms, web_projects_24m, portfolio domains, recurring model.
NextStep 06 (same bundled AI call in production).
Not yetDon't run tech lookups on every portfolio site — max 3 for Tier 1–2 candidates.

Beginner mode

Read their website like a buyer would: do they build websites for clients?

Expert mode

Prompt 3. Verify stack by tech lookup on 2–3 portfolio client domains — more reliable than the agency's own site, which may run a different platform.

06 Capacity Research
DiscoverInternal development capacity class A–E/U.
WhyThe core commercial hypothesis — insufficient capacity.
InputEngineering headcount, team/careers pages, outsourcing evidence.
Outputcapacity_class, confidence, evidence URL, white_label_status.
NextStep 07.
Not yetDon't mark A from missing data; don't treat D as a disqualifier.

Beginner mode

Figure out whether they have enough developers for the websites they sell.

Expert mode

Prompts 2 + 4. Two-source agreement rule for High confidence. Compute dev_ratio; > 0.4 → review as E.

07 AI Account Qualification
DiscoverIs this a verified Tier 1/2 agency without disqualifiers?
WhyStops expensive people/contact steps on bad accounts.
InputOutputs of 04–06.
Outputis_agency, agency_type, icp_tier, dq_reason, sells_web, capacity_class.
NextNo DQ and Tier 1–3 → Step 08 (commercial research).
Not yetDon't look for people or emails yet — the commercial gate has not run.

Beginner mode

Decide whether this company is worth researching commercially.

Expert mode

Prompt 1 plus formula tiering. In production, steps 05–07 are one Claygent call returning a single JSON object parsed into columns.

08 Commercial Fit Research
DiscoverWhat the agency charges its own clients, who designs, who builds — then the price band, Price Fit and Offer Fit.
WhySoftvole is only viable where the agency can resell at about 2.5×. This step removes accounts that can never buy, before any contact credit is spent.
InputVerified Tier 1–3 agencies with sells_web and capacity_class.
Outputpublished_price_min_site, clutch_min_project_size, clutch_hourly_range, client_tier, portfolio_quality, portfolio_platform_mix, design_internal, dev_internal, then derived typical_site_value_band, band_confidence, price_fit, offer_fit, expected_reseller_margin, partner_value_estimate, proof_demand.
Nextprice_fit Strong or Acceptable → Step 09. Unknown → Priority C research queue. Weak → Nurture.
Not yetDon't reject on Unknown. Don't trust a single signal — Clutch minimums are self-reported.

Beginner mode

Find out what they charge for a website. If they sell sites for $4,000, they cannot pay $2,400 for production. Stop there.

Expert mode

Full waterfall and weights in §25 and §10. Bundle the pricing page, directory lookup and portfolio sample into one Claygent call returning one JSON object with per-field source URLs and confidence. Cache by domain with commercial_researched_at; refresh after 180 days.

09 Find Decision Makers
DiscoverThe 1–3 people who can decide.
WhyAccount fit ≠ person fit.
InputAccounts with price_fit ∈ {Strong, Acceptable}, or Unknown at Tier 1 with capacity A/B/C; title rules in §24.
OutputNames, titles, LinkedIn URLs, persona_tier.
NextStep 09.
Not yetDon't pull everyone at the company; don't include individual contributors; don't run on Weak price fit.

Beginner mode

Find the founder or the person running delivery.

Expert mode

Search by title keyword + seniority; rank with a formula; keep top 3. At ≤ 15 employees keep founder/owner only.

10 Person Enrichment
DiscoverVerified work email, tenure, activity.
WhyDeliverability and relevance.
InputTop 1–2 people per account at FIT ≥ 45.
Outputwork_email, email_status, tenure, last_post_date.
NextStep 10.
Not yetDon't buy personal mobiles; don't guess email patterns.

Beginner mode

Get a working email for the right person.

Expert mode

Email waterfall across providers, stop at first ‘valid’; run a separate verifier if the finder doesn't verify. Store email_source to evaluate providers.

11 Signal Detection
DiscoverDated evidence of need: hiring, departures, growth.
WhyTiming determines A vs B.
InputAccounts with FIT ≥ 45 + contactable persona.
OutputSignal fields with dates and URLs.
NextStep 11.
Not yetDon't run signal research on DQ or C rows.

Beginner mode

Look for clues that they need help right now — like a job ad for a WordPress developer.

Expert mode

Jobs provider first (cheapest direct signal), then people-data departures, then headcount trend. Apply 90/180-day decay in formulas.

12 Intent Research
DiscoverMeaning of posts/news; the strongest why-now.
WhyRaw posts must be classified before scoring.
InputRecent posts, news, signal fields.
OutputPrompt 5 + 7 outputs: signal_strength, why_now.
NextStep 12.
Not yetDon't treat ‘uses WordPress’ as intent.

Beginner mode

Read their recent posts and decide if they show a real need.

Expert mode

Only fetch posts for FIT ≥ 45; news search only if FIT ≥ 55 and still no signal.

13 AI Qualification
DiscoverContact / review / nurture / reject with reasoning.
WhyA single auditable judgement across all dimensions.
InputAll structured fields.
OutputPrompt 9 JSON.
NextStep 13.
Not yetDon't let this output override hard rules or formulas.

Beginner mode

Ask the AI to double-check everything and list what's still uncertain.

Expert mode

No browsing in this call — it reasons over collected evidence only, which makes it cheaper and reproducible.

14 Scoring
DiscoverComponent scores and priority class.
WhyConsistent, explainable prioritisation.
InputAll fields + weights table.
OutputScores, priority_class, goldmine_flag, score_breakdown.
NextStep 14.
Not yetDon't tune weights on fewer than ~150 contacted leads.

Beginner mode

Add up points and sort leads into A, B, C, Nurture, Disqualified.

Expert mode

Formula columns referencing a weights lookup table; gates evaluated before totals (§14).

15 Segmentation
DiscoverWhich campaign each lead belongs in.
WhyMessage must match agency type and pain.
InputTier, agency type, geography, capacity, signal.
Outputsegment_key e.g. T1_design_US_capB_hiring.
NextStep 15.
Not yetDon't mix P3 geographies or Tier 3 into core campaigns.

Beginner mode

Group similar leads so each group gets the right message.

Expert mode

Keep segments big enough to learn (≥ 50 contacts per segment per test); collapse rare combinations.

16 Personalization Research
DiscoverA specific, true hook per Priority A lead.
WhyRelevance drives positive replies, not opens.
InputPriority A (and top Priority B).
OutputPrompt 10 JSON.
NextStep 16.
Not yetDon't personalize DQ/C leads; don't use weak data (awards, founded year).

Beginner mode

Find one real, relevant thing to mention in the first email.

Expert mode

Priority B gets segment-level personalization (agency type + stack) rather than per-lead research.

17 Human QA
DiscoverConfirm the evidence before sending.
WhyAI errors are cheap to catch now and expensive after sending.
InputPriority A, Goldmine, and review-flagged rows.
Outputqa_status, notes; corrections logged for prompt tuning.
NextStep 17.
Not yetDon't skip for Priority A; don't edit fields without logging why.

Beginner mode

A person checks the lead in 2–3 minutes: right company, right person, true reason.

Expert mode

Log every correction with field + old/new value; these feed the golden dataset and prompt revisions.

18 Instantly
DiscoverLoad approved leads into the right campaign.
WhyOnly gated leads reach the sequencer.
Inputoutreach_ready = TRUE rows.
OutputLeads in campaigns with custom variables (hook, angle, why_now).
NextStep 18.
Not yetDon't push catch-all emails into main campaigns; don't exceed warm inbox limits.

Beginner mode

Send the approved leads to the email tool.

Expert mode

Push via Clay → Instantly integration with campaign_id from segment_key; write back the Instantly lead ID.

19 Outreach
DiscoverStart conversations.
WhyTest messaging per segment.
InputCampaign copy per segment.
OutputSends, replies.
NextStep 19.
Not yetDon't optimise for opens; don't send more than 2 people per account.

Beginner mode

Send short, specific emails that explain how Softvole helps.

Expert mode

Email + LinkedIn touch for A; email-only for B. Include compliance elements per geography.

20 Response Tracking
DiscoverReply types and meetings.
WhyThe first true quality signal.
InputInstantly replies, calendar.
Outputreply_type, meeting_booked, meeting_qualified.
NextStep 20.
Not yetDon't count auto-replies or ‘not interested’ as engagement.

Beginner mode

Label every reply: positive, not now, wrong person, no.

Expert mode

Classify replies (AI + human confirm); route ‘wrong person’ to referral follow-up; ‘not now’ → Nurture with a date.

21 Revenue Feedback
DiscoverWhich leads became partners and revenue.
WhyThe ultimate metric.
InputCRM stages and deal data.
OutputOpportunity, won/lost, revenue, lost reason.
NextStep 21.
Not yetDon't judge the ICP on reply rate alone.

Beginner mode

Track which leads turned into paying partners.

Expert mode

Sync CRM outcomes back to the Clay/registry row by company_id so every outcome keeps its original scores and signals.

22 ICP Refinement
DiscoverWhat to change in ICP, scoring, signals, messaging.
WhyThe ICP is a living hypothesis.
InputSegment/signal/persona performance (§29).
OutputVersioned ICP change log (v2.1 …).
NextBack to Step 01 with updated rules.
Not yetDon't change more than 2–3 variables per iteration.

Beginner mode

Every month, look at what worked and adjust the rules.

Expert mode

Change weights only with minimum sample sizes; A/B test new filters on a holdout cohort.

Part E · Operate & learn

§32Test plan — 100 → 500 → 1,000 → production

Do not generate 10,000 leads first. Each phase has exit criteria. Thresholds are starting Hypothesis values.

PhasePurposeMeasureExit criteria
Phase 1 · 100 accounts
US + UK, cohort design in §33
Laboratory. Validate filters, the band model, capacity detection, AI research, scoring and data quality. Every row human-reviewed.Agency precision · band prediction accuracy · band coverage · capacity agreement · sells_web accuracy · valid-email rate · credits per qualified account · signal hit rate · false-negative review of 20 rejected rowsAgency validation ≥ 95% precision · band coverage ≥ 50% · capacity agreement ≥ 75% · sells_web ≥ 90% · credit cost known · prompts revised at least once
Phase 2 · 500 accounts
+ Canada/Australia, Tier 2 and 2-Premium
First real outreach test by segment and bandBounce rate · positive replies by band, tier and priority · meetings · objection types · QA correction rate≥ 150 contacted per main segment · bounce < 2% · band 4–5 not underperforming band 2–3 · QA corrections < 15%
Phase 3 · 1,000+ accountsRecalibrate scoring; test messaging; first revenue dataMeetings → qualified opportunities → proposals by segment · signal performance · persona performance · cost per qualified meetingWeights recalibrated against real stated prices · ≥ 1 segment with a repeatable qualified-meeting rate · ICP v2.2 published
ProductionScaled system with sampling QAWeekly: qualified meetings, opportunities, partnerships, revenue per 100 accounts. Monthly: AI accuracy drift on the golden datasetHuman QA on all Priority A plus 5% random sample of B; golden-dataset re-test after every prompt change

§33100-account validation framework

The point of the first 100 is to separate four different failures that all look like “they said no”.

What to record for every account

GroupFields
Targetingsegment · agency_type · employee_count · geography · source
Commercialprice_band · band_confidence · band_evidence · price_fit · offer_fit · expected_reseller_margin · partner_value_estimate · proof_demand
Productiondesign_internal · dev_internal · dev_count · dev_outsourced · wl_vendor_price_tier · capacity_class · sales_production_ratio · web_projects_per_year
Outreachcampaign · package_pitched · personalization_hook · first_contact_date · reply_type · meeting_booked
Conversation truthactual_site_price_stated · current_production_arrangement (in-house / freelancer / offshore agency / white-label vendor / none) · current_price_paid · price_objection (yes/no + quoted number) · proof_objection (yes/no) · scope/offer_objection
Outcomeproposal_value · package_proposed · won/lost · first_project_size · lost_reason · second_project_within_60_days · care_sites_sold

The highest-value field in the whole table is actual_site_price_stated — the number the prospect gives on the call. It is the ground truth that calibrates the entire band model. Ask it in every conversation: “what does a website typically run for your clients?”

The four-way diagnosis

DiagnosisPattern in the dataWhat it meansWhat changes
Bad leadPredicted band 3–4, but the call reveals band 1–2, or they aren't really an agency, or they sell almost no web workThe targeting or the band model was wrongFix the band signals and filters — not the price
Good lead, weak proofBand confirmed ≥ 3, interest expressed, objection is “who have you worked with”, “can we see code”, “we don't know you”The commercial fit is right; credibility is the blockerBuild proof and lead with the pilot. Never discount here — a discount confirms the doubt
Good lead, wrong offerBand confirmed, but they want hourly help, small fixes, a platform Softvole doesn't cover, or design-onlyOffer mismatch, not price mismatchAdjust offer_fit rules; consider whether a productised small-task lane is needed later
True price mismatchBand confirmed ≥ 3, they understand the offer, they trust you enough to quote, and they still say the number is too high relative to what they chargeOnly this pattern is evidence that pricing is wrongRe-examine the specific package, not the whole price list

Decision thresholds after 100 accounts

MeasurementHealthyAction if not met
Band prediction accuracy (predicted vs stated on calls)≥ 70% within one bandReweight signals; add published-pricing coverage
Share of accounts with a usable band (not Unknown)≥ 50%Add directory sources; accept more Estimated bands
Price objections among band 4–5 accounts≤ 20% of conversationsIf higher, the band model is over-predicting; check portfolio-quality weighting
Proof objectionsExpect 40–60% earlyThis is normal at your stage; it is a proof-asset backlog, not an ICP failure
Positive reply rate, band 4–5 vs band 2–3Band 4–5 should not be materially worseIf band 4–5 replies far less, proof demand is the constraint → change the motion, not the ICP
First project → second within 60 days≥ 40% of first projectsIf low, the problem is delivery experience or partner value, not lead quality

Cohort design for the first 100

40  Tier 1A  design / branding studios, Figma-led, band 3–5, US + UK
30  Tier 1B  marketing & digital agencies, band 4–5, thin dev capacity
15  Tier 1C  B2B / healthcare / multi-location specialists, band 3–5
10  Tier 2-P web & dev agencies, band 4–5, overflow angle (proof-heavy)
 5  Control  band 2 agencies that v2.0 would have called Priority A
             → the control tests whether the commercial gate is real
             or whether Softvole is leaving money on the table

The five-account control cohort matters more than its size suggests: if band 2 agencies convert as well as band 4, the entire premise of v2.1 is wrong and you should know that within a month.

§34Golden dataset

A small, manually labelled set of companies that acts as the answer key for every prompt, filter and score change.

Composition (60–80 companies)

  • 25–30 true positives: agencies Softvole believes are ideal (include current clients/partners and warm conversations, if any — To Validate)
  • 15–20 near misses: agencies that look right but aren't (Capacity D, Webflow-only, SEO shops that never touch sites)
  • 10–15 obvious negatives: pilot false positives (FreeWater, Marketing AI Institute, Superpath, eHealthcare Solutions, UpRoar Partners, Jenna Kutcher) + competitors + dev firms
  • 10 hard cases: ambiguous ownership, 2–4 person studios, agencies that sell white-label SEO

Labels per company (by two humans)

  • is_agency, agency_type, icp_tier
  • sells_web, platforms, web_projects_24m
  • capacity_class, white_label_status
  • price band, band confidence, price_fit, offer_fit
  • expected priority class and dq_reason
  • notes on why — the reasoning is part of the label

Disagreements between the two reviewers reveal ambiguous rules — fix the rule, not just the label.

How to use it

UseMethodTarget
Test AI qualificationRun prompts on all golden rows; compare to labelsPrecision/recall per field
Compare Clay outputsProvider data vs labels (headcount, country, engineering count)Pick providers per field
Improve promptsChange one instruction; re-run; keep only if accuracy rises without new errorsVersioned prompts (p2_capacity_v3)
Calibrate scoringTrue positives should land A/B; near misses C/Nurture≥ 90% of true positives FIT ≥ 45
Detect false positivesNegatives scoring FIT ≥ 450 obvious negatives pass
Detect false negativesPositives rejected by filters≤ 1 true positive lost to cheap filters

Grow it continuously: every Priority A that becomes a qualified opportunity and every QA-caught error is added (with its label) after the fact.

§35Feedback loop

The ICP is a hypothesis that outcomes correct. Optimise for qualified opportunities and profitable long-term partnerships, never for open rate and not primarily for reply rate.

Metric hierarchy

North star:   partner revenue at 6 and 12 months per 100 accounts contacted
Primary:      qualified opportunities per 100 contacted  ·  partnerships won
Diagnostic:   qualified meetings  ·  positive reply rate  ·  proposal rate  ·  win rate
Guardrails:   bounce < 2%  ·  spam complaints ≈ 0  ·  unsubscribe rate  ·  QA correction rate
Ignore:       open rate (unreliable with privacy protection; says nothing about fit)

What to track and how it changes the system

TrackedCut byIf it underperforms…Changes
Positive reply / meeting / opportunity / client / revenueTier, agency type, capacity class, geography, persona, signal type, source, campaignA segment with replies but no qualified opportunities is attracting the wrong buyersICP tiers, scoring weights
Signal performanceSignal type × priority outcomeA “direct” signal that doesn't lift meeting rate is not directSignal hierarchy, intent weights
Persona performanceTitle groupOps leads reply but can't buy → shift to founder-firstPersona priority, sequencing
Geography performanceCountryLow qualified rate after 150+ contactsGeography priority
Lost reasons & objectionsSegment“We have a dev” recurring → capacity detection is wrong; “quality/trust” → proof assets gap; “price” → commercial fit thresholdFilters, capacity rules, messaging, proof assets
Partner value after 6/12 monthsSegmentWins that never send a second projectPartnership-fit criteria
Band accuracyPredicted band vs price stated on callsBelow 70% within one bandReweight the band signals (§10)
Price objectionsBand × objection typeObjections concentrated in band 4–5The band model over-predicts, or proof is the real blocker — check §33 diagnosis
Package performancePackage pitched × meetings × closeOne package never closesoffer_fit rules, or the package itself

Change rules

  • Minimum evidence before changing a rule: ≥ 150 contacted in the segment, or ≥ 5 qualified opportunities, whichever comes first. Smaller samples produce noise.
  • Change 2–3 variables per iteration; version the ICP (v2.1, v2.2) with a dated change log entry stating evidence.
  • Monthly review: segment table, signal table, lost reasons, QA corrections. Quarterly: re-order tiers and agency-type ranking.
  • Win/loss interviews: ask every new partner which trigger made them reply — this validates or kills the “why now” hypotheses.
  • Keep a holdout: 10% of qualified Priority B leads contacted without personalization research to measure what personalization actually adds.

§36Future ICP expansion — kept separate

Not part of current scoring, tiers or campaigns. Tracked only so research isn't lost. Activate as its own ICP once Softvole has delivery capability and proof. To Validate

Future offerLikely buyerDetection hints
GoHighLevel builds & snapshotsGHL “SaaS mode” agencies, lead-gen agencies for local businessesGHL-hosted funnels, “white-label CRM” offers, GHL community activity
AI automation / AI agentsMarketing agencies adding “AI services”New AI service pages, AI-automation job posts
Workflow & CRM automationHubSpot/GHL partner agencies, RevOps shopsSolutions-partner listings, automation case studies

Record future_fit_flags as an optional column when found for free during research; never spend credits looking for it.

Part F · Change log & verdict

§37Change log — v1 → v2.0 → v2.1

Areav1 (research brief)v2.0v2.1 — current
Document typePositioning briefOperating system: rules, scores, schema, workflow, promptsSame, plus the commercial layer that decides who can buy
Primary targetMarketing agencies with no developerAgencies that sell websites with insufficient capacityAgencies that sell websites at band 3+ with insufficient capacity; design studios first (Tier 1A)
Developer rule“No developer on staff”Five capacity classes plus UnknownUnchanged, but capacity D at band 4–5 moves up to Tier 2-Premium instead of −8
Commercial qualificationNoneVolume, recurrence, partner-openness (15 pts)Price Fit gate + band model + offer fit + partner value + proof demand (25 pts)
Volume vs value≥ 6 projects in 24 monthsEstimated annual web revenue; value beats count
VerticalsRated by web frequencyRated by client budget first; home services and automotive move down
SEO agenciesSecondary tierTier 2aTier 2b only when they sell redesigns or migrations; otherwise Tier 3 (offer mismatch)
Scoring weightsAccount 30 / Capability 25 / Commercial 15Account 20 / Capability 25 / Commercial 25; Priority A threshold 45 → 48
DisqualifiersNoneCategory, geography, size, competitor, networkPlus DQ_PRICE_BAND, DQ_BUILDER_PORTFOLIO, DQ_BUDGET_VENDOR_LOCK
Clay workflow21 steps22 steps: commercial research and the price-fit gate inserted before people search
Outputs per accountPriority classPriority class + package to pitch + margin line + pilot size
Test plan100 → 500 → 1,000 → productionSame, plus band-calibration cohort and a band-2 control group
Feedback loopReply → meeting → opportunity → revenuePlus band accuracy, price-objection rate and the four-way diagnosis (§33)

§38Ten things to understand before building in Clay

  1. Money gates need. Price Fit is checked before people search. An agency that cannot resell Softvole at 2.5× is not a lead, whatever its capacity pain.
  2. Vendor categories lie. 38% of “marketing services” records in the pilot were not agencies. AI agency validation runs before any contact spend.
  3. Selling websites is the Tier 1 gate — not being a marketing agency. No web offer means no current web pain.
  4. “No developer found” is not “no developer”. Capacity needs positive evidence; otherwise it is U.
  5. One overloaded developer beats zero developers. Capacity B and C are the strongest fits; D at band 4–5 is an overflow partner, not a reject.
  6. Value beats volume. Four $25,000 builds a year outrank sixty $2,000 sites.
  7. “Uses WordPress” is fit; “hiring a WordPress developer” is timing. Different score components.
  8. Unknown price data goes to research, never to rejection. Most small agencies publish no pricing; a strict gate would delete the best accounts.
  9. Priority A needs human QA plus a written problem hypothesis with a source URL before it enters Instantly. Priority B carries the volume.
  10. Judge the system by qualified opportunities and partner revenue after at least 150 contacts per segment — not by opens, and not by the first week of replies.

§39Assumptions and weak evidence

Assumptions inside this model

AssumptionConfidenceRisk if wrongHow the first 100 tests it
2.5× markup is the viability thresholdMedium — a practitioner heuristic, not measured for this marketToo strict: good band-3 accounts rejected. Too loose: scope-creep partners admittedCompare close rate and objection rate by actual multiple
Band midpoints ($2k / $4.5k / $8k / $17.5k / $35k)Low–MediumSystematic mis-scoringCalibrate against actual_site_price_stated
Clutch minimum project size is informativeLow–Medium — self-reported, often aspirational, $5,000 is a common defaultOver-predicting bandCompare directory value with stated price
Band data will be findable for ≥ 50% of accountsLowMost accounts stall in Priority CMeasure coverage in the first 100
Design-led studios deliver build-ready Figma filesMediumScope risk: incomplete states, no mobile, no content — the $2,400 price assumes a complete fileAdd a design-readiness checklist to scoping; track rework
Care tiers at $149/$299 are profitable for SoftvoleTo Validate — I have no cost dataLow tiers could be margin-negative without tooling and volumeInternal unit-cost review before launch
Minimum partner value of $7,500/yearTo ValidateWrong accounts prioritisedMeasure cost-to-serve per partner

Where I'd push back on your direction

  1. “Premium” has to be operationalised or it's only a price. Band 4–5 buyers will test it: named senior developers, a written QA checklist, accessibility standard, performance budgets, staging and version control, response-time commitments, warranty period, NDA and security posture. If those documents don't exist yet, the premium price is a claim rather than a product, and the first 100 accounts will tell you so through proof objections. This is the single biggest risk to v2.1 — bigger than the ICP itself.
  2. The retainer-led counterexample is real. Some agencies knowingly run 1.8–2.0× on builds because the website is the entry point to a long retainer. A rigid 2.5× rule rejects them. That's why the uplift rule exists — but watch it, because it is also the rule most likely to let scope-creep partners back in.
  3. Moving Capacity D up may matter more than any other change. v2.0's instinct — agencies with developers don't need you — is commercially backwards. They have budget, process and peak-load pain. They are slow to win, and you are not ready for all of them yet, but writing them off is how you end up selling only to the agencies that can least afford you.
  4. SEO agencies are probably an offer mismatch, not a price mismatch. Keeping them in the core list will generate replies that never convert, which will look like a pricing problem in your dashboard. I'd cut them from the core cohort.
  5. Your site's claim counters (300+ projects, 40+ agency partners, 5.0 rating) still conflict with the proof gap you describe. At band 4–5 the first thing a buyer does is verify. A mismatch between those numbers and a handful of new reviews will read as fabrication and will cost you the exact accounts v2.1 is designed to win. Fix that before outreach starts.
  6. The case-study figures on your site follow suspiciously smooth weekly patterns. If they're illustrative, label them. If they're real, publish enough method detail that a sceptical buyer can accept them.
  7. Don't let “no discounts” become “no flexibility”. The pilot, milestone payments, a defect warranty and a fidelity commitment are your negotiation currency. Use them, so price never becomes the only lever available in a conversation.
  8. The pool is small. Precision at this price point means your constraint becomes list volume and trust-building, not conversion. Plan outbound capacity accordingly (§40§).

Carried over — ICP assumptions from v2.0

AssumptionLabelHow the first 100 tests it
AI can validate “is an agency” with ≥ 95% precisionHypothesisHuman review of all 100
Capacity class can be detected at ≥ 75% agreement with humansHypothesisCompare AI vs human class; inspect disagreements
40–60% of real agencies in the list sell websitesHypothesisCount sells_web = yes
Design/branding studios are cleaner Tier 1 targets than full-service agenciesHypothesisCompare qualification rate and data confidence by sub-type
Most target agencies build on WordPressHypothesisTech lookup on portfolio domains
Direct signals exist for ≥ 5–15% of qualified accountsHypothesisSignal hit rate
8–35 employees is the sweet spotHypothesisQualification rate by size band (confirm later with replies)
Founders are reachable with valid email at ≥ 70% of qualified accountsHypothesisEmail waterfall results
Credit cost per qualified, contactable account is affordable at scaleTo ValidateTrack credits per stage on the trial
Softvole's capacity, pricing, turnaround and proof assets support the Tier 1 promiseTo ValidateInternal: fill the §3§ Softvole-facts box before Phase 2 outreach
The v1 pain (“web requests cause lost deals”) is realHypothesisAsk in the first 10 discovery calls; record verbatim

§40Final verdict

Yes — with the commercial gate in place, the ICP matches Softvole's premium pricing. Without it, it does not. ICP v2.0 is a good need-detection system attached to no economic filter, which is exactly the configuration that produces the $400-budget, high-revision partners you want to avoid. v2.1 fixes that with one gate, four derived fields and one extra research step.

What the funnel looks like after the gate

1,000 raw US/UK agency records
  →  620   real, site-verified agencies          (62% — Pilot Evidence)
  →  280   sell websites                          (~45% — Hypothesis)
  →  170   meaningful WordPress share             (~60%)
  →  110   capacity A/B/C, or D with overflow     (~65%)
  →   40   price_fit Strong or Acceptable         (~35% — Hypothesis, the new gate)
  →   30   with a contactable decision-maker      (~75%)
  →  ~30   Priority B pipeline
  →   ~6   Priority A (direct or 2× indirect signal ≤ 90 days)

Two consequences. First, Priority B is your volume engine, not Priority A — at this price point there simply aren't enough signal-bearing, commercially-qualified accounts to run an A-only pipeline. Second, you don't need 10,000 accounts. If a partner is worth $7,500–$30,000 a year, 10–20 active partners is a real business. That's roughly 2,000–4,000 raw records processed properly, not 16,000 — which also cuts the credit budget the sourcing plan assumed.

Is the pricing itself wrong?

On the evidence available: no, with one flag. The build-from-design tiers ($1,200 / $2,400) sit below common onshore white-label project pricing and are the natural wedge. Design + development at $3,500 and WooCommerce at $4,500–$6,500 are consistent with the market. The one number I would still question is care at $599 as a default — the new three-tier structure resolves that, provided Essential and Growth are profitable for you at volume, which I can't verify.

The order of investigation in your own decision principle is the right one, and the data so far supports it: the ICP was the problem (#1), the offer structure needed the dev-only wedge and the pilot (#2), proof is genuinely insufficient (#3), and pricing (#4) is not currently the binding constraint. Nothing here justifies moving Softvole into the $500–$1,500 full-website market.

Conditions for this verdict to hold

  1. The commercial gate is implemented as a gate, not as extra points.
  2. Unknown routes to research, never to rejection — otherwise v2.1 deletes half your market.
  3. Premium is documented as a service standard (QA, accessibility, warranty, SLAs, confidentiality), not asserted.
  4. Public claims on the website match verifiable reality before outreach begins.
  5. The band model is recalibrated against real stated prices after the first 100 accounts.
  6. The five-account band-2 control cohort is actually run, so the premise stays falsifiable.

If, after 100 accounts, band 4–5 agencies convert no better than band 2–3, and the objections are about price rather than proof, then the pricing hypothesis — not the ICP — is what needs revisiting. That is the only evidence I would accept for lowering prices, and it does not exist yet.