"DTC brands" is not an ICP. It's a category with two million stores in it, and if that's the list you're working, you're spraying. The sellers who win the Shopify market build a target set so specific that every account already tells you why they'll buy before you ever touch them.
Justin Michael calls this Targeting on Steroids — an obsessively precise ICP built from data, not from a spreadsheet someone bought. On Shopify, the raw material for that precision is sitting in every merchant's storefront: the exact apps they run. That's your steroid.
The generic list is why your reply rate is 1%
A static lead list treats every merchant the same. It can't tell you that one store runs Klaviyo and Recharge while the next one is still on a free email tool and has never touched subscriptions. Those are two completely different buyers, and the same email to both is why your numbers are flat.
Tech-stack detection collapses that. When you can see which apps a merchant actually runs live on their storefront, "DTC brands" becomes "brands running Recharge but no post-purchase upsell app" or "Gorgias shops with no SMS tool." That's not a list. That's a set of accounts with a named gap — and a named gap is a reason to reach out. Tech-stack detection is the single highest-leverage filter you're probably not using.
The four filters that build a real Shopify ICP
Precision comes from stacking constraints. Any one filter is weak; the overlap is where your ICP gets sharp. On Alert's company and firmographic data, you're layering four things at once:
- Tech stack — which apps they run right now (Klaviyo, Yotpo, Loop, Route, Recharge, Gorgias). This is the core of the fit and the core of the message.
- Vertical — beauty, coffee, supplements, apparel each have different retention math and different app norms. A supplements brand without a subscription tool is a screaming fit; an apparel brand might not be.
- Plus status — Shopify Plus merchants have budget, checkout extensibility, and a different buying committee. Knowing who's on Plus separates the $199/mo prospects from the enterprise ones.
- Size — traffic, order volume, and headcount tell you whether they can afford you and whether the pain is big enough to act on.
Filter on all four and your target set drops from a million to a few hundred accounts that each have a specific, defensible reason to be there. That's the difference between a lead list and an ICP.
Complementary vs. replacement: let the stack pick your play
Once you can see the stack, it tells you which of two plays to run — and they require completely different copy.
The complementary play targets a gap. They run Klaviyo but no loyalty program, or Recharge but no way to reduce churn. You're not fighting anyone; you're filling a hole they already feel. This is the easier, higher-conversion motion because there's no rip-and-replace friction.
The replacement play targets an incumbent. They run a competitor to you, and your job is to become the switch. This is harder and needs a trigger — you don't cold-pitch a replacement, you wait for a crack. That's where signals stack on top of the ICP: a 1-3 star review on their current tool, or an app-move alert showing they just churned off it. The ICP tells you who is a fit; the signal tells you when they're in play.
Stack the stack with timing signals
This is triangulation, and it's what turns a precise list into pipeline. A tech-stack fit alone is a good account. A tech-stack fit plus a timing signal is a booked meeting.
Some of the overlaps worth building:
- Runs a competitor + left a 1-3 star review on it = a poach that writes itself.
- Has a retention-tool gap + just posted a retention or lifecycle-marketing hire = budget is being allocated right now.
- Fits your ICP + just triggered a Shopify Plus upgrade = they're scaling and re-tooling their whole stack.
Build the ICP first so the noise is already filtered, then let signals surface which of those good-fit accounts are hot this week. That's how one operator covers a whole market without a team behind them — Michael's superhuman SDR, software leverage plus your judgment.
Turn the filter into a message that lands
The best part of a stack-built ICP: the filter is also the first line of the email. When you targeted "Recharge merchants with no churn-reduction tool," you already know exactly what to open with — their world, not your product. That's the whole discipline of Shopify cold email copywriting: one relevant idea, tightly framed around what they run and what they're missing.
You're not saying "I saw you're a DTC brand." You're saying "you're running Recharge but I don't see a way you're catching cancellations before they happen" — and that specificity is only possible because the ICP was built from the stack up. New to this motion? Start with signal-based outreach 101, then layer the filters.
Build your target set
Trade the two-million-store category for a few hundred named-gap accounts. Layer tech stack, vertical, Plus status, and size on Alert's company data, pick your complementary or replacement play off what each merchant runs, and let timing signals tell you who's ready. That's targeting on steroids — and it's the difference between a full pipeline and a dead list.
Turn signals into pipeline
Alert surfaces the Shopify merchants ready to buy your app — with the trigger, the context, and the contact attached.
Get started · $199/mo