# Shopify App Uninstall Leads [55K-Store Study]

> Shopify app uninstall leads: our 55,437-store study found only 2,018 clean swaps and 1,018 outreach-ready replacement leads.

Published: 2026-04-26
Author: StoreInspect Team
Tags: shopify, app-development, outbound, data-study
Canonical HTML: https://storeinspect.com/blog/shopify-app-uninstall-leads

![Shopify app uninstall leads](/images/blog/shopify-app-uninstall-leads.webp)

## TL;DR

- We analyzed a **55,437-store matched panel** of Shopify stores with app snapshots at least **30 days** apart.
- **5,075 stores** showed a visible app removal, but only **2,018** showed a clean one-for-one same-category replacement.
- The outreach-ready replacement pool is much smaller: **1,018 stores** were 50K+ traffic, clean replacement stores, and had a verified contact.
- Raw uninstall alerts are noisy. **951 stores** were remove-only, while **4,124** both added and removed apps in the same panel.
- Replacement quality rises with traffic. The 200K-1M tier had an **18.8%** visible removal rate and **180** clean swaps with verified contacts.
- Page builders, reviews, identity verification, and customer support produced the biggest clean replacement pools.
- The best play is not "email every uninstall." Start with competitor removal, require replacement context, add traffic and contact filters, then write a category-specific message.

---

Shopify app uninstall leads sound perfect.

A merchant removed a competitor. They had the problem. They tried a solution. They paid with time, setup effort, or money. Now they might be back in market.

That is the pitch behind a lot of app-growth advice. [StoreCensus tells app developers](https://www.storecensus.com/app-devs) to trigger outreach when stores install or uninstall competitor apps, and its blog frames competitor uninstalls as high-intent leads. There is a real insight there, but the broad version is too clean.

An uninstall is not always buyer intent.

Sometimes the app moved backend-only. Sometimes the storefront signature disappeared. Sometimes the merchant removed the category entirely. Sometimes they replaced the tool in the same category. Sometimes they changed theme code and a public scanner can no longer see the app.

So we pulled the matched-panel data to answer the practical question:

**How many Shopify app uninstall leads are actually worth contacting?**

The answer is narrower than the hype, but much more useful for Shopify app founders, agencies, and B2B SaaS sellers running app-based outbound.

## How We Collected This Data

We analyzed StoreInspect snapshot history for Shopify stores with at least two app snapshots and at least **30 days** between the first and latest snapshot. The panel covers storefront-detectable app signals: script URLs, widgets, app blocks, DOM patterns, and known Shopify app signatures.

The final uninstall-lead pull used a repeatable-read, read-only transaction on April 26, 2026, so every table in this article comes from one consistent database snapshot.

| Metric | Value |
|---|---:|
| Matched stores | **55,437** |
| Average snapshot span | **55.6 days** |
| Median snapshot span | **52.6 days** |
| Earliest first snapshot | **2025-12-08** |
| Latest snapshot | **2026-04-26** |
| Stores with any email contact | **49,011** |
| Stores with a verified contact | **27,261** |
| Stores with a decision-maker email | **5,650** |

We normalized common app aliases, so [Judge.me](/apps/judge-me), [Loox](/apps/loox), [Yotpo Reviews](/apps/yotpo-reviews), [PageFly](/apps/pagefly), [Klaviyo](/apps/klaviyo), [Mailchimp](/apps/mailchimp), [Gorgias Chat](/apps/gorgias-chat), [Rebuy](/apps/rebuy), [Triple Whale](/apps/triple-whale), [Northbeam](/apps/northbeam), and related variants were not split across obvious naming differences.

> **Note:** This is storefront-detected uninstall data, not a private Shopify admin uninstall ledger. We cannot see backend-only apps, private contracts, billing status, or the merchant's reason for uninstalling. Treat these as prospecting signals, not proof of dissatisfaction.

That caveat matters. Shopify's own help docs say merchants can view install and uninstall history in the admin, and that uninstall reasons can appear in the app history timeline when available. But public scanners do not get that private admin context. Shopify app developers also complain in the [Shopify Developer Community](https://community.shopify.dev/t/app-uninstall-feedback/20805) that uninstall feedback is often sparse or missing.

For the broader monitoring view, read [Monitor Shopify App Installs](/blog/monitor-shopify-app-installs). For the retention benchmark behind visible removals, read [Shopify App Retention Benchmarks](/blog/shopify-app-retention-benchmarks). For the sales-timing version, read [Shopify Sales Triggers](/blog/shopify-sales-triggers). This article is narrower: app uninstall leads for outbound.

## The Shopify App Uninstall Lead Funnel

Here is the full funnel from the matched panel.

| Signal | Stores | Share of panel |
|---|---:|---:|
| Any visible app change | **32,331** | **58.3%** |
| Add-only | **27,256** | **49.2%** |
| Remove-only | **951** | **1.7%** |
| Added and removed apps | **4,124** | **7.4%** |
| Any visible app removal | **5,075** | **9.2%** |
| Removal plus same-category add | **2,180** | **3.9%** |
| Clean one-for-one same-category replacement | **2,018** | **3.6%** |
| 50K+ clean replacement | **1,725** | **3.1%** |
| 50K+ clean replacement with verified contact | **1,018** | **1.8%** |
| 50K+ clean replacement with decision-maker email | **385** | **0.7%** |

This is the core lesson.

If you start with "any visible app removal," you get **5,075** stores. That sounds like a meaningful lead source. But if your pitch depends on actual competitor replacement behavior, the stronger pool is **2,018** clean swaps.

If you also need scale and verified outreach data, the pool drops again to **1,018** stores.

That does not make uninstall leads bad. It makes them a precision channel.

A raw uninstall feed is good for watchlists, account scoring, and research. A clean replacement feed is better for outbound. A clean replacement feed with traffic, contacts, category context, and a relevant pitch is where app founders should spend time.

This matches what we found in [Stores Ready to Switch Shopify Apps](/blog/stores-ready-to-switch-shopify-apps): replacement outreach works best when you filter hard. Greenfield categories are bigger. Replacement lists are smaller, but denser.

## Why Raw App Removals Are Noisy

An app removal can mean at least five different things:

1. The store removed the app and has no replacement.
2. The store replaced the app with a competitor.
3. The store still uses the vendor, but the visible storefront signature disappeared.
4. The store changed theme code, scripts, or app blocks.
5. The store removed a temporary app after a campaign, sale, migration, or test.

Only one of those is a clean competitor-switch lead.

That is why the public "uninstall equals hot lead" framing needs a filter. StoreCensus has a useful [declining Shopify apps page](https://www.storecensus.com/stats/most-uninstalled-shopify-apps) that ranks apps by 90-day decline. That is good market-level context. But market-level decline does not tell you which individual store is reachable, scaled, currently replacing a tool, and worth a direct message.

The gap between those two jobs is where most bad outbound happens.

If you sell a reviews app, "Loox removed" is useful. "Loox removed and [Judge.me](/apps/judge-me) added" is more useful. "Loox removed, Judge.me added, the store is 50K+ traffic, has a verified contact, and still runs [Klaviyo](/apps/klaviyo)" is a real prospecting record.

For a broader way to score those records, use [Shopify Lead Scoring](/blog/shopify-lead-scoring) and [Shopify Store ICP Framework](/blog/shopify-store-icp-framework). For the email itself, use [Cold Email Templates for Shopify Stores](/blog/cold-email-templates-for-shopify-stores).

## Uninstall Quality Rises With Store Size

The strongest uninstall signals cluster in scaled stores.

| Traffic tier | Stores | Any change | Any removal | Same-category replacement | Clean replacement | Clean + verified | Clean + DM email |
|---|---:|---:|---:|---:|---:|---:|---:|
| Under 50K | **18,846** | 5,952 | 829 | 301 | 293 | 139 | 32 |
| 50K-200K | **33,241** | 23,450 | 3,616 | 1,570 | 1,441 | 837 | 252 |
| 200K-1M | **3,327** | 2,912 | 624 | 307 | 282 | 180 | 131 |
| 1M+ | **23** | 17 | 6 | 2 | 2 | 1 | 2 |

The under-50K tier is the weakest place to chase uninstalls. Only **4.4%** of under-50K stores showed a visible removal, and only **139** had a clean replacement plus verified contact.

The 50K-200K tier is the workhorse. It produced **1,441** clean replacements and **837** clean replacements with verified contacts. That is the best volume tier for founder-led outbound.

The 200K-1M tier is smaller but stronger. **18.8%** of stores showed a visible removal, and **131** had a clean replacement plus decision-maker email. That is where higher-ACV Shopify apps, migration services, and implementation partners should look first.

This pattern lines up with [Shopify Stores With Budget](/blog/shopify-stores-with-budget), [Export Shopify Stores by Revenue Tier](/blog/export-shopify-stores-by-revenue-tier), and [Shopify Buying Signals](/blog/shopify-buying-signals). Store size does not prove intent, but it improves the odds that a visible app change reflects a real operating decision.

## Category Dropped Leads Are Not Replacement Leads

Some stores removed a whole app category without showing a same-category replacement.

That can still be useful, but it needs a different pitch. It is not a "switch from competitor" moment. It is a category-drop moment.

| Category removed | Stores | 50K+ stores | Contactable | Verified contact | DM email | Avg lead fit |
|---|---:|---:|---:|---:|---:|---:|
| Social proof | **718** | 613 | 648 | 365 | 91 | 97.1 |
| Shipping & tracking | **541** | 468 | 507 | 291 | 47 | 97.3 |
| Email marketing | **469** | 332 | 431 | 265 | 74 | 88.3 |
| Reviews | **424** | 315 | 392 | 241 | 86 | 90.7 |
| Customer support | **328** | 274 | 307 | 219 | 106 | 93.1 |
| Loyalty | **261** | 224 | 247 | 177 | 78 | 95.0 |
| Upsell | **154** | 143 | 153 | 109 | 64 | 97.3 |
| Wishlists | **147** | 129 | 136 | 88 | 44 | 95.8 |
| Popups | **119** | 97 | 109 | 69 | 21 | 92.4 |
| Analytics | **74** | 65 | 68 | 48 | 31 | 93.9 |

These are not bad leads. They are just different.

If a store removed shipping and tracking without a visible replacement, a [shipping app](/blog/best-shopify-shipping-apps) vendor should not assume the merchant is shopping right now. Maybe the store moved order tracking into a backend system. Maybe the visible widget was removed after a site cleanup. Maybe the merchant had a bad experience and gave up on the category.

That uncertainty changes the message.

Bad pitch:

"I saw you removed Parcel Panel. Want to switch to us?"

Better pitch:

"I noticed the order-tracking layer no longer appears on your storefront. For stores at your traffic tier, the risk is support tickets and delivery anxiety coming back into the inbox. Worth a quick check?"

The same applies to [email marketing](/blog/best-shopify-email-marketing-apps), [reviews](/blog/best-shopify-review-apps), [customer support](/blog/best-shopify-customer-support-apps), [loyalty](/blog/best-shopify-loyalty-apps), and [upsell](/blog/best-shopify-upsell-apps). A dropped category is a diagnostic opening, not a migration claim.

## Clean Replacement Categories Worth Watching

Clean replacements are the strongest app-uninstall leads because they show two things at once:

- the old app disappeared
- a different app in the same category appeared

Here are the clean replacement categories with the most volume.

| Replacement category | Clean swaps | 50K+ stores | Contactable | Verified contact | DM email | Active Meta ads |
|---|---:|---:|---:|---:|---:|---:|
| Page builders | **709** | 575 | 617 | 339 | 39 | 13 |
| Reviews | **460** | 417 | 431 | 306 | 156 | 58 |
| Identity verification | **268** | 229 | 244 | 156 | 48 | 9 |
| Customer support | **220** | 197 | 207 | 142 | 72 | 25 |
| Popups | **137** | 116 | 125 | 90 | 30 | 9 |
| Email marketing | **96** | 80 | 87 | 60 | 23 | 3 |
| Social proof | **50** | 41 | 45 | 14 | 1 | 0 |
| Shipping & tracking | **32** | 26 | 32 | 20 | 10 | 3 |
| Upsell | **24** | 24 | 24 | 18 | 9 | 5 |
| Analytics | **24** | 23 | 22 | 20 | 13 | 4 |

Page builders led the panel with **709** clean swaps. That is useful for agencies, theme developers, landing page tools, and performance consultants. A store changing page builders often has migration cleanup, speed issues, template QA, or conversion questions.

Reviews produced fewer swaps, but stronger contact quality. The category had **460** clean replacements, **306** verified-contact stores, and **156** stores with a decision-maker email. That makes reviews one of the best app-founder outbound categories in this dataset.

Customer support produced **220** clean replacements. That is not enough for high-volume daily outbound by itself, but it is strong for [helpdesk migration](/blog/shopify-helpdesk-migration-leads), CX implementation, AI support, and WISMO automation teams.

Email marketing had only **96** clean replacements in the matched panel. That confirms the lesson from [Mailchimp to Klaviyo Migration Leads](/blog/mailchimp-to-klaviyo-migration-leads): email migration is real, but the active switch window is narrow.

Analytics had only **24** clean swaps, but the average lead fit was **100.0** and **13** had decision-maker emails. For higher-ticket attribution or server-side tracking offers, small can still be valuable.

## Top Removed Apps Need Context

The highest-volume removed apps are not automatically the best targets.

| Category | Removed app | Stores | 50K+ stores | Verified contact | DM email |
|---|---|---:|---:|---:|---:|
| Page builders | [PageFly](/apps/pagefly) | **796** | 652 | 387 | 45 |
| Social proof | [Sales Pop](/apps/sales-pop) | **434** | 346 | 189 | 31 |
| Email marketing | [Klaviyo](/apps/klaviyo) | **333** | 269 | 207 | 74 |
| Shipping & tracking | [Parcel Panel](/apps/parcel-panel) | **329** | 287 | 174 | 25 |
| Identity verification | [GovX ID](/apps/govx-id) | **312** | 271 | 189 | 70 |
| Reviews | [Okendo Reviews](/apps/okendo) | **309** | 292 | 211 | 99 |
| Email marketing | [Mailchimp](/apps/mailchimp) | **271** | 191 | 154 | 52 |
| Shipping & tracking | [17TRACK](/apps/17track) | **219** | 187 | 119 | 23 |
| Customer support | [Re:amaze](/apps/reamaze) | **211** | 186 | 131 | 67 |
| Customer support | [Gorgias Chat](/apps/gorgias-chat) | **181** | 166 | 139 | 79 |
| Loyalty | [Smile.io Loyalty](/apps/smile.io-loyalty) | **179** | 154 | 121 | 42 |
| Popups | [OptiMonk](/apps/opti-monk) | **178** | 152 | 113 | 39 |
| Upsell | [Rebuy](/apps/rebuy) | **166** | 156 | 118 | 73 |
| Email marketing | Omnisend | **156** | 122 | 79 | 17 |
| Wishlists | [Swym Wishlist](/apps/swym-wishlist) | **125** | 110 | 73 | 38 |

Do not use this table as a hit list.

Use it as a prioritization layer. If [PageFly](/apps/pagefly) disappears from a store, check whether the store added another page builder, moved to a custom theme, or simply cleaned up landing pages. If [Klaviyo](/apps/klaviyo) disappears, check whether another email or customer data tool appeared, because losing a visible Klaviyo signature does not always mean the merchant abandoned lifecycle marketing.

The best workflow is the same one we recommend in [How to Find Shopify Stores by App](/blog/how-to-find-shopify-stores-by-app): start with app-level detection, then layer category, traffic, contacts, and adjacent stack.

## Top Clean Swap Pairs

Specific swap pairs make the best outreach because they tell you what changed.

| Category | Removed app | Added app | Stores | 50K+ stores | Verified contact | DM email |
|---|---|---|---:|---:|---:|---:|
| Social proof | [Sales Pop](/apps/sales-pop) | Avada Trust Badges | **30** | 26 | 11 | 0 |
| Email marketing | [Mailchimp](/apps/mailchimp) | [Klaviyo](/apps/klaviyo) | **23** | 16 | 15 | 3 |
| Reviews | [Loox Reviews](/apps/loox) | [Judge.me Reviews](/apps/judge-me) | **20** | 18 | 12 | 0 |
| Social proof | [Sales Pop](/apps/sales-pop) | TrustedSite | **18** | 13 | 2 | 1 |
| Reviews | [Yotpo Reviews](/apps/yotpo-reviews) | [Judge.me Reviews](/apps/judge-me) | **17** | 17 | 7 | 9 |
| Customer support | [Gorgias Chat](/apps/gorgias-chat) | Ada | **12** | 12 | 6 | 3 |
| Analytics | [Northbeam](/apps/northbeam) | [Triple Whale](/apps/triple-whale) | **11** | 11 | 9 | 6 |
| Email marketing | Omnisend | [Klaviyo](/apps/klaviyo) | **11** | 9 | 8 | 2 |
| Reviews | [Stamped.io](/apps/stamped) | [Judge.me Reviews](/apps/judge-me) | **9** | 9 | 6 | 3 |
| Analytics | [Elevar](/apps/elevar) | [Triple Whale](/apps/triple-whale) | **8** | 8 | 7 | 4 |
| Upsell | [Rebuy](/apps/rebuy) | BOGOS | **8** | 8 | 6 | 5 |

These counts are small, and that is the point.

If you sell a review app, there were only **20** visible [Loox](/apps/loox) to [Judge.me](/apps/judge-me) swaps in this panel. That is not a massive list. But it is a very good research sample. Read the stores. Look at categories. Inspect product pages. Check app count. Look for the pattern behind the migration.

The same applies to [Mailchimp](/apps/mailchimp) to [Klaviyo](/apps/klaviyo), [Northbeam](/apps/northbeam) to [Triple Whale](/apps/triple-whale), and [Rebuy](/apps/rebuy) to BOGOS.

For app founders, these swaps are not just leads. They are positioning research. They tell you what merchants replace, what alternatives they choose, and which category narratives may be changing.

## Outreach-Ready Uninstall Lead Segments

Here is the practical export view.

| Segment | Stores | Verified contact | Decision-maker email | Avg lead fit |
|---|---:|---:|---:|---:|
| 50K+ visible uninstall | **4,246** | 2,526 | 957 | 99.1 |
| 50K+ visible uninstall with verified contact | **2,526** | 2,526 | 742 | 99.1 |
| 50K+ category dropped | **2,595** | 1,563 | 582 | 98.8 |
| 50K+ same-category replacement | **1,879** | 1,112 | 426 | 99.7 |
| 50K+ clean replacement | **1,725** | 1,018 | 385 | 99.7 |
| 50K+ clean replacement with verified contact | **1,018** | 1,018 | 305 | 99.7 |
| 50K+ clean replacement with decision-maker email | **385** | 305 | 385 | 99.7 |
| 50K+ clean replacement with active Meta ads | **132** | 99 | 84 | 100.0 |

If you want a broad signal feed, start with **4,246** 50K+ visible uninstall stores.

If you want actual replacement outreach, start with **1,725** 50K+ clean replacements.

If you want a list you can export today with lower bounce risk, start with **1,018** 50K+ clean replacements with verified contacts.

If you sell high-ticket services or an enterprise Shopify app, the **385** clean replacements with decision-maker emails are worth manual research.

In [StoreInspect](/), this is the mental model behind a good app-based list:

1. Pick the competitor or category.
2. Require 50K+ traffic for the first pass.
3. Check whether the category was dropped or replaced.
4. Add verified contact filters.
5. Use [Shopify Contact Data Quality](/blog/shopify-contact-data-quality) and [Verified Shopify Leads](/blog/verified-shopify-leads) to avoid treating every email as equal.
6. Add suppression logic from [Shopify Outreach Suppression Lists](/blog/shopify-outreach-suppression-lists) before you send.

## How To Message Shopify App Uninstall Leads

Your message should match the signal.

### For a clean competitor swap

Do not pitch the old pain. They already moved.

Better angle:

"Noticed you recently moved from Loox to Judge.me. A lot of brands make that switch to simplify cost or setup. The harder part is keeping review volume and photo coverage strong after migration. I had one idea after looking at your PDPs."

That works because it respects the current reality. The merchant is not still using the old app. They already made a decision.

### For a category dropped lead

Do not assume they are shopping.

Better angle:

"Looks like the order-tracking layer is no longer visible on the storefront. Sometimes that is intentional, sometimes it pushes WISMO tickets back into support. Worth checking before peak season."

This is a diagnostic message. It fits [shipping and order tracking](/blog/best-shopify-shipping-apps), [customer support](/blog/best-shopify-customer-support-apps), [returns](/blog/best-shopify-returns-apps), and [AI support](/blog/shopify-ai-support-gap) offers.

### For a removed app with no clear context

Do not send.

Put it on a watchlist. Pair it with [Shopify app install monitoring](/blog/monitor-shopify-app-installs), [fastest growing Shopify apps](/blog/fastest-growing-shopify-apps), and [Shopify apps losing share](/blog/shopify-apps-losing-share). If a replacement appears later, contact then.

## What This Means For Shopify App Founders

Uninstall leads are not a magic install engine. They are a high-signal but small channel.

Use them for three jobs:

1. **Win replacement-ready accounts.** Clean swaps and category drops give you a reason to talk.
2. **Learn why merchants switch.** The app pairs are research inputs for positioning, pricing, onboarding, and feature gaps.
3. **Build competitor-specific campaigns.** A [Mailchimp](/apps/mailchimp) to [Klaviyo](/apps/klaviyo) migration message should not sound like a [Yotpo Reviews](/apps/yotpo-reviews) to [Judge.me](/apps/judge-me) message.

Do not use them as your only growth channel.

The best app-founder stack is still broader:

- use [Validate a Shopify App Idea](/blog/validate-shopify-app-idea) to pick the category
- use [How to Market a Shopify App](/blog/how-to-market-a-shopify-app) to plan channels
- use [Shopify App Outreach: First 100 Stores](/blog/shopify-app-outreach-first-100-stores) for greenfield lists
- use [Stores Ready to Switch Shopify Apps](/blog/stores-ready-to-switch-shopify-apps) for static replacement wedges
- use uninstall signals for timing
- use [Shopify Outbound Sales Stack](/blog/shopify-outbound-sales-stack) to move from list to booked meetings

That is a much better system than waiting for the Shopify App Store to send you traffic.

## FAQ

### What are Shopify app uninstall leads?

Shopify app uninstall leads are stores that visibly removed an app between two StoreInspect snapshots. The strongest version is a clean one-for-one same-category replacement, where one app disappeared and another app in the same category appeared.

### Are competitor uninstalls good leads?

Sometimes. In our 55,437-store panel, **5,075** stores had a visible removal, but only **2,018** showed a clean same-category replacement. The best leads are the subset with traffic, verified contacts, and a category-specific reason to reach out.

### What is the difference between a removal and a clean replacement?

A removal means an app disappeared from the detectable storefront stack. A clean replacement means one app disappeared and one different app in the same category appeared. Clean replacements are much stronger for competitor-takeout analysis.

### How many Shopify app uninstall leads are outreach-ready?

In this study, **1,018** stores were 50K+ traffic, had a clean one-for-one same-category replacement, and had a verified contact. Only **385** had a decision-maker email.

### Which app categories produce the best uninstall leads?

Page builders produced the most clean swaps at **709**, but reviews had stronger outreach quality with **306** verified-contact stores and **156** decision-maker-email stores. Customer support, identity verification, popups, and email marketing also produced useful pools.

### Should I contact stores that removed my competitor but did not add another app?

Only with a softer diagnostic message. A category drop can mean budget pressure, cleanup, backend migration, or lack of need. Do not assume the store is actively shopping unless a replacement or adjacent buying signal appears.

### Can StoreInspect show Shopify app uninstall leads?

[StoreInspect](/) can detect app changes across matched snapshots and help you filter stores by app, category, traffic, contacts, and tech stack. StoreInspect primarily supports current-state prospecting, while matched snapshots can also support uninstall and replacement analysis.

### How often should app founders check uninstall leads?

Weekly is enough for most founder-led outbound. Daily alerts can be useful at scale, but only if you already have suppression lists, contact quality filters, and competitor-specific messages. Otherwise, daily alerts create more noise than pipeline.

### Are uninstall reasons visible publicly?

No. Shopify merchants may see install and uninstall history inside Shopify admin, and Shopify app developers may receive limited uninstall reason data, but public storefront detection cannot see private admin reasons. That is why replacement context matters.

### What should I use instead of raw uninstall alerts?

Use a four-layer filter: app removed, same-category context, 50K+ traffic, and verified contact. Then add category-specific messaging and suppression logic before sending.

## Key Findings Table

| Finding | What it means |
|---|---|
| **5,075** stores had any visible app removal | Raw uninstall feeds are real, but broad |
| **2,018** stores had clean one-for-one replacements | Less than half of removals are clean switch signals |
| **1,018** clean replacement stores were 50K+ with verified contacts | This is the practical outbound-ready pool |
| Page builders led with **709** clean swaps | Strong category for migration, cleanup, and performance offers |
| Reviews had **156** clean-swap stores with decision-maker emails | Strong app-founder category despite lower raw volume |
| **385** 50K+ clean replacements had decision-maker emails | Best for manual, high-touch outreach |
| **132** 50K+ clean replacements also had active Meta ads | Small but strong for premium ABM campaigns |
