
An ideal customer profile should describe a business problem you can solve, the conditions that make your service useful and a plausible way to reach the responsible person. Public store signals help you find candidates; discovery establishes need, budget and buying authority.
Our March 9, 2026 StoreInspect extraction sized five candidate pools, from 2,535 to 20,161 stores. The counts describe the query rules at that time, not confirmed buyers.
What the historical data contains
Our retained summary begins with 240,121 store records. Distribution tables use fields stored on each store record: estimated traffic, raw app count, theme type, Plus flag, contact count and internal LeadFit score.
App-category recipes select one latest available snapshot per store, without a successful-scrape requirement or observation-age cutoff. They use finite category and slug lists. Native, backend, custom and unrecognized implementations can be missed.
A contact requirement is at least one stored contact, not a verified email, a current role or an authorized decision-maker. Two records can be generic addresses or refer to the same person. Verification, relevance, permission and authority require separate checks.
Queries ran sequentially while the database changed. For example, theme and Plus tables total 240,122, one more than the initial overview. App-gap denominators also differ from stored traffic counts. Keep each table's own scope.
The traffic and scoring models partly use technology signals. A high score is a prioritization heuristic, not independent proof of revenue, willingness to pay or a missing capability.
The candidate population
| Stored estimated visits/month | Store records | Mean raw app count | Mean LeadFit score |
|---|---|---|---|
| Under 50K | 202,851 | 1.5 | 58.2 |
| 50K–200K | 35,493 | 3.1 | 89.9 |
| 200K–1M | 1,731 | 4.8 | 95.5 |
| 1M–5M | 39 | 5.8 | 97.4 |
| 5M–20M | 7 | 7.0 | 97.9 |
The higher displayed tiers total 37,270 records. They are a convenient research scope, not a universal agency sweet spot. Low-traffic stores may have valuable B2B orders or a suitable project; high-traffic stores may have no relevant budget.
The raw app-count distribution was 36,171 at zero; 144,604 at one–two; 54,068 at three–five; 5,251 at six–ten; and 27 above ten. The output does not give an exact four-plus total. The earlier 5.6% four-plus claim combined two selected archetypes and has been withdrawn.
The theme query found 109,448 free, 84,801 paid and 45,873 custom theme records. Free theme type does not establish poor design or lost conversion, and custom does not establish a development team. Inspect performance, accessibility, product discovery and editing needs before proposing a change.
Public app-category questions by tier
These percentages describe no match under the study's category/slug rules, not missing business functions.
| Estimated tier | App-snapshot stores | No email match | No reviews match | No upsell match | No support match | No specialist analytics match |
|---|---|---|---|---|---|---|
| Under 50K | 202,850 | 68.4% | 81.2% | 99.4% | 97.1% | 99.5% |
| 50K–200K | 35,493 | 28.5% | 52.9% | 94.0% | 84.3% | 93.9% |
| 200K–1M | 1,730 | 15.3% | 47.7% | 83.5% | 60.9% | 74.5% |
| 1M–5M | 39 | 20.5% | 43.6% | 89.7% | 48.7% | 51.3% |
| 5M–20M | 7 | 14.3% | 57.1% | 100.0% | 28.6% | 42.9% |
“Analytics” here tracks selected specialist apps. It does not mean no native Shopify reports or GA4. Likewise, an absent email app does not mean no email capture, an absent upsell app does not mean no product recommendations, and an absent support app does not mean no customer service.
For the 50K–200K cohort, no loyalty, popup and personalization matches were 84.0%, 92.7% and 93.2%. Use these as questions to validate in the actual store workflow.
Contact-record coverage
| Estimated tier | Records with one-plus contact | Coverage | Records with two-plus contacts | Coverage |
|---|---|---|---|---|
| Under 50K | 143,094 / 202,851 | 70.5% | 54,143 / 202,851 | 26.7% |
| 50K–200K | 29,079 / 35,493 | 81.9% | 16,329 / 35,493 | 46.0% |
| 200K–1M | 1,580 / 1,731 | 91.3% | 1,253 / 1,731 | 72.4% |
| 1M–5M | 39 / 39 | 100.0% | 36 / 39 | 92.3% |
| 5M–20M | 7 / 7 | 100.0% | 7 / 7 | 100.0% |
The upper-tier 100% values come from small historical samples. They are not current reachability guarantees. More records do not prove a higher reply rate or distinct founder and marketing contacts.
Inspect the contact source, recent verification status and role before outreach. Follow applicable consent and opt-out requirements; a public address alone does not establish every legal basis for sending. The CRTC's CASL guidance explains the Canadian consent requirements.
Five historical ICP recipes
The original queries keep any stored traffic tier other than <10k or <50K, described in the historical output as “50K+.” That exclusion is not a numeric traffic calculation and can admit other legacy tier strings. A new list should use explicit current tiers and fresh observations.
| Candidate pool | Historical rules | Matching stores |
|---|---|---|
| Email setup | Higher-tier exclusion; no listed email category/slug; contact count above zero | 8,142 |
| CRO/recommendation assessment | Higher-tier exclusion; email match; no listed upsell/personalization match; contact count above zero | 20,161 |
| Review-workflow assessment | Higher-tier exclusion; no listed review category/slug; no contact requirement | 19,995 |
| Design/development assessment | Higher-tier exclusion; free theme field; contact count above zero | 2,535 |
| Operations assessment | Higher-tier exclusion; stored app count zero–two; contact count above zero | 11,211 |
The first three use latest available app snapshots. The last two use store fields without requiring a current successful snapshot. Pools can overlap; do not add them into a unique addressable market.
1. Email setup: confirm the capture and lifecycle workflow
The 8,142 count is a starting pool. Inspect forms, consent, confirmation messages and any visible lifecycle flows. Ask which email platform receives submissions and whether campaigns already run through a backend or native tool.
An illustrative opening after validation: “The signup form returned an error in my mobile check. Is that a known issue, and would a short reproduction help?” Only use that observation after actually testing it. Do not claim revenue loss from an absent signature.
2. CRO and recommendations: identify a specific buying obstacle
The 20,161 count does not establish that the merchant is optimizing email but neglecting checkout. Inspect recommendations, bundles, product compatibility, mobile product forms and measurement.
Ask which issue is already a priority and how the merchant evaluates it. A detected email app supplies a research clue; it does not prove active campaigns or willingness to buy another app.
3. Reviews: inspect real social proof
The 19,995 count has no contact requirement. Inspect product pages, imported reviews, native/custom widgets, customer photos and review collection practices. Identify whether a missing or broken experience exists before pitching a reviews platform.
Avoid “your competitors show everything and you show nothing” unless the comparison was actually reviewed. The study does not support a universal 15–20% purchase lift.
4. Design: assess requirements, not the theme price
The 2,535 free-theme records may include well-customized, effective stores. Check specific navigation, accessibility, responsive layouts and content-editing problems. A premium theme is one possible solution; improving the existing theme may be another.
Estimate scope from the merchant's requirements. Free-theme prevalence does not establish visual similarity, lost conversion or a redesign budget.
5. Operations: look behind the small visible stack
The 11,211 low-app-count records may use native features, a custom backend or fewer tools by choice. Ask about recurring manual work, integration failures and reporting needs. A proposal should address that workflow, not fill an arbitrary app-count quota.
The historical high-traffic/zero–three-app archetype contained 581 records, 86.9% flagged Plus and 86.6% with contact records. The label “Underinvested” was an interpretation, not measured underinvestment. No close-rate study established it as the best segment.
Build and test your own ICP
- Define the problem and exclusions. Name the observable task, the situation in which you can help and conditions that make the offer unsuitable.
- Choose relevant signals. Category, territory, catalog characteristics, current technology and estimated traffic can narrow research. None independently proves need.
- Validate current behavior. Record the tested page, date and result. Inspect native and custom alternatives.
- Validate contacts separately. Confirm recent verification, a relevant current role and the appropriate outreach basis.
- Discuss economics and authority. Ask about the project's priority, owner, available resources and decision process.
- Record outcomes by cohort. Compare qualified replies, meetings and won work, using consistent definitions and denominators. Revise the ICP from those outcomes.
LeadFit can help order the research queue. In the historical score distribution, 36,533 records were in 85–94 and 27,655 in 95–100. Together, 85+ comprises 64,188, about 26.7% of the opening 240,121 records. The higher bucket is not automatically an enterprise buyer.
An illustrative email economics model
Suppose, purely for planning, a store has 100,000 monthly visits, a 2% signup rate, and 10% of those subscribers place a $50 order. That produces $10,000 in attributed gross sales under those assumptions; it is not measured lost revenue or an incremental result.
If only 40% of those sales are incremental and their contribution margin before program costs is 40%, the incremental contribution is $1,600. Subtract an assumed $700 in monthly app and service costs to leave $900. Different incrementality, margin, consent eligibility or timing can reverse the result. Use actual merchant data and an appropriate experiment before presenting an ROI case.
From validated ICP to a working list
Save the query/filter definition, collection window and exclusion rules alongside each list. Recheck changing public signals and contacts before a campaign; a monthly review can be a useful schedule, but highly time-sensitive claims need a newer check.
Use StoreInspect filters and client-list workflow to prepare the research queue. Current Free access has ten contact reveals and basic filters; advanced filtering and CSV exports require an appropriate paid plan. Verify the current plan allowances before planning a bulk export.
Keep the first message specific to a verified observation, and ask a relevant question. The historical recipes size candidate pools. Your validation and campaign evidence determine which become an effective ICP.
Disclosure: Some links in this article may be affiliate links. If you purchase through them, we may earn a commission at no extra cost to you.
Find Shopify Clients Worth Your Time
Search by niche, traffic, and tech stack. Export with verified founder contacts.Search stores by niche, traffic, and tech stack. Export with verified founder contacts so you can skip the research.
![How Accurate Is Shopify App Detection? [50-Store Test]](/_next/image?url=%2Fimages%2Fblog%2Fshopify-app-detection-accuracy.webp&w=3840&q=75&dpl=dpl_2xLjWaFYT85u2uH3gSJbWekEe5AY)
![Shopify Gift Wrap Apps [144,253-Store Study]](/_next/image?url=%2Fimages%2Fblog%2Fshopify-gift-wrap-apps.webp&w=3840&q=75&dpl=dpl_2xLjWaFYT85u2uH3gSJbWekEe5AY)
![Shopify Currency Converter Apps [144,232-Store Study]](/_next/image?url=%2Fimages%2Fblog%2Fshopify-currency-converter-apps.webp&w=3840&q=75&dpl=dpl_2xLjWaFYT85u2uH3gSJbWekEe5AY)