Prospect Segment & Category Attributes — digital-footprint profiles

A digital-footprint profile of every business segment (and category) in the prospect universe: how many are listed vs NOF, how many have a Google place_id / website / were crawled, what tech and CMS they run, how deep their sites are, and how many sit on a dead domain. This is the raw material for product targeting (e.g. which segments are greenfield for BizSite, which already run ecommerce) and for segment-level opportunity sizing.

Built by scripts/crawl-tail/build-segment-attributes.cjs (segment grain) and build-category-attributes.cjs (segment × category grain). Keyed on the canonical b_segment (17-segment scheme) resolved via gp_category_segment + the CATEGORY_MAPPING Google→GP bridge. Snapshot: 2026-06-01, in-universe rows only. Related: Prospect Enrichment & Opportunity Index, Prospect DB — Composition.


Segment profiles (17 segments, in-universe)

place_id% / website% / crawled% are of the segment's universe. ecom / analytics are listing counts with that signal detected. dead = domains confirmed NXDOMAIN.

Segment Universe NOF place_id% website% crawled% Main CMS ecom analytics dead
Home Services 35,830 4,300 38.1% 40.0% 32.4% WordPress 2,271 7,877 800
Retail 33,052 3,089 50.9% 46.7% 29.9% WordPress 4,205 6,895 541
B2B 29,770 3,589 47.4% 53.6% 43.5% WordPress 3,322 8,899 683
Other 21,382 5,187 55.1% 53.8% 42.2% WordPress 2,532 6,326 430
Health & Wellbeing 17,983 3,154 51.8% 52.5% 36.3% WordPress 1,677 4,593 360
Eat, Drink, Takeout 12,226 2,598 66.9% 44.0% 27.8% WordPress 949 2,120 113
Finance, Property & Legal 11,287 917 57.0% 57.6% 39.7% WordPress 554 3,089 114
Vehicle 10,697 1,781 54.4% 52.4% 32.4% WordPress 590 2,465 183
Travel 7,155 1,083 56.9% 49.9% 37.4% WordPress 374 1,691 91
Personal Care 7,145 1,147 63.1% 40.6% 24.9% WordPress 569 1,177 125
Leisure 5,613 1,180 59.6% 57.4% 41.7% WordPress 582 1,582 63
Gov 4,458 81 32.5% 79.1% 49.5% Drupal 473 1,776 5
Learning 4,410 771 65.7% 62.4% 42.0% WordPress 432 1,316 57
Agri 2,804 336 41.0% 30.6% 22.8% WordPress 240 444 26
Personal Development 2,658 248 37.8% 63.6% 25.1% WordPress 214 509 26
Uncategorised 1,904 192 23.5% 90.1% 80.6% WordPress 158 680 216
Communication 929 96 46.8% 51.6% 34.3% WordPress 96 166 34
Insurance Agents, Brokers & Consultants 891 78 57.4% 66.8% 51.9% WordPress 53 307 5

Reading the profiles:

  • WordPress dominates every segment except Gov (Drupal). CMS mix (cms_* columns in the CSV) is a build/rebuild-fit signal — DIY-builder share (Wix/Squarespace) vs custom.
  • Low website% + low crawled% = greenfield (Personal Care 40.6%/24.9%, Agri 30.6%/22.8%, Home Services 40.0%/32.4%) — the no-website pool for entry-level web products.
  • High ecommerce = storefront segments (Retail 4,205, B2B 3,322, Home Services 2,271) — where a one-page site is not sufficient.
  • analytics / with_g_ads / pixel columns flag already-marketing-active businesses (warmer for paid services).

Column dictionary (full CSV)

The CSVs carry ~45 columns per row. Beyond the summary above:

  • Counts: listed, nof, universe, with_place_id, place_id_synthetic (LST: stubs), with_website, crawled.
  • Tech signals: with_booking, with_ecommerce, with_analytics, with_g_ads, with_meta_pixel, with_tiktok_pixel, with_schema.
  • CMS distribution: cms_wordpress / cms_wix / cms_shopify / cms_squarespace / cms_drupal / cms_webflow / cms_joomla / cms_duda / cms_mono / cms_other / cms_none, plus the derived main_cms.
  • Site depth (page-count buckets): pages_0_index_unwalked, pages_0_empty, pages_0_other, pages_1, pages_2_5, pages_6_10, pages_10plus, plus pages_no_website, pages_site_uncrawled, pages_crawled_no_count and pages_known_pct_of_sites.
  • Dead-domain: dead_nxdomain, dead_on_gp, dead_on_gmb, active_client_dead (a paying client on a dead domain — escalate).

Category grain

build-category-attributes.cjs produces the same columns at (segment × category) grain — 4,446 rows, one per primary_category — ordered by universe. It aggregates into a BigQuery table then paginates out past the 500-row API cap. Use it to drill a segment into its categories (e.g. Eat, Drink, Takeout → Restaurants 4,030 / Public Houses 3,881), which is the grain product targeting actually works at — see the BizSite category-prioritisation analysis. Full data: segment_category_attributes.csv / the category-attributes BQ table.

Regenerate both with the build scripts; counts drift as the crawl/enrichment refreshes.

FCR Dashboard documentation · generated from docs/ · keep counts verified, not guessed.

Ask the docsRAG over this site
Ask anything about the FCR Dashboard platform — architecture, BigQuery, the worker routes, billing rules, the LRC stack, scoring… Answers are grounded in this documentation, with source links.
How does the deal-brief refresh work? Which routes are Worker vs n8n? How is account health scored?