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?
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 package | Price | Agency needs to charge (2.5×) | Comfortable (3×) | Which agency price band that implies |
|---|---|---|---|---|
| Landing page, build from approved design | $1,200 | $3,000 | $3,600 | Band 2+ |
| Website (≤ 5 templates), build from approved design | $2,400 | $6,000 | $7,200 | Band 3+ |
| Extra unique template | $350–450 | $875–1,125 | $1,050–1,350 | — |
| Business website, design + development | $3,500 | $8,750 | $10,500 | Band 4+ |
| Redesign + migration | $3,500 | $8,750 | $10,500 | Band 4+ |
| WooCommerce, build from approved design | $4,500 | $11,250 | $13,500 | Band 4+ |
| WooCommerce, design + development | $6,500 | $16,250 | $19,500 | Band 5 |
| Care · Essential | $149/mo | $373/mo | $447/mo | Client pays ≥ $350/mo |
| Care · Growth | $299/mo | $748/mo | $897/mo | Mid-market client |
| Care · Priority | $599/mo | $1,498/mo | $1,797/mo | WooCommerce / revenue-critical |
The five agency price bands
| Band | Typical website project the agency sells | What they can buy from Softvole | Price Fit | ICP treatment |
|---|---|---|---|---|
| Band 1 | < $3,000 | Nothing at a viable margin | WEAK | Suppress. These are the $400-budget, high-revision partners v2.1 exists to exclude |
| Band 2 | $3,000–$5,999 | Landing page only; care Essential | Weak for builds · Acceptable for LP | Tier 3, LP-led offer, low priority |
| Band 3 | $6,000–$9,999 | Build-from-design website; care Essential/Growth | ACCEPTABLE | Tier 1/2 with dev-only offer; design+dev is thin |
| Band 4 | $10,000–$24,999 | Every package including design+dev and Woo dev-only | STRONG | Primary target |
| Band 5 | ≥ $25,000 | Everything, including Woo design+dev | STRONG | Primary 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 rule | Problem | Now |
|---|---|---|
| “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 tier | Many 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 criterion | Database 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 workflow | Nothing 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
| Gap | Why it matters at Softvole's prices |
|---|---|
| No measure of what the agency charges | The 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 calculation | Nothing compared agency price to Softvole price, so qualification was blind to whether the deal is possible. |
| No design-capability split | Whether 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 mapping | Qualification should name the package to pitch, not only a priority class. |
| No minimum partner value | Three landing pages a year is not a partnership after sales, scoping and account-management time. |
| No proof-demand estimate | Higher-value agencies ask harder questions. That decides the entry motion, not whether to target them. |
| Existing white-label use counted as purely positive | An 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 —
Unknownnow 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
| Field | Databases reliable? | Method |
|---|---|---|
| Is it really an agency? | No (38% pilot error) | AI RESEARCH + HUMAN REVIEW on all Priority A |
| What they charge clients | No | AI RESEARCH across several sources (§10) + HUMAN REVIEW when it decides the class |
| Sells websites, platforms used | Partly | AI RESEARCH + tech lookup on portfolio domains |
| Development capacity | No (contractors invisible) | AI RESEARCH + people data; HUMAN REVIEW when it decides the tier |
| Outsourcing / vendor price tier | No | AI RESEARCH |
| Ownership (independent vs network) | Partly | AI RESEARCH + HUMAN REVIEW if unclear |
| Founder post meaning | No | AI RESEARCH classifies; HUMAN REVIEW before quoting it |
| Headcount, location, LinkedIn URL, tech stack | Yes (mostly) | Provider data; spot-check 10% |
§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.
| Dimension | Ideal state | Acceptable | Label |
|---|---|---|---|
| Company type | Independent client-service agency: branding/design studio, marketing, digital, full-service, web design | Boutique consultancy delivering websites as part of its service | Current ICP Evidence |
| Price band (§1) | Band 4–5: sells websites at $10,000+ | Band 3: $6,000–9,999, build-from-design only | Recommended Addition |
| Design capability | Design in-house (Figma), production missing | No design capability, but Band 4+ budgets | Recommended Addition |
| Development capability | Capacity A (sells web, no dev), B (1 dev, stretched), C (devs plus outsourcing) | D with dated overflow evidence; Unknown → research | Recommended Addition |
| Business model | Retainers plus recurring web projects; care plans sold | Project-led with repeat clients | Current ICP Evidence |
| Team structure | 5–50 people; strategists, designers, account managers; 0–2 developers | Up to 6 developers with overflow evidence; up to 150 staff at Band 4+ | Recommended Addition |
| Client profile | Lower mid-market and mid-market: professional services, healthcare, B2B, multi-location, WooCommerce retail | SMB with above-average budgets | revised in v2.1 |
| Services | Web design/development listed, with a website portfolio | Redesign or migration work driven by SEO | Recommended Addition |
| Stack | WordPress, Elementor, WooCommerce across portfolio sites | Mixed stack with meaningful WordPress share | Current 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 sites | Recommended Addition |
| Partner value | partner_value_estimate ≥ $20,000/year | ≥ $7,500/year | Hypothesis · To Validate |
| Outsourcing behaviour | Uses freelancers or contractors, not locked to a budget offshore vendor | No evidence either way | Recommended Addition |
| Operational pain | Delivery bottleneck on builds; freelancer reliability; margin on web projects | Occasional overflow | Current ICP Evidence |
| Decision-making | Founder decides alone or with one ops/creative lead | Founder plus small leadership team | Current ICP Evidence |
| Geography | USA, UK | Canada, Australia; Ireland, New Zealand, UAE as experiments | Current 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.
| Dimension | Question | Primary evidence | Stage | Can it disqualify? |
|---|---|---|---|---|
| Firmographic fit | Who are they? | Headcount, country, category, ownership | 03–04 | Yes — geography, size extremes, category |
| Agency validation | Is it really an agency? | Client work, case studies, services | 07 | Yes — hard gate |
| Service fit | Do they sell what Softvole produces? | Services page, portfolio | 07 | No web relevance → Nurture or DQ |
| Capability fit | Can they deliver it internally? | Team page, engineering headcount, job posts, contractor mentions | 07 | Capacity E → DQ |
| Commercial fit | Can they resell Softvole at a margin? | Published pricing, directory data, client tier, portfolio quality | 08 | Yes — Price Fit is a gate (§10) |
| Offer fit | Which package do they buy? | Design and dev capability, band, client type | 08 | No — but drives the pitch |
| Persona fit | Did we find someone who can say yes? | Title, seniority, tenure, verified email | 09–10 | No contactable persona → Nurture |
| Pain fit | Is there a plausible problem? | Service fit plus capability fit | 13 | Yes — no plausible pain → DQ |
| Timing fit | Is the problem present now? | Dated events ≤ 90 days | 11–12 | Never — absence means Priority B |
| Partnership fit | Recurring, or one-off? | Retainers, care plans, project volume, partner value | 13 | Below 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 type | Tier | Problem Softvole solves | Evidence to look for | Raises priority | Lowers / disqualifies |
|---|---|---|---|---|---|
| Branding / creative / design studios | 1A | They 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 ≥ 3 | Live WordPress portfolio; “development partner” mentions | Print/packaging only; band ≤ 2 |
| Full-service marketing agencies | 1B | Websites sold inside retainer bundles; build is the bottleneck. | Website service page; website case studies; band 4–5 | Capacity A/B; care plans sold | No web offer; band ≤ 2; > 6 in-house devs without overflow |
| Digital marketing agencies | 1B if band ≥ 4 · 2 if band 3 | The website is the conversion layer for their SEO and paid work. | Web service page; landing-page work | Hiring web roles; recent launches | Pure paid-media with no site work |
| Vertical specialists (B2B, healthcare, legal, multi-location) | 1C | Repeat structured builds: location pages, directories, integrations. | Vertical focus in positioning; named mid-market clients | Multi-location or franchise clients | Micro-local client base |
| Web design agencies (design-led, small) | 2a | Websites are the product; designer-heavy teams run out of build capacity. | Designers outnumber developers; band 3+ | Dev job posting; developer departure | Band ≤ 2; dev team ≥ 7 |
| Web / development agencies with real dev teams | 2-Premium | Peak-load overflow with their standards and review. | Capacity C/D; band 4–5; contractor use | Dated overflow evidence; dev departure | They sell white-label dev themselves → competitor |
| WordPress agencies | 2 | Perfect stack match; usually overflow rather than core production. | WP specialism; dev headcount; band | Capacity B/C; hiring WP devs | Capacity E; sells white-label WP |
| SEO agencies selling redesigns / migrations | 2b | Rebuilds and migrations they are accountable for but cannot code. | Redesign or migration in services; technical SEO | Case studies mentioning rebuilds | Only small technical fixes → Tier 3 (offer mismatch) |
| B2B marketing agencies | 2 | B2B sites, microsites, rebuilds; mid-market budgets. | Website projects for B2B clients; WordPress share | Band 4–5 | HubSpot-CMS-only or Webflow-only |
| PPC / performance agencies | 3 | Landing pages and test builds. | Landing pages/CRO in services | Band ≥ 3; frequent campaign launches | Platform-only management |
| Home-services / local-business agencies | 3 | Volume site production. | Evidenced pricing ≥ $6,000, or care book ≥ 10 sites | Multi-location clients; franchise work | $1,500–3,000 sites → Nurture or DQ |
| Content / social media agencies | 3 | Occasional site builds for retainer clients. | Web offer present? | Band ≥ 4 | No web mention |
| SaaS marketing agencies | 3 | Marketing-site production. | Stack of client sites | WordPress share ≥ 50% | Webflow/React only |
| Webflow agencies | 3 | Only if Softvole has Webflow depth. To Validate | Webflow Experts listing; WordPress share | Mixed stack with WordPress clients | Default: Nurture |
| Lead-generation agencies | 3 | Funnels, usually not WordPress. | Funnel stack | WordPress landing pages; band ≥ 3 | Outbound/SDR only → DQ |
| Advertising agencies (traditional) | 3 | Campaign microsites. | Digital production in portfolio; independent | Band 5, independent, < 150 staff | Media-buying only; network-owned |
| Software / app / IT development firms | EXCLUDE | Development is their product. | — | Documented WordPress overflow → review | Default 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
| Class | Definition | Detection evidence | Effect on qualification | Angle |
|---|---|---|---|---|
| A · No visible dev | No developers on team page or LinkedIn; websites still appear in services/portfolio | 0 engineering titles in people data and AI finds no dev on site/team page and web work exists → they outsource somewhere | Strong 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 capacity | 1 developer (or a designer who builds), likely insufficient for volume | 1 dev/“web designer & developer” title; ≥ 6 website projects/yr visible | Strongest fit. Single point of failure + proven demand | “Back up your developer — overflow, holidays, peaks” |
| C · Devs + overflow | 2–6 developers with evidence of outsourcing, contractors or hiring | Dev 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 team | Mature dev team sized to demand, no outsourcing evidence | ≥ 4 devs incl. senior/lead titles; no dev job posts; no contractor mentions | Tier 2-Premium (overflow) when price band 4–5 with dated overflow evidence; otherwise Nurture and revisit on a signal | Overflow only, with proof assets |
| E · Dev is the business | Software/web development is their primary product | Majority engineering headcount; “custom software/app development” | DISQUALIFIER (competitor or non-buyer) unless documented overflow → human review | — |
| U · Unknown | Evidence insufficient | Conflicting or missing data | Never 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.
| Finding | How to detect | Effect | Label |
|---|---|---|---|
| Offers web design | Services nav/page mentions web/website design | Required for Tier 1 | REQUIRED (T1) |
| Offers website development | “development”, “build”, “WordPress development” | + fit; check who builds (capacity) | AI RESEARCH |
| Sells WordPress | Service copy; portfolio sites' tech (BuiltWith/Wappalyzer-type lookup on 2–3 portfolio domains) | Strong stack fit | RECOMMENDED |
| Elementor / WooCommerce | Copy or tech detection | Strong stack fit (exact Softvole capability) | RECOMMENDED |
| Webflow / Shopify only | Copy, Experts/Partners directories, tech | Downgrade to Tier 3 until Softvole validates platform depth | To Validate |
| Landing pages | Copy | Web-adjacent; Tier 2a | RECOMMENDED |
| Website maintenance / care plans | “care plan”, “hosting & maintenance”, “support retainer” | + commercial & partnership fit (recurring work) | RECOMMENDED |
| Redesigns / conversion-focused sites | Copy, case studies | + project volume | OPTIONAL |
| Website case studies / portfolio | Count live website projects; note dates | Required evidence of demand; ≥ 6 in 24 months = high volume | REQUIRED (T1) |
| Developers listed / technical staff | Team page, LinkedIn | Sets capacity class | AI RESEARCH |
| Outsources development / mentions contractors or “network of specialists” | Site copy, job posts (“freelance”, “contract”), founder posts | Strong positive — proven buying behaviour | SIGNAL |
| Mentions partners / uses a white-label vendor | Partners page, footer credits on portfolio sites (“built by …”) | Positive (buys already); displacement angle; HUMAN REVIEW for tone | SIGNAL |
| Offers white-label services to other agencies | “white label”, “for agencies”, “partner program” aimed at agencies | If 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 all | Nothing web in services or portfolio | Tier 2a only if SEO/CRO/LP; otherwise Nurture or DQ | DISQUALIFIER (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
| Field | Values | Where it comes from | Required? |
|---|---|---|---|
| clutch_min_project_size | $1,000 · $5,000 · $10,000 · $25,000 · $50,000+ · Not listed | Clutch profile (self-reported) | RECOMMENDED |
| clutch_hourly_range | <$25 · $25–49 · $50–99 · $100–149 · $150–199 · $200+ · Not listed | Clutch / DesignRush / Sortlist / UpCity | RECOMMENDED |
| published_pricing | text + URL, or None found | Agency pricing/packages page | RECOMMENDED |
| published_price_min_site | currency, or Unknown | Parsed from published pricing (“websites from $X”) | RECOMMENDED |
| agency_hourly_rate_site | currency/hour, or Unknown | Agency's own site (rare but high value) | OPTIONAL |
| client_tier | micro_local · smb · lower_mid · mid_market · enterprise · mixed | AI reading client logos, case studies, industries | REQUIRED |
| client_quality_evidence | named clients, funding, multi-location, franchise, regulated industries | AI + case studies | RECOMMENDED |
| portfolio_quality | custom_high · custom_standard · template_builder · unclear | AI assessment of 3 portfolio sites | RECOMMENDED |
| portfolio_platform_mix | % WordPress / Webflow / Shopify / builder / custom across sampled sites | Tech lookup on 3 portfolio domains | REQUIRED |
| design_internal | yes · no · unknown | Team page, services, portfolio | REQUIRED |
| dev_internal | yes · no · unknown (+ dev_count from v2.0) | Team page + people data | REQUIRED |
| dev_outsourced | yes · no · unknown | Contractor/partner language, job posts, site credits | REQUIRED |
| wl_vendor_price_tier | premium · mid · budget_offshore · unknown | AI: named vendor, vendor's own pricing, language (“offshore”, “$X/site”) | RECOMMENDED |
| web_projects_per_year | integer estimate + confidence | Portfolio dates, case studies, launch posts | REQUIRED |
| price_sensitive_positioning | yes · no | Keywords: affordable, budget, cheap, “$99/month”, “websites from $999” | REQUIRED — this is a disqualifier |
| sales_headcount / production_headcount | integers | People data title classification | RECOMMENDED |
Derived fields
| Field | How it is computed | Use |
|---|---|---|
| typical_site_value_band | Weighted blend of published price, Clutch minimum, hourly range, client tier, portfolio quality (§10§). Output: Band 1–5 + confidence | Input to Price Fit |
| price_fit | Strong · Acceptable · Weak · Unknown — band vs the package the agency would buy, with the retainer uplift rule | Gate for Priority A/B |
| offer_fit | build_from_design · design_and_build · woo_build · woo_full · redesign_migration · care_only · overflow_capacity | Decides the pitch and the pilot |
| expected_reseller_margin | (band midpoint − Softvole price of offer_fit) ÷ band midpoint | Scoring + the margin line used in outreach |
| sales_production_ratio | sales_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_demand | low · medium · high — from band, client tier, agency maturity and whether they employ developers | Chooses entry offer and sales motion |
| softvole_commercial_compatibility | Summary label: Compatible · Compatible with pilot · Offer mismatch · Price mismatch · Unknown | The single field a salesperson reads first |
Minimum viable partner
A partnership must be worth the sales and management cost. Starting rule Hypothesis — To 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
| Level | Typical account | Entry motion |
|---|---|---|
| Low | Band 3, owner-led, 5–15 staff, no developers, already uses freelancers | Direct to a scoped first project; references on request |
| Medium | Band 4, 15–40 staff, mid-market clients, one internal developer | Paid pilot: one template or one landing page, milestone payments, defect warranty |
| High | Band 5, agencies with their own dev team, regulated-industry clients, procurement or MSA processes | Process 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.
| Signal | Weight | Reading | Caveat |
|---|---|---|---|
| Published website pricing on the agency's own site | 40 | Direct statement of band | “From” prices understate the average; treat as the band floor |
| Clutch/DesignRush minimum project size | 25 | $1,000 → Band 1–2 · $5,000 → Band 2–3 · $10,000 → Band 3–4 · $25,000+ → Band 4–5 | Self-reported and often aspirational; $5,000 is a common default. Never decisive alone |
| Clutch/directory hourly range | 20 | <$25 → Band 1 · $25–49 → Band 2 · $50–99 → Band 3 · $100–149 → Band 4 · $150+ → Band 5 | Reflects the agency's cost base as much as its prices |
| Client tier and named clients | 20 | Enterprise/mid-market/regulated/funded → Band 4–5; micro-local → Band 1–2 | One flagship logo doesn't set the average |
| Portfolio quality and complexity | 15 | Custom templates, structured content, integrations, animation → Band 4+; stock layouts → Band 1–2 | AI judgement; Medium confidence at best |
| Portfolio platform mix | 15 | Builder-based → Band 1–2; custom WP/Woo → Band 3+ | Cheap themes ≠ cheap agency, but it correlates |
| Job-post salary ranges | 10 | A US agency advertising $85k+ for a designer prices work accordingly | Only available when they're hiring |
| Service positioning language | 10 | “Strategy”, “brand systems”, “growth partner” → higher; “affordable”, “fast”, “cheap” → lower | Marketing copy inflates |
| Geography + agency size | 5 | US/UK, 15+ staff → higher baseline | Weak on its own |
| Price-sensitive positioning detected | override | Forces Band 1–2 | — |
Step 2 — confidence
| Confidence | Condition | Effect |
|---|---|---|
| High | Published pricing, or two independent signals of weight ≥ 20 agreeing within one band | Band used as-is |
| Estimated | One signal ≥ 20, or three proxy signals agreeing | Band used; Priority A requires human review |
| Unknown | No signal above weight 10 | Priority 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? | Band | offer_fit | Pitch |
|---|---|---|---|---|
| Yes (Figma) | No / 1 | 3+ | build_from_design | “Your design, built properly — $2,400 for up to five templates” |
| Yes | 2–6 + overflow | 4–5 | overflow_capacity | Peak-load production lane with your QA standards |
| No | No | 4+ | design_and_build | End-to-end production behind your brand |
| No | No | 3 | build_from_design | Only if they can supply a design; otherwise margin is too thin |
| Any | Any | 4+, ecommerce clients | woo_build / woo_full | WooCommerce production with scoped store rules |
| Any | Any | 3+, sells SEO/technical work | redesign_migration | Redesign with URL/redirect preservation and SEO-risk protection |
| Any | Any | 2–3, maintains many sites | care_only | Care 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
| Model | Fit for a recurring white-label partnership | Why |
|---|---|---|
| Retainer-heavy + sells web | Highest | Clients stay for years and keep needing pages, redesigns and fixes; web work arrives continuously. |
| Mixed (retainers + projects) | High | Projects create builds; retainers create maintenance and follow-on work. |
| Project-heavy web studio | Medium–High | Volume is high but lumpy; strong overflow need at peaks. |
| One-off project agency, low volume | Low | Few projects per year → partnership value too small. To Validate: minimum partner value |
| SMB-focused | High | Many small sites, WordPress-heavy, price-sensitive enough to value an efficient production partner. |
| Mid-market-focused | High (fewer, larger projects) | Bigger budgets; higher quality and process expectations (QA, accessibility, documentation). |
| Enterprise-focused | Low | Security 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 type | Typical agency price band | Web frequency | Platform | Softvole value |
|---|---|---|---|---|
| Healthcare, dental, clinic groups, multi-location | Band 4 | High | WordPress | Best — location templates, booking, accessibility, recurring care |
| Professional services (law, accounting, finance, consulting) | Band 4 | Medium–High | WordPress | Best — redesigns, service-page systems, SEO-driven content |
| B2B, industrial, manufacturing | Band 4 | Medium | WordPress | High — larger sites, catalogues, CRM integrations |
| Franchise / multi-location brands (any vertical) | Band 4–5 | Medium | WordPress | High — one template, many locations; efficient production |
| Ecommerce (SMB and mid-market) | Band 4–5 | Medium | WooCommerce / Shopify | High on WooCommerce; Shopify To Validate |
| Real estate and property | Band 3–4 | Medium–High | WordPress + listing plugins | Medium–High — integration complexity supports price |
| SaaS and tech | Band 4 | Medium | Webflow / Next.js / WordPress | Medium — stack often mismatched |
| Nonprofit and education | Band 2–3 | Medium | WordPress | Low–Medium — budget-constrained |
| Home services, trades, local businesses | Band 1–2 | Very high | WordPress / Elementor | Low — volume is real, margin is not. Only qualifies with evidenced higher pricing |
| Automotive (dealers, auto services) | Band 2–3 | Medium | Third-party platforms | Low — inventory platforms dominate; only multi-location groups matter |
| DTC brands | Band 3–4 | Medium | Shopify | Low — little WordPress relevance |
| Enterprise | Band 5 | Low | Custom / enterprise CMS | Low — 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.
| Priority | Titles | Why they care / pain | Authority | Relevance signal | Messaging angle |
|---|---|---|---|---|---|
| Primary | Founder, Co-Founder, Owner, CEO, Managing Director, President, Managing Partner | Owns margin, client relationships and hiring decisions; feels lost deals and freelancer risk personally | Final decision; can start a paid pilot alone | Company ≤ 50 staff; active on LinkedIn; posts about growth/hiring | Margin and reliability: “sell more websites without hiring” |
| Secondary | COO, Head of Operations, Operations Director, Director of Delivery, Head of Production, Project/Delivery Manager (senior) | Lives with deadlines, resourcing and freelancer management | Strong influencer; often owns vendor selection | Agency 15–75 staff; ops role exists | Capacity and predictability: “a production lane with SLAs” |
| Secondary | Creative Director, Design Director, Head of Design | Their designs get compromised by weak builds; Figma→WP fidelity | Influencer; decider in design studios | Design-led studio; Figma in portfolio | “Pixel-perfect builds of your designs” |
| Secondary | Web Director, Head of Web, Technical Director, Head of Development | Their team is the bottleneck; owns overflow decisions | Decider for dev overflow (Tier 2b/3) | Capacity C/D; dev hiring | “Overflow capacity your team can review and trust” |
| Tertiary | Head of SEO, SEO Director | Can't ship technical fixes; rankings suffer | Influencer; decider in SEO shops | SEO agency; technical SEO services | “Implement your audit recommendations fast” |
| Tertiary | Client Services Director, Account Director, Head of Marketing (at agency) | Clients ask for web work they can't promise | Low; route to founder | Only when no primary/secondary found | Referral 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.
| Market | v2 priority | Why it fits | Challenges | Buying behaviour | Time gap (UTC+6) | Compliance note |
|---|---|---|---|---|---|---|
| USA | P1 | Largest agency market; high web prices leave room for white-label margin; outsourcing is normalised | Most saturated with white-label offers; buyers are inbox-fatigued | Fast, ROI-driven; responds to specificity and proof | 10–13 h behind — async delivery, US-morning overlap only in Dhaka late evening | CAN-SPAM: opt-out + physical address |
| UK | P1 | Dense independent agency scene; English; commercially close to US | More sceptical of offshore quality; expects UK-standard contracts/GDPR data processing terms | Relationship- and trust-led; understated tone works | 5 h ahead of UK — good afternoon overlap | PECR/UK GDPR: B2B email to corporate addresses allowed with legitimate interest + opt-out; sole traders treated as individuals |
| Canada | P2 | US-like agencies, less saturated | Smaller market | Similar to US, slightly more conservative | 10–13 h | CASL is strict: rely on conspicuously published business email relevant to role, or obtain consent |
| Australia | P2 | Mature agencies, strong WordPress use, outsourcing to Asia common | Smaller volume | Direct, informal | 4–5 h ahead of Dhaka — excellent overlap | Spam Act: inferred consent via conspicuous publication; identify sender; unsubscribe |
| Ireland, New Zealand | P3 experiment | English, agency cultures close to UK/AU | Small markets | As UK / AU | Good (NZ) / as UK | GDPR/ePrivacy (IE); NZ Unsolicited Electronic Messages Act |
| UAE / GCC | P3 experiment | Growing agency scene; close timezone | Relationship-first, longer cycles, WhatsApp/LinkedIn over email, price pressure, bilingual (Arabic) sites | Slow trust-building; in-person/network referrals matter | 2 h — best overlap | UAE 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
§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.
| Signal | What it means | How Clay detects it | Strength | Action |
|---|---|---|---|---|
| Hiring | ||||
| Hiring WordPress / Elementor / web / front-end developer | Capacity gap acknowledged and budgeted | Job-postings enrichment on domain; Claygent on /careers | DIRECT | + score; Priority A candidate |
| Freelance/contract web-dev posting | Actively buying outside help | Job posts with “contract”, “freelance”; founder posts | DIRECT | + score; strongest angle |
| Hiring web designer (no devs) | More design output than build capacity | Job postings | INDIRECT | + score |
| Hiring technical PM / project manager | Delivery load rising | Job postings | INDIRECT | + score |
| Hiring Webflow/Shopify developer | Capacity gap on another stack | Job postings | INDIRECT | Review; stack mismatch |
| Hiring senior dev lead / building an in-house team | They chose to insource | Job postings | NEGATIVE | Downgrade; nurture 6 months |
| Team change | ||||
| Developer left in last 90 days | Sudden capacity loss | People data: dev at company with end date; LinkedIn headcount drop in engineering | DIRECT | + score; time-sensitive |
| New COO/Ops lead joined | Process and vendor review window | People data: start date ≤ 90 days | INDIRECT | Contact new leader |
| Capacity | ||||
| Founder asks for dev/white-label partner recommendations | Explicit active need | LinkedIn post search (AI classification) | DIRECT | Contact within 48 h; HUMAN REVIEW |
| Posts about being at capacity / waitlist / “booked till…” | Demand > supply | LinkedIn posts; site banners | DIRECT | + score |
| Outsourcing announcement / “network of specialists” | Buys external production | Site copy, posts | INDIRECT | + score (fit + timing) |
| Reviews mentioning delays on web projects | Possible delivery strain | Google/Clutch reviews via AI | INDIRECT | Review only — never quote in outreach |
| Growth | ||||
| Headcount growth ≥ 15% in 6 months | More clients, more work | Company headcount-growth field | INDIRECT | + score |
| New service launch: web design / web dev | New web line with no proven delivery | AI on site/news/posts | DIRECT | + score |
| New client wins announced | More upcoming work | Posts, news | INDIRECT | + score |
| Agency acquisition / merger (as acquirer) | Integration load | News | INDIRECT | Review |
| New office / new market | Growth context | News, posts | WEAK | Personalization only |
| Awards / rankings | Visibility, not need | News | WEAK | Personalization only |
| Project activity | ||||
| ≥ 3 new website case studies/launches in 90 days | High current web throughput | AI reads portfolio with dates; posts “we just launched…” | INDIRECT | + score |
| New landing-page / campaign launches | Build demand (Tier 2a) | Posts | WEAK | Context |
| Technology (these are fit, not timing) | ||||
| Uses WordPress / Elementor / WooCommerce | Stack compatibility | Tech lookup on agency + portfolio domains | WEAK as timing | Scores in Capability fit, not Intent |
| Agency changed own site platform recently | Possible stack shift | Tech history | WEAK | Context |
| Negative / disqualifying events | ||||
| Layoffs, headcount shrinking > 20% | Less work | Headcount trend | NEGATIVE | Downgrade; nurture |
| Acquired by a network | Central production likely | News | NEGATIVE | Exclusion review |
| Announced a white-label dev partnership in last 90 days | Just bought from a competitor | Posts, partners page | NEGATIVE | Nurture 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.
§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
| Criterion | Points | Business reason |
|---|---|---|
| Site-verified client-service agency | gate | 38% of vendor records were not agencies Pilot Evidence |
| Agency type Tier 1 / Tier 2 / Tier 3 | 8 / 5 / 2 | How directly the business creates WordPress build work (§6) |
| Employees 8–35 · 5–7 or 36–50 · 51–150 (band ≥ 4 only) | 5 / 3 / 3 | Large enough for volume, small enough to lack a dev bench |
| Geography US/UK · CA/AU · P3 | 4 / 3 / 1 | Price levels, language, outsourcing norms |
| Independent and owner-led | 3 | Founder decides without procurement |
Capability Fit — 25 points
| Criterion | Points | Business reason |
|---|---|---|
| Sells websites with portfolio · sells websites, no portfolio · web-adjacent only · none | 10 / 7 / 4 / 0 | Proven web demand precedes any partnership |
| Capacity B or C with overflow · A selling web at band ≥ 3 · Unknown, or A at band ≤ 2 · D · E | 10 / 9 / 4 / 2 / DQ | Insufficient capacity is the core pain (§7) |
| WordPress share of sampled portfolio ≥ 50% · 20–49% · < 20% | 5 / 3 / 0 | Softvole's delivery capability |
| Bonus: sales_production_ratio > 1.0 with web sales evidence | +3 | Structural production bottleneck |
Commercial Fit — 25 points
| Criterion | Points | Business reason |
|---|---|---|
| Price band 4/5 · band 3 · band 2 · band 1 | 12 / 8 / 3 / 0 | Ability to resell at a margin (§10) |
| Client tier mid-market or regulated/multi-location · lower-mid · smb · micro-local | 4 / 3 / 2 / 0 | Client budgets fund the work |
| Estimated annual web revenue ≥ $150k · $60–150k · < $60k | 4 / 2 / 0 | Value, not project count |
| Recurring evidence: care plans or multi-year clients | 3 | Recurring web work, not one-off |
| Partner-openness with non-budget vendor tier | 2 | Proven willingness to buy production at sane prices |
Persona Fit — 15 points (per contact)
| Criterion | Points | Business reason |
|---|---|---|
| Primary · secondary · tertiary persona (§13) | 10 / 7 / 4 | Authority and pain ownership |
| Email verified valid · catch-all or risky | 3 / 1 | Deliverability protects domain reputation |
| Posted on LinkedIn in last 90 days | 2 | Second channel and personalization source |
Intent / Timing — 15 points
| Criterion | Points |
|---|---|
| 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
| Condition | Points |
|---|---|
| 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 Low | cap at Priority C |
Priority classes
Signal Strength is a label, not points: Direct · Indirect-2+ · Indirect-1 · Weak · None · Negative.
| Class | Conditions (all must hold) | Motion |
|---|---|---|
| PRIORITY A | No 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 ≥ Medium | HUMAN REVIEW then manual personalized outreach, pitch matched to offer_fit, pilot sized to proof_demand |
| PRIORITY B | Same commercial and fit gates as A, but no qualifying timing signal | Segment campaign by band and offer. The volume engine — expect 5–8 B for every A |
| PRIORITY C | price_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 |
| NURTURE | price_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 event | Quarterly monitoring; care-plan or landing-page offer at band 2–3; re-score on a price or growth signal |
| DISQUALIFIED | Any hard disqualifier (§19), or FIT < 38 | Suppress 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.
| Requirement | Evidence threshold | New in v2.1? |
|---|---|---|
| Commercial capacity | price_fit = Strong, band 4 or 5, confidence High | yes |
| Repeat web revenue | ≥ 4 website projects per year, or ≥ 2 per year at band 5, or a care book ≥ 10 sites | yes (value, not count) |
| Partner value | partner_value_estimate ≥ $20,000/year | yes |
| Production constraint | Capacity A/B/C at High confidence, or Capacity D with dated overflow evidence; sales_production_ratio > 1.0 supports it | refined |
| Offer match | offer_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/WooCommerce | refined |
| Values reliability | No price-sensitive positioning; evidence of process (QA, accessibility, staging, documented workflow) or complaints about freelancer reliability | yes |
| Decision-maker | Founder/Owner/MD or delivery/ops lead, tenure ≥ 1 year, valid email, active in last 90 days | unchanged |
| Timing | ≥ 1 direct signal ≤ 60 days | unchanged |
| No disqualifiers | Not a competitor, not network-owned, not budget-vendor-locked, no recent white-label deal | refined |
| Human confirmation | A reviewer signs off on band, offer and pain hypothesis | unchanged |
Priority classes and their gates are in §17.
§19Negative ICP — exclusions and exceptions
| Exclude | Detection | Reason code | Exception (route to review) |
|---|---|---|---|
| Not an agency (product brand, course/community, media/ad network, SaaS) | AI agency validation; keywords course, podcast, membership, community, shop, app | DQ_NOT_AGENCY | None |
| Freelancer / solo consultant | ≤ 1 employee on LinkedIn and no team page, first-person copy | DQ_SOLO | 2–4 person studio with ≥ 10 website projects/yr and named team → Tier 3 test |
| Very small agency (2–4) | Headcount | DQ_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 devs | DQ_TOO_LARGE | Documented overflow → Tier 3 |
| Software / app / IT development firm | Capacity E; dev_ratio > 0.4 | DQ_DEV_FIRM | Posted WordPress overflow need → human review |
| Competitor: white-label/offshore dev vendor | “white label development for agencies”, “offshore team”, “hire dedicated developers” | DQ_COMPETITOR | Possible partnership conversation — separate list, not outbound |
| PR-only, events, print, staffing/recruitment, media owners, SDR/lead-gen outsourcing | Category + AI | DQ_CATEGORY | PR/comms agencies with a web service line → review |
| Network-owned / publicly listed | Ownership check | DQ_NETWORK | Autonomous boutique inside a small group → review |
| Outside target geography | HQ country | DQ_GEO | Remote agency with majority of clients in US/UK → review |
| No web relevance | No web/SEO/CRO/LP services and no portfolio | DQ_NO_WEB | Nurture if Tier 1 type otherwise |
| Dead / parked / no website | HTTP check | DQ_NO_SITE | None |
| Already a Softvole client, partner or open deal; asked not to be contacted | CRM suppression | DQ_SUPPRESS | None |
| Price band 1, or "affordable / budget / cheap website" positioning | Published pricing; keyword scan of site copy | DQ_PRICE_BAND | Stated prices are per-month subscriptions, not project fees → review |
| Builder-only portfolio (Wix, Squarespace, GoDaddy) | Tech lookup on sampled portfolio domains | DQ_BUILDER_PORTFOLIO | They state they are migrating clients to WordPress → review |
| Locked to a budget offshore vendor (sub-$1,000 per site), no dissatisfaction evidence | AI: named vendor and its public prices | DQ_BUDGET_VENDOR_LOCK | Evidence of missed deadlines or quality complaints → displacement angle, keep |
§20Data confidence
| Level | Definition | Example |
|---|---|---|
| HIGH | Direct, first-party evidence, or two independent sources agree | Services page says “WordPress website design”; team page + LinkedIn both show one developer |
| MEDIUM | One credible source, or strong inference from multiple weak clues | LinkedIn shows no devs, site not checked; portfolio sites run WordPress but services page is vague |
| LOW | Inference from incomplete or third-party modelled data | Revenue estimate; category label; AI guess without a quote |
| BAND CONFIDENCE | Separate scale for price band: High (published pricing or two independent signals agreeing) · Estimated (one credible signal or three proxies) · Unknown | See §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_weborcapacity_classis 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.
price_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 value — partner_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 READY → outreach_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)
§23TAM → SAM → ICP pool → qualified → sales-ready
Five numbers that must never be confused. Only the last goes to Instantly.
| Layer | Definition | Produced by | Size guide |
|---|---|---|---|
| TAM | All theoretically relevant agencies (marketing, advertising, design, web, SEO; 1–200 staff) in English-speaking markets | Broad database counts | Pilot Evidence 222,909 US marketing/advertising companies (1–50 staff, ≤ $10M, has website) plus 187,723 in UK/CA/AU (Explorium, Sep 2026) |
| SAM | US/UK/CA/AU, 5–75 staff, excluded categories removed, live website | Cheap filters (steps 01–03) | Hypothesis 35–50% of TAM |
| ICP pool | Verified 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 accounts | ICP pool passing the commercial gate and capacity check (FIT ≥ 48, price fit Strong/Acceptable) | Commercial waterfall (step 08) + scoring | Hypothesis 30–40% of ICP pool |
| Sales-ready leads | Qualified + persona with valid email + readiness gate; Priority A also needs a signal | Steps 09–16 | Hypothesis 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
| Item | Specification |
|---|---|
| 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 first | Tier 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 |
| Geography | HQ country ∈ {US, UK} for Phase 1; add CA, AU from Phase 2 |
| Employees | 5–50 (Tier 2b: up to 75). Use LinkedIn employee range; do not rely on revenue |
| Revenue | Do 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 keywords | software development, app development, IT services, staffing, recruitment, public relations, events, printing, course, podcast, membership, community, white label development, offshore, dedicated developers, SaaS platform |
| Pass condition | Has domain · employees 5–75 · country in target set |
Step 2 — Clean accounts
- Domain normalization: lowercase; strip protocol,
www., paths, query strings, trailing slash. Store asdomain. - 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_SITEor 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
| Field | Why we need it | Source type | Required? |
|---|---|---|---|
| company_name | Identity, personalization | Provider | REQUIRED |
| domain | Primary key; all lookups | Provider / normalized | REQUIRED |
| hq_country / hq_city | Geography filter, timezone, compliance | Provider; verify on site | REQUIRED |
| employee_count | Size tier; capacity ratio | LinkedIn-based provider | REQUIRED |
| headcount_growth_6m | Growth/negative signal | Provider | RECOMMENDED |
| estimated_revenue | Soft context only | Provider (modelled) | OPTIONAL |
| industry / naics | Pre-screen | Provider | REQUIRED |
| company_linkedin_url | People search, dedupe, posts | Provider | REQUIRED |
| description | Keyword screen; AI input | Provider / LinkedIn | REQUIRED |
| tech_stack_own_site | Stack fit (weak) | Tech-detection provider | RECOMMENDED |
| founded_year | Maturity (soft) | Provider | OPTIONAL |
| ownership / parent_company | Network exclusion | Provider + AI | RECOMMENDED |
| engineering_headcount | Capacity class input | People data (title/department count) | REQUIRED |
| agency_type / services / client_type | Tier assignment | AI (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:
- Is this a client-service agency? What evidence of client work exists?
- What agency type is it, and what services does it sell?
- Does it sell websites? Which platforms? How many website projects are visible, and how recent?
- Does it appear to have internal web development capacity? (class A–E/U)
- Is there evidence of outsourced, contracted or white-label development?
- Does it appear to have recurring client relationships (retainers, care plans, long-term clients)?
- Does it have enough client/project volume for a white-label partnership?
- 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
| Priority | Titles (search terms) | Seniority |
|---|---|---|
| 1 | founder, co-founder, owner, CEO, managing director, president, managing partner, principal | Owner / C-suite / Partner |
| 2 | COO, operations director, head of operations, director of delivery, head of production | Director / VP |
| 2 | creative director, design director (design-led studios); web director, technical director, head of development (Tier 2b) | Director |
| 3 | head of SEO, SEO director (Tier 2a SEO shops); client services director | Director / 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
| Field | Use | Required? |
|---|---|---|
| full_name, first_name | Addressing | REQUIRED |
| title, seniority, persona_tier | Persona score | REQUIRED |
| person_linkedin_url | Identity, posts, second channel | REQUIRED |
| work_email (waterfall) | Outreach | REQUIRED |
| email_status | valid / catch-all / invalid / unknown | REQUIRED |
| location | Timezone, compliance | RECOMMENDED |
| tenure_months, role_start_date | Still employed; new-leader signal | RECOMMENDED |
| last_post_date, recent_posts | Activity, signals, personalization | RECOMMENDED (A/B only) |
| phone | Company switchboard only, from website | OPTIONAL — 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:
- Job postings on the company (provider lookup) → dev/designer/PM roles, dates.
- Headcount trend + engineering departures (people data already pulled).
- Portfolio recency (already in Step 4 output — reuse, don't re-run).
- Founder/company LinkedIn posts, last 90 days → AI classifies into signal types.
- 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.
| Variable | 1 · First | 2 · Fallback | 3 · AI research | 4 · Manual review when | Confidence rule | Effect |
|---|---|---|---|---|---|---|
| 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 URL | A price is found but ambiguous (monthly vs project) | Found + explicit = High | Weight 40 in band estimate |
| clutch_min_project_size clutch_hourly_range | Claygent on clutch.co profile for the domain | DesignRush, Sortlist, UpCity, GoodFirms, Agency Spotter | Same call extracts review count, rating, listed services | Listed minimum conflicts with published pricing by ≥ 2 bands | Two directories agreeing = High; one = Estimated | Weights 25 and 20 |
| client_tier client_quality_evidence | Reuse v2.0 Step 05 AI output (no new call) | Case-study and client-logo pages | Classify clients: micro-local → enterprise, with named examples | Priority A candidates | Named clients = High; inferred = Estimated | Weight 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 fingerprints | AI rates complexity: templates, structured content, integrations, animation | Mixed stack, or quality rated “unclear” | 3 sites sampled = High for mix; quality always ≤ Estimated | Weights 15 + 15; stack gate |
| design_internal dev_internal / dev_count dev_outsourced | People data title counts (already pulled in v2.0 Step 06) | Team page | Claygent confirms roles and contractor language | Sources disagree, or it decides offer_fit | Two sources agreeing = High | Sets offer_fit |
| web_projects_per_year | Reuse portfolio dates from Step 05 | Launch posts, news, case-study dates | AI counts dated website projects in 24 months and divides | Zero dated evidence but agency claims web focus | Dated items = High; undated = Estimated | Partner value + 4 points |
| price_sensitive_positioning | Keyword scan of homepage/services text (free formula) | — | AI confirms the phrase in context (“affordable for startups”) | Never — but the reason code is logged | Exact phrase = High | DISQUALIFIER at band 1 |
| wl_vendor_price_tier | Reuse v2.0 outsourcing evidence | Footer credits on portfolio sites, partner pages | AI identifies the named vendor and its public price level | Vendor named but price level unclear | Vendor named + their pricing found = High | 2 points; budget lock → DQ review |
| agency_hourly_rate_site | Claygent on site (rare) | Directory rate | — | — | Own site = High | Weight 20 (directory) / 25 (own site) |
| job_salary_range | Job postings already pulled in Step 10 | — | Parse salary from posting text | — | Stated range = High | Weight 10 |
| sales_headcount / production_headcount sales_production_ratio | People data title classification (formula over existing rows) | Team page | — | Ratio > 2.0 (possible mis-classification) | Counts ≥ 5 people = Estimated; ≥ 10 = High | Supports 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 credits | Every Priority A; every Estimated band that would produce A or B | Per §10§ Step 2 | Gate + 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).
| Group | Field | Type / allowed values | Source | Stage |
|---|---|---|---|---|
| ACCOUNT | company_id | text (registry key) | System | 02 |
| company_name | text | Provider | 01 | |
| domain | text (normalized) | Provider | 02 | |
| website_status | live · redirect · parked · dead | HTTP check | 02 | |
| industry / naics | text | Provider | 01 | |
| agency_type | full_service · digital · seo · ppc · social · content · branding_design · web_design · wordpress · webflow · saas_mkt · b2b_mkt · lead_gen · advertising · not_agency | AI | 05 | |
| icp_tier | T1 · T2a · T2b · T3 · EXCL | Formula | 07 | |
| hq_country · hq_city · timezone | ISO country · text · IANA tz | Provider + AI | 04 | |
| employee_count · headcount_growth_6m | integer · % | Provider | 04 | |
| estimated_revenue | range (LOW confidence) | Provider | 04 | |
| services_list | list | AI | 05 | |
| client_type · client_verticals | smb · mid_market · enterprise · mixed · list | AI | 05 | |
| company_linkedin_url | url | Provider | 04 | |
| tech_stack_own_site | list | Tech provider | 05 | |
| is_agency · is_agency_evidence · is_agency_conf | yes/no/unknown · text+url · H/M/L | AI | 05 | |
| ownership | independent · network · pe_backed · public · unknown | AI | 07 | |
| CAPABILITY | sells_web_design · sells_web_dev | yes/no/unknown | AI | 05 |
| platform_wordpress · elementor · woocommerce · webflow · shopify | yes/no/unknown each (evidence: service copy or portfolio tech) | AI + tech lookup | 05 | |
| web_projects_24m · last_web_project_date | integer · date | AI | 05 | |
| sells_maintenance | yes/no/unknown | AI | 05 | |
| engineering_headcount · dev_ratio | integer · decimal | People data · formula | 06 | |
| capacity_class · capacity_conf · capacity_evidence | A · B · C · D · E · U · H/M/L · text+url | AI + formula | 06 | |
| outsourcing_evidence | text+url / none | AI | 06 | |
| white_label_status | buys_wl · sells_wl_dev (competitor) · sells_wl_other · none · unknown | AI | 06 | |
| COMMERCIAL | published_pricing · published_price_min_site · published_pricing_url | text · currency · url | Agency site | 08 |
| clutch_min_project_size · clutch_hourly_range · directory_url | band enums · url | Clutch / DesignRush / Sortlist / UpCity | 08 | |
| agency_hourly_rate_site · job_salary_range | currency | Agency site · job posts | 08 / 11 | |
| client_tier · client_verticals · named_clients | micro_local · smb · lower_mid · mid_market · enterprise · mixed | AI | 05 / 08 | |
| portfolio_quality · portfolio_platform_mix · portfolio_sampled_domains | custom_high · custom_standard · template_builder · unclear · % mix | AI + tech lookup | 08 | |
| price_sensitive_positioning · price_positioning_quote | yes/no · text | Keyword scan + AI | 08 | |
| wl_vendor_price_tier · wl_vendor_name | premium · mid · budget_offshore · unknown | AI | 08 | |
| web_projects_per_year · care_sites_estimate | integer | AI | 08 | |
| design_internal · dev_internal · dev_outsourced | yes/no/unknown | People data + AI | 06 / 08 | |
| sales_headcount · production_headcount · sales_production_ratio | integer · decimal | People data · formula | 06 | |
| typical_site_value_band · band_confidence · band_evidence | 1–5 · High/Estimated/Unknown · list | Formula + AI | 08 | |
| price_fit · offer_fit · expected_reseller_margin | Strong/Acceptable/Weak/Unknown · package enum · % | Formula | 08 | |
| partner_value_estimate · proof_demand · softvole_commercial_compatibility | currency/yr · low/medium/high · label | Formula | 08 | |
| PERSON | person_id · full_name · first_name | text | Provider | 08–09 |
| title · seniority · persona_tier | text · enum · primary/secondary/tertiary | Provider + formula | 09 | |
| person_linkedin_url · location | url · text | Provider | 09 | |
| work_email · email_status · email_source | email · valid/catch_all/invalid/unknown · provider name | Waterfall | 09 | |
| company_phone | switchboard from website only | AI | 09 | |
| tenure_months · role_start_date · last_post_date | int · date · date | Provider | 09 | |
| SIGNALS | sig_hiring · sig_hiring_date · sig_hiring_url | role type · date · url | Jobs provider | 10 |
| sig_dev_departure | yes/no · date | People data | 10 | |
| sig_growth · sig_new_client · sig_web_project | text · date · url each | Provider + AI | 10–11 | |
| sig_outsourcing · sig_social · sig_technology · sig_other | text · date · url each | AI | 10–11 | |
| sig_negative | text · date | AI | 11 | |
| signal_strength | Direct · Indirect-2+ · Indirect-1 · Weak · None · Negative | Formula | 13 | |
| AI RESEARCH | ai_icp_fit · ai_icp_reason | strong/moderate/weak/none · text | AI | 12 |
| pain_hypothesis | 1 sentence | AI | 12 | |
| why_now | 1 sentence + url, or “No timing evidence” | AI | 11–12 | |
| evidence_urls | list of urls | AI | 05–12 | |
| overall_confidence | H/M/L | Formula | 12 | |
| softvole_opportunity | build · overflow · figma_to_wp · technical_seo · maintenance · migration | AI | 12 | |
| outreach_angle · personalization_hook | text | AI + human | 15 | |
| ai_recommendation · unknowns | contact / review / nurture / reject · list | AI | 12 | |
| SCORING | score_account · score_capability · score_commercial · fit_score | 0–20 · 0–25 · 0–25 · 0–70 | Formula | 13 |
| score_persona · score_intent · score_negative | 0–15 · 0–15 · ≤ 0 | Formula | 13 | |
| final_score · score_breakdown | 0–100 · text | Formula | 13 | |
| priority_class · goldmine_flag · dq_reason | A/B/C/NURTURE/DQ · bool · reason code | Formula + human | 13–16 | |
| segment_key | e.g. T1_design_studio_US_capB | Formula | 14 | |
| qa_status · qa_reviewer · qa_notes · outreach_ready | pending/approved/rejected · text · text · bool | Human | 16 | |
| SALES | campaign_id · sequence_step · first_contact_date | text · int · date | Instantly | 17–18 |
| reply_type | positive · neutral · negative · not_now · wrong_person · unsubscribe · bounce | Instantly + human | 19 | |
| meeting_booked · meeting_date · meeting_qualified | bool · date · bool | CRM | 19 | |
| opportunity · proposal_sent · deal_value | bool · bool · currency | CRM | 20 | |
| client_won · first_project_value · revenue_6m · revenue_12m | bool · currency | CRM | 20 | |
| lost_reason · objection | price · quality_trust · timezone · has_dev · has_vendor · no_need · timing · other | CRM | 20 | |
| VALIDATION | actual_site_price_stated · current_production_arrangement · current_price_paid | currency · in_house/freelancer/offshore_agency/white_label_vendor/none · currency | Discovery call | 20 |
| price_objection · price_objection_number · proof_objection · offer_objection | bool · currency · bool · bool | Discovery call | 20 | |
| package_pitched · package_proposed · first_project_size · second_project_within_60_days | package enum · currency · bool | CRM | 19–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.
| Stage | Cost | Runs on | Waterfall? | AI needed? | Why here |
|---|---|---|---|---|---|
| Import / company search | Free–Cheap | All | No | No | Get the universe with filters applied at source |
| Normalize, dedupe, suppression | Free (formulas) | All | No | No | Never pay twice for the same company |
| Keyword/category exclusion | Free (formulas) | All | No | No | Removes obvious junk before any spend |
| HTTP / website status | Cheap | All remaining | No | No | Dead sites can't be agencies |
| Firmographic enrichment | Cheap | All remaining | Only if key field empty | No | Headcount + geography gates |
| Engineering headcount (people count) | Cheap–Medium | Passed firmographics | No | No | Capacity input without AI |
| Bundled AI account research | Medium–Expensive | Passed firmographics | No | Yes (one call, not four) | Agency validation is the biggest false-positive filter |
| Pricing-page fetch | Cheap | All accounts that passed AI qualification | No | No | Strongest band signal, lowest cost |
| Directory lookup (Clutch and similar) | Medium | Only where no published pricing was found | Yes — Clutch, then DesignRush, Sortlist, UpCity | Light | Second-best band signal |
| Tech lookup on portfolio domains | Cheap per lookup | Tier 1–2 with sells_web = yes/unknown | No | No | Stack fit only where it matters |
| Find people | Cheap–Medium | FIT ≥ 38, no DQ | No | No | Don't find people at rejected companies |
| Email finding + verification | Medium | Top 1–2 persons at FIT ≥ 48 | Yes — stop at first valid | No | Most expensive per-row contact step |
| Job postings | Cheap–Medium | FIT ≥ 48 with persona | No | No | Strongest direct signal per credit |
| LinkedIn post retrieval + AI classification | Medium–Expensive | FIT ≥ 48 with persona | No | Yes | Direct signals + personalization |
| News / deep web research | Expensive | FIT ≥ 55 and still no signal | No | Yes | Last resort for timing |
| Final AI qualification | Medium | Contactable FIT ≥ 48 | No | Yes | Needs all prior fields |
| Personalization research | Medium | Priority A (and B top decile) | No | Yes | Only 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 point | Useful? | How to use it |
|---|---|---|
| Open web-dev / designer job post | High | “Saw you're hiring a WordPress dev — while that search runs, we can…” |
| Founder post about capacity or needing dev help | High | Reference the topic, not a quote; human-check tone |
| Recent website launch / case study | High | Specific compliment tied to build (e.g., the WooCommerce integration) |
| Their platform stack (WP/Elementor/Woo) | Medium | Credibility: “we build in Elementor Pro daily” |
| Services mix (design-led, SEO-led) | Medium | Chooses angle: Figma fidelity vs technical SEO implementation |
| Client verticals | Medium | Relevant Softvole sample (e.g., healthcare sites) |
| Care-plan / maintenance offer | Medium | Maintenance-partner angle |
| New client wins | Medium | Timing context |
| Headcount growth | Low–Medium | Background only |
| Awards, new office, podcast appearances | Low | Noise unless linked to web work |
| Founded year, revenue, funding | Noise | Never mention |
| Personal life details, negative reviews | Exclude | Never use |
§30Messaging by band and offer
| Band / segment | Lead with | Never do | Entry 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 warranty | Mention price in the first email; imply their team is failing | One template or one module, milestone-paid, reviewed by their lead |
| Band 4 · marketing and digital agencies | Reliability and a predictable production cost; fixed scope; a named delivery lead | Compete on price; over-claim track record | One landing page or single-template build as a paid pilot |
| Band 3–5 · design and branding studios | Design fidelity: their Figma built exactly, all responsive states, no compromises; no developer to hire or manage | Offer design services — they are the designers | Build-from-design landing page, then the five-template site |
| Band 3 · web design agencies, capacity B/C | The margin arithmetic stated plainly: their price, the production cost, their margin | Pitch design+build — the margin is not there | Build-from-design website |
| Band 2 · Nurture | Care plans (Essential or Growth) and single landing pages only | Quote a full website; negotiate down from list prices | Care Essential, or one landing page |
| SEO-led agencies selling redesigns | Migration and redirect safety; ranking protection during rebuilds | Offer ad-hoc hourly fixes | One 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
| Discover | A raw list of companies that could be Softvole-type agencies. |
| Why | Nothing downstream works without a universe; filtering at the source is the cheapest filter there is. |
| Input | Search criteria from §21 Step 1: industries/NAICS, US+UK first, 5–75 employees, include/exclude keywords, directory lists. |
| Output | Rows with company name, domain, LinkedIn URL, country, employee range, description. |
| Next | Step 02. |
| Not yet | Don'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
| Discover | One clean row per real company. |
| Why | Duplicates double credit spend and can double-email a prospect. |
| Input | Raw rows; persistent registry; CRM suppression list. |
| Output | Normalized domain, company_id, website_status; duplicates and suppressed rows removed. |
| Next | Step 03. |
| Not yet | Don'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
| Discover | Which rows are obviously out. |
| Why | Free formula filters remove a large share of junk before paid steps. |
| Input | Clean rows with description, industry, country, employees. |
| Output | Rows flagged DQ_GEO, DQ_CATEGORY, DQ_TOO_LARGE, DQ_NO_SITE, or pass. |
| Next | Passing rows → Step 04. |
| Not yet | Don'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
| Discover | Reliable firmographics: headcount, location, growth, LinkedIn, tech on own site, engineering headcount. |
| Why | Size and location gates; capacity input without AI. |
| Input | Passing rows. |
| Output | Fields in §21 Step 3. |
| Next | Step 05. |
| Not yet | Don'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
| Discover | Does the agency sell websites, on which platforms, with how much volume? |
| Why | Service fit is the Tier 1 precondition. |
| Input | Domain, description, portfolio pages. |
| Output | sells_web_*, platforms, web_projects_24m, portfolio domains, recurring model. |
| Next | Step 06 (same bundled AI call in production). |
| Not yet | Don'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
| Discover | Internal development capacity class A–E/U. |
| Why | The core commercial hypothesis — insufficient capacity. |
| Input | Engineering headcount, team/careers pages, outsourcing evidence. |
| Output | capacity_class, confidence, evidence URL, white_label_status. |
| Next | Step 07. |
| Not yet | Don'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
| Discover | Is this a verified Tier 1/2 agency without disqualifiers? |
| Why | Stops expensive people/contact steps on bad accounts. |
| Input | Outputs of 04–06. |
| Output | is_agency, agency_type, icp_tier, dq_reason, sells_web, capacity_class. |
| Next | No DQ and Tier 1–3 → Step 08 (commercial research). |
| Not yet | Don'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
| Discover | What the agency charges its own clients, who designs, who builds — then the price band, Price Fit and Offer Fit. |
| Why | Softvole 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. |
| Input | Verified Tier 1–3 agencies with sells_web and capacity_class. |
| Output | published_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. |
| Next | price_fit Strong or Acceptable → Step 09. Unknown → Priority C research queue. Weak → Nurture. |
| Not yet | Don'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
| Discover | The 1–3 people who can decide. |
| Why | Account fit ≠ person fit. |
| Input | Accounts with price_fit ∈ {Strong, Acceptable}, or Unknown at Tier 1 with capacity A/B/C; title rules in §24. |
| Output | Names, titles, LinkedIn URLs, persona_tier. |
| Next | Step 09. |
| Not yet | Don'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
| Discover | Verified work email, tenure, activity. |
| Why | Deliverability and relevance. |
| Input | Top 1–2 people per account at FIT ≥ 45. |
| Output | work_email, email_status, tenure, last_post_date. |
| Next | Step 10. |
| Not yet | Don'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
| Discover | Dated evidence of need: hiring, departures, growth. |
| Why | Timing determines A vs B. |
| Input | Accounts with FIT ≥ 45 + contactable persona. |
| Output | Signal fields with dates and URLs. |
| Next | Step 11. |
| Not yet | Don'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
| Discover | Meaning of posts/news; the strongest why-now. |
| Why | Raw posts must be classified before scoring. |
| Input | Recent posts, news, signal fields. |
| Output | Prompt 5 + 7 outputs: signal_strength, why_now. |
| Next | Step 12. |
| Not yet | Don'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
| Discover | Contact / review / nurture / reject with reasoning. |
| Why | A single auditable judgement across all dimensions. |
| Input | All structured fields. |
| Output | Prompt 9 JSON. |
| Next | Step 13. |
| Not yet | Don'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
| Discover | Component scores and priority class. |
| Why | Consistent, explainable prioritisation. |
| Input | All fields + weights table. |
| Output | Scores, priority_class, goldmine_flag, score_breakdown. |
| Next | Step 14. |
| Not yet | Don'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
| Discover | Which campaign each lead belongs in. |
| Why | Message must match agency type and pain. |
| Input | Tier, agency type, geography, capacity, signal. |
| Output | segment_key e.g. T1_design_US_capB_hiring. |
| Next | Step 15. |
| Not yet | Don'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
| Discover | A specific, true hook per Priority A lead. |
| Why | Relevance drives positive replies, not opens. |
| Input | Priority A (and top Priority B). |
| Output | Prompt 10 JSON. |
| Next | Step 16. |
| Not yet | Don'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
| Discover | Confirm the evidence before sending. |
| Why | AI errors are cheap to catch now and expensive after sending. |
| Input | Priority A, Goldmine, and review-flagged rows. |
| Output | qa_status, notes; corrections logged for prompt tuning. |
| Next | Step 17. |
| Not yet | Don'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
| Discover | Load approved leads into the right campaign. |
| Why | Only gated leads reach the sequencer. |
| Input | outreach_ready = TRUE rows. |
| Output | Leads in campaigns with custom variables (hook, angle, why_now). |
| Next | Step 18. |
| Not yet | Don'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
| Discover | Start conversations. |
| Why | Test messaging per segment. |
| Input | Campaign copy per segment. |
| Output | Sends, replies. |
| Next | Step 19. |
| Not yet | Don'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
| Discover | Reply types and meetings. |
| Why | The first true quality signal. |
| Input | Instantly replies, calendar. |
| Output | reply_type, meeting_booked, meeting_qualified. |
| Next | Step 20. |
| Not yet | Don'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
| Discover | Which leads became partners and revenue. |
| Why | The ultimate metric. |
| Input | CRM stages and deal data. |
| Output | Opportunity, won/lost, revenue, lost reason. |
| Next | Step 21. |
| Not yet | Don'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
| Discover | What to change in ICP, scoring, signals, messaging. |
| Why | The ICP is a living hypothesis. |
| Input | Segment/signal/persona performance (§29). |
| Output | Versioned ICP change log (v2.1 …). |
| Next | Back to Step 01 with updated rules. |
| Not yet | Don'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.
§32Test plan — 100 → 500 → 1,000 → production
Do not generate 10,000 leads first. Each phase has exit criteria. Thresholds are starting Hypothesis values.
| Phase | Purpose | Measure | Exit 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 rows | Agency 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 band | Bounce 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+ accounts | Recalibrate scoring; test messaging; first revenue data | Meetings → qualified opportunities → proposals by segment · signal performance · persona performance · cost per qualified meeting | Weights recalibrated against real stated prices · ≥ 1 segment with a repeatable qualified-meeting rate · ICP v2.2 published |
| Production | Scaled system with sampling QA | Weekly: qualified meetings, opportunities, partnerships, revenue per 100 accounts. Monthly: AI accuracy drift on the golden dataset | Human 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
| Group | Fields |
|---|---|
| Targeting | segment · agency_type · employee_count · geography · source |
| Commercial | price_band · band_confidence · band_evidence · price_fit · offer_fit · expected_reseller_margin · partner_value_estimate · proof_demand |
| Production | design_internal · dev_internal · dev_count · dev_outsourced · wl_vendor_price_tier · capacity_class · sales_production_ratio · web_projects_per_year |
| Outreach | campaign · package_pitched · personalization_hook · first_contact_date · reply_type · meeting_booked |
| Conversation truth | actual_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 |
| Outcome | proposal_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
| Diagnosis | Pattern in the data | What it means | What changes |
|---|---|---|---|
| Bad lead | Predicted band 3–4, but the call reveals band 1–2, or they aren't really an agency, or they sell almost no web work | The targeting or the band model was wrong | Fix the band signals and filters — not the price |
| Good lead, weak proof | Band 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 blocker | Build proof and lead with the pilot. Never discount here — a discount confirms the doubt |
| Good lead, wrong offer | Band confirmed, but they want hourly help, small fixes, a platform Softvole doesn't cover, or design-only | Offer mismatch, not price mismatch | Adjust offer_fit rules; consider whether a productised small-task lane is needed later |
| True price mismatch | Band 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 charge | Only this pattern is evidence that pricing is wrong | Re-examine the specific package, not the whole price list |
Decision thresholds after 100 accounts
| Measurement | Healthy | Action if not met |
|---|---|---|
| Band prediction accuracy (predicted vs stated on calls) | ≥ 70% within one band | Reweight 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 conversations | If higher, the band model is over-predicting; check portfolio-quality weighting |
| Proof objections | Expect 40–60% early | This is normal at your stage; it is a proof-asset backlog, not an ICP failure |
| Positive reply rate, band 4–5 vs band 2–3 | Band 4–5 should not be materially worse | If 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 projects | If 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
| Use | Method | Target |
|---|---|---|
| Test AI qualification | Run prompts on all golden rows; compare to labels | Precision/recall per field |
| Compare Clay outputs | Provider data vs labels (headcount, country, engineering count) | Pick providers per field |
| Improve prompts | Change one instruction; re-run; keep only if accuracy rises without new errors | Versioned prompts (p2_capacity_v3) |
| Calibrate scoring | True positives should land A/B; near misses C/Nurture | ≥ 90% of true positives FIT ≥ 45 |
| Detect false positives | Negatives scoring FIT ≥ 45 | 0 obvious negatives pass |
| Detect false negatives | Positives 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
| Tracked | Cut by | If it underperforms… | Changes |
|---|---|---|---|
| Positive reply / meeting / opportunity / client / revenue | Tier, agency type, capacity class, geography, persona, signal type, source, campaign | A segment with replies but no qualified opportunities is attracting the wrong buyers | ICP tiers, scoring weights |
| Signal performance | Signal type × priority outcome | A “direct” signal that doesn't lift meeting rate is not direct | Signal hierarchy, intent weights |
| Persona performance | Title group | Ops leads reply but can't buy → shift to founder-first | Persona priority, sequencing |
| Geography performance | Country | Low qualified rate after 150+ contacts | Geography priority |
| Lost reasons & objections | Segment | “We have a dev” recurring → capacity detection is wrong; “quality/trust” → proof assets gap; “price” → commercial fit threshold | Filters, capacity rules, messaging, proof assets |
| Partner value after 6/12 months | Segment | Wins that never send a second project | Partnership-fit criteria |
| Band accuracy | Predicted band vs price stated on calls | Below 70% within one band | Reweight the band signals (§10) |
| Price objections | Band × objection type | Objections concentrated in band 4–5 | The band model over-predicts, or proof is the real blocker — check §33 diagnosis |
| Package performance | Package pitched × meetings × close | One package never closes | offer_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 offer | Likely buyer | Detection hints |
|---|---|---|
| GoHighLevel builds & snapshots | GHL “SaaS mode” agencies, lead-gen agencies for local businesses | GHL-hosted funnels, “white-label CRM” offers, GHL community activity |
| AI automation / AI agents | Marketing agencies adding “AI services” | New AI service pages, AI-automation job posts |
| Workflow & CRM automation | HubSpot/GHL partner agencies, RevOps shops | Solutions-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.
§37Change log — v1 → v2.0 → v2.1
| Area | v1 (research brief) | v2.0 | v2.1 — current |
|---|---|---|---|
| Document type | Positioning brief | Operating system: rules, scores, schema, workflow, prompts | Same, plus the commercial layer that decides who can buy |
| Primary target | Marketing agencies with no developer | Agencies that sell websites with insufficient capacity | Agencies that sell websites at band 3+ with insufficient capacity; design studios first (Tier 1A) |
| Developer rule | “No developer on staff” | Five capacity classes plus Unknown | Unchanged, but capacity D at band 4–5 moves up to Tier 2-Premium instead of −8 |
| Commercial qualification | None | Volume, 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 months | Estimated annual web revenue; value beats count |
| Verticals | — | Rated by web frequency | Rated by client budget first; home services and automotive move down |
| SEO agencies | Secondary tier | Tier 2a | Tier 2b only when they sell redesigns or migrations; otherwise Tier 3 (offer mismatch) |
| Scoring weights | — | Account 30 / Capability 25 / Commercial 15 | Account 20 / Capability 25 / Commercial 25; Priority A threshold 45 → 48 |
| Disqualifiers | None | Category, geography, size, competitor, network | Plus DQ_PRICE_BAND, DQ_BUILDER_PORTFOLIO, DQ_BUDGET_VENDOR_LOCK |
| Clay workflow | — | 21 steps | 22 steps: commercial research and the price-fit gate inserted before people search |
| Outputs per account | — | Priority class | Priority class + package to pitch + margin line + pilot size |
| Test plan | — | 100 → 500 → 1,000 → production | Same, plus band-calibration cohort and a band-2 control group |
| Feedback loop | — | Reply → meeting → opportunity → revenue | Plus band accuracy, price-objection rate and the four-way diagnosis (§33) |
§38Ten things to understand before building in Clay
- 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.
- Vendor categories lie. 38% of “marketing services” records in the pilot were not agencies. AI agency validation runs before any contact spend.
- Selling websites is the Tier 1 gate — not being a marketing agency. No web offer means no current web pain.
- “No developer found” is not “no developer”. Capacity needs positive evidence; otherwise it is
U. - 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.
- Value beats volume. Four $25,000 builds a year outrank sixty $2,000 sites.
- “Uses WordPress” is fit; “hiring a WordPress developer” is timing. Different score components.
- Unknown price data goes to research, never to rejection. Most small agencies publish no pricing; a strict gate would delete the best accounts.
- Priority A needs human QA plus a written problem hypothesis with a source URL before it enters Instantly. Priority B carries the volume.
- 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
| Assumption | Confidence | Risk if wrong | How the first 100 tests it |
|---|---|---|---|
| 2.5× markup is the viability threshold | Medium — a practitioner heuristic, not measured for this market | Too strict: good band-3 accounts rejected. Too loose: scope-creep partners admitted | Compare close rate and objection rate by actual multiple |
| Band midpoints ($2k / $4.5k / $8k / $17.5k / $35k) | Low–Medium | Systematic mis-scoring | Calibrate against actual_site_price_stated |
| Clutch minimum project size is informative | Low–Medium — self-reported, often aspirational, $5,000 is a common default | Over-predicting band | Compare directory value with stated price |
| Band data will be findable for ≥ 50% of accounts | Low | Most accounts stall in Priority C | Measure coverage in the first 100 |
| Design-led studios deliver build-ready Figma files | Medium | Scope risk: incomplete states, no mobile, no content — the $2,400 price assumes a complete file | Add a design-readiness checklist to scoping; track rework |
| Care tiers at $149/$299 are profitable for Softvole | To Validate — I have no cost data | Low tiers could be margin-negative without tooling and volume | Internal unit-cost review before launch |
| Minimum partner value of $7,500/year | To Validate | Wrong accounts prioritised | Measure cost-to-serve per partner |
Where I'd push back on your direction
- “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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
| Assumption | Label | How the first 100 tests it |
|---|---|---|
| AI can validate “is an agency” with ≥ 95% precision | Hypothesis | Human review of all 100 |
| Capacity class can be detected at ≥ 75% agreement with humans | Hypothesis | Compare AI vs human class; inspect disagreements |
| 40–60% of real agencies in the list sell websites | Hypothesis | Count sells_web = yes |
| Design/branding studios are cleaner Tier 1 targets than full-service agencies | Hypothesis | Compare qualification rate and data confidence by sub-type |
| Most target agencies build on WordPress | Hypothesis | Tech lookup on portfolio domains |
| Direct signals exist for ≥ 5–15% of qualified accounts | Hypothesis | Signal hit rate |
| 8–35 employees is the sweet spot | Hypothesis | Qualification rate by size band (confirm later with replies) |
| Founders are reachable with valid email at ≥ 70% of qualified accounts | Hypothesis | Email waterfall results |
| Credit cost per qualified, contactable account is affordable at scale | To Validate | Track credits per stage on the trial |
| Softvole's capacity, pricing, turnaround and proof assets support the Tier 1 promise | To Validate | Internal: fill the §3§ Softvole-facts box before Phase 2 outreach |
| The v1 pain (“web requests cause lost deals”) is real | Hypothesis | Ask 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
- The commercial gate is implemented as a gate, not as extra points.
Unknownroutes to research, never to rejection — otherwise v2.1 deletes half your market.- Premium is documented as a service standard (QA, accessibility, warranty, SLAs, confidentiality), not asserted.
- Public claims on the website match verifiable reality before outreach begins.
- The band model is recalibrated against real stated prices after the first 100 accounts.
- 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.