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, plus an Uncategorised residual (= 18 rows). Snapshot: 2026-06-03, 228,832 in-universe rows (grown from ~210K via the book / SERP-harvest sweeps — both tables below share this universe). Related: Prospect Enrichment & Opportunity Index, Prospect DB — Composition.
Segment profiles (17 segments + Uncategorised, in-universe — 228,832 total)
Section titled “Segment profiles (17 segments + Uncategorised, in-universe — 228,832 total)”place_id% / website% are of the segment’s universe; crawled% is of the segment’s websites — crawl coverage of the addressable site pool (has_crawl_data ÷ with_website), not of universe, so a low-website segment doesn’t read as “uncrawled”. ecom / analytics are listing counts with that signal detected. dead = domains confirmed NXDOMAIN.
| Segment | Universe | NOF | place_id% | website% | crawled% (of sites) | Main CMS | ecom | analytics | dead |
|---|---|---|---|---|---|---|---|---|---|
| Home Services | 37,981 | 6,451 | 35.9% | 41.0% | 90.9% | WordPress | 2,213 | 9,706 | 800 |
| Retail | 36,711 | 6,748 | 45.9% | 47.5% | 85.6% | WordPress | 5,079 | 10,457 | 541 |
| B2B | 32,339 | 6,158 | 43.7% | 55.2% | 89.1% | WordPress | 3,349 | 10,882 | 683 |
| Other | 22,819 | 6,624 | 51.6% | 54.9% | 90.3% | WordPress | 2,554 | 7,965 | 430 |
| Health & Wellbeing | 19,484 | 4,655 | 47.8% | 53.9% | 88.2% | WordPress | 1,757 | 6,512 | 360 |
| Eat, Drink, Takeout | 13,688 | 4,060 | 59.8% | 43.8% | 81.5% | WordPress | 968 | 3,095 | 113 |
| Finance, Property & Legal | 12,481 | 2,111 | 51.5% | 58.2% | 89.6% | WordPress | 478 | 4,598 | 114 |
| Vehicle | 11,729 | 2,813 | 49.6% | 53.4% | 87.6% | WordPress | 612 | 4,090 | 183 |
| Personal Care | 7,929 | 1,931 | 56.9% | 40.1% | 80.3% | WordPress | 689 | 1,749 | 125 |
| Travel | 7,917 | 1,845 | 51.4% | 50.5% | 88.9% | WordPress | 389 | 2,303 | 91 |
| Leisure | 6,280 | 1,847 | 53.3% | 59.2% | 84.5% | WordPress | 589 | 2,189 | 63 |
| Learning | 4,886 | 1,247 | 59.3% | 63.3% | 88.2% | WordPress | 460 | 1,966 | 57 |
| Gov | 4,756 | 379 | 30.5% | 78.9% | 93.9% | Drupal | 50 | 3,018 | 5 |
| Agri | 2,953 | 485 | 39.0% | 31.1% | 90.0% | WordPress | 271 | 572 | 26 |
| Personal Development | 2,830 | 420 | 35.5% | 63.4% | 93.9% | WordPress | 231 | 1,432 | 26 |
| Uncategorised | 2,061 | 349 | 21.7% | 90.9% | 91.7% | WordPress | 146 | 800 | 216 |
| Communication | 1,011 | 178 | 43.0% | 52.9% | 89.0% | WordPress | 109 | 286 | 34 |
| Insurance Agents, Brokers & Consultants | 977 | 164 | 52.3% | 67.3% | 90.6% | WordPress | 42 | 395 | 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% = greenfield (Personal Care 40.1%, Agri 31.1%, Home Services 41.0% have a site) — the no-website pool for entry-level web products. (Crawl coverage of the sites that do exist is uniformly high — 80–94% across every segment — so
crawled%now reads as completeness, not gap.) - High ecommerce = storefront segments (Retail 5,073, B2B 3,348, Home Services 2,213) — where a one-page site is not sufficient.
analytics/with_g_ads/ pixel columns flag already-marketing-active businesses (warmer for paid services).
Crawl coverage to date (by segment)
Section titled “Crawl coverage to date (by segment)”Of each segment’s websites (in-universe, http*), the crawl outcome so far plus the signals detected. Outcome buckets are mutually exclusive (priority dead › social-only › blocked › slow/other-error › fully-crawled › pending) and sum to Websites. Social-only = the “website” is a Facebook/Instagram/etc. page, so there’s no real site — never crawled (a SitePro/BizSite greenfield signal, not a backlog); pending = a real site still queued. Feature & CMS counts are what the crawl detected (a site can carry several; CMS counts are among reachable sites). Ecom* is the shallow-crawl ecommerce signal — pre full-crawl confirmation. Built by scripts/crawl-tail/build-crawl-coverage.cjs → crawl_coverage_by_segment.csv.
Refreshed 2026-06-08 — shallow crawl complete. This table is re-run on the finished shallow sweep, so
Pendinghas drained (11,191 → 4,774) andFully crawledhas risen (81,956 → 87,283, 70% → 75%). The Segment profiles and Contactability tables above/below still carry the 2026-06-03 snapshot — they’ll be refreshed once the deep (full) crawl completes, since deep-crawl results confirmEcom*and the page-depth signals they depend on. Deep crawl in flight: ~33K done, ~64K reachable sites still queued at ~630/hr.
| Segment | Websites | Dead | Social-only | Blocked | Slow/other | Fully crawled | Pending | Booking | Ecom* | GA4 | Google Tag | Meta | TikTok | WordPress | Wix | Shopify | Square | Other CMS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| B2B | 17,854 | 683 | 150 | 1,056 | 1,931 | 13,238 | 796 | 1,250 | 3,401 | 11,577 | 1,261 | 1,193 | 60 | 6,278 | 993 | 478 | 496 | 452 |
| Retail | 17,452 | 541 | 579 | 1,383 | 1,552 | 12,605 | 792 | 1,325 | 5,410 | 11,280 | 2,178 | 1,886 | 124 | 3,877 | 677 | 2,291 | 306 | 251 |
| Home Services | 15,526 | 800 | 356 | 834 | 1,613 | 11,396 | 527 | 1,222 | 2,176 | 10,102 | 999 | 924 | 39 | 5,357 | 1,444 | 213 | 340 | 350 |
| Other | 12,521 | 430 | 236 | 855 | 1,193 | 9,400 | 407 | 1,369 | 2,576 | 8,388 | 927 | 1,068 | 59 | 4,330 | 792 | 355 | 451 | 392 |
| Health & Wellbeing | 10,505 | 360 | 216 | 472 | 991 | 8,032 | 434 | 2,868 | 1,771 | 6,927 | 468 | 890 | 33 | 3,702 | 957 | 103 | 525 | 245 |
| Finance, Property & Legal | 7,263 | 114 | 11 | 469 | 716 | 5,675 | 278 | 323 | 455 | 4,913 | 322 | 405 | 11 | 2,754 | 320 | 5 | 188 | 124 |
| Vehicle | 6,319 | 183 | 145 | 354 | 434 | 4,755 | 448 | 687 | 607 | 4,259 | 316 | 1,435 | 63 | 1,446 | 276 | 78 | 64 | 127 |
| Eat, Drink, Takeout | 5,996 | 113 | 532 | 355 | 485 | 4,269 | 242 | 943 | 987 | 3,333 | 231 | 576 | 46 | 1,516 | 293 | 180 | 339 | 57 |
| Travel | 3,997 | 91 | 32 | 230 | 442 | 3,039 | 163 | 1,590 | 402 | 2,484 | 307 | 369 | 9 | 1,221 | 153 | 14 | 92 | 70 |
| Gov | 3,751 | 5 | 7 | 98 | 349 | 3,231 | 61 | 80 | 50 | 3,163 | 18 | 60 | 0 | 486 | 15 | 0 | 7 | 818 |
| Leisure | 3,718 | 63 | 89 | 342 | 266 | 2,794 | 164 | 687 | 590 | 2,477 | 143 | 471 | 19 | 1,215 | 174 | 48 | 139 | 80 |
| Personal Care | 3,179 | 125 | 377 | 135 | 263 | 2,164 | 115 | 1,067 | 714 | 1,848 | 114 | 289 | 11 | 784 | 189 | 118 | 148 | 31 |
| Learning | 3,094 | 57 | 31 | 150 | 354 | 2,360 | 142 | 300 | 461 | 2,114 | 161 | 397 | 28 | 1,087 | 197 | 27 | 146 | 68 |
| Uncategorised | 1,873 | 216 | 19 | 112 | 330 | 1,122 | 74 | 90 | 166 | 850 | 82 | 110 | 3 | 367 | 51 | 46 | 26 | 42 |
| Personal Development | 1,795 | 26 | 13 | 60 | 99 | 1,545 | 52 | 143 | 227 | 1,468 | 41 | 88 | 2 | 704 | 235 | 6 | 105 | 42 |
| Agri | 919 | 26 | 33 | 44 | 86 | 701 | 29 | 74 | 268 | 595 | 53 | 75 | 5 | 345 | 70 | 55 | 20 | 16 |
| Insurance Agents, Brokers & Consultants | 658 | 5 | 1 | 25 | 44 | 557 | 26 | 30 | 41 | 420 | 23 | 63 | 3 | 280 | 20 | 1 | 6 | 22 |
| Communication | 535 | 34 | 8 | 14 | 55 | 400 | 24 | 31 | 112 | 304 | 46 | 38 | 0 | 164 | 19 | 25 | 10 | 16 |
| TOTAL | 116,955 | 3,872 | 2,835 | 6,988 | 11,203 | 87,283 | 4,774 | 14,079 | 20,414 | 76,502 | 7,690 | 10,337 | 515 | 35,913 | 6,875 | 4,043 | 3,408 | 3,203 |
Reading the crawl (2026-06-08, post-shallow):
- Coverage is now 75% and clean — of 116,955 sites, 87,283 (75%) fully crawled (up from 81,956/70%), ~3.3% dead, ~6.0% blocked, ~9.6% slow/other-error. With the shallow sweep finished, pending has collapsed to 4,774 (~4.1%) — real sites still queued (the small residual tail + newly-added rows), down from 11,191 — and social-only (2,835, ~2.4%) — not a backlog, see below.
- Social-only (2,835) = greenfield, not a crawl gap — these listings’ only web presence is a Facebook/Instagram page, so there’s no site to crawl (deliberately excluded). They’re a BizSite / SitePro prospect list (their social URL is in Superset
urls_urls): Retail 579, Eat/Drink/Takeout 532, Personal Care 377, Home Services 356, Other 236, Health 216, B2B 150, Vehicle 145 lead. - Blocked (6,988) + slow/other (11,203) = the recovery backlog — the targeted deep-crawl and the Ahrefs-on-403 fallback chip away at these rather than leave them dark.
Ecom*(20,414) is the shallow signal, not confirmed storefronts — the full crawl validates it; Retail (5,410) and B2B (3,401) lead.- GA4 (76,502) is near-universal; ad pixels are the gap — Google Tag 7,690, Meta 10,337, TikTok just 515. Pixel presence is a paid-readiness signal (warmer for ads).
- WordPress (35,913) is ~4× the next platform; Shopify (4,043) concentrates in Retail, Gov skews to “Other CMS” (818, mostly Drupal/gov platforms).
Contactability by segment
Section titled “Contactability by segment”A full-universe consent split — every in-universe listing lands in exactly one of five mutually-exclusive tiers, so the whole prospect base is accounted for in one table (the tiers sum to Universe). Reach needs an email — Email is the only marketing-reachable tier; a listing with only a phone is a call list, split mobile (call/SMS) vs landline (call only). Email % is of the segment’s universe. Built by scripts/crawl-tail/build-contactability-tiers.cjs (re-run any time → contactability_tiers.csv). Snapshot 2026-06-08. The same split is also cut into two children below — On file (a record we hold) and Not on file (net-new).
| Segment | Universe | Email % | Mobile-only | Landline-only | Opted-out | Dark | |
|---|---|---|---|---|---|---|---|
| Home Services | 37,886 | 14,509 | 38% | 6,417 | 7,173 | 9,554 | 233 |
| Retail | 36,711 | 12,532 | 34% | 3,013 | 11,785 | 8,930 | 451 |
| B2B | 32,339 | 12,148 | 38% | 3,092 | 7,438 | 9,280 | 381 |
| Other | 22,819 | 8,923 | 39% | 2,643 | 5,004 | 5,533 | 716 |
| Health & Wellbeing | 19,484 | 7,712 | 40% | 2,659 | 4,447 | 4,384 | 282 |
| Eat, Drink, Takeout | 13,688 | 3,253 | 24% | 995 | 7,166 | 1,773 | 501 |
| Finance, Property & Legal | 12,481 | 4,841 | 39% | 483 | 2,925 | 4,185 | 47 |
| Vehicle | 11,824 | 3,738 | 32% | 1,784 | 2,430 | 3,721 | 151 |
| Personal Care | 7,929 | 2,309 | 29% | 1,252 | 2,909 | 1,302 | 157 |
| Travel | 7,917 | 2,784 | 35% | 716 | 1,841 | 2,315 | 261 |
| Leisure | 6,280 | 2,199 | 35% | 753 | 1,578 | 1,316 | 434 |
| Learning | 4,886 | 1,902 | 39% | 490 | 1,024 | 1,402 | 68 |
| Gov | 4,756 | 1,100 | 23% | 519 | 811 | 2,315 | 11 |
| Agri | 2,953 | 728 | 25% | 242 | 1,298 | 610 | 75 |
| Personal Development | 2,830 | 1,220 | 43% | 449 | 733 | 386 | 42 |
| Uncategorised | 2,061 | 730 | 35% | 151 | 336 | 745 | 99 |
| Communication | 1,011 | 318 | 31% | 78 | 330 | 281 | 4 |
| Insurance Agents, Brokers & Consultants | 977 | 416 | 43% | 20 | 188 | 347 | 6 |
| TOTAL | 228,832 | 81,362 | 36% | 25,756 | 59,416 | 58,379 | 3,919 |
Universe-wide: of 228,832, only 81,362 (36%) are email-reachable — the real marketing-reach number. A further 25,756 (11%) are mobile-only and 59,416 (26%) landline-only (call lists, no email). 58,379 (26%) are opted-out of marketing (correctness + onboarding only), and 3,919 (1.7%) are dark. The five tiers are mutually exclusive and sum to Universe. (Counts drift slightly as the live crawl keeps adding emails; the table is one consistent run.)
The five tiers (priority — opted-out pulled out first, then email > mobile > landline):
- Email (81,362, 36%) — not opted-out, and has a usable email: a consented email (
opted_in = TRUEinmc_opted_in_20260326, the Mailchimp consent snapshot), or — for a prospect with no opt-out on record — acrawl_email(our webcrawl of the site) /outreach_email(harvested from the SerpAPI/competitor archive). This is the only marketing-reachable tier. - Mobile-only (25,756, 11%) — not opted-out, no usable email, but has an Irish mobile (
083/085/086/087/089,+3538x). A call/SMS list, not email-reachable. - Landline-only (59,416, 26%) — not opted-out, no usable email, no mobile, but has a landline. Call-only.
- Opted-out (58,379, 26%) — subscriber in the consent DB with
opted_in = FALSE: a recorded marketing “no”. No marketing of any kind (email or call) under the conservative framing — contactable only for listing-correctness and onboarding (service basis), via phone or a non-marketing email. Heaviest in Home Services (9,554), B2B (9,280), Retail (8,930), proportionally Gov (49%). The cohort the marketing-email DB exists to protect — never fold it back into a marketing send. - Dark (3,919, 1.7%) — not opted-out, but no email of any kind and no phone anywhere. The
pl_originalnet-new harvest tail with no website, no place_id and no phone — the only genuinely unaddressable residual.
Child 1 — On file (199,026: a GP listing or a subscriber)
Section titled “Child 1 — On file (199,026: a GP listing or a subscriber)”Businesses we already hold a record for — a GoldenPages listing_id or a subscriber_id (current/past customers + the GP directory). This is the correctness, re-engagement and upsell base: we know who they are. Every opted-out row lives here (opt-out is subscriber-keyed), and dark is near-zero (105) — we almost always have a phone on file. Email reach 71,289 (36%).
| Segment | Universe | Email % | Mobile-only | Landline-only | Opted-out | Dark | |
|---|---|---|---|---|---|---|---|
| Home Services | 33,606 | 12,794 | 38% | 4,947 | 6,289 | 9,554 | 22 |
| Retail | 33,623 | 11,719 | 35% | 2,196 | 10,761 | 8,930 | 17 |
| B2B | 28,760 | 10,643 | 37% | 2,337 | 6,484 | 9,280 | 16 |
| Other | 17,634 | 7,011 | 40% | 1,402 | 3,673 | 5,533 | 15 |
| Health & Wellbeing | 16,330 | 6,469 | 40% | 1,694 | 3,777 | 4,384 | 6 |
| Eat, Drink, Takeout | 11,090 | 2,745 | 25% | 555 | 6,015 | 1,773 | 2 |
| Finance, Property & Legal | 11,564 | 4,404 | 38% | 369 | 2,600 | 4,185 | 6 |
| Vehicle | 10,031 | 3,236 | 32% | 1,042 | 2,025 | 3,721 | 7 |
| Personal Care | 6,782 | 2,090 | 31% | 732 | 2,655 | 1,302 | 3 |
| Travel | 6,834 | 2,470 | 36% | 437 | 1,609 | 2,315 | 3 |
| Leisure | 5,100 | 1,856 | 36% | 497 | 1,428 | 1,316 | 3 |
| Learning | 4,115 | 1,603 | 39% | 334 | 776 | 1,402 | 0 |
| Gov | 4,675 | 1,084 | 23% | 513 | 762 | 2,315 | 1 |
| Agri | 2,617 | 636 | 24% | 146 | 1,224 | 610 | 1 |
| Personal Development | 2,582 | 1,130 | 44% | 371 | 692 | 386 | 3 |
| Uncategorised | 1,869 | 714 | 38% | 120 | 290 | 745 | 0 |
| Communication | 915 | 300 | 33% | 34 | 300 | 281 | 0 |
| Insurance Agents, Brokers & Consultants | 899 | 385 | 43% | 11 | 156 | 347 | 0 |
| TOTAL | 199,026 | 71,289 | 36% | 17,737 | 51,516 | 58,379 | 105 |
Child 2 — Not on file (29,806: net-new, no listing or subscriber)
Section titled “Child 2 — Not on file (29,806: net-new, no listing or subscriber)”Truly net-new prospects — no GP listing_id and no subscriber_id (≈ FCR’s operational NOF; the pl_original / SERP-harvest pool). The cold-acquisition base. No opt-out is possible here (opt-out is subscriber-keyed → column is 0), so the consent question is open; but it carries all but ~105 of the dark residual (3,814) — net-new with no channel at all. Email reach 10,073 (34%).
| Segment | Universe | Email % | Mobile-only | Landline-only | Opted-out | Dark | |
|---|---|---|---|---|---|---|---|
| Other | 5,185 | 1,912 | 37% | 1,241 | 1,331 | 0 | 701 |
| Home Services | 4,280 | 1,715 | 40% | 1,470 | 884 | 0 | 211 |
| B2B | 3,579 | 1,505 | 42% | 755 | 954 | 0 | 365 |
| Health & Wellbeing | 3,154 | 1,243 | 39% | 965 | 670 | 0 | 276 |
| Retail | 3,088 | 813 | 26% | 817 | 1,024 | 0 | 434 |
| Eat, Drink, Takeout | 2,598 | 508 | 20% | 440 | 1,151 | 0 | 499 |
| Vehicle | 1,793 | 502 | 28% | 742 | 405 | 0 | 144 |
| Leisure | 1,180 | 343 | 29% | 256 | 150 | 0 | 431 |
| Personal Care | 1,147 | 219 | 19% | 520 | 254 | 0 | 154 |
| Travel | 1,083 | 314 | 29% | 279 | 232 | 0 | 258 |
| Finance, Property & Legal | 917 | 437 | 48% | 114 | 325 | 0 | 41 |
| Learning | 771 | 299 | 39% | 156 | 248 | 0 | 68 |
| Agri | 336 | 92 | 27% | 96 | 74 | 0 | 74 |
| Personal Development | 248 | 90 | 36% | 78 | 41 | 0 | 39 |
| Uncategorised | 192 | 16 | 8% | 31 | 46 | 0 | 99 |
| Communication | 96 | 18 | 19% | 44 | 30 | 0 | 4 |
| Gov | 81 | 16 | 20% | 6 | 49 | 0 | 10 |
| Insurance Agents, Brokers & Consultants | 78 | 31 | 40% | 9 | 32 | 0 | 6 |
| TOTAL | 29,806 | 10,073 | 34% | 8,019 | 7,900 | 0 | 3,814 |
(The two children sum to the parent, segment by segment. On file vs not-on-file = a GP listing_id or subscriber_id present vs neither. Built by the same build-contactability-tiers.cjs run → contactability_tiers_onfile.csv / contactability_tiers_notonfile.csv.)
Consent rules baked in:
- The flag is the consent, not the table.
mc_opted_in_20260326holds bothTRUEandFALSErows — presence is not consent. Email-marketable =opted_in = TRUE, or (for a prospect with no opt-out record) acrawl_email/outreach_email. We never email a recorded opt-out, and the raw Superset listingemailsfield is not a separate channel —opted_inis the consent layer over it. - Opt-out is subscriber-keyed. Net-new NOFs / non-subscribers have no
subscriber_id, so they can be neither opted-in nor opted-out — they reach the Email tier only via acrawl_email/outreach_email; otherwise they fall to the mobile/landline tiers or dark. - Phone is drawn from five sources, deduped: spine
phone, websitecrawl_phone, the GoldenPages listing phone (dim_listings_with_subscriber_id.phnumbersbylisting_id), the GBP phone (dim_place.phone), and the same listing phone looked up bysubscriber_id(the fallback for account-only stubs whoselisting_idis null — this recovered ~12.8K stubs that had read as falsely “dark”).
What changed (2026-06-08). This replaces the earlier reachable-waterfall + unreachable-tail tables, and tightens “reachable” to email-only. The old waterfall counted phones (and even opted-out crawl-emails/mobiles) toward “reachable”, inflating it to ~130K/57%. The tiers instead pull opted-out out first, require an email for the marketing-reachable tier, and account for the whole universe in one place. Net: true email reach is 81,362 (36%); phone-only is surfaced as mobile 25,756 + landline 59,416 (call lists, not email-reachable); 58,379 opted-out are an explicit correctness/onboarding cohort; 3,919 dark. The same split is then cut into two children — On file (199,026) vs Not on file (29,806) — below.
Column dictionary (full CSV)
Section titled “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 derivedmain_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, pluspages_no_website,pages_site_uncrawled,pages_crawled_no_countandpages_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
Section titled “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.